From 7a06f2e864aa6fd0c81771098c215696209adda2 Mon Sep 17 00:00:00 2001 From: fong Date: Mon, 1 Jan 2024 20:35:42 +0800 Subject: [PATCH] =?UTF-8?q?=E9=94=AE=E7=9B=98=E5=8A=9F=E8=83=BD=20Signed-o?= =?UTF-8?q?ff-by:=20fong=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Debug/SW_APPs/APP_IDcard.d | 2 + Debug/SW_APPs/APP_KEYBOARD.cyclo | 4 +- Debug/SW_APPs/APP_KEYBOARD.d | 4 +- Debug/SW_APPs/APP_KEYBOARD.su | 4 +- Debug/SW_APPs/APP_blood.d | 2 + Debug/SW_APPs/APP_colorcontrol.d | 4 +- Debug/SW_APPs/Main_APP.d | 4 +- Debug/SW_APPs/windows.cyclo | 14 +- Debug/SW_APPs/windows.d | 2 + Debug/SW_APPs/windows.su | 14 +- Debug/m3s.list | 17023 +++++++++++++++-------------- Debug/m3s.map | 987 +- SW_APPs/APP_KEYBOARD.c | 157 +- SW_APPs/windows.c | 10 + SW_APPs/windows.h | 4 + 15 files changed, 9828 insertions(+), 8407 deletions(-) diff --git a/Debug/SW_APPs/APP_IDcard.d b/Debug/SW_APPs/APP_IDcard.d index 3deac02..3a66f4a 100644 --- a/Debug/SW_APPs/APP_IDcard.d +++ b/Debug/SW_APPs/APP_IDcard.d @@ -28,6 +28,7 @@ SW_APPs/APP_IDcard.o: ../SW_APPs/APP_IDcard.c ../SW_APPs/APP_IDcard.h \ ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h \ ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h \ ../SW_APPs/windows.h C:/Users/wuwen/m3s_stm32/HW_Devices/lcd.h \ + C:/Users/wuwen/m3s_stm32/HW_Devices/key.h \ C:/Users/wuwen/m3s_stm32/HW_Devices/rs522.h ../SW_APPs/APP_IDcard.h: ../Core/Inc/main.h: @@ -61,4 +62,5 @@ SW_APPs/APP_IDcard.o: ../SW_APPs/APP_IDcard.c ../SW_APPs/APP_IDcard.h \ ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h: ../SW_APPs/windows.h: C:/Users/wuwen/m3s_stm32/HW_Devices/lcd.h: +C:/Users/wuwen/m3s_stm32/HW_Devices/key.h: C:/Users/wuwen/m3s_stm32/HW_Devices/rs522.h: diff --git a/Debug/SW_APPs/APP_KEYBOARD.cyclo b/Debug/SW_APPs/APP_KEYBOARD.cyclo index 986dfc7..75dd056 100644 --- a/Debug/SW_APPs/APP_KEYBOARD.cyclo +++ b/Debug/SW_APPs/APP_KEYBOARD.cyclo @@ -1,2 +1,4 @@ ../SW_APPs/APP_KEYBOARD.c:12:6:APP_KEYBOARD_init 1 -../SW_APPs/APP_KEYBOARD.c:21:6:APP_KEYBOARD_loop 2 +../SW_APPs/APP_KEYBOARD.c:20:6:down_one_key 1 +../SW_APPs/APP_KEYBOARD.c:26:6:getkeyboardv 73 +../SW_APPs/APP_KEYBOARD.c:136:6:APP_KEYBOARD_loop 6 diff --git a/Debug/SW_APPs/APP_KEYBOARD.d b/Debug/SW_APPs/APP_KEYBOARD.d index d90ee0f..cbeefc4 100644 --- a/Debug/SW_APPs/APP_KEYBOARD.d +++ b/Debug/SW_APPs/APP_KEYBOARD.d @@ -28,7 +28,8 @@ SW_APPs/APP_KEYBOARD.o: ../SW_APPs/APP_KEYBOARD.c \ ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_spi.h \ ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h \ ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h \ - ../SW_APPs/windows.h C:/Users/wuwen/m3s_stm32/HW_Devices/lcd.h + ../SW_APPs/windows.h C:/Users/wuwen/m3s_stm32/HW_Devices/lcd.h \ + C:/Users/wuwen/m3s_stm32/HW_Devices/key.h ../SW_APPs/APP_keyboard.h: ../Core/Inc/main.h: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h: @@ -61,3 +62,4 @@ SW_APPs/APP_KEYBOARD.o: ../SW_APPs/APP_KEYBOARD.c \ ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h: ../SW_APPs/windows.h: C:/Users/wuwen/m3s_stm32/HW_Devices/lcd.h: +C:/Users/wuwen/m3s_stm32/HW_Devices/key.h: diff --git a/Debug/SW_APPs/APP_KEYBOARD.su b/Debug/SW_APPs/APP_KEYBOARD.su index ef9880b..6792eeb 100644 --- a/Debug/SW_APPs/APP_KEYBOARD.su +++ b/Debug/SW_APPs/APP_KEYBOARD.su @@ -1,2 +1,4 @@ ../SW_APPs/APP_KEYBOARD.c:12:6:APP_KEYBOARD_init 16 static -../SW_APPs/APP_KEYBOARD.c:21:6:APP_KEYBOARD_loop 16 static +../SW_APPs/APP_KEYBOARD.c:20:6:down_one_key 40 static +../SW_APPs/APP_KEYBOARD.c:26:6:getkeyboardv 16 static +../SW_APPs/APP_KEYBOARD.c:136:6:APP_KEYBOARD_loop 24 static diff --git a/Debug/SW_APPs/APP_blood.d b/Debug/SW_APPs/APP_blood.d index 2d6d7b5..3e4df9d 100644 --- a/Debug/SW_APPs/APP_blood.d +++ b/Debug/SW_APPs/APP_blood.d @@ -28,6 +28,7 @@ SW_APPs/APP_blood.o: ../SW_APPs/APP_blood.c ../SW_APPs/APP_blood.h \ ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h \ ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h \ ../SW_APPs/windows.h C:/Users/wuwen/m3s_stm32/HW_Devices/lcd.h \ + C:/Users/wuwen/m3s_stm32/HW_Devices/key.h \ C:/Users/wuwen/m3s_stm32/HW_Devices/LCD.h \ C:/Users/wuwen/m3s_stm32/HW_Devices/iic.h ../SW_APPs/FFT.h ../SW_APPs/APP_blood.h: @@ -62,6 +63,7 @@ SW_APPs/APP_blood.o: ../SW_APPs/APP_blood.c ../SW_APPs/APP_blood.h \ ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h: ../SW_APPs/windows.h: C:/Users/wuwen/m3s_stm32/HW_Devices/lcd.h: +C:/Users/wuwen/m3s_stm32/HW_Devices/key.h: C:/Users/wuwen/m3s_stm32/HW_Devices/LCD.h: C:/Users/wuwen/m3s_stm32/HW_Devices/iic.h: ../SW_APPs/FFT.h: diff --git a/Debug/SW_APPs/APP_colorcontrol.d b/Debug/SW_APPs/APP_colorcontrol.d index d270a9b..2552c55 100644 --- a/Debug/SW_APPs/APP_colorcontrol.d +++ b/Debug/SW_APPs/APP_colorcontrol.d @@ -28,7 +28,8 @@ SW_APPs/APP_colorcontrol.o: ../SW_APPs/APP_colorcontrol.c \ ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_spi.h \ ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h \ ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h \ - ../SW_APPs/windows.h C:/Users/wuwen/m3s_stm32/HW_Devices/lcd.h + ../SW_APPs/windows.h C:/Users/wuwen/m3s_stm32/HW_Devices/lcd.h \ + C:/Users/wuwen/m3s_stm32/HW_Devices/key.h ../SW_APPs/APP_colorcontrol.h: ../Core/Inc/main.h: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h: @@ -61,3 +62,4 @@ SW_APPs/APP_colorcontrol.o: ../SW_APPs/APP_colorcontrol.c \ ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h: ../SW_APPs/windows.h: C:/Users/wuwen/m3s_stm32/HW_Devices/lcd.h: +C:/Users/wuwen/m3s_stm32/HW_Devices/key.h: diff --git a/Debug/SW_APPs/Main_APP.d b/Debug/SW_APPs/Main_APP.d index 2d657f4..b2f17ba 100644 --- a/Debug/SW_APPs/Main_APP.d +++ b/Debug/SW_APPs/Main_APP.d @@ -29,9 +29,9 @@ SW_APPs/Main_APP.o: ../SW_APPs/Main_APP.c ../SW_APPs/Main_APP.h \ ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h \ ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h \ ../SW_APPs/windows.h C:/Users/wuwen/m3s_stm32/HW_Devices/lcd.h \ + C:/Users/wuwen/m3s_stm32/HW_Devices/key.h \ C:/Users/wuwen/m3s_stm32/HW_Devices/touch.h \ C:/Users/wuwen/m3s_stm32/HW_Devices/eeprom.h \ - C:/Users/wuwen/m3s_stm32/HW_Devices/key.h \ C:/Users/wuwen/m3s_stm32/HW_Devices/buzzer.h \ ../SW_APPs/APP_colorcontrol.h ../SW_APPs/APP_keyboard.h ../SW_APPs/Main_APP.h: @@ -67,9 +67,9 @@ C:/Users/wuwen/m3s_stm32/HW_Devices/LCD.h: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h: ../SW_APPs/windows.h: C:/Users/wuwen/m3s_stm32/HW_Devices/lcd.h: +C:/Users/wuwen/m3s_stm32/HW_Devices/key.h: C:/Users/wuwen/m3s_stm32/HW_Devices/touch.h: C:/Users/wuwen/m3s_stm32/HW_Devices/eeprom.h: -C:/Users/wuwen/m3s_stm32/HW_Devices/key.h: C:/Users/wuwen/m3s_stm32/HW_Devices/buzzer.h: ../SW_APPs/APP_colorcontrol.h: ../SW_APPs/APP_keyboard.h: diff --git a/Debug/SW_APPs/windows.cyclo b/Debug/SW_APPs/windows.cyclo index 5e8fb17..b34e54b 100644 --- a/Debug/SW_APPs/windows.cyclo +++ b/Debug/SW_APPs/windows.cyclo @@ -2,10 +2,10 @@ ../SW_APPs/windows.c:19:6:Inteface_SetColor 1 ../SW_APPs/windows.c:25:5:UI_Init 2 ../SW_APPs/windows.c:67:9:New_Window 4 -../SW_APPs/windows.c:115:6:Close_Windows_Stack 5 -../SW_APPs/windows.c:155:6:Set_Windows_Title 2 -../SW_APPs/windows.c:163:6:Set_Windows_XY_BY_ACC 1 -../SW_APPs/windows.c:170:6:Refresh_Window 12 -../SW_APPs/windows.c:242:6:Refresh_UI 5 -../SW_APPs/windows.c:318:9:Chack 13 -../SW_APPs/windows.c:338:6:UI_Server 21 +../SW_APPs/windows.c:116:6:Close_Windows_Stack 5 +../SW_APPs/windows.c:156:6:Set_Windows_Title 2 +../SW_APPs/windows.c:164:6:Set_Windows_XY_BY_ACC 1 +../SW_APPs/windows.c:171:6:Refresh_Window 12 +../SW_APPs/windows.c:243:6:Refresh_UI 5 +../SW_APPs/windows.c:319:9:Chack 13 +../SW_APPs/windows.c:339:6:UI_Server 21 diff --git a/Debug/SW_APPs/windows.d b/Debug/SW_APPs/windows.d index 0222f4b..3a579c7 100644 --- a/Debug/SW_APPs/windows.d +++ b/Debug/SW_APPs/windows.d @@ -28,6 +28,7 @@ SW_APPs/windows.o: ../SW_APPs/windows.c ../SW_APPs/windows.h \ ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h \ ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h \ C:/Users/wuwen/m3s_stm32/HW_Devices/lcd.h \ + C:/Users/wuwen/m3s_stm32/HW_Devices/key.h \ C:/Users/wuwen/m3s_stm32/HW_Devices/touch.h ../SW_APPs/windows.h: ../Core/Inc/main.h: @@ -60,4 +61,5 @@ SW_APPs/windows.o: ../SW_APPs/windows.c ../SW_APPs/windows.h \ ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h: C:/Users/wuwen/m3s_stm32/HW_Devices/lcd.h: +C:/Users/wuwen/m3s_stm32/HW_Devices/key.h: C:/Users/wuwen/m3s_stm32/HW_Devices/touch.h: diff --git a/Debug/SW_APPs/windows.su b/Debug/SW_APPs/windows.su index a27a15a..fd605a1 100644 --- a/Debug/SW_APPs/windows.su +++ b/Debug/SW_APPs/windows.su @@ -2,10 +2,10 @@ ../SW_APPs/windows.c:19:6:Inteface_SetColor 16 static ../SW_APPs/windows.c:25:5:UI_Init 24 static ../SW_APPs/windows.c:67:9:New_Window 40 static -../SW_APPs/windows.c:115:6:Close_Windows_Stack 16 static -../SW_APPs/windows.c:155:6:Set_Windows_Title 24 static -../SW_APPs/windows.c:163:6:Set_Windows_XY_BY_ACC 24 static -../SW_APPs/windows.c:170:6:Refresh_Window 40 static -../SW_APPs/windows.c:242:6:Refresh_UI 32 static -../SW_APPs/windows.c:318:9:Chack 32 static -../SW_APPs/windows.c:338:6:UI_Server 40 static +../SW_APPs/windows.c:116:6:Close_Windows_Stack 16 static +../SW_APPs/windows.c:156:6:Set_Windows_Title 24 static +../SW_APPs/windows.c:164:6:Set_Windows_XY_BY_ACC 24 static +../SW_APPs/windows.c:171:6:Refresh_Window 40 static +../SW_APPs/windows.c:243:6:Refresh_UI 32 static +../SW_APPs/windows.c:319:9:Chack 32 static +../SW_APPs/windows.c:339:6:UI_Server 40 static diff --git a/Debug/m3s.list b/Debug/m3s.list index 1d4c1cd..67ecc99 100644 --- a/Debug/m3s.list +++ b/Debug/m3s.list @@ -5,47 +5,47 @@ Sections: Idx Name Size VMA LMA File off Algn 0 .isr_vector 000001e4 08000000 08000000 00010000 2**0 CONTENTS, ALLOC, LOAD, READONLY, DATA - 1 .text 00009e54 080001e8 080001e8 000101e8 2**3 + 1 .text 0000a6ac 080001e8 080001e8 000101e8 2**3 CONTENTS, ALLOC, LOAD, READONLY, CODE - 2 .rodata 00000edc 0800a040 0800a040 0001a040 2**3 + 2 .rodata 00000ed4 0800a898 0800a898 0001a898 2**3 CONTENTS, ALLOC, LOAD, READONLY, DATA - 3 .ARM.extab 00000000 0800af1c 0800af1c 000201d4 2**0 + 3 .ARM.extab 00000000 0800b76c 0800b76c 000201d4 2**0 CONTENTS - 4 .ARM 00000000 0800af1c 0800af1c 000201d4 2**0 + 4 .ARM 00000000 0800b76c 0800b76c 000201d4 2**0 CONTENTS - 5 .preinit_array 00000000 0800af1c 0800af1c 000201d4 2**0 + 5 .preinit_array 00000000 0800b76c 0800b76c 000201d4 2**0 CONTENTS, ALLOC, LOAD, DATA - 6 .init_array 00000004 0800af1c 0800af1c 0001af1c 2**2 + 6 .init_array 00000004 0800b76c 0800b76c 0001b76c 2**2 CONTENTS, ALLOC, LOAD, DATA - 7 .fini_array 00000004 0800af20 0800af20 0001af20 2**2 + 7 .fini_array 00000004 0800b770 0800b770 0001b770 2**2 CONTENTS, ALLOC, LOAD, DATA - 8 .data 000001d4 20000000 0800af24 00020000 2**2 + 8 .data 000001d4 20000000 0800b774 00020000 2**2 CONTENTS, ALLOC, LOAD, DATA - 9 .bss 0000248c 200001d4 0800b0f8 000201d4 2**2 + 9 .bss 000024a0 200001d4 0800b948 000201d4 2**2 ALLOC - 10 ._user_heap_stack 00000c00 20002660 0800b0f8 00022660 2**0 + 10 ._user_heap_stack 00000c04 20002674 0800b948 00022674 2**0 ALLOC 11 .ARM.attributes 00000029 00000000 00000000 000201d4 2**0 CONTENTS, READONLY 12 .comment 00000043 00000000 00000000 000201fd 2**0 CONTENTS, READONLY - 13 .debug_info 00012b81 00000000 00000000 00020240 2**0 + 13 .debug_info 00012d2d 00000000 00000000 00020240 2**0 CONTENTS, READONLY, DEBUGGING, OCTETS - 14 .debug_abbrev 0000377a 00000000 00000000 00032dc1 2**0 + 14 .debug_abbrev 00003810 00000000 00000000 00032f6d 2**0 CONTENTS, READONLY, DEBUGGING, OCTETS - 15 .debug_aranges 00001390 00000000 00000000 00036540 2**3 + 15 .debug_aranges 000013a0 00000000 00000000 00036780 2**3 CONTENTS, READONLY, DEBUGGING, OCTETS - 16 .debug_rnglists 00000f2f 00000000 00000000 000378d0 2**0 + 16 .debug_rnglists 00000f3d 00000000 00000000 00037b20 2**0 CONTENTS, READONLY, DEBUGGING, OCTETS - 17 .debug_macro 0001dcbd 00000000 00000000 000387ff 2**0 + 17 .debug_macro 0001dce1 00000000 00000000 00038a5d 2**0 CONTENTS, READONLY, DEBUGGING, OCTETS - 18 .debug_line 0001a420 00000000 00000000 000564bc 2**0 + 18 .debug_line 0001ab20 00000000 00000000 0005673e 2**0 CONTENTS, READONLY, DEBUGGING, OCTETS - 19 .debug_str 000a0b0a 00000000 00000000 000708dc 2**0 + 19 .debug_str 000a0b65 00000000 00000000 0007125e 2**0 CONTENTS, READONLY, DEBUGGING, OCTETS - 20 .debug_frame 000062dc 00000000 00000000 001113e8 2**2 + 20 .debug_frame 00006330 00000000 00000000 00111dc4 2**2 CONTENTS, READONLY, DEBUGGING, OCTETS - 21 .debug_line_str 00000047 00000000 00000000 001176c4 2**0 + 21 .debug_line_str 00000047 00000000 00000000 001180f4 2**0 CONTENTS, READONLY, DEBUGGING, OCTETS Disassembly of section .text: @@ -64,7 +64,7 @@ Disassembly of section .text: 80001fe: bd10 pop {r4, pc} 8000200: 200001d4 .word 0x200001d4 8000204: 00000000 .word 0x00000000 - 8000208: 0800a024 .word 0x0800a024 + 8000208: 0800a87c .word 0x0800a87c 0800020c : 800020c: b508 push {r3, lr} @@ -76,7 +76,7 @@ Disassembly of section .text: 800021a: bd08 pop {r3, pc} 800021c: 00000000 .word 0x00000000 8000220: 200001d8 .word 0x200001d8 - 8000224: 0800a024 .word 0x0800a024 + 8000224: 0800a87c .word 0x0800a87c 08000228 : 8000228: 4603 mov r3, r0 @@ -1527,7 +1527,7 @@ int main(void) 80011f0: f000 f8ac bl 800134c /* USER CODE BEGIN 2 */ main_app(); - 80011f4: f005 fcae bl 8006b54 + 80011f4: f006 f8ca bl 800738c /* USER CODE END 2 */ /* Infinite loop */ @@ -1550,7 +1550,7 @@ void SystemClock_Config(void) 8001204: 2228 movs r2, #40 ; 0x28 8001206: 2100 movs r1, #0 8001208: 4618 mov r0, r3 - 800120a: f006 ff69 bl 80080e0 + 800120a: f007 fb97 bl 800893c RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; 800120e: 1d3b adds r3, r7, #4 8001210: 2200 movs r2, #0 @@ -3283,7 +3283,7 @@ int _kill(int pid, int sig) 8001b20: 6078 str r0, [r7, #4] 8001b22: 6039 str r1, [r7, #0] errno = EINVAL; - 8001b24: f006 fb3e bl 80081a4 <__errno> + 8001b24: f006 ff6c bl 8008a00 <__errno> 8001b28: 4603 mov r3, r0 8001b2a: 2216 movs r2, #22 8001b2c: 601a str r2, [r3, #0] @@ -3481,7 +3481,7 @@ void *_sbrk(ptrdiff_t incr) 8001c16: d207 bcs.n 8001c28 <_sbrk+0x40> { errno = ENOMEM; - 8001c18: f006 fac4 bl 80081a4 <__errno> + 8001c18: f006 fef2 bl 8008a00 <__errno> 8001c1c: 4603 mov r3, r0 8001c1e: 220c movs r2, #12 8001c20: 601a str r2, [r3, #0] @@ -3512,7 +3512,7 @@ void *_sbrk(ptrdiff_t incr) 8001c44: 20010000 .word 0x20010000 8001c48: 00000800 .word 0x00000800 8001c4c: 20000378 .word 0x20000378 - 8001c50: 20002660 .word 0x20002660 + 8001c50: 20002678 .word 0x20002678 08001c54 : * @note This function should be used only after reset. @@ -3602,7 +3602,7 @@ LoopFillZerobss: 8001c86: f7ff ffe5 bl 8001c54 /* Call static constructors */ bl __libc_init_array - 8001c8a: f006 fa91 bl 80081b0 <__libc_init_array> + 8001c8a: f006 febf bl 8008a0c <__libc_init_array> /* Call the application's entry point.*/ bl main 8001c8e: f7ff fa9f bl 80011d0
@@ -3613,11 +3613,11 @@ LoopFillZerobss: ldr r1, =_edata 8001c98: 200001d4 .word 0x200001d4 ldr r2, =_sidata - 8001c9c: 0800af24 .word 0x0800af24 + 8001c9c: 0800b774 .word 0x0800b774 ldr r2, =_sbss 8001ca0: 200001d4 .word 0x200001d4 ldr r4, =_ebss - 8001ca4: 20002660 .word 0x20002660 + 8001ca4: 20002674 .word 0x20002674 08001ca8 : * @retval : None @@ -8745,7 +8745,7 @@ if (((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK1) == RCC_CLOCKTYPE_PCLK 8003a1e: bf00 nop 8003a20: 40022000 .word 0x40022000 8003a24: 40021000 .word 0x40021000 - 8003a28: 0800a12c .word 0x0800a12c + 8003a28: 0800a97c .word 0x0800a97c 8003a2c: 20000000 .word 0x20000000 8003a30: 20000004 .word 0x20000004 @@ -8893,7 +8893,7 @@ uint32_t HAL_RCC_GetSysClockFreq(void) 8003ada: bc90 pop {r4, r7} 8003adc: 4770 bx lr 8003ade: bf00 nop - 8003ae0: 0800a040 .word 0x0800a040 + 8003ae0: 0800a898 .word 0x0800a898 8003ae4: 40021000 .word 0x40021000 8003ae8: 007a1200 .word 0x007a1200 8003aec: 003d0900 .word 0x003d0900 @@ -8941,7 +8941,7 @@ uint32_t HAL_RCC_GetPCLK1Freq(void) 8003b20: 4618 mov r0, r3 8003b22: bd80 pop {r7, pc} 8003b24: 40021000 .word 0x40021000 - 8003b28: 0800a13c .word 0x0800a13c + 8003b28: 0800a98c .word 0x0800a98c 08003b2c : * @brief This function provides delay (in milliseconds) based on CPU cycles method. @@ -10104,7 +10104,7 @@ void HAL_TIM_IRQHandler(TIM_HandleTypeDef *htim) #else HAL_TIM_PeriodElapsedCallback(htim); 80041a6: 6878 ldr r0, [r7, #4] - 80041a8: f002 fc70 bl 8006a8c + 80041a8: f003 f88c bl 80072c4 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } } @@ -13723,16 +13723,15 @@ void LCD_Clear(uint16_t color) 80056cc: 20000380 .word 0x20000380 80056d0: 6c000800 .word 0x6c000800 -080056d4 : -//***********************************2D -//画线 -//x1,y1:起点坐标 -//x2,y2:终点坐标 -void LCD_DrawLine(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2,uint16_t color) +080056d4 : +//在指定区域内填充单个颜色 +//(sx,sy),(ex,ey):填充矩形对角坐标,区域大小为:(ex-sx+1)*(ey-sy+1) +//color:要填充的颜色 +void LCD_Fill(uint16_t sx,uint16_t sy,uint16_t ex,uint16_t ey,uint16_t color) { 80056d4: b590 push {r4, r7, lr} - 80056d6: b08d sub sp, #52 ; 0x34 - 80056d8: af00 add r7, sp, #0 + 80056d6: b087 sub sp, #28 + 80056d8: af02 add r7, sp, #8 80056da: 4604 mov r4, r0 80056dc: 4608 mov r0, r1 80056de: 4611 mov r1, r2 @@ -13745,9131 +13744,10347 @@ void LCD_DrawLine(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2,uint16_t co 80056ec: 807b strh r3, [r7, #2] 80056ee: 4613 mov r3, r2 80056f0: 803b strh r3, [r7, #0] - uint16_t t; - int xerr=0,yerr=0,delta_x,delta_y,distance; + uint16_t i,j; + uint16_t xlen=0; 80056f2: 2300 movs r3, #0 - 80056f4: 62bb str r3, [r7, #40] ; 0x28 - 80056f6: 2300 movs r3, #0 - 80056f8: 627b str r3, [r7, #36] ; 0x24 - int incx,incy,uRow,uCol; - delta_x=x2-x1; //计算坐标增量 - 80056fa: 887a ldrh r2, [r7, #2] - 80056fc: 88fb ldrh r3, [r7, #6] - 80056fe: 1ad3 subs r3, r2, r3 - 8005700: 623b str r3, [r7, #32] - delta_y=y2-y1; - 8005702: 883a ldrh r2, [r7, #0] - 8005704: 88bb ldrh r3, [r7, #4] - 8005706: 1ad3 subs r3, r2, r3 - 8005708: 61fb str r3, [r7, #28] - uRow=x1; - 800570a: 88fb ldrh r3, [r7, #6] - 800570c: 60fb str r3, [r7, #12] - uCol=y1; - 800570e: 88bb ldrh r3, [r7, #4] - 8005710: 60bb str r3, [r7, #8] - if(delta_x>0)incx=1; //设置单步方向 - 8005712: 6a3b ldr r3, [r7, #32] - 8005714: 2b00 cmp r3, #0 - 8005716: dd02 ble.n 800571e - 8005718: 2301 movs r3, #1 - 800571a: 617b str r3, [r7, #20] - 800571c: e00b b.n 8005736 - else if(delta_x==0)incx=0;//垂直线 - 800571e: 6a3b ldr r3, [r7, #32] - 8005720: 2b00 cmp r3, #0 - 8005722: d102 bne.n 800572a - 8005724: 2300 movs r3, #0 - 8005726: 617b str r3, [r7, #20] - 8005728: e005 b.n 8005736 - else {incx=-1;delta_x=-delta_x;} - 800572a: f04f 33ff mov.w r3, #4294967295 - 800572e: 617b str r3, [r7, #20] - 8005730: 6a3b ldr r3, [r7, #32] - 8005732: 425b negs r3, r3 - 8005734: 623b str r3, [r7, #32] - if(delta_y>0)incy=1; - 8005736: 69fb ldr r3, [r7, #28] - 8005738: 2b00 cmp r3, #0 - 800573a: dd02 ble.n 8005742 - 800573c: 2301 movs r3, #1 - 800573e: 613b str r3, [r7, #16] - 8005740: e00b b.n 800575a - else if(delta_y==0)incy=0;//水平线 - 8005742: 69fb ldr r3, [r7, #28] - 8005744: 2b00 cmp r3, #0 - 8005746: d102 bne.n 800574e - 8005748: 2300 movs r3, #0 - 800574a: 613b str r3, [r7, #16] - 800574c: e005 b.n 800575a - else{incy=-1;delta_y=-delta_y;} - 800574e: f04f 33ff mov.w r3, #4294967295 - 8005752: 613b str r3, [r7, #16] - 8005754: 69fb ldr r3, [r7, #28] - 8005756: 425b negs r3, r3 - 8005758: 61fb str r3, [r7, #28] - if( delta_x>delta_y)distance=delta_x; //选取基本增量坐标轴 - 800575a: 6a3a ldr r2, [r7, #32] - 800575c: 69fb ldr r3, [r7, #28] - 800575e: 429a cmp r2, r3 - 8005760: dd02 ble.n 8005768 - 8005762: 6a3b ldr r3, [r7, #32] - 8005764: 61bb str r3, [r7, #24] - 8005766: e001 b.n 800576c - else distance=delta_y; - 8005768: 69fb ldr r3, [r7, #28] - 800576a: 61bb str r3, [r7, #24] - for(t=0;t<=distance+1;t++ )//画线输出 - 800576c: 2300 movs r3, #0 - 800576e: 85fb strh r3, [r7, #46] ; 0x2e - 8005770: e02b b.n 80057ca + 80056f4: 817b strh r3, [r7, #10] + uint16_t temp; + if((lcddev.id==0X6804)&&(lcddev.dir==1)) //6804横屏的时候特殊处理 + 80056f6: 4b34 ldr r3, [pc, #208] ; (80057c8 ) + 80056f8: 889b ldrh r3, [r3, #4] + 80056fa: f646 0204 movw r2, #26628 ; 0x6804 + 80056fe: 4293 cmp r3, r2 + 8005700: d133 bne.n 800576a + 8005702: 4b31 ldr r3, [pc, #196] ; (80057c8 ) + 8005704: 799b ldrb r3, [r3, #6] + 8005706: 2b01 cmp r3, #1 + 8005708: d12f bne.n 800576a { - LCD_set_dot(uRow,uCol,color);//画点 - 8005772: 68fb ldr r3, [r7, #12] - 8005774: b29b uxth r3, r3 - 8005776: 68ba ldr r2, [r7, #8] - 8005778: b291 uxth r1, r2 - 800577a: f8b7 2040 ldrh.w r2, [r7, #64] ; 0x40 - 800577e: 4618 mov r0, r3 - 8005780: f7ff ff36 bl 80055f0 - xerr+=delta_x ; - 8005784: 6aba ldr r2, [r7, #40] ; 0x28 - 8005786: 6a3b ldr r3, [r7, #32] - 8005788: 4413 add r3, r2 - 800578a: 62bb str r3, [r7, #40] ; 0x28 - yerr+=delta_y ; - 800578c: 6a7a ldr r2, [r7, #36] ; 0x24 - 800578e: 69fb ldr r3, [r7, #28] - 8005790: 4413 add r3, r2 - 8005792: 627b str r3, [r7, #36] ; 0x24 - if(xerr>distance) - 8005794: 6aba ldr r2, [r7, #40] ; 0x28 - 8005796: 69bb ldr r3, [r7, #24] - 8005798: 429a cmp r2, r3 - 800579a: dd07 ble.n 80057ac + temp=sx; + 800570a: 88fb ldrh r3, [r7, #6] + 800570c: 813b strh r3, [r7, #8] + sx=sy; + 800570e: 88bb ldrh r3, [r7, #4] + 8005710: 80fb strh r3, [r7, #6] + sy=lcddev.width-ex-1; + 8005712: 4b2d ldr r3, [pc, #180] ; (80057c8 ) + 8005714: 881a ldrh r2, [r3, #0] + 8005716: 887b ldrh r3, [r7, #2] + 8005718: 1ad3 subs r3, r2, r3 + 800571a: b29b uxth r3, r3 + 800571c: 3b01 subs r3, #1 + 800571e: 80bb strh r3, [r7, #4] + ex=ey; + 8005720: 883b ldrh r3, [r7, #0] + 8005722: 807b strh r3, [r7, #2] + ey=lcddev.width-temp-1; + 8005724: 4b28 ldr r3, [pc, #160] ; (80057c8 ) + 8005726: 881a ldrh r2, [r3, #0] + 8005728: 893b ldrh r3, [r7, #8] + 800572a: 1ad3 subs r3, r2, r3 + 800572c: b29b uxth r3, r3 + 800572e: 3b01 subs r3, #1 + 8005730: 803b strh r3, [r7, #0] + lcddev.dir=0; + 8005732: 4b25 ldr r3, [pc, #148] ; (80057c8 ) + 8005734: 2200 movs r2, #0 + 8005736: 719a strb r2, [r3, #6] + lcddev.setxcmd=0X2A; + 8005738: 4b23 ldr r3, [pc, #140] ; (80057c8 ) + 800573a: 222a movs r2, #42 ; 0x2a + 800573c: 721a strb r2, [r3, #8] + lcddev.setycmd=0X2B; + 800573e: 4b22 ldr r3, [pc, #136] ; (80057c8 ) + 8005740: 222b movs r2, #43 ; 0x2b + 8005742: 725a strb r2, [r3, #9] + LCD_Fill(sx,sy,ex,ey,color); + 8005744: 883c ldrh r4, [r7, #0] + 8005746: 887a ldrh r2, [r7, #2] + 8005748: 88b9 ldrh r1, [r7, #4] + 800574a: 88f8 ldrh r0, [r7, #6] + 800574c: 8c3b ldrh r3, [r7, #32] + 800574e: 9300 str r3, [sp, #0] + 8005750: 4623 mov r3, r4 + 8005752: f7ff ffbf bl 80056d4 + lcddev.dir=1; + 8005756: 4b1c ldr r3, [pc, #112] ; (80057c8 ) + 8005758: 2201 movs r2, #1 + 800575a: 719a strb r2, [r3, #6] + lcddev.setxcmd=0X2B; + 800575c: 4b1a ldr r3, [pc, #104] ; (80057c8 ) + 800575e: 222b movs r2, #43 ; 0x2b + 8005760: 721a strb r2, [r3, #8] + lcddev.setycmd=0X2A; + 8005762: 4b19 ldr r3, [pc, #100] ; (80057c8 ) + 8005764: 222a movs r2, #42 ; 0x2a + 8005766: 725a strb r2, [r3, #9] + 8005768: e02a b.n 80057c0 + }else + { + xlen=ex-sx+1; + 800576a: 887a ldrh r2, [r7, #2] + 800576c: 88fb ldrh r3, [r7, #6] + 800576e: 1ad3 subs r3, r2, r3 + 8005770: b29b uxth r3, r3 + 8005772: 3301 adds r3, #1 + 8005774: 817b strh r3, [r7, #10] + for(i=sy;i<=ey;i++) + 8005776: 88bb ldrh r3, [r7, #4] + 8005778: 81fb strh r3, [r7, #14] + 800577a: e01c b.n 80057b6 { - xerr-=distance; - 800579c: 6aba ldr r2, [r7, #40] ; 0x28 - 800579e: 69bb ldr r3, [r7, #24] - 80057a0: 1ad3 subs r3, r2, r3 - 80057a2: 62bb str r3, [r7, #40] ; 0x28 - uRow+=incx; - 80057a4: 68fa ldr r2, [r7, #12] - 80057a6: 697b ldr r3, [r7, #20] - 80057a8: 4413 add r3, r2 - 80057aa: 60fb str r3, [r7, #12] - } - if(yerr>distance) - 80057ac: 6a7a ldr r2, [r7, #36] ; 0x24 - 80057ae: 69bb ldr r3, [r7, #24] - 80057b0: 429a cmp r2, r3 - 80057b2: dd07 ble.n 80057c4 - { - yerr-=distance; - 80057b4: 6a7a ldr r2, [r7, #36] ; 0x24 - 80057b6: 69bb ldr r3, [r7, #24] - 80057b8: 1ad3 subs r3, r2, r3 - 80057ba: 627b str r3, [r7, #36] ; 0x24 - uCol+=incy; - 80057bc: 68ba ldr r2, [r7, #8] - 80057be: 693b ldr r3, [r7, #16] - 80057c0: 4413 add r3, r2 - 80057c2: 60bb str r3, [r7, #8] - for(t=0;t<=distance+1;t++ )//画线输出 - 80057c4: 8dfb ldrh r3, [r7, #46] ; 0x2e - 80057c6: 3301 adds r3, #1 - 80057c8: 85fb strh r3, [r7, #46] ; 0x2e - 80057ca: 8dfa ldrh r2, [r7, #46] ; 0x2e - 80057cc: 69bb ldr r3, [r7, #24] - 80057ce: 3301 adds r3, #1 - 80057d0: 429a cmp r2, r3 - 80057d2: ddce ble.n 8005772 + LCD_SetCursor(sx,i); //设置光标位置 + 800577c: 89fa ldrh r2, [r7, #14] + 800577e: 88fb ldrh r3, [r7, #6] + 8005780: 4611 mov r1, r2 + 8005782: 4618 mov r0, r3 + 8005784: f7ff fea4 bl 80054d0 + LCD_REG_ADDRESS=lcddev.wramcmd; //开始写入GRAM + 8005788: 4b0f ldr r3, [pc, #60] ; (80057c8 ) + 800578a: 79da ldrb r2, [r3, #7] + 800578c: f04f 43d8 mov.w r3, #1811939328 ; 0x6c000000 + 8005790: b292 uxth r2, r2 + 8005792: 801a strh r2, [r3, #0] + for(j=0;j + 800579a: 8c3b ldrh r3, [r7, #32] + 800579c: 4618 mov r0, r3 + 800579e: f7ff fb33 bl 8004e08 + 80057a2: 89bb ldrh r3, [r7, #12] + 80057a4: 3301 adds r3, #1 + 80057a6: 81bb strh r3, [r7, #12] + 80057a8: 89ba ldrh r2, [r7, #12] + 80057aa: 897b ldrh r3, [r7, #10] + 80057ac: 429a cmp r2, r3 + 80057ae: d3f4 bcc.n 800579a + for(i=sy;i<=ey;i++) + 80057b0: 89fb ldrh r3, [r7, #14] + 80057b2: 3301 adds r3, #1 + 80057b4: 81fb strh r3, [r7, #14] + 80057b6: 89fa ldrh r2, [r7, #14] + 80057b8: 883b ldrh r3, [r7, #0] + 80057ba: 429a cmp r2, r3 + 80057bc: d9de bls.n 800577c } } } - 80057d4: bf00 nop - 80057d6: bf00 nop - 80057d8: 3734 adds r7, #52 ; 0x34 - 80057da: 46bd mov sp, r7 - 80057dc: bd90 pop {r4, r7, pc} + 80057be: bf00 nop + 80057c0: bf00 nop + 80057c2: 3714 adds r7, #20 + 80057c4: 46bd mov sp, r7 + 80057c6: bd90 pop {r4, r7, pc} + 80057c8: 20000380 .word 0x20000380 -080057de : +080057cc : +//***********************************2D +//画线 +//x1,y1:起点坐标 +//x2,y2:终点坐标 +void LCD_DrawLine(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2,uint16_t color) +{ + 80057cc: b590 push {r4, r7, lr} + 80057ce: b08d sub sp, #52 ; 0x34 + 80057d0: af00 add r7, sp, #0 + 80057d2: 4604 mov r4, r0 + 80057d4: 4608 mov r0, r1 + 80057d6: 4611 mov r1, r2 + 80057d8: 461a mov r2, r3 + 80057da: 4623 mov r3, r4 + 80057dc: 80fb strh r3, [r7, #6] + 80057de: 4603 mov r3, r0 + 80057e0: 80bb strh r3, [r7, #4] + 80057e2: 460b mov r3, r1 + 80057e4: 807b strh r3, [r7, #2] + 80057e6: 4613 mov r3, r2 + 80057e8: 803b strh r3, [r7, #0] + uint16_t t; + int xerr=0,yerr=0,delta_x,delta_y,distance; + 80057ea: 2300 movs r3, #0 + 80057ec: 62bb str r3, [r7, #40] ; 0x28 + 80057ee: 2300 movs r3, #0 + 80057f0: 627b str r3, [r7, #36] ; 0x24 + int incx,incy,uRow,uCol; + delta_x=x2-x1; //计算坐标增量 + 80057f2: 887a ldrh r2, [r7, #2] + 80057f4: 88fb ldrh r3, [r7, #6] + 80057f6: 1ad3 subs r3, r2, r3 + 80057f8: 623b str r3, [r7, #32] + delta_y=y2-y1; + 80057fa: 883a ldrh r2, [r7, #0] + 80057fc: 88bb ldrh r3, [r7, #4] + 80057fe: 1ad3 subs r3, r2, r3 + 8005800: 61fb str r3, [r7, #28] + uRow=x1; + 8005802: 88fb ldrh r3, [r7, #6] + 8005804: 60fb str r3, [r7, #12] + uCol=y1; + 8005806: 88bb ldrh r3, [r7, #4] + 8005808: 60bb str r3, [r7, #8] + if(delta_x>0)incx=1; //设置单步方向 + 800580a: 6a3b ldr r3, [r7, #32] + 800580c: 2b00 cmp r3, #0 + 800580e: dd02 ble.n 8005816 + 8005810: 2301 movs r3, #1 + 8005812: 617b str r3, [r7, #20] + 8005814: e00b b.n 800582e + else if(delta_x==0)incx=0;//垂直线 + 8005816: 6a3b ldr r3, [r7, #32] + 8005818: 2b00 cmp r3, #0 + 800581a: d102 bne.n 8005822 + 800581c: 2300 movs r3, #0 + 800581e: 617b str r3, [r7, #20] + 8005820: e005 b.n 800582e + else {incx=-1;delta_x=-delta_x;} + 8005822: f04f 33ff mov.w r3, #4294967295 + 8005826: 617b str r3, [r7, #20] + 8005828: 6a3b ldr r3, [r7, #32] + 800582a: 425b negs r3, r3 + 800582c: 623b str r3, [r7, #32] + if(delta_y>0)incy=1; + 800582e: 69fb ldr r3, [r7, #28] + 8005830: 2b00 cmp r3, #0 + 8005832: dd02 ble.n 800583a + 8005834: 2301 movs r3, #1 + 8005836: 613b str r3, [r7, #16] + 8005838: e00b b.n 8005852 + else if(delta_y==0)incy=0;//水平线 + 800583a: 69fb ldr r3, [r7, #28] + 800583c: 2b00 cmp r3, #0 + 800583e: d102 bne.n 8005846 + 8005840: 2300 movs r3, #0 + 8005842: 613b str r3, [r7, #16] + 8005844: e005 b.n 8005852 + else{incy=-1;delta_y=-delta_y;} + 8005846: f04f 33ff mov.w r3, #4294967295 + 800584a: 613b str r3, [r7, #16] + 800584c: 69fb ldr r3, [r7, #28] + 800584e: 425b negs r3, r3 + 8005850: 61fb str r3, [r7, #28] + if( delta_x>delta_y)distance=delta_x; //选取基本增量坐标轴 + 8005852: 6a3a ldr r2, [r7, #32] + 8005854: 69fb ldr r3, [r7, #28] + 8005856: 429a cmp r2, r3 + 8005858: dd02 ble.n 8005860 + 800585a: 6a3b ldr r3, [r7, #32] + 800585c: 61bb str r3, [r7, #24] + 800585e: e001 b.n 8005864 + else distance=delta_y; + 8005860: 69fb ldr r3, [r7, #28] + 8005862: 61bb str r3, [r7, #24] + for(t=0;t<=distance+1;t++ )//画线输出 + 8005864: 2300 movs r3, #0 + 8005866: 85fb strh r3, [r7, #46] ; 0x2e + 8005868: e02b b.n 80058c2 + { + LCD_set_dot(uRow,uCol,color);//画点 + 800586a: 68fb ldr r3, [r7, #12] + 800586c: b29b uxth r3, r3 + 800586e: 68ba ldr r2, [r7, #8] + 8005870: b291 uxth r1, r2 + 8005872: f8b7 2040 ldrh.w r2, [r7, #64] ; 0x40 + 8005876: 4618 mov r0, r3 + 8005878: f7ff feba bl 80055f0 + xerr+=delta_x ; + 800587c: 6aba ldr r2, [r7, #40] ; 0x28 + 800587e: 6a3b ldr r3, [r7, #32] + 8005880: 4413 add r3, r2 + 8005882: 62bb str r3, [r7, #40] ; 0x28 + yerr+=delta_y ; + 8005884: 6a7a ldr r2, [r7, #36] ; 0x24 + 8005886: 69fb ldr r3, [r7, #28] + 8005888: 4413 add r3, r2 + 800588a: 627b str r3, [r7, #36] ; 0x24 + if(xerr>distance) + 800588c: 6aba ldr r2, [r7, #40] ; 0x28 + 800588e: 69bb ldr r3, [r7, #24] + 8005890: 429a cmp r2, r3 + 8005892: dd07 ble.n 80058a4 + { + xerr-=distance; + 8005894: 6aba ldr r2, [r7, #40] ; 0x28 + 8005896: 69bb ldr r3, [r7, #24] + 8005898: 1ad3 subs r3, r2, r3 + 800589a: 62bb str r3, [r7, #40] ; 0x28 + uRow+=incx; + 800589c: 68fa ldr r2, [r7, #12] + 800589e: 697b ldr r3, [r7, #20] + 80058a0: 4413 add r3, r2 + 80058a2: 60fb str r3, [r7, #12] + } + if(yerr>distance) + 80058a4: 6a7a ldr r2, [r7, #36] ; 0x24 + 80058a6: 69bb ldr r3, [r7, #24] + 80058a8: 429a cmp r2, r3 + 80058aa: dd07 ble.n 80058bc + { + yerr-=distance; + 80058ac: 6a7a ldr r2, [r7, #36] ; 0x24 + 80058ae: 69bb ldr r3, [r7, #24] + 80058b0: 1ad3 subs r3, r2, r3 + 80058b2: 627b str r3, [r7, #36] ; 0x24 + uCol+=incy; + 80058b4: 68ba ldr r2, [r7, #8] + 80058b6: 693b ldr r3, [r7, #16] + 80058b8: 4413 add r3, r2 + 80058ba: 60bb str r3, [r7, #8] + for(t=0;t<=distance+1;t++ )//画线输出 + 80058bc: 8dfb ldrh r3, [r7, #46] ; 0x2e + 80058be: 3301 adds r3, #1 + 80058c0: 85fb strh r3, [r7, #46] ; 0x2e + 80058c2: 8dfa ldrh r2, [r7, #46] ; 0x2e + 80058c4: 69bb ldr r3, [r7, #24] + 80058c6: 3301 adds r3, #1 + 80058c8: 429a cmp r2, r3 + 80058ca: ddce ble.n 800586a + } + } +} + 80058cc: bf00 nop + 80058ce: bf00 nop + 80058d0: 3734 adds r7, #52 ; 0x34 + 80058d2: 46bd mov sp, r7 + 80058d4: bd90 pop {r4, r7, pc} + +080058d6 : //在指定位置画一个指定大小的圆 //(x,y):中心点 //r :半径 void Draw_Circle(uint16_t x0,uint16_t y0,uint16_t r,uint16_t color) { - 80057de: b590 push {r4, r7, lr} - 80057e0: b087 sub sp, #28 - 80057e2: af00 add r7, sp, #0 - 80057e4: 4604 mov r4, r0 - 80057e6: 4608 mov r0, r1 - 80057e8: 4611 mov r1, r2 - 80057ea: 461a mov r2, r3 - 80057ec: 4623 mov r3, r4 - 80057ee: 80fb strh r3, [r7, #6] - 80057f0: 4603 mov r3, r0 - 80057f2: 80bb strh r3, [r7, #4] - 80057f4: 460b mov r3, r1 - 80057f6: 807b strh r3, [r7, #2] - 80057f8: 4613 mov r3, r2 - 80057fa: 803b strh r3, [r7, #0] + 80058d6: b590 push {r4, r7, lr} + 80058d8: b087 sub sp, #28 + 80058da: af00 add r7, sp, #0 + 80058dc: 4604 mov r4, r0 + 80058de: 4608 mov r0, r1 + 80058e0: 4611 mov r1, r2 + 80058e2: 461a mov r2, r3 + 80058e4: 4623 mov r3, r4 + 80058e6: 80fb strh r3, [r7, #6] + 80058e8: 4603 mov r3, r0 + 80058ea: 80bb strh r3, [r7, #4] + 80058ec: 460b mov r3, r1 + 80058ee: 807b strh r3, [r7, #2] + 80058f0: 4613 mov r3, r2 + 80058f2: 803b strh r3, [r7, #0] int a,b; int di; a=0;b=r; - 80057fc: 2300 movs r3, #0 - 80057fe: 617b str r3, [r7, #20] - 8005800: 887b ldrh r3, [r7, #2] - 8005802: 613b str r3, [r7, #16] + 80058f4: 2300 movs r3, #0 + 80058f6: 617b str r3, [r7, #20] + 80058f8: 887b ldrh r3, [r7, #2] + 80058fa: 613b str r3, [r7, #16] di=3-(r<<1); //判断下个点位置的标志 - 8005804: 887b ldrh r3, [r7, #2] - 8005806: 005b lsls r3, r3, #1 - 8005808: f1c3 0303 rsb r3, r3, #3 - 800580c: 60fb str r3, [r7, #12] + 80058fc: 887b ldrh r3, [r7, #2] + 80058fe: 005b lsls r3, r3, #1 + 8005900: f1c3 0303 rsb r3, r3, #3 + 8005904: 60fb str r3, [r7, #12] while(a<=b) - 800580e: e087 b.n 8005920 + 8005906: e087 b.n 8005a18 { LCD_set_dot(x0+a,y0-b,color); //5 - 8005810: 697b ldr r3, [r7, #20] - 8005812: b29a uxth r2, r3 - 8005814: 88fb ldrh r3, [r7, #6] - 8005816: 4413 add r3, r2 - 8005818: b298 uxth r0, r3 - 800581a: 693b ldr r3, [r7, #16] - 800581c: b29b uxth r3, r3 - 800581e: 88ba ldrh r2, [r7, #4] - 8005820: 1ad3 subs r3, r2, r3 - 8005822: b29b uxth r3, r3 - 8005824: 883a ldrh r2, [r7, #0] - 8005826: 4619 mov r1, r3 - 8005828: f7ff fee2 bl 80055f0 + 8005908: 697b ldr r3, [r7, #20] + 800590a: b29a uxth r2, r3 + 800590c: 88fb ldrh r3, [r7, #6] + 800590e: 4413 add r3, r2 + 8005910: b298 uxth r0, r3 + 8005912: 693b ldr r3, [r7, #16] + 8005914: b29b uxth r3, r3 + 8005916: 88ba ldrh r2, [r7, #4] + 8005918: 1ad3 subs r3, r2, r3 + 800591a: b29b uxth r3, r3 + 800591c: 883a ldrh r2, [r7, #0] + 800591e: 4619 mov r1, r3 + 8005920: f7ff fe66 bl 80055f0 LCD_set_dot(x0+b,y0-a,color); //0 - 800582c: 693b ldr r3, [r7, #16] - 800582e: b29a uxth r2, r3 - 8005830: 88fb ldrh r3, [r7, #6] - 8005832: 4413 add r3, r2 - 8005834: b298 uxth r0, r3 - 8005836: 697b ldr r3, [r7, #20] - 8005838: b29b uxth r3, r3 - 800583a: 88ba ldrh r2, [r7, #4] - 800583c: 1ad3 subs r3, r2, r3 - 800583e: b29b uxth r3, r3 - 8005840: 883a ldrh r2, [r7, #0] - 8005842: 4619 mov r1, r3 - 8005844: f7ff fed4 bl 80055f0 + 8005924: 693b ldr r3, [r7, #16] + 8005926: b29a uxth r2, r3 + 8005928: 88fb ldrh r3, [r7, #6] + 800592a: 4413 add r3, r2 + 800592c: b298 uxth r0, r3 + 800592e: 697b ldr r3, [r7, #20] + 8005930: b29b uxth r3, r3 + 8005932: 88ba ldrh r2, [r7, #4] + 8005934: 1ad3 subs r3, r2, r3 + 8005936: b29b uxth r3, r3 + 8005938: 883a ldrh r2, [r7, #0] + 800593a: 4619 mov r1, r3 + 800593c: f7ff fe58 bl 80055f0 LCD_set_dot(x0+b,y0+a,color); //4 - 8005848: 693b ldr r3, [r7, #16] - 800584a: b29a uxth r2, r3 - 800584c: 88fb ldrh r3, [r7, #6] - 800584e: 4413 add r3, r2 - 8005850: b298 uxth r0, r3 - 8005852: 697b ldr r3, [r7, #20] - 8005854: b29a uxth r2, r3 - 8005856: 88bb ldrh r3, [r7, #4] - 8005858: 4413 add r3, r2 - 800585a: b29b uxth r3, r3 - 800585c: 883a ldrh r2, [r7, #0] - 800585e: 4619 mov r1, r3 - 8005860: f7ff fec6 bl 80055f0 + 8005940: 693b ldr r3, [r7, #16] + 8005942: b29a uxth r2, r3 + 8005944: 88fb ldrh r3, [r7, #6] + 8005946: 4413 add r3, r2 + 8005948: b298 uxth r0, r3 + 800594a: 697b ldr r3, [r7, #20] + 800594c: b29a uxth r2, r3 + 800594e: 88bb ldrh r3, [r7, #4] + 8005950: 4413 add r3, r2 + 8005952: b29b uxth r3, r3 + 8005954: 883a ldrh r2, [r7, #0] + 8005956: 4619 mov r1, r3 + 8005958: f7ff fe4a bl 80055f0 LCD_set_dot(x0+a,y0+b,color); //6 - 8005864: 697b ldr r3, [r7, #20] - 8005866: b29a uxth r2, r3 - 8005868: 88fb ldrh r3, [r7, #6] - 800586a: 4413 add r3, r2 - 800586c: b298 uxth r0, r3 - 800586e: 693b ldr r3, [r7, #16] - 8005870: b29a uxth r2, r3 - 8005872: 88bb ldrh r3, [r7, #4] - 8005874: 4413 add r3, r2 - 8005876: b29b uxth r3, r3 - 8005878: 883a ldrh r2, [r7, #0] - 800587a: 4619 mov r1, r3 - 800587c: f7ff feb8 bl 80055f0 + 800595c: 697b ldr r3, [r7, #20] + 800595e: b29a uxth r2, r3 + 8005960: 88fb ldrh r3, [r7, #6] + 8005962: 4413 add r3, r2 + 8005964: b298 uxth r0, r3 + 8005966: 693b ldr r3, [r7, #16] + 8005968: b29a uxth r2, r3 + 800596a: 88bb ldrh r3, [r7, #4] + 800596c: 4413 add r3, r2 + 800596e: b29b uxth r3, r3 + 8005970: 883a ldrh r2, [r7, #0] + 8005972: 4619 mov r1, r3 + 8005974: f7ff fe3c bl 80055f0 LCD_set_dot(x0-a,y0+b,color); //1 - 8005880: 697b ldr r3, [r7, #20] - 8005882: b29b uxth r3, r3 - 8005884: 88fa ldrh r2, [r7, #6] - 8005886: 1ad3 subs r3, r2, r3 - 8005888: b298 uxth r0, r3 - 800588a: 693b ldr r3, [r7, #16] - 800588c: b29a uxth r2, r3 - 800588e: 88bb ldrh r3, [r7, #4] - 8005890: 4413 add r3, r2 - 8005892: b29b uxth r3, r3 - 8005894: 883a ldrh r2, [r7, #0] - 8005896: 4619 mov r1, r3 - 8005898: f7ff feaa bl 80055f0 + 8005978: 697b ldr r3, [r7, #20] + 800597a: b29b uxth r3, r3 + 800597c: 88fa ldrh r2, [r7, #6] + 800597e: 1ad3 subs r3, r2, r3 + 8005980: b298 uxth r0, r3 + 8005982: 693b ldr r3, [r7, #16] + 8005984: b29a uxth r2, r3 + 8005986: 88bb ldrh r3, [r7, #4] + 8005988: 4413 add r3, r2 + 800598a: b29b uxth r3, r3 + 800598c: 883a ldrh r2, [r7, #0] + 800598e: 4619 mov r1, r3 + 8005990: f7ff fe2e bl 80055f0 LCD_set_dot(x0-b,y0+a,color); - 800589c: 693b ldr r3, [r7, #16] - 800589e: b29b uxth r3, r3 - 80058a0: 88fa ldrh r2, [r7, #6] - 80058a2: 1ad3 subs r3, r2, r3 - 80058a4: b298 uxth r0, r3 - 80058a6: 697b ldr r3, [r7, #20] - 80058a8: b29a uxth r2, r3 - 80058aa: 88bb ldrh r3, [r7, #4] - 80058ac: 4413 add r3, r2 - 80058ae: b29b uxth r3, r3 - 80058b0: 883a ldrh r2, [r7, #0] - 80058b2: 4619 mov r1, r3 - 80058b4: f7ff fe9c bl 80055f0 + 8005994: 693b ldr r3, [r7, #16] + 8005996: b29b uxth r3, r3 + 8005998: 88fa ldrh r2, [r7, #6] + 800599a: 1ad3 subs r3, r2, r3 + 800599c: b298 uxth r0, r3 + 800599e: 697b ldr r3, [r7, #20] + 80059a0: b29a uxth r2, r3 + 80059a2: 88bb ldrh r3, [r7, #4] + 80059a4: 4413 add r3, r2 + 80059a6: b29b uxth r3, r3 + 80059a8: 883a ldrh r2, [r7, #0] + 80059aa: 4619 mov r1, r3 + 80059ac: f7ff fe20 bl 80055f0 LCD_set_dot(x0-a,y0-b,color); //2 - 80058b8: 697b ldr r3, [r7, #20] - 80058ba: b29b uxth r3, r3 - 80058bc: 88fa ldrh r2, [r7, #6] - 80058be: 1ad3 subs r3, r2, r3 - 80058c0: b298 uxth r0, r3 - 80058c2: 693b ldr r3, [r7, #16] - 80058c4: b29b uxth r3, r3 - 80058c6: 88ba ldrh r2, [r7, #4] - 80058c8: 1ad3 subs r3, r2, r3 - 80058ca: b29b uxth r3, r3 - 80058cc: 883a ldrh r2, [r7, #0] - 80058ce: 4619 mov r1, r3 - 80058d0: f7ff fe8e bl 80055f0 + 80059b0: 697b ldr r3, [r7, #20] + 80059b2: b29b uxth r3, r3 + 80059b4: 88fa ldrh r2, [r7, #6] + 80059b6: 1ad3 subs r3, r2, r3 + 80059b8: b298 uxth r0, r3 + 80059ba: 693b ldr r3, [r7, #16] + 80059bc: b29b uxth r3, r3 + 80059be: 88ba ldrh r2, [r7, #4] + 80059c0: 1ad3 subs r3, r2, r3 + 80059c2: b29b uxth r3, r3 + 80059c4: 883a ldrh r2, [r7, #0] + 80059c6: 4619 mov r1, r3 + 80059c8: f7ff fe12 bl 80055f0 LCD_set_dot(x0-b,y0-a,color); //7 - 80058d4: 693b ldr r3, [r7, #16] - 80058d6: b29b uxth r3, r3 - 80058d8: 88fa ldrh r2, [r7, #6] - 80058da: 1ad3 subs r3, r2, r3 - 80058dc: b298 uxth r0, r3 - 80058de: 697b ldr r3, [r7, #20] - 80058e0: b29b uxth r3, r3 - 80058e2: 88ba ldrh r2, [r7, #4] - 80058e4: 1ad3 subs r3, r2, r3 - 80058e6: b29b uxth r3, r3 - 80058e8: 883a ldrh r2, [r7, #0] - 80058ea: 4619 mov r1, r3 - 80058ec: f7ff fe80 bl 80055f0 + 80059cc: 693b ldr r3, [r7, #16] + 80059ce: b29b uxth r3, r3 + 80059d0: 88fa ldrh r2, [r7, #6] + 80059d2: 1ad3 subs r3, r2, r3 + 80059d4: b298 uxth r0, r3 + 80059d6: 697b ldr r3, [r7, #20] + 80059d8: b29b uxth r3, r3 + 80059da: 88ba ldrh r2, [r7, #4] + 80059dc: 1ad3 subs r3, r2, r3 + 80059de: b29b uxth r3, r3 + 80059e0: 883a ldrh r2, [r7, #0] + 80059e2: 4619 mov r1, r3 + 80059e4: f7ff fe04 bl 80055f0 a++; - 80058f0: 697b ldr r3, [r7, #20] - 80058f2: 3301 adds r3, #1 - 80058f4: 617b str r3, [r7, #20] + 80059e8: 697b ldr r3, [r7, #20] + 80059ea: 3301 adds r3, #1 + 80059ec: 617b str r3, [r7, #20] //使用Bresenham算法画圆 if(di<0)di +=4*a+6; - 80058f6: 68fb ldr r3, [r7, #12] - 80058f8: 2b00 cmp r3, #0 - 80058fa: da06 bge.n 800590a - 80058fc: 697b ldr r3, [r7, #20] - 80058fe: 009b lsls r3, r3, #2 - 8005900: 3306 adds r3, #6 - 8005902: 68fa ldr r2, [r7, #12] - 8005904: 4413 add r3, r2 - 8005906: 60fb str r3, [r7, #12] - 8005908: e00a b.n 8005920 + 80059ee: 68fb ldr r3, [r7, #12] + 80059f0: 2b00 cmp r3, #0 + 80059f2: da06 bge.n 8005a02 + 80059f4: 697b ldr r3, [r7, #20] + 80059f6: 009b lsls r3, r3, #2 + 80059f8: 3306 adds r3, #6 + 80059fa: 68fa ldr r2, [r7, #12] + 80059fc: 4413 add r3, r2 + 80059fe: 60fb str r3, [r7, #12] + 8005a00: e00a b.n 8005a18 else { di+=10+4*(a-b); - 800590a: 697a ldr r2, [r7, #20] - 800590c: 693b ldr r3, [r7, #16] - 800590e: 1ad3 subs r3, r2, r3 - 8005910: 009b lsls r3, r3, #2 - 8005912: 330a adds r3, #10 - 8005914: 68fa ldr r2, [r7, #12] - 8005916: 4413 add r3, r2 - 8005918: 60fb str r3, [r7, #12] + 8005a02: 697a ldr r2, [r7, #20] + 8005a04: 693b ldr r3, [r7, #16] + 8005a06: 1ad3 subs r3, r2, r3 + 8005a08: 009b lsls r3, r3, #2 + 8005a0a: 330a adds r3, #10 + 8005a0c: 68fa ldr r2, [r7, #12] + 8005a0e: 4413 add r3, r2 + 8005a10: 60fb str r3, [r7, #12] b--; - 800591a: 693b ldr r3, [r7, #16] - 800591c: 3b01 subs r3, #1 - 800591e: 613b str r3, [r7, #16] + 8005a12: 693b ldr r3, [r7, #16] + 8005a14: 3b01 subs r3, #1 + 8005a16: 613b str r3, [r7, #16] while(a<=b) - 8005920: 697a ldr r2, [r7, #20] - 8005922: 693b ldr r3, [r7, #16] - 8005924: 429a cmp r2, r3 - 8005926: f77f af73 ble.w 8005810 + 8005a18: 697a ldr r2, [r7, #20] + 8005a1a: 693b ldr r3, [r7, #16] + 8005a1c: 429a cmp r2, r3 + 8005a1e: f77f af73 ble.w 8005908 } } } - 800592a: bf00 nop - 800592c: bf00 nop - 800592e: 371c adds r7, #28 - 8005930: 46bd mov sp, r7 - 8005932: bd90 pop {r4, r7, pc} + 8005a22: bf00 nop + 8005a24: bf00 nop + 8005a26: 371c adds r7, #28 + 8005a28: 46bd mov sp, r7 + 8005a2a: bd90 pop {r4, r7, pc} -08005934 : +08005a2c : //num:要显示的字符:" "--->"~" //size:字体大小 12/16 //mode:叠加方式(1)还是非叠加方式(0) void LCD_ShowChar(uint16_t x,uint16_t y,uint8_t num,uint8_t size,uint16_t bg,uint16_t color) { - 8005934: b590 push {r4, r7, lr} - 8005936: b085 sub sp, #20 - 8005938: af00 add r7, sp, #0 - 800593a: 4604 mov r4, r0 - 800593c: 4608 mov r0, r1 - 800593e: 4611 mov r1, r2 - 8005940: 461a mov r2, r3 - 8005942: 4623 mov r3, r4 - 8005944: 80fb strh r3, [r7, #6] - 8005946: 4603 mov r3, r0 - 8005948: 80bb strh r3, [r7, #4] - 800594a: 460b mov r3, r1 - 800594c: 70fb strb r3, [r7, #3] - 800594e: 4613 mov r3, r2 - 8005950: 70bb strb r3, [r7, #2] + 8005a2c: b590 push {r4, r7, lr} + 8005a2e: b085 sub sp, #20 + 8005a30: af00 add r7, sp, #0 + 8005a32: 4604 mov r4, r0 + 8005a34: 4608 mov r0, r1 + 8005a36: 4611 mov r1, r2 + 8005a38: 461a mov r2, r3 + 8005a3a: 4623 mov r3, r4 + 8005a3c: 80fb strh r3, [r7, #6] + 8005a3e: 4603 mov r3, r0 + 8005a40: 80bb strh r3, [r7, #4] + 8005a42: 460b mov r3, r1 + 8005a44: 70fb strb r3, [r7, #3] + 8005a46: 4613 mov r3, r2 + 8005a48: 70bb strb r3, [r7, #2] uint8_t temp,t1,t; uint16_t y0=y; - 8005952: 88bb ldrh r3, [r7, #4] - 8005954: 817b strh r3, [r7, #10] + 8005a4a: 88bb ldrh r3, [r7, #4] + 8005a4c: 817b strh r3, [r7, #10] //设置窗口 num=num-' ';//得到偏移后的值 - 8005956: 78fb ldrb r3, [r7, #3] - 8005958: 3b20 subs r3, #32 - 800595a: 70fb strb r3, [r7, #3] + 8005a4e: 78fb ldrb r3, [r7, #3] + 8005a50: 3b20 subs r3, #32 + 8005a52: 70fb strb r3, [r7, #3] for(t=0;t + 8005a54: 2300 movs r3, #0 + 8005a56: 737b strb r3, [r7, #13] + 8005a58: e055 b.n 8005b06 { if(size==12){temp=asc2_1206[num][t];} //调用1206字体 - 8005962: 78bb ldrb r3, [r7, #2] - 8005964: 2b0c cmp r3, #12 - 8005966: d10b bne.n 8005980 - 8005968: 78fa ldrb r2, [r7, #3] - 800596a: 7b79 ldrb r1, [r7, #13] - 800596c: 482c ldr r0, [pc, #176] ; (8005a20 ) - 800596e: 4613 mov r3, r2 - 8005970: 005b lsls r3, r3, #1 - 8005972: 4413 add r3, r2 - 8005974: 009b lsls r3, r3, #2 - 8005976: 4403 add r3, r0 - 8005978: 440b add r3, r1 - 800597a: 781b ldrb r3, [r3, #0] - 800597c: 73fb strb r3, [r7, #15] - 800597e: e007 b.n 8005990 + 8005a5a: 78bb ldrb r3, [r7, #2] + 8005a5c: 2b0c cmp r3, #12 + 8005a5e: d10b bne.n 8005a78 + 8005a60: 78fa ldrb r2, [r7, #3] + 8005a62: 7b79 ldrb r1, [r7, #13] + 8005a64: 482c ldr r0, [pc, #176] ; (8005b18 ) + 8005a66: 4613 mov r3, r2 + 8005a68: 005b lsls r3, r3, #1 + 8005a6a: 4413 add r3, r2 + 8005a6c: 009b lsls r3, r3, #2 + 8005a6e: 4403 add r3, r0 + 8005a70: 440b add r3, r1 + 8005a72: 781b ldrb r3, [r3, #0] + 8005a74: 73fb strb r3, [r7, #15] + 8005a76: e007 b.n 8005a88 else{ temp=asc2_1608[num][t]; } //调用1608字体 - 8005980: 78fa ldrb r2, [r7, #3] - 8005982: 7b7b ldrb r3, [r7, #13] - 8005984: 4927 ldr r1, [pc, #156] ; (8005a24 ) - 8005986: 0112 lsls r2, r2, #4 - 8005988: 440a add r2, r1 - 800598a: 4413 add r3, r2 - 800598c: 781b ldrb r3, [r3, #0] - 800598e: 73fb strb r3, [r7, #15] + 8005a78: 78fa ldrb r2, [r7, #3] + 8005a7a: 7b7b ldrb r3, [r7, #13] + 8005a7c: 4927 ldr r1, [pc, #156] ; (8005b1c ) + 8005a7e: 0112 lsls r2, r2, #4 + 8005a80: 440a add r2, r1 + 8005a82: 4413 add r3, r2 + 8005a84: 781b ldrb r3, [r3, #0] + 8005a86: 73fb strb r3, [r7, #15] for(t1=0;t1<8;t1++) - 8005990: 2300 movs r3, #0 - 8005992: 73bb strb r3, [r7, #14] - 8005994: e033 b.n 80059fe + 8005a88: 2300 movs r3, #0 + 8005a8a: 73bb strb r3, [r7, #14] + 8005a8c: e033 b.n 8005af6 { if(temp&0x80){LCD_set_dot(x,y,color);}else{if(bg!=color){LCD_set_dot(x,y,bg);}} - 8005996: f997 300f ldrsb.w r3, [r7, #15] - 800599a: 2b00 cmp r3, #0 - 800599c: da06 bge.n 80059ac - 800599e: 8cba ldrh r2, [r7, #36] ; 0x24 - 80059a0: 88b9 ldrh r1, [r7, #4] - 80059a2: 88fb ldrh r3, [r7, #6] - 80059a4: 4618 mov r0, r3 - 80059a6: f7ff fe23 bl 80055f0 - 80059aa: e009 b.n 80059c0 - 80059ac: 8c3a ldrh r2, [r7, #32] - 80059ae: 8cbb ldrh r3, [r7, #36] ; 0x24 - 80059b0: 429a cmp r2, r3 - 80059b2: d005 beq.n 80059c0 - 80059b4: 8c3a ldrh r2, [r7, #32] - 80059b6: 88b9 ldrh r1, [r7, #4] - 80059b8: 88fb ldrh r3, [r7, #6] - 80059ba: 4618 mov r0, r3 - 80059bc: f7ff fe18 bl 80055f0 + 8005a8e: f997 300f ldrsb.w r3, [r7, #15] + 8005a92: 2b00 cmp r3, #0 + 8005a94: da06 bge.n 8005aa4 + 8005a96: 8cba ldrh r2, [r7, #36] ; 0x24 + 8005a98: 88b9 ldrh r1, [r7, #4] + 8005a9a: 88fb ldrh r3, [r7, #6] + 8005a9c: 4618 mov r0, r3 + 8005a9e: f7ff fda7 bl 80055f0 + 8005aa2: e009 b.n 8005ab8 + 8005aa4: 8c3a ldrh r2, [r7, #32] + 8005aa6: 8cbb ldrh r3, [r7, #36] ; 0x24 + 8005aa8: 429a cmp r2, r3 + 8005aaa: d005 beq.n 8005ab8 + 8005aac: 8c3a ldrh r2, [r7, #32] + 8005aae: 88b9 ldrh r1, [r7, #4] + 8005ab0: 88fb ldrh r3, [r7, #6] + 8005ab2: 4618 mov r0, r3 + 8005ab4: f7ff fd9c bl 80055f0 temp<<=1; - 80059c0: 7bfb ldrb r3, [r7, #15] - 80059c2: 005b lsls r3, r3, #1 - 80059c4: 73fb strb r3, [r7, #15] + 8005ab8: 7bfb ldrb r3, [r7, #15] + 8005aba: 005b lsls r3, r3, #1 + 8005abc: 73fb strb r3, [r7, #15] y++; - 80059c6: 88bb ldrh r3, [r7, #4] - 80059c8: 3301 adds r3, #1 - 80059ca: 80bb strh r3, [r7, #4] + 8005abe: 88bb ldrh r3, [r7, #4] + 8005ac0: 3301 adds r3, #1 + 8005ac2: 80bb strh r3, [r7, #4] if(x>=lcddev.width){return;}//超区域了 - 80059cc: 4b16 ldr r3, [pc, #88] ; (8005a28 ) - 80059ce: 881b ldrh r3, [r3, #0] - 80059d0: 88fa ldrh r2, [r7, #6] - 80059d2: 429a cmp r2, r3 - 80059d4: d220 bcs.n 8005a18 + 8005ac4: 4b16 ldr r3, [pc, #88] ; (8005b20 ) + 8005ac6: 881b ldrh r3, [r3, #0] + 8005ac8: 88fa ldrh r2, [r7, #6] + 8005aca: 429a cmp r2, r3 + 8005acc: d220 bcs.n 8005b10 if((y-y0)==size) - 80059d6: 88ba ldrh r2, [r7, #4] - 80059d8: 897b ldrh r3, [r7, #10] - 80059da: 1ad2 subs r2, r2, r3 - 80059dc: 78bb ldrb r3, [r7, #2] - 80059de: 429a cmp r2, r3 - 80059e0: d10a bne.n 80059f8 + 8005ace: 88ba ldrh r2, [r7, #4] + 8005ad0: 897b ldrh r3, [r7, #10] + 8005ad2: 1ad2 subs r2, r2, r3 + 8005ad4: 78bb ldrb r3, [r7, #2] + 8005ad6: 429a cmp r2, r3 + 8005ad8: d10a bne.n 8005af0 { y=y0; - 80059e2: 897b ldrh r3, [r7, #10] - 80059e4: 80bb strh r3, [r7, #4] + 8005ada: 897b ldrh r3, [r7, #10] + 8005adc: 80bb strh r3, [r7, #4] x++; - 80059e6: 88fb ldrh r3, [r7, #6] - 80059e8: 3301 adds r3, #1 - 80059ea: 80fb strh r3, [r7, #6] + 8005ade: 88fb ldrh r3, [r7, #6] + 8005ae0: 3301 adds r3, #1 + 8005ae2: 80fb strh r3, [r7, #6] if(x>=lcddev.width){return;}//超区域了 - 80059ec: 4b0e ldr r3, [pc, #56] ; (8005a28 ) - 80059ee: 881b ldrh r3, [r3, #0] - 80059f0: 88fa ldrh r2, [r7, #6] - 80059f2: 429a cmp r2, r3 - 80059f4: d307 bcc.n 8005a06 - 80059f6: e010 b.n 8005a1a + 8005ae4: 4b0e ldr r3, [pc, #56] ; (8005b20 ) + 8005ae6: 881b ldrh r3, [r3, #0] + 8005ae8: 88fa ldrh r2, [r7, #6] + 8005aea: 429a cmp r2, r3 + 8005aec: d307 bcc.n 8005afe + 8005aee: e010 b.n 8005b12 for(t1=0;t1<8;t1++) - 80059f8: 7bbb ldrb r3, [r7, #14] - 80059fa: 3301 adds r3, #1 - 80059fc: 73bb strb r3, [r7, #14] - 80059fe: 7bbb ldrb r3, [r7, #14] - 8005a00: 2b07 cmp r3, #7 - 8005a02: d9c8 bls.n 8005996 - 8005a04: e000 b.n 8005a08 + 8005af0: 7bbb ldrb r3, [r7, #14] + 8005af2: 3301 adds r3, #1 + 8005af4: 73bb strb r3, [r7, #14] + 8005af6: 7bbb ldrb r3, [r7, #14] + 8005af8: 2b07 cmp r3, #7 + 8005afa: d9c8 bls.n 8005a8e + 8005afc: e000 b.n 8005b00 break; - 8005a06: bf00 nop + 8005afe: bf00 nop for(t=0;t - 8005a16: e000 b.n 8005a1a + 8005b00: 7b7b ldrb r3, [r7, #13] + 8005b02: 3301 adds r3, #1 + 8005b04: 737b strb r3, [r7, #13] + 8005b06: 7b7a ldrb r2, [r7, #13] + 8005b08: 78bb ldrb r3, [r7, #2] + 8005b0a: 429a cmp r2, r3 + 8005b0c: d3a5 bcc.n 8005a5a + 8005b0e: e000 b.n 8005b12 if(x>=lcddev.width){return;}//超区域了 - 8005a18: bf00 nop + 8005b10: bf00 nop } } } - 8005a1a: 3714 adds r7, #20 - 8005a1c: 46bd mov sp, r7 - 8005a1e: bd90 pop {r4, r7, pc} - 8005a20: 0800a144 .word 0x0800a144 - 8005a24: 0800a5b8 .word 0x0800a5b8 - 8005a28: 20000380 .word 0x20000380 + 8005b12: 3714 adds r7, #20 + 8005b14: 46bd mov sp, r7 + 8005b16: bd90 pop {r4, r7, pc} + 8005b18: 0800a994 .word 0x0800a994 + 8005b1c: 0800ae08 .word 0x0800ae08 + 8005b20: 20000380 .word 0x20000380 -08005a2c : +08005b24 : //width,height:区域大小 //size:字体大小 //*p:字符串起始地址 void LCD_ShowString(uint16_t x,uint16_t y,uint8_t *p,uint8_t size,uint16_t bg,uint16_t color) { - 8005a2c: b590 push {r4, r7, lr} - 8005a2e: b087 sub sp, #28 - 8005a30: af02 add r7, sp, #8 - 8005a32: 60ba str r2, [r7, #8] - 8005a34: 461a mov r2, r3 - 8005a36: 4603 mov r3, r0 - 8005a38: 81fb strh r3, [r7, #14] - 8005a3a: 460b mov r3, r1 - 8005a3c: 81bb strh r3, [r7, #12] - 8005a3e: 4613 mov r3, r2 - 8005a40: 71fb strb r3, [r7, #7] + 8005b24: b590 push {r4, r7, lr} + 8005b26: b087 sub sp, #28 + 8005b28: af02 add r7, sp, #8 + 8005b2a: 60ba str r2, [r7, #8] + 8005b2c: 461a mov r2, r3 + 8005b2e: 4603 mov r3, r0 + 8005b30: 81fb strh r3, [r7, #14] + 8005b32: 460b mov r3, r1 + 8005b34: 81bb strh r3, [r7, #12] + 8005b36: 4613 mov r3, r2 + 8005b38: 71fb strb r3, [r7, #7] while(*p!='\0') - 8005a42: e026 b.n 8005a92 + 8005b3a: e026 b.n 8005b8a { if(x>=lcddev.width||*p=='\n') - 8005a44: 4b17 ldr r3, [pc, #92] ; (8005aa4 ) - 8005a46: 881b ldrh r3, [r3, #0] - 8005a48: 89fa ldrh r2, [r7, #14] - 8005a4a: 429a cmp r2, r3 - 8005a4c: d203 bcs.n 8005a56 - 8005a4e: 68bb ldr r3, [r7, #8] - 8005a50: 781b ldrb r3, [r3, #0] - 8005a52: 2b0a cmp r3, #10 - 8005a54: d107 bne.n 8005a66 + 8005b3c: 4b17 ldr r3, [pc, #92] ; (8005b9c ) + 8005b3e: 881b ldrh r3, [r3, #0] + 8005b40: 89fa ldrh r2, [r7, #14] + 8005b42: 429a cmp r2, r3 + 8005b44: d203 bcs.n 8005b4e + 8005b46: 68bb ldr r3, [r7, #8] + 8005b48: 781b ldrb r3, [r3, #0] + 8005b4a: 2b0a cmp r3, #10 + 8005b4c: d107 bne.n 8005b5e { x=0; - 8005a56: 2300 movs r3, #0 - 8005a58: 81fb strh r3, [r7, #14] + 8005b4e: 2300 movs r3, #0 + 8005b50: 81fb strh r3, [r7, #14] y+=size; - 8005a5a: 79fb ldrb r3, [r7, #7] - 8005a5c: b29a uxth r2, r3 - 8005a5e: 89bb ldrh r3, [r7, #12] - 8005a60: 4413 add r3, r2 - 8005a62: 81bb strh r3, [r7, #12] - 8005a64: e012 b.n 8005a8c + 8005b52: 79fb ldrb r3, [r7, #7] + 8005b54: b29a uxth r2, r3 + 8005b56: 89bb ldrh r3, [r7, #12] + 8005b58: 4413 add r3, r2 + 8005b5a: 81bb strh r3, [r7, #12] + 8005b5c: e012 b.n 8005b84 }else { LCD_ShowChar(x,y,*p,size,bg,color); - 8005a66: 68bb ldr r3, [r7, #8] - 8005a68: 781a ldrb r2, [r3, #0] - 8005a6a: 79fc ldrb r4, [r7, #7] - 8005a6c: 89b9 ldrh r1, [r7, #12] - 8005a6e: 89f8 ldrh r0, [r7, #14] - 8005a70: 8cbb ldrh r3, [r7, #36] ; 0x24 - 8005a72: 9301 str r3, [sp, #4] - 8005a74: 8c3b ldrh r3, [r7, #32] - 8005a76: 9300 str r3, [sp, #0] - 8005a78: 4623 mov r3, r4 - 8005a7a: f7ff ff5b bl 8005934 + 8005b5e: 68bb ldr r3, [r7, #8] + 8005b60: 781a ldrb r2, [r3, #0] + 8005b62: 79fc ldrb r4, [r7, #7] + 8005b64: 89b9 ldrh r1, [r7, #12] + 8005b66: 89f8 ldrh r0, [r7, #14] + 8005b68: 8cbb ldrh r3, [r7, #36] ; 0x24 + 8005b6a: 9301 str r3, [sp, #4] + 8005b6c: 8c3b ldrh r3, [r7, #32] + 8005b6e: 9300 str r3, [sp, #0] + 8005b70: 4623 mov r3, r4 + 8005b72: f7ff ff5b bl 8005a2c x+=(size/2); - 8005a7e: 79fb ldrb r3, [r7, #7] - 8005a80: 085b lsrs r3, r3, #1 - 8005a82: b2db uxtb r3, r3 - 8005a84: b29a uxth r2, r3 - 8005a86: 89fb ldrh r3, [r7, #14] - 8005a88: 4413 add r3, r2 - 8005a8a: 81fb strh r3, [r7, #14] + 8005b76: 79fb ldrb r3, [r7, #7] + 8005b78: 085b lsrs r3, r3, #1 + 8005b7a: b2db uxtb r3, r3 + 8005b7c: b29a uxth r2, r3 + 8005b7e: 89fb ldrh r3, [r7, #14] + 8005b80: 4413 add r3, r2 + 8005b82: 81fb strh r3, [r7, #14] } p++; - 8005a8c: 68bb ldr r3, [r7, #8] - 8005a8e: 3301 adds r3, #1 - 8005a90: 60bb str r3, [r7, #8] + 8005b84: 68bb ldr r3, [r7, #8] + 8005b86: 3301 adds r3, #1 + 8005b88: 60bb str r3, [r7, #8] while(*p!='\0') - 8005a92: 68bb ldr r3, [r7, #8] - 8005a94: 781b ldrb r3, [r3, #0] - 8005a96: 2b00 cmp r3, #0 - 8005a98: d1d4 bne.n 8005a44 + 8005b8a: 68bb ldr r3, [r7, #8] + 8005b8c: 781b ldrb r3, [r3, #0] + 8005b8e: 2b00 cmp r3, #0 + 8005b90: d1d4 bne.n 8005b3c } } - 8005a9a: bf00 nop - 8005a9c: bf00 nop - 8005a9e: 3714 adds r7, #20 - 8005aa0: 46bd mov sp, r7 - 8005aa2: bd90 pop {r4, r7, pc} - 8005aa4: 20000380 .word 0x20000380 + 8005b92: bf00 nop + 8005b94: bf00 nop + 8005b96: 3714 adds r7, #20 + 8005b98: 46bd mov sp, r7 + 8005b9a: bd90 pop {r4, r7, pc} + 8005b9c: 20000380 .word 0x20000380 -08005aa8 : +08005ba0 : #include "buzzer.h" struct notes *notes; void play_ones(uint16_t freq,uint8_t dutya) { - 8005aa8: b590 push {r4, r7, lr} - 8005aaa: b083 sub sp, #12 - 8005aac: af00 add r7, sp, #0 - 8005aae: 4603 mov r3, r0 - 8005ab0: 460a mov r2, r1 - 8005ab2: 80fb strh r3, [r7, #6] - 8005ab4: 4613 mov r3, r2 - 8005ab6: 717b strb r3, [r7, #5] + 8005ba0: b590 push {r4, r7, lr} + 8005ba2: b083 sub sp, #12 + 8005ba4: af00 add r7, sp, #0 + 8005ba6: 4603 mov r3, r0 + 8005ba8: 460a mov r2, r1 + 8005baa: 80fb strh r3, [r7, #6] + 8005bac: 4613 mov r3, r2 + 8005bae: 717b strb r3, [r7, #5] //寄存器写法 需要根据单片机的时钟来写。 TIM4->ARR = (uint32_t)((72000000/freq)-1);TIM4->CCR3 = (uint32_t)(((72000000/freq)-1)*((float)dutya/100)); - 8005ab8: 88fb ldrh r3, [r7, #6] - 8005aba: 4a14 ldr r2, [pc, #80] ; (8005b0c ) - 8005abc: fb92 f3f3 sdiv r3, r2, r3 - 8005ac0: 1e5a subs r2, r3, #1 - 8005ac2: 4b13 ldr r3, [pc, #76] ; (8005b10 ) - 8005ac4: 62da str r2, [r3, #44] ; 0x2c - 8005ac6: 88fb ldrh r3, [r7, #6] - 8005ac8: 4a10 ldr r2, [pc, #64] ; (8005b0c ) - 8005aca: fb92 f3f3 sdiv r3, r2, r3 - 8005ace: 3b01 subs r3, #1 - 8005ad0: 4618 mov r0, r3 - 8005ad2: f7fb f94f bl 8000d74 <__aeabi_i2f> - 8005ad6: 4604 mov r4, r0 - 8005ad8: 797b ldrb r3, [r7, #5] - 8005ada: 4618 mov r0, r3 - 8005adc: f7fb f946 bl 8000d6c <__aeabi_ui2f> - 8005ae0: 4603 mov r3, r0 - 8005ae2: 490c ldr r1, [pc, #48] ; (8005b14 ) - 8005ae4: 4618 mov r0, r3 - 8005ae6: f7fb fa4d bl 8000f84 <__aeabi_fdiv> - 8005aea: 4603 mov r3, r0 - 8005aec: 4619 mov r1, r3 - 8005aee: 4620 mov r0, r4 - 8005af0: f7fb f994 bl 8000e1c <__aeabi_fmul> - 8005af4: 4603 mov r3, r0 - 8005af6: 4c06 ldr r4, [pc, #24] ; (8005b10 ) - 8005af8: 4618 mov r0, r3 - 8005afa: f7fb fb05 bl 8001108 <__aeabi_f2uiz> - 8005afe: 4603 mov r3, r0 - 8005b00: 63e3 str r3, [r4, #60] ; 0x3c + 8005bb0: 88fb ldrh r3, [r7, #6] + 8005bb2: 4a14 ldr r2, [pc, #80] ; (8005c04 ) + 8005bb4: fb92 f3f3 sdiv r3, r2, r3 + 8005bb8: 1e5a subs r2, r3, #1 + 8005bba: 4b13 ldr r3, [pc, #76] ; (8005c08 ) + 8005bbc: 62da str r2, [r3, #44] ; 0x2c + 8005bbe: 88fb ldrh r3, [r7, #6] + 8005bc0: 4a10 ldr r2, [pc, #64] ; (8005c04 ) + 8005bc2: fb92 f3f3 sdiv r3, r2, r3 + 8005bc6: 3b01 subs r3, #1 + 8005bc8: 4618 mov r0, r3 + 8005bca: f7fb f8d3 bl 8000d74 <__aeabi_i2f> + 8005bce: 4604 mov r4, r0 + 8005bd0: 797b ldrb r3, [r7, #5] + 8005bd2: 4618 mov r0, r3 + 8005bd4: f7fb f8ca bl 8000d6c <__aeabi_ui2f> + 8005bd8: 4603 mov r3, r0 + 8005bda: 490c ldr r1, [pc, #48] ; (8005c0c ) + 8005bdc: 4618 mov r0, r3 + 8005bde: f7fb f9d1 bl 8000f84 <__aeabi_fdiv> + 8005be2: 4603 mov r3, r0 + 8005be4: 4619 mov r1, r3 + 8005be6: 4620 mov r0, r4 + 8005be8: f7fb f918 bl 8000e1c <__aeabi_fmul> + 8005bec: 4603 mov r3, r0 + 8005bee: 4c06 ldr r4, [pc, #24] ; (8005c08 ) + 8005bf0: 4618 mov r0, r3 + 8005bf2: f7fb fa89 bl 8001108 <__aeabi_f2uiz> + 8005bf6: 4603 mov r3, r0 + 8005bf8: 63e3 str r3, [r4, #60] ; 0x3c } - 8005b02: bf00 nop - 8005b04: 370c adds r7, #12 - 8005b06: 46bd mov sp, r7 - 8005b08: bd90 pop {r4, r7, pc} - 8005b0a: bf00 nop - 8005b0c: 044aa200 .word 0x044aa200 - 8005b10: 40000800 .word 0x40000800 - 8005b14: 42c80000 .word 0x42c80000 + 8005bfa: bf00 nop + 8005bfc: 370c adds r7, #12 + 8005bfe: 46bd mov sp, r7 + 8005c00: bd90 pop {r4, r7, pc} + 8005c02: bf00 nop + 8005c04: 044aa200 .word 0x044aa200 + 8005c08: 40000800 .word 0x40000800 + 8005c0c: 42c80000 .word 0x42c80000 -08005b18 : +08005c10 : } } void delhead() //删除第一个音符 一般用户不需要调用 { - 8005b18: b580 push {r7, lr} - 8005b1a: b082 sub sp, #8 - 8005b1c: af00 add r7, sp, #0 + 8005c10: b580 push {r7, lr} + 8005c12: b082 sub sp, #8 + 8005c14: af00 add r7, sp, #0 if (notes == NULL) - 8005b1e: 4b11 ldr r3, [pc, #68] ; (8005b64 ) - 8005b20: 681b ldr r3, [r3, #0] - 8005b22: 2b00 cmp r3, #0 - 8005b24: d019 beq.n 8005b5a + 8005c16: 4b11 ldr r3, [pc, #68] ; (8005c5c ) + 8005c18: 681b ldr r3, [r3, #0] + 8005c1a: 2b00 cmp r3, #0 + 8005c1c: d019 beq.n 8005c52 { return; } if (notes->next_note == NULL) - 8005b26: 4b0f ldr r3, [pc, #60] ; (8005b64 ) - 8005b28: 681b ldr r3, [r3, #0] - 8005b2a: 689b ldr r3, [r3, #8] - 8005b2c: 2b00 cmp r3, #0 - 8005b2e: d108 bne.n 8005b42 + 8005c1e: 4b0f ldr r3, [pc, #60] ; (8005c5c ) + 8005c20: 681b ldr r3, [r3, #0] + 8005c22: 689b ldr r3, [r3, #8] + 8005c24: 2b00 cmp r3, #0 + 8005c26: d108 bne.n 8005c3a { free(notes); - 8005b30: 4b0c ldr r3, [pc, #48] ; (8005b64 ) - 8005b32: 681b ldr r3, [r3, #0] - 8005b34: 4618 mov r0, r3 - 8005b36: f001 fc07 bl 8007348 + 8005c28: 4b0c ldr r3, [pc, #48] ; (8005c5c ) + 8005c2a: 681b ldr r3, [r3, #0] + 8005c2c: 4618 mov r0, r3 + 8005c2e: f001 ffb9 bl 8007ba4 notes = NULL; - 8005b3a: 4b0a ldr r3, [pc, #40] ; (8005b64 ) - 8005b3c: 2200 movs r2, #0 - 8005b3e: 601a str r2, [r3, #0] - 8005b40: e00c b.n 8005b5c + 8005c32: 4b0a ldr r3, [pc, #40] ; (8005c5c ) + 8005c34: 2200 movs r2, #0 + 8005c36: 601a str r2, [r3, #0] + 8005c38: e00c b.n 8005c54 } else { struct notes *t = notes; - 8005b42: 4b08 ldr r3, [pc, #32] ; (8005b64 ) - 8005b44: 681b ldr r3, [r3, #0] - 8005b46: 607b str r3, [r7, #4] + 8005c3a: 4b08 ldr r3, [pc, #32] ; (8005c5c ) + 8005c3c: 681b ldr r3, [r3, #0] + 8005c3e: 607b str r3, [r7, #4] notes = notes->next_note; - 8005b48: 4b06 ldr r3, [pc, #24] ; (8005b64 ) - 8005b4a: 681b ldr r3, [r3, #0] - 8005b4c: 689b ldr r3, [r3, #8] - 8005b4e: 4a05 ldr r2, [pc, #20] ; (8005b64 ) - 8005b50: 6013 str r3, [r2, #0] + 8005c40: 4b06 ldr r3, [pc, #24] ; (8005c5c ) + 8005c42: 681b ldr r3, [r3, #0] + 8005c44: 689b ldr r3, [r3, #8] + 8005c46: 4a05 ldr r2, [pc, #20] ; (8005c5c ) + 8005c48: 6013 str r3, [r2, #0] free(t); - 8005b52: 6878 ldr r0, [r7, #4] - 8005b54: f001 fbf8 bl 8007348 - 8005b58: e000 b.n 8005b5c + 8005c4a: 6878 ldr r0, [r7, #4] + 8005c4c: f001 ffaa bl 8007ba4 + 8005c50: e000 b.n 8005c54 return; - 8005b5a: bf00 nop + 8005c52: bf00 nop } } - 8005b5c: 3708 adds r7, #8 - 8005b5e: 46bd mov sp, r7 - 8005b60: bd80 pop {r7, pc} - 8005b62: bf00 nop - 8005b64: 2000038c .word 0x2000038c + 8005c54: 3708 adds r7, #8 + 8005c56: 46bd mov sp, r7 + 8005c58: bd80 pop {r7, pc} + 8005c5a: bf00 nop + 8005c5c: 2000038c .word 0x2000038c -08005b68 : +08005c60 : char buzzer_play_server() //放在主循环 只有有音符添加进来就会播放,播放完自动释放 { - 8005b68: b580 push {r7, lr} - 8005b6a: af00 add r7, sp, #0 + 8005c60: b580 push {r7, lr} + 8005c62: af00 add r7, sp, #0 static char busy_flag=0; static uint32_t play_delay; if(notes == NULL) - 8005b6c: 4b18 ldr r3, [pc, #96] ; (8005bd0 ) - 8005b6e: 681b ldr r3, [r3, #0] - 8005b70: 2b00 cmp r3, #0 - 8005b72: d029 beq.n 8005bc8 + 8005c64: 4b18 ldr r3, [pc, #96] ; (8005cc8 ) + 8005c66: 681b ldr r3, [r3, #0] + 8005c68: 2b00 cmp r3, #0 + 8005c6a: d029 beq.n 8005cc0 { //play_ones(0,0); }else { if(busy_flag==0) - 8005b74: 4b17 ldr r3, [pc, #92] ; (8005bd4 ) - 8005b76: 781b ldrb r3, [r3, #0] - 8005b78: 2b00 cmp r3, #0 - 8005b7a: d115 bne.n 8005ba8 + 8005c6c: 4b17 ldr r3, [pc, #92] ; (8005ccc ) + 8005c6e: 781b ldrb r3, [r3, #0] + 8005c70: 2b00 cmp r3, #0 + 8005c72: d115 bne.n 8005ca0 { busy_flag=1; - 8005b7c: 4b15 ldr r3, [pc, #84] ; (8005bd4 ) - 8005b7e: 2201 movs r2, #1 - 8005b80: 701a strb r2, [r3, #0] + 8005c74: 4b15 ldr r3, [pc, #84] ; (8005ccc ) + 8005c76: 2201 movs r2, #1 + 8005c78: 701a strb r2, [r3, #0] play_delay=HAL_GetTick()+notes->deley; - 8005b82: f7fc f8eb bl 8001d5c - 8005b86: 4602 mov r2, r0 - 8005b88: 4b11 ldr r3, [pc, #68] ; (8005bd0 ) - 8005b8a: 681b ldr r3, [r3, #0] - 8005b8c: 889b ldrh r3, [r3, #4] - 8005b8e: 4413 add r3, r2 - 8005b90: 4a11 ldr r2, [pc, #68] ; (8005bd8 ) - 8005b92: 6013 str r3, [r2, #0] + 8005c7a: f7fc f86f bl 8001d5c + 8005c7e: 4602 mov r2, r0 + 8005c80: 4b11 ldr r3, [pc, #68] ; (8005cc8 ) + 8005c82: 681b ldr r3, [r3, #0] + 8005c84: 889b ldrh r3, [r3, #4] + 8005c86: 4413 add r3, r2 + 8005c88: 4a11 ldr r2, [pc, #68] ; (8005cd0 ) + 8005c8a: 6013 str r3, [r2, #0] play_ones(notes->freq,notes->duty); - 8005b94: 4b0e ldr r3, [pc, #56] ; (8005bd0 ) - 8005b96: 681b ldr r3, [r3, #0] - 8005b98: 881a ldrh r2, [r3, #0] - 8005b9a: 4b0d ldr r3, [pc, #52] ; (8005bd0 ) - 8005b9c: 681b ldr r3, [r3, #0] - 8005b9e: 789b ldrb r3, [r3, #2] - 8005ba0: 4619 mov r1, r3 - 8005ba2: 4610 mov r0, r2 - 8005ba4: f7ff ff80 bl 8005aa8 + 8005c8c: 4b0e ldr r3, [pc, #56] ; (8005cc8 ) + 8005c8e: 681b ldr r3, [r3, #0] + 8005c90: 881a ldrh r2, [r3, #0] + 8005c92: 4b0d ldr r3, [pc, #52] ; (8005cc8 ) + 8005c94: 681b ldr r3, [r3, #0] + 8005c96: 789b ldrb r3, [r3, #2] + 8005c98: 4619 mov r1, r3 + 8005c9a: 4610 mov r0, r2 + 8005c9c: f7ff ff80 bl 8005ba0 } if(busy_flag==1) - 8005ba8: 4b0a ldr r3, [pc, #40] ; (8005bd4 ) - 8005baa: 781b ldrb r3, [r3, #0] - 8005bac: 2b01 cmp r3, #1 - 8005bae: d10b bne.n 8005bc8 + 8005ca0: 4b0a ldr r3, [pc, #40] ; (8005ccc ) + 8005ca2: 781b ldrb r3, [r3, #0] + 8005ca4: 2b01 cmp r3, #1 + 8005ca6: d10b bne.n 8005cc0 { if(HAL_GetTick()>play_delay) - 8005bb0: f7fc f8d4 bl 8001d5c - 8005bb4: 4602 mov r2, r0 - 8005bb6: 4b08 ldr r3, [pc, #32] ; (8005bd8 ) - 8005bb8: 681b ldr r3, [r3, #0] - 8005bba: 429a cmp r2, r3 - 8005bbc: d904 bls.n 8005bc8 + 8005ca8: f7fc f858 bl 8001d5c + 8005cac: 4602 mov r2, r0 + 8005cae: 4b08 ldr r3, [pc, #32] ; (8005cd0 ) + 8005cb0: 681b ldr r3, [r3, #0] + 8005cb2: 429a cmp r2, r3 + 8005cb4: d904 bls.n 8005cc0 { busy_flag=0; - 8005bbe: 4b05 ldr r3, [pc, #20] ; (8005bd4 ) - 8005bc0: 2200 movs r2, #0 - 8005bc2: 701a strb r2, [r3, #0] + 8005cb6: 4b05 ldr r3, [pc, #20] ; (8005ccc ) + 8005cb8: 2200 movs r2, #0 + 8005cba: 701a strb r2, [r3, #0] delhead(); - 8005bc4: f7ff ffa8 bl 8005b18 + 8005cbc: f7ff ffa8 bl 8005c10 } } return busy_flag; - 8005bc8: 4b02 ldr r3, [pc, #8] ; (8005bd4 ) - 8005bca: 781b ldrb r3, [r3, #0] + 8005cc0: 4b02 ldr r3, [pc, #8] ; (8005ccc ) + 8005cc2: 781b ldrb r3, [r3, #0] } - 8005bcc: 4618 mov r0, r3 - 8005bce: bd80 pop {r7, pc} - 8005bd0: 2000038c .word 0x2000038c - 8005bd4: 20000390 .word 0x20000390 - 8005bd8: 20000394 .word 0x20000394 + 8005cc4: 4618 mov r0, r3 + 8005cc6: bd80 pop {r7, pc} + 8005cc8: 2000038c .word 0x2000038c + 8005ccc: 20000390 .word 0x20000390 + 8005cd0: 20000394 .word 0x20000394 -08005bdc : +08005cd4 : //因为eeprom芯片的写入速度有限,每写入一个字符都需要等待一段时间才能完成写入 //整个系统不可能等它一个的,传统的解决方法可以使用定时器中断或者多线程开辟子任务在后台保存, //这里的解决方法是使用状态机,通过一个链表将要保存的数据串起来,再通过状态循环一个个保存,保存延时等于循环用时。 eeprom_write_buff_info eeprom_write_buffer; //创建链表 void EPPROM_SLOWWRITE_INIT() //初始化链表 { - 8005bdc: b480 push {r7} - 8005bde: af00 add r7, sp, #0 + 8005cd4: b480 push {r7} + 8005cd6: af00 add r7, sp, #0 eeprom_write_buffer.buff=NULL; - 8005be0: 4b0a ldr r3, [pc, #40] ; (8005c0c ) - 8005be2: 2200 movs r2, #0 - 8005be4: 601a str r2, [r3, #0] + 8005cd8: 4b0a ldr r3, [pc, #40] ; (8005d04 ) + 8005cda: 2200 movs r2, #0 + 8005cdc: 601a str r2, [r3, #0] eeprom_write_buffer.end=NULL; - 8005be6: 4b09 ldr r3, [pc, #36] ; (8005c0c ) - 8005be8: 2200 movs r2, #0 - 8005bea: 609a str r2, [r3, #8] + 8005cde: 4b09 ldr r3, [pc, #36] ; (8005d04 ) + 8005ce0: 2200 movs r2, #0 + 8005ce2: 609a str r2, [r3, #8] eeprom_write_buffer.head=NULL; - 8005bec: 4b07 ldr r3, [pc, #28] ; (8005c0c ) - 8005bee: 2200 movs r2, #0 - 8005bf0: 605a str r2, [r3, #4] + 8005ce4: 4b07 ldr r3, [pc, #28] ; (8005d04 ) + 8005ce6: 2200 movs r2, #0 + 8005ce8: 605a str r2, [r3, #4] eeprom_write_buffer.save_timeout=5; //避免状态机循环过快导致的保存失败,这个是最少延时。(感觉没必要写在这里,太浪费空间了) - 8005bf2: 4b06 ldr r3, [pc, #24] ; (8005c0c ) - 8005bf4: 2205 movs r2, #5 - 8005bf6: 741a strb r2, [r3, #16] + 8005cea: 4b06 ldr r3, [pc, #24] ; (8005d04 ) + 8005cec: 2205 movs r2, #5 + 8005cee: 741a strb r2, [r3, #16] eeprom_write_buffer.save_busy=0; //最小延时内为忙状态 - 8005bf8: 4a04 ldr r2, [pc, #16] ; (8005c0c ) - 8005bfa: 7c53 ldrb r3, [r2, #17] - 8005bfc: f36f 0300 bfc r3, #0, #1 - 8005c00: 7453 strb r3, [r2, #17] + 8005cf0: 4a04 ldr r2, [pc, #16] ; (8005d04 ) + 8005cf2: 7c53 ldrb r3, [r2, #17] + 8005cf4: f36f 0300 bfc r3, #0, #1 + 8005cf8: 7453 strb r3, [r2, #17] } - 8005c02: bf00 nop - 8005c04: 46bd mov sp, r7 - 8005c06: bc80 pop {r7} - 8005c08: 4770 bx lr - 8005c0a: bf00 nop - 8005c0c: 20000398 .word 0x20000398 + 8005cfa: bf00 nop + 8005cfc: 46bd mov sp, r7 + 8005cfe: bc80 pop {r7} + 8005d00: 4770 bx lr + 8005d02: bf00 nop + 8005d04: 20000398 .word 0x20000398 -08005c10 : +08005d08 : //循环保存服务,检查链表头是否有数据是否忙。 void EEPROM_SLOWWRITE_SERVER() { - 8005c10: b580 push {r7, lr} - 8005c12: b082 sub sp, #8 - 8005c14: af00 add r7, sp, #0 + 8005d08: b580 push {r7, lr} + 8005d0a: b082 sub sp, #8 + 8005d0c: af00 add r7, sp, #0 eeprom_write_buff *buff; char data; if(eeprom_write_buffer.save_busy) - 8005c16: 4b20 ldr r3, [pc, #128] ; (8005c98 ) - 8005c18: 7c5b ldrb r3, [r3, #17] - 8005c1a: f003 0301 and.w r3, r3, #1 - 8005c1e: b2db uxtb r3, r3 - 8005c20: 2b00 cmp r3, #0 - 8005c22: d00c beq.n 8005c3e + 8005d0e: 4b20 ldr r3, [pc, #128] ; (8005d90 ) + 8005d10: 7c5b ldrb r3, [r3, #17] + 8005d12: f003 0301 and.w r3, r3, #1 + 8005d16: b2db uxtb r3, r3 + 8005d18: 2b00 cmp r3, #0 + 8005d1a: d00c beq.n 8005d36 { if(HAL_GetTick()>eeprom_write_buffer.save_time) - 8005c24: f7fc f89a bl 8001d5c - 8005c28: 4602 mov r2, r0 - 8005c2a: 4b1b ldr r3, [pc, #108] ; (8005c98 ) - 8005c2c: 68db ldr r3, [r3, #12] - 8005c2e: 429a cmp r2, r3 - 8005c30: d92e bls.n 8005c90 + 8005d1c: f7fc f81e bl 8001d5c + 8005d20: 4602 mov r2, r0 + 8005d22: 4b1b ldr r3, [pc, #108] ; (8005d90 ) + 8005d24: 68db ldr r3, [r3, #12] + 8005d26: 429a cmp r2, r3 + 8005d28: d92e bls.n 8005d88 { eeprom_write_buffer.save_busy=0; - 8005c32: 4a19 ldr r2, [pc, #100] ; (8005c98 ) - 8005c34: 7c53 ldrb r3, [r2, #17] - 8005c36: f36f 0300 bfc r3, #0, #1 - 8005c3a: 7453 strb r3, [r2, #17] + 8005d2a: 4a19 ldr r2, [pc, #100] ; (8005d90 ) + 8005d2c: 7c53 ldrb r3, [r2, #17] + 8005d2e: f36f 0300 bfc r3, #0, #1 + 8005d32: 7453 strb r3, [r2, #17] free(eeprom_write_buffer.head); eeprom_write_buffer.head=buff; } } } - 8005c3c: e028 b.n 8005c90 + 8005d34: e028 b.n 8005d88 if(eeprom_write_buffer.head!=NULL) - 8005c3e: 4b16 ldr r3, [pc, #88] ; (8005c98 ) - 8005c40: 685b ldr r3, [r3, #4] - 8005c42: 2b00 cmp r3, #0 - 8005c44: d024 beq.n 8005c90 + 8005d36: 4b16 ldr r3, [pc, #88] ; (8005d90 ) + 8005d38: 685b ldr r3, [r3, #4] + 8005d3a: 2b00 cmp r3, #0 + 8005d3c: d024 beq.n 8005d88 eeprom_write_buffer.save_busy=1; - 8005c46: 4a14 ldr r2, [pc, #80] ; (8005c98 ) - 8005c48: 7c53 ldrb r3, [r2, #17] - 8005c4a: f043 0301 orr.w r3, r3, #1 - 8005c4e: 7453 strb r3, [r2, #17] + 8005d3e: 4a14 ldr r2, [pc, #80] ; (8005d90 ) + 8005d40: 7c53 ldrb r3, [r2, #17] + 8005d42: f043 0301 orr.w r3, r3, #1 + 8005d46: 7453 strb r3, [r2, #17] eeprom_write_buffer.save_time=HAL_GetTick()+eeprom_write_buffer.save_timeout; - 8005c50: f7fc f884 bl 8001d5c - 8005c54: 4603 mov r3, r0 - 8005c56: 4a10 ldr r2, [pc, #64] ; (8005c98 ) - 8005c58: 7c12 ldrb r2, [r2, #16] - 8005c5a: 4413 add r3, r2 - 8005c5c: 4a0e ldr r2, [pc, #56] ; (8005c98 ) - 8005c5e: 60d3 str r3, [r2, #12] + 8005d48: f7fc f808 bl 8001d5c + 8005d4c: 4603 mov r3, r0 + 8005d4e: 4a10 ldr r2, [pc, #64] ; (8005d90 ) + 8005d50: 7c12 ldrb r2, [r2, #16] + 8005d52: 4413 add r3, r2 + 8005d54: 4a0e ldr r2, [pc, #56] ; (8005d90 ) + 8005d56: 60d3 str r3, [r2, #12] buff=eeprom_write_buffer.head->next; - 8005c60: 4b0d ldr r3, [pc, #52] ; (8005c98 ) - 8005c62: 685b ldr r3, [r3, #4] - 8005c64: 681b ldr r3, [r3, #0] - 8005c66: 607b str r3, [r7, #4] + 8005d58: 4b0d ldr r3, [pc, #52] ; (8005d90 ) + 8005d5a: 685b ldr r3, [r3, #4] + 8005d5c: 681b ldr r3, [r3, #0] + 8005d5e: 607b str r3, [r7, #4] data=eeprom_write_buffer.head->date; - 8005c68: 4b0b ldr r3, [pc, #44] ; (8005c98 ) - 8005c6a: 685b ldr r3, [r3, #4] - 8005c6c: 799b ldrb r3, [r3, #6] - 8005c6e: 70fb strb r3, [r7, #3] + 8005d60: 4b0b ldr r3, [pc, #44] ; (8005d90 ) + 8005d62: 685b ldr r3, [r3, #4] + 8005d64: 799b ldrb r3, [r3, #6] + 8005d66: 70fb strb r3, [r7, #3] IIC_SAND_DATE(EEPROM_ADDRESS,eeprom_write_buffer.head->add,&data,1); - 8005c70: 4b09 ldr r3, [pc, #36] ; (8005c98 ) - 8005c72: 685b ldr r3, [r3, #4] - 8005c74: 8899 ldrh r1, [r3, #4] - 8005c76: 1cfa adds r2, r7, #3 - 8005c78: 2301 movs r3, #1 - 8005c7a: 20a0 movs r0, #160 ; 0xa0 - 8005c7c: f000 f866 bl 8005d4c + 8005d68: 4b09 ldr r3, [pc, #36] ; (8005d90 ) + 8005d6a: 685b ldr r3, [r3, #4] + 8005d6c: 8899 ldrh r1, [r3, #4] + 8005d6e: 1cfa adds r2, r7, #3 + 8005d70: 2301 movs r3, #1 + 8005d72: 20a0 movs r0, #160 ; 0xa0 + 8005d74: f000 f866 bl 8005e44 free(eeprom_write_buffer.head); - 8005c80: 4b05 ldr r3, [pc, #20] ; (8005c98 ) - 8005c82: 685b ldr r3, [r3, #4] - 8005c84: 4618 mov r0, r3 - 8005c86: f001 fb5f bl 8007348 + 8005d78: 4b05 ldr r3, [pc, #20] ; (8005d90 ) + 8005d7a: 685b ldr r3, [r3, #4] + 8005d7c: 4618 mov r0, r3 + 8005d7e: f001 ff11 bl 8007ba4 eeprom_write_buffer.head=buff; - 8005c8a: 4a03 ldr r2, [pc, #12] ; (8005c98 ) - 8005c8c: 687b ldr r3, [r7, #4] - 8005c8e: 6053 str r3, [r2, #4] + 8005d82: 4a03 ldr r2, [pc, #12] ; (8005d90 ) + 8005d84: 687b ldr r3, [r7, #4] + 8005d86: 6053 str r3, [r2, #4] } - 8005c90: bf00 nop - 8005c92: 3708 adds r7, #8 - 8005c94: 46bd mov sp, r7 - 8005c96: bd80 pop {r7, pc} - 8005c98: 20000398 .word 0x20000398 + 8005d88: bf00 nop + 8005d8a: 3708 adds r7, #8 + 8005d8c: 46bd mov sp, r7 + 8005d8e: bd80 pop {r7, pc} + 8005d90: 20000398 .word 0x20000398 -08005c9c : +08005d94 : //从eeprom读取数据 void EEPROM_READ_BATY(uint16_t IN_DEVICE_ADD,char *DATAS,uint16_t LONG) { - 8005c9c: b580 push {r7, lr} - 8005c9e: b082 sub sp, #8 - 8005ca0: af00 add r7, sp, #0 - 8005ca2: 4603 mov r3, r0 - 8005ca4: 6039 str r1, [r7, #0] - 8005ca6: 80fb strh r3, [r7, #6] - 8005ca8: 4613 mov r3, r2 - 8005caa: 80bb strh r3, [r7, #4] + 8005d94: b580 push {r7, lr} + 8005d96: b082 sub sp, #8 + 8005d98: af00 add r7, sp, #0 + 8005d9a: 4603 mov r3, r0 + 8005d9c: 6039 str r1, [r7, #0] + 8005d9e: 80fb strh r3, [r7, #6] + 8005da0: 4613 mov r3, r2 + 8005da2: 80bb strh r3, [r7, #4] IIC_READ_DATE(EEPROM_ADDRESS,IN_DEVICE_ADD,DATAS,LONG); - 8005cac: 88bb ldrh r3, [r7, #4] - 8005cae: 88f9 ldrh r1, [r7, #6] - 8005cb0: 683a ldr r2, [r7, #0] - 8005cb2: 20a0 movs r0, #160 ; 0xa0 - 8005cb4: f000 f868 bl 8005d88 + 8005da4: 88bb ldrh r3, [r7, #4] + 8005da6: 88f9 ldrh r1, [r7, #6] + 8005da8: 683a ldr r2, [r7, #0] + 8005daa: 20a0 movs r0, #160 ; 0xa0 + 8005dac: f000 f868 bl 8005e80 } - 8005cb8: bf00 nop - 8005cba: 3708 adds r7, #8 - 8005cbc: 46bd mov sp, r7 - 8005cbe: bd80 pop {r7, pc} + 8005db0: bf00 nop + 8005db2: 3708 adds r7, #8 + 8005db4: 46bd mov sp, r7 + 8005db6: bd80 pop {r7, pc} -08005cc0 : +08005db8 : //向eeprom写入数据 void EEPROM_WRITE_BATY(uint16_t IN_DEVICE_ADD,char *DATAS,uint16_t LONG) { - 8005cc0: b580 push {r7, lr} - 8005cc2: b086 sub sp, #24 - 8005cc4: af00 add r7, sp, #0 - 8005cc6: 4603 mov r3, r0 - 8005cc8: 6039 str r1, [r7, #0] - 8005cca: 80fb strh r3, [r7, #6] - 8005ccc: 4613 mov r3, r2 - 8005cce: 80bb strh r3, [r7, #4] + 8005db8: b580 push {r7, lr} + 8005dba: b086 sub sp, #24 + 8005dbc: af00 add r7, sp, #0 + 8005dbe: 4603 mov r3, r0 + 8005dc0: 6039 str r1, [r7, #0] + 8005dc2: 80fb strh r3, [r7, #6] + 8005dc4: 4613 mov r3, r2 + 8005dc6: 80bb strh r3, [r7, #4] //IIC_SAND_DATE(EEPROM_ADDRESS,IN_DEVICE_ADD,DATAS,LONG); uint16_t addoffset=0; - 8005cd0: 2300 movs r3, #0 - 8005cd2: 82fb strh r3, [r7, #22] + 8005dc8: 2300 movs r3, #0 + 8005dca: 82fb strh r3, [r7, #22] eeprom_write_buff *buff; eeprom_write_buff *buff2; while(LONG--) - 8005cd4: e02d b.n 8005d32 + 8005dcc: e02d b.n 8005e2a { buff =(eeprom_write_buff*)malloc(sizeof(eeprom_write_buff)); - 8005cd6: 2008 movs r0, #8 - 8005cd8: f001 fb2e bl 8007338 - 8005cdc: 4603 mov r3, r0 - 8005cde: 613b str r3, [r7, #16] + 8005dce: 2008 movs r0, #8 + 8005dd0: f001 fee0 bl 8007b94 + 8005dd4: 4603 mov r3, r0 + 8005dd6: 613b str r3, [r7, #16] if(buff!=NULL) - 8005ce0: 693b ldr r3, [r7, #16] - 8005ce2: 2b00 cmp r3, #0 - 8005ce4: d02b beq.n 8005d3e + 8005dd8: 693b ldr r3, [r7, #16] + 8005dda: 2b00 cmp r3, #0 + 8005ddc: d02b beq.n 8005e36 { buff->add=IN_DEVICE_ADD+addoffset; - 8005ce6: 88fa ldrh r2, [r7, #6] - 8005ce8: 8afb ldrh r3, [r7, #22] - 8005cea: 4413 add r3, r2 - 8005cec: b29a uxth r2, r3 - 8005cee: 693b ldr r3, [r7, #16] - 8005cf0: 809a strh r2, [r3, #4] + 8005dde: 88fa ldrh r2, [r7, #6] + 8005de0: 8afb ldrh r3, [r7, #22] + 8005de2: 4413 add r3, r2 + 8005de4: b29a uxth r2, r3 + 8005de6: 693b ldr r3, [r7, #16] + 8005de8: 809a strh r2, [r3, #4] buff->date=DATAS[addoffset]; - 8005cf2: 8afb ldrh r3, [r7, #22] - 8005cf4: 683a ldr r2, [r7, #0] - 8005cf6: 4413 add r3, r2 - 8005cf8: 781a ldrb r2, [r3, #0] - 8005cfa: 693b ldr r3, [r7, #16] - 8005cfc: 719a strb r2, [r3, #6] + 8005dea: 8afb ldrh r3, [r7, #22] + 8005dec: 683a ldr r2, [r7, #0] + 8005dee: 4413 add r3, r2 + 8005df0: 781a ldrb r2, [r3, #0] + 8005df2: 693b ldr r3, [r7, #16] + 8005df4: 719a strb r2, [r3, #6] buff->next=NULL; - 8005cfe: 693b ldr r3, [r7, #16] - 8005d00: 2200 movs r2, #0 - 8005d02: 601a str r2, [r3, #0] + 8005df6: 693b ldr r3, [r7, #16] + 8005df8: 2200 movs r2, #0 + 8005dfa: 601a str r2, [r3, #0] }else{return ;} if(eeprom_write_buffer.head==NULL) - 8005d04: 4b10 ldr r3, [pc, #64] ; (8005d48 ) - 8005d06: 685b ldr r3, [r3, #4] - 8005d08: 2b00 cmp r3, #0 - 8005d0a: d106 bne.n 8005d1a + 8005dfc: 4b10 ldr r3, [pc, #64] ; (8005e40 ) + 8005dfe: 685b ldr r3, [r3, #4] + 8005e00: 2b00 cmp r3, #0 + 8005e02: d106 bne.n 8005e12 { eeprom_write_buffer.head=buff; - 8005d0c: 4a0e ldr r2, [pc, #56] ; (8005d48 ) - 8005d0e: 693b ldr r3, [r7, #16] - 8005d10: 6053 str r3, [r2, #4] + 8005e04: 4a0e ldr r2, [pc, #56] ; (8005e40 ) + 8005e06: 693b ldr r3, [r7, #16] + 8005e08: 6053 str r3, [r2, #4] eeprom_write_buffer.end=buff; - 8005d12: 4a0d ldr r2, [pc, #52] ; (8005d48 ) - 8005d14: 693b ldr r3, [r7, #16] - 8005d16: 6093 str r3, [r2, #8] - 8005d18: e008 b.n 8005d2c + 8005e0a: 4a0d ldr r2, [pc, #52] ; (8005e40 ) + 8005e0c: 693b ldr r3, [r7, #16] + 8005e0e: 6093 str r3, [r2, #8] + 8005e10: e008 b.n 8005e24 }else { buff2=eeprom_write_buffer.end; - 8005d1a: 4b0b ldr r3, [pc, #44] ; (8005d48 ) - 8005d1c: 689b ldr r3, [r3, #8] - 8005d1e: 60fb str r3, [r7, #12] + 8005e12: 4b0b ldr r3, [pc, #44] ; (8005e40 ) + 8005e14: 689b ldr r3, [r3, #8] + 8005e16: 60fb str r3, [r7, #12] buff2->next=buff; - 8005d20: 68fb ldr r3, [r7, #12] - 8005d22: 693a ldr r2, [r7, #16] - 8005d24: 601a str r2, [r3, #0] + 8005e18: 68fb ldr r3, [r7, #12] + 8005e1a: 693a ldr r2, [r7, #16] + 8005e1c: 601a str r2, [r3, #0] eeprom_write_buffer.end=buff; - 8005d26: 4a08 ldr r2, [pc, #32] ; (8005d48 ) - 8005d28: 693b ldr r3, [r7, #16] - 8005d2a: 6093 str r3, [r2, #8] + 8005e1e: 4a08 ldr r2, [pc, #32] ; (8005e40 ) + 8005e20: 693b ldr r3, [r7, #16] + 8005e22: 6093 str r3, [r2, #8] } addoffset++; - 8005d2c: 8afb ldrh r3, [r7, #22] - 8005d2e: 3301 adds r3, #1 - 8005d30: 82fb strh r3, [r7, #22] + 8005e24: 8afb ldrh r3, [r7, #22] + 8005e26: 3301 adds r3, #1 + 8005e28: 82fb strh r3, [r7, #22] while(LONG--) - 8005d32: 88bb ldrh r3, [r7, #4] - 8005d34: 1e5a subs r2, r3, #1 - 8005d36: 80ba strh r2, [r7, #4] - 8005d38: 2b00 cmp r3, #0 - 8005d3a: d1cc bne.n 8005cd6 - 8005d3c: e000 b.n 8005d40 + 8005e2a: 88bb ldrh r3, [r7, #4] + 8005e2c: 1e5a subs r2, r3, #1 + 8005e2e: 80ba strh r2, [r7, #4] + 8005e30: 2b00 cmp r3, #0 + 8005e32: d1cc bne.n 8005dce + 8005e34: e000 b.n 8005e38 }else{return ;} - 8005d3e: bf00 nop + 8005e36: bf00 nop } } - 8005d40: 3718 adds r7, #24 - 8005d42: 46bd mov sp, r7 - 8005d44: bd80 pop {r7, pc} - 8005d46: bf00 nop - 8005d48: 20000398 .word 0x20000398 + 8005e38: 3718 adds r7, #24 + 8005e3a: 46bd mov sp, r7 + 8005e3c: bd80 pop {r7, pc} + 8005e3e: bf00 nop + 8005e40: 20000398 .word 0x20000398 -08005d4c : +08005e44 : //iic硬件接口 extern I2C_HandleTypeDef hi2c2; void IIC_SAND_DATE(uint16_t DEVICE_ADD,uint16_t IN_DEVICE_ADD,char *DATAS,uint16_t LONG) { - 8005d4c: b580 push {r7, lr} - 8005d4e: b088 sub sp, #32 - 8005d50: af04 add r7, sp, #16 - 8005d52: 60ba str r2, [r7, #8] - 8005d54: 461a mov r2, r3 - 8005d56: 4603 mov r3, r0 - 8005d58: 81fb strh r3, [r7, #14] - 8005d5a: 460b mov r3, r1 - 8005d5c: 81bb strh r3, [r7, #12] - 8005d5e: 4613 mov r3, r2 - 8005d60: 80fb strh r3, [r7, #6] + 8005e44: b580 push {r7, lr} + 8005e46: b088 sub sp, #32 + 8005e48: af04 add r7, sp, #16 + 8005e4a: 60ba str r2, [r7, #8] + 8005e4c: 461a mov r2, r3 + 8005e4e: 4603 mov r3, r0 + 8005e50: 81fb strh r3, [r7, #14] + 8005e52: 460b mov r3, r1 + 8005e54: 81bb strh r3, [r7, #12] + 8005e56: 4613 mov r3, r2 + 8005e58: 80fb strh r3, [r7, #6] HAL_I2C_Mem_Write(&hi2c2,DEVICE_ADD,IN_DEVICE_ADD,I2C_MEMADD_SIZE_8BIT,DATAS,LONG,100); - 8005d62: 89ba ldrh r2, [r7, #12] - 8005d64: 89f9 ldrh r1, [r7, #14] - 8005d66: 2364 movs r3, #100 ; 0x64 - 8005d68: 9302 str r3, [sp, #8] - 8005d6a: 88fb ldrh r3, [r7, #6] - 8005d6c: 9301 str r3, [sp, #4] - 8005d6e: 68bb ldr r3, [r7, #8] - 8005d70: 9300 str r3, [sp, #0] - 8005d72: 2301 movs r3, #1 - 8005d74: 4803 ldr r0, [pc, #12] ; (8005d84 ) - 8005d76: f7fc fc35 bl 80025e4 + 8005e5a: 89ba ldrh r2, [r7, #12] + 8005e5c: 89f9 ldrh r1, [r7, #14] + 8005e5e: 2364 movs r3, #100 ; 0x64 + 8005e60: 9302 str r3, [sp, #8] + 8005e62: 88fb ldrh r3, [r7, #6] + 8005e64: 9301 str r3, [sp, #4] + 8005e66: 68bb ldr r3, [r7, #8] + 8005e68: 9300 str r3, [sp, #0] + 8005e6a: 2301 movs r3, #1 + 8005e6c: 4803 ldr r0, [pc, #12] ; (8005e7c ) + 8005e6e: f7fc fbb9 bl 80025e4 } - 8005d7a: bf00 nop - 8005d7c: 3710 adds r7, #16 - 8005d7e: 46bd mov sp, r7 - 8005d80: bd80 pop {r7, pc} - 8005d82: bf00 nop - 8005d84: 200001f0 .word 0x200001f0 + 8005e72: bf00 nop + 8005e74: 3710 adds r7, #16 + 8005e76: 46bd mov sp, r7 + 8005e78: bd80 pop {r7, pc} + 8005e7a: bf00 nop + 8005e7c: 200001f0 .word 0x200001f0 -08005d88 : +08005e80 : void IIC_READ_DATE(uint16_t DEVICE_ADD,uint16_t IN_DEVICE_ADD,char *DATAS,uint16_t LONG) { - 8005d88: b580 push {r7, lr} - 8005d8a: b088 sub sp, #32 - 8005d8c: af04 add r7, sp, #16 - 8005d8e: 60ba str r2, [r7, #8] - 8005d90: 461a mov r2, r3 - 8005d92: 4603 mov r3, r0 - 8005d94: 81fb strh r3, [r7, #14] - 8005d96: 460b mov r3, r1 - 8005d98: 81bb strh r3, [r7, #12] - 8005d9a: 4613 mov r3, r2 - 8005d9c: 80fb strh r3, [r7, #6] + 8005e80: b580 push {r7, lr} + 8005e82: b088 sub sp, #32 + 8005e84: af04 add r7, sp, #16 + 8005e86: 60ba str r2, [r7, #8] + 8005e88: 461a mov r2, r3 + 8005e8a: 4603 mov r3, r0 + 8005e8c: 81fb strh r3, [r7, #14] + 8005e8e: 460b mov r3, r1 + 8005e90: 81bb strh r3, [r7, #12] + 8005e92: 4613 mov r3, r2 + 8005e94: 80fb strh r3, [r7, #6] HAL_I2C_Mem_Read(&hi2c2,DEVICE_ADD,IN_DEVICE_ADD,I2C_MEMADD_SIZE_8BIT,DATAS,LONG,100); - 8005d9e: 89ba ldrh r2, [r7, #12] - 8005da0: 89f9 ldrh r1, [r7, #14] - 8005da2: 2364 movs r3, #100 ; 0x64 - 8005da4: 9302 str r3, [sp, #8] - 8005da6: 88fb ldrh r3, [r7, #6] - 8005da8: 9301 str r3, [sp, #4] - 8005daa: 68bb ldr r3, [r7, #8] - 8005dac: 9300 str r3, [sp, #0] - 8005dae: 2301 movs r3, #1 - 8005db0: 4803 ldr r0, [pc, #12] ; (8005dc0 ) - 8005db2: f7fc fd11 bl 80027d8 + 8005e96: 89ba ldrh r2, [r7, #12] + 8005e98: 89f9 ldrh r1, [r7, #14] + 8005e9a: 2364 movs r3, #100 ; 0x64 + 8005e9c: 9302 str r3, [sp, #8] + 8005e9e: 88fb ldrh r3, [r7, #6] + 8005ea0: 9301 str r3, [sp, #4] + 8005ea2: 68bb ldr r3, [r7, #8] + 8005ea4: 9300 str r3, [sp, #0] + 8005ea6: 2301 movs r3, #1 + 8005ea8: 4803 ldr r0, [pc, #12] ; (8005eb8 ) + 8005eaa: f7fc fc95 bl 80027d8 } - 8005db6: bf00 nop - 8005db8: 3710 adds r7, #16 - 8005dba: 46bd mov sp, r7 - 8005dbc: bd80 pop {r7, pc} - 8005dbe: bf00 nop - 8005dc0: 200001f0 .word 0x200001f0 + 8005eae: bf00 nop + 8005eb0: 3710 adds r7, #16 + 8005eb2: 46bd mov sp, r7 + 8005eb4: bd80 pop {r7, pc} + 8005eb6: bf00 nop + 8005eb8: 200001f0 .word 0x200001f0 -08005dc4 : +08005ebc : #include "key.h" struct button k1,k2,k3; void GEI_BUTTON_CODE(struct button *bt,uint8_t in) { - 8005dc4: b580 push {r7, lr} - 8005dc6: b082 sub sp, #8 - 8005dc8: af00 add r7, sp, #0 - 8005dca: 6078 str r0, [r7, #4] - 8005dcc: 460b mov r3, r1 - 8005dce: 70fb strb r3, [r7, #3] + 8005ebc: b580 push {r7, lr} + 8005ebe: b082 sub sp, #8 + 8005ec0: af00 add r7, sp, #0 + 8005ec2: 6078 str r0, [r7, #4] + 8005ec4: 460b mov r3, r1 + 8005ec6: 70fb strb r3, [r7, #3] #define t 250 bt->code=0; - 8005dd0: 687b ldr r3, [r7, #4] - 8005dd2: 2200 movs r2, #0 - 8005dd4: 601a str r2, [r3, #0] + 8005ec8: 687b ldr r3, [r7, #4] + 8005eca: 2200 movs r2, #0 + 8005ecc: 601a str r2, [r3, #0] if(in==0) - 8005dd6: 78fb ldrb r3, [r7, #3] - 8005dd8: 2b00 cmp r3, #0 - 8005dda: d138 bne.n 8005e4e + 8005ece: 78fb ldrb r3, [r7, #3] + 8005ed0: 2b00 cmp r3, #0 + 8005ed2: d138 bne.n 8005f46 { if(bt->lock==0) - 8005ddc: 687b ldr r3, [r7, #4] - 8005dde: 791b ldrb r3, [r3, #4] - 8005de0: 2b00 cmp r3, #0 - 8005de2: d120 bne.n 8005e26 + 8005ed4: 687b ldr r3, [r7, #4] + 8005ed6: 791b ldrb r3, [r3, #4] + 8005ed8: 2b00 cmp r3, #0 + 8005eda: d120 bne.n 8005f1e { if(HAL_GetTick()time+t) - 8005de4: f7fb ffba bl 8001d5c - 8005de8: 4602 mov r2, r0 - 8005dea: 687b ldr r3, [r7, #4] - 8005dec: 689b ldr r3, [r3, #8] - 8005dee: 33fa adds r3, #250 ; 0xfa - 8005df0: 429a cmp r2, r3 - 8005df2: d20d bcs.n 8005e10 + 8005edc: f7fb ff3e bl 8001d5c + 8005ee0: 4602 mov r2, r0 + 8005ee2: 687b ldr r3, [r7, #4] + 8005ee4: 689b ldr r3, [r3, #8] + 8005ee6: 33fa adds r3, #250 ; 0xfa + 8005ee8: 429a cmp r2, r3 + 8005eea: d20d bcs.n 8005f08 { bt->times++; - 8005df4: 687b ldr r3, [r7, #4] - 8005df6: 68db ldr r3, [r3, #12] - 8005df8: 1c5a adds r2, r3, #1 - 8005dfa: 687b ldr r3, [r7, #4] - 8005dfc: 60da str r2, [r3, #12] + 8005eec: 687b ldr r3, [r7, #4] + 8005eee: 68db ldr r3, [r3, #12] + 8005ef0: 1c5a adds r2, r3, #1 + 8005ef2: 687b ldr r3, [r7, #4] + 8005ef4: 60da str r2, [r3, #12] bt->time=HAL_GetTick(); - 8005dfe: f7fb ffad bl 8001d5c - 8005e02: 4602 mov r2, r0 - 8005e04: 687b ldr r3, [r7, #4] - 8005e06: 609a str r2, [r3, #8] + 8005ef6: f7fb ff31 bl 8001d5c + 8005efa: 4602 mov r2, r0 + 8005efc: 687b ldr r3, [r7, #4] + 8005efe: 609a str r2, [r3, #8] bt->lock=1; - 8005e08: 687b ldr r3, [r7, #4] - 8005e0a: 2201 movs r2, #1 - 8005e0c: 711a strb r2, [r3, #4] - 8005e0e: e00a b.n 8005e26 + 8005f00: 687b ldr r3, [r7, #4] + 8005f02: 2201 movs r2, #1 + 8005f04: 711a strb r2, [r3, #4] + 8005f06: e00a b.n 8005f1e }else { bt->times=1; - 8005e10: 687b ldr r3, [r7, #4] - 8005e12: 2201 movs r2, #1 - 8005e14: 60da str r2, [r3, #12] + 8005f08: 687b ldr r3, [r7, #4] + 8005f0a: 2201 movs r2, #1 + 8005f0c: 60da str r2, [r3, #12] bt->time=HAL_GetTick(); - 8005e16: f7fb ffa1 bl 8001d5c - 8005e1a: 4602 mov r2, r0 - 8005e1c: 687b ldr r3, [r7, #4] - 8005e1e: 609a str r2, [r3, #8] + 8005f0e: f7fb ff25 bl 8001d5c + 8005f12: 4602 mov r2, r0 + 8005f14: 687b ldr r3, [r7, #4] + 8005f16: 609a str r2, [r3, #8] bt->lock=1; - 8005e20: 687b ldr r3, [r7, #4] - 8005e22: 2201 movs r2, #1 - 8005e24: 711a strb r2, [r3, #4] + 8005f18: 687b ldr r3, [r7, #4] + 8005f1a: 2201 movs r2, #1 + 8005f1c: 711a strb r2, [r3, #4] } } if(bt->lock==1) - 8005e26: 687b ldr r3, [r7, #4] - 8005e28: 791b ldrb r3, [r3, #4] - 8005e2a: 2b01 cmp r3, #1 - 8005e2c: d10f bne.n 8005e4e + 8005f1e: 687b ldr r3, [r7, #4] + 8005f20: 791b ldrb r3, [r3, #4] + 8005f22: 2b01 cmp r3, #1 + 8005f24: d10f bne.n 8005f46 { if(HAL_GetTick()>bt->time+t) - 8005e2e: f7fb ff95 bl 8001d5c - 8005e32: 4602 mov r2, r0 - 8005e34: 687b ldr r3, [r7, #4] - 8005e36: 689b ldr r3, [r3, #8] - 8005e38: 33fa adds r3, #250 ; 0xfa - 8005e3a: 429a cmp r2, r3 - 8005e3c: d907 bls.n 8005e4e + 8005f26: f7fb ff19 bl 8001d5c + 8005f2a: 4602 mov r2, r0 + 8005f2c: 687b ldr r3, [r7, #4] + 8005f2e: 689b ldr r3, [r3, #8] + 8005f30: 33fa adds r3, #250 ; 0xfa + 8005f32: 429a cmp r2, r3 + 8005f34: d907 bls.n 8005f46 { bt->code=-1; - 8005e3e: 687b ldr r3, [r7, #4] - 8005e40: f04f 32ff mov.w r2, #4294967295 - 8005e44: 601a str r2, [r3, #0] + 8005f36: 687b ldr r3, [r7, #4] + 8005f38: f04f 32ff mov.w r2, #4294967295 + 8005f3c: 601a str r2, [r3, #0] bt->times=-1; - 8005e46: 687b ldr r3, [r7, #4] - 8005e48: f04f 32ff mov.w r2, #4294967295 - 8005e4c: 60da str r2, [r3, #12] + 8005f3e: 687b ldr r3, [r7, #4] + 8005f40: f04f 32ff mov.w r2, #4294967295 + 8005f44: 60da str r2, [r3, #12] } } } if(in==1) - 8005e4e: 78fb ldrb r3, [r7, #3] - 8005e50: 2b01 cmp r3, #1 - 8005e52: d10f bne.n 8005e74 + 8005f46: 78fb ldrb r3, [r7, #3] + 8005f48: 2b01 cmp r3, #1 + 8005f4a: d10f bne.n 8005f6c { if(bt->lock==1) - 8005e54: 687b ldr r3, [r7, #4] - 8005e56: 791b ldrb r3, [r3, #4] - 8005e58: 2b01 cmp r3, #1 - 8005e5a: d10b bne.n 8005e74 + 8005f4c: 687b ldr r3, [r7, #4] + 8005f4e: 791b ldrb r3, [r3, #4] + 8005f50: 2b01 cmp r3, #1 + 8005f52: d10b bne.n 8005f6c { if(bt->code==-1) - 8005e5c: 687b ldr r3, [r7, #4] - 8005e5e: 681b ldr r3, [r3, #0] - 8005e60: f1b3 3fff cmp.w r3, #4294967295 - 8005e64: d003 beq.n 8005e6e + 8005f54: 687b ldr r3, [r7, #4] + 8005f56: 681b ldr r3, [r3, #0] + 8005f58: f1b3 3fff cmp.w r3, #4294967295 + 8005f5c: d003 beq.n 8005f66 { }else { bt->code=bt->times; - 8005e66: 687b ldr r3, [r7, #4] - 8005e68: 68da ldr r2, [r3, #12] - 8005e6a: 687b ldr r3, [r7, #4] - 8005e6c: 601a str r2, [r3, #0] + 8005f5e: 687b ldr r3, [r7, #4] + 8005f60: 68da ldr r2, [r3, #12] + 8005f62: 687b ldr r3, [r7, #4] + 8005f64: 601a str r2, [r3, #0] } bt->lock=0; - 8005e6e: 687b ldr r3, [r7, #4] - 8005e70: 2200 movs r2, #0 - 8005e72: 711a strb r2, [r3, #4] + 8005f66: 687b ldr r3, [r7, #4] + 8005f68: 2200 movs r2, #0 + 8005f6a: 711a strb r2, [r3, #4] } } } - 8005e74: bf00 nop - 8005e76: 3708 adds r7, #8 - 8005e78: 46bd mov sp, r7 - 8005e7a: bd80 pop {r7, pc} + 8005f6c: bf00 nop + 8005f6e: 3708 adds r7, #8 + 8005f70: 46bd mov sp, r7 + 8005f72: bd80 pop {r7, pc} -08005e7c : +08005f74 : //SPI写数据 //向触摸屏IC写入1byte数据 //num:要写入的数据 void TP_Write_Byte(char num) { - 8005e7c: b580 push {r7, lr} - 8005e7e: b084 sub sp, #16 - 8005e80: af00 add r7, sp, #0 - 8005e82: 4603 mov r3, r0 - 8005e84: 71fb strb r3, [r7, #7] + 8005f74: b580 push {r7, lr} + 8005f76: b084 sub sp, #16 + 8005f78: af00 add r7, sp, #0 + 8005f7a: 4603 mov r3, r0 + 8005f7c: 71fb strb r3, [r7, #7] for(uint8_t count=0;count<8;count++) - 8005e86: 2300 movs r3, #0 - 8005e88: 73fb strb r3, [r7, #15] - 8005e8a: e020 b.n 8005ece + 8005f7e: 2300 movs r3, #0 + 8005f80: 73fb strb r3, [r7, #15] + 8005f82: e020 b.n 8005fc6 { if(num&0x80){TDIN(1);} - 8005e8c: f997 3007 ldrsb.w r3, [r7, #7] - 8005e90: 2b00 cmp r3, #0 - 8005e92: da06 bge.n 8005ea2 - 8005e94: 2201 movs r2, #1 - 8005e96: f44f 7100 mov.w r1, #512 ; 0x200 - 8005e9a: 4811 ldr r0, [pc, #68] ; (8005ee0 ) - 8005e9c: f7fc fa45 bl 800232a - 8005ea0: e005 b.n 8005eae + 8005f84: f997 3007 ldrsb.w r3, [r7, #7] + 8005f88: 2b00 cmp r3, #0 + 8005f8a: da06 bge.n 8005f9a + 8005f8c: 2201 movs r2, #1 + 8005f8e: f44f 7100 mov.w r1, #512 ; 0x200 + 8005f92: 4811 ldr r0, [pc, #68] ; (8005fd8 ) + 8005f94: f7fc f9c9 bl 800232a + 8005f98: e005 b.n 8005fa6 else {TDIN(0);} - 8005ea2: 2200 movs r2, #0 - 8005ea4: f44f 7100 mov.w r1, #512 ; 0x200 - 8005ea8: 480d ldr r0, [pc, #52] ; (8005ee0 ) - 8005eaa: f7fc fa3e bl 800232a + 8005f9a: 2200 movs r2, #0 + 8005f9c: f44f 7100 mov.w r1, #512 ; 0x200 + 8005fa0: 480d ldr r0, [pc, #52] ; (8005fd8 ) + 8005fa2: f7fc f9c2 bl 800232a num<<=1; - 8005eae: 79fb ldrb r3, [r7, #7] - 8005eb0: 005b lsls r3, r3, #1 - 8005eb2: 71fb strb r3, [r7, #7] + 8005fa6: 79fb ldrb r3, [r7, #7] + 8005fa8: 005b lsls r3, r3, #1 + 8005faa: 71fb strb r3, [r7, #7] TCLK(0); - 8005eb4: 2200 movs r2, #0 - 8005eb6: 2102 movs r1, #2 - 8005eb8: 480a ldr r0, [pc, #40] ; (8005ee4 ) - 8005eba: f7fc fa36 bl 800232a + 8005fac: 2200 movs r2, #0 + 8005fae: 2102 movs r1, #2 + 8005fb0: 480a ldr r0, [pc, #40] ; (8005fdc ) + 8005fb2: f7fc f9ba bl 800232a TCLK(1); //上升沿有效 - 8005ebe: 2201 movs r2, #1 - 8005ec0: 2102 movs r1, #2 - 8005ec2: 4808 ldr r0, [pc, #32] ; (8005ee4 ) - 8005ec4: f7fc fa31 bl 800232a + 8005fb6: 2201 movs r2, #1 + 8005fb8: 2102 movs r1, #2 + 8005fba: 4808 ldr r0, [pc, #32] ; (8005fdc ) + 8005fbc: f7fc f9b5 bl 800232a for(uint8_t count=0;count<8;count++) - 8005ec8: 7bfb ldrb r3, [r7, #15] - 8005eca: 3301 adds r3, #1 - 8005ecc: 73fb strb r3, [r7, #15] - 8005ece: 7bfb ldrb r3, [r7, #15] - 8005ed0: 2b07 cmp r3, #7 - 8005ed2: d9db bls.n 8005e8c + 8005fc0: 7bfb ldrb r3, [r7, #15] + 8005fc2: 3301 adds r3, #1 + 8005fc4: 73fb strb r3, [r7, #15] + 8005fc6: 7bfb ldrb r3, [r7, #15] + 8005fc8: 2b07 cmp r3, #7 + 8005fca: d9db bls.n 8005f84 } } - 8005ed4: bf00 nop - 8005ed6: bf00 nop - 8005ed8: 3710 adds r7, #16 - 8005eda: 46bd mov sp, r7 - 8005edc: bd80 pop {r7, pc} - 8005ede: bf00 nop - 8005ee0: 40011c00 .word 0x40011c00 - 8005ee4: 40010c00 .word 0x40010c00 + 8005fcc: bf00 nop + 8005fce: bf00 nop + 8005fd0: 3710 adds r7, #16 + 8005fd2: 46bd mov sp, r7 + 8005fd4: bd80 pop {r7, pc} + 8005fd6: bf00 nop + 8005fd8: 40011c00 .word 0x40011c00 + 8005fdc: 40010c00 .word 0x40010c00 -08005ee8 : +08005fe0 : //SPI读数据 //从触摸屏IC读取adc值 //CMD:指令 //返回值:读到的数据 uint16_t TP_Read_AD(char CMD) { - 8005ee8: b580 push {r7, lr} - 8005eea: b084 sub sp, #16 - 8005eec: af00 add r7, sp, #0 - 8005eee: 4603 mov r3, r0 - 8005ef0: 71fb strb r3, [r7, #7] + 8005fe0: b580 push {r7, lr} + 8005fe2: b084 sub sp, #16 + 8005fe4: af00 add r7, sp, #0 + 8005fe6: 4603 mov r3, r0 + 8005fe8: 71fb strb r3, [r7, #7] uint16_t Num=0; - 8005ef2: 2300 movs r3, #0 - 8005ef4: 81fb strh r3, [r7, #14] + 8005fea: 2300 movs r3, #0 + 8005fec: 81fb strh r3, [r7, #14] TCLK(0); //先拉低时钟 - 8005ef6: 2200 movs r2, #0 - 8005ef8: 2102 movs r1, #2 - 8005efa: 482b ldr r0, [pc, #172] ; (8005fa8 ) - 8005efc: f7fc fa15 bl 800232a + 8005fee: 2200 movs r2, #0 + 8005ff0: 2102 movs r1, #2 + 8005ff2: 482b ldr r0, [pc, #172] ; (80060a0 ) + 8005ff4: f7fc f999 bl 800232a TDIN(0); //拉低数据线 - 8005f00: 2200 movs r2, #0 - 8005f02: f44f 7100 mov.w r1, #512 ; 0x200 - 8005f06: 4829 ldr r0, [pc, #164] ; (8005fac ) - 8005f08: f7fc fa0f bl 800232a + 8005ff8: 2200 movs r2, #0 + 8005ffa: f44f 7100 mov.w r1, #512 ; 0x200 + 8005ffe: 4829 ldr r0, [pc, #164] ; (80060a4 ) + 8006000: f7fc f993 bl 800232a TCS(0); //选中触摸屏IC - 8005f0c: 2200 movs r2, #0 - 8005f0e: 2104 movs r1, #4 - 8005f10: 4825 ldr r0, [pc, #148] ; (8005fa8 ) - 8005f12: f7fc fa0a bl 800232a + 8006004: 2200 movs r2, #0 + 8006006: 2104 movs r1, #4 + 8006008: 4825 ldr r0, [pc, #148] ; (80060a0 ) + 800600a: f7fc f98e bl 800232a TP_Write_Byte(CMD);//发送命令字 - 8005f16: 79fb ldrb r3, [r7, #7] - 8005f18: 4618 mov r0, r3 - 8005f1a: f7ff ffaf bl 8005e7c + 800600e: 79fb ldrb r3, [r7, #7] + 8006010: 4618 mov r0, r3 + 8006012: f7ff ffaf bl 8005f74 HAL_GetTick(); //稍微延时,ad转换需要时间 - 8005f1e: f7fb ff1d bl 8001d5c + 8006016: f7fb fea1 bl 8001d5c HAL_GetTick(); - 8005f22: f7fb ff1b bl 8001d5c + 800601a: f7fb fe9f bl 8001d5c HAL_GetTick(); - 8005f26: f7fb ff19 bl 8001d5c + 800601e: f7fb fe9d bl 8001d5c HAL_GetTick(); - 8005f2a: f7fb ff17 bl 8001d5c + 8006022: f7fb fe9b bl 8001d5c HAL_GetTick(); - 8005f2e: f7fb ff15 bl 8001d5c + 8006026: f7fb fe99 bl 8001d5c HAL_GetTick(); - 8005f32: f7fb ff13 bl 8001d5c + 800602a: f7fb fe97 bl 8001d5c TCLK(1); //给1个时钟,清除BUSY - 8005f36: 2201 movs r2, #1 - 8005f38: 2102 movs r1, #2 - 8005f3a: 481b ldr r0, [pc, #108] ; (8005fa8 ) - 8005f3c: f7fc f9f5 bl 800232a + 800602e: 2201 movs r2, #1 + 8006030: 2102 movs r1, #2 + 8006032: 481b ldr r0, [pc, #108] ; (80060a0 ) + 8006034: f7fc f979 bl 800232a TCLK(0); - 8005f40: 2200 movs r2, #0 - 8005f42: 2102 movs r1, #2 - 8005f44: 4818 ldr r0, [pc, #96] ; (8005fa8 ) - 8005f46: f7fc f9f0 bl 800232a + 8006038: 2200 movs r2, #0 + 800603a: 2102 movs r1, #2 + 800603c: 4818 ldr r0, [pc, #96] ; (80060a0 ) + 800603e: f7fc f974 bl 800232a for(uint8_t count=0;count<16;count++)//读出16位数据,只有高12位有效 - 8005f4a: 2300 movs r3, #0 - 8005f4c: 737b strb r3, [r7, #13] - 8005f4e: e01a b.n 8005f86 + 8006042: 2300 movs r3, #0 + 8006044: 737b strb r3, [r7, #13] + 8006046: e01a b.n 800607e { Num<<=1; - 8005f50: 89fb ldrh r3, [r7, #14] - 8005f52: 005b lsls r3, r3, #1 - 8005f54: 81fb strh r3, [r7, #14] + 8006048: 89fb ldrh r3, [r7, #14] + 800604a: 005b lsls r3, r3, #1 + 800604c: 81fb strh r3, [r7, #14] TCLK(0); //下降沿有效 - 8005f56: 2200 movs r2, #0 - 8005f58: 2102 movs r1, #2 - 8005f5a: 4813 ldr r0, [pc, #76] ; (8005fa8 ) - 8005f5c: f7fc f9e5 bl 800232a + 800604e: 2200 movs r2, #0 + 8006050: 2102 movs r1, #2 + 8006052: 4813 ldr r0, [pc, #76] ; (80060a0 ) + 8006054: f7fc f969 bl 800232a TCLK(1);; - 8005f60: 2201 movs r2, #1 - 8005f62: 2102 movs r1, #2 - 8005f64: 4810 ldr r0, [pc, #64] ; (8005fa8 ) - 8005f66: f7fc f9e0 bl 800232a + 8006058: 2201 movs r2, #1 + 800605a: 2102 movs r1, #2 + 800605c: 4810 ldr r0, [pc, #64] ; (80060a0 ) + 800605e: f7fc f964 bl 800232a if(TDOUT){Num++;} - 8005f6a: f44f 7180 mov.w r1, #256 ; 0x100 - 8005f6e: 480f ldr r0, [pc, #60] ; (8005fac ) - 8005f70: f7fc f9c4 bl 80022fc - 8005f74: 4603 mov r3, r0 - 8005f76: 2b00 cmp r3, #0 - 8005f78: d002 beq.n 8005f80 - 8005f7a: 89fb ldrh r3, [r7, #14] - 8005f7c: 3301 adds r3, #1 - 8005f7e: 81fb strh r3, [r7, #14] + 8006062: f44f 7180 mov.w r1, #256 ; 0x100 + 8006066: 480f ldr r0, [pc, #60] ; (80060a4 ) + 8006068: f7fc f948 bl 80022fc + 800606c: 4603 mov r3, r0 + 800606e: 2b00 cmp r3, #0 + 8006070: d002 beq.n 8006078 + 8006072: 89fb ldrh r3, [r7, #14] + 8006074: 3301 adds r3, #1 + 8006076: 81fb strh r3, [r7, #14] for(uint8_t count=0;count<16;count++)//读出16位数据,只有高12位有效 - 8005f80: 7b7b ldrb r3, [r7, #13] - 8005f82: 3301 adds r3, #1 - 8005f84: 737b strb r3, [r7, #13] - 8005f86: 7b7b ldrb r3, [r7, #13] - 8005f88: 2b0f cmp r3, #15 - 8005f8a: d9e1 bls.n 8005f50 + 8006078: 7b7b ldrb r3, [r7, #13] + 800607a: 3301 adds r3, #1 + 800607c: 737b strb r3, [r7, #13] + 800607e: 7b7b ldrb r3, [r7, #13] + 8006080: 2b0f cmp r3, #15 + 8006082: d9e1 bls.n 8006048 } Num>>=4; //只有高12位有效. - 8005f8c: 89fb ldrh r3, [r7, #14] - 8005f8e: 091b lsrs r3, r3, #4 - 8005f90: 81fb strh r3, [r7, #14] + 8006084: 89fb ldrh r3, [r7, #14] + 8006086: 091b lsrs r3, r3, #4 + 8006088: 81fb strh r3, [r7, #14] TCS(1); //释放片选 - 8005f92: 2201 movs r2, #1 - 8005f94: 2104 movs r1, #4 - 8005f96: 4804 ldr r0, [pc, #16] ; (8005fa8 ) - 8005f98: f7fc f9c7 bl 800232a + 800608a: 2201 movs r2, #1 + 800608c: 2104 movs r1, #4 + 800608e: 4804 ldr r0, [pc, #16] ; (80060a0 ) + 8006090: f7fc f94b bl 800232a return(Num); - 8005f9c: 89fb ldrh r3, [r7, #14] + 8006094: 89fb ldrh r3, [r7, #14] } - 8005f9e: 4618 mov r0, r3 - 8005fa0: 3710 adds r7, #16 - 8005fa2: 46bd mov sp, r7 - 8005fa4: bd80 pop {r7, pc} - 8005fa6: bf00 nop - 8005fa8: 40010c00 .word 0x40010c00 - 8005fac: 40011c00 .word 0x40011c00 + 8006096: 4618 mov r0, r3 + 8006098: 3710 adds r7, #16 + 800609a: 46bd mov sp, r7 + 800609c: bd80 pop {r7, pc} + 800609e: bf00 nop + 80060a0: 40010c00 .word 0x40010c00 + 80060a4: 40011c00 .word 0x40011c00 -08005fb0 : +080060a8 : //xy:指令(CMD_RDX/CMD_RDY) //返回值:读到的数据 #define READ_TIMES 5 //读取次数 #define LOST_VAL 1 //丢弃值 uint16_t TP_Read_XOY(uint8_t xy) { - 8005fb0: b590 push {r4, r7, lr} - 8005fb2: b089 sub sp, #36 ; 0x24 - 8005fb4: af00 add r7, sp, #0 - 8005fb6: 4603 mov r3, r0 - 8005fb8: 71fb strb r3, [r7, #7] + 80060a8: b590 push {r4, r7, lr} + 80060aa: b089 sub sp, #36 ; 0x24 + 80060ac: af00 add r7, sp, #0 + 80060ae: 4603 mov r3, r0 + 80060b0: 71fb strb r3, [r7, #7] uint16_t i, j; uint16_t buf[READ_TIMES]; uint16_t sum=0; - 8005fba: 2300 movs r3, #0 - 8005fbc: 837b strh r3, [r7, #26] + 80060b2: 2300 movs r3, #0 + 80060b4: 837b strh r3, [r7, #26] uint16_t temp; for(i=0;i - 8005fc4: 8bfc ldrh r4, [r7, #30] - 8005fc6: 79fb ldrb r3, [r7, #7] - 8005fc8: 4618 mov r0, r3 - 8005fca: f7ff ff8d bl 8005ee8 - 8005fce: 4603 mov r3, r0 - 8005fd0: 461a mov r2, r3 - 8005fd2: 0063 lsls r3, r4, #1 - 8005fd4: 3320 adds r3, #32 - 8005fd6: 443b add r3, r7 - 8005fd8: f823 2c14 strh.w r2, [r3, #-20] - 8005fdc: 8bfb ldrh r3, [r7, #30] - 8005fde: 3301 adds r3, #1 - 8005fe0: 83fb strh r3, [r7, #30] - 8005fe2: 8bfb ldrh r3, [r7, #30] - 8005fe4: 2b04 cmp r3, #4 - 8005fe6: d9ed bls.n 8005fc4 + 80060b6: 2300 movs r3, #0 + 80060b8: 83fb strh r3, [r7, #30] + 80060ba: e00e b.n 80060da + 80060bc: 8bfc ldrh r4, [r7, #30] + 80060be: 79fb ldrb r3, [r7, #7] + 80060c0: 4618 mov r0, r3 + 80060c2: f7ff ff8d bl 8005fe0 + 80060c6: 4603 mov r3, r0 + 80060c8: 461a mov r2, r3 + 80060ca: 0063 lsls r3, r4, #1 + 80060cc: 3320 adds r3, #32 + 80060ce: 443b add r3, r7 + 80060d0: f823 2c14 strh.w r2, [r3, #-20] + 80060d4: 8bfb ldrh r3, [r7, #30] + 80060d6: 3301 adds r3, #1 + 80060d8: 83fb strh r3, [r7, #30] + 80060da: 8bfb ldrh r3, [r7, #30] + 80060dc: 2b04 cmp r3, #4 + 80060de: d9ed bls.n 80060bc for(i=0;i + 80060e0: 2300 movs r3, #0 + 80060e2: 83fb strh r3, [r7, #30] + 80060e4: e035 b.n 8006152 { for(j=i+1;j + 80060e6: 8bfb ldrh r3, [r7, #30] + 80060e8: 3301 adds r3, #1 + 80060ea: 83bb strh r3, [r7, #28] + 80060ec: e02b b.n 8006146 { if(buf[i]>buf[j])//升序排列 - 8005ff6: 8bfb ldrh r3, [r7, #30] - 8005ff8: 005b lsls r3, r3, #1 - 8005ffa: 3320 adds r3, #32 - 8005ffc: 443b add r3, r7 - 8005ffe: f833 2c14 ldrh.w r2, [r3, #-20] - 8006002: 8bbb ldrh r3, [r7, #28] - 8006004: 005b lsls r3, r3, #1 - 8006006: 3320 adds r3, #32 - 8006008: 443b add r3, r7 - 800600a: f833 3c14 ldrh.w r3, [r3, #-20] - 800600e: 429a cmp r2, r3 - 8006010: d91a bls.n 8006048 + 80060ee: 8bfb ldrh r3, [r7, #30] + 80060f0: 005b lsls r3, r3, #1 + 80060f2: 3320 adds r3, #32 + 80060f4: 443b add r3, r7 + 80060f6: f833 2c14 ldrh.w r2, [r3, #-20] + 80060fa: 8bbb ldrh r3, [r7, #28] + 80060fc: 005b lsls r3, r3, #1 + 80060fe: 3320 adds r3, #32 + 8006100: 443b add r3, r7 + 8006102: f833 3c14 ldrh.w r3, [r3, #-20] + 8006106: 429a cmp r2, r3 + 8006108: d91a bls.n 8006140 { temp=buf[i]; - 8006012: 8bfb ldrh r3, [r7, #30] - 8006014: 005b lsls r3, r3, #1 - 8006016: 3320 adds r3, #32 - 8006018: 443b add r3, r7 - 800601a: f833 3c14 ldrh.w r3, [r3, #-20] - 800601e: 833b strh r3, [r7, #24] + 800610a: 8bfb ldrh r3, [r7, #30] + 800610c: 005b lsls r3, r3, #1 + 800610e: 3320 adds r3, #32 + 8006110: 443b add r3, r7 + 8006112: f833 3c14 ldrh.w r3, [r3, #-20] + 8006116: 833b strh r3, [r7, #24] buf[i]=buf[j]; - 8006020: 8bbb ldrh r3, [r7, #28] - 8006022: 8bfa ldrh r2, [r7, #30] - 8006024: 005b lsls r3, r3, #1 - 8006026: 3320 adds r3, #32 - 8006028: 443b add r3, r7 - 800602a: f833 1c14 ldrh.w r1, [r3, #-20] - 800602e: 0053 lsls r3, r2, #1 - 8006030: 3320 adds r3, #32 - 8006032: 443b add r3, r7 - 8006034: 460a mov r2, r1 - 8006036: f823 2c14 strh.w r2, [r3, #-20] + 8006118: 8bbb ldrh r3, [r7, #28] + 800611a: 8bfa ldrh r2, [r7, #30] + 800611c: 005b lsls r3, r3, #1 + 800611e: 3320 adds r3, #32 + 8006120: 443b add r3, r7 + 8006122: f833 1c14 ldrh.w r1, [r3, #-20] + 8006126: 0053 lsls r3, r2, #1 + 8006128: 3320 adds r3, #32 + 800612a: 443b add r3, r7 + 800612c: 460a mov r2, r1 + 800612e: f823 2c14 strh.w r2, [r3, #-20] buf[j]=temp; - 800603a: 8bbb ldrh r3, [r7, #28] - 800603c: 005b lsls r3, r3, #1 - 800603e: 3320 adds r3, #32 - 8006040: 443b add r3, r7 - 8006042: 8b3a ldrh r2, [r7, #24] - 8006044: f823 2c14 strh.w r2, [r3, #-20] + 8006132: 8bbb ldrh r3, [r7, #28] + 8006134: 005b lsls r3, r3, #1 + 8006136: 3320 adds r3, #32 + 8006138: 443b add r3, r7 + 800613a: 8b3a ldrh r2, [r7, #24] + 800613c: f823 2c14 strh.w r2, [r3, #-20] for(j=i+1;j + 8006140: 8bbb ldrh r3, [r7, #28] + 8006142: 3301 adds r3, #1 + 8006144: 83bb strh r3, [r7, #28] + 8006146: 8bbb ldrh r3, [r7, #28] + 8006148: 2b04 cmp r3, #4 + 800614a: d9d0 bls.n 80060ee for(i=0;i + 800614c: 8bfb ldrh r3, [r7, #30] + 800614e: 3301 adds r3, #1 + 8006150: 83fb strh r3, [r7, #30] + 8006152: 8bfb ldrh r3, [r7, #30] + 8006154: 2b03 cmp r3, #3 + 8006156: d9c6 bls.n 80060e6 } } } sum=0; - 8006060: 2300 movs r3, #0 - 8006062: 837b strh r3, [r7, #26] + 8006158: 2300 movs r3, #0 + 800615a: 837b strh r3, [r7, #26] for(i=LOST_VAL;i - 800606a: 8bfb ldrh r3, [r7, #30] - 800606c: 005b lsls r3, r3, #1 - 800606e: 3320 adds r3, #32 - 8006070: 443b add r3, r7 - 8006072: f833 2c14 ldrh.w r2, [r3, #-20] - 8006076: 8b7b ldrh r3, [r7, #26] - 8006078: 4413 add r3, r2 - 800607a: 837b strh r3, [r7, #26] - 800607c: 8bfb ldrh r3, [r7, #30] - 800607e: 3301 adds r3, #1 - 8006080: 83fb strh r3, [r7, #30] - 8006082: 8bfb ldrh r3, [r7, #30] - 8006084: 2b03 cmp r3, #3 - 8006086: d9f0 bls.n 800606a + 800615c: 2301 movs r3, #1 + 800615e: 83fb strh r3, [r7, #30] + 8006160: e00b b.n 800617a + 8006162: 8bfb ldrh r3, [r7, #30] + 8006164: 005b lsls r3, r3, #1 + 8006166: 3320 adds r3, #32 + 8006168: 443b add r3, r7 + 800616a: f833 2c14 ldrh.w r2, [r3, #-20] + 800616e: 8b7b ldrh r3, [r7, #26] + 8006170: 4413 add r3, r2 + 8006172: 837b strh r3, [r7, #26] + 8006174: 8bfb ldrh r3, [r7, #30] + 8006176: 3301 adds r3, #1 + 8006178: 83fb strh r3, [r7, #30] + 800617a: 8bfb ldrh r3, [r7, #30] + 800617c: 2b03 cmp r3, #3 + 800617e: d9f0 bls.n 8006162 temp=sum/(READ_TIMES-2*LOST_VAL); - 8006088: 8b7b ldrh r3, [r7, #26] - 800608a: 4a05 ldr r2, [pc, #20] ; (80060a0 ) - 800608c: fba2 2303 umull r2, r3, r2, r3 - 8006090: 085b lsrs r3, r3, #1 - 8006092: 833b strh r3, [r7, #24] + 8006180: 8b7b ldrh r3, [r7, #26] + 8006182: 4a05 ldr r2, [pc, #20] ; (8006198 ) + 8006184: fba2 2303 umull r2, r3, r2, r3 + 8006188: 085b lsrs r3, r3, #1 + 800618a: 833b strh r3, [r7, #24] return temp; - 8006094: 8b3b ldrh r3, [r7, #24] + 800618c: 8b3b ldrh r3, [r7, #24] } - 8006096: 4618 mov r0, r3 - 8006098: 3724 adds r7, #36 ; 0x24 - 800609a: 46bd mov sp, r7 - 800609c: bd90 pop {r4, r7, pc} - 800609e: bf00 nop - 80060a0: aaaaaaab .word 0xaaaaaaab + 800618e: 4618 mov r0, r3 + 8006190: 3724 adds r7, #36 ; 0x24 + 8006192: 46bd mov sp, r7 + 8006194: bd90 pop {r4, r7, pc} + 8006196: bf00 nop + 8006198: aaaaaaab .word 0xaaaaaaab -080060a4 : +0800619c : //读取x,y坐标 //x,y:读取到的坐标ADC值 void TP_Read_XY_ADC(int16_t *x,int16_t *y) { - 80060a4: b580 push {r7, lr} - 80060a6: b084 sub sp, #16 - 80060a8: af00 add r7, sp, #0 - 80060aa: 6078 str r0, [r7, #4] - 80060ac: 6039 str r1, [r7, #0] + 800619c: b580 push {r7, lr} + 800619e: b084 sub sp, #16 + 80061a0: af00 add r7, sp, #0 + 80061a2: 6078 str r0, [r7, #4] + 80061a4: 6039 str r1, [r7, #0] int16_t xtemp,ytemp; xtemp=TP_Read_XOY(CMD_RDX); - 80060ae: 2090 movs r0, #144 ; 0x90 - 80060b0: f7ff ff7e bl 8005fb0 - 80060b4: 4603 mov r3, r0 - 80060b6: 81fb strh r3, [r7, #14] + 80061a6: 2090 movs r0, #144 ; 0x90 + 80061a8: f7ff ff7e bl 80060a8 + 80061ac: 4603 mov r3, r0 + 80061ae: 81fb strh r3, [r7, #14] ytemp=TP_Read_XOY(CMD_RDY); - 80060b8: 20d0 movs r0, #208 ; 0xd0 - 80060ba: f7ff ff79 bl 8005fb0 - 80060be: 4603 mov r3, r0 - 80060c0: 81bb strh r3, [r7, #12] + 80061b0: 20d0 movs r0, #208 ; 0xd0 + 80061b2: f7ff ff79 bl 80060a8 + 80061b6: 4603 mov r3, r0 + 80061b8: 81bb strh r3, [r7, #12] *x=xtemp; - 80060c2: 687b ldr r3, [r7, #4] - 80060c4: 89fa ldrh r2, [r7, #14] - 80060c6: 801a strh r2, [r3, #0] + 80061ba: 687b ldr r3, [r7, #4] + 80061bc: 89fa ldrh r2, [r7, #14] + 80061be: 801a strh r2, [r3, #0] *y=ytemp; - 80060c8: 683b ldr r3, [r7, #0] - 80060ca: 89ba ldrh r2, [r7, #12] - 80060cc: 801a strh r2, [r3, #0] + 80061c0: 683b ldr r3, [r7, #0] + 80061c2: 89ba ldrh r2, [r7, #12] + 80061c4: 801a strh r2, [r3, #0] } - 80060ce: bf00 nop - 80060d0: 3710 adds r7, #16 - 80060d2: 46bd mov sp, r7 - 80060d4: bd80 pop {r7, pc} + 80061c6: bf00 nop + 80061c8: 3710 adds r7, #16 + 80061ca: 46bd mov sp, r7 + 80061cc: bd80 pop {r7, pc} -080060d6 : +080061ce : //该函数能大大提高准确度 //x,y:读取到的坐标值 //返回值:0,失败;1,成功。 #define ERR_RANGE 10 //误差范围 uint8_t TP_Read_XY2(int16_t *x,int16_t *y) { - 80060d6: b580 push {r7, lr} - 80060d8: b084 sub sp, #16 - 80060da: af00 add r7, sp, #0 - 80060dc: 6078 str r0, [r7, #4] - 80060de: 6039 str r1, [r7, #0] + 80061ce: b580 push {r7, lr} + 80061d0: b084 sub sp, #16 + 80061d2: af00 add r7, sp, #0 + 80061d4: 6078 str r0, [r7, #4] + 80061d6: 6039 str r1, [r7, #0] int16_t x1,y1; int16_t x2,y2; TP_Read_XY_ADC(&x1,&y1); - 80060e0: f107 020c add.w r2, r7, #12 - 80060e4: f107 030e add.w r3, r7, #14 - 80060e8: 4611 mov r1, r2 - 80060ea: 4618 mov r0, r3 - 80060ec: f7ff ffda bl 80060a4 + 80061d8: f107 020c add.w r2, r7, #12 + 80061dc: f107 030e add.w r3, r7, #14 + 80061e0: 4611 mov r1, r2 + 80061e2: 4618 mov r0, r3 + 80061e4: f7ff ffda bl 800619c TP_Read_XY_ADC(&x2,&y2); - 80060f0: f107 0208 add.w r2, r7, #8 - 80060f4: f107 030a add.w r3, r7, #10 - 80060f8: 4611 mov r1, r2 - 80060fa: 4618 mov r0, r3 - 80060fc: f7ff ffd2 bl 80060a4 + 80061e8: f107 0208 add.w r2, r7, #8 + 80061ec: f107 030a add.w r3, r7, #10 + 80061f0: 4611 mov r1, r2 + 80061f2: 4618 mov r0, r3 + 80061f4: f7ff ffd2 bl 800619c if(((x2<=x1&&x1 - 800610c: f9b7 300a ldrsh.w r3, [r7, #10] - 8006110: 3309 adds r3, #9 - 8006112: f9b7 200e ldrsh.w r2, [r7, #14] - 8006116: 4293 cmp r3, r2 - 8006118: da0c bge.n 8006134 - 800611a: f9b7 200e ldrsh.w r2, [r7, #14] - 800611e: f9b7 300a ldrsh.w r3, [r7, #10] - 8006122: 429a cmp r2, r3 - 8006124: dc3a bgt.n 800619c - 8006126: f9b7 300e ldrsh.w r3, [r7, #14] - 800612a: 3309 adds r3, #9 - 800612c: f9b7 200a ldrsh.w r2, [r7, #10] - 8006130: 4293 cmp r3, r2 - 8006132: db33 blt.n 800619c + 80061f8: f9b7 200a ldrsh.w r2, [r7, #10] + 80061fc: f9b7 300e ldrsh.w r3, [r7, #14] + 8006200: 429a cmp r2, r3 + 8006202: dc06 bgt.n 8006212 + 8006204: f9b7 300a ldrsh.w r3, [r7, #10] + 8006208: 3309 adds r3, #9 + 800620a: f9b7 200e ldrsh.w r2, [r7, #14] + 800620e: 4293 cmp r3, r2 + 8006210: da0c bge.n 800622c + 8006212: f9b7 200e ldrsh.w r2, [r7, #14] + 8006216: f9b7 300a ldrsh.w r3, [r7, #10] + 800621a: 429a cmp r2, r3 + 800621c: dc3a bgt.n 8006294 + 800621e: f9b7 300e ldrsh.w r3, [r7, #14] + 8006222: 3309 adds r3, #9 + 8006224: f9b7 200a ldrsh.w r2, [r7, #10] + 8006228: 4293 cmp r3, r2 + 800622a: db33 blt.n 8006294 &&((y2<=y1&&y1 - 8006140: f9b7 3008 ldrsh.w r3, [r7, #8] - 8006144: 3309 adds r3, #9 - 8006146: f9b7 200c ldrsh.w r2, [r7, #12] - 800614a: 4293 cmp r3, r2 - 800614c: da0c bge.n 8006168 - 800614e: f9b7 200c ldrsh.w r2, [r7, #12] - 8006152: f9b7 3008 ldrsh.w r3, [r7, #8] - 8006156: 429a cmp r2, r3 - 8006158: dc20 bgt.n 800619c - 800615a: f9b7 300c ldrsh.w r3, [r7, #12] - 800615e: 3309 adds r3, #9 - 8006160: f9b7 2008 ldrsh.w r2, [r7, #8] - 8006164: 4293 cmp r3, r2 - 8006166: db19 blt.n 800619c + 800622c: f9b7 2008 ldrsh.w r2, [r7, #8] + 8006230: f9b7 300c ldrsh.w r3, [r7, #12] + 8006234: 429a cmp r2, r3 + 8006236: dc06 bgt.n 8006246 + 8006238: f9b7 3008 ldrsh.w r3, [r7, #8] + 800623c: 3309 adds r3, #9 + 800623e: f9b7 200c ldrsh.w r2, [r7, #12] + 8006242: 4293 cmp r3, r2 + 8006244: da0c bge.n 8006260 + 8006246: f9b7 200c ldrsh.w r2, [r7, #12] + 800624a: f9b7 3008 ldrsh.w r3, [r7, #8] + 800624e: 429a cmp r2, r3 + 8006250: dc20 bgt.n 8006294 + 8006252: f9b7 300c ldrsh.w r3, [r7, #12] + 8006256: 3309 adds r3, #9 + 8006258: f9b7 2008 ldrsh.w r2, [r7, #8] + 800625c: 4293 cmp r3, r2 + 800625e: db19 blt.n 8006294 { *x=(x1+x2)/2; - 8006168: f9b7 300e ldrsh.w r3, [r7, #14] - 800616c: 461a mov r2, r3 - 800616e: f9b7 300a ldrsh.w r3, [r7, #10] - 8006172: 4413 add r3, r2 - 8006174: 0fda lsrs r2, r3, #31 - 8006176: 4413 add r3, r2 - 8006178: 105b asrs r3, r3, #1 - 800617a: b21a sxth r2, r3 - 800617c: 687b ldr r3, [r7, #4] - 800617e: 801a strh r2, [r3, #0] + 8006260: f9b7 300e ldrsh.w r3, [r7, #14] + 8006264: 461a mov r2, r3 + 8006266: f9b7 300a ldrsh.w r3, [r7, #10] + 800626a: 4413 add r3, r2 + 800626c: 0fda lsrs r2, r3, #31 + 800626e: 4413 add r3, r2 + 8006270: 105b asrs r3, r3, #1 + 8006272: b21a sxth r2, r3 + 8006274: 687b ldr r3, [r7, #4] + 8006276: 801a strh r2, [r3, #0] *y=(y1+y2)/2; - 8006180: f9b7 300c ldrsh.w r3, [r7, #12] - 8006184: 461a mov r2, r3 - 8006186: f9b7 3008 ldrsh.w r3, [r7, #8] - 800618a: 4413 add r3, r2 - 800618c: 0fda lsrs r2, r3, #31 - 800618e: 4413 add r3, r2 - 8006190: 105b asrs r3, r3, #1 - 8006192: b21a sxth r2, r3 - 8006194: 683b ldr r3, [r7, #0] - 8006196: 801a strh r2, [r3, #0] + 8006278: f9b7 300c ldrsh.w r3, [r7, #12] + 800627c: 461a mov r2, r3 + 800627e: f9b7 3008 ldrsh.w r3, [r7, #8] + 8006282: 4413 add r3, r2 + 8006284: 0fda lsrs r2, r3, #31 + 8006286: 4413 add r3, r2 + 8006288: 105b asrs r3, r3, #1 + 800628a: b21a sxth r2, r3 + 800628c: 683b ldr r3, [r7, #0] + 800628e: 801a strh r2, [r3, #0] return 1; - 8006198: 2301 movs r3, #1 - 800619a: e000 b.n 800619e + 8006290: 2301 movs r3, #1 + 8006292: e000 b.n 8006296 }else return 0; - 800619c: 2300 movs r3, #0 + 8006294: 2300 movs r3, #0 } - 800619e: 4618 mov r0, r3 - 80061a0: 3710 adds r7, #16 - 80061a2: 46bd mov sp, r7 - 80061a4: bd80 pop {r7, pc} + 8006296: 4618 mov r0, r3 + 8006298: 3710 adds r7, #16 + 800629a: 46bd mov sp, r7 + 800629c: bd80 pop {r7, pc} ... -080061a8 : +080062a0 : touch_device t0;// t0 yyds~ touch_config tconfig; //触摸更新服务,状态机写法,循环获取坐标 void TP_Server() { - 80061a8: b598 push {r3, r4, r7, lr} - 80061aa: af00 add r7, sp, #0 + 80062a0: b598 push {r3, r4, r7, lr} + 80062a2: af00 add r7, sp, #0 if(TPEN==0) //如果有触摸 - 80061ac: f44f 6180 mov.w r1, #1024 ; 0x400 - 80061b0: 4835 ldr r0, [pc, #212] ; (8006288 ) - 80061b2: f7fc f8a3 bl 80022fc - 80061b6: 4603 mov r3, r0 - 80061b8: 2b00 cmp r3, #0 - 80061ba: d155 bne.n 8006268 + 80062a4: f44f 6180 mov.w r1, #1024 ; 0x400 + 80062a8: 4835 ldr r0, [pc, #212] ; (8006380 ) + 80062aa: f7fc f827 bl 80022fc + 80062ae: 4603 mov r3, r0 + 80062b0: 2b00 cmp r3, #0 + 80062b2: d155 bne.n 8006360 { if(TP_Read_XY2(&t0.adc_x,&t0.adc_y)) - 80061bc: 4933 ldr r1, [pc, #204] ; (800628c ) - 80061be: 4834 ldr r0, [pc, #208] ; (8006290 ) - 80061c0: f7ff ff89 bl 80060d6 - 80061c4: 4603 mov r3, r0 - 80061c6: 2b00 cmp r3, #0 - 80061c8: d043 beq.n 8006252 + 80062b4: 4933 ldr r1, [pc, #204] ; (8006384 ) + 80062b6: 4834 ldr r0, [pc, #208] ; (8006388 ) + 80062b8: f7ff ff89 bl 80061ce + 80062bc: 4603 mov r3, r0 + 80062be: 2b00 cmp r3, #0 + 80062c0: d043 beq.n 800634a {//先读取ad值 t0.pix_x=(t0.adc_x/tconfig.x_acc)-tconfig.x_offset;//转换为像素坐标 - 80061ca: 4b31 ldr r3, [pc, #196] ; (8006290 ) - 80061cc: 881b ldrh r3, [r3, #0] - 80061ce: 4618 mov r0, r3 - 80061d0: f7fa fdd0 bl 8000d74 <__aeabi_i2f> - 80061d4: 4602 mov r2, r0 - 80061d6: 4b2f ldr r3, [pc, #188] ; (8006294 ) - 80061d8: 685b ldr r3, [r3, #4] - 80061da: 4619 mov r1, r3 - 80061dc: 4610 mov r0, r2 - 80061de: f7fa fed1 bl 8000f84 <__aeabi_fdiv> - 80061e2: 4603 mov r3, r0 - 80061e4: 461c mov r4, r3 - 80061e6: 4b2b ldr r3, [pc, #172] ; (8006294 ) - 80061e8: 68db ldr r3, [r3, #12] - 80061ea: 4618 mov r0, r3 - 80061ec: f7fa fdc2 bl 8000d74 <__aeabi_i2f> - 80061f0: 4603 mov r3, r0 - 80061f2: 4619 mov r1, r3 - 80061f4: 4620 mov r0, r4 - 80061f6: f7fa fd07 bl 8000c08 <__aeabi_fsub> - 80061fa: 4603 mov r3, r0 - 80061fc: 4618 mov r0, r3 - 80061fe: f7fa ff5d bl 80010bc <__aeabi_f2iz> - 8006202: 4603 mov r3, r0 - 8006204: 4a22 ldr r2, [pc, #136] ; (8006290 ) - 8006206: 6053 str r3, [r2, #4] + 80062c2: 4b31 ldr r3, [pc, #196] ; (8006388 ) + 80062c4: 881b ldrh r3, [r3, #0] + 80062c6: 4618 mov r0, r3 + 80062c8: f7fa fd54 bl 8000d74 <__aeabi_i2f> + 80062cc: 4602 mov r2, r0 + 80062ce: 4b2f ldr r3, [pc, #188] ; (800638c ) + 80062d0: 685b ldr r3, [r3, #4] + 80062d2: 4619 mov r1, r3 + 80062d4: 4610 mov r0, r2 + 80062d6: f7fa fe55 bl 8000f84 <__aeabi_fdiv> + 80062da: 4603 mov r3, r0 + 80062dc: 461c mov r4, r3 + 80062de: 4b2b ldr r3, [pc, #172] ; (800638c ) + 80062e0: 68db ldr r3, [r3, #12] + 80062e2: 4618 mov r0, r3 + 80062e4: f7fa fd46 bl 8000d74 <__aeabi_i2f> + 80062e8: 4603 mov r3, r0 + 80062ea: 4619 mov r1, r3 + 80062ec: 4620 mov r0, r4 + 80062ee: f7fa fc8b bl 8000c08 <__aeabi_fsub> + 80062f2: 4603 mov r3, r0 + 80062f4: 4618 mov r0, r3 + 80062f6: f7fa fee1 bl 80010bc <__aeabi_f2iz> + 80062fa: 4603 mov r3, r0 + 80062fc: 4a22 ldr r2, [pc, #136] ; (8006388 ) + 80062fe: 6053 str r3, [r2, #4] t0.pix_y=(t0.adc_y/tconfig.y_acc)-tconfig.y_offset; - 8006208: 4b21 ldr r3, [pc, #132] ; (8006290 ) - 800620a: 885b ldrh r3, [r3, #2] - 800620c: 4618 mov r0, r3 - 800620e: f7fa fdb1 bl 8000d74 <__aeabi_i2f> - 8006212: 4602 mov r2, r0 - 8006214: 4b1f ldr r3, [pc, #124] ; (8006294 ) - 8006216: 689b ldr r3, [r3, #8] - 8006218: 4619 mov r1, r3 - 800621a: 4610 mov r0, r2 - 800621c: f7fa feb2 bl 8000f84 <__aeabi_fdiv> - 8006220: 4603 mov r3, r0 - 8006222: 461c mov r4, r3 - 8006224: 4b1b ldr r3, [pc, #108] ; (8006294 ) - 8006226: 691b ldr r3, [r3, #16] - 8006228: 4618 mov r0, r3 - 800622a: f7fa fda3 bl 8000d74 <__aeabi_i2f> - 800622e: 4603 mov r3, r0 - 8006230: 4619 mov r1, r3 - 8006232: 4620 mov r0, r4 - 8006234: f7fa fce8 bl 8000c08 <__aeabi_fsub> - 8006238: 4603 mov r3, r0 - 800623a: 4618 mov r0, r3 - 800623c: f7fa ff3e bl 80010bc <__aeabi_f2iz> - 8006240: 4603 mov r3, r0 - 8006242: 4a13 ldr r2, [pc, #76] ; (8006290 ) - 8006244: 6093 str r3, [r2, #8] + 8006300: 4b21 ldr r3, [pc, #132] ; (8006388 ) + 8006302: 885b ldrh r3, [r3, #2] + 8006304: 4618 mov r0, r3 + 8006306: f7fa fd35 bl 8000d74 <__aeabi_i2f> + 800630a: 4602 mov r2, r0 + 800630c: 4b1f ldr r3, [pc, #124] ; (800638c ) + 800630e: 689b ldr r3, [r3, #8] + 8006310: 4619 mov r1, r3 + 8006312: 4610 mov r0, r2 + 8006314: f7fa fe36 bl 8000f84 <__aeabi_fdiv> + 8006318: 4603 mov r3, r0 + 800631a: 461c mov r4, r3 + 800631c: 4b1b ldr r3, [pc, #108] ; (800638c ) + 800631e: 691b ldr r3, [r3, #16] + 8006320: 4618 mov r0, r3 + 8006322: f7fa fd27 bl 8000d74 <__aeabi_i2f> + 8006326: 4603 mov r3, r0 + 8006328: 4619 mov r1, r3 + 800632a: 4620 mov r0, r4 + 800632c: f7fa fc6c bl 8000c08 <__aeabi_fsub> + 8006330: 4603 mov r3, r0 + 8006332: 4618 mov r0, r3 + 8006334: f7fa fec2 bl 80010bc <__aeabi_f2iz> + 8006338: 4603 mov r3, r0 + 800633a: 4a13 ldr r2, [pc, #76] ; (8006388 ) + 800633c: 6093 str r3, [r2, #8] t0.d=1; - 8006246: 4a12 ldr r2, [pc, #72] ; (8006290 ) - 8006248: 7b13 ldrb r3, [r2, #12] - 800624a: f043 0304 orr.w r3, r3, #4 - 800624e: 7313 strb r3, [r2, #12] - 8006250: e004 b.n 800625c + 800633e: 4a12 ldr r2, [pc, #72] ; (8006388 ) + 8006340: 7b13 ldrb r3, [r2, #12] + 8006342: f043 0304 orr.w r3, r3, #4 + 8006346: 7313 strb r3, [r2, #12] + 8006348: e004 b.n 8006354 }else { t0.d=0; - 8006252: 4a0f ldr r2, [pc, #60] ; (8006290 ) - 8006254: 7b13 ldrb r3, [r2, #12] - 8006256: f36f 0382 bfc r3, #2, #1 - 800625a: 7313 strb r3, [r2, #12] + 800634a: 4a0f ldr r2, [pc, #60] ; (8006388 ) + 800634c: 7b13 ldrb r3, [r2, #12] + 800634e: f36f 0382 bfc r3, #2, #1 + 8006352: 7313 strb r3, [r2, #12] } t0.c=1; - 800625c: 4a0c ldr r2, [pc, #48] ; (8006290 ) - 800625e: 7b13 ldrb r3, [r2, #12] - 8006260: f043 0302 orr.w r3, r3, #2 - 8006264: 7313 strb r3, [r2, #12] + 8006354: 4a0c ldr r2, [pc, #48] ; (8006388 ) + 8006356: 7b13 ldrb r3, [r2, #12] + 8006358: f043 0302 orr.w r3, r3, #2 + 800635c: 7313 strb r3, [r2, #12] { t0.c=0; t0.pix_x=-1; t0.pix_y=-1; } } - 8006266: e00c b.n 8006282 + 800635e: e00c b.n 800637a t0.c=0; - 8006268: 4a09 ldr r2, [pc, #36] ; (8006290 ) - 800626a: 7b13 ldrb r3, [r2, #12] - 800626c: f36f 0341 bfc r3, #1, #1 - 8006270: 7313 strb r3, [r2, #12] + 8006360: 4a09 ldr r2, [pc, #36] ; (8006388 ) + 8006362: 7b13 ldrb r3, [r2, #12] + 8006364: f36f 0341 bfc r3, #1, #1 + 8006368: 7313 strb r3, [r2, #12] t0.pix_x=-1; - 8006272: 4b07 ldr r3, [pc, #28] ; (8006290 ) - 8006274: f04f 32ff mov.w r2, #4294967295 - 8006278: 605a str r2, [r3, #4] + 800636a: 4b07 ldr r3, [pc, #28] ; (8006388 ) + 800636c: f04f 32ff mov.w r2, #4294967295 + 8006370: 605a str r2, [r3, #4] t0.pix_y=-1; - 800627a: 4b05 ldr r3, [pc, #20] ; (8006290 ) - 800627c: f04f 32ff mov.w r2, #4294967295 - 8006280: 609a str r2, [r3, #8] + 8006372: 4b05 ldr r3, [pc, #20] ; (8006388 ) + 8006374: f04f 32ff mov.w r2, #4294967295 + 8006378: 609a str r2, [r3, #8] } - 8006282: bf00 nop - 8006284: bd98 pop {r3, r4, r7, pc} - 8006286: bf00 nop - 8006288: 40011c00 .word 0x40011c00 - 800628c: 200003de .word 0x200003de - 8006290: 200003dc .word 0x200003dc - 8006294: 200003ec .word 0x200003ec + 800637a: bf00 nop + 800637c: bd98 pop {r3, r4, r7, pc} + 800637e: bf00 nop + 8006380: 40011c00 .word 0x40011c00 + 8006384: 200003de .word 0x200003de + 8006388: 200003dc .word 0x200003dc + 800638c: 200003ec .word 0x200003ec -08006298 : +08006390 : return 0; } //校准用,画一个目标坐标 //r=坐标半径,显示特效用 void TP_DrwaTrage(int x,int y,int r) { - 8006298: b590 push {r4, r7, lr} - 800629a: b087 sub sp, #28 - 800629c: af02 add r7, sp, #8 - 800629e: 60f8 str r0, [r7, #12] - 80062a0: 60b9 str r1, [r7, #8] - 80062a2: 607a str r2, [r7, #4] + 8006390: b590 push {r4, r7, lr} + 8006392: b087 sub sp, #28 + 8006394: af02 add r7, sp, #8 + 8006396: 60f8 str r0, [r7, #12] + 8006398: 60b9 str r1, [r7, #8] + 800639a: 607a str r2, [r7, #4] Draw_Circle(x,y,r+1,GRAY); - 80062a4: 68fb ldr r3, [r7, #12] - 80062a6: b298 uxth r0, r3 - 80062a8: 68bb ldr r3, [r7, #8] - 80062aa: b299 uxth r1, r3 - 80062ac: 687b ldr r3, [r7, #4] - 80062ae: b29b uxth r3, r3 - 80062b0: 3301 adds r3, #1 - 80062b2: b29a uxth r2, r3 - 80062b4: f248 4330 movw r3, #33840 ; 0x8430 - 80062b8: f7ff fa91 bl 80057de + 800639c: 68fb ldr r3, [r7, #12] + 800639e: b298 uxth r0, r3 + 80063a0: 68bb ldr r3, [r7, #8] + 80063a2: b299 uxth r1, r3 + 80063a4: 687b ldr r3, [r7, #4] + 80063a6: b29b uxth r3, r3 + 80063a8: 3301 adds r3, #1 + 80063aa: b29a uxth r2, r3 + 80063ac: f248 4330 movw r3, #33840 ; 0x8430 + 80063b0: f7ff fa91 bl 80058d6 Draw_Circle(x,y,r,RED); - 80062bc: 68fb ldr r3, [r7, #12] - 80062be: b298 uxth r0, r3 - 80062c0: 68bb ldr r3, [r7, #8] - 80062c2: b299 uxth r1, r3 - 80062c4: 687b ldr r3, [r7, #4] - 80062c6: b29a uxth r2, r3 - 80062c8: f44f 4378 mov.w r3, #63488 ; 0xf800 - 80062cc: f7ff fa87 bl 80057de + 80063b4: 68fb ldr r3, [r7, #12] + 80063b6: b298 uxth r0, r3 + 80063b8: 68bb ldr r3, [r7, #8] + 80063ba: b299 uxth r1, r3 + 80063bc: 687b ldr r3, [r7, #4] + 80063be: b29a uxth r2, r3 + 80063c0: f44f 4378 mov.w r3, #63488 ; 0xf800 + 80063c4: f7ff fa87 bl 80058d6 LCD_DrawLine(x,y,x+10,y,RED); - 80062d0: 68fb ldr r3, [r7, #12] - 80062d2: b298 uxth r0, r3 - 80062d4: 68bb ldr r3, [r7, #8] - 80062d6: b299 uxth r1, r3 - 80062d8: 68fb ldr r3, [r7, #12] - 80062da: b29b uxth r3, r3 - 80062dc: 330a adds r3, #10 - 80062de: b29a uxth r2, r3 - 80062e0: 68bb ldr r3, [r7, #8] - 80062e2: b29b uxth r3, r3 - 80062e4: f44f 4478 mov.w r4, #63488 ; 0xf800 - 80062e8: 9400 str r4, [sp, #0] - 80062ea: f7ff f9f3 bl 80056d4 + 80063c8: 68fb ldr r3, [r7, #12] + 80063ca: b298 uxth r0, r3 + 80063cc: 68bb ldr r3, [r7, #8] + 80063ce: b299 uxth r1, r3 + 80063d0: 68fb ldr r3, [r7, #12] + 80063d2: b29b uxth r3, r3 + 80063d4: 330a adds r3, #10 + 80063d6: b29a uxth r2, r3 + 80063d8: 68bb ldr r3, [r7, #8] + 80063da: b29b uxth r3, r3 + 80063dc: f44f 4478 mov.w r4, #63488 ; 0xf800 + 80063e0: 9400 str r4, [sp, #0] + 80063e2: f7ff f9f3 bl 80057cc LCD_DrawLine(x,y,x,y+10,RED); - 80062ee: 68fb ldr r3, [r7, #12] - 80062f0: b298 uxth r0, r3 - 80062f2: 68bb ldr r3, [r7, #8] - 80062f4: b299 uxth r1, r3 - 80062f6: 68fb ldr r3, [r7, #12] - 80062f8: b29a uxth r2, r3 - 80062fa: 68bb ldr r3, [r7, #8] - 80062fc: b29b uxth r3, r3 - 80062fe: 330a adds r3, #10 - 8006300: b29b uxth r3, r3 - 8006302: f44f 4478 mov.w r4, #63488 ; 0xf800 - 8006306: 9400 str r4, [sp, #0] - 8006308: f7ff f9e4 bl 80056d4 + 80063e6: 68fb ldr r3, [r7, #12] + 80063e8: b298 uxth r0, r3 + 80063ea: 68bb ldr r3, [r7, #8] + 80063ec: b299 uxth r1, r3 + 80063ee: 68fb ldr r3, [r7, #12] + 80063f0: b29a uxth r2, r3 + 80063f2: 68bb ldr r3, [r7, #8] + 80063f4: b29b uxth r3, r3 + 80063f6: 330a adds r3, #10 + 80063f8: b29b uxth r3, r3 + 80063fa: f44f 4478 mov.w r4, #63488 ; 0xf800 + 80063fe: 9400 str r4, [sp, #0] + 8006400: f7ff f9e4 bl 80057cc LCD_DrawLine(x,y,x-10,y,RED); - 800630c: 68fb ldr r3, [r7, #12] - 800630e: b298 uxth r0, r3 - 8006310: 68bb ldr r3, [r7, #8] - 8006312: b299 uxth r1, r3 - 8006314: 68fb ldr r3, [r7, #12] - 8006316: b29b uxth r3, r3 - 8006318: 3b0a subs r3, #10 - 800631a: b29a uxth r2, r3 - 800631c: 68bb ldr r3, [r7, #8] - 800631e: b29b uxth r3, r3 - 8006320: f44f 4478 mov.w r4, #63488 ; 0xf800 - 8006324: 9400 str r4, [sp, #0] - 8006326: f7ff f9d5 bl 80056d4 + 8006404: 68fb ldr r3, [r7, #12] + 8006406: b298 uxth r0, r3 + 8006408: 68bb ldr r3, [r7, #8] + 800640a: b299 uxth r1, r3 + 800640c: 68fb ldr r3, [r7, #12] + 800640e: b29b uxth r3, r3 + 8006410: 3b0a subs r3, #10 + 8006412: b29a uxth r2, r3 + 8006414: 68bb ldr r3, [r7, #8] + 8006416: b29b uxth r3, r3 + 8006418: f44f 4478 mov.w r4, #63488 ; 0xf800 + 800641c: 9400 str r4, [sp, #0] + 800641e: f7ff f9d5 bl 80057cc LCD_DrawLine(x,y,x,y-10,RED); - 800632a: 68fb ldr r3, [r7, #12] - 800632c: b298 uxth r0, r3 - 800632e: 68bb ldr r3, [r7, #8] - 8006330: b299 uxth r1, r3 - 8006332: 68fb ldr r3, [r7, #12] - 8006334: b29a uxth r2, r3 - 8006336: 68bb ldr r3, [r7, #8] - 8006338: b29b uxth r3, r3 - 800633a: 3b0a subs r3, #10 - 800633c: b29b uxth r3, r3 - 800633e: f44f 4478 mov.w r4, #63488 ; 0xf800 - 8006342: 9400 str r4, [sp, #0] - 8006344: f7ff f9c6 bl 80056d4 + 8006422: 68fb ldr r3, [r7, #12] + 8006424: b298 uxth r0, r3 + 8006426: 68bb ldr r3, [r7, #8] + 8006428: b299 uxth r1, r3 + 800642a: 68fb ldr r3, [r7, #12] + 800642c: b29a uxth r2, r3 + 800642e: 68bb ldr r3, [r7, #8] + 8006430: b29b uxth r3, r3 + 8006432: 3b0a subs r3, #10 + 8006434: b29b uxth r3, r3 + 8006436: f44f 4478 mov.w r4, #63488 ; 0xf800 + 800643a: 9400 str r4, [sp, #0] + 800643c: f7ff f9c6 bl 80057cc } - 8006348: bf00 nop - 800634a: 3714 adds r7, #20 - 800634c: 46bd mov sp, r7 - 800634e: bd90 pop {r4, r7, pc} + 8006440: bf00 nop + 8006442: 3714 adds r7, #20 + 8006444: 46bd mov sp, r7 + 8006446: bd90 pop {r4, r7, pc} -08006350 : +08006448 : //触摸屏校准 //mode 校准模式,0 被动校准 ,1 主动校准 void TP_adjustment(char mode) { - 8006350: b5b0 push {r4, r5, r7, lr} - 8006352: b0a6 sub sp, #152 ; 0x98 - 8006354: af02 add r7, sp, #8 - 8006356: 4603 mov r3, r0 - 8006358: 71fb strb r3, [r7, #7] + 8006448: b5b0 push {r4, r5, r7, lr} + 800644a: b0a6 sub sp, #152 ; 0x98 + 800644c: af02 add r7, sp, #8 + 800644e: 4603 mov r3, r0 + 8006450: 71fb strb r3, [r7, #7] //判断是否需要校准,从eeprom获取数据 EEPROM_READ_BATY(16,(char *)&tconfig,sizeof(touch_config)); - 800635a: 2218 movs r2, #24 - 800635c: 4917 ldr r1, [pc, #92] ; (80063bc ) - 800635e: 2010 movs r0, #16 - 8006360: f7ff fc9c bl 8005c9c + 8006452: 2218 movs r2, #24 + 8006454: 4917 ldr r1, [pc, #92] ; (80064b4 ) + 8006456: 2010 movs r0, #16 + 8006458: f7ff fc9c bl 8005d94 if(tconfig.begin==0xab&&tconfig.end==0xcd&&mode==0) //判断校准标记 - 8006364: 4b15 ldr r3, [pc, #84] ; (80063bc ) - 8006366: 781b ldrb r3, [r3, #0] - 8006368: 2bab cmp r3, #171 ; 0xab - 800636a: d107 bne.n 800637c - 800636c: 4b13 ldr r3, [pc, #76] ; (80063bc ) - 800636e: 7d1b ldrb r3, [r3, #20] - 8006370: 2bcd cmp r3, #205 ; 0xcd - 8006372: d103 bne.n 800637c - 8006374: 79fb ldrb r3, [r7, #7] - 8006376: 2b00 cmp r3, #0 - 8006378: f000 82b8 beq.w 80068ec + 800645c: 4b15 ldr r3, [pc, #84] ; (80064b4 ) + 800645e: 781b ldrb r3, [r3, #0] + 8006460: 2bab cmp r3, #171 ; 0xab + 8006462: d107 bne.n 8006474 + 8006464: 4b13 ldr r3, [pc, #76] ; (80064b4 ) + 8006466: 7d1b ldrb r3, [r3, #20] + 8006468: 2bcd cmp r3, #205 ; 0xcd + 800646a: d103 bne.n 8006474 + 800646c: 79fb ldrb r3, [r7, #7] + 800646e: 2b00 cmp r3, #0 + 8006470: f000 82b8 beq.w 80069e4 { return; //已经校准过了 } //校准方法比较简单,读取4个坐标计算ad值与像素的关系 char str[64]; //用于字符串提示 uint16_t y_adc,x_adc,step=0,r=10; //adc缓存,校准步骤,坐标的半径 - 800637c: 2300 movs r3, #0 - 800637e: f8a7 308e strh.w r3, [r7, #142] ; 0x8e - 8006382: 230a movs r3, #10 - 8006384: f8a7 308c strh.w r3, [r7, #140] ; 0x8c + 8006474: 2300 movs r3, #0 + 8006476: f8a7 308e strh.w r3, [r7, #142] ; 0x8e + 800647a: 230a movs r3, #10 + 800647c: f8a7 308c strh.w r3, [r7, #140] ; 0x8c uint16_t y1,y2,y3,y4,x1,x2,x3,x4; //4个点缓存 int y5,x5,xd,xl,yd,yl; //通过4个点算出xy的长边和短边 float acc_x,acc_y; //算出的关系倍率 int offset_x,offset_y; //算出的偏差 uint32_t wait=HAL_GetTick()+50000,ms100=0; //校准时间,50秒没操作就自动退出 - 8006388: f7fb fce8 bl 8001d5c - 800638c: 4603 mov r3, r0 - 800638e: f503 4343 add.w r3, r3, #49920 ; 0xc300 - 8006392: 3350 adds r3, #80 ; 0x50 - 8006394: 67bb str r3, [r7, #120] ; 0x78 - 8006396: 2300 movs r3, #0 - 8006398: 677b str r3, [r7, #116] ; 0x74 + 8006480: f7fb fc6c bl 8001d5c + 8006484: 4603 mov r3, r0 + 8006486: f503 4343 add.w r3, r3, #49920 ; 0xc300 + 800648a: 3350 adds r3, #80 ; 0x50 + 800648c: 67bb str r3, [r7, #120] ; 0x78 + 800648e: 2300 movs r3, #0 + 8006490: 677b str r3, [r7, #116] ; 0x74 //显示字符串提示 LCD_Clear(GRAY); - 800639a: f248 4030 movw r0, #33840 ; 0x8430 - 800639e: f7ff f947 bl 8005630 + 8006492: f248 4030 movw r0, #33840 ; 0x8430 + 8006496: f7ff f8cb bl 8005630 LCD_ShowString(0,50,"Calibrate the touch screen",16,RED,RED); - 80063a2: f44f 4378 mov.w r3, #63488 ; 0xf800 - 80063a6: 9301 str r3, [sp, #4] - 80063a8: f44f 4378 mov.w r3, #63488 ; 0xf800 - 80063ac: 9300 str r3, [sp, #0] - 80063ae: 2310 movs r3, #16 - 80063b0: 4a03 ldr r2, [pc, #12] ; (80063c0 ) - 80063b2: 2132 movs r1, #50 ; 0x32 - 80063b4: 2000 movs r0, #0 - 80063b6: f7ff fb39 bl 8005a2c + 800649a: f44f 4378 mov.w r3, #63488 ; 0xf800 + 800649e: 9301 str r3, [sp, #4] + 80064a0: f44f 4378 mov.w r3, #63488 ; 0xf800 + 80064a4: 9300 str r3, [sp, #0] + 80064a6: 2310 movs r3, #16 + 80064a8: 4a03 ldr r2, [pc, #12] ; (80064b8 ) + 80064aa: 2132 movs r1, #50 ; 0x32 + 80064ac: 2000 movs r0, #0 + 80064ae: f7ff fb39 bl 8005b24 //TP_DrwaTrage(30,30,10); //开始校准 while(HAL_GetTick() - 80063bc: 200003ec .word 0x200003ec - 80063c0: 0800a050 .word 0x0800a050 + 80064b2: e28f b.n 80069d4 + 80064b4: 200003ec .word 0x200003ec + 80064b8: 0800a8a8 .word 0x0800a8a8 { if(TPEN==0) //如果屏幕被按下 - 80063c4: f44f 6180 mov.w r1, #1024 ; 0x400 - 80063c8: 48ce ldr r0, [pc, #824] ; (8006704 ) - 80063ca: f7fb ff97 bl 80022fc - 80063ce: 4603 mov r3, r0 - 80063d0: 2b00 cmp r3, #0 - 80063d2: d14c bne.n 800646e + 80064bc: f44f 6180 mov.w r1, #1024 ; 0x400 + 80064c0: 48ce ldr r0, [pc, #824] ; (80067fc ) + 80064c2: f7fb ff1b bl 80022fc + 80064c6: 4603 mov r3, r0 + 80064c8: 2b00 cmp r3, #0 + 80064ca: d14c bne.n 8006566 { wait=HAL_GetTick()+50000; //重置50秒 - 80063d4: f7fb fcc2 bl 8001d5c - 80063d8: 4603 mov r3, r0 - 80063da: f503 4343 add.w r3, r3, #49920 ; 0xc300 - 80063de: 3350 adds r3, #80 ; 0x50 - 80063e0: 67bb str r3, [r7, #120] ; 0x78 + 80064cc: f7fb fc46 bl 8001d5c + 80064d0: 4603 mov r3, r0 + 80064d2: f503 4343 add.w r3, r3, #49920 ; 0xc300 + 80064d6: 3350 adds r3, #80 ; 0x50 + 80064d8: 67bb str r3, [r7, #120] ; 0x78 TP_Read_XY2(&x_adc,&y_adc); //读取xy ad值 - 80063e2: f107 020a add.w r2, r7, #10 - 80063e6: f107 0308 add.w r3, r7, #8 - 80063ea: 4611 mov r1, r2 - 80063ec: 4618 mov r0, r3 - 80063ee: f7ff fe72 bl 80060d6 + 80064da: f107 020a add.w r2, r7, #10 + 80064de: f107 0308 add.w r3, r7, #8 + 80064e2: 4611 mov r1, r2 + 80064e4: 4618 mov r0, r3 + 80064e6: f7ff fe72 bl 80061ce //将读到的值显示出来 sprintf(str,"ADC_X:%04d",x_adc); - 80063f2: 893b ldrh r3, [r7, #8] - 80063f4: 461a mov r2, r3 - 80063f6: f107 030c add.w r3, r7, #12 - 80063fa: 49c3 ldr r1, [pc, #780] ; (8006708 ) - 80063fc: 4618 mov r0, r3 - 80063fe: f001 fd77 bl 8007ef0 + 80064ea: 893b ldrh r3, [r7, #8] + 80064ec: 461a mov r2, r3 + 80064ee: f107 030c add.w r3, r7, #12 + 80064f2: 49c3 ldr r1, [pc, #780] ; (8006800 ) + 80064f4: 4618 mov r0, r3 + 80064f6: f002 f929 bl 800874c LCD_ShowString(100, 0, str, 16, RED, GRAY); - 8006402: f107 020c add.w r2, r7, #12 - 8006406: f248 4330 movw r3, #33840 ; 0x8430 - 800640a: 9301 str r3, [sp, #4] - 800640c: f44f 4378 mov.w r3, #63488 ; 0xf800 - 8006410: 9300 str r3, [sp, #0] - 8006412: 2310 movs r3, #16 - 8006414: 2100 movs r1, #0 - 8006416: 2064 movs r0, #100 ; 0x64 - 8006418: f7ff fb08 bl 8005a2c + 80064fa: f107 020c add.w r2, r7, #12 + 80064fe: f248 4330 movw r3, #33840 ; 0x8430 + 8006502: 9301 str r3, [sp, #4] + 8006504: f44f 4378 mov.w r3, #63488 ; 0xf800 + 8006508: 9300 str r3, [sp, #0] + 800650a: 2310 movs r3, #16 + 800650c: 2100 movs r1, #0 + 800650e: 2064 movs r0, #100 ; 0x64 + 8006510: f7ff fb08 bl 8005b24 sprintf(str,"ADC_Y:%04d",y_adc); - 800641c: 897b ldrh r3, [r7, #10] - 800641e: 461a mov r2, r3 - 8006420: f107 030c add.w r3, r7, #12 - 8006424: 49b9 ldr r1, [pc, #740] ; (800670c ) - 8006426: 4618 mov r0, r3 - 8006428: f001 fd62 bl 8007ef0 + 8006514: 897b ldrh r3, [r7, #10] + 8006516: 461a mov r2, r3 + 8006518: f107 030c add.w r3, r7, #12 + 800651c: 49b9 ldr r1, [pc, #740] ; (8006804 ) + 800651e: 4618 mov r0, r3 + 8006520: f002 f914 bl 800874c LCD_ShowString(100, 16, str, 16, RED, GRAY); - 800642c: f107 020c add.w r2, r7, #12 - 8006430: f248 4330 movw r3, #33840 ; 0x8430 - 8006434: 9301 str r3, [sp, #4] - 8006436: f44f 4378 mov.w r3, #63488 ; 0xf800 - 800643a: 9300 str r3, [sp, #0] - 800643c: 2310 movs r3, #16 - 800643e: 2110 movs r1, #16 - 8006440: 2064 movs r0, #100 ; 0x64 - 8006442: f7ff faf3 bl 8005a2c + 8006524: f107 020c add.w r2, r7, #12 + 8006528: f248 4330 movw r3, #33840 ; 0x8430 + 800652c: 9301 str r3, [sp, #4] + 800652e: f44f 4378 mov.w r3, #63488 ; 0xf800 + 8006532: 9300 str r3, [sp, #0] + 8006534: 2310 movs r3, #16 + 8006536: 2110 movs r1, #16 + 8006538: 2064 movs r0, #100 ; 0x64 + 800653a: f7ff faf3 bl 8005b24 //特效,半径开始收缩 if(HAL_GetTick()>ms100) - 8006446: f7fb fc89 bl 8001d5c - 800644a: 4602 mov r2, r0 - 800644c: 6f7b ldr r3, [r7, #116] ; 0x74 - 800644e: 4293 cmp r3, r2 - 8006450: d20d bcs.n 800646e + 800653e: f7fb fc0d bl 8001d5c + 8006542: 4602 mov r2, r0 + 8006544: 6f7b ldr r3, [r7, #116] ; 0x74 + 8006546: 4293 cmp r3, r2 + 8006548: d20d bcs.n 8006566 { ms100=HAL_GetTick()+100; - 8006452: f7fb fc83 bl 8001d5c - 8006456: 4603 mov r3, r0 - 8006458: 3364 adds r3, #100 ; 0x64 - 800645a: 677b str r3, [r7, #116] ; 0x74 + 800654a: f7fb fc07 bl 8001d5c + 800654e: 4603 mov r3, r0 + 8006550: 3364 adds r3, #100 ; 0x64 + 8006552: 677b str r3, [r7, #116] ; 0x74 if(r>0){r--;} - 800645c: f8b7 308c ldrh.w r3, [r7, #140] ; 0x8c - 8006460: 2b00 cmp r3, #0 - 8006462: d004 beq.n 800646e - 8006464: f8b7 308c ldrh.w r3, [r7, #140] ; 0x8c - 8006468: 3b01 subs r3, #1 - 800646a: f8a7 308c strh.w r3, [r7, #140] ; 0x8c + 8006554: f8b7 308c ldrh.w r3, [r7, #140] ; 0x8c + 8006558: 2b00 cmp r3, #0 + 800655a: d004 beq.n 8006566 + 800655c: f8b7 308c ldrh.w r3, [r7, #140] ; 0x8c + 8006560: 3b01 subs r3, #1 + 8006562: f8a7 308c strh.w r3, [r7, #140] ; 0x8c } } //步骤0,将点画在(30,30)此时半径为10 if(step==0) - 800646e: f8b7 308e ldrh.w r3, [r7, #142] ; 0x8e - 8006472: 2b00 cmp r3, #0 - 8006474: d12b bne.n 80064ce + 8006566: f8b7 308e ldrh.w r3, [r7, #142] ; 0x8e + 800656a: 2b00 cmp r3, #0 + 800656c: d12b bne.n 80065c6 { TP_DrwaTrage(30,30,r); - 8006476: f8b7 308c ldrh.w r3, [r7, #140] ; 0x8c - 800647a: 461a mov r2, r3 - 800647c: 211e movs r1, #30 - 800647e: 201e movs r0, #30 - 8006480: f7ff ff0a bl 8006298 + 800656e: f8b7 308c ldrh.w r3, [r7, #140] ; 0x8c + 8006572: 461a mov r2, r3 + 8006574: 211e movs r1, #30 + 8006576: 201e movs r0, #30 + 8006578: f7ff ff0a bl 8006390 if(r==0)//当半径收缩为0的时候 - 8006484: f8b7 308c ldrh.w r3, [r7, #140] ; 0x8c - 8006488: 2b00 cmp r3, #0 - 800648a: d120 bne.n 80064ce + 800657c: f8b7 308c ldrh.w r3, [r7, #140] ; 0x8c + 8006580: 2b00 cmp r3, #0 + 8006582: d120 bne.n 80065c6 { //进入下一个步骤,缓存这个点的值,显示出来 step+=1; - 800648c: f8b7 308e ldrh.w r3, [r7, #142] ; 0x8e - 8006490: 3301 adds r3, #1 - 8006492: f8a7 308e strh.w r3, [r7, #142] ; 0x8e + 8006584: f8b7 308e ldrh.w r3, [r7, #142] ; 0x8e + 8006588: 3301 adds r3, #1 + 800658a: f8a7 308e strh.w r3, [r7, #142] ; 0x8e y1=y_adc; - 8006496: 897b ldrh r3, [r7, #10] - 8006498: f8a7 308a strh.w r3, [r7, #138] ; 0x8a + 800658e: 897b ldrh r3, [r7, #10] + 8006590: f8a7 308a strh.w r3, [r7, #138] ; 0x8a x1=x_adc; - 800649c: 893b ldrh r3, [r7, #8] - 800649e: f8a7 3082 strh.w r3, [r7, #130] ; 0x82 + 8006594: 893b ldrh r3, [r7, #8] + 8006596: f8a7 3082 strh.w r3, [r7, #130] ; 0x82 sprintf(str,"point_1 x:%d y:%d",x1,y1); - 80064a2: f8b7 2082 ldrh.w r2, [r7, #130] ; 0x82 - 80064a6: f8b7 308a ldrh.w r3, [r7, #138] ; 0x8a - 80064aa: f107 000c add.w r0, r7, #12 - 80064ae: 4998 ldr r1, [pc, #608] ; (8006710 ) - 80064b0: f001 fd1e bl 8007ef0 + 800659a: f8b7 2082 ldrh.w r2, [r7, #130] ; 0x82 + 800659e: f8b7 308a ldrh.w r3, [r7, #138] ; 0x8a + 80065a2: f107 000c add.w r0, r7, #12 + 80065a6: 4998 ldr r1, [pc, #608] ; (8006808 ) + 80065a8: f002 f8d0 bl 800874c LCD_ShowString(0,66,str,16,RED,RED); - 80064b4: f107 020c add.w r2, r7, #12 - 80064b8: f44f 4378 mov.w r3, #63488 ; 0xf800 - 80064bc: 9301 str r3, [sp, #4] - 80064be: f44f 4378 mov.w r3, #63488 ; 0xf800 - 80064c2: 9300 str r3, [sp, #0] - 80064c4: 2310 movs r3, #16 - 80064c6: 2142 movs r1, #66 ; 0x42 - 80064c8: 2000 movs r0, #0 - 80064ca: f7ff faaf bl 8005a2c + 80065ac: f107 020c add.w r2, r7, #12 + 80065b0: f44f 4378 mov.w r3, #63488 ; 0xf800 + 80065b4: 9301 str r3, [sp, #4] + 80065b6: f44f 4378 mov.w r3, #63488 ; 0xf800 + 80065ba: 9300 str r3, [sp, #0] + 80065bc: 2310 movs r3, #16 + 80065be: 2142 movs r1, #66 ; 0x42 + 80065c0: 2000 movs r0, #0 + 80065c2: f7ff faaf bl 8005b24 } } //步骤1,等待屏幕被松开,进入下一个步骤,重置半径 if(step==1) - 80064ce: f8b7 308e ldrh.w r3, [r7, #142] ; 0x8e - 80064d2: 2b01 cmp r3, #1 - 80064d4: d10f bne.n 80064f6 + 80065c6: f8b7 308e ldrh.w r3, [r7, #142] ; 0x8e + 80065ca: 2b01 cmp r3, #1 + 80065cc: d10f bne.n 80065ee { if(TPEN==1) - 80064d6: f44f 6180 mov.w r1, #1024 ; 0x400 - 80064da: 488a ldr r0, [pc, #552] ; (8006704 ) - 80064dc: f7fb ff0e bl 80022fc - 80064e0: 4603 mov r3, r0 - 80064e2: 2b01 cmp r3, #1 - 80064e4: d107 bne.n 80064f6 + 80065ce: f44f 6180 mov.w r1, #1024 ; 0x400 + 80065d2: 488a ldr r0, [pc, #552] ; (80067fc ) + 80065d4: f7fb fe92 bl 80022fc + 80065d8: 4603 mov r3, r0 + 80065da: 2b01 cmp r3, #1 + 80065dc: d107 bne.n 80065ee { step+=1; - 80064e6: f8b7 308e ldrh.w r3, [r7, #142] ; 0x8e - 80064ea: 3301 adds r3, #1 - 80064ec: f8a7 308e strh.w r3, [r7, #142] ; 0x8e + 80065de: f8b7 308e ldrh.w r3, [r7, #142] ; 0x8e + 80065e2: 3301 adds r3, #1 + 80065e4: f8a7 308e strh.w r3, [r7, #142] ; 0x8e r=10; - 80064f0: 230a movs r3, #10 - 80064f2: f8a7 308c strh.w r3, [r7, #140] ; 0x8c + 80065e8: 230a movs r3, #10 + 80065ea: f8a7 308c strh.w r3, [r7, #140] ; 0x8c } } //下面几个步骤和上面一样 if(step==2) - 80064f6: f8b7 308e ldrh.w r3, [r7, #142] ; 0x8e - 80064fa: 2b02 cmp r3, #2 - 80064fc: d12c bne.n 8006558 + 80065ee: f8b7 308e ldrh.w r3, [r7, #142] ; 0x8e + 80065f2: 2b02 cmp r3, #2 + 80065f4: d12c bne.n 8006650 { TP_DrwaTrage(290,30,r); - 80064fe: f8b7 308c ldrh.w r3, [r7, #140] ; 0x8c - 8006502: 461a mov r2, r3 - 8006504: 211e movs r1, #30 - 8006506: f44f 7091 mov.w r0, #290 ; 0x122 - 800650a: f7ff fec5 bl 8006298 + 80065f6: f8b7 308c ldrh.w r3, [r7, #140] ; 0x8c + 80065fa: 461a mov r2, r3 + 80065fc: 211e movs r1, #30 + 80065fe: f44f 7091 mov.w r0, #290 ; 0x122 + 8006602: f7ff fec5 bl 8006390 if(r==0) - 800650e: f8b7 308c ldrh.w r3, [r7, #140] ; 0x8c - 8006512: 2b00 cmp r3, #0 - 8006514: d120 bne.n 8006558 + 8006606: f8b7 308c ldrh.w r3, [r7, #140] ; 0x8c + 800660a: 2b00 cmp r3, #0 + 800660c: d120 bne.n 8006650 { step+=1; - 8006516: f8b7 308e ldrh.w r3, [r7, #142] ; 0x8e - 800651a: 3301 adds r3, #1 - 800651c: f8a7 308e strh.w r3, [r7, #142] ; 0x8e + 800660e: f8b7 308e ldrh.w r3, [r7, #142] ; 0x8e + 8006612: 3301 adds r3, #1 + 8006614: f8a7 308e strh.w r3, [r7, #142] ; 0x8e y2=y_adc; - 8006520: 897b ldrh r3, [r7, #10] - 8006522: f8a7 3088 strh.w r3, [r7, #136] ; 0x88 + 8006618: 897b ldrh r3, [r7, #10] + 800661a: f8a7 3088 strh.w r3, [r7, #136] ; 0x88 x2=x_adc; - 8006526: 893b ldrh r3, [r7, #8] - 8006528: f8a7 3080 strh.w r3, [r7, #128] ; 0x80 + 800661e: 893b ldrh r3, [r7, #8] + 8006620: f8a7 3080 strh.w r3, [r7, #128] ; 0x80 sprintf(str,"point_2 x:%d y:%d",x2,y2); - 800652c: f8b7 2080 ldrh.w r2, [r7, #128] ; 0x80 - 8006530: f8b7 3088 ldrh.w r3, [r7, #136] ; 0x88 - 8006534: f107 000c add.w r0, r7, #12 - 8006538: 4976 ldr r1, [pc, #472] ; (8006714 ) - 800653a: f001 fcd9 bl 8007ef0 + 8006624: f8b7 2080 ldrh.w r2, [r7, #128] ; 0x80 + 8006628: f8b7 3088 ldrh.w r3, [r7, #136] ; 0x88 + 800662c: f107 000c add.w r0, r7, #12 + 8006630: 4976 ldr r1, [pc, #472] ; (800680c ) + 8006632: f002 f88b bl 800874c LCD_ShowString(0,66+16,str,16,RED,RED); - 800653e: f107 020c add.w r2, r7, #12 - 8006542: f44f 4378 mov.w r3, #63488 ; 0xf800 - 8006546: 9301 str r3, [sp, #4] - 8006548: f44f 4378 mov.w r3, #63488 ; 0xf800 - 800654c: 9300 str r3, [sp, #0] - 800654e: 2310 movs r3, #16 - 8006550: 2152 movs r1, #82 ; 0x52 - 8006552: 2000 movs r0, #0 - 8006554: f7ff fa6a bl 8005a2c + 8006636: f107 020c add.w r2, r7, #12 + 800663a: f44f 4378 mov.w r3, #63488 ; 0xf800 + 800663e: 9301 str r3, [sp, #4] + 8006640: f44f 4378 mov.w r3, #63488 ; 0xf800 + 8006644: 9300 str r3, [sp, #0] + 8006646: 2310 movs r3, #16 + 8006648: 2152 movs r1, #82 ; 0x52 + 800664a: 2000 movs r0, #0 + 800664c: f7ff fa6a bl 8005b24 } } if(step==3) - 8006558: f8b7 308e ldrh.w r3, [r7, #142] ; 0x8e - 800655c: 2b03 cmp r3, #3 - 800655e: d10f bne.n 8006580 + 8006650: f8b7 308e ldrh.w r3, [r7, #142] ; 0x8e + 8006654: 2b03 cmp r3, #3 + 8006656: d10f bne.n 8006678 { if(TPEN==1) - 8006560: f44f 6180 mov.w r1, #1024 ; 0x400 - 8006564: 4867 ldr r0, [pc, #412] ; (8006704 ) - 8006566: f7fb fec9 bl 80022fc - 800656a: 4603 mov r3, r0 - 800656c: 2b01 cmp r3, #1 - 800656e: d107 bne.n 8006580 + 8006658: f44f 6180 mov.w r1, #1024 ; 0x400 + 800665c: 4867 ldr r0, [pc, #412] ; (80067fc ) + 800665e: f7fb fe4d bl 80022fc + 8006662: 4603 mov r3, r0 + 8006664: 2b01 cmp r3, #1 + 8006666: d107 bne.n 8006678 { step+=1; - 8006570: f8b7 308e ldrh.w r3, [r7, #142] ; 0x8e - 8006574: 3301 adds r3, #1 - 8006576: f8a7 308e strh.w r3, [r7, #142] ; 0x8e + 8006668: f8b7 308e ldrh.w r3, [r7, #142] ; 0x8e + 800666c: 3301 adds r3, #1 + 800666e: f8a7 308e strh.w r3, [r7, #142] ; 0x8e r=10; - 800657a: 230a movs r3, #10 - 800657c: f8a7 308c strh.w r3, [r7, #140] ; 0x8c + 8006672: 230a movs r3, #10 + 8006674: f8a7 308c strh.w r3, [r7, #140] ; 0x8c } } if(step==4) - 8006580: f8b7 308e ldrh.w r3, [r7, #142] ; 0x8e - 8006584: 2b04 cmp r3, #4 - 8006586: d12b bne.n 80065e0 + 8006678: f8b7 308e ldrh.w r3, [r7, #142] ; 0x8e + 800667c: 2b04 cmp r3, #4 + 800667e: d12b bne.n 80066d8 { TP_DrwaTrage(30,210,r); - 8006588: f8b7 308c ldrh.w r3, [r7, #140] ; 0x8c - 800658c: 461a mov r2, r3 - 800658e: 21d2 movs r1, #210 ; 0xd2 - 8006590: 201e movs r0, #30 - 8006592: f7ff fe81 bl 8006298 + 8006680: f8b7 308c ldrh.w r3, [r7, #140] ; 0x8c + 8006684: 461a mov r2, r3 + 8006686: 21d2 movs r1, #210 ; 0xd2 + 8006688: 201e movs r0, #30 + 800668a: f7ff fe81 bl 8006390 if(r==0) - 8006596: f8b7 308c ldrh.w r3, [r7, #140] ; 0x8c - 800659a: 2b00 cmp r3, #0 - 800659c: d120 bne.n 80065e0 + 800668e: f8b7 308c ldrh.w r3, [r7, #140] ; 0x8c + 8006692: 2b00 cmp r3, #0 + 8006694: d120 bne.n 80066d8 { step+=1; - 800659e: f8b7 308e ldrh.w r3, [r7, #142] ; 0x8e - 80065a2: 3301 adds r3, #1 - 80065a4: f8a7 308e strh.w r3, [r7, #142] ; 0x8e + 8006696: f8b7 308e ldrh.w r3, [r7, #142] ; 0x8e + 800669a: 3301 adds r3, #1 + 800669c: f8a7 308e strh.w r3, [r7, #142] ; 0x8e y3=y_adc; - 80065a8: 897b ldrh r3, [r7, #10] - 80065aa: f8a7 3086 strh.w r3, [r7, #134] ; 0x86 + 80066a0: 897b ldrh r3, [r7, #10] + 80066a2: f8a7 3086 strh.w r3, [r7, #134] ; 0x86 x3=x_adc; - 80065ae: 893b ldrh r3, [r7, #8] - 80065b0: f8a7 307e strh.w r3, [r7, #126] ; 0x7e + 80066a6: 893b ldrh r3, [r7, #8] + 80066a8: f8a7 307e strh.w r3, [r7, #126] ; 0x7e sprintf(str,"point_3 x:%d y:%d",x3,y3); - 80065b4: f8b7 207e ldrh.w r2, [r7, #126] ; 0x7e - 80065b8: f8b7 3086 ldrh.w r3, [r7, #134] ; 0x86 - 80065bc: f107 000c add.w r0, r7, #12 - 80065c0: 4955 ldr r1, [pc, #340] ; (8006718 ) - 80065c2: f001 fc95 bl 8007ef0 + 80066ac: f8b7 207e ldrh.w r2, [r7, #126] ; 0x7e + 80066b0: f8b7 3086 ldrh.w r3, [r7, #134] ; 0x86 + 80066b4: f107 000c add.w r0, r7, #12 + 80066b8: 4955 ldr r1, [pc, #340] ; (8006810 ) + 80066ba: f002 f847 bl 800874c LCD_ShowString(0,66+16+16,str,16,RED,RED); - 80065c6: f107 020c add.w r2, r7, #12 - 80065ca: f44f 4378 mov.w r3, #63488 ; 0xf800 - 80065ce: 9301 str r3, [sp, #4] - 80065d0: f44f 4378 mov.w r3, #63488 ; 0xf800 - 80065d4: 9300 str r3, [sp, #0] - 80065d6: 2310 movs r3, #16 - 80065d8: 2162 movs r1, #98 ; 0x62 - 80065da: 2000 movs r0, #0 - 80065dc: f7ff fa26 bl 8005a2c + 80066be: f107 020c add.w r2, r7, #12 + 80066c2: f44f 4378 mov.w r3, #63488 ; 0xf800 + 80066c6: 9301 str r3, [sp, #4] + 80066c8: f44f 4378 mov.w r3, #63488 ; 0xf800 + 80066cc: 9300 str r3, [sp, #0] + 80066ce: 2310 movs r3, #16 + 80066d0: 2162 movs r1, #98 ; 0x62 + 80066d2: 2000 movs r0, #0 + 80066d4: f7ff fa26 bl 8005b24 } } if(step==5) - 80065e0: f8b7 308e ldrh.w r3, [r7, #142] ; 0x8e - 80065e4: 2b05 cmp r3, #5 - 80065e6: d10f bne.n 8006608 + 80066d8: f8b7 308e ldrh.w r3, [r7, #142] ; 0x8e + 80066dc: 2b05 cmp r3, #5 + 80066de: d10f bne.n 8006700 { if(TPEN==1) - 80065e8: f44f 6180 mov.w r1, #1024 ; 0x400 - 80065ec: 4845 ldr r0, [pc, #276] ; (8006704 ) - 80065ee: f7fb fe85 bl 80022fc - 80065f2: 4603 mov r3, r0 - 80065f4: 2b01 cmp r3, #1 - 80065f6: d107 bne.n 8006608 + 80066e0: f44f 6180 mov.w r1, #1024 ; 0x400 + 80066e4: 4845 ldr r0, [pc, #276] ; (80067fc ) + 80066e6: f7fb fe09 bl 80022fc + 80066ea: 4603 mov r3, r0 + 80066ec: 2b01 cmp r3, #1 + 80066ee: d107 bne.n 8006700 { step+=1; - 80065f8: f8b7 308e ldrh.w r3, [r7, #142] ; 0x8e - 80065fc: 3301 adds r3, #1 - 80065fe: f8a7 308e strh.w r3, [r7, #142] ; 0x8e + 80066f0: f8b7 308e ldrh.w r3, [r7, #142] ; 0x8e + 80066f4: 3301 adds r3, #1 + 80066f6: f8a7 308e strh.w r3, [r7, #142] ; 0x8e r=10; - 8006602: 230a movs r3, #10 - 8006604: f8a7 308c strh.w r3, [r7, #140] ; 0x8c + 80066fa: 230a movs r3, #10 + 80066fc: f8a7 308c strh.w r3, [r7, #140] ; 0x8c } } if(step==6) - 8006608: f8b7 308e ldrh.w r3, [r7, #142] ; 0x8e - 800660c: 2b06 cmp r3, #6 - 800660e: d12c bne.n 800666a + 8006700: f8b7 308e ldrh.w r3, [r7, #142] ; 0x8e + 8006704: 2b06 cmp r3, #6 + 8006706: d12c bne.n 8006762 { TP_DrwaTrage(290,210,r); - 8006610: f8b7 308c ldrh.w r3, [r7, #140] ; 0x8c - 8006614: 461a mov r2, r3 - 8006616: 21d2 movs r1, #210 ; 0xd2 - 8006618: f44f 7091 mov.w r0, #290 ; 0x122 - 800661c: f7ff fe3c bl 8006298 + 8006708: f8b7 308c ldrh.w r3, [r7, #140] ; 0x8c + 800670c: 461a mov r2, r3 + 800670e: 21d2 movs r1, #210 ; 0xd2 + 8006710: f44f 7091 mov.w r0, #290 ; 0x122 + 8006714: f7ff fe3c bl 8006390 if(r==0) - 8006620: f8b7 308c ldrh.w r3, [r7, #140] ; 0x8c - 8006624: 2b00 cmp r3, #0 - 8006626: d120 bne.n 800666a + 8006718: f8b7 308c ldrh.w r3, [r7, #140] ; 0x8c + 800671c: 2b00 cmp r3, #0 + 800671e: d120 bne.n 8006762 { step+=1; - 8006628: f8b7 308e ldrh.w r3, [r7, #142] ; 0x8e - 800662c: 3301 adds r3, #1 - 800662e: f8a7 308e strh.w r3, [r7, #142] ; 0x8e + 8006720: f8b7 308e ldrh.w r3, [r7, #142] ; 0x8e + 8006724: 3301 adds r3, #1 + 8006726: f8a7 308e strh.w r3, [r7, #142] ; 0x8e y4=y_adc; - 8006632: 897b ldrh r3, [r7, #10] - 8006634: f8a7 3084 strh.w r3, [r7, #132] ; 0x84 + 800672a: 897b ldrh r3, [r7, #10] + 800672c: f8a7 3084 strh.w r3, [r7, #132] ; 0x84 x4=x_adc; - 8006638: 893b ldrh r3, [r7, #8] - 800663a: f8a7 307c strh.w r3, [r7, #124] ; 0x7c + 8006730: 893b ldrh r3, [r7, #8] + 8006732: f8a7 307c strh.w r3, [r7, #124] ; 0x7c sprintf(str,"point_4 x:%d y:%d",x4,y4); - 800663e: f8b7 207c ldrh.w r2, [r7, #124] ; 0x7c - 8006642: f8b7 3084 ldrh.w r3, [r7, #132] ; 0x84 - 8006646: f107 000c add.w r0, r7, #12 - 800664a: 4934 ldr r1, [pc, #208] ; (800671c ) - 800664c: f001 fc50 bl 8007ef0 + 8006736: f8b7 207c ldrh.w r2, [r7, #124] ; 0x7c + 800673a: f8b7 3084 ldrh.w r3, [r7, #132] ; 0x84 + 800673e: f107 000c add.w r0, r7, #12 + 8006742: 4934 ldr r1, [pc, #208] ; (8006814 ) + 8006744: f002 f802 bl 800874c LCD_ShowString(0,66+16+16+16,str,16,RED,RED); - 8006650: f107 020c add.w r2, r7, #12 - 8006654: f44f 4378 mov.w r3, #63488 ; 0xf800 - 8006658: 9301 str r3, [sp, #4] - 800665a: f44f 4378 mov.w r3, #63488 ; 0xf800 - 800665e: 9300 str r3, [sp, #0] - 8006660: 2310 movs r3, #16 - 8006662: 2172 movs r1, #114 ; 0x72 - 8006664: 2000 movs r0, #0 - 8006666: f7ff f9e1 bl 8005a2c + 8006748: f107 020c add.w r2, r7, #12 + 800674c: f44f 4378 mov.w r3, #63488 ; 0xf800 + 8006750: 9301 str r3, [sp, #4] + 8006752: f44f 4378 mov.w r3, #63488 ; 0xf800 + 8006756: 9300 str r3, [sp, #0] + 8006758: 2310 movs r3, #16 + 800675a: 2172 movs r1, #114 ; 0x72 + 800675c: 2000 movs r0, #0 + 800675e: f7ff f9e1 bl 8005b24 } } if(step==7) - 800666a: f8b7 308e ldrh.w r3, [r7, #142] ; 0x8e - 800666e: 2b07 cmp r3, #7 - 8006670: d10f bne.n 8006692 + 8006762: f8b7 308e ldrh.w r3, [r7, #142] ; 0x8e + 8006766: 2b07 cmp r3, #7 + 8006768: d10f bne.n 800678a { if(TPEN==1) - 8006672: f44f 6180 mov.w r1, #1024 ; 0x400 - 8006676: 4823 ldr r0, [pc, #140] ; (8006704 ) - 8006678: f7fb fe40 bl 80022fc - 800667c: 4603 mov r3, r0 - 800667e: 2b01 cmp r3, #1 - 8006680: d107 bne.n 8006692 + 800676a: f44f 6180 mov.w r1, #1024 ; 0x400 + 800676e: 4823 ldr r0, [pc, #140] ; (80067fc ) + 8006770: f7fb fdc4 bl 80022fc + 8006774: 4603 mov r3, r0 + 8006776: 2b01 cmp r3, #1 + 8006778: d107 bne.n 800678a { step+=1; - 8006682: f8b7 308e ldrh.w r3, [r7, #142] ; 0x8e - 8006686: 3301 adds r3, #1 - 8006688: f8a7 308e strh.w r3, [r7, #142] ; 0x8e + 800677a: f8b7 308e ldrh.w r3, [r7, #142] ; 0x8e + 800677e: 3301 adds r3, #1 + 8006780: f8a7 308e strh.w r3, [r7, #142] ; 0x8e r=10; - 800668c: 230a movs r3, #10 - 800668e: f8a7 308c strh.w r3, [r7, #140] ; 0x8c + 8006784: 230a movs r3, #10 + 8006786: f8a7 308c strh.w r3, [r7, #140] ; 0x8c } } //当4个点读取完,开始计算关系 if(step==8) - 8006692: f8b7 308e ldrh.w r3, [r7, #142] ; 0x8e - 8006696: 2b08 cmp r3, #8 - 8006698: f040 8120 bne.w 80068dc + 800678a: f8b7 308e ldrh.w r3, [r7, #142] ; 0x8e + 800678e: 2b08 cmp r3, #8 + 8006790: f040 8120 bne.w 80069d4 { //其实只需要两个点就能校准,通过取平均值获得xy的长边和短边 xd=((x1+x3)/2); - 800669c: f8b7 2082 ldrh.w r2, [r7, #130] ; 0x82 - 80066a0: f8b7 307e ldrh.w r3, [r7, #126] ; 0x7e - 80066a4: 4413 add r3, r2 - 80066a6: 0fda lsrs r2, r3, #31 - 80066a8: 4413 add r3, r2 - 80066aa: 105b asrs r3, r3, #1 - 80066ac: 673b str r3, [r7, #112] ; 0x70 + 8006794: f8b7 2082 ldrh.w r2, [r7, #130] ; 0x82 + 8006798: f8b7 307e ldrh.w r3, [r7, #126] ; 0x7e + 800679c: 4413 add r3, r2 + 800679e: 0fda lsrs r2, r3, #31 + 80067a0: 4413 add r3, r2 + 80067a2: 105b asrs r3, r3, #1 + 80067a4: 673b str r3, [r7, #112] ; 0x70 xl=((x2+x4)/2); - 80066ae: f8b7 2080 ldrh.w r2, [r7, #128] ; 0x80 - 80066b2: f8b7 307c ldrh.w r3, [r7, #124] ; 0x7c - 80066b6: 4413 add r3, r2 - 80066b8: 0fda lsrs r2, r3, #31 - 80066ba: 4413 add r3, r2 - 80066bc: 105b asrs r3, r3, #1 - 80066be: 66fb str r3, [r7, #108] ; 0x6c + 80067a6: f8b7 2080 ldrh.w r2, [r7, #128] ; 0x80 + 80067aa: f8b7 307c ldrh.w r3, [r7, #124] ; 0x7c + 80067ae: 4413 add r3, r2 + 80067b0: 0fda lsrs r2, r3, #31 + 80067b2: 4413 add r3, r2 + 80067b4: 105b asrs r3, r3, #1 + 80067b6: 66fb str r3, [r7, #108] ; 0x6c yd=((y1+y2)/2); - 80066c0: f8b7 208a ldrh.w r2, [r7, #138] ; 0x8a - 80066c4: f8b7 3088 ldrh.w r3, [r7, #136] ; 0x88 - 80066c8: 4413 add r3, r2 - 80066ca: 0fda lsrs r2, r3, #31 - 80066cc: 4413 add r3, r2 - 80066ce: 105b asrs r3, r3, #1 - 80066d0: 66bb str r3, [r7, #104] ; 0x68 + 80067b8: f8b7 208a ldrh.w r2, [r7, #138] ; 0x8a + 80067bc: f8b7 3088 ldrh.w r3, [r7, #136] ; 0x88 + 80067c0: 4413 add r3, r2 + 80067c2: 0fda lsrs r2, r3, #31 + 80067c4: 4413 add r3, r2 + 80067c6: 105b asrs r3, r3, #1 + 80067c8: 66bb str r3, [r7, #104] ; 0x68 yl=((y3+y4)/2); - 80066d2: f8b7 2086 ldrh.w r2, [r7, #134] ; 0x86 - 80066d6: f8b7 3084 ldrh.w r3, [r7, #132] ; 0x84 - 80066da: 4413 add r3, r2 - 80066dc: 0fda lsrs r2, r3, #31 - 80066de: 4413 add r3, r2 - 80066e0: 105b asrs r3, r3, #1 - 80066e2: 667b str r3, [r7, #100] ; 0x64 + 80067ca: f8b7 2086 ldrh.w r2, [r7, #134] ; 0x86 + 80067ce: f8b7 3084 ldrh.w r3, [r7, #132] ; 0x84 + 80067d2: 4413 add r3, r2 + 80067d4: 0fda lsrs r2, r3, #31 + 80067d6: 4413 add r3, r2 + 80067d8: 105b asrs r3, r3, #1 + 80067da: 667b str r3, [r7, #100] ; 0x64 //长边减去短边可以再获得一个点 x5=xl-xd; - 80066e4: 6efa ldr r2, [r7, #108] ; 0x6c - 80066e6: 6f3b ldr r3, [r7, #112] ; 0x70 - 80066e8: 1ad3 subs r3, r2, r3 - 80066ea: 663b str r3, [r7, #96] ; 0x60 + 80067dc: 6efa ldr r2, [r7, #108] ; 0x6c + 80067de: 6f3b ldr r3, [r7, #112] ; 0x70 + 80067e0: 1ad3 subs r3, r2, r3 + 80067e2: 663b str r3, [r7, #96] ; 0x60 y5=yl-yd; - 80066ec: 6e7a ldr r2, [r7, #100] ; 0x64 - 80066ee: 6ebb ldr r3, [r7, #104] ; 0x68 - 80066f0: 1ad3 subs r3, r2, r3 - 80066f2: 65fb str r3, [r7, #92] ; 0x5c + 80067e4: 6e7a ldr r2, [r7, #100] ; 0x64 + 80067e6: 6ebb ldr r3, [r7, #104] ; 0x68 + 80067e8: 1ad3 subs r3, r2, r3 + 80067ea: 65fb str r3, [r7, #92] ; 0x5c //这个点如果是负数,肯定有错,可能是xy搞反了 if(x5<0||y5<0) - 80066f4: 6e3b ldr r3, [r7, #96] ; 0x60 - 80066f6: 2b00 cmp r3, #0 - 80066f8: db12 blt.n 8006720 - 80066fa: 6dfb ldr r3, [r7, #92] ; 0x5c - 80066fc: 2b00 cmp r3, #0 - 80066fe: da23 bge.n 8006748 - 8006700: e00e b.n 8006720 - 8006702: bf00 nop - 8006704: 40011c00 .word 0x40011c00 - 8006708: 0800a06c .word 0x0800a06c - 800670c: 0800a078 .word 0x0800a078 - 8006710: 0800a084 .word 0x0800a084 - 8006714: 0800a098 .word 0x0800a098 - 8006718: 0800a0ac .word 0x0800a0ac - 800671c: 0800a0c0 .word 0x0800a0c0 + 80067ec: 6e3b ldr r3, [r7, #96] ; 0x60 + 80067ee: 2b00 cmp r3, #0 + 80067f0: db12 blt.n 8006818 + 80067f2: 6dfb ldr r3, [r7, #92] ; 0x5c + 80067f4: 2b00 cmp r3, #0 + 80067f6: da23 bge.n 8006840 + 80067f8: e00e b.n 8006818 + 80067fa: bf00 nop + 80067fc: 40011c00 .word 0x40011c00 + 8006800: 0800a8c4 .word 0x0800a8c4 + 8006804: 0800a8d0 .word 0x0800a8d0 + 8006808: 0800a8dc .word 0x0800a8dc + 800680c: 0800a8f0 .word 0x0800a8f0 + 8006810: 0800a904 .word 0x0800a904 + 8006814: 0800a918 .word 0x0800a918 { //显示error sprintf(str,"ERROR"); - 8006720: f107 030c add.w r3, r7, #12 - 8006724: 4973 ldr r1, [pc, #460] ; (80068f4 ) - 8006726: 4618 mov r0, r3 - 8006728: f001 fbe2 bl 8007ef0 + 8006818: f107 030c add.w r3, r7, #12 + 800681c: 4973 ldr r1, [pc, #460] ; (80069ec ) + 800681e: 4618 mov r0, r3 + 8006820: f001 ff94 bl 800874c LCD_ShowString(0,66+16+16+16+16,str,16,RED, GRAY); - 800672c: f107 020c add.w r2, r7, #12 - 8006730: f248 4330 movw r3, #33840 ; 0x8430 - 8006734: 9301 str r3, [sp, #4] - 8006736: f44f 4378 mov.w r3, #63488 ; 0xf800 - 800673a: 9300 str r3, [sp, #0] - 800673c: 2310 movs r3, #16 - 800673e: 2182 movs r1, #130 ; 0x82 - 8006740: 2000 movs r0, #0 - 8006742: f7ff f973 bl 8005a2c - 8006746: e0bf b.n 80068c8 + 8006824: f107 020c add.w r2, r7, #12 + 8006828: f248 4330 movw r3, #33840 ; 0x8430 + 800682c: 9301 str r3, [sp, #4] + 800682e: f44f 4378 mov.w r3, #63488 ; 0xf800 + 8006832: 9300 str r3, [sp, #0] + 8006834: 2310 movs r3, #16 + 8006836: 2182 movs r1, #130 ; 0x82 + 8006838: 2000 movs r0, #0 + 800683a: f7ff f973 bl 8005b24 + 800683e: e0bf b.n 80069c0 }else { //计算关系倍率 //ad的长边减去短边再除去实际屏幕像素的长边减短边(260=320-30-30,180=240-30-30) acc_x=x5/260.0; - 8006748: 6e38 ldr r0, [r7, #96] ; 0x60 - 800674a: f7f9 fec7 bl 80004dc <__aeabi_i2d> - 800674e: f04f 0200 mov.w r2, #0 - 8006752: 4b69 ldr r3, [pc, #420] ; (80068f8 ) - 8006754: f7fa f856 bl 8000804 <__aeabi_ddiv> - 8006758: 4602 mov r2, r0 - 800675a: 460b mov r3, r1 - 800675c: 4610 mov r0, r2 - 800675e: 4619 mov r1, r3 - 8006760: f7fa f9fe bl 8000b60 <__aeabi_d2f> - 8006764: 4603 mov r3, r0 - 8006766: 65bb str r3, [r7, #88] ; 0x58 + 8006840: 6e38 ldr r0, [r7, #96] ; 0x60 + 8006842: f7f9 fe4b bl 80004dc <__aeabi_i2d> + 8006846: f04f 0200 mov.w r2, #0 + 800684a: 4b69 ldr r3, [pc, #420] ; (80069f0 ) + 800684c: f7f9 ffda bl 8000804 <__aeabi_ddiv> + 8006850: 4602 mov r2, r0 + 8006852: 460b mov r3, r1 + 8006854: 4610 mov r0, r2 + 8006856: 4619 mov r1, r3 + 8006858: f7fa f982 bl 8000b60 <__aeabi_d2f> + 800685c: 4603 mov r3, r0 + 800685e: 65bb str r3, [r7, #88] ; 0x58 acc_y=y5/180.0; - 8006768: 6df8 ldr r0, [r7, #92] ; 0x5c - 800676a: f7f9 feb7 bl 80004dc <__aeabi_i2d> - 800676e: f04f 0200 mov.w r2, #0 - 8006772: 4b62 ldr r3, [pc, #392] ; (80068fc ) - 8006774: f7fa f846 bl 8000804 <__aeabi_ddiv> - 8006778: 4602 mov r2, r0 - 800677a: 460b mov r3, r1 - 800677c: 4610 mov r0, r2 - 800677e: 4619 mov r1, r3 - 8006780: f7fa f9ee bl 8000b60 <__aeabi_d2f> - 8006784: 4603 mov r3, r0 - 8006786: 657b str r3, [r7, #84] ; 0x54 + 8006860: 6df8 ldr r0, [r7, #92] ; 0x5c + 8006862: f7f9 fe3b bl 80004dc <__aeabi_i2d> + 8006866: f04f 0200 mov.w r2, #0 + 800686a: 4b62 ldr r3, [pc, #392] ; (80069f4 ) + 800686c: f7f9 ffca bl 8000804 <__aeabi_ddiv> + 8006870: 4602 mov r2, r0 + 8006872: 460b mov r3, r1 + 8006874: 4610 mov r0, r2 + 8006876: 4619 mov r1, r3 + 8006878: f7fa f972 bl 8000b60 <__aeabi_d2f> + 800687c: 4603 mov r3, r0 + 800687e: 657b str r3, [r7, #84] ; 0x54 //验证倍率,将实际值减去验证值就等于误差值,因为有两个点,所以计算了两个误差后求了平均值 offset_x=(((xd/acc_x)-30)+((xl/acc_x)-290))/2; - 8006788: 6f38 ldr r0, [r7, #112] ; 0x70 - 800678a: f7fa faf3 bl 8000d74 <__aeabi_i2f> - 800678e: 4603 mov r3, r0 - 8006790: 6db9 ldr r1, [r7, #88] ; 0x58 - 8006792: 4618 mov r0, r3 - 8006794: f7fa fbf6 bl 8000f84 <__aeabi_fdiv> - 8006798: 4603 mov r3, r0 - 800679a: 4959 ldr r1, [pc, #356] ; (8006900 ) - 800679c: 4618 mov r0, r3 - 800679e: f7fa fa33 bl 8000c08 <__aeabi_fsub> - 80067a2: 4603 mov r3, r0 - 80067a4: 461c mov r4, r3 - 80067a6: 6ef8 ldr r0, [r7, #108] ; 0x6c - 80067a8: f7fa fae4 bl 8000d74 <__aeabi_i2f> - 80067ac: 4603 mov r3, r0 - 80067ae: 6db9 ldr r1, [r7, #88] ; 0x58 - 80067b0: 4618 mov r0, r3 - 80067b2: f7fa fbe7 bl 8000f84 <__aeabi_fdiv> - 80067b6: 4603 mov r3, r0 - 80067b8: 4952 ldr r1, [pc, #328] ; (8006904 ) - 80067ba: 4618 mov r0, r3 - 80067bc: f7fa fa24 bl 8000c08 <__aeabi_fsub> - 80067c0: 4603 mov r3, r0 - 80067c2: 4619 mov r1, r3 - 80067c4: 4620 mov r0, r4 - 80067c6: f7fa fa21 bl 8000c0c <__addsf3> - 80067ca: 4603 mov r3, r0 - 80067cc: f04f 4180 mov.w r1, #1073741824 ; 0x40000000 - 80067d0: 4618 mov r0, r3 - 80067d2: f7fa fbd7 bl 8000f84 <__aeabi_fdiv> - 80067d6: 4603 mov r3, r0 - 80067d8: 4618 mov r0, r3 - 80067da: f7fa fc6f bl 80010bc <__aeabi_f2iz> - 80067de: 4603 mov r3, r0 - 80067e0: 653b str r3, [r7, #80] ; 0x50 + 8006880: 6f38 ldr r0, [r7, #112] ; 0x70 + 8006882: f7fa fa77 bl 8000d74 <__aeabi_i2f> + 8006886: 4603 mov r3, r0 + 8006888: 6db9 ldr r1, [r7, #88] ; 0x58 + 800688a: 4618 mov r0, r3 + 800688c: f7fa fb7a bl 8000f84 <__aeabi_fdiv> + 8006890: 4603 mov r3, r0 + 8006892: 4959 ldr r1, [pc, #356] ; (80069f8 ) + 8006894: 4618 mov r0, r3 + 8006896: f7fa f9b7 bl 8000c08 <__aeabi_fsub> + 800689a: 4603 mov r3, r0 + 800689c: 461c mov r4, r3 + 800689e: 6ef8 ldr r0, [r7, #108] ; 0x6c + 80068a0: f7fa fa68 bl 8000d74 <__aeabi_i2f> + 80068a4: 4603 mov r3, r0 + 80068a6: 6db9 ldr r1, [r7, #88] ; 0x58 + 80068a8: 4618 mov r0, r3 + 80068aa: f7fa fb6b bl 8000f84 <__aeabi_fdiv> + 80068ae: 4603 mov r3, r0 + 80068b0: 4952 ldr r1, [pc, #328] ; (80069fc ) + 80068b2: 4618 mov r0, r3 + 80068b4: f7fa f9a8 bl 8000c08 <__aeabi_fsub> + 80068b8: 4603 mov r3, r0 + 80068ba: 4619 mov r1, r3 + 80068bc: 4620 mov r0, r4 + 80068be: f7fa f9a5 bl 8000c0c <__addsf3> + 80068c2: 4603 mov r3, r0 + 80068c4: f04f 4180 mov.w r1, #1073741824 ; 0x40000000 + 80068c8: 4618 mov r0, r3 + 80068ca: f7fa fb5b bl 8000f84 <__aeabi_fdiv> + 80068ce: 4603 mov r3, r0 + 80068d0: 4618 mov r0, r3 + 80068d2: f7fa fbf3 bl 80010bc <__aeabi_f2iz> + 80068d6: 4603 mov r3, r0 + 80068d8: 653b str r3, [r7, #80] ; 0x50 offset_y=(((yd/acc_y)-30)+((yl/acc_y)-210))/2; - 80067e2: 6eb8 ldr r0, [r7, #104] ; 0x68 - 80067e4: f7fa fac6 bl 8000d74 <__aeabi_i2f> - 80067e8: 4603 mov r3, r0 - 80067ea: 6d79 ldr r1, [r7, #84] ; 0x54 - 80067ec: 4618 mov r0, r3 - 80067ee: f7fa fbc9 bl 8000f84 <__aeabi_fdiv> - 80067f2: 4603 mov r3, r0 - 80067f4: 4942 ldr r1, [pc, #264] ; (8006900 ) - 80067f6: 4618 mov r0, r3 - 80067f8: f7fa fa06 bl 8000c08 <__aeabi_fsub> - 80067fc: 4603 mov r3, r0 - 80067fe: 461c mov r4, r3 - 8006800: 6e78 ldr r0, [r7, #100] ; 0x64 - 8006802: f7fa fab7 bl 8000d74 <__aeabi_i2f> - 8006806: 4603 mov r3, r0 - 8006808: 6d79 ldr r1, [r7, #84] ; 0x54 - 800680a: 4618 mov r0, r3 - 800680c: f7fa fbba bl 8000f84 <__aeabi_fdiv> - 8006810: 4603 mov r3, r0 - 8006812: 493d ldr r1, [pc, #244] ; (8006908 ) - 8006814: 4618 mov r0, r3 - 8006816: f7fa f9f7 bl 8000c08 <__aeabi_fsub> - 800681a: 4603 mov r3, r0 - 800681c: 4619 mov r1, r3 - 800681e: 4620 mov r0, r4 - 8006820: f7fa f9f4 bl 8000c0c <__addsf3> - 8006824: 4603 mov r3, r0 - 8006826: f04f 4180 mov.w r1, #1073741824 ; 0x40000000 - 800682a: 4618 mov r0, r3 - 800682c: f7fa fbaa bl 8000f84 <__aeabi_fdiv> - 8006830: 4603 mov r3, r0 - 8006832: 4618 mov r0, r3 - 8006834: f7fa fc42 bl 80010bc <__aeabi_f2iz> - 8006838: 4603 mov r3, r0 - 800683a: 64fb str r3, [r7, #76] ; 0x4c + 80068da: 6eb8 ldr r0, [r7, #104] ; 0x68 + 80068dc: f7fa fa4a bl 8000d74 <__aeabi_i2f> + 80068e0: 4603 mov r3, r0 + 80068e2: 6d79 ldr r1, [r7, #84] ; 0x54 + 80068e4: 4618 mov r0, r3 + 80068e6: f7fa fb4d bl 8000f84 <__aeabi_fdiv> + 80068ea: 4603 mov r3, r0 + 80068ec: 4942 ldr r1, [pc, #264] ; (80069f8 ) + 80068ee: 4618 mov r0, r3 + 80068f0: f7fa f98a bl 8000c08 <__aeabi_fsub> + 80068f4: 4603 mov r3, r0 + 80068f6: 461c mov r4, r3 + 80068f8: 6e78 ldr r0, [r7, #100] ; 0x64 + 80068fa: f7fa fa3b bl 8000d74 <__aeabi_i2f> + 80068fe: 4603 mov r3, r0 + 8006900: 6d79 ldr r1, [r7, #84] ; 0x54 + 8006902: 4618 mov r0, r3 + 8006904: f7fa fb3e bl 8000f84 <__aeabi_fdiv> + 8006908: 4603 mov r3, r0 + 800690a: 493d ldr r1, [pc, #244] ; (8006a00 ) + 800690c: 4618 mov r0, r3 + 800690e: f7fa f97b bl 8000c08 <__aeabi_fsub> + 8006912: 4603 mov r3, r0 + 8006914: 4619 mov r1, r3 + 8006916: 4620 mov r0, r4 + 8006918: f7fa f978 bl 8000c0c <__addsf3> + 800691c: 4603 mov r3, r0 + 800691e: f04f 4180 mov.w r1, #1073741824 ; 0x40000000 + 8006922: 4618 mov r0, r3 + 8006924: f7fa fb2e bl 8000f84 <__aeabi_fdiv> + 8006928: 4603 mov r3, r0 + 800692a: 4618 mov r0, r3 + 800692c: f7fa fbc6 bl 80010bc <__aeabi_f2iz> + 8006930: 4603 mov r3, r0 + 8006932: 64fb str r3, [r7, #76] ; 0x4c //保存计算结果 tconfig.x_acc=acc_x; - 800683c: 4a33 ldr r2, [pc, #204] ; (800690c ) - 800683e: 6dbb ldr r3, [r7, #88] ; 0x58 - 8006840: 6053 str r3, [r2, #4] + 8006934: 4a33 ldr r2, [pc, #204] ; (8006a04 ) + 8006936: 6dbb ldr r3, [r7, #88] ; 0x58 + 8006938: 6053 str r3, [r2, #4] tconfig.x_offset=offset_x; - 8006842: 4a32 ldr r2, [pc, #200] ; (800690c ) - 8006844: 6d3b ldr r3, [r7, #80] ; 0x50 - 8006846: 60d3 str r3, [r2, #12] + 800693a: 4a32 ldr r2, [pc, #200] ; (8006a04 ) + 800693c: 6d3b ldr r3, [r7, #80] ; 0x50 + 800693e: 60d3 str r3, [r2, #12] tconfig.y_acc=acc_y; - 8006848: 4a30 ldr r2, [pc, #192] ; (800690c ) - 800684a: 6d7b ldr r3, [r7, #84] ; 0x54 - 800684c: 6093 str r3, [r2, #8] + 8006940: 4a30 ldr r2, [pc, #192] ; (8006a04 ) + 8006942: 6d7b ldr r3, [r7, #84] ; 0x54 + 8006944: 6093 str r3, [r2, #8] tconfig.y_offset=offset_y; - 800684e: 4a2f ldr r2, [pc, #188] ; (800690c ) - 8006850: 6cfb ldr r3, [r7, #76] ; 0x4c - 8006852: 6113 str r3, [r2, #16] + 8006946: 4a2f ldr r2, [pc, #188] ; (8006a04 ) + 8006948: 6cfb ldr r3, [r7, #76] ; 0x4c + 800694a: 6113 str r3, [r2, #16] //eeprom块标记 tconfig.begin=0xab; - 8006854: 4b2d ldr r3, [pc, #180] ; (800690c ) - 8006856: 22ab movs r2, #171 ; 0xab - 8006858: 701a strb r2, [r3, #0] + 800694c: 4b2d ldr r3, [pc, #180] ; (8006a04 ) + 800694e: 22ab movs r2, #171 ; 0xab + 8006950: 701a strb r2, [r3, #0] tconfig.end=0xcd; - 800685a: 4b2c ldr r3, [pc, #176] ; (800690c ) - 800685c: 22cd movs r2, #205 ; 0xcd - 800685e: 751a strb r2, [r3, #20] + 8006952: 4b2c ldr r3, [pc, #176] ; (8006a04 ) + 8006954: 22cd movs r2, #205 ; 0xcd + 8006956: 751a strb r2, [r3, #20] //显示计算结果 sprintf(str,"x_acc=%f y_acc=%f",acc_x,acc_y); - 8006860: 6db8 ldr r0, [r7, #88] ; 0x58 - 8006862: f7f9 fe4d bl 8000500 <__aeabi_f2d> - 8006866: 4604 mov r4, r0 - 8006868: 460d mov r5, r1 - 800686a: 6d78 ldr r0, [r7, #84] ; 0x54 - 800686c: f7f9 fe48 bl 8000500 <__aeabi_f2d> - 8006870: 4602 mov r2, r0 - 8006872: 460b mov r3, r1 - 8006874: f107 000c add.w r0, r7, #12 - 8006878: e9cd 2300 strd r2, r3, [sp] - 800687c: 4622 mov r2, r4 - 800687e: 462b mov r3, r5 - 8006880: 4923 ldr r1, [pc, #140] ; (8006910 ) - 8006882: f001 fb35 bl 8007ef0 + 8006958: 6db8 ldr r0, [r7, #88] ; 0x58 + 800695a: f7f9 fdd1 bl 8000500 <__aeabi_f2d> + 800695e: 4604 mov r4, r0 + 8006960: 460d mov r5, r1 + 8006962: 6d78 ldr r0, [r7, #84] ; 0x54 + 8006964: f7f9 fdcc bl 8000500 <__aeabi_f2d> + 8006968: 4602 mov r2, r0 + 800696a: 460b mov r3, r1 + 800696c: f107 000c add.w r0, r7, #12 + 8006970: e9cd 2300 strd r2, r3, [sp] + 8006974: 4622 mov r2, r4 + 8006976: 462b mov r3, r5 + 8006978: 4923 ldr r1, [pc, #140] ; (8006a08 ) + 800697a: f001 fee7 bl 800874c LCD_ShowString(0,66+16+16+16+16,str,16,RED,RED); - 8006886: f107 020c add.w r2, r7, #12 - 800688a: f44f 4378 mov.w r3, #63488 ; 0xf800 - 800688e: 9301 str r3, [sp, #4] - 8006890: f44f 4378 mov.w r3, #63488 ; 0xf800 - 8006894: 9300 str r3, [sp, #0] - 8006896: 2310 movs r3, #16 - 8006898: 2182 movs r1, #130 ; 0x82 - 800689a: 2000 movs r0, #0 - 800689c: f7ff f8c6 bl 8005a2c + 800697e: f107 020c add.w r2, r7, #12 + 8006982: f44f 4378 mov.w r3, #63488 ; 0xf800 + 8006986: 9301 str r3, [sp, #4] + 8006988: f44f 4378 mov.w r3, #63488 ; 0xf800 + 800698c: 9300 str r3, [sp, #0] + 800698e: 2310 movs r3, #16 + 8006990: 2182 movs r1, #130 ; 0x82 + 8006992: 2000 movs r0, #0 + 8006994: f7ff f8c6 bl 8005b24 sprintf(str,"x_offset=%d y_offset=%d",offset_x,offset_y); - 80068a0: f107 000c add.w r0, r7, #12 - 80068a4: 6cfb ldr r3, [r7, #76] ; 0x4c - 80068a6: 6d3a ldr r2, [r7, #80] ; 0x50 - 80068a8: 491a ldr r1, [pc, #104] ; (8006914 ) - 80068aa: f001 fb21 bl 8007ef0 + 8006998: f107 000c add.w r0, r7, #12 + 800699c: 6cfb ldr r3, [r7, #76] ; 0x4c + 800699e: 6d3a ldr r2, [r7, #80] ; 0x50 + 80069a0: 491a ldr r1, [pc, #104] ; (8006a0c ) + 80069a2: f001 fed3 bl 800874c LCD_ShowString(0,66+16+16+16+16+16,str,16,RED,RED); - 80068ae: f107 020c add.w r2, r7, #12 - 80068b2: f44f 4378 mov.w r3, #63488 ; 0xf800 - 80068b6: 9301 str r3, [sp, #4] - 80068b8: f44f 4378 mov.w r3, #63488 ; 0xf800 - 80068bc: 9300 str r3, [sp, #0] - 80068be: 2310 movs r3, #16 - 80068c0: 2192 movs r1, #146 ; 0x92 - 80068c2: 2000 movs r0, #0 - 80068c4: f7ff f8b2 bl 8005a2c + 80069a6: f107 020c add.w r2, r7, #12 + 80069aa: f44f 4378 mov.w r3, #63488 ; 0xf800 + 80069ae: 9301 str r3, [sp, #4] + 80069b0: f44f 4378 mov.w r3, #63488 ; 0xf800 + 80069b4: 9300 str r3, [sp, #0] + 80069b6: 2310 movs r3, #16 + 80069b8: 2192 movs r1, #146 ; 0x92 + 80069ba: 2000 movs r0, #0 + 80069bc: f7ff f8b2 bl 8005b24 } //将结果保存起来 EEPROM_WRITE_BATY(16,(char *)&tconfig,sizeof(touch_config)); - 80068c8: 2218 movs r2, #24 - 80068ca: 4910 ldr r1, [pc, #64] ; (800690c ) - 80068cc: 2010 movs r0, #16 - 80068ce: f7ff f9f7 bl 8005cc0 + 80069c0: 2218 movs r2, #24 + 80069c2: 4910 ldr r1, [pc, #64] ; (8006a04 ) + 80069c4: 2010 movs r0, #16 + 80069c6: f7ff f9f7 bl 8005db8 HAL_Delay(1000); - 80068d2: f44f 707a mov.w r0, #1000 ; 0x3e8 - 80068d6: f7fb fa4b bl 8001d70 + 80069ca: f44f 707a mov.w r0, #1000 ; 0x3e8 + 80069ce: f7fb f9cf bl 8001d70 return; - 80068da: e008 b.n 80068ee + 80069d2: e008 b.n 80069e6 while(HAL_GetTick() - 80068e0: 4602 mov r2, r0 - 80068e2: 6fbb ldr r3, [r7, #120] ; 0x78 - 80068e4: 4293 cmp r3, r2 - 80068e6: f63f ad6d bhi.w 80063c4 - 80068ea: e000 b.n 80068ee + 80069d4: f7fb f9c2 bl 8001d5c + 80069d8: 4602 mov r2, r0 + 80069da: 6fbb ldr r3, [r7, #120] ; 0x78 + 80069dc: 4293 cmp r3, r2 + 80069de: f63f ad6d bhi.w 80064bc + 80069e2: e000 b.n 80069e6 return; //已经校准过了 - 80068ec: bf00 nop + 80069e4: bf00 nop } } } - 80068ee: 3790 adds r7, #144 ; 0x90 - 80068f0: 46bd mov sp, r7 - 80068f2: bdb0 pop {r4, r5, r7, pc} - 80068f4: 0800a0d4 .word 0x0800a0d4 - 80068f8: 40704000 .word 0x40704000 - 80068fc: 40668000 .word 0x40668000 - 8006900: 41f00000 .word 0x41f00000 - 8006904: 43910000 .word 0x43910000 - 8006908: 43520000 .word 0x43520000 - 800690c: 200003ec .word 0x200003ec - 8006910: 0800a0dc .word 0x0800a0dc - 8006914: 0800a0f0 .word 0x0800a0f0 + 80069e6: 3790 adds r7, #144 ; 0x90 + 80069e8: 46bd mov sp, r7 + 80069ea: bdb0 pop {r4, r5, r7, pc} + 80069ec: 0800a92c .word 0x0800a92c + 80069f0: 40704000 .word 0x40704000 + 80069f4: 40668000 .word 0x40668000 + 80069f8: 41f00000 .word 0x41f00000 + 80069fc: 43910000 .word 0x43910000 + 8006a00: 43520000 .word 0x43520000 + 8006a04: 200003ec .word 0x200003ec + 8006a08: 0800a934 .word 0x0800a934 + 8006a0c: 0800a948 .word 0x0800a948 -08006918 : +08006a10 : #include "APP_keyboard.h" window *keyboard_window; void APP_KEYBOARD_init(window *a_window) { - 8006918: b480 push {r7} - 800691a: b083 sub sp, #12 - 800691c: af00 add r7, sp, #0 - 800691e: 6078 str r0, [r7, #4] + 8006a10: b480 push {r7} + 8006a12: b083 sub sp, #12 + 8006a14: af00 add r7, sp, #0 + 8006a16: 6078 str r0, [r7, #4] keyboard_window=a_window; - 8006920: 4a03 ldr r2, [pc, #12] ; (8006930 ) - 8006922: 687b ldr r3, [r7, #4] - 8006924: 6013 str r3, [r2, #0] + 8006a18: 4a07 ldr r2, [pc, #28] ; (8006a38 ) + 8006a1a: 687b ldr r3, [r7, #4] + 8006a1c: 6013 str r3, [r2, #0] + keyboard_window->high=146; + 8006a1e: 4b06 ldr r3, [pc, #24] ; (8006a38 ) + 8006a20: 681b ldr r3, [r3, #0] + 8006a22: 2292 movs r2, #146 ; 0x92 + 8006a24: 60da str r2, [r3, #12] + keyboard_window->width=180; + 8006a26: 4b04 ldr r3, [pc, #16] ; (8006a38 ) + 8006a28: 681b ldr r3, [r3, #0] + 8006a2a: 22b4 movs r2, #180 ; 0xb4 + 8006a2c: 609a str r2, [r3, #8] } - 8006926: bf00 nop - 8006928: 370c adds r7, #12 - 800692a: 46bd mov sp, r7 - 800692c: bc80 pop {r7} - 800692e: 4770 bx lr - 8006930: 20000404 .word 0x20000404 + 8006a2e: bf00 nop + 8006a30: 370c adds r7, #12 + 8006a32: 46bd mov sp, r7 + 8006a34: bc80 pop {r7} + 8006a36: 4770 bx lr + 8006a38: 20000404 .word 0x20000404 -08006934 : +08006a3c : + + +void down_one_key(int x,int y,char v) +{ + 8006a3c: b590 push {r4, r7, lr} + 8006a3e: b087 sub sp, #28 + 8006a40: af02 add r7, sp, #8 + 8006a42: 60f8 str r0, [r7, #12] + 8006a44: 60b9 str r1, [r7, #8] + 8006a46: 4613 mov r3, r2 + 8006a48: 71fb strb r3, [r7, #7] + LCD_Fill(x,y,x+30,y+30,GRAY); + 8006a4a: 68fb ldr r3, [r7, #12] + 8006a4c: b298 uxth r0, r3 + 8006a4e: 68bb ldr r3, [r7, #8] + 8006a50: b299 uxth r1, r3 + 8006a52: 68fb ldr r3, [r7, #12] + 8006a54: b29b uxth r3, r3 + 8006a56: 331e adds r3, #30 + 8006a58: b29a uxth r2, r3 + 8006a5a: 68bb ldr r3, [r7, #8] + 8006a5c: b29b uxth r3, r3 + 8006a5e: 331e adds r3, #30 + 8006a60: b29b uxth r3, r3 + 8006a62: f248 4430 movw r4, #33840 ; 0x8430 + 8006a66: 9400 str r4, [sp, #0] + 8006a68: f7fe fe34 bl 80056d4 + LCD_ShowChar(x+8,y+8,v,16,GRAY,WHITE); + 8006a6c: 68fb ldr r3, [r7, #12] + 8006a6e: f103 0008 add.w r0, r3, #8 + 8006a72: 68bb ldr r3, [r7, #8] + 8006a74: f103 0108 add.w r1, r3, #8 + 8006a78: 79fa ldrb r2, [r7, #7] + 8006a7a: f64f 73ff movw r3, #65535 ; 0xffff + 8006a7e: 9301 str r3, [sp, #4] + 8006a80: f248 4330 movw r3, #33840 ; 0x8430 + 8006a84: 9300 str r3, [sp, #0] + 8006a86: 2310 movs r3, #16 + 8006a88: f7fe ffd0 bl 8005a2c +} + 8006a8c: bf00 nop + 8006a8e: 3714 adds r7, #20 + 8006a90: 46bd mov sp, r7 + 8006a92: bd90 pop {r4, r7, pc} + +08006a94 : + +char getkeyboardv(int x,int y) +{ + 8006a94: b480 push {r7} + 8006a96: b083 sub sp, #12 + 8006a98: af00 add r7, sp, #0 + 8006a9a: 6078 str r0, [r7, #4] + 8006a9c: 6039 str r1, [r7, #0] + + if(x>keyboard_window->x+2&&xx+2+32&&y>keyboard_window->y+17&&yy+17+32) + 8006a9e: 4b87 ldr r3, [pc, #540] ; (8006cbc ) + 8006aa0: 681b ldr r3, [r3, #0] + 8006aa2: 681b ldr r3, [r3, #0] + 8006aa4: 3302 adds r3, #2 + 8006aa6: 687a ldr r2, [r7, #4] + 8006aa8: 429a cmp r2, r3 + 8006aaa: dd16 ble.n 8006ada + 8006aac: 4b83 ldr r3, [pc, #524] ; (8006cbc ) + 8006aae: 681b ldr r3, [r3, #0] + 8006ab0: 681b ldr r3, [r3, #0] + 8006ab2: 3321 adds r3, #33 ; 0x21 + 8006ab4: 687a ldr r2, [r7, #4] + 8006ab6: 429a cmp r2, r3 + 8006ab8: dc0f bgt.n 8006ada + 8006aba: 4b80 ldr r3, [pc, #512] ; (8006cbc ) + 8006abc: 681b ldr r3, [r3, #0] + 8006abe: 685b ldr r3, [r3, #4] + 8006ac0: 3311 adds r3, #17 + 8006ac2: 683a ldr r2, [r7, #0] + 8006ac4: 429a cmp r2, r3 + 8006ac6: dd08 ble.n 8006ada + 8006ac8: 4b7c ldr r3, [pc, #496] ; (8006cbc ) + 8006aca: 681b ldr r3, [r3, #0] + 8006acc: 685b ldr r3, [r3, #4] + 8006ace: 3330 adds r3, #48 ; 0x30 + 8006ad0: 683a ldr r2, [r7, #0] + 8006ad2: 429a cmp r2, r3 + 8006ad4: dc01 bgt.n 8006ada + { + return '0'; + 8006ad6: 2330 movs r3, #48 ; 0x30 + 8006ad8: e201 b.n 8006ede + } + + if(x>keyboard_window->x+34&&xx+34+32&&y>keyboard_window->y+17&&yy+17+32) + 8006ada: 4b78 ldr r3, [pc, #480] ; (8006cbc ) + 8006adc: 681b ldr r3, [r3, #0] + 8006ade: 681b ldr r3, [r3, #0] + 8006ae0: 3322 adds r3, #34 ; 0x22 + 8006ae2: 687a ldr r2, [r7, #4] + 8006ae4: 429a cmp r2, r3 + 8006ae6: dd16 ble.n 8006b16 + 8006ae8: 4b74 ldr r3, [pc, #464] ; (8006cbc ) + 8006aea: 681b ldr r3, [r3, #0] + 8006aec: 681b ldr r3, [r3, #0] + 8006aee: 3341 adds r3, #65 ; 0x41 + 8006af0: 687a ldr r2, [r7, #4] + 8006af2: 429a cmp r2, r3 + 8006af4: dc0f bgt.n 8006b16 + 8006af6: 4b71 ldr r3, [pc, #452] ; (8006cbc ) + 8006af8: 681b ldr r3, [r3, #0] + 8006afa: 685b ldr r3, [r3, #4] + 8006afc: 3311 adds r3, #17 + 8006afe: 683a ldr r2, [r7, #0] + 8006b00: 429a cmp r2, r3 + 8006b02: dd08 ble.n 8006b16 + 8006b04: 4b6d ldr r3, [pc, #436] ; (8006cbc ) + 8006b06: 681b ldr r3, [r3, #0] + 8006b08: 685b ldr r3, [r3, #4] + 8006b0a: 3330 adds r3, #48 ; 0x30 + 8006b0c: 683a ldr r2, [r7, #0] + 8006b0e: 429a cmp r2, r3 + 8006b10: dc01 bgt.n 8006b16 + { + return '1'; + 8006b12: 2331 movs r3, #49 ; 0x31 + 8006b14: e1e3 b.n 8006ede + } + + + if(x>keyboard_window->x+66&&xx+66+32&&y>keyboard_window->y+17&&yy+17+32) + 8006b16: 4b69 ldr r3, [pc, #420] ; (8006cbc ) + 8006b18: 681b ldr r3, [r3, #0] + 8006b1a: 681b ldr r3, [r3, #0] + 8006b1c: 3342 adds r3, #66 ; 0x42 + 8006b1e: 687a ldr r2, [r7, #4] + 8006b20: 429a cmp r2, r3 + 8006b22: dd16 ble.n 8006b52 + 8006b24: 4b65 ldr r3, [pc, #404] ; (8006cbc ) + 8006b26: 681b ldr r3, [r3, #0] + 8006b28: 681b ldr r3, [r3, #0] + 8006b2a: 3361 adds r3, #97 ; 0x61 + 8006b2c: 687a ldr r2, [r7, #4] + 8006b2e: 429a cmp r2, r3 + 8006b30: dc0f bgt.n 8006b52 + 8006b32: 4b62 ldr r3, [pc, #392] ; (8006cbc ) + 8006b34: 681b ldr r3, [r3, #0] + 8006b36: 685b ldr r3, [r3, #4] + 8006b38: 3311 adds r3, #17 + 8006b3a: 683a ldr r2, [r7, #0] + 8006b3c: 429a cmp r2, r3 + 8006b3e: dd08 ble.n 8006b52 + 8006b40: 4b5e ldr r3, [pc, #376] ; (8006cbc ) + 8006b42: 681b ldr r3, [r3, #0] + 8006b44: 685b ldr r3, [r3, #4] + 8006b46: 3330 adds r3, #48 ; 0x30 + 8006b48: 683a ldr r2, [r7, #0] + 8006b4a: 429a cmp r2, r3 + 8006b4c: dc01 bgt.n 8006b52 + { + return '2'; + 8006b4e: 2332 movs r3, #50 ; 0x32 + 8006b50: e1c5 b.n 8006ede + } + + + if(x>keyboard_window->x+98&&xx+98+32&&y>keyboard_window->y+17&&yy+17+32) + 8006b52: 4b5a ldr r3, [pc, #360] ; (8006cbc ) + 8006b54: 681b ldr r3, [r3, #0] + 8006b56: 681b ldr r3, [r3, #0] + 8006b58: 3362 adds r3, #98 ; 0x62 + 8006b5a: 687a ldr r2, [r7, #4] + 8006b5c: 429a cmp r2, r3 + 8006b5e: dd16 ble.n 8006b8e + 8006b60: 4b56 ldr r3, [pc, #344] ; (8006cbc ) + 8006b62: 681b ldr r3, [r3, #0] + 8006b64: 681b ldr r3, [r3, #0] + 8006b66: 3381 adds r3, #129 ; 0x81 + 8006b68: 687a ldr r2, [r7, #4] + 8006b6a: 429a cmp r2, r3 + 8006b6c: dc0f bgt.n 8006b8e + 8006b6e: 4b53 ldr r3, [pc, #332] ; (8006cbc ) + 8006b70: 681b ldr r3, [r3, #0] + 8006b72: 685b ldr r3, [r3, #4] + 8006b74: 3311 adds r3, #17 + 8006b76: 683a ldr r2, [r7, #0] + 8006b78: 429a cmp r2, r3 + 8006b7a: dd08 ble.n 8006b8e + 8006b7c: 4b4f ldr r3, [pc, #316] ; (8006cbc ) + 8006b7e: 681b ldr r3, [r3, #0] + 8006b80: 685b ldr r3, [r3, #4] + 8006b82: 3330 adds r3, #48 ; 0x30 + 8006b84: 683a ldr r2, [r7, #0] + 8006b86: 429a cmp r2, r3 + 8006b88: dc01 bgt.n 8006b8e + { + return '3'; + 8006b8a: 2333 movs r3, #51 ; 0x33 + 8006b8c: e1a7 b.n 8006ede + } + if(x>keyboard_window->x+2&&xx+2+32&&y>keyboard_window->y+49&&yy+49+32) + 8006b8e: 4b4b ldr r3, [pc, #300] ; (8006cbc ) + 8006b90: 681b ldr r3, [r3, #0] + 8006b92: 681b ldr r3, [r3, #0] + 8006b94: 3302 adds r3, #2 + 8006b96: 687a ldr r2, [r7, #4] + 8006b98: 429a cmp r2, r3 + 8006b9a: dd16 ble.n 8006bca + 8006b9c: 4b47 ldr r3, [pc, #284] ; (8006cbc ) + 8006b9e: 681b ldr r3, [r3, #0] + 8006ba0: 681b ldr r3, [r3, #0] + 8006ba2: 3321 adds r3, #33 ; 0x21 + 8006ba4: 687a ldr r2, [r7, #4] + 8006ba6: 429a cmp r2, r3 + 8006ba8: dc0f bgt.n 8006bca + 8006baa: 4b44 ldr r3, [pc, #272] ; (8006cbc ) + 8006bac: 681b ldr r3, [r3, #0] + 8006bae: 685b ldr r3, [r3, #4] + 8006bb0: 3331 adds r3, #49 ; 0x31 + 8006bb2: 683a ldr r2, [r7, #0] + 8006bb4: 429a cmp r2, r3 + 8006bb6: dd08 ble.n 8006bca + 8006bb8: 4b40 ldr r3, [pc, #256] ; (8006cbc ) + 8006bba: 681b ldr r3, [r3, #0] + 8006bbc: 685b ldr r3, [r3, #4] + 8006bbe: 3350 adds r3, #80 ; 0x50 + 8006bc0: 683a ldr r2, [r7, #0] + 8006bc2: 429a cmp r2, r3 + 8006bc4: dc01 bgt.n 8006bca + { + return '4'; + 8006bc6: 2334 movs r3, #52 ; 0x34 + 8006bc8: e189 b.n 8006ede + } + if(x>keyboard_window->x+34&&xx+34+32&&y>keyboard_window->y+49&&yy+49+32) + 8006bca: 4b3c ldr r3, [pc, #240] ; (8006cbc ) + 8006bcc: 681b ldr r3, [r3, #0] + 8006bce: 681b ldr r3, [r3, #0] + 8006bd0: 3322 adds r3, #34 ; 0x22 + 8006bd2: 687a ldr r2, [r7, #4] + 8006bd4: 429a cmp r2, r3 + 8006bd6: dd16 ble.n 8006c06 + 8006bd8: 4b38 ldr r3, [pc, #224] ; (8006cbc ) + 8006bda: 681b ldr r3, [r3, #0] + 8006bdc: 681b ldr r3, [r3, #0] + 8006bde: 3341 adds r3, #65 ; 0x41 + 8006be0: 687a ldr r2, [r7, #4] + 8006be2: 429a cmp r2, r3 + 8006be4: dc0f bgt.n 8006c06 + 8006be6: 4b35 ldr r3, [pc, #212] ; (8006cbc ) + 8006be8: 681b ldr r3, [r3, #0] + 8006bea: 685b ldr r3, [r3, #4] + 8006bec: 3331 adds r3, #49 ; 0x31 + 8006bee: 683a ldr r2, [r7, #0] + 8006bf0: 429a cmp r2, r3 + 8006bf2: dd08 ble.n 8006c06 + 8006bf4: 4b31 ldr r3, [pc, #196] ; (8006cbc ) + 8006bf6: 681b ldr r3, [r3, #0] + 8006bf8: 685b ldr r3, [r3, #4] + 8006bfa: 3350 adds r3, #80 ; 0x50 + 8006bfc: 683a ldr r2, [r7, #0] + 8006bfe: 429a cmp r2, r3 + 8006c00: dc01 bgt.n 8006c06 + { + return '5'; + 8006c02: 2335 movs r3, #53 ; 0x35 + 8006c04: e16b b.n 8006ede + } + + + if(x>keyboard_window->x+66&&xx+66+32&&y>keyboard_window->y+49&&yy+49+32) + 8006c06: 4b2d ldr r3, [pc, #180] ; (8006cbc ) + 8006c08: 681b ldr r3, [r3, #0] + 8006c0a: 681b ldr r3, [r3, #0] + 8006c0c: 3342 adds r3, #66 ; 0x42 + 8006c0e: 687a ldr r2, [r7, #4] + 8006c10: 429a cmp r2, r3 + 8006c12: dd16 ble.n 8006c42 + 8006c14: 4b29 ldr r3, [pc, #164] ; (8006cbc ) + 8006c16: 681b ldr r3, [r3, #0] + 8006c18: 681b ldr r3, [r3, #0] + 8006c1a: 3361 adds r3, #97 ; 0x61 + 8006c1c: 687a ldr r2, [r7, #4] + 8006c1e: 429a cmp r2, r3 + 8006c20: dc0f bgt.n 8006c42 + 8006c22: 4b26 ldr r3, [pc, #152] ; (8006cbc ) + 8006c24: 681b ldr r3, [r3, #0] + 8006c26: 685b ldr r3, [r3, #4] + 8006c28: 3331 adds r3, #49 ; 0x31 + 8006c2a: 683a ldr r2, [r7, #0] + 8006c2c: 429a cmp r2, r3 + 8006c2e: dd08 ble.n 8006c42 + 8006c30: 4b22 ldr r3, [pc, #136] ; (8006cbc ) + 8006c32: 681b ldr r3, [r3, #0] + 8006c34: 685b ldr r3, [r3, #4] + 8006c36: 3350 adds r3, #80 ; 0x50 + 8006c38: 683a ldr r2, [r7, #0] + 8006c3a: 429a cmp r2, r3 + 8006c3c: dc01 bgt.n 8006c42 + { + return '6'; + 8006c3e: 2336 movs r3, #54 ; 0x36 + 8006c40: e14d b.n 8006ede + } + + + if(x>keyboard_window->x+98&&xx+98+32&&y>keyboard_window->y+49&&yy+49+32) + 8006c42: 4b1e ldr r3, [pc, #120] ; (8006cbc ) + 8006c44: 681b ldr r3, [r3, #0] + 8006c46: 681b ldr r3, [r3, #0] + 8006c48: 3362 adds r3, #98 ; 0x62 + 8006c4a: 687a ldr r2, [r7, #4] + 8006c4c: 429a cmp r2, r3 + 8006c4e: dd16 ble.n 8006c7e + 8006c50: 4b1a ldr r3, [pc, #104] ; (8006cbc ) + 8006c52: 681b ldr r3, [r3, #0] + 8006c54: 681b ldr r3, [r3, #0] + 8006c56: 3381 adds r3, #129 ; 0x81 + 8006c58: 687a ldr r2, [r7, #4] + 8006c5a: 429a cmp r2, r3 + 8006c5c: dc0f bgt.n 8006c7e + 8006c5e: 4b17 ldr r3, [pc, #92] ; (8006cbc ) + 8006c60: 681b ldr r3, [r3, #0] + 8006c62: 685b ldr r3, [r3, #4] + 8006c64: 3331 adds r3, #49 ; 0x31 + 8006c66: 683a ldr r2, [r7, #0] + 8006c68: 429a cmp r2, r3 + 8006c6a: dd08 ble.n 8006c7e + 8006c6c: 4b13 ldr r3, [pc, #76] ; (8006cbc ) + 8006c6e: 681b ldr r3, [r3, #0] + 8006c70: 685b ldr r3, [r3, #4] + 8006c72: 3350 adds r3, #80 ; 0x50 + 8006c74: 683a ldr r2, [r7, #0] + 8006c76: 429a cmp r2, r3 + 8006c78: dc01 bgt.n 8006c7e + { + return '7'; + 8006c7a: 2337 movs r3, #55 ; 0x37 + 8006c7c: e12f b.n 8006ede + } + + + + if(x>keyboard_window->x+2&&xx+2+32&&y>keyboard_window->y+81&&yy+81+32) + 8006c7e: 4b0f ldr r3, [pc, #60] ; (8006cbc ) + 8006c80: 681b ldr r3, [r3, #0] + 8006c82: 681b ldr r3, [r3, #0] + 8006c84: 3302 adds r3, #2 + 8006c86: 687a ldr r2, [r7, #4] + 8006c88: 429a cmp r2, r3 + 8006c8a: dd19 ble.n 8006cc0 + 8006c8c: 4b0b ldr r3, [pc, #44] ; (8006cbc ) + 8006c8e: 681b ldr r3, [r3, #0] + 8006c90: 681b ldr r3, [r3, #0] + 8006c92: 3321 adds r3, #33 ; 0x21 + 8006c94: 687a ldr r2, [r7, #4] + 8006c96: 429a cmp r2, r3 + 8006c98: dc12 bgt.n 8006cc0 + 8006c9a: 4b08 ldr r3, [pc, #32] ; (8006cbc ) + 8006c9c: 681b ldr r3, [r3, #0] + 8006c9e: 685b ldr r3, [r3, #4] + 8006ca0: 3351 adds r3, #81 ; 0x51 + 8006ca2: 683a ldr r2, [r7, #0] + 8006ca4: 429a cmp r2, r3 + 8006ca6: dd0b ble.n 8006cc0 + 8006ca8: 4b04 ldr r3, [pc, #16] ; (8006cbc ) + 8006caa: 681b ldr r3, [r3, #0] + 8006cac: 685b ldr r3, [r3, #4] + 8006cae: 3370 adds r3, #112 ; 0x70 + 8006cb0: 683a ldr r2, [r7, #0] + 8006cb2: 429a cmp r2, r3 + 8006cb4: dc04 bgt.n 8006cc0 + { + return '8'; + 8006cb6: 2338 movs r3, #56 ; 0x38 + 8006cb8: e111 b.n 8006ede + 8006cba: bf00 nop + 8006cbc: 20000404 .word 0x20000404 + } + + if(x>keyboard_window->x+34&&xx+34+32&&y>keyboard_window->y+81&&yy+81+32) + 8006cc0: 4b89 ldr r3, [pc, #548] ; (8006ee8 ) + 8006cc2: 681b ldr r3, [r3, #0] + 8006cc4: 681b ldr r3, [r3, #0] + 8006cc6: 3322 adds r3, #34 ; 0x22 + 8006cc8: 687a ldr r2, [r7, #4] + 8006cca: 429a cmp r2, r3 + 8006ccc: dd16 ble.n 8006cfc + 8006cce: 4b86 ldr r3, [pc, #536] ; (8006ee8 ) + 8006cd0: 681b ldr r3, [r3, #0] + 8006cd2: 681b ldr r3, [r3, #0] + 8006cd4: 3341 adds r3, #65 ; 0x41 + 8006cd6: 687a ldr r2, [r7, #4] + 8006cd8: 429a cmp r2, r3 + 8006cda: dc0f bgt.n 8006cfc + 8006cdc: 4b82 ldr r3, [pc, #520] ; (8006ee8 ) + 8006cde: 681b ldr r3, [r3, #0] + 8006ce0: 685b ldr r3, [r3, #4] + 8006ce2: 3351 adds r3, #81 ; 0x51 + 8006ce4: 683a ldr r2, [r7, #0] + 8006ce6: 429a cmp r2, r3 + 8006ce8: dd08 ble.n 8006cfc + 8006cea: 4b7f ldr r3, [pc, #508] ; (8006ee8 ) + 8006cec: 681b ldr r3, [r3, #0] + 8006cee: 685b ldr r3, [r3, #4] + 8006cf0: 3370 adds r3, #112 ; 0x70 + 8006cf2: 683a ldr r2, [r7, #0] + 8006cf4: 429a cmp r2, r3 + 8006cf6: dc01 bgt.n 8006cfc + { + return '9'; + 8006cf8: 2339 movs r3, #57 ; 0x39 + 8006cfa: e0f0 b.n 8006ede + } + + + if(x>keyboard_window->x+66&&xx+66+32&&y>keyboard_window->y+81&&yy+81+32) + 8006cfc: 4b7a ldr r3, [pc, #488] ; (8006ee8 ) + 8006cfe: 681b ldr r3, [r3, #0] + 8006d00: 681b ldr r3, [r3, #0] + 8006d02: 3342 adds r3, #66 ; 0x42 + 8006d04: 687a ldr r2, [r7, #4] + 8006d06: 429a cmp r2, r3 + 8006d08: dd16 ble.n 8006d38 + 8006d0a: 4b77 ldr r3, [pc, #476] ; (8006ee8 ) + 8006d0c: 681b ldr r3, [r3, #0] + 8006d0e: 681b ldr r3, [r3, #0] + 8006d10: 3361 adds r3, #97 ; 0x61 + 8006d12: 687a ldr r2, [r7, #4] + 8006d14: 429a cmp r2, r3 + 8006d16: dc0f bgt.n 8006d38 + 8006d18: 4b73 ldr r3, [pc, #460] ; (8006ee8 ) + 8006d1a: 681b ldr r3, [r3, #0] + 8006d1c: 685b ldr r3, [r3, #4] + 8006d1e: 3351 adds r3, #81 ; 0x51 + 8006d20: 683a ldr r2, [r7, #0] + 8006d22: 429a cmp r2, r3 + 8006d24: dd08 ble.n 8006d38 + 8006d26: 4b70 ldr r3, [pc, #448] ; (8006ee8 ) + 8006d28: 681b ldr r3, [r3, #0] + 8006d2a: 685b ldr r3, [r3, #4] + 8006d2c: 3370 adds r3, #112 ; 0x70 + 8006d2e: 683a ldr r2, [r7, #0] + 8006d30: 429a cmp r2, r3 + 8006d32: dc01 bgt.n 8006d38 + { + return 'A'; + 8006d34: 2341 movs r3, #65 ; 0x41 + 8006d36: e0d2 b.n 8006ede + } + + + if(x>keyboard_window->x+98&&xx+98+32&&y>keyboard_window->y+81&&yy+81+32) + 8006d38: 4b6b ldr r3, [pc, #428] ; (8006ee8 ) + 8006d3a: 681b ldr r3, [r3, #0] + 8006d3c: 681b ldr r3, [r3, #0] + 8006d3e: 3362 adds r3, #98 ; 0x62 + 8006d40: 687a ldr r2, [r7, #4] + 8006d42: 429a cmp r2, r3 + 8006d44: dd16 ble.n 8006d74 + 8006d46: 4b68 ldr r3, [pc, #416] ; (8006ee8 ) + 8006d48: 681b ldr r3, [r3, #0] + 8006d4a: 681b ldr r3, [r3, #0] + 8006d4c: 3381 adds r3, #129 ; 0x81 + 8006d4e: 687a ldr r2, [r7, #4] + 8006d50: 429a cmp r2, r3 + 8006d52: dc0f bgt.n 8006d74 + 8006d54: 4b64 ldr r3, [pc, #400] ; (8006ee8 ) + 8006d56: 681b ldr r3, [r3, #0] + 8006d58: 685b ldr r3, [r3, #4] + 8006d5a: 3351 adds r3, #81 ; 0x51 + 8006d5c: 683a ldr r2, [r7, #0] + 8006d5e: 429a cmp r2, r3 + 8006d60: dd08 ble.n 8006d74 + 8006d62: 4b61 ldr r3, [pc, #388] ; (8006ee8 ) + 8006d64: 681b ldr r3, [r3, #0] + 8006d66: 685b ldr r3, [r3, #4] + 8006d68: 3370 adds r3, #112 ; 0x70 + 8006d6a: 683a ldr r2, [r7, #0] + 8006d6c: 429a cmp r2, r3 + 8006d6e: dc01 bgt.n 8006d74 + { + return 'B'; + 8006d70: 2342 movs r3, #66 ; 0x42 + 8006d72: e0b4 b.n 8006ede + } + + + + if(x>keyboard_window->x+2&&xx+2+32&&y>keyboard_window->y+113&&yy+113+32) + 8006d74: 4b5c ldr r3, [pc, #368] ; (8006ee8 ) + 8006d76: 681b ldr r3, [r3, #0] + 8006d78: 681b ldr r3, [r3, #0] + 8006d7a: 3302 adds r3, #2 + 8006d7c: 687a ldr r2, [r7, #4] + 8006d7e: 429a cmp r2, r3 + 8006d80: dd16 ble.n 8006db0 + 8006d82: 4b59 ldr r3, [pc, #356] ; (8006ee8 ) + 8006d84: 681b ldr r3, [r3, #0] + 8006d86: 681b ldr r3, [r3, #0] + 8006d88: 3321 adds r3, #33 ; 0x21 + 8006d8a: 687a ldr r2, [r7, #4] + 8006d8c: 429a cmp r2, r3 + 8006d8e: dc0f bgt.n 8006db0 + 8006d90: 4b55 ldr r3, [pc, #340] ; (8006ee8 ) + 8006d92: 681b ldr r3, [r3, #0] + 8006d94: 685b ldr r3, [r3, #4] + 8006d96: 3371 adds r3, #113 ; 0x71 + 8006d98: 683a ldr r2, [r7, #0] + 8006d9a: 429a cmp r2, r3 + 8006d9c: dd08 ble.n 8006db0 + 8006d9e: 4b52 ldr r3, [pc, #328] ; (8006ee8 ) + 8006da0: 681b ldr r3, [r3, #0] + 8006da2: 685b ldr r3, [r3, #4] + 8006da4: 3390 adds r3, #144 ; 0x90 + 8006da6: 683a ldr r2, [r7, #0] + 8006da8: 429a cmp r2, r3 + 8006daa: dc01 bgt.n 8006db0 + { + return 'C'; + 8006dac: 2343 movs r3, #67 ; 0x43 + 8006dae: e096 b.n 8006ede + } + + if(x>keyboard_window->x+34&&xx+34+32&&y>keyboard_window->y+113&&yy+113+32) + 8006db0: 4b4d ldr r3, [pc, #308] ; (8006ee8 ) + 8006db2: 681b ldr r3, [r3, #0] + 8006db4: 681b ldr r3, [r3, #0] + 8006db6: 3322 adds r3, #34 ; 0x22 + 8006db8: 687a ldr r2, [r7, #4] + 8006dba: 429a cmp r2, r3 + 8006dbc: dd16 ble.n 8006dec + 8006dbe: 4b4a ldr r3, [pc, #296] ; (8006ee8 ) + 8006dc0: 681b ldr r3, [r3, #0] + 8006dc2: 681b ldr r3, [r3, #0] + 8006dc4: 3341 adds r3, #65 ; 0x41 + 8006dc6: 687a ldr r2, [r7, #4] + 8006dc8: 429a cmp r2, r3 + 8006dca: dc0f bgt.n 8006dec + 8006dcc: 4b46 ldr r3, [pc, #280] ; (8006ee8 ) + 8006dce: 681b ldr r3, [r3, #0] + 8006dd0: 685b ldr r3, [r3, #4] + 8006dd2: 3371 adds r3, #113 ; 0x71 + 8006dd4: 683a ldr r2, [r7, #0] + 8006dd6: 429a cmp r2, r3 + 8006dd8: dd08 ble.n 8006dec + 8006dda: 4b43 ldr r3, [pc, #268] ; (8006ee8 ) + 8006ddc: 681b ldr r3, [r3, #0] + 8006dde: 685b ldr r3, [r3, #4] + 8006de0: 3390 adds r3, #144 ; 0x90 + 8006de2: 683a ldr r2, [r7, #0] + 8006de4: 429a cmp r2, r3 + 8006de6: dc01 bgt.n 8006dec + { + return 'D'; + 8006de8: 2344 movs r3, #68 ; 0x44 + 8006dea: e078 b.n 8006ede + } + + + if(x>keyboard_window->x+66&&xx+66+32&&y>keyboard_window->y+113&&yy+113+32) + 8006dec: 4b3e ldr r3, [pc, #248] ; (8006ee8 ) + 8006dee: 681b ldr r3, [r3, #0] + 8006df0: 681b ldr r3, [r3, #0] + 8006df2: 3342 adds r3, #66 ; 0x42 + 8006df4: 687a ldr r2, [r7, #4] + 8006df6: 429a cmp r2, r3 + 8006df8: dd16 ble.n 8006e28 + 8006dfa: 4b3b ldr r3, [pc, #236] ; (8006ee8 ) + 8006dfc: 681b ldr r3, [r3, #0] + 8006dfe: 681b ldr r3, [r3, #0] + 8006e00: 3361 adds r3, #97 ; 0x61 + 8006e02: 687a ldr r2, [r7, #4] + 8006e04: 429a cmp r2, r3 + 8006e06: dc0f bgt.n 8006e28 + 8006e08: 4b37 ldr r3, [pc, #220] ; (8006ee8 ) + 8006e0a: 681b ldr r3, [r3, #0] + 8006e0c: 685b ldr r3, [r3, #4] + 8006e0e: 3371 adds r3, #113 ; 0x71 + 8006e10: 683a ldr r2, [r7, #0] + 8006e12: 429a cmp r2, r3 + 8006e14: dd08 ble.n 8006e28 + 8006e16: 4b34 ldr r3, [pc, #208] ; (8006ee8 ) + 8006e18: 681b ldr r3, [r3, #0] + 8006e1a: 685b ldr r3, [r3, #4] + 8006e1c: 3390 adds r3, #144 ; 0x90 + 8006e1e: 683a ldr r2, [r7, #0] + 8006e20: 429a cmp r2, r3 + 8006e22: dc01 bgt.n 8006e28 + { + return 'E'; + 8006e24: 2345 movs r3, #69 ; 0x45 + 8006e26: e05a b.n 8006ede + } + + + if(x>keyboard_window->x+98&&xx+98+32&&y>keyboard_window->y+113&&yy+113+32) + 8006e28: 4b2f ldr r3, [pc, #188] ; (8006ee8 ) + 8006e2a: 681b ldr r3, [r3, #0] + 8006e2c: 681b ldr r3, [r3, #0] + 8006e2e: 3362 adds r3, #98 ; 0x62 + 8006e30: 687a ldr r2, [r7, #4] + 8006e32: 429a cmp r2, r3 + 8006e34: dd16 ble.n 8006e64 + 8006e36: 4b2c ldr r3, [pc, #176] ; (8006ee8 ) + 8006e38: 681b ldr r3, [r3, #0] + 8006e3a: 681b ldr r3, [r3, #0] + 8006e3c: 3381 adds r3, #129 ; 0x81 + 8006e3e: 687a ldr r2, [r7, #4] + 8006e40: 429a cmp r2, r3 + 8006e42: dc0f bgt.n 8006e64 + 8006e44: 4b28 ldr r3, [pc, #160] ; (8006ee8 ) + 8006e46: 681b ldr r3, [r3, #0] + 8006e48: 685b ldr r3, [r3, #4] + 8006e4a: 3371 adds r3, #113 ; 0x71 + 8006e4c: 683a ldr r2, [r7, #0] + 8006e4e: 429a cmp r2, r3 + 8006e50: dd08 ble.n 8006e64 + 8006e52: 4b25 ldr r3, [pc, #148] ; (8006ee8 ) + 8006e54: 681b ldr r3, [r3, #0] + 8006e56: 685b ldr r3, [r3, #4] + 8006e58: 3390 adds r3, #144 ; 0x90 + 8006e5a: 683a ldr r2, [r7, #0] + 8006e5c: 429a cmp r2, r3 + 8006e5e: dc01 bgt.n 8006e64 + { + return 'F'; + 8006e60: 2346 movs r3, #70 ; 0x46 + 8006e62: e03c b.n 8006ede + } + + if(x>keyboard_window->x+140&&xx+140+32&&y>keyboard_window->y+81&&yy+81+32) + 8006e64: 4b20 ldr r3, [pc, #128] ; (8006ee8 ) + 8006e66: 681b ldr r3, [r3, #0] + 8006e68: 681b ldr r3, [r3, #0] + 8006e6a: 338c adds r3, #140 ; 0x8c + 8006e6c: 687a ldr r2, [r7, #4] + 8006e6e: 429a cmp r2, r3 + 8006e70: dd16 ble.n 8006ea0 + 8006e72: 4b1d ldr r3, [pc, #116] ; (8006ee8 ) + 8006e74: 681b ldr r3, [r3, #0] + 8006e76: 681b ldr r3, [r3, #0] + 8006e78: 33ab adds r3, #171 ; 0xab + 8006e7a: 687a ldr r2, [r7, #4] + 8006e7c: 429a cmp r2, r3 + 8006e7e: dc0f bgt.n 8006ea0 + 8006e80: 4b19 ldr r3, [pc, #100] ; (8006ee8 ) + 8006e82: 681b ldr r3, [r3, #0] + 8006e84: 685b ldr r3, [r3, #4] + 8006e86: 3351 adds r3, #81 ; 0x51 + 8006e88: 683a ldr r2, [r7, #0] + 8006e8a: 429a cmp r2, r3 + 8006e8c: dd08 ble.n 8006ea0 + 8006e8e: 4b16 ldr r3, [pc, #88] ; (8006ee8 ) + 8006e90: 681b ldr r3, [r3, #0] + 8006e92: 685b ldr r3, [r3, #4] + 8006e94: 3370 adds r3, #112 ; 0x70 + 8006e96: 683a ldr r2, [r7, #0] + 8006e98: 429a cmp r2, r3 + 8006e9a: dc01 bgt.n 8006ea0 + { + return '<'; + 8006e9c: 233c movs r3, #60 ; 0x3c + 8006e9e: e01e b.n 8006ede + } + if(x>keyboard_window->x+140&&xx+140+32&&y>keyboard_window->y+113&&yy+113+32) + 8006ea0: 4b11 ldr r3, [pc, #68] ; (8006ee8 ) + 8006ea2: 681b ldr r3, [r3, #0] + 8006ea4: 681b ldr r3, [r3, #0] + 8006ea6: 338c adds r3, #140 ; 0x8c + 8006ea8: 687a ldr r2, [r7, #4] + 8006eaa: 429a cmp r2, r3 + 8006eac: dd16 ble.n 8006edc + 8006eae: 4b0e ldr r3, [pc, #56] ; (8006ee8 ) + 8006eb0: 681b ldr r3, [r3, #0] + 8006eb2: 681b ldr r3, [r3, #0] + 8006eb4: 33ab adds r3, #171 ; 0xab + 8006eb6: 687a ldr r2, [r7, #4] + 8006eb8: 429a cmp r2, r3 + 8006eba: dc0f bgt.n 8006edc + 8006ebc: 4b0a ldr r3, [pc, #40] ; (8006ee8 ) + 8006ebe: 681b ldr r3, [r3, #0] + 8006ec0: 685b ldr r3, [r3, #4] + 8006ec2: 3371 adds r3, #113 ; 0x71 + 8006ec4: 683a ldr r2, [r7, #0] + 8006ec6: 429a cmp r2, r3 + 8006ec8: dd08 ble.n 8006edc + 8006eca: 4b07 ldr r3, [pc, #28] ; (8006ee8 ) + 8006ecc: 681b ldr r3, [r3, #0] + 8006ece: 685b ldr r3, [r3, #4] + 8006ed0: 3390 adds r3, #144 ; 0x90 + 8006ed2: 683a ldr r2, [r7, #0] + 8006ed4: 429a cmp r2, r3 + 8006ed6: dc01 bgt.n 8006edc + { + return 'X'; + 8006ed8: 2358 movs r3, #88 ; 0x58 + 8006eda: e000 b.n 8006ede + } + return 0; + 8006edc: 2300 movs r3, #0 +} + 8006ede: 4618 mov r0, r3 + 8006ee0: 370c adds r7, #12 + 8006ee2: 46bd mov sp, r7 + 8006ee4: bc80 pop {r7} + 8006ee6: 4770 bx lr + 8006ee8: 20000404 .word 0x20000404 + +08006eec : + +char keyboard_char[16]={0}; +char keyboard_char_int=0; void APP_KEYBOARD_loop() { - 8006934: b580 push {r7, lr} - 8006936: b082 sub sp, #8 - 8006938: af02 add r7, sp, #8 + 8006eec: b580 push {r7, lr} + 8006eee: b084 sub sp, #16 + 8006ef0: af02 add r7, sp, #8 - if(keyboard_window->refresh_windows_flag) - 800693a: 4b12 ldr r3, [pc, #72] ; (8006984 ) - 800693c: 681b ldr r3, [r3, #0] - 800693e: f893 3024 ldrb.w r3, [r3, #36] ; 0x24 - 8006942: 2b00 cmp r3, #0 - 8006944: d01b beq.n 800697e + //sprintf(keyboard_char,"%d",keyboard_window->touch_flag); + LCD_ShowString(keyboard_window->x+130,keyboard_window->y+17,keyboard_char,16,GRAY,WHITE); + 8006ef2: 4b33 ldr r3, [pc, #204] ; (8006fc0 ) + 8006ef4: 681b ldr r3, [r3, #0] + 8006ef6: 681b ldr r3, [r3, #0] + 8006ef8: b29b uxth r3, r3 + 8006efa: 3382 adds r3, #130 ; 0x82 + 8006efc: b298 uxth r0, r3 + 8006efe: 4b30 ldr r3, [pc, #192] ; (8006fc0 ) + 8006f00: 681b ldr r3, [r3, #0] + 8006f02: 685b ldr r3, [r3, #4] + 8006f04: b29b uxth r3, r3 + 8006f06: 3311 adds r3, #17 + 8006f08: b299 uxth r1, r3 + 8006f0a: f64f 73ff movw r3, #65535 ; 0xffff + 8006f0e: 9301 str r3, [sp, #4] + 8006f10: f248 4330 movw r3, #33840 ; 0x8430 + 8006f14: 9300 str r3, [sp, #0] + 8006f16: 2310 movs r3, #16 + 8006f18: 4a2a ldr r2, [pc, #168] ; (8006fc4 ) + 8006f1a: f7fe fe03 bl 8005b24 + if(keyboard_window->touch_flag==1) + 8006f1e: 4b28 ldr r3, [pc, #160] ; (8006fc0 ) + 8006f20: 681b ldr r3, [r3, #0] + 8006f22: f893 3025 ldrb.w r3, [r3, #37] ; 0x25 + 8006f26: 2b01 cmp r3, #1 + 8006f28: d151 bne.n 8006fce { - keyboard_window->refresh_windows_flag--; - 8006946: 4b0f ldr r3, [pc, #60] ; (8006984 ) - 8006948: 681b ldr r3, [r3, #0] - 800694a: f893 2024 ldrb.w r2, [r3, #36] ; 0x24 - 800694e: 3a01 subs r2, #1 - 8006950: b2d2 uxtb r2, r2 - 8006952: f883 2024 strb.w r2, [r3, #36] ; 0x24 - //refresh_windows - LCD_ShowString(keyboard_window->x,keyboard_window->y+16,"test",16,CYAN,RED); - 8006956: 4b0b ldr r3, [pc, #44] ; (8006984 ) - 8006958: 681b ldr r3, [r3, #0] - 800695a: 681b ldr r3, [r3, #0] - 800695c: b298 uxth r0, r3 - 800695e: 4b09 ldr r3, [pc, #36] ; (8006984 ) - 8006960: 681b ldr r3, [r3, #0] - 8006962: 685b ldr r3, [r3, #4] - 8006964: b29b uxth r3, r3 - 8006966: 3310 adds r3, #16 - 8006968: b299 uxth r1, r3 - 800696a: f44f 4378 mov.w r3, #63488 ; 0xf800 - 800696e: 9301 str r3, [sp, #4] - 8006970: f647 73ff movw r3, #32767 ; 0x7fff - 8006974: 9300 str r3, [sp, #0] - 8006976: 2310 movs r3, #16 - 8006978: 4a03 ldr r2, [pc, #12] ; (8006988 ) - 800697a: f7ff f857 bl 8005a2c + keyboard_window->touch_flag=0; + 8006f2a: 4b25 ldr r3, [pc, #148] ; (8006fc0 ) + 8006f2c: 681b ldr r3, [r3, #0] + 8006f2e: 2200 movs r2, #0 + 8006f30: f883 2025 strb.w r2, [r3, #37] ; 0x25 + char tempv=getkeyboardv(keyboard_window->touch_x,keyboard_window->touch_y); + 8006f34: 4b22 ldr r3, [pc, #136] ; (8006fc0 ) + 8006f36: 681b ldr r3, [r3, #0] + 8006f38: 6a9a ldr r2, [r3, #40] ; 0x28 + 8006f3a: 4b21 ldr r3, [pc, #132] ; (8006fc0 ) + 8006f3c: 681b ldr r3, [r3, #0] + 8006f3e: 6adb ldr r3, [r3, #44] ; 0x2c + 8006f40: 4619 mov r1, r3 + 8006f42: 4610 mov r0, r2 + 8006f44: f7ff fda6 bl 8006a94 + 8006f48: 4603 mov r3, r0 + 8006f4a: 71fb strb r3, [r7, #7] + + switch(tempv) + 8006f4c: 79fb ldrb r3, [r7, #7] + 8006f4e: 2b3c cmp r3, #60 ; 0x3c + 8006f50: d002 beq.n 8006f58 + 8006f52: 2b58 cmp r3, #88 ; 0x58 + 8006f54: d017 beq.n 8006f86 + 8006f56: e020 b.n 8006f9a + { + case '<': + if(keyboard_char_int>0) + 8006f58: 4b1b ldr r3, [pc, #108] ; (8006fc8 ) + 8006f5a: 781b ldrb r3, [r3, #0] + 8006f5c: 2b00 cmp r3, #0 + 8006f5e: d035 beq.n 8006fcc + { + keyboard_char[keyboard_char_int]='\0'; + 8006f60: 4b19 ldr r3, [pc, #100] ; (8006fc8 ) + 8006f62: 781b ldrb r3, [r3, #0] + 8006f64: 461a mov r2, r3 + 8006f66: 4b17 ldr r3, [pc, #92] ; (8006fc4 ) + 8006f68: 2100 movs r1, #0 + 8006f6a: 5499 strb r1, [r3, r2] + keyboard_char_int-=1; + 8006f6c: 4b16 ldr r3, [pc, #88] ; (8006fc8 ) + 8006f6e: 781b ldrb r3, [r3, #0] + 8006f70: 3b01 subs r3, #1 + 8006f72: b2da uxtb r2, r3 + 8006f74: 4b14 ldr r3, [pc, #80] ; (8006fc8 ) + 8006f76: 701a strb r2, [r3, #0] + keyboard_char[keyboard_char_int]='\0'; + 8006f78: 4b13 ldr r3, [pc, #76] ; (8006fc8 ) + 8006f7a: 781b ldrb r3, [r3, #0] + 8006f7c: 461a mov r2, r3 + 8006f7e: 4b11 ldr r3, [pc, #68] ; (8006fc4 ) + 8006f80: 2100 movs r1, #0 + 8006f82: 5499 strb r1, [r3, r2] + } + break; + 8006f84: e022 b.n 8006fcc + case 'X': + keyboard_char_int=0; + 8006f86: 4b10 ldr r3, [pc, #64] ; (8006fc8 ) + 8006f88: 2200 movs r2, #0 + 8006f8a: 701a strb r2, [r3, #0] + keyboard_char[keyboard_char_int]='\0'; + 8006f8c: 4b0e ldr r3, [pc, #56] ; (8006fc8 ) + 8006f8e: 781b ldrb r3, [r3, #0] + 8006f90: 461a mov r2, r3 + 8006f92: 4b0c ldr r3, [pc, #48] ; (8006fc4 ) + 8006f94: 2100 movs r1, #0 + 8006f96: 5499 strb r1, [r3, r2] + break; + 8006f98: e019 b.n 8006fce + default : + keyboard_char[keyboard_char_int]=tempv; + 8006f9a: 4b0b ldr r3, [pc, #44] ; (8006fc8 ) + 8006f9c: 781b ldrb r3, [r3, #0] + 8006f9e: 4619 mov r1, r3 + 8006fa0: 4a08 ldr r2, [pc, #32] ; (8006fc4 ) + 8006fa2: 79fb ldrb r3, [r7, #7] + 8006fa4: 5453 strb r3, [r2, r1] + keyboard_char_int+=1; + 8006fa6: 4b08 ldr r3, [pc, #32] ; (8006fc8 ) + 8006fa8: 781b ldrb r3, [r3, #0] + 8006faa: 3301 adds r3, #1 + 8006fac: b2da uxtb r2, r3 + 8006fae: 4b06 ldr r3, [pc, #24] ; (8006fc8 ) + 8006fb0: 701a strb r2, [r3, #0] + keyboard_char[keyboard_char_int]='\0'; + 8006fb2: 4b05 ldr r3, [pc, #20] ; (8006fc8 ) + 8006fb4: 781b ldrb r3, [r3, #0] + 8006fb6: 461a mov r2, r3 + 8006fb8: 4b02 ldr r3, [pc, #8] ; (8006fc4 ) + 8006fba: 2100 movs r1, #0 + 8006fbc: 5499 strb r1, [r3, r2] + break; + 8006fbe: e006 b.n 8006fce + 8006fc0: 20000404 .word 0x20000404 + 8006fc4: 20000408 .word 0x20000408 + 8006fc8: 20000418 .word 0x20000418 + break; + 8006fcc: bf00 nop + + + } -} - 800697e: bf00 nop - 8006980: 46bd mov sp, r7 - 8006982: bd80 pop {r7, pc} - 8006984: 20000404 .word 0x20000404 - 8006988: 0800a108 .word 0x0800a108 + if(keyboard_window->refresh_windows_flag) + 8006fce: 4b7c ldr r3, [pc, #496] ; (80071c0 ) + 8006fd0: 681b ldr r3, [r3, #0] + 8006fd2: f893 3024 ldrb.w r3, [r3, #36] ; 0x24 + 8006fd6: 2b00 cmp r3, #0 + 8006fd8: f000 80ee beq.w 80071b8 + { + keyboard_window->refresh_windows_flag--; + 8006fdc: 4b78 ldr r3, [pc, #480] ; (80071c0 ) + 8006fde: 681b ldr r3, [r3, #0] + 8006fe0: f893 2024 ldrb.w r2, [r3, #36] ; 0x24 + 8006fe4: 3a01 subs r2, #1 + 8006fe6: b2d2 uxtb r2, r2 + 8006fe8: f883 2024 strb.w r2, [r3, #36] ; 0x24 + //refresh_windows + //LCD_ShowString(keyboard_window->x,keyboard_window->y+16,"test",16,CYAN,RED); + down_one_key(keyboard_window->x+2,keyboard_window->y+17,'0'); down_one_key(keyboard_window->x+34,keyboard_window->y+17,'1'); down_one_key(keyboard_window->x+66,keyboard_window->y+17,'2'); down_one_key(keyboard_window->x+98,keyboard_window->y+17,'3'); + 8006fec: 4b74 ldr r3, [pc, #464] ; (80071c0 ) + 8006fee: 681b ldr r3, [r3, #0] + 8006ff0: 681b ldr r3, [r3, #0] + 8006ff2: 1c98 adds r0, r3, #2 + 8006ff4: 4b72 ldr r3, [pc, #456] ; (80071c0 ) + 8006ff6: 681b ldr r3, [r3, #0] + 8006ff8: 685b ldr r3, [r3, #4] + 8006ffa: 3311 adds r3, #17 + 8006ffc: 2230 movs r2, #48 ; 0x30 + 8006ffe: 4619 mov r1, r3 + 8007000: f7ff fd1c bl 8006a3c + 8007004: 4b6e ldr r3, [pc, #440] ; (80071c0 ) + 8007006: 681b ldr r3, [r3, #0] + 8007008: 681b ldr r3, [r3, #0] + 800700a: f103 0022 add.w r0, r3, #34 ; 0x22 + 800700e: 4b6c ldr r3, [pc, #432] ; (80071c0 ) + 8007010: 681b ldr r3, [r3, #0] + 8007012: 685b ldr r3, [r3, #4] + 8007014: 3311 adds r3, #17 + 8007016: 2231 movs r2, #49 ; 0x31 + 8007018: 4619 mov r1, r3 + 800701a: f7ff fd0f bl 8006a3c + 800701e: 4b68 ldr r3, [pc, #416] ; (80071c0 ) + 8007020: 681b ldr r3, [r3, #0] + 8007022: 681b ldr r3, [r3, #0] + 8007024: f103 0042 add.w r0, r3, #66 ; 0x42 + 8007028: 4b65 ldr r3, [pc, #404] ; (80071c0 ) + 800702a: 681b ldr r3, [r3, #0] + 800702c: 685b ldr r3, [r3, #4] + 800702e: 3311 adds r3, #17 + 8007030: 2232 movs r2, #50 ; 0x32 + 8007032: 4619 mov r1, r3 + 8007034: f7ff fd02 bl 8006a3c + 8007038: 4b61 ldr r3, [pc, #388] ; (80071c0 ) + 800703a: 681b ldr r3, [r3, #0] + 800703c: 681b ldr r3, [r3, #0] + 800703e: f103 0062 add.w r0, r3, #98 ; 0x62 + 8007042: 4b5f ldr r3, [pc, #380] ; (80071c0 ) + 8007044: 681b ldr r3, [r3, #0] + 8007046: 685b ldr r3, [r3, #4] + 8007048: 3311 adds r3, #17 + 800704a: 2233 movs r2, #51 ; 0x33 + 800704c: 4619 mov r1, r3 + 800704e: f7ff fcf5 bl 8006a3c + down_one_key(keyboard_window->x+2,keyboard_window->y+49,'4'); down_one_key(keyboard_window->x+34,keyboard_window->y+49,'5'); down_one_key(keyboard_window->x+66,keyboard_window->y+49,'6'); down_one_key(keyboard_window->x+98,keyboard_window->y+49,'7'); + 8007052: 4b5b ldr r3, [pc, #364] ; (80071c0 ) + 8007054: 681b ldr r3, [r3, #0] + 8007056: 681b ldr r3, [r3, #0] + 8007058: 1c98 adds r0, r3, #2 + 800705a: 4b59 ldr r3, [pc, #356] ; (80071c0 ) + 800705c: 681b ldr r3, [r3, #0] + 800705e: 685b ldr r3, [r3, #4] + 8007060: 3331 adds r3, #49 ; 0x31 + 8007062: 2234 movs r2, #52 ; 0x34 + 8007064: 4619 mov r1, r3 + 8007066: f7ff fce9 bl 8006a3c + 800706a: 4b55 ldr r3, [pc, #340] ; (80071c0 ) + 800706c: 681b ldr r3, [r3, #0] + 800706e: 681b ldr r3, [r3, #0] + 8007070: f103 0022 add.w r0, r3, #34 ; 0x22 + 8007074: 4b52 ldr r3, [pc, #328] ; (80071c0 ) + 8007076: 681b ldr r3, [r3, #0] + 8007078: 685b ldr r3, [r3, #4] + 800707a: 3331 adds r3, #49 ; 0x31 + 800707c: 2235 movs r2, #53 ; 0x35 + 800707e: 4619 mov r1, r3 + 8007080: f7ff fcdc bl 8006a3c + 8007084: 4b4e ldr r3, [pc, #312] ; (80071c0 ) + 8007086: 681b ldr r3, [r3, #0] + 8007088: 681b ldr r3, [r3, #0] + 800708a: f103 0042 add.w r0, r3, #66 ; 0x42 + 800708e: 4b4c ldr r3, [pc, #304] ; (80071c0 ) + 8007090: 681b ldr r3, [r3, #0] + 8007092: 685b ldr r3, [r3, #4] + 8007094: 3331 adds r3, #49 ; 0x31 + 8007096: 2236 movs r2, #54 ; 0x36 + 8007098: 4619 mov r1, r3 + 800709a: f7ff fccf bl 8006a3c + 800709e: 4b48 ldr r3, [pc, #288] ; (80071c0 ) + 80070a0: 681b ldr r3, [r3, #0] + 80070a2: 681b ldr r3, [r3, #0] + 80070a4: f103 0062 add.w r0, r3, #98 ; 0x62 + 80070a8: 4b45 ldr r3, [pc, #276] ; (80071c0 ) + 80070aa: 681b ldr r3, [r3, #0] + 80070ac: 685b ldr r3, [r3, #4] + 80070ae: 3331 adds r3, #49 ; 0x31 + 80070b0: 2237 movs r2, #55 ; 0x37 + 80070b2: 4619 mov r1, r3 + 80070b4: f7ff fcc2 bl 8006a3c + down_one_key(keyboard_window->x+2,keyboard_window->y+81,'8'); down_one_key(keyboard_window->x+34,keyboard_window->y+81,'9'); down_one_key(keyboard_window->x+66,keyboard_window->y+81,'A'); down_one_key(keyboard_window->x+98,keyboard_window->y+81,'B'); + 80070b8: 4b41 ldr r3, [pc, #260] ; (80071c0 ) + 80070ba: 681b ldr r3, [r3, #0] + 80070bc: 681b ldr r3, [r3, #0] + 80070be: 1c98 adds r0, r3, #2 + 80070c0: 4b3f ldr r3, [pc, #252] ; (80071c0 ) + 80070c2: 681b ldr r3, [r3, #0] + 80070c4: 685b ldr r3, [r3, #4] + 80070c6: 3351 adds r3, #81 ; 0x51 + 80070c8: 2238 movs r2, #56 ; 0x38 + 80070ca: 4619 mov r1, r3 + 80070cc: f7ff fcb6 bl 8006a3c + 80070d0: 4b3b ldr r3, [pc, #236] ; (80071c0 ) + 80070d2: 681b ldr r3, [r3, #0] + 80070d4: 681b ldr r3, [r3, #0] + 80070d6: f103 0022 add.w r0, r3, #34 ; 0x22 + 80070da: 4b39 ldr r3, [pc, #228] ; (80071c0 ) + 80070dc: 681b ldr r3, [r3, #0] + 80070de: 685b ldr r3, [r3, #4] + 80070e0: 3351 adds r3, #81 ; 0x51 + 80070e2: 2239 movs r2, #57 ; 0x39 + 80070e4: 4619 mov r1, r3 + 80070e6: f7ff fca9 bl 8006a3c + 80070ea: 4b35 ldr r3, [pc, #212] ; (80071c0 ) + 80070ec: 681b ldr r3, [r3, #0] + 80070ee: 681b ldr r3, [r3, #0] + 80070f0: f103 0042 add.w r0, r3, #66 ; 0x42 + 80070f4: 4b32 ldr r3, [pc, #200] ; (80071c0 ) + 80070f6: 681b ldr r3, [r3, #0] + 80070f8: 685b ldr r3, [r3, #4] + 80070fa: 3351 adds r3, #81 ; 0x51 + 80070fc: 2241 movs r2, #65 ; 0x41 + 80070fe: 4619 mov r1, r3 + 8007100: f7ff fc9c bl 8006a3c + 8007104: 4b2e ldr r3, [pc, #184] ; (80071c0 ) + 8007106: 681b ldr r3, [r3, #0] + 8007108: 681b ldr r3, [r3, #0] + 800710a: f103 0062 add.w r0, r3, #98 ; 0x62 + 800710e: 4b2c ldr r3, [pc, #176] ; (80071c0 ) + 8007110: 681b ldr r3, [r3, #0] + 8007112: 685b ldr r3, [r3, #4] + 8007114: 3351 adds r3, #81 ; 0x51 + 8007116: 2242 movs r2, #66 ; 0x42 + 8007118: 4619 mov r1, r3 + 800711a: f7ff fc8f bl 8006a3c + down_one_key(keyboard_window->x+2,keyboard_window->y+113,'C'); down_one_key(keyboard_window->x+34,keyboard_window->y+113,'D'); down_one_key(keyboard_window->x+66,keyboard_window->y+113,'E'); down_one_key(keyboard_window->x+98,keyboard_window->y+113,'F'); + 800711e: 4b28 ldr r3, [pc, #160] ; (80071c0 ) + 8007120: 681b ldr r3, [r3, #0] + 8007122: 681b ldr r3, [r3, #0] + 8007124: 1c98 adds r0, r3, #2 + 8007126: 4b26 ldr r3, [pc, #152] ; (80071c0 ) + 8007128: 681b ldr r3, [r3, #0] + 800712a: 685b ldr r3, [r3, #4] + 800712c: 3371 adds r3, #113 ; 0x71 + 800712e: 2243 movs r2, #67 ; 0x43 + 8007130: 4619 mov r1, r3 + 8007132: f7ff fc83 bl 8006a3c + 8007136: 4b22 ldr r3, [pc, #136] ; (80071c0 ) + 8007138: 681b ldr r3, [r3, #0] + 800713a: 681b ldr r3, [r3, #0] + 800713c: f103 0022 add.w r0, r3, #34 ; 0x22 + 8007140: 4b1f ldr r3, [pc, #124] ; (80071c0 ) + 8007142: 681b ldr r3, [r3, #0] + 8007144: 685b ldr r3, [r3, #4] + 8007146: 3371 adds r3, #113 ; 0x71 + 8007148: 2244 movs r2, #68 ; 0x44 + 800714a: 4619 mov r1, r3 + 800714c: f7ff fc76 bl 8006a3c + 8007150: 4b1b ldr r3, [pc, #108] ; (80071c0 ) + 8007152: 681b ldr r3, [r3, #0] + 8007154: 681b ldr r3, [r3, #0] + 8007156: f103 0042 add.w r0, r3, #66 ; 0x42 + 800715a: 4b19 ldr r3, [pc, #100] ; (80071c0 ) + 800715c: 681b ldr r3, [r3, #0] + 800715e: 685b ldr r3, [r3, #4] + 8007160: 3371 adds r3, #113 ; 0x71 + 8007162: 2245 movs r2, #69 ; 0x45 + 8007164: 4619 mov r1, r3 + 8007166: f7ff fc69 bl 8006a3c + 800716a: 4b15 ldr r3, [pc, #84] ; (80071c0 ) + 800716c: 681b ldr r3, [r3, #0] + 800716e: 681b ldr r3, [r3, #0] + 8007170: f103 0062 add.w r0, r3, #98 ; 0x62 + 8007174: 4b12 ldr r3, [pc, #72] ; (80071c0 ) + 8007176: 681b ldr r3, [r3, #0] + 8007178: 685b ldr r3, [r3, #4] + 800717a: 3371 adds r3, #113 ; 0x71 + 800717c: 2246 movs r2, #70 ; 0x46 + 800717e: 4619 mov r1, r3 + 8007180: f7ff fc5c bl 8006a3c -0800698c : + down_one_key(keyboard_window->x+140,keyboard_window->y+81,'<'); + 8007184: 4b0e ldr r3, [pc, #56] ; (80071c0 ) + 8007186: 681b ldr r3, [r3, #0] + 8007188: 681b ldr r3, [r3, #0] + 800718a: f103 008c add.w r0, r3, #140 ; 0x8c + 800718e: 4b0c ldr r3, [pc, #48] ; (80071c0 ) + 8007190: 681b ldr r3, [r3, #0] + 8007192: 685b ldr r3, [r3, #4] + 8007194: 3351 adds r3, #81 ; 0x51 + 8007196: 223c movs r2, #60 ; 0x3c + 8007198: 4619 mov r1, r3 + 800719a: f7ff fc4f bl 8006a3c + down_one_key(keyboard_window->x+140,keyboard_window->y+113,'X'); + 800719e: 4b08 ldr r3, [pc, #32] ; (80071c0 ) + 80071a0: 681b ldr r3, [r3, #0] + 80071a2: 681b ldr r3, [r3, #0] + 80071a4: f103 008c add.w r0, r3, #140 ; 0x8c + 80071a8: 4b05 ldr r3, [pc, #20] ; (80071c0 ) + 80071aa: 681b ldr r3, [r3, #0] + 80071ac: 685b ldr r3, [r3, #4] + 80071ae: 3371 adds r3, #113 ; 0x71 + 80071b0: 2258 movs r2, #88 ; 0x58 + 80071b2: 4619 mov r1, r3 + 80071b4: f7ff fc42 bl 8006a3c + } +} + 80071b8: bf00 nop + 80071ba: 3708 adds r7, #8 + 80071bc: 46bd mov sp, r7 + 80071be: bd80 pop {r7, pc} + 80071c0: 20000404 .word 0x20000404 + +080071c4 : IIC_SAND_DATE(MAX30102_Device_address,REG_LED2_PA,&a,1);// Choose value for ~ 10mA for LED2 a=0x7f; IIC_SAND_DATE(MAX30102_Device_address,REG_PILOT_PA,&a,1);// Choose value for ~ 25mA for Pilot LED } void max30102_read_fifo(void) { - 800698c: b580 push {r7, lr} - 800698e: b082 sub sp, #8 - 8006990: af00 add r7, sp, #0 + 80071c4: b580 push {r7, lr} + 80071c6: b082 sub sp, #8 + 80071c8: af00 add r7, sp, #0 uint16_t un_temp; fifo_red=0; - 8006992: 4b3c ldr r3, [pc, #240] ; (8006a84 ) - 8006994: 2200 movs r2, #0 - 8006996: 801a strh r2, [r3, #0] + 80071ca: 4b3c ldr r3, [pc, #240] ; (80072bc ) + 80071cc: 2200 movs r2, #0 + 80071ce: 801a strh r2, [r3, #0] fifo_ir=0; - 8006998: 4b3b ldr r3, [pc, #236] ; (8006a88 ) - 800699a: 2200 movs r2, #0 - 800699c: 801a strh r2, [r3, #0] + 80071d0: 4b3b ldr r3, [pc, #236] ; (80072c0 ) + 80071d2: 2200 movs r2, #0 + 80071d4: 801a strh r2, [r3, #0] uint8_t ach_i2c_data[6]; //read and clear status register IIC_READ_DATE(MAX30102_Device_address,REG_INTR_STATUS_1,&ach_i2c_data,1); - 800699e: 463a mov r2, r7 - 80069a0: 2301 movs r3, #1 - 80069a2: 2100 movs r1, #0 - 80069a4: 20ae movs r0, #174 ; 0xae - 80069a6: f7ff f9ef bl 8005d88 + 80071d6: 463a mov r2, r7 + 80071d8: 2301 movs r3, #1 + 80071da: 2100 movs r1, #0 + 80071dc: 20ae movs r0, #174 ; 0xae + 80071de: f7fe fe4f bl 8005e80 IIC_READ_DATE(MAX30102_Device_address,REG_INTR_STATUS_2,&ach_i2c_data,1); - 80069aa: 463a mov r2, r7 - 80069ac: 2301 movs r3, #1 - 80069ae: 2101 movs r1, #1 - 80069b0: 20ae movs r0, #174 ; 0xae - 80069b2: f7ff f9e9 bl 8005d88 + 80071e2: 463a mov r2, r7 + 80071e4: 2301 movs r3, #1 + 80071e6: 2101 movs r1, #1 + 80071e8: 20ae movs r0, #174 ; 0xae + 80071ea: f7fe fe49 bl 8005e80 ach_i2c_data[0]=REG_FIFO_DATA; - 80069b6: 2307 movs r3, #7 - 80069b8: 703b strb r3, [r7, #0] + 80071ee: 2307 movs r3, #7 + 80071f0: 703b strb r3, [r7, #0] IIC_READ_DATE(MAX30102_Device_address,REG_FIFO_DATA,&ach_i2c_data,6); - 80069ba: 463a mov r2, r7 - 80069bc: 2306 movs r3, #6 - 80069be: 2107 movs r1, #7 - 80069c0: 20ae movs r0, #174 ; 0xae - 80069c2: f7ff f9e1 bl 8005d88 + 80071f2: 463a mov r2, r7 + 80071f4: 2306 movs r3, #6 + 80071f6: 2107 movs r1, #7 + 80071f8: 20ae movs r0, #174 ; 0xae + 80071fa: f7fe fe41 bl 8005e80 un_temp=ach_i2c_data[0]; - 80069c6: 783b ldrb r3, [r7, #0] - 80069c8: 80fb strh r3, [r7, #6] + 80071fe: 783b ldrb r3, [r7, #0] + 8007200: 80fb strh r3, [r7, #6] un_temp<<=14; - 80069ca: 88fb ldrh r3, [r7, #6] - 80069cc: 039b lsls r3, r3, #14 - 80069ce: 80fb strh r3, [r7, #6] + 8007202: 88fb ldrh r3, [r7, #6] + 8007204: 039b lsls r3, r3, #14 + 8007206: 80fb strh r3, [r7, #6] fifo_red+=un_temp; - 80069d0: 4b2c ldr r3, [pc, #176] ; (8006a84 ) - 80069d2: 881a ldrh r2, [r3, #0] - 80069d4: 88fb ldrh r3, [r7, #6] - 80069d6: 4413 add r3, r2 - 80069d8: b29a uxth r2, r3 - 80069da: 4b2a ldr r3, [pc, #168] ; (8006a84 ) - 80069dc: 801a strh r2, [r3, #0] + 8007208: 4b2c ldr r3, [pc, #176] ; (80072bc ) + 800720a: 881a ldrh r2, [r3, #0] + 800720c: 88fb ldrh r3, [r7, #6] + 800720e: 4413 add r3, r2 + 8007210: b29a uxth r2, r3 + 8007212: 4b2a ldr r3, [pc, #168] ; (80072bc ) + 8007214: 801a strh r2, [r3, #0] un_temp=ach_i2c_data[1]; - 80069de: 787b ldrb r3, [r7, #1] - 80069e0: 80fb strh r3, [r7, #6] + 8007216: 787b ldrb r3, [r7, #1] + 8007218: 80fb strh r3, [r7, #6] un_temp<<=6; - 80069e2: 88fb ldrh r3, [r7, #6] - 80069e4: 019b lsls r3, r3, #6 - 80069e6: 80fb strh r3, [r7, #6] + 800721a: 88fb ldrh r3, [r7, #6] + 800721c: 019b lsls r3, r3, #6 + 800721e: 80fb strh r3, [r7, #6] fifo_red+=un_temp; - 80069e8: 4b26 ldr r3, [pc, #152] ; (8006a84 ) - 80069ea: 881a ldrh r2, [r3, #0] - 80069ec: 88fb ldrh r3, [r7, #6] - 80069ee: 4413 add r3, r2 - 80069f0: b29a uxth r2, r3 - 80069f2: 4b24 ldr r3, [pc, #144] ; (8006a84 ) - 80069f4: 801a strh r2, [r3, #0] + 8007220: 4b26 ldr r3, [pc, #152] ; (80072bc ) + 8007222: 881a ldrh r2, [r3, #0] + 8007224: 88fb ldrh r3, [r7, #6] + 8007226: 4413 add r3, r2 + 8007228: b29a uxth r2, r3 + 800722a: 4b24 ldr r3, [pc, #144] ; (80072bc ) + 800722c: 801a strh r2, [r3, #0] un_temp=ach_i2c_data[2]; - 80069f6: 78bb ldrb r3, [r7, #2] - 80069f8: 80fb strh r3, [r7, #6] + 800722e: 78bb ldrb r3, [r7, #2] + 8007230: 80fb strh r3, [r7, #6] un_temp>>=2; - 80069fa: 88fb ldrh r3, [r7, #6] - 80069fc: 089b lsrs r3, r3, #2 - 80069fe: 80fb strh r3, [r7, #6] + 8007232: 88fb ldrh r3, [r7, #6] + 8007234: 089b lsrs r3, r3, #2 + 8007236: 80fb strh r3, [r7, #6] fifo_red+=un_temp; - 8006a00: 4b20 ldr r3, [pc, #128] ; (8006a84 ) - 8006a02: 881a ldrh r2, [r3, #0] - 8006a04: 88fb ldrh r3, [r7, #6] - 8006a06: 4413 add r3, r2 - 8006a08: b29a uxth r2, r3 - 8006a0a: 4b1e ldr r3, [pc, #120] ; (8006a84 ) - 8006a0c: 801a strh r2, [r3, #0] + 8007238: 4b20 ldr r3, [pc, #128] ; (80072bc ) + 800723a: 881a ldrh r2, [r3, #0] + 800723c: 88fb ldrh r3, [r7, #6] + 800723e: 4413 add r3, r2 + 8007240: b29a uxth r2, r3 + 8007242: 4b1e ldr r3, [pc, #120] ; (80072bc ) + 8007244: 801a strh r2, [r3, #0] un_temp=ach_i2c_data[3]; - 8006a0e: 78fb ldrb r3, [r7, #3] - 8006a10: 80fb strh r3, [r7, #6] + 8007246: 78fb ldrb r3, [r7, #3] + 8007248: 80fb strh r3, [r7, #6] un_temp<<=14; - 8006a12: 88fb ldrh r3, [r7, #6] - 8006a14: 039b lsls r3, r3, #14 - 8006a16: 80fb strh r3, [r7, #6] + 800724a: 88fb ldrh r3, [r7, #6] + 800724c: 039b lsls r3, r3, #14 + 800724e: 80fb strh r3, [r7, #6] fifo_ir+=un_temp; - 8006a18: 4b1b ldr r3, [pc, #108] ; (8006a88 ) - 8006a1a: 881a ldrh r2, [r3, #0] - 8006a1c: 88fb ldrh r3, [r7, #6] - 8006a1e: 4413 add r3, r2 - 8006a20: b29a uxth r2, r3 - 8006a22: 4b19 ldr r3, [pc, #100] ; (8006a88 ) - 8006a24: 801a strh r2, [r3, #0] + 8007250: 4b1b ldr r3, [pc, #108] ; (80072c0 ) + 8007252: 881a ldrh r2, [r3, #0] + 8007254: 88fb ldrh r3, [r7, #6] + 8007256: 4413 add r3, r2 + 8007258: b29a uxth r2, r3 + 800725a: 4b19 ldr r3, [pc, #100] ; (80072c0 ) + 800725c: 801a strh r2, [r3, #0] un_temp=ach_i2c_data[4]; - 8006a26: 793b ldrb r3, [r7, #4] - 8006a28: 80fb strh r3, [r7, #6] + 800725e: 793b ldrb r3, [r7, #4] + 8007260: 80fb strh r3, [r7, #6] un_temp<<=6; - 8006a2a: 88fb ldrh r3, [r7, #6] - 8006a2c: 019b lsls r3, r3, #6 - 8006a2e: 80fb strh r3, [r7, #6] + 8007262: 88fb ldrh r3, [r7, #6] + 8007264: 019b lsls r3, r3, #6 + 8007266: 80fb strh r3, [r7, #6] fifo_ir+=un_temp; - 8006a30: 4b15 ldr r3, [pc, #84] ; (8006a88 ) - 8006a32: 881a ldrh r2, [r3, #0] - 8006a34: 88fb ldrh r3, [r7, #6] - 8006a36: 4413 add r3, r2 - 8006a38: b29a uxth r2, r3 - 8006a3a: 4b13 ldr r3, [pc, #76] ; (8006a88 ) - 8006a3c: 801a strh r2, [r3, #0] + 8007268: 4b15 ldr r3, [pc, #84] ; (80072c0 ) + 800726a: 881a ldrh r2, [r3, #0] + 800726c: 88fb ldrh r3, [r7, #6] + 800726e: 4413 add r3, r2 + 8007270: b29a uxth r2, r3 + 8007272: 4b13 ldr r3, [pc, #76] ; (80072c0 ) + 8007274: 801a strh r2, [r3, #0] un_temp=ach_i2c_data[5]; - 8006a3e: 797b ldrb r3, [r7, #5] - 8006a40: 80fb strh r3, [r7, #6] + 8007276: 797b ldrb r3, [r7, #5] + 8007278: 80fb strh r3, [r7, #6] un_temp>>=2; - 8006a42: 88fb ldrh r3, [r7, #6] - 8006a44: 089b lsrs r3, r3, #2 - 8006a46: 80fb strh r3, [r7, #6] + 800727a: 88fb ldrh r3, [r7, #6] + 800727c: 089b lsrs r3, r3, #2 + 800727e: 80fb strh r3, [r7, #6] fifo_ir+=un_temp; - 8006a48: 4b0f ldr r3, [pc, #60] ; (8006a88 ) - 8006a4a: 881a ldrh r2, [r3, #0] - 8006a4c: 88fb ldrh r3, [r7, #6] - 8006a4e: 4413 add r3, r2 - 8006a50: b29a uxth r2, r3 - 8006a52: 4b0d ldr r3, [pc, #52] ; (8006a88 ) - 8006a54: 801a strh r2, [r3, #0] + 8007280: 4b0f ldr r3, [pc, #60] ; (80072c0 ) + 8007282: 881a ldrh r2, [r3, #0] + 8007284: 88fb ldrh r3, [r7, #6] + 8007286: 4413 add r3, r2 + 8007288: b29a uxth r2, r3 + 800728a: 4b0d ldr r3, [pc, #52] ; (80072c0 ) + 800728c: 801a strh r2, [r3, #0] if(fifo_ir<=10000) - 8006a56: 4b0c ldr r3, [pc, #48] ; (8006a88 ) - 8006a58: 881b ldrh r3, [r3, #0] - 8006a5a: f242 7210 movw r2, #10000 ; 0x2710 - 8006a5e: 4293 cmp r3, r2 - 8006a60: d802 bhi.n 8006a68 + 800728e: 4b0c ldr r3, [pc, #48] ; (80072c0 ) + 8007290: 881b ldrh r3, [r3, #0] + 8007292: f242 7210 movw r2, #10000 ; 0x2710 + 8007296: 4293 cmp r3, r2 + 8007298: d802 bhi.n 80072a0 { fifo_ir=0; - 8006a62: 4b09 ldr r3, [pc, #36] ; (8006a88 ) - 8006a64: 2200 movs r2, #0 - 8006a66: 801a strh r2, [r3, #0] + 800729a: 4b09 ldr r3, [pc, #36] ; (80072c0 ) + 800729c: 2200 movs r2, #0 + 800729e: 801a strh r2, [r3, #0] } if(fifo_red<=10000) - 8006a68: 4b06 ldr r3, [pc, #24] ; (8006a84 ) - 8006a6a: 881b ldrh r3, [r3, #0] - 8006a6c: f242 7210 movw r2, #10000 ; 0x2710 - 8006a70: 4293 cmp r3, r2 - 8006a72: d802 bhi.n 8006a7a + 80072a0: 4b06 ldr r3, [pc, #24] ; (80072bc ) + 80072a2: 881b ldrh r3, [r3, #0] + 80072a4: f242 7210 movw r2, #10000 ; 0x2710 + 80072a8: 4293 cmp r3, r2 + 80072aa: d802 bhi.n 80072b2 { fifo_red=0; - 8006a74: 4b03 ldr r3, [pc, #12] ; (8006a84 ) - 8006a76: 2200 movs r2, #0 - 8006a78: 801a strh r2, [r3, #0] + 80072ac: 4b03 ldr r3, [pc, #12] ; (80072bc ) + 80072ae: 2200 movs r2, #0 + 80072b0: 801a strh r2, [r3, #0] } } - 8006a7a: bf00 nop - 8006a7c: 3708 adds r7, #8 - 8006a7e: 46bd mov sp, r7 - 8006a80: bd80 pop {r7, pc} - 8006a82: bf00 nop - 8006a84: 20000408 .word 0x20000408 - 8006a88: 2000040a .word 0x2000040a + 80072b2: bf00 nop + 80072b4: 3708 adds r7, #8 + 80072b6: 46bd mov sp, r7 + 80072b8: bd80 pop {r7, pc} + 80072ba: bf00 nop + 80072bc: 2000041a .word 0x2000041a + 80072c0: 2000041c .word 0x2000041c -08006a8c : +080072c4 : } void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)//10us { - 8006a8c: b590 push {r4, r7, lr} - 8006a8e: b083 sub sp, #12 - 8006a90: af00 add r7, sp, #0 - 8006a92: 6078 str r0, [r7, #4] + 80072c4: b590 push {r4, r7, lr} + 80072c6: b083 sub sp, #12 + 80072c8: af00 add r7, sp, #0 + 80072ca: 6078 str r0, [r7, #4] if (htim == (&htim6)) - 8006a94: 687b ldr r3, [r7, #4] - 8006a96: 4a21 ldr r2, [pc, #132] ; (8006b1c ) - 8006a98: 4293 cmp r3, r2 - 8006a9a: d13a bne.n 8006b12 + 80072cc: 687b ldr r3, [r7, #4] + 80072ce: 4a21 ldr r2, [pc, #132] ; (8007354 ) + 80072d0: 4293 cmp r3, r2 + 80072d2: d13a bne.n 800734a { max30102_read_fifo(); //read from MAX30102 FIFO2 - 8006a9c: f7ff ff76 bl 800698c + 80072d4: f7ff ff76 bl 80071c4 //将数据写入fft输入并清除输出 s1[g_fft_index].real = fifo_red; - 8006aa0: 4b1f ldr r3, [pc, #124] ; (8006b20 ) - 8006aa2: 881b ldrh r3, [r3, #0] - 8006aa4: 4a1f ldr r2, [pc, #124] ; (8006b24 ) - 8006aa6: 8812 ldrh r2, [r2, #0] - 8006aa8: 4614 mov r4, r2 - 8006aaa: 4618 mov r0, r3 - 8006aac: f7fa f95e bl 8000d6c <__aeabi_ui2f> - 8006ab0: 4603 mov r3, r0 - 8006ab2: 4a1d ldr r2, [pc, #116] ; (8006b28 ) - 8006ab4: f842 3034 str.w r3, [r2, r4, lsl #3] + 80072d8: 4b1f ldr r3, [pc, #124] ; (8007358 ) + 80072da: 881b ldrh r3, [r3, #0] + 80072dc: 4a1f ldr r2, [pc, #124] ; (800735c ) + 80072de: 8812 ldrh r2, [r2, #0] + 80072e0: 4614 mov r4, r2 + 80072e2: 4618 mov r0, r3 + 80072e4: f7f9 fd42 bl 8000d6c <__aeabi_ui2f> + 80072e8: 4603 mov r3, r0 + 80072ea: 4a1d ldr r2, [pc, #116] ; (8007360 ) + 80072ec: f842 3034 str.w r3, [r2, r4, lsl #3] s1[g_fft_index].imag= 0; - 8006ab8: 4b1a ldr r3, [pc, #104] ; (8006b24 ) - 8006aba: 881b ldrh r3, [r3, #0] - 8006abc: 4a1a ldr r2, [pc, #104] ; (8006b28 ) - 8006abe: 00db lsls r3, r3, #3 - 8006ac0: 4413 add r3, r2 - 8006ac2: f04f 0200 mov.w r2, #0 - 8006ac6: 605a str r2, [r3, #4] + 80072f0: 4b1a ldr r3, [pc, #104] ; (800735c ) + 80072f2: 881b ldrh r3, [r3, #0] + 80072f4: 4a1a ldr r2, [pc, #104] ; (8007360 ) + 80072f6: 00db lsls r3, r3, #3 + 80072f8: 4413 add r3, r2 + 80072fa: f04f 0200 mov.w r2, #0 + 80072fe: 605a str r2, [r3, #4] s2[g_fft_index].real = fifo_ir; - 8006ac8: 4b18 ldr r3, [pc, #96] ; (8006b2c ) - 8006aca: 881b ldrh r3, [r3, #0] - 8006acc: 4a15 ldr r2, [pc, #84] ; (8006b24 ) - 8006ace: 8812 ldrh r2, [r2, #0] - 8006ad0: 4614 mov r4, r2 - 8006ad2: 4618 mov r0, r3 - 8006ad4: f7fa f94a bl 8000d6c <__aeabi_ui2f> - 8006ad8: 4603 mov r3, r0 - 8006ada: 4a15 ldr r2, [pc, #84] ; (8006b30 ) - 8006adc: f842 3034 str.w r3, [r2, r4, lsl #3] + 8007300: 4b18 ldr r3, [pc, #96] ; (8007364 ) + 8007302: 881b ldrh r3, [r3, #0] + 8007304: 4a15 ldr r2, [pc, #84] ; (800735c ) + 8007306: 8812 ldrh r2, [r2, #0] + 8007308: 4614 mov r4, r2 + 800730a: 4618 mov r0, r3 + 800730c: f7f9 fd2e bl 8000d6c <__aeabi_ui2f> + 8007310: 4603 mov r3, r0 + 8007312: 4a15 ldr r2, [pc, #84] ; (8007368 ) + 8007314: f842 3034 str.w r3, [r2, r4, lsl #3] s2[g_fft_index].imag= 0; - 8006ae0: 4b10 ldr r3, [pc, #64] ; (8006b24 ) - 8006ae2: 881b ldrh r3, [r3, #0] - 8006ae4: 4a12 ldr r2, [pc, #72] ; (8006b30 ) - 8006ae6: 00db lsls r3, r3, #3 - 8006ae8: 4413 add r3, r2 - 8006aea: f04f 0200 mov.w r2, #0 - 8006aee: 605a str r2, [r3, #4] + 8007318: 4b10 ldr r3, [pc, #64] ; (800735c ) + 800731a: 881b ldrh r3, [r3, #0] + 800731c: 4a12 ldr r2, [pc, #72] ; (8007368 ) + 800731e: 00db lsls r3, r3, #3 + 8007320: 4413 add r3, r2 + 8007322: f04f 0200 mov.w r2, #0 + 8007326: 605a str r2, [r3, #4] g_fft_index++; - 8006af0: 4b0c ldr r3, [pc, #48] ; (8006b24 ) - 8006af2: 881b ldrh r3, [r3, #0] - 8006af4: 3301 adds r3, #1 - 8006af6: b29a uxth r2, r3 - 8006af8: 4b0a ldr r3, [pc, #40] ; (8006b24 ) - 8006afa: 801a strh r2, [r3, #0] + 8007328: 4b0c ldr r3, [pc, #48] ; (800735c ) + 800732a: 881b ldrh r3, [r3, #0] + 800732c: 3301 adds r3, #1 + 800732e: b29a uxth r2, r3 + 8007330: 4b0a ldr r3, [pc, #40] ; (800735c ) + 8007332: 801a strh r2, [r3, #0] if(g_fft_index>FFT_N) - 8006afc: 4b09 ldr r3, [pc, #36] ; (8006b24 ) - 8006afe: 881b ldrh r3, [r3, #0] - 8006b00: f5b3 7f00 cmp.w r3, #512 ; 0x200 - 8006b04: d905 bls.n 8006b12 + 8007334: 4b09 ldr r3, [pc, #36] ; (800735c ) + 8007336: 881b ldrh r3, [r3, #0] + 8007338: f5b3 7f00 cmp.w r3, #512 ; 0x200 + 800733c: d905 bls.n 800734a { get_data_flag=1; - 8006b06: 4b0b ldr r3, [pc, #44] ; (8006b34 ) - 8006b08: 2201 movs r2, #1 - 8006b0a: 701a strb r2, [r3, #0] + 800733e: 4b0b ldr r3, [pc, #44] ; (800736c ) + 8007340: 2201 movs r2, #1 + 8007342: 701a strb r2, [r3, #0] HAL_TIM_Base_Stop_IT(&htim6); - 8006b0c: 4803 ldr r0, [pc, #12] ; (8006b1c ) - 8006b0e: f7fd f94b bl 8003da8 + 8007344: 4803 ldr r0, [pc, #12] ; (8007354 ) + 8007346: f7fc fd2f bl 8003da8 } } } - 8006b12: bf00 nop - 8006b14: 370c adds r7, #12 - 8006b16: 46bd mov sp, r7 - 8006b18: bd90 pop {r4, r7, pc} - 8006b1a: bf00 nop - 8006b1c: 200002e4 .word 0x200002e4 - 8006b20: 20000408 .word 0x20000408 - 8006b24: 2000250e .word 0x2000250e - 8006b28: 2000040c .word 0x2000040c - 8006b2c: 2000040a .word 0x2000040a - 8006b30: 2000148c .word 0x2000148c - 8006b34: 2000250c .word 0x2000250c + 800734a: bf00 nop + 800734c: 370c adds r7, #12 + 800734e: 46bd mov sp, r7 + 8007350: bd90 pop {r4, r7, pc} + 8007352: bf00 nop + 8007354: 200002e4 .word 0x200002e4 + 8007358: 2000041a .word 0x2000041a + 800735c: 20002522 .word 0x20002522 + 8007360: 20000420 .word 0x20000420 + 8007364: 2000041c .word 0x2000041c + 8007368: 200014a0 .word 0x200014a0 + 800736c: 20002520 .word 0x20002520 -08006b38 : +08007370 : #include "APP_colorcontrol.h" window *colorcontrol_window; void APP_COLORCONTROL_init(window *a_window) { - 8006b38: b480 push {r7} - 8006b3a: b083 sub sp, #12 - 8006b3c: af00 add r7, sp, #0 - 8006b3e: 6078 str r0, [r7, #4] + 8007370: b480 push {r7} + 8007372: b083 sub sp, #12 + 8007374: af00 add r7, sp, #0 + 8007376: 6078 str r0, [r7, #4] colorcontrol_window=a_window; - 8006b40: 4a03 ldr r2, [pc, #12] ; (8006b50 ) - 8006b42: 687b ldr r3, [r7, #4] - 8006b44: 6013 str r3, [r2, #0] + 8007378: 4a03 ldr r2, [pc, #12] ; (8007388 ) + 800737a: 687b ldr r3, [r7, #4] + 800737c: 6013 str r3, [r2, #0] } - 8006b46: bf00 nop - 8006b48: 370c adds r7, #12 - 8006b4a: 46bd mov sp, r7 - 8006b4c: bc80 pop {r7} - 8006b4e: 4770 bx lr - 8006b50: 20002510 .word 0x20002510 + 800737e: bf00 nop + 8007380: 370c adds r7, #12 + 8007382: 46bd mov sp, r7 + 8007384: bc80 pop {r7} + 8007386: 4770 bx lr + 8007388: 20002524 .word 0x20002524 -08006b54 : +0800738c : void main_app() { - 8006b54: b580 push {r7, lr} - 8006b56: b096 sub sp, #88 ; 0x58 - 8006b58: af04 add r7, sp, #16 + 800738c: b580 push {r7, lr} + 800738e: b096 sub sp, #88 ; 0x58 + 8007390: af04 add r7, sp, #16 HAL_TIM_PWM_Start(&htim4,TIM_CHANNEL_3);//启动n通道的pwm - 8006b5a: 2108 movs r1, #8 - 8006b5c: 4838 ldr r0, [pc, #224] ; (8006c40 ) - 8006b5e: f7fd f9a9 bl 8003eb4 + 8007392: 2108 movs r1, #8 + 8007394: 4838 ldr r0, [pc, #224] ; (8007478 ) + 8007396: f7fc fd8d bl 8003eb4 char str[64]; LCDx_Init(); - 8006b62: f7fe fbbf bl 80052e4 + 800739a: f7fd ffa3 bl 80052e4 EPPROM_SLOWWRITE_INIT(); - 8006b66: f7ff f839 bl 8005bdc + 800739e: f7fe fc99 bl 8005cd4 if(KEY1==0&&KEY3==0) - 8006b6a: 2110 movs r1, #16 - 8006b6c: 4835 ldr r0, [pc, #212] ; (8006c44 ) - 8006b6e: f7fb fbc5 bl 80022fc - 8006b72: 4603 mov r3, r0 - 8006b74: 2b00 cmp r3, #0 - 8006b76: d10a bne.n 8006b8e - 8006b78: 2104 movs r1, #4 - 8006b7a: 4832 ldr r0, [pc, #200] ; (8006c44 ) - 8006b7c: f7fb fbbe bl 80022fc - 8006b80: 4603 mov r3, r0 - 8006b82: 2b00 cmp r3, #0 - 8006b84: d103 bne.n 8006b8e + 80073a2: 2110 movs r1, #16 + 80073a4: 4835 ldr r0, [pc, #212] ; (800747c ) + 80073a6: f7fa ffa9 bl 80022fc + 80073aa: 4603 mov r3, r0 + 80073ac: 2b00 cmp r3, #0 + 80073ae: d10a bne.n 80073c6 + 80073b0: 2104 movs r1, #4 + 80073b2: 4832 ldr r0, [pc, #200] ; (800747c ) + 80073b4: f7fa ffa2 bl 80022fc + 80073b8: 4603 mov r3, r0 + 80073ba: 2b00 cmp r3, #0 + 80073bc: d103 bne.n 80073c6 { TP_adjustment(1); - 8006b86: 2001 movs r0, #1 - 8006b88: f7ff fbe2 bl 8006350 - 8006b8c: e002 b.n 8006b94 + 80073be: 2001 movs r0, #1 + 80073c0: f7ff f842 bl 8006448 + 80073c4: e002 b.n 80073cc }else { TP_adjustment(0); - 8006b8e: 2000 movs r0, #0 - 8006b90: f7ff fbde bl 8006350 + 80073c6: 2000 movs r0, #0 + 80073c8: f7ff f83e bl 8006448 } UI *ui=UI_Init(BLACK); - 8006b94: 2000 movs r0, #0 - 8006b96: f000 f88b bl 8006cb0 - 8006b9a: 6478 str r0, [r7, #68] ; 0x44 + 80073cc: 2000 movs r0, #0 + 80073ce: f000 f88b bl 80074e8 + 80073d2: 6478 str r0, [r7, #68] ; 0x44 //New_Window(ui,80,80,60,90,YELLOW,"YELLOW"); //New_Window(ui,120,90,70,60,MAGENTA,"MAGENTA"); //APP_morsecode_init(New_Window(ui,25,30,200,150,CYAN,"Morse code")); APP_COLORCONTROL_init(New_Window(ui,20,30,300,64,CYAN,"COLORCONTROL")); - 8006b9c: 4b2a ldr r3, [pc, #168] ; (8006c48 ) - 8006b9e: 9302 str r3, [sp, #8] - 8006ba0: f647 73ff movw r3, #32767 ; 0x7fff - 8006ba4: 9301 str r3, [sp, #4] - 8006ba6: 2340 movs r3, #64 ; 0x40 - 8006ba8: 9300 str r3, [sp, #0] - 8006baa: f44f 7396 mov.w r3, #300 ; 0x12c - 8006bae: 221e movs r2, #30 - 8006bb0: 2114 movs r1, #20 - 8006bb2: 6c78 ldr r0, [r7, #68] ; 0x44 - 8006bb4: f000 f8af bl 8006d16 - 8006bb8: 4603 mov r3, r0 - 8006bba: 4618 mov r0, r3 - 8006bbc: f7ff ffbc bl 8006b38 + 80073d4: 4b2a ldr r3, [pc, #168] ; (8007480 ) + 80073d6: 9302 str r3, [sp, #8] + 80073d8: f647 73ff movw r3, #32767 ; 0x7fff + 80073dc: 9301 str r3, [sp, #4] + 80073de: 2340 movs r3, #64 ; 0x40 + 80073e0: 9300 str r3, [sp, #0] + 80073e2: f44f 7396 mov.w r3, #300 ; 0x12c + 80073e6: 221e movs r2, #30 + 80073e8: 2114 movs r1, #20 + 80073ea: 6c78 ldr r0, [r7, #68] ; 0x44 + 80073ec: f000 f8af bl 800754e + 80073f0: 4603 mov r3, r0 + 80073f2: 4618 mov r0, r3 + 80073f4: f7ff ffbc bl 8007370 APP_KEYBOARD_init(New_Window(ui,10,60,200,100,WHITE,"KEYBOARD")); - 8006bc0: 4b22 ldr r3, [pc, #136] ; (8006c4c ) - 8006bc2: 9302 str r3, [sp, #8] - 8006bc4: f64f 73ff movw r3, #65535 ; 0xffff - 8006bc8: 9301 str r3, [sp, #4] - 8006bca: 2364 movs r3, #100 ; 0x64 - 8006bcc: 9300 str r3, [sp, #0] - 8006bce: 23c8 movs r3, #200 ; 0xc8 - 8006bd0: 223c movs r2, #60 ; 0x3c - 8006bd2: 210a movs r1, #10 - 8006bd4: 6c78 ldr r0, [r7, #68] ; 0x44 - 8006bd6: f000 f89e bl 8006d16 - 8006bda: 4603 mov r3, r0 - 8006bdc: 4618 mov r0, r3 - 8006bde: f7ff fe9b bl 8006918 + 80073f8: 4b22 ldr r3, [pc, #136] ; (8007484 ) + 80073fa: 9302 str r3, [sp, #8] + 80073fc: f64f 73ff movw r3, #65535 ; 0xffff + 8007400: 9301 str r3, [sp, #4] + 8007402: 2364 movs r3, #100 ; 0x64 + 8007404: 9300 str r3, [sp, #0] + 8007406: 23c8 movs r3, #200 ; 0xc8 + 8007408: 223c movs r2, #60 ; 0x3c + 800740a: 210a movs r1, #10 + 800740c: 6c78 ldr r0, [r7, #68] ; 0x44 + 800740e: f000 f89e bl 800754e + 8007412: 4603 mov r3, r0 + 8007414: 4618 mov r0, r3 + 8007416: f7ff fafb bl 8006a10 ui->refresh_ui_flag=1; - 8006be2: 6c7a ldr r2, [r7, #68] ; 0x44 - 8006be4: f892 3028 ldrb.w r3, [r2, #40] ; 0x28 - 8006be8: f043 0304 orr.w r3, r3, #4 - 8006bec: f882 3028 strb.w r3, [r2, #40] ; 0x28 + 800741a: 6c7a ldr r2, [r7, #68] ; 0x44 + 800741c: f892 3028 ldrb.w r3, [r2, #40] ; 0x28 + 8007420: f043 0304 orr.w r3, r3, #4 + 8007424: f882 3028 strb.w r3, [r2, #40] ; 0x28 // 交叉编译测试 //APP_blood_loop(); //APP_IDcard_loop(); //APP_morsecode_loop(); APP_KEYBOARD_loop(); - 8006bf0: f7ff fea0 bl 8006934 + 8007428: f7ff fd60 bl 8006eec GEI_BUTTON_CODE(&k1,KEY1); - 8006bf4: 2110 movs r1, #16 - 8006bf6: 4813 ldr r0, [pc, #76] ; (8006c44 ) - 8006bf8: f7fb fb80 bl 80022fc - 8006bfc: 4603 mov r3, r0 - 8006bfe: 4619 mov r1, r3 - 8006c00: 4813 ldr r0, [pc, #76] ; (8006c50 ) - 8006c02: f7ff f8df bl 8005dc4 + 800742c: 2110 movs r1, #16 + 800742e: 4813 ldr r0, [pc, #76] ; (800747c ) + 8007430: f7fa ff64 bl 80022fc + 8007434: 4603 mov r3, r0 + 8007436: 4619 mov r1, r3 + 8007438: 4813 ldr r0, [pc, #76] ; (8007488 ) + 800743a: f7fe fd3f bl 8005ebc GEI_BUTTON_CODE(&k2,KEY2); - 8006c06: 2108 movs r1, #8 - 8006c08: 480e ldr r0, [pc, #56] ; (8006c44 ) - 8006c0a: f7fb fb77 bl 80022fc - 8006c0e: 4603 mov r3, r0 - 8006c10: 4619 mov r1, r3 - 8006c12: 4810 ldr r0, [pc, #64] ; (8006c54 ) - 8006c14: f7ff f8d6 bl 8005dc4 + 800743e: 2108 movs r1, #8 + 8007440: 480e ldr r0, [pc, #56] ; (800747c ) + 8007442: f7fa ff5b bl 80022fc + 8007446: 4603 mov r3, r0 + 8007448: 4619 mov r1, r3 + 800744a: 4810 ldr r0, [pc, #64] ; (800748c ) + 800744c: f7fe fd36 bl 8005ebc GEI_BUTTON_CODE(&k3,KEY3); - 8006c18: 2104 movs r1, #4 - 8006c1a: 480a ldr r0, [pc, #40] ; (8006c44 ) - 8006c1c: f7fb fb6e bl 80022fc - 8006c20: 4603 mov r3, r0 - 8006c22: 4619 mov r1, r3 - 8006c24: 480c ldr r0, [pc, #48] ; (8006c58 ) - 8006c26: f7ff f8cd bl 8005dc4 + 8007450: 2104 movs r1, #4 + 8007452: 480a ldr r0, [pc, #40] ; (800747c ) + 8007454: f7fa ff52 bl 80022fc + 8007458: 4603 mov r3, r0 + 800745a: 4619 mov r1, r3 + 800745c: 480c ldr r0, [pc, #48] ; (8007490 ) + 800745e: f7fe fd2d bl 8005ebc UI_Server(ui); - 8006c2a: 6c78 ldr r0, [r7, #68] ; 0x44 - 8006c2c: f000 fa60 bl 80070f0 + 8007462: 6c78 ldr r0, [r7, #68] ; 0x44 + 8007464: f000 fa64 bl 8007930 TP_Server(); - 8006c30: f7ff faba bl 80061a8 + 8007468: f7fe ff1a bl 80062a0 EEPROM_SLOWWRITE_SERVER(); - 8006c34: f7fe ffec bl 8005c10 + 800746c: f7fe fc4c bl 8005d08 buzzer_play_server(); - 8006c38: f7fe ff96 bl 8005b68 + 8007470: f7fe fbf6 bl 8005c60 { - 8006c3c: e7d8 b.n 8006bf0 - 8006c3e: bf00 nop - 8006c40: 2000029c .word 0x2000029c - 8006c44: 40011800 .word 0x40011800 - 8006c48: 0800a110 .word 0x0800a110 - 8006c4c: 0800a120 .word 0x0800a120 - 8006c50: 200003ac .word 0x200003ac - 8006c54: 200003bc .word 0x200003bc - 8006c58: 200003cc .word 0x200003cc + 8007474: e7d8 b.n 8007428 + 8007476: bf00 nop + 8007478: 2000029c .word 0x2000029c + 800747c: 40011800 .word 0x40011800 + 8007480: 0800a960 .word 0x0800a960 + 8007484: 0800a970 .word 0x0800a970 + 8007488: 200003ac .word 0x200003ac + 800748c: 200003bc .word 0x200003bc + 8007490: 200003cc .word 0x200003cc -08006c5c : +08007494 : #include "touch.h" extern touch_device t0; //接口 //设置屏幕像素坐标 void Inteface_SetCursor(uint16_t Xpos, uint16_t Ypos) { - 8006c5c: b580 push {r7, lr} - 8006c5e: b082 sub sp, #8 - 8006c60: af00 add r7, sp, #0 - 8006c62: 4603 mov r3, r0 - 8006c64: 460a mov r2, r1 - 8006c66: 80fb strh r3, [r7, #6] - 8006c68: 4613 mov r3, r2 - 8006c6a: 80bb strh r3, [r7, #4] + 8007494: b580 push {r7, lr} + 8007496: b082 sub sp, #8 + 8007498: af00 add r7, sp, #0 + 800749a: 4603 mov r3, r0 + 800749c: 460a mov r2, r1 + 800749e: 80fb strh r3, [r7, #6] + 80074a0: 4613 mov r3, r2 + 80074a2: 80bb strh r3, [r7, #4] LCD_SetCursor(Xpos,Ypos); //设置光标位置 - 8006c6c: 88ba ldrh r2, [r7, #4] - 8006c6e: 88fb ldrh r3, [r7, #6] - 8006c70: 4611 mov r1, r2 - 8006c72: 4618 mov r0, r3 - 8006c74: f7fe fc2c bl 80054d0 + 80074a4: 88ba ldrh r2, [r7, #4] + 80074a6: 88fb ldrh r3, [r7, #6] + 80074a8: 4611 mov r1, r2 + 80074aa: 4618 mov r0, r3 + 80074ac: f7fe f810 bl 80054d0 LCD_REG_ADDRESS=lcddev.wramcmd; //开始写入GRAM - 8006c78: 4b04 ldr r3, [pc, #16] ; (8006c8c ) - 8006c7a: 79da ldrb r2, [r3, #7] - 8006c7c: f04f 43d8 mov.w r3, #1811939328 ; 0x6c000000 - 8006c80: b292 uxth r2, r2 - 8006c82: 801a strh r2, [r3, #0] + 80074b0: 4b04 ldr r3, [pc, #16] ; (80074c4 ) + 80074b2: 79da ldrb r2, [r3, #7] + 80074b4: f04f 43d8 mov.w r3, #1811939328 ; 0x6c000000 + 80074b8: b292 uxth r2, r2 + 80074ba: 801a strh r2, [r3, #0] } - 8006c84: bf00 nop - 8006c86: 3708 adds r7, #8 - 8006c88: 46bd mov sp, r7 - 8006c8a: bd80 pop {r7, pc} - 8006c8c: 20000380 .word 0x20000380 + 80074bc: bf00 nop + 80074be: 3708 adds r7, #8 + 80074c0: 46bd mov sp, r7 + 80074c2: bd80 pop {r7, pc} + 80074c4: 20000380 .word 0x20000380 -08006c90 : +080074c8 : //往像素坐标写入一个颜色 void Inteface_SetColor(uint16_t color) { - 8006c90: b480 push {r7} - 8006c92: b083 sub sp, #12 - 8006c94: af00 add r7, sp, #0 - 8006c96: 4603 mov r3, r0 - 8006c98: 80fb strh r3, [r7, #6] + 80074c8: b480 push {r7} + 80074ca: b083 sub sp, #12 + 80074cc: af00 add r7, sp, #0 + 80074ce: 4603 mov r3, r0 + 80074d0: 80fb strh r3, [r7, #6] LCD_DATA_ADDRESS=color; - 8006c9a: 4a04 ldr r2, [pc, #16] ; (8006cac ) - 8006c9c: 88fb ldrh r3, [r7, #6] - 8006c9e: 8013 strh r3, [r2, #0] + 80074d2: 4a04 ldr r2, [pc, #16] ; (80074e4 ) + 80074d4: 88fb ldrh r3, [r7, #6] + 80074d6: 8013 strh r3, [r2, #0] } - 8006ca0: bf00 nop - 8006ca2: 370c adds r7, #12 - 8006ca4: 46bd mov sp, r7 - 8006ca6: bc80 pop {r7} - 8006ca8: 4770 bx lr - 8006caa: bf00 nop - 8006cac: 6c000800 .word 0x6c000800 + 80074d8: bf00 nop + 80074da: 370c adds r7, #12 + 80074dc: 46bd mov sp, r7 + 80074de: bc80 pop {r7} + 80074e0: 4770 bx lr + 80074e2: bf00 nop + 80074e4: 6c000800 .word 0x6c000800 -08006cb0 : +080074e8 : //新建一个UI对象 //当时都想法是类似windows的多桌面,每个桌面都能有n个窗口 UI *UI_Init(COLOR_16 background) { - 8006cb0: b580 push {r7, lr} - 8006cb2: b084 sub sp, #16 - 8006cb4: af00 add r7, sp, #0 - 8006cb6: 6078 str r0, [r7, #4] + 80074e8: b580 push {r7, lr} + 80074ea: b084 sub sp, #16 + 80074ec: af00 add r7, sp, #0 + 80074ee: 6078 str r0, [r7, #4] UI *ui; ui = (UI*)malloc(sizeof(UI)); - 8006cb8: 202c movs r0, #44 ; 0x2c - 8006cba: f000 fb3d bl 8007338 - 8006cbe: 4603 mov r3, r0 - 8006cc0: 60fb str r3, [r7, #12] + 80074f0: 202c movs r0, #44 ; 0x2c + 80074f2: f000 fb4f bl 8007b94 + 80074f6: 4603 mov r3, r0 + 80074f8: 60fb str r3, [r7, #12] if(ui!=NULL) - 8006cc2: 68fb ldr r3, [r7, #12] - 8006cc4: 2b00 cmp r3, #0 - 8006cc6: d021 beq.n 8006d0c + 80074fa: 68fb ldr r3, [r7, #12] + 80074fc: 2b00 cmp r3, #0 + 80074fe: d021 beq.n 8007544 { ui->x=0; - 8006cc8: 68fb ldr r3, [r7, #12] - 8006cca: 2200 movs r2, #0 - 8006ccc: 605a str r2, [r3, #4] + 8007500: 68fb ldr r3, [r7, #12] + 8007502: 2200 movs r2, #0 + 8007504: 605a str r2, [r3, #4] ui->y=0; - 8006cce: 68fb ldr r3, [r7, #12] - 8006cd0: 2200 movs r2, #0 - 8006cd2: 609a str r2, [r3, #8] + 8007506: 68fb ldr r3, [r7, #12] + 8007508: 2200 movs r2, #0 + 800750a: 609a str r2, [r3, #8] ui->high=240; - 8006cd4: 68fb ldr r3, [r7, #12] - 8006cd6: 22f0 movs r2, #240 ; 0xf0 - 8006cd8: 611a str r2, [r3, #16] + 800750c: 68fb ldr r3, [r7, #12] + 800750e: 22f0 movs r2, #240 ; 0xf0 + 8007510: 611a str r2, [r3, #16] ui->width=320; - 8006cda: 68fb ldr r3, [r7, #12] - 8006cdc: f44f 72a0 mov.w r2, #320 ; 0x140 - 8006ce0: 60da str r2, [r3, #12] + 8007512: 68fb ldr r3, [r7, #12] + 8007514: f44f 72a0 mov.w r2, #320 ; 0x140 + 8007518: 60da str r2, [r3, #12] ui->background=background; - 8006ce2: 68fb ldr r3, [r7, #12] - 8006ce4: 687a ldr r2, [r7, #4] - 8006ce6: 601a str r2, [r3, #0] + 800751a: 68fb ldr r3, [r7, #12] + 800751c: 687a ldr r2, [r7, #4] + 800751e: 601a str r2, [r3, #0] ui->windows=NULL; - 8006ce8: 68fb ldr r3, [r7, #12] - 8006cea: 2200 movs r2, #0 - 8006cec: 615a str r2, [r3, #20] + 8007520: 68fb ldr r3, [r7, #12] + 8007522: 2200 movs r2, #0 + 8007524: 615a str r2, [r3, #20] ui->last_windows=NULL; - 8006cee: 68fb ldr r3, [r7, #12] - 8006cf0: 2200 movs r2, #0 - 8006cf2: 619a str r2, [r3, #24] + 8007526: 68fb ldr r3, [r7, #12] + 8007528: 2200 movs r2, #0 + 800752a: 619a str r2, [r3, #24] ui->refresh_ui_flag=1; - 8006cf4: 68fa ldr r2, [r7, #12] - 8006cf6: f892 3028 ldrb.w r3, [r2, #40] ; 0x28 - 8006cfa: f043 0304 orr.w r3, r3, #4 - 8006cfe: f882 3028 strb.w r3, [r2, #40] ; 0x28 + 800752c: 68fa ldr r2, [r7, #12] + 800752e: f892 3028 ldrb.w r3, [r2, #40] ; 0x28 + 8007532: f043 0304 orr.w r3, r3, #4 + 8007536: f882 3028 strb.w r3, [r2, #40] ; 0x28 ui->moveed_windwos=NULL; - 8006d02: 68fb ldr r3, [r7, #12] - 8006d04: 2200 movs r2, #0 - 8006d06: 61da str r2, [r3, #28] + 800753a: 68fb ldr r3, [r7, #12] + 800753c: 2200 movs r2, #0 + 800753e: 61da str r2, [r3, #28] ui->touch->acc_y=0; } */ return ui; - 8006d08: 68fb ldr r3, [r7, #12] - 8006d0a: e000 b.n 8006d0e + 8007540: 68fb ldr r3, [r7, #12] + 8007542: e000 b.n 8007546 } return NULL; - 8006d0c: 2300 movs r3, #0 + 8007544: 2300 movs r3, #0 } - 8006d0e: 4618 mov r0, r3 - 8006d10: 3710 adds r7, #16 - 8006d12: 46bd mov sp, r7 - 8006d14: bd80 pop {r7, pc} + 8007546: 4618 mov r0, r3 + 8007548: 3710 adds r7, #16 + 800754a: 46bd mov sp, r7 + 800754c: bd80 pop {r7, pc} -08006d16 : +0800754e : //新建一个窗口 //返回窗口的指针 //将窗口挂载到某个ui window *New_Window(UI *ui,uint16_t x,uint16_t y,uint16_t width,uint16_t high,COLOR_16 background,const char *title) { - 8006d16: b580 push {r7, lr} - 8006d18: b088 sub sp, #32 - 8006d1a: af00 add r7, sp, #0 - 8006d1c: 60f8 str r0, [r7, #12] - 8006d1e: 4608 mov r0, r1 - 8006d20: 4611 mov r1, r2 - 8006d22: 461a mov r2, r3 - 8006d24: 4603 mov r3, r0 - 8006d26: 817b strh r3, [r7, #10] - 8006d28: 460b mov r3, r1 - 8006d2a: 813b strh r3, [r7, #8] - 8006d2c: 4613 mov r3, r2 - 8006d2e: 80fb strh r3, [r7, #6] + 800754e: b580 push {r7, lr} + 8007550: b088 sub sp, #32 + 8007552: af00 add r7, sp, #0 + 8007554: 60f8 str r0, [r7, #12] + 8007556: 4608 mov r0, r1 + 8007558: 4611 mov r1, r2 + 800755a: 461a mov r2, r3 + 800755c: 4603 mov r3, r0 + 800755e: 817b strh r3, [r7, #10] + 8007560: 460b mov r3, r1 + 8007562: 813b strh r3, [r7, #8] + 8007564: 4613 mov r3, r2 + 8007566: 80fb strh r3, [r7, #6] window *temp_window; temp_window = (window*)malloc(sizeof(window)); - 8006d30: 2028 movs r0, #40 ; 0x28 - 8006d32: f000 fb01 bl 8007338 - 8006d36: 4603 mov r3, r0 - 8006d38: 617b str r3, [r7, #20] + 8007568: 2030 movs r0, #48 ; 0x30 + 800756a: f000 fb13 bl 8007b94 + 800756e: 4603 mov r3, r0 + 8007570: 617b str r3, [r7, #20] if(temp_window!=NULL) - 8006d3a: 697b ldr r3, [r7, #20] - 8006d3c: 2b00 cmp r3, #0 - 8006d3e: d026 beq.n 8006d8e + 8007572: 697b ldr r3, [r7, #20] + 8007574: 2b00 cmp r3, #0 + 8007576: d02a beq.n 80075ce { temp_window->background=background; - 8006d40: 697b ldr r3, [r7, #20] - 8006d42: 6afa ldr r2, [r7, #44] ; 0x2c - 8006d44: 611a str r2, [r3, #16] + 8007578: 697b ldr r3, [r7, #20] + 800757a: 6afa ldr r2, [r7, #44] ; 0x2c + 800757c: 611a str r2, [r3, #16] temp_window->high=high; - 8006d46: 8d3a ldrh r2, [r7, #40] ; 0x28 - 8006d48: 697b ldr r3, [r7, #20] - 8006d4a: 60da str r2, [r3, #12] + 800757e: 8d3a ldrh r2, [r7, #40] ; 0x28 + 8007580: 697b ldr r3, [r7, #20] + 8007582: 60da str r2, [r3, #12] temp_window->width=width; - 8006d4c: 88fa ldrh r2, [r7, #6] - 8006d4e: 697b ldr r3, [r7, #20] - 8006d50: 609a str r2, [r3, #8] + 8007584: 88fa ldrh r2, [r7, #6] + 8007586: 697b ldr r3, [r7, #20] + 8007588: 609a str r2, [r3, #8] temp_window->x=x; - 8006d52: 897a ldrh r2, [r7, #10] - 8006d54: 697b ldr r3, [r7, #20] - 8006d56: 601a str r2, [r3, #0] + 800758a: 897a ldrh r2, [r7, #10] + 800758c: 697b ldr r3, [r7, #20] + 800758e: 601a str r2, [r3, #0] temp_window->y=y; - 8006d58: 893a ldrh r2, [r7, #8] - 8006d5a: 697b ldr r3, [r7, #20] - 8006d5c: 605a str r2, [r3, #4] + 8007590: 893a ldrh r2, [r7, #8] + 8007592: 697b ldr r3, [r7, #20] + 8007594: 605a str r2, [r3, #4] temp_window->refresh_windows_flag=2; - 8006d5e: 697b ldr r3, [r7, #20] - 8006d60: 2202 movs r2, #2 - 8006d62: f883 2024 strb.w r2, [r3, #36] ; 0x24 + 8007596: 697b ldr r3, [r7, #20] + 8007598: 2202 movs r2, #2 + 800759a: f883 2024 strb.w r2, [r3, #36] ; 0x24 + temp_window->touch_flag=0; + 800759e: 697b ldr r3, [r7, #20] + 80075a0: 2200 movs r2, #0 + 80075a2: f883 2025 strb.w r2, [r3, #37] ; 0x25 for(int a=0;a<16;a++) - 8006d66: 2300 movs r3, #0 - 8006d68: 61fb str r3, [r7, #28] - 8006d6a: e00c b.n 8006d86 + 80075a6: 2300 movs r3, #0 + 80075a8: 61fb str r3, [r7, #28] + 80075aa: e00c b.n 80075c6 { temp_window->title[a]=title[a]; - 8006d6c: 69fb ldr r3, [r7, #28] - 8006d6e: 6b3a ldr r2, [r7, #48] ; 0x30 - 8006d70: 4413 add r3, r2 - 8006d72: 7819 ldrb r1, [r3, #0] - 8006d74: 697a ldr r2, [r7, #20] - 8006d76: 69fb ldr r3, [r7, #28] - 8006d78: 4413 add r3, r2 - 8006d7a: 3314 adds r3, #20 - 8006d7c: 460a mov r2, r1 - 8006d7e: 701a strb r2, [r3, #0] + 80075ac: 69fb ldr r3, [r7, #28] + 80075ae: 6b3a ldr r2, [r7, #48] ; 0x30 + 80075b0: 4413 add r3, r2 + 80075b2: 7819 ldrb r1, [r3, #0] + 80075b4: 697a ldr r2, [r7, #20] + 80075b6: 69fb ldr r3, [r7, #28] + 80075b8: 4413 add r3, r2 + 80075ba: 3314 adds r3, #20 + 80075bc: 460a mov r2, r1 + 80075be: 701a strb r2, [r3, #0] for(int a=0;a<16;a++) - 8006d80: 69fb ldr r3, [r7, #28] - 8006d82: 3301 adds r3, #1 - 8006d84: 61fb str r3, [r7, #28] - 8006d86: 69fb ldr r3, [r7, #28] - 8006d88: 2b0f cmp r3, #15 - 8006d8a: ddef ble.n 8006d6c - 8006d8c: e001 b.n 8006d92 + 80075c0: 69fb ldr r3, [r7, #28] + 80075c2: 3301 adds r3, #1 + 80075c4: 61fb str r3, [r7, #28] + 80075c6: 69fb ldr r3, [r7, #28] + 80075c8: 2b0f cmp r3, #15 + 80075ca: ddef ble.n 80075ac + 80075cc: e001 b.n 80075d2 } }else{return NULL;} - 8006d8e: 2300 movs r3, #0 - 8006d90: e02a b.n 8006de8 + 80075ce: 2300 movs r3, #0 + 80075d0: e02a b.n 8007628 windows_stack *temp_windows_stack; temp_windows_stack=ui->last_windows; - 8006d92: 68fb ldr r3, [r7, #12] - 8006d94: 699b ldr r3, [r3, #24] - 8006d96: 61bb str r3, [r7, #24] + 80075d2: 68fb ldr r3, [r7, #12] + 80075d4: 699b ldr r3, [r3, #24] + 80075d6: 61bb str r3, [r7, #24] if(temp_windows_stack==NULL) - 8006d98: 69bb ldr r3, [r7, #24] - 8006d9a: 2b00 cmp r3, #0 - 8006d9c: d10b bne.n 8006db6 + 80075d8: 69bb ldr r3, [r7, #24] + 80075da: 2b00 cmp r3, #0 + 80075dc: d10b bne.n 80075f6 { temp_windows_stack=(windows_stack*)malloc(sizeof(windows_stack)); - 8006d9e: 200c movs r0, #12 - 8006da0: f000 faca bl 8007338 - 8006da4: 4603 mov r3, r0 - 8006da6: 61bb str r3, [r7, #24] + 80075de: 200c movs r0, #12 + 80075e0: f000 fad8 bl 8007b94 + 80075e4: 4603 mov r3, r0 + 80075e6: 61bb str r3, [r7, #24] temp_windows_stack->up=NULL; - 8006da8: 69bb ldr r3, [r7, #24] - 8006daa: 2200 movs r2, #0 - 8006dac: 601a str r2, [r3, #0] + 80075e8: 69bb ldr r3, [r7, #24] + 80075ea: 2200 movs r2, #0 + 80075ec: 601a str r2, [r3, #0] ui->windows=temp_windows_stack; - 8006dae: 68fb ldr r3, [r7, #12] - 8006db0: 69ba ldr r2, [r7, #24] - 8006db2: 615a str r2, [r3, #20] - 8006db4: e00e b.n 8006dd4 + 80075ee: 68fb ldr r3, [r7, #12] + 80075f0: 69ba ldr r2, [r7, #24] + 80075f2: 615a str r2, [r3, #20] + 80075f4: e00e b.n 8007614 while(temp_windows_stack->next!=NULL) { temp_windows_stack=temp_windows_stack->next; } */ windows_stack *up=temp_windows_stack;//备份当前对象指针 - 8006db6: 69bb ldr r3, [r7, #24] - 8006db8: 613b str r3, [r7, #16] + 80075f6: 69bb ldr r3, [r7, #24] + 80075f8: 613b str r3, [r7, #16] temp_windows_stack->next=(windows_stack*)malloc(sizeof(windows_stack)); - 8006dba: 200c movs r0, #12 - 8006dbc: f000 fabc bl 8007338 - 8006dc0: 4603 mov r3, r0 - 8006dc2: 461a mov r2, r3 - 8006dc4: 69bb ldr r3, [r7, #24] - 8006dc6: 609a str r2, [r3, #8] + 80075fa: 200c movs r0, #12 + 80075fc: f000 faca bl 8007b94 + 8007600: 4603 mov r3, r0 + 8007602: 461a mov r2, r3 + 8007604: 69bb ldr r3, [r7, #24] + 8007606: 609a str r2, [r3, #8] temp_windows_stack=temp_windows_stack->next; - 8006dc8: 69bb ldr r3, [r7, #24] - 8006dca: 689b ldr r3, [r3, #8] - 8006dcc: 61bb str r3, [r7, #24] + 8007608: 69bb ldr r3, [r7, #24] + 800760a: 689b ldr r3, [r3, #8] + 800760c: 61bb str r3, [r7, #24] temp_windows_stack->up=up; - 8006dce: 69bb ldr r3, [r7, #24] - 8006dd0: 693a ldr r2, [r7, #16] - 8006dd2: 601a str r2, [r3, #0] + 800760e: 69bb ldr r3, [r7, #24] + 8007610: 693a ldr r2, [r7, #16] + 8007612: 601a str r2, [r3, #0] } temp_windows_stack->next=NULL; - 8006dd4: 69bb ldr r3, [r7, #24] - 8006dd6: 2200 movs r2, #0 - 8006dd8: 609a str r2, [r3, #8] + 8007614: 69bb ldr r3, [r7, #24] + 8007616: 2200 movs r2, #0 + 8007618: 609a str r2, [r3, #8] temp_windows_stack->window=temp_window; - 8006dda: 69bb ldr r3, [r7, #24] - 8006ddc: 697a ldr r2, [r7, #20] - 8006dde: 605a str r2, [r3, #4] + 800761a: 69bb ldr r3, [r7, #24] + 800761c: 697a ldr r2, [r7, #20] + 800761e: 605a str r2, [r3, #4] ui->last_windows=temp_windows_stack; - 8006de0: 68fb ldr r3, [r7, #12] - 8006de2: 69ba ldr r2, [r7, #24] - 8006de4: 619a str r2, [r3, #24] + 8007620: 68fb ldr r3, [r7, #12] + 8007622: 69ba ldr r2, [r7, #24] + 8007624: 619a str r2, [r3, #24] return temp_window; - 8006de6: 697b ldr r3, [r7, #20] + 8007626: 697b ldr r3, [r7, #20] } - 8006de8: 4618 mov r0, r3 - 8006dea: 3720 adds r7, #32 - 8006dec: 46bd mov sp, r7 - 8006dee: bd80 pop {r7, pc} + 8007628: 4618 mov r0, r3 + 800762a: 3720 adds r7, #32 + 800762c: 46bd mov sp, r7 + 800762e: bd80 pop {r7, pc} -08006df0 : +08007630 : //关闭某个窗口 //挺麻烦的,除了要释放窗口内存,还要去ui抹掉窗口的指针 void Close_Windows_Stack(UI *ui,windows_stack *temp_windows_stack) { - 8006df0: b580 push {r7, lr} - 8006df2: b082 sub sp, #8 - 8006df4: af00 add r7, sp, #0 - 8006df6: 6078 str r0, [r7, #4] - 8006df8: 6039 str r1, [r7, #0] + 8007630: b580 push {r7, lr} + 8007632: b082 sub sp, #8 + 8007634: af00 add r7, sp, #0 + 8007636: 6078 str r0, [r7, #4] + 8007638: 6039 str r1, [r7, #0] if(temp_windows_stack==ui->windows) - 8006dfa: 687b ldr r3, [r7, #4] - 8006dfc: 695b ldr r3, [r3, #20] - 8006dfe: 683a ldr r2, [r7, #0] - 8006e00: 429a cmp r2, r3 - 8006e02: d113 bne.n 8006e2c + 800763a: 687b ldr r3, [r7, #4] + 800763c: 695b ldr r3, [r3, #20] + 800763e: 683a ldr r2, [r7, #0] + 8007640: 429a cmp r2, r3 + 8007642: d113 bne.n 800766c { if(temp_windows_stack->next!=NULL) - 8006e04: 683b ldr r3, [r7, #0] - 8006e06: 689b ldr r3, [r3, #8] - 8006e08: 2b00 cmp r3, #0 - 8006e0a: d008 beq.n 8006e1e + 8007644: 683b ldr r3, [r7, #0] + 8007646: 689b ldr r3, [r3, #8] + 8007648: 2b00 cmp r3, #0 + 800764a: d008 beq.n 800765e { ui->windows=temp_windows_stack->next; - 8006e0c: 683b ldr r3, [r7, #0] - 8006e0e: 689a ldr r2, [r3, #8] - 8006e10: 687b ldr r3, [r7, #4] - 8006e12: 615a str r2, [r3, #20] + 800764c: 683b ldr r3, [r7, #0] + 800764e: 689a ldr r2, [r3, #8] + 8007650: 687b ldr r3, [r7, #4] + 8007652: 615a str r2, [r3, #20] ui->windows->up=NULL; - 8006e14: 687b ldr r3, [r7, #4] - 8006e16: 695b ldr r3, [r3, #20] - 8006e18: 2200 movs r2, #0 - 8006e1a: 601a str r2, [r3, #0] - 8006e1c: e029 b.n 8006e72 + 8007654: 687b ldr r3, [r7, #4] + 8007656: 695b ldr r3, [r3, #20] + 8007658: 2200 movs r2, #0 + 800765a: 601a str r2, [r3, #0] + 800765c: e029 b.n 80076b2 }else { ui->windows=NULL; - 8006e1e: 687b ldr r3, [r7, #4] - 8006e20: 2200 movs r2, #0 - 8006e22: 615a str r2, [r3, #20] + 800765e: 687b ldr r3, [r7, #4] + 8007660: 2200 movs r2, #0 + 8007662: 615a str r2, [r3, #20] ui->last_windows=NULL; - 8006e24: 687b ldr r3, [r7, #4] - 8006e26: 2200 movs r2, #0 - 8006e28: 619a str r2, [r3, #24] - 8006e2a: e022 b.n 8006e72 + 8007664: 687b ldr r3, [r7, #4] + 8007666: 2200 movs r2, #0 + 8007668: 619a str r2, [r3, #24] + 800766a: e022 b.n 80076b2 } }else if(temp_windows_stack==ui->last_windows) - 8006e2c: 687b ldr r3, [r7, #4] - 8006e2e: 699b ldr r3, [r3, #24] - 8006e30: 683a ldr r2, [r7, #0] - 8006e32: 429a cmp r2, r3 - 8006e34: d113 bne.n 8006e5e + 800766c: 687b ldr r3, [r7, #4] + 800766e: 699b ldr r3, [r3, #24] + 8007670: 683a ldr r2, [r7, #0] + 8007672: 429a cmp r2, r3 + 8007674: d113 bne.n 800769e { if(temp_windows_stack->up!=NULL) - 8006e36: 683b ldr r3, [r7, #0] - 8006e38: 681b ldr r3, [r3, #0] - 8006e3a: 2b00 cmp r3, #0 - 8006e3c: d008 beq.n 8006e50 + 8007676: 683b ldr r3, [r7, #0] + 8007678: 681b ldr r3, [r3, #0] + 800767a: 2b00 cmp r3, #0 + 800767c: d008 beq.n 8007690 { ui->last_windows=temp_windows_stack->up; - 8006e3e: 683b ldr r3, [r7, #0] - 8006e40: 681a ldr r2, [r3, #0] - 8006e42: 687b ldr r3, [r7, #4] - 8006e44: 619a str r2, [r3, #24] + 800767e: 683b ldr r3, [r7, #0] + 8007680: 681a ldr r2, [r3, #0] + 8007682: 687b ldr r3, [r7, #4] + 8007684: 619a str r2, [r3, #24] ui->last_windows->next=NULL; - 8006e46: 687b ldr r3, [r7, #4] - 8006e48: 699b ldr r3, [r3, #24] - 8006e4a: 2200 movs r2, #0 - 8006e4c: 609a str r2, [r3, #8] - 8006e4e: e010 b.n 8006e72 + 8007686: 687b ldr r3, [r7, #4] + 8007688: 699b ldr r3, [r3, #24] + 800768a: 2200 movs r2, #0 + 800768c: 609a str r2, [r3, #8] + 800768e: e010 b.n 80076b2 }else { ui->windows=NULL; - 8006e50: 687b ldr r3, [r7, #4] - 8006e52: 2200 movs r2, #0 - 8006e54: 615a str r2, [r3, #20] + 8007690: 687b ldr r3, [r7, #4] + 8007692: 2200 movs r2, #0 + 8007694: 615a str r2, [r3, #20] ui->last_windows=NULL; - 8006e56: 687b ldr r3, [r7, #4] - 8006e58: 2200 movs r2, #0 - 8006e5a: 619a str r2, [r3, #24] - 8006e5c: e009 b.n 8006e72 + 8007696: 687b ldr r3, [r7, #4] + 8007698: 2200 movs r2, #0 + 800769a: 619a str r2, [r3, #24] + 800769c: e009 b.n 80076b2 } }else { temp_windows_stack->up->next=temp_windows_stack->next; //取出这个节点 把节点的上下补上链接 - 8006e5e: 683b ldr r3, [r7, #0] - 8006e60: 681b ldr r3, [r3, #0] - 8006e62: 683a ldr r2, [r7, #0] - 8006e64: 6892 ldr r2, [r2, #8] - 8006e66: 609a str r2, [r3, #8] + 800769e: 683b ldr r3, [r7, #0] + 80076a0: 681b ldr r3, [r3, #0] + 80076a2: 683a ldr r2, [r7, #0] + 80076a4: 6892 ldr r2, [r2, #8] + 80076a6: 609a str r2, [r3, #8] temp_windows_stack->next->up=temp_windows_stack->up; - 8006e68: 683b ldr r3, [r7, #0] - 8006e6a: 689b ldr r3, [r3, #8] - 8006e6c: 683a ldr r2, [r7, #0] - 8006e6e: 6812 ldr r2, [r2, #0] - 8006e70: 601a str r2, [r3, #0] + 80076a8: 683b ldr r3, [r7, #0] + 80076aa: 689b ldr r3, [r3, #8] + 80076ac: 683a ldr r2, [r7, #0] + 80076ae: 6812 ldr r2, [r2, #0] + 80076b0: 601a str r2, [r3, #0] } free(temp_windows_stack->window); - 8006e72: 683b ldr r3, [r7, #0] - 8006e74: 685b ldr r3, [r3, #4] - 8006e76: 4618 mov r0, r3 - 8006e78: f000 fa66 bl 8007348 + 80076b2: 683b ldr r3, [r7, #0] + 80076b4: 685b ldr r3, [r3, #4] + 80076b6: 4618 mov r0, r3 + 80076b8: f000 fa74 bl 8007ba4 free(temp_windows_stack); - 8006e7c: 6838 ldr r0, [r7, #0] - 8006e7e: f000 fa63 bl 8007348 + 80076bc: 6838 ldr r0, [r7, #0] + 80076be: f000 fa71 bl 8007ba4 } - 8006e82: bf00 nop - 8006e84: 3708 adds r7, #8 - 8006e86: 46bd mov sp, r7 - 8006e88: bd80 pop {r7, pc} + 80076c2: bf00 nop + 80076c4: 3708 adds r7, #8 + 80076c6: 46bd mov sp, r7 + 80076c8: bd80 pop {r7, pc} -08006e8a : +080076ca : temp_window->y=temp_window->y+acc_y; } //显示一个窗口 void Refresh_Window(UI *ui,window *temp_window) { - 8006e8a: b580 push {r7, lr} - 8006e8c: b088 sub sp, #32 - 8006e8e: af02 add r7, sp, #8 - 8006e90: 6078 str r0, [r7, #4] - 8006e92: 6039 str r1, [r7, #0] + 80076ca: b580 push {r7, lr} + 80076cc: b088 sub sp, #32 + 80076ce: af02 add r7, sp, #8 + 80076d0: 6078 str r0, [r7, #4] + 80076d2: 6039 str r1, [r7, #0] //开始绘制窗口//填充窗口背景 int x,y; char z; for(uint16_t temp_y=0;temp_yhigh;temp_y++) - 8006e94: 2300 movs r3, #0 - 8006e96: 82bb strh r3, [r7, #20] - 8006e98: e05f b.n 8006f5a + 80076d4: 2300 movs r3, #0 + 80076d6: 82bb strh r3, [r7, #20] + 80076d8: e05f b.n 800779a { z=1; - 8006e9a: 2301 movs r3, #1 - 8006e9c: 75fb strb r3, [r7, #23] + 80076da: 2301 movs r3, #1 + 80076dc: 75fb strb r3, [r7, #23] for(uint16_t temp_i=0;temp_iwidth;temp_i++) - 8006e9e: 2300 movs r3, #0 - 8006ea0: 827b strh r3, [r7, #18] - 8006ea2: e052 b.n 8006f4a + 80076de: 2300 movs r3, #0 + 80076e0: 827b strh r3, [r7, #18] + 80076e2: e052 b.n 800778a { x=temp_window->x+temp_i; - 8006ea4: 683b ldr r3, [r7, #0] - 8006ea6: 681a ldr r2, [r3, #0] - 8006ea8: 8a7b ldrh r3, [r7, #18] - 8006eaa: 4413 add r3, r2 - 8006eac: 60fb str r3, [r7, #12] + 80076e4: 683b ldr r3, [r7, #0] + 80076e6: 681a ldr r2, [r3, #0] + 80076e8: 8a7b ldrh r3, [r7, #18] + 80076ea: 4413 add r3, r2 + 80076ec: 60fb str r3, [r7, #12] y=temp_window->y+temp_y; - 8006eae: 683b ldr r3, [r7, #0] - 8006eb0: 685a ldr r2, [r3, #4] - 8006eb2: 8abb ldrh r3, [r7, #20] - 8006eb4: 4413 add r3, r2 - 8006eb6: 60bb str r3, [r7, #8] + 80076ee: 683b ldr r3, [r7, #0] + 80076f0: 685a ldr r2, [r3, #4] + 80076f2: 8abb ldrh r3, [r7, #20] + 80076f4: 4413 add r3, r2 + 80076f6: 60bb str r3, [r7, #8] if(y>=ui->y&&z==1) - 8006eb8: 687b ldr r3, [r7, #4] - 8006eba: 689b ldr r3, [r3, #8] - 8006ebc: 68ba ldr r2, [r7, #8] - 8006ebe: 429a cmp r2, r3 - 8006ec0: db0c blt.n 8006edc - 8006ec2: 7dfb ldrb r3, [r7, #23] - 8006ec4: 2b01 cmp r3, #1 - 8006ec6: d109 bne.n 8006edc + 80076f8: 687b ldr r3, [r7, #4] + 80076fa: 689b ldr r3, [r3, #8] + 80076fc: 68ba ldr r2, [r7, #8] + 80076fe: 429a cmp r2, r3 + 8007700: db0c blt.n 800771c + 8007702: 7dfb ldrb r3, [r7, #23] + 8007704: 2b01 cmp r3, #1 + 8007706: d109 bne.n 800771c { Inteface_SetCursor(x,y); - 8006ec8: 68fb ldr r3, [r7, #12] - 8006eca: b29b uxth r3, r3 - 8006ecc: 68ba ldr r2, [r7, #8] - 8006ece: b292 uxth r2, r2 - 8006ed0: 4611 mov r1, r2 - 8006ed2: 4618 mov r0, r3 - 8006ed4: f7ff fec2 bl 8006c5c + 8007708: 68fb ldr r3, [r7, #12] + 800770a: b29b uxth r3, r3 + 800770c: 68ba ldr r2, [r7, #8] + 800770e: b292 uxth r2, r2 + 8007710: 4611 mov r1, r2 + 8007712: 4618 mov r0, r3 + 8007714: f7ff febe bl 8007494 z=0; - 8006ed8: 2300 movs r3, #0 - 8006eda: 75fb strb r3, [r7, #23] + 8007718: 2300 movs r3, #0 + 800771a: 75fb strb r3, [r7, #23] } if(x>=ui->x) - 8006edc: 687b ldr r3, [r7, #4] - 8006ede: 685b ldr r3, [r3, #4] - 8006ee0: 68fa ldr r2, [r7, #12] - 8006ee2: 429a cmp r2, r3 - 8006ee4: db2e blt.n 8006f44 + 800771c: 687b ldr r3, [r7, #4] + 800771e: 685b ldr r3, [r3, #4] + 8007720: 68fa ldr r2, [r7, #12] + 8007722: 429a cmp r2, r3 + 8007724: db2e blt.n 8007784 { if(temp_y<16) - 8006ee6: 8abb ldrh r3, [r7, #20] - 8006ee8: 2b0f cmp r3, #15 - 8006eea: d80f bhi.n 8006f0c + 8007726: 8abb ldrh r3, [r7, #20] + 8007728: 2b0f cmp r3, #15 + 800772a: d80f bhi.n 800774c { if(temp_i>temp_window->width-16) - 8006eec: 683b ldr r3, [r7, #0] - 8006eee: 689b ldr r3, [r3, #8] - 8006ef0: f1a3 020f sub.w r2, r3, #15 - 8006ef4: 8a7b ldrh r3, [r7, #18] - 8006ef6: 429a cmp r2, r3 - 8006ef8: dc04 bgt.n 8006f04 + 800772c: 683b ldr r3, [r7, #0] + 800772e: 689b ldr r3, [r3, #8] + 8007730: f1a3 020f sub.w r2, r3, #15 + 8007734: 8a7b ldrh r3, [r7, #18] + 8007736: 429a cmp r2, r3 + 8007738: dc04 bgt.n 8007744 { Inteface_SetColor(RED); - 8006efa: f44f 4078 mov.w r0, #63488 ; 0xf800 - 8006efe: f7ff fec7 bl 8006c90 - 8006f02: e01f b.n 8006f44 + 800773a: f44f 4078 mov.w r0, #63488 ; 0xf800 + 800773e: f7ff fec3 bl 80074c8 + 8007742: e01f b.n 8007784 }else { Inteface_SetColor(BLUE); - 8006f04: 201f movs r0, #31 - 8006f06: f7ff fec3 bl 8006c90 - 8006f0a: e01b b.n 8006f44 + 8007744: 201f movs r0, #31 + 8007746: f7ff febf bl 80074c8 + 800774a: e01b b.n 8007784 } }else { if(temp_i==0||temp_y==0||temp_i==temp_window->width-1||temp_y==temp_window->high-1) - 8006f0c: 8a7b ldrh r3, [r7, #18] - 8006f0e: 2b00 cmp r3, #0 - 8006f10: d00e beq.n 8006f30 - 8006f12: 8abb ldrh r3, [r7, #20] - 8006f14: 2b00 cmp r3, #0 - 8006f16: d00b beq.n 8006f30 - 8006f18: 8a7a ldrh r2, [r7, #18] - 8006f1a: 683b ldr r3, [r7, #0] - 8006f1c: 689b ldr r3, [r3, #8] - 8006f1e: 3b01 subs r3, #1 - 8006f20: 429a cmp r2, r3 - 8006f22: d005 beq.n 8006f30 - 8006f24: 8aba ldrh r2, [r7, #20] - 8006f26: 683b ldr r3, [r7, #0] - 8006f28: 68db ldr r3, [r3, #12] - 8006f2a: 3b01 subs r3, #1 - 8006f2c: 429a cmp r2, r3 - 8006f2e: d103 bne.n 8006f38 + 800774c: 8a7b ldrh r3, [r7, #18] + 800774e: 2b00 cmp r3, #0 + 8007750: d00e beq.n 8007770 + 8007752: 8abb ldrh r3, [r7, #20] + 8007754: 2b00 cmp r3, #0 + 8007756: d00b beq.n 8007770 + 8007758: 8a7a ldrh r2, [r7, #18] + 800775a: 683b ldr r3, [r7, #0] + 800775c: 689b ldr r3, [r3, #8] + 800775e: 3b01 subs r3, #1 + 8007760: 429a cmp r2, r3 + 8007762: d005 beq.n 8007770 + 8007764: 8aba ldrh r2, [r7, #20] + 8007766: 683b ldr r3, [r7, #0] + 8007768: 68db ldr r3, [r3, #12] + 800776a: 3b01 subs r3, #1 + 800776c: 429a cmp r2, r3 + 800776e: d103 bne.n 8007778 { Inteface_SetColor(BLUE); - 8006f30: 201f movs r0, #31 - 8006f32: f7ff fead bl 8006c90 - 8006f36: e005 b.n 8006f44 + 8007770: 201f movs r0, #31 + 8007772: f7ff fea9 bl 80074c8 + 8007776: e005 b.n 8007784 }else { Inteface_SetColor(temp_window->background); - 8006f38: 683b ldr r3, [r7, #0] - 8006f3a: 691b ldr r3, [r3, #16] - 8006f3c: b29b uxth r3, r3 - 8006f3e: 4618 mov r0, r3 - 8006f40: f7ff fea6 bl 8006c90 + 8007778: 683b ldr r3, [r7, #0] + 800777a: 691b ldr r3, [r3, #16] + 800777c: b29b uxth r3, r3 + 800777e: 4618 mov r0, r3 + 8007780: f7ff fea2 bl 80074c8 for(uint16_t temp_i=0;temp_iwidth;temp_i++) - 8006f44: 8a7b ldrh r3, [r7, #18] - 8006f46: 3301 adds r3, #1 - 8006f48: 827b strh r3, [r7, #18] - 8006f4a: 8a7a ldrh r2, [r7, #18] - 8006f4c: 683b ldr r3, [r7, #0] - 8006f4e: 689b ldr r3, [r3, #8] - 8006f50: 429a cmp r2, r3 - 8006f52: dba7 blt.n 8006ea4 + 8007784: 8a7b ldrh r3, [r7, #18] + 8007786: 3301 adds r3, #1 + 8007788: 827b strh r3, [r7, #18] + 800778a: 8a7a ldrh r2, [r7, #18] + 800778c: 683b ldr r3, [r7, #0] + 800778e: 689b ldr r3, [r3, #8] + 8007790: 429a cmp r2, r3 + 8007792: dba7 blt.n 80076e4 for(uint16_t temp_y=0;temp_yhigh;temp_y++) - 8006f54: 8abb ldrh r3, [r7, #20] - 8006f56: 3301 adds r3, #1 - 8006f58: 82bb strh r3, [r7, #20] - 8006f5a: 8aba ldrh r2, [r7, #20] - 8006f5c: 683b ldr r3, [r7, #0] - 8006f5e: 68db ldr r3, [r3, #12] - 8006f60: 429a cmp r2, r3 - 8006f62: db9a blt.n 8006e9a + 8007794: 8abb ldrh r3, [r7, #20] + 8007796: 3301 adds r3, #1 + 8007798: 82bb strh r3, [r7, #20] + 800779a: 8aba ldrh r2, [r7, #20] + 800779c: 683b ldr r3, [r7, #0] + 800779e: 68db ldr r3, [r3, #12] + 80077a0: 429a cmp r2, r3 + 80077a2: db9a blt.n 80076da } } */ //显示title LCD_ShowString(temp_window->x,temp_window->y,&temp_window->title,16,WHITE,WHITE); - 8006f64: 683b ldr r3, [r7, #0] - 8006f66: 681b ldr r3, [r3, #0] - 8006f68: b298 uxth r0, r3 - 8006f6a: 683b ldr r3, [r7, #0] - 8006f6c: 685b ldr r3, [r3, #4] - 8006f6e: b299 uxth r1, r3 - 8006f70: 683b ldr r3, [r7, #0] - 8006f72: f103 0214 add.w r2, r3, #20 - 8006f76: f64f 73ff movw r3, #65535 ; 0xffff - 8006f7a: 9301 str r3, [sp, #4] - 8006f7c: f64f 73ff movw r3, #65535 ; 0xffff - 8006f80: 9300 str r3, [sp, #0] - 8006f82: 2310 movs r3, #16 - 8006f84: f7fe fd52 bl 8005a2c + 80077a4: 683b ldr r3, [r7, #0] + 80077a6: 681b ldr r3, [r3, #0] + 80077a8: b298 uxth r0, r3 + 80077aa: 683b ldr r3, [r7, #0] + 80077ac: 685b ldr r3, [r3, #4] + 80077ae: b299 uxth r1, r3 + 80077b0: 683b ldr r3, [r7, #0] + 80077b2: f103 0214 add.w r2, r3, #20 + 80077b6: f64f 73ff movw r3, #65535 ; 0xffff + 80077ba: 9301 str r3, [sp, #4] + 80077bc: f64f 73ff movw r3, #65535 ; 0xffff + 80077c0: 9300 str r3, [sp, #0] + 80077c2: 2310 movs r3, #16 + 80077c4: f7fe f9ae bl 8005b24 } - 8006f88: bf00 nop - 8006f8a: 3718 adds r7, #24 - 8006f8c: 46bd mov sp, r7 - 8006f8e: bd80 pop {r7, pc} + 80077c8: bf00 nop + 80077ca: 3718 adds r7, #24 + 80077cc: 46bd mov sp, r7 + 80077ce: bd80 pop {r7, pc} -08006f90 : +080077d0 : * 很可惜 辛辛苦苦写的代码要被放弃 * 用算法实现遮挡关系计算真挺蠢 * * */ void Refresh_UI(UI *ui) { - 8006f90: b580 push {r7, lr} - 8006f92: b086 sub sp, #24 - 8006f94: af00 add r7, sp, #0 - 8006f96: 6078 str r0, [r7, #4] + 80077d0: b580 push {r7, lr} + 80077d2: b086 sub sp, #24 + 80077d4: af00 add r7, sp, #0 + 80077d6: 6078 str r0, [r7, #4] int flag=0; - 8006f98: 2300 movs r3, #0 - 8006f9a: 617b str r3, [r7, #20] + 80077d8: 2300 movs r3, #0 + 80077da: 617b str r3, [r7, #20] uint16_t dot_y=0,dot_x=0; - 8006f9c: 2300 movs r3, #0 - 8006f9e: 827b strh r3, [r7, #18] - 8006fa0: 2300 movs r3, #0 - 8006fa2: 823b strh r3, [r7, #16] + 80077dc: 2300 movs r3, #0 + 80077de: 827b strh r3, [r7, #18] + 80077e0: 2300 movs r3, #0 + 80077e2: 823b strh r3, [r7, #16] //画背景 for(dot_y=ui->y;dot_yhigh;dot_y++) - 8006fa4: 687b ldr r3, [r7, #4] - 8006fa6: 689b ldr r3, [r3, #8] - 8006fa8: 827b strh r3, [r7, #18] - 8006faa: e01a b.n 8006fe2 + 80077e4: 687b ldr r3, [r7, #4] + 80077e6: 689b ldr r3, [r3, #8] + 80077e8: 827b strh r3, [r7, #18] + 80077ea: e01a b.n 8007822 { Inteface_SetCursor(dot_x,dot_y); - 8006fac: 8a7a ldrh r2, [r7, #18] - 8006fae: 8a3b ldrh r3, [r7, #16] - 8006fb0: 4611 mov r1, r2 - 8006fb2: 4618 mov r0, r3 - 8006fb4: f7ff fe52 bl 8006c5c + 80077ec: 8a7a ldrh r2, [r7, #18] + 80077ee: 8a3b ldrh r3, [r7, #16] + 80077f0: 4611 mov r1, r2 + 80077f2: 4618 mov r0, r3 + 80077f4: f7ff fe4e bl 8007494 for(dot_x=ui->x;dot_xwidth;dot_x++) - 8006fb8: 687b ldr r3, [r7, #4] - 8006fba: 685b ldr r3, [r3, #4] - 8006fbc: 823b strh r3, [r7, #16] - 8006fbe: e008 b.n 8006fd2 + 80077f8: 687b ldr r3, [r7, #4] + 80077fa: 685b ldr r3, [r3, #4] + 80077fc: 823b strh r3, [r7, #16] + 80077fe: e008 b.n 8007812 { Inteface_SetColor(ui->background); - 8006fc0: 687b ldr r3, [r7, #4] - 8006fc2: 681b ldr r3, [r3, #0] - 8006fc4: b29b uxth r3, r3 - 8006fc6: 4618 mov r0, r3 - 8006fc8: f7ff fe62 bl 8006c90 + 8007800: 687b ldr r3, [r7, #4] + 8007802: 681b ldr r3, [r3, #0] + 8007804: b29b uxth r3, r3 + 8007806: 4618 mov r0, r3 + 8007808: f7ff fe5e bl 80074c8 for(dot_x=ui->x;dot_xwidth;dot_x++) - 8006fcc: 8a3b ldrh r3, [r7, #16] - 8006fce: 3301 adds r3, #1 - 8006fd0: 823b strh r3, [r7, #16] - 8006fd2: 8a3a ldrh r2, [r7, #16] - 8006fd4: 687b ldr r3, [r7, #4] - 8006fd6: 68db ldr r3, [r3, #12] - 8006fd8: 429a cmp r2, r3 - 8006fda: dbf1 blt.n 8006fc0 + 800780c: 8a3b ldrh r3, [r7, #16] + 800780e: 3301 adds r3, #1 + 8007810: 823b strh r3, [r7, #16] + 8007812: 8a3a ldrh r2, [r7, #16] + 8007814: 687b ldr r3, [r7, #4] + 8007816: 68db ldr r3, [r3, #12] + 8007818: 429a cmp r2, r3 + 800781a: dbf1 blt.n 8007800 for(dot_y=ui->y;dot_yhigh;dot_y++) - 8006fdc: 8a7b ldrh r3, [r7, #18] - 8006fde: 3301 adds r3, #1 - 8006fe0: 827b strh r3, [r7, #18] - 8006fe2: 8a7a ldrh r2, [r7, #18] - 8006fe4: 687b ldr r3, [r7, #4] - 8006fe6: 691b ldr r3, [r3, #16] - 8006fe8: 429a cmp r2, r3 - 8006fea: dbdf blt.n 8006fac + 800781c: 8a7b ldrh r3, [r7, #18] + 800781e: 3301 adds r3, #1 + 8007820: 827b strh r3, [r7, #18] + 8007822: 8a7a ldrh r2, [r7, #18] + 8007824: 687b ldr r3, [r7, #4] + 8007826: 691b ldr r3, [r3, #16] + 8007828: 429a cmp r2, r3 + 800782a: dbdf blt.n 80077ec } } windows_stack *temp_windows_stack,*temp_windows_stack2; temp_windows_stack=ui->windows; - 8006fec: 687b ldr r3, [r7, #4] - 8006fee: 695b ldr r3, [r3, #20] - 8006ff0: 60fb str r3, [r7, #12] + 800782c: 687b ldr r3, [r7, #4] + 800782e: 695b ldr r3, [r3, #20] + 8007830: 60fb str r3, [r7, #12] do { if(temp_windows_stack!=NULL) - 8006ff2: 68fb ldr r3, [r7, #12] - 8006ff4: 2b00 cmp r3, #0 - 8006ff6: d00b beq.n 8007010 + 8007832: 68fb ldr r3, [r7, #12] + 8007834: 2b00 cmp r3, #0 + 8007836: d00b beq.n 8007850 { flag=1; - 8006ff8: 2301 movs r3, #1 - 8006ffa: 617b str r3, [r7, #20] + 8007838: 2301 movs r3, #1 + 800783a: 617b str r3, [r7, #20] Refresh_Window(ui,temp_windows_stack->window); - 8006ffc: 68fb ldr r3, [r7, #12] - 8006ffe: 685b ldr r3, [r3, #4] - 8007000: 4619 mov r1, r3 - 8007002: 6878 ldr r0, [r7, #4] - 8007004: f7ff ff41 bl 8006e8a + 800783c: 68fb ldr r3, [r7, #12] + 800783e: 685b ldr r3, [r3, #4] + 8007840: 4619 mov r1, r3 + 8007842: 6878 ldr r0, [r7, #4] + 8007844: f7ff ff41 bl 80076ca //绘制下一个窗口 temp_windows_stack=temp_windows_stack->next; - 8007008: 68fb ldr r3, [r7, #12] - 800700a: 689b ldr r3, [r3, #8] - 800700c: 60fb str r3, [r7, #12] - 800700e: e001 b.n 8007014 + 8007848: 68fb ldr r3, [r7, #12] + 800784a: 689b ldr r3, [r3, #8] + 800784c: 60fb str r3, [r7, #12] + 800784e: e001 b.n 8007854 }else { flag=0; - 8007010: 2300 movs r3, #0 - 8007012: 617b str r3, [r7, #20] + 8007850: 2300 movs r3, #0 + 8007852: 617b str r3, [r7, #20] } }while(flag); - 8007014: 697b ldr r3, [r7, #20] - 8007016: 2b00 cmp r3, #0 - 8007018: d1eb bne.n 8006ff2 + 8007854: 697b ldr r3, [r7, #20] + 8007856: 2b00 cmp r3, #0 + 8007858: d1eb bne.n 8007832 } } */ } - 800701a: bf00 nop - 800701c: bf00 nop - 800701e: 3718 adds r7, #24 - 8007020: 46bd mov sp, r7 - 8007022: bd80 pop {r7, pc} + 800785a: bf00 nop + 800785c: bf00 nop + 800785e: 3718 adds r7, #24 + 8007860: 46bd mov sp, r7 + 8007862: bd80 pop {r7, pc} -08007024 : +08007864 : #define BODY 1 #define BAR 2 #define CLOSE 3 uint8_t Chack(window *this_window,int x,int y) { - 8007024: b480 push {r7} - 8007026: b087 sub sp, #28 - 8007028: af00 add r7, sp, #0 - 800702a: 60f8 str r0, [r7, #12] - 800702c: 60b9 str r1, [r7, #8] - 800702e: 607a str r2, [r7, #4] + 8007864: b480 push {r7} + 8007866: b087 sub sp, #28 + 8007868: af00 add r7, sp, #0 + 800786a: 60f8 str r0, [r7, #12] + 800786c: 60b9 str r1, [r7, #8] + 800786e: 607a str r2, [r7, #4] int a=0; - 8007030: 2300 movs r3, #0 - 8007032: 617b str r3, [r7, #20] + 8007870: 2300 movs r3, #0 + 8007872: 617b str r3, [r7, #20] if(((x>=this_window->x)&&(x<(this_window->x+this_window->width)))&&((y>=this_window->y+16)&&(y<(this_window->y+this_window->high)))) - 8007034: 68fb ldr r3, [r7, #12] - 8007036: 681b ldr r3, [r3, #0] - 8007038: 68ba ldr r2, [r7, #8] - 800703a: 429a cmp r2, r3 - 800703c: db17 blt.n 800706e - 800703e: 68fb ldr r3, [r7, #12] - 8007040: 681a ldr r2, [r3, #0] - 8007042: 68fb ldr r3, [r7, #12] - 8007044: 689b ldr r3, [r3, #8] - 8007046: 4413 add r3, r2 - 8007048: 68ba ldr r2, [r7, #8] - 800704a: 429a cmp r2, r3 - 800704c: da0f bge.n 800706e - 800704e: 68fb ldr r3, [r7, #12] - 8007050: 685b ldr r3, [r3, #4] - 8007052: 330f adds r3, #15 - 8007054: 687a ldr r2, [r7, #4] - 8007056: 429a cmp r2, r3 - 8007058: dd09 ble.n 800706e - 800705a: 68fb ldr r3, [r7, #12] - 800705c: 685a ldr r2, [r3, #4] - 800705e: 68fb ldr r3, [r7, #12] - 8007060: 68db ldr r3, [r3, #12] - 8007062: 4413 add r3, r2 - 8007064: 687a ldr r2, [r7, #4] - 8007066: 429a cmp r2, r3 - 8007068: da01 bge.n 800706e + 8007874: 68fb ldr r3, [r7, #12] + 8007876: 681b ldr r3, [r3, #0] + 8007878: 68ba ldr r2, [r7, #8] + 800787a: 429a cmp r2, r3 + 800787c: db17 blt.n 80078ae + 800787e: 68fb ldr r3, [r7, #12] + 8007880: 681a ldr r2, [r3, #0] + 8007882: 68fb ldr r3, [r7, #12] + 8007884: 689b ldr r3, [r3, #8] + 8007886: 4413 add r3, r2 + 8007888: 68ba ldr r2, [r7, #8] + 800788a: 429a cmp r2, r3 + 800788c: da0f bge.n 80078ae + 800788e: 68fb ldr r3, [r7, #12] + 8007890: 685b ldr r3, [r3, #4] + 8007892: 330f adds r3, #15 + 8007894: 687a ldr r2, [r7, #4] + 8007896: 429a cmp r2, r3 + 8007898: dd09 ble.n 80078ae + 800789a: 68fb ldr r3, [r7, #12] + 800789c: 685a ldr r2, [r3, #4] + 800789e: 68fb ldr r3, [r7, #12] + 80078a0: 68db ldr r3, [r3, #12] + 80078a2: 4413 add r3, r2 + 80078a4: 687a ldr r2, [r7, #4] + 80078a6: 429a cmp r2, r3 + 80078a8: da01 bge.n 80078ae { a=1; - 800706a: 2301 movs r3, #1 - 800706c: 617b str r3, [r7, #20] + 80078aa: 2301 movs r3, #1 + 80078ac: 617b str r3, [r7, #20] } if(((x>=this_window->x)&&(x<(this_window->x+this_window->width-16)))&&((y>=this_window->y)&&(y<(this_window->y+16)))) - 800706e: 68fb ldr r3, [r7, #12] - 8007070: 681b ldr r3, [r3, #0] - 8007072: 68ba ldr r2, [r7, #8] - 8007074: 429a cmp r2, r3 - 8007076: db15 blt.n 80070a4 - 8007078: 68fb ldr r3, [r7, #12] - 800707a: 681a ldr r2, [r3, #0] - 800707c: 68fb ldr r3, [r7, #12] - 800707e: 689b ldr r3, [r3, #8] - 8007080: 4413 add r3, r2 - 8007082: 3b10 subs r3, #16 - 8007084: 68ba ldr r2, [r7, #8] - 8007086: 429a cmp r2, r3 - 8007088: da0c bge.n 80070a4 - 800708a: 68fb ldr r3, [r7, #12] - 800708c: 685b ldr r3, [r3, #4] - 800708e: 687a ldr r2, [r7, #4] - 8007090: 429a cmp r2, r3 - 8007092: db07 blt.n 80070a4 - 8007094: 68fb ldr r3, [r7, #12] - 8007096: 685b ldr r3, [r3, #4] - 8007098: 330f adds r3, #15 - 800709a: 687a ldr r2, [r7, #4] - 800709c: 429a cmp r2, r3 - 800709e: dc01 bgt.n 80070a4 + 80078ae: 68fb ldr r3, [r7, #12] + 80078b0: 681b ldr r3, [r3, #0] + 80078b2: 68ba ldr r2, [r7, #8] + 80078b4: 429a cmp r2, r3 + 80078b6: db15 blt.n 80078e4 + 80078b8: 68fb ldr r3, [r7, #12] + 80078ba: 681a ldr r2, [r3, #0] + 80078bc: 68fb ldr r3, [r7, #12] + 80078be: 689b ldr r3, [r3, #8] + 80078c0: 4413 add r3, r2 + 80078c2: 3b10 subs r3, #16 + 80078c4: 68ba ldr r2, [r7, #8] + 80078c6: 429a cmp r2, r3 + 80078c8: da0c bge.n 80078e4 + 80078ca: 68fb ldr r3, [r7, #12] + 80078cc: 685b ldr r3, [r3, #4] + 80078ce: 687a ldr r2, [r7, #4] + 80078d0: 429a cmp r2, r3 + 80078d2: db07 blt.n 80078e4 + 80078d4: 68fb ldr r3, [r7, #12] + 80078d6: 685b ldr r3, [r3, #4] + 80078d8: 330f adds r3, #15 + 80078da: 687a ldr r2, [r7, #4] + 80078dc: 429a cmp r2, r3 + 80078de: dc01 bgt.n 80078e4 { a=2; - 80070a0: 2302 movs r3, #2 - 80070a2: 617b str r3, [r7, #20] + 80078e0: 2302 movs r3, #2 + 80078e2: 617b str r3, [r7, #20] } if((x>=(this_window->x+this_window->width-16))&&(x<(this_window->x+this_window->width))&&((y>=this_window->y)&&(y<(this_window->y+16)))) - 80070a4: 68fb ldr r3, [r7, #12] - 80070a6: 681a ldr r2, [r3, #0] - 80070a8: 68fb ldr r3, [r7, #12] - 80070aa: 689b ldr r3, [r3, #8] - 80070ac: 4413 add r3, r2 - 80070ae: 3b10 subs r3, #16 - 80070b0: 68ba ldr r2, [r7, #8] - 80070b2: 429a cmp r2, r3 - 80070b4: db14 blt.n 80070e0 - 80070b6: 68fb ldr r3, [r7, #12] - 80070b8: 681a ldr r2, [r3, #0] - 80070ba: 68fb ldr r3, [r7, #12] - 80070bc: 689b ldr r3, [r3, #8] - 80070be: 4413 add r3, r2 - 80070c0: 68ba ldr r2, [r7, #8] - 80070c2: 429a cmp r2, r3 - 80070c4: da0c bge.n 80070e0 - 80070c6: 68fb ldr r3, [r7, #12] - 80070c8: 685b ldr r3, [r3, #4] - 80070ca: 687a ldr r2, [r7, #4] - 80070cc: 429a cmp r2, r3 - 80070ce: db07 blt.n 80070e0 - 80070d0: 68fb ldr r3, [r7, #12] - 80070d2: 685b ldr r3, [r3, #4] - 80070d4: 330f adds r3, #15 - 80070d6: 687a ldr r2, [r7, #4] - 80070d8: 429a cmp r2, r3 - 80070da: dc01 bgt.n 80070e0 + 80078e4: 68fb ldr r3, [r7, #12] + 80078e6: 681a ldr r2, [r3, #0] + 80078e8: 68fb ldr r3, [r7, #12] + 80078ea: 689b ldr r3, [r3, #8] + 80078ec: 4413 add r3, r2 + 80078ee: 3b10 subs r3, #16 + 80078f0: 68ba ldr r2, [r7, #8] + 80078f2: 429a cmp r2, r3 + 80078f4: db14 blt.n 8007920 + 80078f6: 68fb ldr r3, [r7, #12] + 80078f8: 681a ldr r2, [r3, #0] + 80078fa: 68fb ldr r3, [r7, #12] + 80078fc: 689b ldr r3, [r3, #8] + 80078fe: 4413 add r3, r2 + 8007900: 68ba ldr r2, [r7, #8] + 8007902: 429a cmp r2, r3 + 8007904: da0c bge.n 8007920 + 8007906: 68fb ldr r3, [r7, #12] + 8007908: 685b ldr r3, [r3, #4] + 800790a: 687a ldr r2, [r7, #4] + 800790c: 429a cmp r2, r3 + 800790e: db07 blt.n 8007920 + 8007910: 68fb ldr r3, [r7, #12] + 8007912: 685b ldr r3, [r3, #4] + 8007914: 330f adds r3, #15 + 8007916: 687a ldr r2, [r7, #4] + 8007918: 429a cmp r2, r3 + 800791a: dc01 bgt.n 8007920 { a=3; - 80070dc: 2303 movs r3, #3 - 80070de: 617b str r3, [r7, #20] + 800791c: 2303 movs r3, #3 + 800791e: 617b str r3, [r7, #20] } return a; - 80070e0: 697b ldr r3, [r7, #20] - 80070e2: b2db uxtb r3, r3 + 8007920: 697b ldr r3, [r7, #20] + 8007922: b2db uxtb r3, r3 } - 80070e4: 4618 mov r0, r3 - 80070e6: 371c adds r7, #28 - 80070e8: 46bd mov sp, r7 - 80070ea: bc80 pop {r7} - 80070ec: 4770 bx lr + 8007924: 4618 mov r0, r3 + 8007926: 371c adds r7, #28 + 8007928: 46bd mov sp, r7 + 800792a: bc80 pop {r7} + 800792c: 4770 bx lr ... -080070f0 : +08007930 : void UI_Server(UI *ui) { - 80070f0: b580 push {r7, lr} - 80070f2: b088 sub sp, #32 - 80070f4: af00 add r7, sp, #0 - 80070f6: 6078 str r0, [r7, #4] + 8007930: b580 push {r7, lr} + 8007932: b088 sub sp, #32 + 8007934: af00 add r7, sp, #0 + 8007936: 6078 str r0, [r7, #4] windows_stack *temp_windows_stack=NULL; - 80070f8: 2300 movs r3, #0 - 80070fa: 61fb str r3, [r7, #28] + 8007938: 2300 movs r3, #0 + 800793a: 61fb str r3, [r7, #28] window *temp_window; //touch_device *temp_touch=NULL; int flag=0; - 80070fc: 2300 movs r3, #0 - 80070fe: 61bb str r3, [r7, #24] + 800793c: 2300 movs r3, #0 + 800793e: 61bb str r3, [r7, #24] uint8_t hit_flag=0; - 8007100: 2300 movs r3, #0 - 8007102: 75fb strb r3, [r7, #23] + 8007940: 2300 movs r3, #0 + 8007942: 75fb strb r3, [r7, #23] int t_x,t_y; //touch //temp_touch=ui->touch; if(t0.c)//TP_XY(&t_x, &t_y)) - 8007104: 4b8b ldr r3, [pc, #556] ; (8007334 ) - 8007106: 7b1b ldrb r3, [r3, #12] - 8007108: f003 0302 and.w r3, r3, #2 - 800710c: b2db uxtb r3, r3 - 800710e: 2b00 cmp r3, #0 - 8007110: f000 80e3 beq.w 80072da + 8007944: 4b92 ldr r3, [pc, #584] ; (8007b90 ) + 8007946: 7b1b ldrb r3, [r3, #12] + 8007948: f003 0302 and.w r3, r3, #2 + 800794c: b2db uxtb r3, r3 + 800794e: 2b00 cmp r3, #0 + 8007950: f000 80f2 beq.w 8007b38 { if(t0.d) - 8007114: 4b87 ldr r3, [pc, #540] ; (8007334 ) - 8007116: 7b1b ldrb r3, [r3, #12] - 8007118: f003 0304 and.w r3, r3, #4 - 800711c: b2db uxtb r3, r3 - 800711e: 2b00 cmp r3, #0 - 8007120: f000 80f1 beq.w 8007306 + 8007954: 4b8e ldr r3, [pc, #568] ; (8007b90 ) + 8007956: 7b1b ldrb r3, [r3, #12] + 8007958: f003 0304 and.w r3, r3, #4 + 800795c: b2db uxtb r3, r3 + 800795e: 2b00 cmp r3, #0 + 8007960: f000 8100 beq.w 8007b64 { t_x=t0.pix_x; - 8007124: 4b83 ldr r3, [pc, #524] ; (8007334 ) - 8007126: 685b ldr r3, [r3, #4] - 8007128: 613b str r3, [r7, #16] + 8007964: 4b8a ldr r3, [pc, #552] ; (8007b90 ) + 8007966: 685b ldr r3, [r3, #4] + 8007968: 613b str r3, [r7, #16] t_y=t0.pix_y; - 800712a: 4b82 ldr r3, [pc, #520] ; (8007334 ) - 800712c: 689b ldr r3, [r3, #8] - 800712e: 60fb str r3, [r7, #12] + 800796a: 4b89 ldr r3, [pc, #548] ; (8007b90 ) + 800796c: 689b ldr r3, [r3, #8] + 800796e: 60fb str r3, [r7, #12] temp_window=NULL; - 8007130: 2300 movs r3, #0 - 8007132: 60bb str r3, [r7, #8] + 8007970: 2300 movs r3, #0 + 8007972: 60bb str r3, [r7, #8] if(ui->moveed_windwos==NULL) - 8007134: 687b ldr r3, [r7, #4] - 8007136: 69db ldr r3, [r3, #28] - 8007138: 2b00 cmp r3, #0 - 800713a: f040 808a bne.w 8007252 + 8007974: 687b ldr r3, [r7, #4] + 8007976: 69db ldr r3, [r3, #28] + 8007978: 2b00 cmp r3, #0 + 800797a: f040 8099 bne.w 8007ab0 { if(ui->First_click_flag==0) - 800713e: 687b ldr r3, [r7, #4] - 8007140: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 - 8007144: f003 0302 and.w r3, r3, #2 - 8007148: b2db uxtb r3, r3 - 800714a: 2b00 cmp r3, #0 - 800714c: f040 80db bne.w 8007306 + 800797e: 687b ldr r3, [r7, #4] + 8007980: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 + 8007984: f003 0302 and.w r3, r3, #2 + 8007988: b2db uxtb r3, r3 + 800798a: 2b00 cmp r3, #0 + 800798c: f040 80ea bne.w 8007b64 { ui->First_click_flag=1; - 8007150: 687a ldr r2, [r7, #4] - 8007152: f892 3028 ldrb.w r3, [r2, #40] ; 0x28 - 8007156: f043 0302 orr.w r3, r3, #2 - 800715a: f882 3028 strb.w r3, [r2, #40] ; 0x28 + 8007990: 687a ldr r2, [r7, #4] + 8007992: f892 3028 ldrb.w r3, [r2, #40] ; 0x28 + 8007996: f043 0302 orr.w r3, r3, #2 + 800799a: f882 3028 strb.w r3, [r2, #40] ; 0x28 temp_windows_stack=ui->last_windows; //获取ui中最前端的窗口 从前往后扫描 - 800715e: 687b ldr r3, [r7, #4] - 8007160: 699b ldr r3, [r3, #24] - 8007162: 61fb str r3, [r7, #28] + 800799e: 687b ldr r3, [r7, #4] + 80079a0: 699b ldr r3, [r3, #24] + 80079a2: 61fb str r3, [r7, #28] do { if(temp_windows_stack!=NULL) //如果有窗口就开始扫描 - 8007164: 69fb ldr r3, [r7, #28] - 8007166: 2b00 cmp r3, #0 - 8007168: d06d beq.n 8007246 + 80079a4: 69fb ldr r3, [r7, #28] + 80079a6: 2b00 cmp r3, #0 + 80079a8: d07b beq.n 8007aa2 { flag=1; //检查到有窗口 需要循环一次以检查是否有下一个窗口 - 800716a: 2301 movs r3, #1 - 800716c: 61bb str r3, [r7, #24] + 80079aa: 2301 movs r3, #1 + 80079ac: 61bb str r3, [r7, #24] // temp_window=temp_windows_stack->window; //取出这个窗口 - 800716e: 69fb ldr r3, [r7, #28] - 8007170: 685b ldr r3, [r3, #4] - 8007172: 60bb str r3, [r7, #8] + 80079ae: 69fb ldr r3, [r7, #28] + 80079b0: 685b ldr r3, [r3, #4] + 80079b2: 60bb str r3, [r7, #8] hit_flag=Chack(temp_window,t_x,t_y); //检查触摸是否命中 直接返回命中窗口的位置 - 8007174: 68fa ldr r2, [r7, #12] - 8007176: 6939 ldr r1, [r7, #16] - 8007178: 68b8 ldr r0, [r7, #8] - 800717a: f7ff ff53 bl 8007024 - 800717e: 4603 mov r3, r0 - 8007180: 75fb strb r3, [r7, #23] + 80079b4: 68fa ldr r2, [r7, #12] + 80079b6: 6939 ldr r1, [r7, #16] + 80079b8: 68b8 ldr r0, [r7, #8] + 80079ba: f7ff ff53 bl 8007864 + 80079be: 4603 mov r3, r0 + 80079c0: 75fb strb r3, [r7, #23] if(hit_flag) // 命中继续 - 8007182: 7dfb ldrb r3, [r7, #23] - 8007184: 2b00 cmp r3, #0 - 8007186: d05a beq.n 800723e + 80079c2: 7dfb ldrb r3, [r7, #23] + 80079c4: 2b00 cmp r3, #0 + 80079c6: d068 beq.n 8007a9a { + + temp_window->touch_flag=1; + 80079c8: 68bb ldr r3, [r7, #8] + 80079ca: 2201 movs r2, #1 + 80079cc: f883 2025 strb.w r2, [r3, #37] ; 0x25 + temp_window->touch_x=t_x; + 80079d0: 68bb ldr r3, [r7, #8] + 80079d2: 693a ldr r2, [r7, #16] + 80079d4: 629a str r2, [r3, #40] ; 0x28 + temp_window->touch_y=t_y; + 80079d6: 68bb ldr r3, [r7, #8] + 80079d8: 68fa ldr r2, [r7, #12] + 80079da: 62da str r2, [r3, #44] ; 0x2c if(temp_windows_stack!=ui->last_windows) //检查是否最前端的窗口 如果不是就放最前面 - 8007188: 687b ldr r3, [r7, #4] - 800718a: 699b ldr r3, [r3, #24] - 800718c: 69fa ldr r2, [r7, #28] - 800718e: 429a cmp r2, r3 - 8007190: d02c beq.n 80071ec + 80079dc: 687b ldr r3, [r7, #4] + 80079de: 699b ldr r3, [r3, #24] + 80079e0: 69fa ldr r2, [r7, #28] + 80079e2: 429a cmp r2, r3 + 80079e4: d030 beq.n 8007a48 { if(temp_windows_stack!=ui->windows) //检查是否最后端的窗口 因为显示是从最后端往前显示的 所以ui有最后端窗口的入口 - 8007192: 687b ldr r3, [r7, #4] - 8007194: 695b ldr r3, [r3, #20] - 8007196: 69fa ldr r2, [r7, #28] - 8007198: 429a cmp r2, r3 - 800719a: d00a beq.n 80071b2 + 80079e6: 687b ldr r3, [r7, #4] + 80079e8: 695b ldr r3, [r3, #20] + 80079ea: 69fa ldr r2, [r7, #28] + 80079ec: 429a cmp r2, r3 + 80079ee: d00a beq.n 8007a06 { temp_windows_stack->up->next=temp_windows_stack->next; //取出这个节点 把节点的上下补上链接 - 800719c: 69fb ldr r3, [r7, #28] - 800719e: 681b ldr r3, [r3, #0] - 80071a0: 69fa ldr r2, [r7, #28] - 80071a2: 6892 ldr r2, [r2, #8] - 80071a4: 609a str r2, [r3, #8] + 80079f0: 69fb ldr r3, [r7, #28] + 80079f2: 681b ldr r3, [r3, #0] + 80079f4: 69fa ldr r2, [r7, #28] + 80079f6: 6892 ldr r2, [r2, #8] + 80079f8: 609a str r2, [r3, #8] temp_windows_stack->next->up=temp_windows_stack->up; - 80071a6: 69fb ldr r3, [r7, #28] - 80071a8: 689b ldr r3, [r3, #8] - 80071aa: 69fa ldr r2, [r7, #28] - 80071ac: 6812 ldr r2, [r2, #0] - 80071ae: 601a str r2, [r3, #0] - 80071b0: e007 b.n 80071c2 + 80079fa: 69fb ldr r3, [r7, #28] + 80079fc: 689b ldr r3, [r3, #8] + 80079fe: 69fa ldr r2, [r7, #28] + 8007a00: 6812 ldr r2, [r2, #0] + 8007a02: 601a str r2, [r3, #0] + 8007a04: e007 b.n 8007a16 }else { ui->windows=temp_windows_stack->next; //如果是最后端的窗口 则取出这个节点后入口就变下一个节点了 - 80071b2: 69fb ldr r3, [r7, #28] - 80071b4: 689a ldr r2, [r3, #8] - 80071b6: 687b ldr r3, [r7, #4] - 80071b8: 615a str r2, [r3, #20] + 8007a06: 69fb ldr r3, [r7, #28] + 8007a08: 689a ldr r2, [r3, #8] + 8007a0a: 687b ldr r3, [r7, #4] + 8007a0c: 615a str r2, [r3, #20] ui->windows->up=NULL; //倒数第二变最后端 在走就没了 所以要清空指针 - 80071ba: 687b ldr r3, [r7, #4] - 80071bc: 695b ldr r3, [r3, #20] - 80071be: 2200 movs r2, #0 - 80071c0: 601a str r2, [r3, #0] + 8007a0e: 687b ldr r3, [r7, #4] + 8007a10: 695b ldr r3, [r3, #20] + 8007a12: 2200 movs r2, #0 + 8007a14: 601a str r2, [r3, #0] } temp_windows_stack->next=NULL; //取出的节点要放在最前端 所以 无法再往前 清空往前的指针 - 80071c2: 69fb ldr r3, [r7, #28] - 80071c4: 2200 movs r2, #0 - 80071c6: 609a str r2, [r3, #8] + 8007a16: 69fb ldr r3, [r7, #28] + 8007a18: 2200 movs r2, #0 + 8007a1a: 609a str r2, [r3, #8] temp_windows_stack->up=ui->last_windows; //上一个指针就是原来的最后一个 - 80071c8: 687b ldr r3, [r7, #4] - 80071ca: 699a ldr r2, [r3, #24] - 80071cc: 69fb ldr r3, [r7, #28] - 80071ce: 601a str r2, [r3, #0] + 8007a1c: 687b ldr r3, [r7, #4] + 8007a1e: 699a ldr r2, [r3, #24] + 8007a20: 69fb ldr r3, [r7, #28] + 8007a22: 601a str r2, [r3, #0] ui->last_windows->next=temp_windows_stack; //原来的最后一个指向现在的最后一个 - 80071d0: 687b ldr r3, [r7, #4] - 80071d2: 699b ldr r3, [r3, #24] - 80071d4: 69fa ldr r2, [r7, #28] - 80071d6: 609a str r2, [r3, #8] + 8007a24: 687b ldr r3, [r7, #4] + 8007a26: 699b ldr r3, [r3, #24] + 8007a28: 69fa ldr r2, [r7, #28] + 8007a2a: 609a str r2, [r3, #8] ui->last_windows=temp_windows_stack; //更新ui中的最后一个的入口 - 80071d8: 687b ldr r3, [r7, #4] - 80071da: 69fa ldr r2, [r7, #28] - 80071dc: 619a str r2, [r3, #24] + 8007a2c: 687b ldr r3, [r7, #4] + 8007a2e: 69fa ldr r2, [r7, #28] + 8007a30: 619a str r2, [r3, #24] ui->refresh_ui_flag=1; //发生了变化 刷新ui的显示 - 80071de: 687a ldr r2, [r7, #4] - 80071e0: f892 3028 ldrb.w r3, [r2, #40] ; 0x28 - 80071e4: f043 0304 orr.w r3, r3, #4 - 80071e8: f882 3028 strb.w r3, [r2, #40] ; 0x28 + 8007a32: 687a ldr r2, [r7, #4] + 8007a34: f892 3028 ldrb.w r3, [r2, #40] ; 0x28 + 8007a38: f043 0304 orr.w r3, r3, #4 + 8007a3c: f882 3028 strb.w r3, [r2, #40] ; 0x28 + temp_window->refresh_windows_flag=1; + 8007a40: 68bb ldr r3, [r7, #8] + 8007a42: 2201 movs r2, #1 + 8007a44: f883 2024 strb.w r2, [r3, #36] ; 0x24 } //检查标中窗口的什么位置 switch(hit_flag) - 80071ec: 7dfb ldrb r3, [r7, #23] - 80071ee: 2b03 cmp r3, #3 - 80071f0: d006 beq.n 8007200 - 80071f2: 2b03 cmp r3, #3 - 80071f4: dc21 bgt.n 800723a - 80071f6: 2b01 cmp r3, #1 - 80071f8: d01e beq.n 8007238 - 80071fa: 2b02 cmp r3, #2 - 80071fc: d00c beq.n 8007218 - 80071fe: e01c b.n 800723a + 8007a48: 7dfb ldrb r3, [r7, #23] + 8007a4a: 2b03 cmp r3, #3 + 8007a4c: d006 beq.n 8007a5c + 8007a4e: 2b03 cmp r3, #3 + 8007a50: dc21 bgt.n 8007a96 + 8007a52: 2b01 cmp r3, #1 + 8007a54: d01e beq.n 8007a94 + 8007a56: 2b02 cmp r3, #2 + 8007a58: d00c beq.n 8007a74 + 8007a5a: e01c b.n 8007a96 { case CLOSE: Close_Windows_Stack(ui,temp_windows_stack); - 8007200: 69f9 ldr r1, [r7, #28] - 8007202: 6878 ldr r0, [r7, #4] - 8007204: f7ff fdf4 bl 8006df0 + 8007a5c: 69f9 ldr r1, [r7, #28] + 8007a5e: 6878 ldr r0, [r7, #4] + 8007a60: f7ff fde6 bl 8007630 ui->refresh_ui_flag=1; //发生了变化 刷新ui的显示 - 8007208: 687a ldr r2, [r7, #4] - 800720a: f892 3028 ldrb.w r3, [r2, #40] ; 0x28 - 800720e: f043 0304 orr.w r3, r3, #4 - 8007212: f882 3028 strb.w r3, [r2, #40] ; 0x28 + 8007a64: 687a ldr r2, [r7, #4] + 8007a66: f892 3028 ldrb.w r3, [r2, #40] ; 0x28 + 8007a6a: f043 0304 orr.w r3, r3, #4 + 8007a6e: f882 3028 strb.w r3, [r2, #40] ; 0x28 break; - 8007216: e010 b.n 800723a + 8007a72: e010 b.n 8007a96 case BAR: ui->moveed_windwos=temp_window; - 8007218: 687b ldr r3, [r7, #4] - 800721a: 68ba ldr r2, [r7, #8] - 800721c: 61da str r2, [r3, #28] + 8007a74: 687b ldr r3, [r7, #4] + 8007a76: 68ba ldr r2, [r7, #8] + 8007a78: 61da str r2, [r3, #28] ui->move_x=t_x-temp_window->x; - 800721e: 68bb ldr r3, [r7, #8] - 8007220: 681b ldr r3, [r3, #0] - 8007222: 693a ldr r2, [r7, #16] - 8007224: 1ad2 subs r2, r2, r3 - 8007226: 687b ldr r3, [r7, #4] - 8007228: 621a str r2, [r3, #32] + 8007a7a: 68bb ldr r3, [r7, #8] + 8007a7c: 681b ldr r3, [r3, #0] + 8007a7e: 693a ldr r2, [r7, #16] + 8007a80: 1ad2 subs r2, r2, r3 + 8007a82: 687b ldr r3, [r7, #4] + 8007a84: 621a str r2, [r3, #32] ui->move_y=t_y-temp_window->y; - 800722a: 68bb ldr r3, [r7, #8] - 800722c: 685b ldr r3, [r3, #4] - 800722e: 68fa ldr r2, [r7, #12] - 8007230: 1ad2 subs r2, r2, r3 - 8007232: 687b ldr r3, [r7, #4] - 8007234: 625a str r2, [r3, #36] ; 0x24 + 8007a86: 68bb ldr r3, [r7, #8] + 8007a88: 685b ldr r3, [r3, #4] + 8007a8a: 68fa ldr r2, [r7, #12] + 8007a8c: 1ad2 subs r2, r2, r3 + 8007a8e: 687b ldr r3, [r7, #4] + 8007a90: 625a str r2, [r3, #36] ; 0x24 break; - 8007236: e000 b.n 800723a + 8007a92: e000 b.n 8007a96 case BODY: //ui->background=temp_windows_stack->window->background; //ui->refresh_ui_flag=1; break; - 8007238: bf00 nop + 8007a94: bf00 nop } flag=0; //结束扫描 防止穿透当前窗口 - 800723a: 2300 movs r3, #0 - 800723c: 61bb str r3, [r7, #24] + 8007a96: 2300 movs r3, #0 + 8007a98: 61bb str r3, [r7, #24] + }else + { + + } temp_windows_stack=temp_windows_stack->up; //往前扫描 - 800723e: 69fb ldr r3, [r7, #28] - 8007240: 681b ldr r3, [r3, #0] - 8007242: 61fb str r3, [r7, #28] - 8007244: e001 b.n 800724a + 8007a9a: 69fb ldr r3, [r7, #28] + 8007a9c: 681b ldr r3, [r3, #0] + 8007a9e: 61fb str r3, [r7, #28] + 8007aa0: e001 b.n 8007aa6 }else { flag=0; //一个窗口都没有 直接结束循环 - 8007246: 2300 movs r3, #0 - 8007248: 61bb str r3, [r7, #24] + 8007aa2: 2300 movs r3, #0 + 8007aa4: 61bb str r3, [r7, #24] } }while(flag); - 800724a: 69bb ldr r3, [r7, #24] - 800724c: 2b00 cmp r3, #0 - 800724e: d189 bne.n 8007164 - 8007250: e059 b.n 8007306 + 8007aa6: 69bb ldr r3, [r7, #24] + 8007aa8: 2b00 cmp r3, #0 + 8007aaa: f47f af7b bne.w 80079a4 + 8007aae: e059 b.n 8007b64 } }else { temp_window=ui->moveed_windwos; - 8007252: 687b ldr r3, [r7, #4] - 8007254: 69db ldr r3, [r3, #28] - 8007256: 60bb str r3, [r7, #8] + 8007ab0: 687b ldr r3, [r7, #4] + 8007ab2: 69db ldr r3, [r3, #28] + 8007ab4: 60bb str r3, [r7, #8] temp_window->x=(t_x-ui->move_x); - 8007258: 687b ldr r3, [r7, #4] - 800725a: 6a1b ldr r3, [r3, #32] - 800725c: 693a ldr r2, [r7, #16] - 800725e: 1ad2 subs r2, r2, r3 - 8007260: 68bb ldr r3, [r7, #8] - 8007262: 601a str r2, [r3, #0] + 8007ab6: 687b ldr r3, [r7, #4] + 8007ab8: 6a1b ldr r3, [r3, #32] + 8007aba: 693a ldr r2, [r7, #16] + 8007abc: 1ad2 subs r2, r2, r3 + 8007abe: 68bb ldr r3, [r7, #8] + 8007ac0: 601a str r2, [r3, #0] temp_window->y=(t_y-ui->move_y); - 8007264: 687b ldr r3, [r7, #4] - 8007266: 6a5b ldr r3, [r3, #36] ; 0x24 - 8007268: 68fa ldr r2, [r7, #12] - 800726a: 1ad2 subs r2, r2, r3 - 800726c: 68bb ldr r3, [r7, #8] - 800726e: 605a str r2, [r3, #4] + 8007ac2: 687b ldr r3, [r7, #4] + 8007ac4: 6a5b ldr r3, [r3, #36] ; 0x24 + 8007ac6: 68fa ldr r2, [r7, #12] + 8007ac8: 1ad2 subs r2, r2, r3 + 8007aca: 68bb ldr r3, [r7, #8] + 8007acc: 605a str r2, [r3, #4] if(temp_window->x<0){temp_window->x=0;} - 8007270: 68bb ldr r3, [r7, #8] - 8007272: 681b ldr r3, [r3, #0] - 8007274: 2b00 cmp r3, #0 - 8007276: da02 bge.n 800727e - 8007278: 68bb ldr r3, [r7, #8] - 800727a: 2200 movs r2, #0 - 800727c: 601a str r2, [r3, #0] + 8007ace: 68bb ldr r3, [r7, #8] + 8007ad0: 681b ldr r3, [r3, #0] + 8007ad2: 2b00 cmp r3, #0 + 8007ad4: da02 bge.n 8007adc + 8007ad6: 68bb ldr r3, [r7, #8] + 8007ad8: 2200 movs r2, #0 + 8007ada: 601a str r2, [r3, #0] if(temp_window->y<0){temp_window->y=0;} - 800727e: 68bb ldr r3, [r7, #8] - 8007280: 685b ldr r3, [r3, #4] - 8007282: 2b00 cmp r3, #0 - 8007284: da02 bge.n 800728c - 8007286: 68bb ldr r3, [r7, #8] - 8007288: 2200 movs r2, #0 - 800728a: 605a str r2, [r3, #4] + 8007adc: 68bb ldr r3, [r7, #8] + 8007ade: 685b ldr r3, [r3, #4] + 8007ae0: 2b00 cmp r3, #0 + 8007ae2: da02 bge.n 8007aea + 8007ae4: 68bb ldr r3, [r7, #8] + 8007ae6: 2200 movs r2, #0 + 8007ae8: 605a str r2, [r3, #4] if(temp_window->x+temp_window->width>320){temp_window->x=320-temp_window->width;} - 800728c: 68bb ldr r3, [r7, #8] - 800728e: 681a ldr r2, [r3, #0] - 8007290: 68bb ldr r3, [r7, #8] - 8007292: 689b ldr r3, [r3, #8] - 8007294: 4413 add r3, r2 - 8007296: f5b3 7fa0 cmp.w r3, #320 ; 0x140 - 800729a: dd05 ble.n 80072a8 - 800729c: 68bb ldr r3, [r7, #8] - 800729e: 689b ldr r3, [r3, #8] - 80072a0: f5c3 72a0 rsb r2, r3, #320 ; 0x140 - 80072a4: 68bb ldr r3, [r7, #8] - 80072a6: 601a str r2, [r3, #0] + 8007aea: 68bb ldr r3, [r7, #8] + 8007aec: 681a ldr r2, [r3, #0] + 8007aee: 68bb ldr r3, [r7, #8] + 8007af0: 689b ldr r3, [r3, #8] + 8007af2: 4413 add r3, r2 + 8007af4: f5b3 7fa0 cmp.w r3, #320 ; 0x140 + 8007af8: dd05 ble.n 8007b06 + 8007afa: 68bb ldr r3, [r7, #8] + 8007afc: 689b ldr r3, [r3, #8] + 8007afe: f5c3 72a0 rsb r2, r3, #320 ; 0x140 + 8007b02: 68bb ldr r3, [r7, #8] + 8007b04: 601a str r2, [r3, #0] if(temp_window->y+temp_window->high>240){temp_window->y=240-temp_window->high;} - 80072a8: 68bb ldr r3, [r7, #8] - 80072aa: 685a ldr r2, [r3, #4] - 80072ac: 68bb ldr r3, [r7, #8] - 80072ae: 68db ldr r3, [r3, #12] - 80072b0: 4413 add r3, r2 - 80072b2: 2bf0 cmp r3, #240 ; 0xf0 - 80072b4: dd05 ble.n 80072c2 - 80072b6: 68bb ldr r3, [r7, #8] - 80072b8: 68db ldr r3, [r3, #12] - 80072ba: f1c3 02f0 rsb r2, r3, #240 ; 0xf0 - 80072be: 68bb ldr r3, [r7, #8] - 80072c0: 605a str r2, [r3, #4] + 8007b06: 68bb ldr r3, [r7, #8] + 8007b08: 685a ldr r2, [r3, #4] + 8007b0a: 68bb ldr r3, [r7, #8] + 8007b0c: 68db ldr r3, [r3, #12] + 8007b0e: 4413 add r3, r2 + 8007b10: 2bf0 cmp r3, #240 ; 0xf0 + 8007b12: dd05 ble.n 8007b20 + 8007b14: 68bb ldr r3, [r7, #8] + 8007b16: 68db ldr r3, [r3, #12] + 8007b18: f1c3 02f0 rsb r2, r3, #240 ; 0xf0 + 8007b1c: 68bb ldr r3, [r7, #8] + 8007b1e: 605a str r2, [r3, #4] temp_window->refresh_windows_flag=1; - 80072c2: 68bb ldr r3, [r7, #8] - 80072c4: 2201 movs r2, #1 - 80072c6: f883 2024 strb.w r2, [r3, #36] ; 0x24 + 8007b20: 68bb ldr r3, [r7, #8] + 8007b22: 2201 movs r2, #1 + 8007b24: f883 2024 strb.w r2, [r3, #36] ; 0x24 ui->refresh_ui_flag=1; - 80072ca: 687a ldr r2, [r7, #4] - 80072cc: f892 3028 ldrb.w r3, [r2, #40] ; 0x28 - 80072d0: f043 0304 orr.w r3, r3, #4 - 80072d4: f882 3028 strb.w r3, [r2, #40] ; 0x28 - 80072d8: e015 b.n 8007306 + 8007b28: 687a ldr r2, [r7, #4] + 8007b2a: f892 3028 ldrb.w r3, [r2, #40] ; 0x28 + 8007b2e: f043 0304 orr.w r3, r3, #4 + 8007b32: f882 3028 strb.w r3, [r2, #40] ; 0x28 + 8007b36: e015 b.n 8007b64 }else { if(ui->First_click_flag==1) - 80072da: 687b ldr r3, [r7, #4] - 80072dc: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 - 80072e0: f003 0302 and.w r3, r3, #2 - 80072e4: b2db uxtb r3, r3 - 80072e6: 2b00 cmp r3, #0 - 80072e8: d006 beq.n 80072f8 + 8007b38: 687b ldr r3, [r7, #4] + 8007b3a: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 + 8007b3e: f003 0302 and.w r3, r3, #2 + 8007b42: b2db uxtb r3, r3 + 8007b44: 2b00 cmp r3, #0 + 8007b46: d006 beq.n 8007b56 { ui->First_click_flag=0; - 80072ea: 687a ldr r2, [r7, #4] - 80072ec: f892 3028 ldrb.w r3, [r2, #40] ; 0x28 - 80072f0: f36f 0341 bfc r3, #1, #1 - 80072f4: f882 3028 strb.w r3, [r2, #40] ; 0x28 + 8007b48: 687a ldr r2, [r7, #4] + 8007b4a: f892 3028 ldrb.w r3, [r2, #40] ; 0x28 + 8007b4e: f36f 0341 bfc r3, #1, #1 + 8007b52: f882 3028 strb.w r3, [r2, #40] ; 0x28 } if(ui->moveed_windwos!=NULL) - 80072f8: 687b ldr r3, [r7, #4] - 80072fa: 69db ldr r3, [r3, #28] - 80072fc: 2b00 cmp r3, #0 - 80072fe: d002 beq.n 8007306 + 8007b56: 687b ldr r3, [r7, #4] + 8007b58: 69db ldr r3, [r3, #28] + 8007b5a: 2b00 cmp r3, #0 + 8007b5c: d002 beq.n 8007b64 { ui->moveed_windwos=NULL; - 8007300: 687b ldr r3, [r7, #4] - 8007302: 2200 movs r2, #0 - 8007304: 61da str r2, [r3, #28] + 8007b5e: 687b ldr r3, [r7, #4] + 8007b60: 2200 movs r2, #0 + 8007b62: 61da str r2, [r3, #28] } } //display if(ui->refresh_ui_flag==1) - 8007306: 687b ldr r3, [r7, #4] - 8007308: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 - 800730c: f003 0304 and.w r3, r3, #4 - 8007310: b2db uxtb r3, r3 - 8007312: 2b00 cmp r3, #0 - 8007314: d009 beq.n 800732a + 8007b64: 687b ldr r3, [r7, #4] + 8007b66: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 + 8007b6a: f003 0304 and.w r3, r3, #4 + 8007b6e: b2db uxtb r3, r3 + 8007b70: 2b00 cmp r3, #0 + 8007b72: d009 beq.n 8007b88 { ui->refresh_ui_flag=0; - 8007316: 687a ldr r2, [r7, #4] - 8007318: f892 3028 ldrb.w r3, [r2, #40] ; 0x28 - 800731c: f36f 0382 bfc r3, #2, #1 - 8007320: f882 3028 strb.w r3, [r2, #40] ; 0x28 + 8007b74: 687a ldr r2, [r7, #4] + 8007b76: f892 3028 ldrb.w r3, [r2, #40] ; 0x28 + 8007b7a: f36f 0382 bfc r3, #2, #1 + 8007b7e: f882 3028 strb.w r3, [r2, #40] ; 0x28 Refresh_UI(ui); - 8007324: 6878 ldr r0, [r7, #4] - 8007326: f7ff fe33 bl 8006f90 + 8007b82: 6878 ldr r0, [r7, #4] + 8007b84: f7ff fe24 bl 80077d0 } } - 800732a: bf00 nop - 800732c: 3720 adds r7, #32 - 800732e: 46bd mov sp, r7 - 8007330: bd80 pop {r7, pc} - 8007332: bf00 nop - 8007334: 200003dc .word 0x200003dc + 8007b88: bf00 nop + 8007b8a: 3720 adds r7, #32 + 8007b8c: 46bd mov sp, r7 + 8007b8e: bd80 pop {r7, pc} + 8007b90: 200003dc .word 0x200003dc -08007338 : - 8007338: 4b02 ldr r3, [pc, #8] ; (8007344 ) - 800733a: 4601 mov r1, r0 - 800733c: 6818 ldr r0, [r3, #0] - 800733e: f000 b82b b.w 8007398 <_malloc_r> - 8007342: bf00 nop - 8007344: 20000064 .word 0x20000064 +08007b94 : + 8007b94: 4b02 ldr r3, [pc, #8] ; (8007ba0 ) + 8007b96: 4601 mov r1, r0 + 8007b98: 6818 ldr r0, [r3, #0] + 8007b9a: f000 b82b b.w 8007bf4 <_malloc_r> + 8007b9e: bf00 nop + 8007ba0: 20000064 .word 0x20000064 -08007348 : - 8007348: 4b02 ldr r3, [pc, #8] ; (8007354 ) - 800734a: 4601 mov r1, r0 - 800734c: 6818 ldr r0, [r3, #0] - 800734e: f001 bdd3 b.w 8008ef8 <_free_r> - 8007352: bf00 nop - 8007354: 20000064 .word 0x20000064 +08007ba4 : + 8007ba4: 4b02 ldr r3, [pc, #8] ; (8007bb0 ) + 8007ba6: 4601 mov r1, r0 + 8007ba8: 6818 ldr r0, [r3, #0] + 8007baa: f001 bdd1 b.w 8009750 <_free_r> + 8007bae: bf00 nop + 8007bb0: 20000064 .word 0x20000064 -08007358 : - 8007358: b570 push {r4, r5, r6, lr} - 800735a: 4e0e ldr r6, [pc, #56] ; (8007394 ) - 800735c: 460c mov r4, r1 - 800735e: 6831 ldr r1, [r6, #0] - 8007360: 4605 mov r5, r0 - 8007362: b911 cbnz r1, 800736a - 8007364: f000 fefc bl 8008160 <_sbrk_r> - 8007368: 6030 str r0, [r6, #0] - 800736a: 4621 mov r1, r4 - 800736c: 4628 mov r0, r5 - 800736e: f000 fef7 bl 8008160 <_sbrk_r> - 8007372: 1c43 adds r3, r0, #1 - 8007374: d00a beq.n 800738c - 8007376: 1cc4 adds r4, r0, #3 - 8007378: f024 0403 bic.w r4, r4, #3 - 800737c: 42a0 cmp r0, r4 - 800737e: d007 beq.n 8007390 - 8007380: 1a21 subs r1, r4, r0 - 8007382: 4628 mov r0, r5 - 8007384: f000 feec bl 8008160 <_sbrk_r> - 8007388: 3001 adds r0, #1 - 800738a: d101 bne.n 8007390 - 800738c: f04f 34ff mov.w r4, #4294967295 - 8007390: 4620 mov r0, r4 - 8007392: bd70 pop {r4, r5, r6, pc} - 8007394: 20002518 .word 0x20002518 +08007bb4 : + 8007bb4: b570 push {r4, r5, r6, lr} + 8007bb6: 4e0e ldr r6, [pc, #56] ; (8007bf0 ) + 8007bb8: 460c mov r4, r1 + 8007bba: 6831 ldr r1, [r6, #0] + 8007bbc: 4605 mov r5, r0 + 8007bbe: b911 cbnz r1, 8007bc6 + 8007bc0: f000 fefc bl 80089bc <_sbrk_r> + 8007bc4: 6030 str r0, [r6, #0] + 8007bc6: 4621 mov r1, r4 + 8007bc8: 4628 mov r0, r5 + 8007bca: f000 fef7 bl 80089bc <_sbrk_r> + 8007bce: 1c43 adds r3, r0, #1 + 8007bd0: d00a beq.n 8007be8 + 8007bd2: 1cc4 adds r4, r0, #3 + 8007bd4: f024 0403 bic.w r4, r4, #3 + 8007bd8: 42a0 cmp r0, r4 + 8007bda: d007 beq.n 8007bec + 8007bdc: 1a21 subs r1, r4, r0 + 8007bde: 4628 mov r0, r5 + 8007be0: f000 feec bl 80089bc <_sbrk_r> + 8007be4: 3001 adds r0, #1 + 8007be6: d101 bne.n 8007bec + 8007be8: f04f 34ff mov.w r4, #4294967295 + 8007bec: 4620 mov r0, r4 + 8007bee: bd70 pop {r4, r5, r6, pc} + 8007bf0: 2000252c .word 0x2000252c -08007398 <_malloc_r>: - 8007398: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} - 800739c: 1ccd adds r5, r1, #3 - 800739e: f025 0503 bic.w r5, r5, #3 - 80073a2: 3508 adds r5, #8 - 80073a4: 2d0c cmp r5, #12 - 80073a6: bf38 it cc - 80073a8: 250c movcc r5, #12 - 80073aa: 2d00 cmp r5, #0 - 80073ac: 4607 mov r7, r0 - 80073ae: db01 blt.n 80073b4 <_malloc_r+0x1c> - 80073b0: 42a9 cmp r1, r5 - 80073b2: d905 bls.n 80073c0 <_malloc_r+0x28> - 80073b4: 230c movs r3, #12 - 80073b6: 2600 movs r6, #0 - 80073b8: 603b str r3, [r7, #0] - 80073ba: 4630 mov r0, r6 - 80073bc: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} - 80073c0: f8df 80d0 ldr.w r8, [pc, #208] ; 8007494 <_malloc_r+0xfc> - 80073c4: f000 f868 bl 8007498 <__malloc_lock> - 80073c8: f8d8 3000 ldr.w r3, [r8] - 80073cc: 461c mov r4, r3 - 80073ce: bb5c cbnz r4, 8007428 <_malloc_r+0x90> - 80073d0: 4629 mov r1, r5 - 80073d2: 4638 mov r0, r7 - 80073d4: f7ff ffc0 bl 8007358 - 80073d8: 1c43 adds r3, r0, #1 - 80073da: 4604 mov r4, r0 - 80073dc: d155 bne.n 800748a <_malloc_r+0xf2> - 80073de: f8d8 4000 ldr.w r4, [r8] - 80073e2: 4626 mov r6, r4 - 80073e4: 2e00 cmp r6, #0 - 80073e6: d145 bne.n 8007474 <_malloc_r+0xdc> - 80073e8: 2c00 cmp r4, #0 - 80073ea: d048 beq.n 800747e <_malloc_r+0xe6> - 80073ec: 6823 ldr r3, [r4, #0] - 80073ee: 4631 mov r1, r6 - 80073f0: 4638 mov r0, r7 - 80073f2: eb04 0903 add.w r9, r4, r3 - 80073f6: f000 feb3 bl 8008160 <_sbrk_r> - 80073fa: 4581 cmp r9, r0 - 80073fc: d13f bne.n 800747e <_malloc_r+0xe6> - 80073fe: 6821 ldr r1, [r4, #0] - 8007400: 4638 mov r0, r7 - 8007402: 1a6d subs r5, r5, r1 - 8007404: 4629 mov r1, r5 - 8007406: f7ff ffa7 bl 8007358 - 800740a: 3001 adds r0, #1 - 800740c: d037 beq.n 800747e <_malloc_r+0xe6> - 800740e: 6823 ldr r3, [r4, #0] - 8007410: 442b add r3, r5 - 8007412: 6023 str r3, [r4, #0] - 8007414: f8d8 3000 ldr.w r3, [r8] - 8007418: 2b00 cmp r3, #0 - 800741a: d038 beq.n 800748e <_malloc_r+0xf6> - 800741c: 685a ldr r2, [r3, #4] - 800741e: 42a2 cmp r2, r4 - 8007420: d12b bne.n 800747a <_malloc_r+0xe2> - 8007422: 2200 movs r2, #0 - 8007424: 605a str r2, [r3, #4] - 8007426: e00f b.n 8007448 <_malloc_r+0xb0> - 8007428: 6822 ldr r2, [r4, #0] - 800742a: 1b52 subs r2, r2, r5 - 800742c: d41f bmi.n 800746e <_malloc_r+0xd6> - 800742e: 2a0b cmp r2, #11 - 8007430: d917 bls.n 8007462 <_malloc_r+0xca> - 8007432: 1961 adds r1, r4, r5 - 8007434: 42a3 cmp r3, r4 - 8007436: 6025 str r5, [r4, #0] - 8007438: bf18 it ne - 800743a: 6059 strne r1, [r3, #4] - 800743c: 6863 ldr r3, [r4, #4] - 800743e: bf08 it eq - 8007440: f8c8 1000 streq.w r1, [r8] - 8007444: 5162 str r2, [r4, r5] - 8007446: 604b str r3, [r1, #4] - 8007448: 4638 mov r0, r7 - 800744a: f104 060b add.w r6, r4, #11 - 800744e: f000 f829 bl 80074a4 <__malloc_unlock> - 8007452: f026 0607 bic.w r6, r6, #7 - 8007456: 1d23 adds r3, r4, #4 - 8007458: 1af2 subs r2, r6, r3 - 800745a: d0ae beq.n 80073ba <_malloc_r+0x22> - 800745c: 1b9b subs r3, r3, r6 - 800745e: 50a3 str r3, [r4, r2] - 8007460: e7ab b.n 80073ba <_malloc_r+0x22> - 8007462: 42a3 cmp r3, r4 - 8007464: 6862 ldr r2, [r4, #4] - 8007466: d1dd bne.n 8007424 <_malloc_r+0x8c> - 8007468: f8c8 2000 str.w r2, [r8] - 800746c: e7ec b.n 8007448 <_malloc_r+0xb0> - 800746e: 4623 mov r3, r4 - 8007470: 6864 ldr r4, [r4, #4] - 8007472: e7ac b.n 80073ce <_malloc_r+0x36> - 8007474: 4634 mov r4, r6 - 8007476: 6876 ldr r6, [r6, #4] - 8007478: e7b4 b.n 80073e4 <_malloc_r+0x4c> - 800747a: 4613 mov r3, r2 - 800747c: e7cc b.n 8007418 <_malloc_r+0x80> - 800747e: 230c movs r3, #12 - 8007480: 4638 mov r0, r7 - 8007482: 603b str r3, [r7, #0] - 8007484: f000 f80e bl 80074a4 <__malloc_unlock> - 8007488: e797 b.n 80073ba <_malloc_r+0x22> - 800748a: 6025 str r5, [r4, #0] - 800748c: e7dc b.n 8007448 <_malloc_r+0xb0> - 800748e: 605b str r3, [r3, #4] - 8007490: deff udf #255 ; 0xff - 8007492: bf00 nop - 8007494: 20002514 .word 0x20002514 +08007bf4 <_malloc_r>: + 8007bf4: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} + 8007bf8: 1ccd adds r5, r1, #3 + 8007bfa: f025 0503 bic.w r5, r5, #3 + 8007bfe: 3508 adds r5, #8 + 8007c00: 2d0c cmp r5, #12 + 8007c02: bf38 it cc + 8007c04: 250c movcc r5, #12 + 8007c06: 2d00 cmp r5, #0 + 8007c08: 4607 mov r7, r0 + 8007c0a: db01 blt.n 8007c10 <_malloc_r+0x1c> + 8007c0c: 42a9 cmp r1, r5 + 8007c0e: d905 bls.n 8007c1c <_malloc_r+0x28> + 8007c10: 230c movs r3, #12 + 8007c12: 2600 movs r6, #0 + 8007c14: 603b str r3, [r7, #0] + 8007c16: 4630 mov r0, r6 + 8007c18: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + 8007c1c: f8df 80d0 ldr.w r8, [pc, #208] ; 8007cf0 <_malloc_r+0xfc> + 8007c20: f000 f868 bl 8007cf4 <__malloc_lock> + 8007c24: f8d8 3000 ldr.w r3, [r8] + 8007c28: 461c mov r4, r3 + 8007c2a: bb5c cbnz r4, 8007c84 <_malloc_r+0x90> + 8007c2c: 4629 mov r1, r5 + 8007c2e: 4638 mov r0, r7 + 8007c30: f7ff ffc0 bl 8007bb4 + 8007c34: 1c43 adds r3, r0, #1 + 8007c36: 4604 mov r4, r0 + 8007c38: d155 bne.n 8007ce6 <_malloc_r+0xf2> + 8007c3a: f8d8 4000 ldr.w r4, [r8] + 8007c3e: 4626 mov r6, r4 + 8007c40: 2e00 cmp r6, #0 + 8007c42: d145 bne.n 8007cd0 <_malloc_r+0xdc> + 8007c44: 2c00 cmp r4, #0 + 8007c46: d048 beq.n 8007cda <_malloc_r+0xe6> + 8007c48: 6823 ldr r3, [r4, #0] + 8007c4a: 4631 mov r1, r6 + 8007c4c: 4638 mov r0, r7 + 8007c4e: eb04 0903 add.w r9, r4, r3 + 8007c52: f000 feb3 bl 80089bc <_sbrk_r> + 8007c56: 4581 cmp r9, r0 + 8007c58: d13f bne.n 8007cda <_malloc_r+0xe6> + 8007c5a: 6821 ldr r1, [r4, #0] + 8007c5c: 4638 mov r0, r7 + 8007c5e: 1a6d subs r5, r5, r1 + 8007c60: 4629 mov r1, r5 + 8007c62: f7ff ffa7 bl 8007bb4 + 8007c66: 3001 adds r0, #1 + 8007c68: d037 beq.n 8007cda <_malloc_r+0xe6> + 8007c6a: 6823 ldr r3, [r4, #0] + 8007c6c: 442b add r3, r5 + 8007c6e: 6023 str r3, [r4, #0] + 8007c70: f8d8 3000 ldr.w r3, [r8] + 8007c74: 2b00 cmp r3, #0 + 8007c76: d038 beq.n 8007cea <_malloc_r+0xf6> + 8007c78: 685a ldr r2, [r3, #4] + 8007c7a: 42a2 cmp r2, r4 + 8007c7c: d12b bne.n 8007cd6 <_malloc_r+0xe2> + 8007c7e: 2200 movs r2, #0 + 8007c80: 605a str r2, [r3, #4] + 8007c82: e00f b.n 8007ca4 <_malloc_r+0xb0> + 8007c84: 6822 ldr r2, [r4, #0] + 8007c86: 1b52 subs r2, r2, r5 + 8007c88: d41f bmi.n 8007cca <_malloc_r+0xd6> + 8007c8a: 2a0b cmp r2, #11 + 8007c8c: d917 bls.n 8007cbe <_malloc_r+0xca> + 8007c8e: 1961 adds r1, r4, r5 + 8007c90: 42a3 cmp r3, r4 + 8007c92: 6025 str r5, [r4, #0] + 8007c94: bf18 it ne + 8007c96: 6059 strne r1, [r3, #4] + 8007c98: 6863 ldr r3, [r4, #4] + 8007c9a: bf08 it eq + 8007c9c: f8c8 1000 streq.w r1, [r8] + 8007ca0: 5162 str r2, [r4, r5] + 8007ca2: 604b str r3, [r1, #4] + 8007ca4: 4638 mov r0, r7 + 8007ca6: f104 060b add.w r6, r4, #11 + 8007caa: f000 f829 bl 8007d00 <__malloc_unlock> + 8007cae: f026 0607 bic.w r6, r6, #7 + 8007cb2: 1d23 adds r3, r4, #4 + 8007cb4: 1af2 subs r2, r6, r3 + 8007cb6: d0ae beq.n 8007c16 <_malloc_r+0x22> + 8007cb8: 1b9b subs r3, r3, r6 + 8007cba: 50a3 str r3, [r4, r2] + 8007cbc: e7ab b.n 8007c16 <_malloc_r+0x22> + 8007cbe: 42a3 cmp r3, r4 + 8007cc0: 6862 ldr r2, [r4, #4] + 8007cc2: d1dd bne.n 8007c80 <_malloc_r+0x8c> + 8007cc4: f8c8 2000 str.w r2, [r8] + 8007cc8: e7ec b.n 8007ca4 <_malloc_r+0xb0> + 8007cca: 4623 mov r3, r4 + 8007ccc: 6864 ldr r4, [r4, #4] + 8007cce: e7ac b.n 8007c2a <_malloc_r+0x36> + 8007cd0: 4634 mov r4, r6 + 8007cd2: 6876 ldr r6, [r6, #4] + 8007cd4: e7b4 b.n 8007c40 <_malloc_r+0x4c> + 8007cd6: 4613 mov r3, r2 + 8007cd8: e7cc b.n 8007c74 <_malloc_r+0x80> + 8007cda: 230c movs r3, #12 + 8007cdc: 4638 mov r0, r7 + 8007cde: 603b str r3, [r7, #0] + 8007ce0: f000 f80e bl 8007d00 <__malloc_unlock> + 8007ce4: e797 b.n 8007c16 <_malloc_r+0x22> + 8007ce6: 6025 str r5, [r4, #0] + 8007ce8: e7dc b.n 8007ca4 <_malloc_r+0xb0> + 8007cea: 605b str r3, [r3, #4] + 8007cec: deff udf #255 ; 0xff + 8007cee: bf00 nop + 8007cf0: 20002528 .word 0x20002528 -08007498 <__malloc_lock>: - 8007498: 4801 ldr r0, [pc, #4] ; (80074a0 <__malloc_lock+0x8>) - 800749a: f000 beae b.w 80081fa <__retarget_lock_acquire_recursive> - 800749e: bf00 nop - 80074a0: 2000265c .word 0x2000265c +08007cf4 <__malloc_lock>: + 8007cf4: 4801 ldr r0, [pc, #4] ; (8007cfc <__malloc_lock+0x8>) + 8007cf6: f000 beae b.w 8008a56 <__retarget_lock_acquire_recursive> + 8007cfa: bf00 nop + 8007cfc: 20002670 .word 0x20002670 -080074a4 <__malloc_unlock>: - 80074a4: 4801 ldr r0, [pc, #4] ; (80074ac <__malloc_unlock+0x8>) - 80074a6: f000 bea9 b.w 80081fc <__retarget_lock_release_recursive> - 80074aa: bf00 nop - 80074ac: 2000265c .word 0x2000265c +08007d00 <__malloc_unlock>: + 8007d00: 4801 ldr r0, [pc, #4] ; (8007d08 <__malloc_unlock+0x8>) + 8007d02: f000 bea9 b.w 8008a58 <__retarget_lock_release_recursive> + 8007d06: bf00 nop + 8007d08: 20002670 .word 0x20002670 -080074b0 <__cvt>: - 80074b0: 2b00 cmp r3, #0 - 80074b2: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} - 80074b6: 461f mov r7, r3 - 80074b8: bfbb ittet lt - 80074ba: f103 4300 addlt.w r3, r3, #2147483648 ; 0x80000000 - 80074be: 461f movlt r7, r3 - 80074c0: 2300 movge r3, #0 - 80074c2: 232d movlt r3, #45 ; 0x2d - 80074c4: b088 sub sp, #32 - 80074c6: 4614 mov r4, r2 - 80074c8: 9a12 ldr r2, [sp, #72] ; 0x48 - 80074ca: 9d10 ldr r5, [sp, #64] ; 0x40 - 80074cc: 7013 strb r3, [r2, #0] - 80074ce: 9b14 ldr r3, [sp, #80] ; 0x50 - 80074d0: f8dd a04c ldr.w sl, [sp, #76] ; 0x4c - 80074d4: f023 0820 bic.w r8, r3, #32 - 80074d8: f1b8 0f46 cmp.w r8, #70 ; 0x46 - 80074dc: d005 beq.n 80074ea <__cvt+0x3a> - 80074de: f1b8 0f45 cmp.w r8, #69 ; 0x45 - 80074e2: d100 bne.n 80074e6 <__cvt+0x36> - 80074e4: 3501 adds r5, #1 - 80074e6: 2302 movs r3, #2 - 80074e8: e000 b.n 80074ec <__cvt+0x3c> - 80074ea: 2303 movs r3, #3 - 80074ec: aa07 add r2, sp, #28 - 80074ee: 9204 str r2, [sp, #16] - 80074f0: aa06 add r2, sp, #24 - 80074f2: e9cd a202 strd sl, r2, [sp, #8] - 80074f6: e9cd 3500 strd r3, r5, [sp] - 80074fa: 4622 mov r2, r4 - 80074fc: 463b mov r3, r7 - 80074fe: f000 ff17 bl 8008330 <_dtoa_r> - 8007502: f1b8 0f47 cmp.w r8, #71 ; 0x47 - 8007506: 4606 mov r6, r0 - 8007508: d102 bne.n 8007510 <__cvt+0x60> - 800750a: 9b11 ldr r3, [sp, #68] ; 0x44 - 800750c: 07db lsls r3, r3, #31 - 800750e: d522 bpl.n 8007556 <__cvt+0xa6> - 8007510: f1b8 0f46 cmp.w r8, #70 ; 0x46 - 8007514: eb06 0905 add.w r9, r6, r5 - 8007518: d110 bne.n 800753c <__cvt+0x8c> - 800751a: 7833 ldrb r3, [r6, #0] - 800751c: 2b30 cmp r3, #48 ; 0x30 - 800751e: d10a bne.n 8007536 <__cvt+0x86> - 8007520: 2200 movs r2, #0 - 8007522: 2300 movs r3, #0 - 8007524: 4620 mov r0, r4 - 8007526: 4639 mov r1, r7 - 8007528: f7f9 faaa bl 8000a80 <__aeabi_dcmpeq> - 800752c: b918 cbnz r0, 8007536 <__cvt+0x86> - 800752e: f1c5 0501 rsb r5, r5, #1 - 8007532: f8ca 5000 str.w r5, [sl] - 8007536: f8da 3000 ldr.w r3, [sl] - 800753a: 4499 add r9, r3 - 800753c: 2200 movs r2, #0 - 800753e: 2300 movs r3, #0 - 8007540: 4620 mov r0, r4 - 8007542: 4639 mov r1, r7 - 8007544: f7f9 fa9c bl 8000a80 <__aeabi_dcmpeq> - 8007548: b108 cbz r0, 800754e <__cvt+0x9e> - 800754a: f8cd 901c str.w r9, [sp, #28] - 800754e: 2230 movs r2, #48 ; 0x30 - 8007550: 9b07 ldr r3, [sp, #28] - 8007552: 454b cmp r3, r9 - 8007554: d307 bcc.n 8007566 <__cvt+0xb6> - 8007556: 4630 mov r0, r6 - 8007558: 9b07 ldr r3, [sp, #28] - 800755a: 9a15 ldr r2, [sp, #84] ; 0x54 - 800755c: 1b9b subs r3, r3, r6 - 800755e: 6013 str r3, [r2, #0] - 8007560: b008 add sp, #32 - 8007562: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} - 8007566: 1c59 adds r1, r3, #1 - 8007568: 9107 str r1, [sp, #28] - 800756a: 701a strb r2, [r3, #0] - 800756c: e7f0 b.n 8007550 <__cvt+0xa0> +08007d0c <__cvt>: + 8007d0c: 2b00 cmp r3, #0 + 8007d0e: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} + 8007d12: 461f mov r7, r3 + 8007d14: bfbb ittet lt + 8007d16: f103 4300 addlt.w r3, r3, #2147483648 ; 0x80000000 + 8007d1a: 461f movlt r7, r3 + 8007d1c: 2300 movge r3, #0 + 8007d1e: 232d movlt r3, #45 ; 0x2d + 8007d20: b088 sub sp, #32 + 8007d22: 4614 mov r4, r2 + 8007d24: 9a12 ldr r2, [sp, #72] ; 0x48 + 8007d26: 9d10 ldr r5, [sp, #64] ; 0x40 + 8007d28: 7013 strb r3, [r2, #0] + 8007d2a: 9b14 ldr r3, [sp, #80] ; 0x50 + 8007d2c: f8dd a04c ldr.w sl, [sp, #76] ; 0x4c + 8007d30: f023 0820 bic.w r8, r3, #32 + 8007d34: f1b8 0f46 cmp.w r8, #70 ; 0x46 + 8007d38: d005 beq.n 8007d46 <__cvt+0x3a> + 8007d3a: f1b8 0f45 cmp.w r8, #69 ; 0x45 + 8007d3e: d100 bne.n 8007d42 <__cvt+0x36> + 8007d40: 3501 adds r5, #1 + 8007d42: 2302 movs r3, #2 + 8007d44: e000 b.n 8007d48 <__cvt+0x3c> + 8007d46: 2303 movs r3, #3 + 8007d48: aa07 add r2, sp, #28 + 8007d4a: 9204 str r2, [sp, #16] + 8007d4c: aa06 add r2, sp, #24 + 8007d4e: e9cd a202 strd sl, r2, [sp, #8] + 8007d52: e9cd 3500 strd r3, r5, [sp] + 8007d56: 4622 mov r2, r4 + 8007d58: 463b mov r3, r7 + 8007d5a: f000 ff15 bl 8008b88 <_dtoa_r> + 8007d5e: f1b8 0f47 cmp.w r8, #71 ; 0x47 + 8007d62: 4606 mov r6, r0 + 8007d64: d102 bne.n 8007d6c <__cvt+0x60> + 8007d66: 9b11 ldr r3, [sp, #68] ; 0x44 + 8007d68: 07db lsls r3, r3, #31 + 8007d6a: d522 bpl.n 8007db2 <__cvt+0xa6> + 8007d6c: f1b8 0f46 cmp.w r8, #70 ; 0x46 + 8007d70: eb06 0905 add.w r9, r6, r5 + 8007d74: d110 bne.n 8007d98 <__cvt+0x8c> + 8007d76: 7833 ldrb r3, [r6, #0] + 8007d78: 2b30 cmp r3, #48 ; 0x30 + 8007d7a: d10a bne.n 8007d92 <__cvt+0x86> + 8007d7c: 2200 movs r2, #0 + 8007d7e: 2300 movs r3, #0 + 8007d80: 4620 mov r0, r4 + 8007d82: 4639 mov r1, r7 + 8007d84: f7f8 fe7c bl 8000a80 <__aeabi_dcmpeq> + 8007d88: b918 cbnz r0, 8007d92 <__cvt+0x86> + 8007d8a: f1c5 0501 rsb r5, r5, #1 + 8007d8e: f8ca 5000 str.w r5, [sl] + 8007d92: f8da 3000 ldr.w r3, [sl] + 8007d96: 4499 add r9, r3 + 8007d98: 2200 movs r2, #0 + 8007d9a: 2300 movs r3, #0 + 8007d9c: 4620 mov r0, r4 + 8007d9e: 4639 mov r1, r7 + 8007da0: f7f8 fe6e bl 8000a80 <__aeabi_dcmpeq> + 8007da4: b108 cbz r0, 8007daa <__cvt+0x9e> + 8007da6: f8cd 901c str.w r9, [sp, #28] + 8007daa: 2230 movs r2, #48 ; 0x30 + 8007dac: 9b07 ldr r3, [sp, #28] + 8007dae: 454b cmp r3, r9 + 8007db0: d307 bcc.n 8007dc2 <__cvt+0xb6> + 8007db2: 4630 mov r0, r6 + 8007db4: 9b07 ldr r3, [sp, #28] + 8007db6: 9a15 ldr r2, [sp, #84] ; 0x54 + 8007db8: 1b9b subs r3, r3, r6 + 8007dba: 6013 str r3, [r2, #0] + 8007dbc: b008 add sp, #32 + 8007dbe: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 8007dc2: 1c59 adds r1, r3, #1 + 8007dc4: 9107 str r1, [sp, #28] + 8007dc6: 701a strb r2, [r3, #0] + 8007dc8: e7f0 b.n 8007dac <__cvt+0xa0> -0800756e <__exponent>: - 800756e: 4603 mov r3, r0 - 8007570: b5f7 push {r0, r1, r2, r4, r5, r6, r7, lr} - 8007572: 2900 cmp r1, #0 - 8007574: f803 2b02 strb.w r2, [r3], #2 - 8007578: bfb6 itet lt - 800757a: 222d movlt r2, #45 ; 0x2d - 800757c: 222b movge r2, #43 ; 0x2b - 800757e: 4249 neglt r1, r1 - 8007580: 2909 cmp r1, #9 - 8007582: 7042 strb r2, [r0, #1] - 8007584: dd2a ble.n 80075dc <__exponent+0x6e> - 8007586: f10d 0207 add.w r2, sp, #7 - 800758a: 4617 mov r7, r2 - 800758c: 260a movs r6, #10 - 800758e: fb91 f5f6 sdiv r5, r1, r6 - 8007592: 4694 mov ip, r2 - 8007594: fb06 1415 mls r4, r6, r5, r1 - 8007598: 3430 adds r4, #48 ; 0x30 - 800759a: f80c 4c01 strb.w r4, [ip, #-1] - 800759e: 460c mov r4, r1 - 80075a0: 2c63 cmp r4, #99 ; 0x63 - 80075a2: 4629 mov r1, r5 - 80075a4: f102 32ff add.w r2, r2, #4294967295 - 80075a8: dcf1 bgt.n 800758e <__exponent+0x20> - 80075aa: 3130 adds r1, #48 ; 0x30 - 80075ac: f1ac 0402 sub.w r4, ip, #2 - 80075b0: f802 1c01 strb.w r1, [r2, #-1] - 80075b4: 4622 mov r2, r4 - 80075b6: 1c41 adds r1, r0, #1 - 80075b8: 42ba cmp r2, r7 - 80075ba: d30a bcc.n 80075d2 <__exponent+0x64> - 80075bc: f10d 0209 add.w r2, sp, #9 - 80075c0: eba2 020c sub.w r2, r2, ip - 80075c4: 42bc cmp r4, r7 - 80075c6: bf88 it hi - 80075c8: 2200 movhi r2, #0 - 80075ca: 4413 add r3, r2 - 80075cc: 1a18 subs r0, r3, r0 - 80075ce: b003 add sp, #12 - 80075d0: bdf0 pop {r4, r5, r6, r7, pc} - 80075d2: f812 5b01 ldrb.w r5, [r2], #1 - 80075d6: f801 5f01 strb.w r5, [r1, #1]! - 80075da: e7ed b.n 80075b8 <__exponent+0x4a> - 80075dc: 2330 movs r3, #48 ; 0x30 - 80075de: 3130 adds r1, #48 ; 0x30 - 80075e0: 7083 strb r3, [r0, #2] - 80075e2: 70c1 strb r1, [r0, #3] - 80075e4: 1d03 adds r3, r0, #4 - 80075e6: e7f1 b.n 80075cc <__exponent+0x5e> +08007dca <__exponent>: + 8007dca: 4603 mov r3, r0 + 8007dcc: b5f7 push {r0, r1, r2, r4, r5, r6, r7, lr} + 8007dce: 2900 cmp r1, #0 + 8007dd0: f803 2b02 strb.w r2, [r3], #2 + 8007dd4: bfb6 itet lt + 8007dd6: 222d movlt r2, #45 ; 0x2d + 8007dd8: 222b movge r2, #43 ; 0x2b + 8007dda: 4249 neglt r1, r1 + 8007ddc: 2909 cmp r1, #9 + 8007dde: 7042 strb r2, [r0, #1] + 8007de0: dd2a ble.n 8007e38 <__exponent+0x6e> + 8007de2: f10d 0207 add.w r2, sp, #7 + 8007de6: 4617 mov r7, r2 + 8007de8: 260a movs r6, #10 + 8007dea: fb91 f5f6 sdiv r5, r1, r6 + 8007dee: 4694 mov ip, r2 + 8007df0: fb06 1415 mls r4, r6, r5, r1 + 8007df4: 3430 adds r4, #48 ; 0x30 + 8007df6: f80c 4c01 strb.w r4, [ip, #-1] + 8007dfa: 460c mov r4, r1 + 8007dfc: 2c63 cmp r4, #99 ; 0x63 + 8007dfe: 4629 mov r1, r5 + 8007e00: f102 32ff add.w r2, r2, #4294967295 + 8007e04: dcf1 bgt.n 8007dea <__exponent+0x20> + 8007e06: 3130 adds r1, #48 ; 0x30 + 8007e08: f1ac 0402 sub.w r4, ip, #2 + 8007e0c: f802 1c01 strb.w r1, [r2, #-1] + 8007e10: 4622 mov r2, r4 + 8007e12: 1c41 adds r1, r0, #1 + 8007e14: 42ba cmp r2, r7 + 8007e16: d30a bcc.n 8007e2e <__exponent+0x64> + 8007e18: f10d 0209 add.w r2, sp, #9 + 8007e1c: eba2 020c sub.w r2, r2, ip + 8007e20: 42bc cmp r4, r7 + 8007e22: bf88 it hi + 8007e24: 2200 movhi r2, #0 + 8007e26: 4413 add r3, r2 + 8007e28: 1a18 subs r0, r3, r0 + 8007e2a: b003 add sp, #12 + 8007e2c: bdf0 pop {r4, r5, r6, r7, pc} + 8007e2e: f812 5b01 ldrb.w r5, [r2], #1 + 8007e32: f801 5f01 strb.w r5, [r1, #1]! + 8007e36: e7ed b.n 8007e14 <__exponent+0x4a> + 8007e38: 2330 movs r3, #48 ; 0x30 + 8007e3a: 3130 adds r1, #48 ; 0x30 + 8007e3c: 7083 strb r3, [r0, #2] + 8007e3e: 70c1 strb r1, [r0, #3] + 8007e40: 1d03 adds r3, r0, #4 + 8007e42: e7f1 b.n 8007e28 <__exponent+0x5e> -080075e8 <_printf_float>: - 80075e8: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 80075ec: b091 sub sp, #68 ; 0x44 - 80075ee: 460c mov r4, r1 - 80075f0: f8dd 8068 ldr.w r8, [sp, #104] ; 0x68 - 80075f4: 4616 mov r6, r2 - 80075f6: 461f mov r7, r3 - 80075f8: 4605 mov r5, r0 - 80075fa: f000 fd79 bl 80080f0 <_localeconv_r> - 80075fe: 6803 ldr r3, [r0, #0] - 8007600: 4618 mov r0, r3 - 8007602: 9309 str r3, [sp, #36] ; 0x24 - 8007604: f7f8 fe10 bl 8000228 - 8007608: 2300 movs r3, #0 - 800760a: 930e str r3, [sp, #56] ; 0x38 - 800760c: f8d8 3000 ldr.w r3, [r8] - 8007610: 900a str r0, [sp, #40] ; 0x28 - 8007612: 3307 adds r3, #7 - 8007614: f023 0307 bic.w r3, r3, #7 - 8007618: f103 0208 add.w r2, r3, #8 - 800761c: f894 9018 ldrb.w r9, [r4, #24] - 8007620: f8d4 b000 ldr.w fp, [r4] - 8007624: f8c8 2000 str.w r2, [r8] - 8007628: e9d3 a800 ldrd sl, r8, [r3] - 800762c: 4652 mov r2, sl - 800762e: 4643 mov r3, r8 - 8007630: e9c4 2312 strd r2, r3, [r4, #72] ; 0x48 - 8007634: f028 4300 bic.w r3, r8, #2147483648 ; 0x80000000 - 8007638: 930b str r3, [sp, #44] ; 0x2c - 800763a: f04f 32ff mov.w r2, #4294967295 - 800763e: 4650 mov r0, sl - 8007640: 4b9c ldr r3, [pc, #624] ; (80078b4 <_printf_float+0x2cc>) - 8007642: 990b ldr r1, [sp, #44] ; 0x2c - 8007644: f7f9 fa4e bl 8000ae4 <__aeabi_dcmpun> - 8007648: bb70 cbnz r0, 80076a8 <_printf_float+0xc0> - 800764a: f04f 32ff mov.w r2, #4294967295 - 800764e: 4650 mov r0, sl - 8007650: 4b98 ldr r3, [pc, #608] ; (80078b4 <_printf_float+0x2cc>) - 8007652: 990b ldr r1, [sp, #44] ; 0x2c - 8007654: f7f9 fa28 bl 8000aa8 <__aeabi_dcmple> - 8007658: bb30 cbnz r0, 80076a8 <_printf_float+0xc0> - 800765a: 2200 movs r2, #0 - 800765c: 2300 movs r3, #0 - 800765e: 4650 mov r0, sl - 8007660: 4641 mov r1, r8 - 8007662: f7f9 fa17 bl 8000a94 <__aeabi_dcmplt> - 8007666: b110 cbz r0, 800766e <_printf_float+0x86> - 8007668: 232d movs r3, #45 ; 0x2d - 800766a: f884 3043 strb.w r3, [r4, #67] ; 0x43 - 800766e: 4a92 ldr r2, [pc, #584] ; (80078b8 <_printf_float+0x2d0>) - 8007670: 4b92 ldr r3, [pc, #584] ; (80078bc <_printf_float+0x2d4>) - 8007672: f1b9 0f47 cmp.w r9, #71 ; 0x47 - 8007676: bf94 ite ls - 8007678: 4690 movls r8, r2 - 800767a: 4698 movhi r8, r3 - 800767c: 2303 movs r3, #3 - 800767e: f04f 0a00 mov.w sl, #0 - 8007682: 6123 str r3, [r4, #16] - 8007684: f02b 0304 bic.w r3, fp, #4 - 8007688: 6023 str r3, [r4, #0] - 800768a: 4633 mov r3, r6 - 800768c: 4621 mov r1, r4 - 800768e: 4628 mov r0, r5 - 8007690: 9700 str r7, [sp, #0] - 8007692: aa0f add r2, sp, #60 ; 0x3c - 8007694: f000 f9d6 bl 8007a44 <_printf_common> - 8007698: 3001 adds r0, #1 - 800769a: f040 8090 bne.w 80077be <_printf_float+0x1d6> - 800769e: f04f 30ff mov.w r0, #4294967295 - 80076a2: b011 add sp, #68 ; 0x44 - 80076a4: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} - 80076a8: 4652 mov r2, sl - 80076aa: 4643 mov r3, r8 - 80076ac: 4650 mov r0, sl - 80076ae: 4641 mov r1, r8 - 80076b0: f7f9 fa18 bl 8000ae4 <__aeabi_dcmpun> - 80076b4: b148 cbz r0, 80076ca <_printf_float+0xe2> - 80076b6: f1b8 0f00 cmp.w r8, #0 - 80076ba: bfb8 it lt - 80076bc: 232d movlt r3, #45 ; 0x2d - 80076be: 4a80 ldr r2, [pc, #512] ; (80078c0 <_printf_float+0x2d8>) - 80076c0: bfb8 it lt - 80076c2: f884 3043 strblt.w r3, [r4, #67] ; 0x43 - 80076c6: 4b7f ldr r3, [pc, #508] ; (80078c4 <_printf_float+0x2dc>) - 80076c8: e7d3 b.n 8007672 <_printf_float+0x8a> - 80076ca: 6863 ldr r3, [r4, #4] - 80076cc: f009 01df and.w r1, r9, #223 ; 0xdf - 80076d0: 1c5a adds r2, r3, #1 - 80076d2: d142 bne.n 800775a <_printf_float+0x172> - 80076d4: 2306 movs r3, #6 - 80076d6: 6063 str r3, [r4, #4] - 80076d8: 2200 movs r2, #0 - 80076da: 9206 str r2, [sp, #24] - 80076dc: aa0e add r2, sp, #56 ; 0x38 - 80076de: e9cd 9204 strd r9, r2, [sp, #16] - 80076e2: aa0d add r2, sp, #52 ; 0x34 - 80076e4: f44b 6380 orr.w r3, fp, #1024 ; 0x400 - 80076e8: 9203 str r2, [sp, #12] - 80076ea: f10d 0233 add.w r2, sp, #51 ; 0x33 - 80076ee: e9cd 3201 strd r3, r2, [sp, #4] - 80076f2: 6023 str r3, [r4, #0] - 80076f4: 6863 ldr r3, [r4, #4] - 80076f6: 4652 mov r2, sl - 80076f8: 9300 str r3, [sp, #0] - 80076fa: 4628 mov r0, r5 - 80076fc: 4643 mov r3, r8 - 80076fe: 910b str r1, [sp, #44] ; 0x2c - 8007700: f7ff fed6 bl 80074b0 <__cvt> - 8007704: 990b ldr r1, [sp, #44] ; 0x2c - 8007706: 4680 mov r8, r0 - 8007708: 2947 cmp r1, #71 ; 0x47 - 800770a: 990d ldr r1, [sp, #52] ; 0x34 - 800770c: d108 bne.n 8007720 <_printf_float+0x138> - 800770e: 1cc8 adds r0, r1, #3 - 8007710: db02 blt.n 8007718 <_printf_float+0x130> - 8007712: 6863 ldr r3, [r4, #4] - 8007714: 4299 cmp r1, r3 - 8007716: dd40 ble.n 800779a <_printf_float+0x1b2> - 8007718: f1a9 0902 sub.w r9, r9, #2 - 800771c: fa5f f989 uxtb.w r9, r9 - 8007720: f1b9 0f65 cmp.w r9, #101 ; 0x65 - 8007724: d81f bhi.n 8007766 <_printf_float+0x17e> - 8007726: 464a mov r2, r9 - 8007728: 3901 subs r1, #1 - 800772a: f104 0050 add.w r0, r4, #80 ; 0x50 - 800772e: 910d str r1, [sp, #52] ; 0x34 - 8007730: f7ff ff1d bl 800756e <__exponent> - 8007734: 9a0e ldr r2, [sp, #56] ; 0x38 - 8007736: 4682 mov sl, r0 - 8007738: 1813 adds r3, r2, r0 - 800773a: 2a01 cmp r2, #1 - 800773c: 6123 str r3, [r4, #16] - 800773e: dc02 bgt.n 8007746 <_printf_float+0x15e> - 8007740: 6822 ldr r2, [r4, #0] - 8007742: 07d2 lsls r2, r2, #31 - 8007744: d501 bpl.n 800774a <_printf_float+0x162> - 8007746: 3301 adds r3, #1 - 8007748: 6123 str r3, [r4, #16] - 800774a: f89d 3033 ldrb.w r3, [sp, #51] ; 0x33 - 800774e: 2b00 cmp r3, #0 - 8007750: d09b beq.n 800768a <_printf_float+0xa2> - 8007752: 232d movs r3, #45 ; 0x2d - 8007754: f884 3043 strb.w r3, [r4, #67] ; 0x43 - 8007758: e797 b.n 800768a <_printf_float+0xa2> - 800775a: 2947 cmp r1, #71 ; 0x47 - 800775c: d1bc bne.n 80076d8 <_printf_float+0xf0> - 800775e: 2b00 cmp r3, #0 - 8007760: d1ba bne.n 80076d8 <_printf_float+0xf0> - 8007762: 2301 movs r3, #1 - 8007764: e7b7 b.n 80076d6 <_printf_float+0xee> - 8007766: f1b9 0f66 cmp.w r9, #102 ; 0x66 - 800776a: d118 bne.n 800779e <_printf_float+0x1b6> - 800776c: 2900 cmp r1, #0 - 800776e: 6863 ldr r3, [r4, #4] - 8007770: dd0b ble.n 800778a <_printf_float+0x1a2> - 8007772: 6121 str r1, [r4, #16] - 8007774: b913 cbnz r3, 800777c <_printf_float+0x194> - 8007776: 6822 ldr r2, [r4, #0] - 8007778: 07d0 lsls r0, r2, #31 - 800777a: d502 bpl.n 8007782 <_printf_float+0x19a> - 800777c: 3301 adds r3, #1 - 800777e: 440b add r3, r1 - 8007780: 6123 str r3, [r4, #16] - 8007782: f04f 0a00 mov.w sl, #0 - 8007786: 65a1 str r1, [r4, #88] ; 0x58 - 8007788: e7df b.n 800774a <_printf_float+0x162> - 800778a: b913 cbnz r3, 8007792 <_printf_float+0x1aa> - 800778c: 6822 ldr r2, [r4, #0] - 800778e: 07d2 lsls r2, r2, #31 - 8007790: d501 bpl.n 8007796 <_printf_float+0x1ae> - 8007792: 3302 adds r3, #2 - 8007794: e7f4 b.n 8007780 <_printf_float+0x198> - 8007796: 2301 movs r3, #1 - 8007798: e7f2 b.n 8007780 <_printf_float+0x198> - 800779a: f04f 0967 mov.w r9, #103 ; 0x67 - 800779e: 9b0e ldr r3, [sp, #56] ; 0x38 - 80077a0: 4299 cmp r1, r3 - 80077a2: db05 blt.n 80077b0 <_printf_float+0x1c8> - 80077a4: 6823 ldr r3, [r4, #0] - 80077a6: 6121 str r1, [r4, #16] - 80077a8: 07d8 lsls r0, r3, #31 - 80077aa: d5ea bpl.n 8007782 <_printf_float+0x19a> - 80077ac: 1c4b adds r3, r1, #1 - 80077ae: e7e7 b.n 8007780 <_printf_float+0x198> - 80077b0: 2900 cmp r1, #0 - 80077b2: bfcc ite gt - 80077b4: 2201 movgt r2, #1 - 80077b6: f1c1 0202 rsble r2, r1, #2 - 80077ba: 4413 add r3, r2 - 80077bc: e7e0 b.n 8007780 <_printf_float+0x198> - 80077be: 6823 ldr r3, [r4, #0] - 80077c0: 055a lsls r2, r3, #21 - 80077c2: d407 bmi.n 80077d4 <_printf_float+0x1ec> - 80077c4: 6923 ldr r3, [r4, #16] - 80077c6: 4642 mov r2, r8 - 80077c8: 4631 mov r1, r6 - 80077ca: 4628 mov r0, r5 - 80077cc: 47b8 blx r7 - 80077ce: 3001 adds r0, #1 - 80077d0: d12b bne.n 800782a <_printf_float+0x242> - 80077d2: e764 b.n 800769e <_printf_float+0xb6> - 80077d4: f1b9 0f65 cmp.w r9, #101 ; 0x65 - 80077d8: f240 80dd bls.w 8007996 <_printf_float+0x3ae> - 80077dc: e9d4 0112 ldrd r0, r1, [r4, #72] ; 0x48 - 80077e0: 2200 movs r2, #0 - 80077e2: 2300 movs r3, #0 - 80077e4: f7f9 f94c bl 8000a80 <__aeabi_dcmpeq> - 80077e8: 2800 cmp r0, #0 - 80077ea: d033 beq.n 8007854 <_printf_float+0x26c> - 80077ec: 2301 movs r3, #1 - 80077ee: 4631 mov r1, r6 - 80077f0: 4628 mov r0, r5 - 80077f2: 4a35 ldr r2, [pc, #212] ; (80078c8 <_printf_float+0x2e0>) - 80077f4: 47b8 blx r7 - 80077f6: 3001 adds r0, #1 - 80077f8: f43f af51 beq.w 800769e <_printf_float+0xb6> - 80077fc: e9dd 230d ldrd r2, r3, [sp, #52] ; 0x34 - 8007800: 429a cmp r2, r3 - 8007802: db02 blt.n 800780a <_printf_float+0x222> - 8007804: 6823 ldr r3, [r4, #0] - 8007806: 07d8 lsls r0, r3, #31 - 8007808: d50f bpl.n 800782a <_printf_float+0x242> - 800780a: e9dd 2309 ldrd r2, r3, [sp, #36] ; 0x24 - 800780e: 4631 mov r1, r6 - 8007810: 4628 mov r0, r5 - 8007812: 47b8 blx r7 - 8007814: 3001 adds r0, #1 - 8007816: f43f af42 beq.w 800769e <_printf_float+0xb6> - 800781a: f04f 0800 mov.w r8, #0 - 800781e: f104 091a add.w r9, r4, #26 - 8007822: 9b0e ldr r3, [sp, #56] ; 0x38 - 8007824: 3b01 subs r3, #1 - 8007826: 4543 cmp r3, r8 - 8007828: dc09 bgt.n 800783e <_printf_float+0x256> - 800782a: 6823 ldr r3, [r4, #0] - 800782c: 079b lsls r3, r3, #30 - 800782e: f100 8104 bmi.w 8007a3a <_printf_float+0x452> - 8007832: 68e0 ldr r0, [r4, #12] - 8007834: 9b0f ldr r3, [sp, #60] ; 0x3c - 8007836: 4298 cmp r0, r3 - 8007838: bfb8 it lt - 800783a: 4618 movlt r0, r3 - 800783c: e731 b.n 80076a2 <_printf_float+0xba> - 800783e: 2301 movs r3, #1 - 8007840: 464a mov r2, r9 - 8007842: 4631 mov r1, r6 - 8007844: 4628 mov r0, r5 - 8007846: 47b8 blx r7 - 8007848: 3001 adds r0, #1 - 800784a: f43f af28 beq.w 800769e <_printf_float+0xb6> - 800784e: f108 0801 add.w r8, r8, #1 - 8007852: e7e6 b.n 8007822 <_printf_float+0x23a> - 8007854: 9b0d ldr r3, [sp, #52] ; 0x34 - 8007856: 2b00 cmp r3, #0 - 8007858: dc38 bgt.n 80078cc <_printf_float+0x2e4> - 800785a: 2301 movs r3, #1 - 800785c: 4631 mov r1, r6 - 800785e: 4628 mov r0, r5 - 8007860: 4a19 ldr r2, [pc, #100] ; (80078c8 <_printf_float+0x2e0>) - 8007862: 47b8 blx r7 - 8007864: 3001 adds r0, #1 - 8007866: f43f af1a beq.w 800769e <_printf_float+0xb6> - 800786a: e9dd 320d ldrd r3, r2, [sp, #52] ; 0x34 - 800786e: 4313 orrs r3, r2 - 8007870: d102 bne.n 8007878 <_printf_float+0x290> - 8007872: 6823 ldr r3, [r4, #0] - 8007874: 07d9 lsls r1, r3, #31 - 8007876: d5d8 bpl.n 800782a <_printf_float+0x242> - 8007878: e9dd 2309 ldrd r2, r3, [sp, #36] ; 0x24 - 800787c: 4631 mov r1, r6 - 800787e: 4628 mov r0, r5 - 8007880: 47b8 blx r7 - 8007882: 3001 adds r0, #1 - 8007884: f43f af0b beq.w 800769e <_printf_float+0xb6> - 8007888: f04f 0900 mov.w r9, #0 - 800788c: f104 0a1a add.w sl, r4, #26 - 8007890: 9b0d ldr r3, [sp, #52] ; 0x34 - 8007892: 425b negs r3, r3 - 8007894: 454b cmp r3, r9 - 8007896: dc01 bgt.n 800789c <_printf_float+0x2b4> - 8007898: 9b0e ldr r3, [sp, #56] ; 0x38 - 800789a: e794 b.n 80077c6 <_printf_float+0x1de> - 800789c: 2301 movs r3, #1 - 800789e: 4652 mov r2, sl - 80078a0: 4631 mov r1, r6 - 80078a2: 4628 mov r0, r5 - 80078a4: 47b8 blx r7 - 80078a6: 3001 adds r0, #1 - 80078a8: f43f aef9 beq.w 800769e <_printf_float+0xb6> - 80078ac: f109 0901 add.w r9, r9, #1 - 80078b0: e7ee b.n 8007890 <_printf_float+0x2a8> - 80078b2: bf00 nop - 80078b4: 7fefffff .word 0x7fefffff - 80078b8: 0800aba8 .word 0x0800aba8 - 80078bc: 0800abac .word 0x0800abac - 80078c0: 0800abb0 .word 0x0800abb0 - 80078c4: 0800abb4 .word 0x0800abb4 - 80078c8: 0800abb8 .word 0x0800abb8 - 80078cc: 9a0e ldr r2, [sp, #56] ; 0x38 - 80078ce: 6da3 ldr r3, [r4, #88] ; 0x58 - 80078d0: 429a cmp r2, r3 - 80078d2: bfa8 it ge - 80078d4: 461a movge r2, r3 - 80078d6: 2a00 cmp r2, #0 - 80078d8: 4691 mov r9, r2 - 80078da: dc37 bgt.n 800794c <_printf_float+0x364> - 80078dc: f04f 0b00 mov.w fp, #0 - 80078e0: ea29 79e9 bic.w r9, r9, r9, asr #31 - 80078e4: f104 021a add.w r2, r4, #26 - 80078e8: f8d4 a058 ldr.w sl, [r4, #88] ; 0x58 - 80078ec: ebaa 0309 sub.w r3, sl, r9 - 80078f0: 455b cmp r3, fp - 80078f2: dc33 bgt.n 800795c <_printf_float+0x374> - 80078f4: e9dd 230d ldrd r2, r3, [sp, #52] ; 0x34 - 80078f8: 429a cmp r2, r3 - 80078fa: db3b blt.n 8007974 <_printf_float+0x38c> - 80078fc: 6823 ldr r3, [r4, #0] - 80078fe: 07da lsls r2, r3, #31 - 8007900: d438 bmi.n 8007974 <_printf_float+0x38c> - 8007902: e9dd 320d ldrd r3, r2, [sp, #52] ; 0x34 - 8007906: eba2 0903 sub.w r9, r2, r3 - 800790a: eba2 020a sub.w r2, r2, sl - 800790e: 4591 cmp r9, r2 - 8007910: bfa8 it ge - 8007912: 4691 movge r9, r2 - 8007914: f1b9 0f00 cmp.w r9, #0 - 8007918: dc34 bgt.n 8007984 <_printf_float+0x39c> - 800791a: f04f 0800 mov.w r8, #0 - 800791e: ea29 79e9 bic.w r9, r9, r9, asr #31 - 8007922: f104 0a1a add.w sl, r4, #26 - 8007926: e9dd 230d ldrd r2, r3, [sp, #52] ; 0x34 - 800792a: 1a9b subs r3, r3, r2 - 800792c: eba3 0309 sub.w r3, r3, r9 - 8007930: 4543 cmp r3, r8 - 8007932: f77f af7a ble.w 800782a <_printf_float+0x242> - 8007936: 2301 movs r3, #1 - 8007938: 4652 mov r2, sl - 800793a: 4631 mov r1, r6 - 800793c: 4628 mov r0, r5 - 800793e: 47b8 blx r7 - 8007940: 3001 adds r0, #1 - 8007942: f43f aeac beq.w 800769e <_printf_float+0xb6> - 8007946: f108 0801 add.w r8, r8, #1 - 800794a: e7ec b.n 8007926 <_printf_float+0x33e> - 800794c: 4613 mov r3, r2 - 800794e: 4631 mov r1, r6 - 8007950: 4642 mov r2, r8 - 8007952: 4628 mov r0, r5 - 8007954: 47b8 blx r7 - 8007956: 3001 adds r0, #1 - 8007958: d1c0 bne.n 80078dc <_printf_float+0x2f4> - 800795a: e6a0 b.n 800769e <_printf_float+0xb6> - 800795c: 2301 movs r3, #1 - 800795e: 4631 mov r1, r6 - 8007960: 4628 mov r0, r5 - 8007962: 920b str r2, [sp, #44] ; 0x2c - 8007964: 47b8 blx r7 - 8007966: 3001 adds r0, #1 - 8007968: f43f ae99 beq.w 800769e <_printf_float+0xb6> - 800796c: 9a0b ldr r2, [sp, #44] ; 0x2c - 800796e: f10b 0b01 add.w fp, fp, #1 - 8007972: e7b9 b.n 80078e8 <_printf_float+0x300> - 8007974: 4631 mov r1, r6 - 8007976: e9dd 2309 ldrd r2, r3, [sp, #36] ; 0x24 - 800797a: 4628 mov r0, r5 - 800797c: 47b8 blx r7 - 800797e: 3001 adds r0, #1 - 8007980: d1bf bne.n 8007902 <_printf_float+0x31a> - 8007982: e68c b.n 800769e <_printf_float+0xb6> - 8007984: 464b mov r3, r9 - 8007986: 4631 mov r1, r6 - 8007988: 4628 mov r0, r5 - 800798a: eb08 020a add.w r2, r8, sl - 800798e: 47b8 blx r7 - 8007990: 3001 adds r0, #1 - 8007992: d1c2 bne.n 800791a <_printf_float+0x332> - 8007994: e683 b.n 800769e <_printf_float+0xb6> - 8007996: 9a0e ldr r2, [sp, #56] ; 0x38 - 8007998: 2a01 cmp r2, #1 - 800799a: dc01 bgt.n 80079a0 <_printf_float+0x3b8> - 800799c: 07db lsls r3, r3, #31 - 800799e: d539 bpl.n 8007a14 <_printf_float+0x42c> - 80079a0: 2301 movs r3, #1 - 80079a2: 4642 mov r2, r8 - 80079a4: 4631 mov r1, r6 - 80079a6: 4628 mov r0, r5 - 80079a8: 47b8 blx r7 - 80079aa: 3001 adds r0, #1 - 80079ac: f43f ae77 beq.w 800769e <_printf_float+0xb6> - 80079b0: e9dd 2309 ldrd r2, r3, [sp, #36] ; 0x24 - 80079b4: 4631 mov r1, r6 - 80079b6: 4628 mov r0, r5 - 80079b8: 47b8 blx r7 - 80079ba: 3001 adds r0, #1 - 80079bc: f43f ae6f beq.w 800769e <_printf_float+0xb6> - 80079c0: e9d4 0112 ldrd r0, r1, [r4, #72] ; 0x48 - 80079c4: 2200 movs r2, #0 - 80079c6: 2300 movs r3, #0 - 80079c8: f8dd 9038 ldr.w r9, [sp, #56] ; 0x38 - 80079cc: f7f9 f858 bl 8000a80 <__aeabi_dcmpeq> - 80079d0: b9d8 cbnz r0, 8007a0a <_printf_float+0x422> - 80079d2: f109 33ff add.w r3, r9, #4294967295 - 80079d6: f108 0201 add.w r2, r8, #1 - 80079da: 4631 mov r1, r6 - 80079dc: 4628 mov r0, r5 - 80079de: 47b8 blx r7 - 80079e0: 3001 adds r0, #1 - 80079e2: d10e bne.n 8007a02 <_printf_float+0x41a> - 80079e4: e65b b.n 800769e <_printf_float+0xb6> - 80079e6: 2301 movs r3, #1 - 80079e8: 464a mov r2, r9 - 80079ea: 4631 mov r1, r6 - 80079ec: 4628 mov r0, r5 - 80079ee: 47b8 blx r7 - 80079f0: 3001 adds r0, #1 - 80079f2: f43f ae54 beq.w 800769e <_printf_float+0xb6> - 80079f6: f108 0801 add.w r8, r8, #1 - 80079fa: 9b0e ldr r3, [sp, #56] ; 0x38 - 80079fc: 3b01 subs r3, #1 - 80079fe: 4543 cmp r3, r8 - 8007a00: dcf1 bgt.n 80079e6 <_printf_float+0x3fe> - 8007a02: 4653 mov r3, sl - 8007a04: f104 0250 add.w r2, r4, #80 ; 0x50 - 8007a08: e6de b.n 80077c8 <_printf_float+0x1e0> - 8007a0a: f04f 0800 mov.w r8, #0 - 8007a0e: f104 091a add.w r9, r4, #26 - 8007a12: e7f2 b.n 80079fa <_printf_float+0x412> - 8007a14: 2301 movs r3, #1 - 8007a16: 4642 mov r2, r8 - 8007a18: e7df b.n 80079da <_printf_float+0x3f2> - 8007a1a: 2301 movs r3, #1 - 8007a1c: 464a mov r2, r9 - 8007a1e: 4631 mov r1, r6 - 8007a20: 4628 mov r0, r5 - 8007a22: 47b8 blx r7 - 8007a24: 3001 adds r0, #1 - 8007a26: f43f ae3a beq.w 800769e <_printf_float+0xb6> - 8007a2a: f108 0801 add.w r8, r8, #1 - 8007a2e: 68e3 ldr r3, [r4, #12] - 8007a30: 990f ldr r1, [sp, #60] ; 0x3c - 8007a32: 1a5b subs r3, r3, r1 - 8007a34: 4543 cmp r3, r8 - 8007a36: dcf0 bgt.n 8007a1a <_printf_float+0x432> - 8007a38: e6fb b.n 8007832 <_printf_float+0x24a> - 8007a3a: f04f 0800 mov.w r8, #0 - 8007a3e: f104 0919 add.w r9, r4, #25 - 8007a42: e7f4 b.n 8007a2e <_printf_float+0x446> +08007e44 <_printf_float>: + 8007e44: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 8007e48: b091 sub sp, #68 ; 0x44 + 8007e4a: 460c mov r4, r1 + 8007e4c: f8dd 8068 ldr.w r8, [sp, #104] ; 0x68 + 8007e50: 4616 mov r6, r2 + 8007e52: 461f mov r7, r3 + 8007e54: 4605 mov r5, r0 + 8007e56: f000 fd79 bl 800894c <_localeconv_r> + 8007e5a: 6803 ldr r3, [r0, #0] + 8007e5c: 4618 mov r0, r3 + 8007e5e: 9309 str r3, [sp, #36] ; 0x24 + 8007e60: f7f8 f9e2 bl 8000228 + 8007e64: 2300 movs r3, #0 + 8007e66: 930e str r3, [sp, #56] ; 0x38 + 8007e68: f8d8 3000 ldr.w r3, [r8] + 8007e6c: 900a str r0, [sp, #40] ; 0x28 + 8007e6e: 3307 adds r3, #7 + 8007e70: f023 0307 bic.w r3, r3, #7 + 8007e74: f103 0208 add.w r2, r3, #8 + 8007e78: f894 9018 ldrb.w r9, [r4, #24] + 8007e7c: f8d4 b000 ldr.w fp, [r4] + 8007e80: f8c8 2000 str.w r2, [r8] + 8007e84: e9d3 a800 ldrd sl, r8, [r3] + 8007e88: 4652 mov r2, sl + 8007e8a: 4643 mov r3, r8 + 8007e8c: e9c4 2312 strd r2, r3, [r4, #72] ; 0x48 + 8007e90: f028 4300 bic.w r3, r8, #2147483648 ; 0x80000000 + 8007e94: 930b str r3, [sp, #44] ; 0x2c + 8007e96: f04f 32ff mov.w r2, #4294967295 + 8007e9a: 4650 mov r0, sl + 8007e9c: 4b9c ldr r3, [pc, #624] ; (8008110 <_printf_float+0x2cc>) + 8007e9e: 990b ldr r1, [sp, #44] ; 0x2c + 8007ea0: f7f8 fe20 bl 8000ae4 <__aeabi_dcmpun> + 8007ea4: bb70 cbnz r0, 8007f04 <_printf_float+0xc0> + 8007ea6: f04f 32ff mov.w r2, #4294967295 + 8007eaa: 4650 mov r0, sl + 8007eac: 4b98 ldr r3, [pc, #608] ; (8008110 <_printf_float+0x2cc>) + 8007eae: 990b ldr r1, [sp, #44] ; 0x2c + 8007eb0: f7f8 fdfa bl 8000aa8 <__aeabi_dcmple> + 8007eb4: bb30 cbnz r0, 8007f04 <_printf_float+0xc0> + 8007eb6: 2200 movs r2, #0 + 8007eb8: 2300 movs r3, #0 + 8007eba: 4650 mov r0, sl + 8007ebc: 4641 mov r1, r8 + 8007ebe: f7f8 fde9 bl 8000a94 <__aeabi_dcmplt> + 8007ec2: b110 cbz r0, 8007eca <_printf_float+0x86> + 8007ec4: 232d movs r3, #45 ; 0x2d + 8007ec6: f884 3043 strb.w r3, [r4, #67] ; 0x43 + 8007eca: 4a92 ldr r2, [pc, #584] ; (8008114 <_printf_float+0x2d0>) + 8007ecc: 4b92 ldr r3, [pc, #584] ; (8008118 <_printf_float+0x2d4>) + 8007ece: f1b9 0f47 cmp.w r9, #71 ; 0x47 + 8007ed2: bf94 ite ls + 8007ed4: 4690 movls r8, r2 + 8007ed6: 4698 movhi r8, r3 + 8007ed8: 2303 movs r3, #3 + 8007eda: f04f 0a00 mov.w sl, #0 + 8007ede: 6123 str r3, [r4, #16] + 8007ee0: f02b 0304 bic.w r3, fp, #4 + 8007ee4: 6023 str r3, [r4, #0] + 8007ee6: 4633 mov r3, r6 + 8007ee8: 4621 mov r1, r4 + 8007eea: 4628 mov r0, r5 + 8007eec: 9700 str r7, [sp, #0] + 8007eee: aa0f add r2, sp, #60 ; 0x3c + 8007ef0: f000 f9d6 bl 80082a0 <_printf_common> + 8007ef4: 3001 adds r0, #1 + 8007ef6: f040 8090 bne.w 800801a <_printf_float+0x1d6> + 8007efa: f04f 30ff mov.w r0, #4294967295 + 8007efe: b011 add sp, #68 ; 0x44 + 8007f00: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 8007f04: 4652 mov r2, sl + 8007f06: 4643 mov r3, r8 + 8007f08: 4650 mov r0, sl + 8007f0a: 4641 mov r1, r8 + 8007f0c: f7f8 fdea bl 8000ae4 <__aeabi_dcmpun> + 8007f10: b148 cbz r0, 8007f26 <_printf_float+0xe2> + 8007f12: f1b8 0f00 cmp.w r8, #0 + 8007f16: bfb8 it lt + 8007f18: 232d movlt r3, #45 ; 0x2d + 8007f1a: 4a80 ldr r2, [pc, #512] ; (800811c <_printf_float+0x2d8>) + 8007f1c: bfb8 it lt + 8007f1e: f884 3043 strblt.w r3, [r4, #67] ; 0x43 + 8007f22: 4b7f ldr r3, [pc, #508] ; (8008120 <_printf_float+0x2dc>) + 8007f24: e7d3 b.n 8007ece <_printf_float+0x8a> + 8007f26: 6863 ldr r3, [r4, #4] + 8007f28: f009 01df and.w r1, r9, #223 ; 0xdf + 8007f2c: 1c5a adds r2, r3, #1 + 8007f2e: d142 bne.n 8007fb6 <_printf_float+0x172> + 8007f30: 2306 movs r3, #6 + 8007f32: 6063 str r3, [r4, #4] + 8007f34: 2200 movs r2, #0 + 8007f36: 9206 str r2, [sp, #24] + 8007f38: aa0e add r2, sp, #56 ; 0x38 + 8007f3a: e9cd 9204 strd r9, r2, [sp, #16] + 8007f3e: aa0d add r2, sp, #52 ; 0x34 + 8007f40: f44b 6380 orr.w r3, fp, #1024 ; 0x400 + 8007f44: 9203 str r2, [sp, #12] + 8007f46: f10d 0233 add.w r2, sp, #51 ; 0x33 + 8007f4a: e9cd 3201 strd r3, r2, [sp, #4] + 8007f4e: 6023 str r3, [r4, #0] + 8007f50: 6863 ldr r3, [r4, #4] + 8007f52: 4652 mov r2, sl + 8007f54: 9300 str r3, [sp, #0] + 8007f56: 4628 mov r0, r5 + 8007f58: 4643 mov r3, r8 + 8007f5a: 910b str r1, [sp, #44] ; 0x2c + 8007f5c: f7ff fed6 bl 8007d0c <__cvt> + 8007f60: 990b ldr r1, [sp, #44] ; 0x2c + 8007f62: 4680 mov r8, r0 + 8007f64: 2947 cmp r1, #71 ; 0x47 + 8007f66: 990d ldr r1, [sp, #52] ; 0x34 + 8007f68: d108 bne.n 8007f7c <_printf_float+0x138> + 8007f6a: 1cc8 adds r0, r1, #3 + 8007f6c: db02 blt.n 8007f74 <_printf_float+0x130> + 8007f6e: 6863 ldr r3, [r4, #4] + 8007f70: 4299 cmp r1, r3 + 8007f72: dd40 ble.n 8007ff6 <_printf_float+0x1b2> + 8007f74: f1a9 0902 sub.w r9, r9, #2 + 8007f78: fa5f f989 uxtb.w r9, r9 + 8007f7c: f1b9 0f65 cmp.w r9, #101 ; 0x65 + 8007f80: d81f bhi.n 8007fc2 <_printf_float+0x17e> + 8007f82: 464a mov r2, r9 + 8007f84: 3901 subs r1, #1 + 8007f86: f104 0050 add.w r0, r4, #80 ; 0x50 + 8007f8a: 910d str r1, [sp, #52] ; 0x34 + 8007f8c: f7ff ff1d bl 8007dca <__exponent> + 8007f90: 9a0e ldr r2, [sp, #56] ; 0x38 + 8007f92: 4682 mov sl, r0 + 8007f94: 1813 adds r3, r2, r0 + 8007f96: 2a01 cmp r2, #1 + 8007f98: 6123 str r3, [r4, #16] + 8007f9a: dc02 bgt.n 8007fa2 <_printf_float+0x15e> + 8007f9c: 6822 ldr r2, [r4, #0] + 8007f9e: 07d2 lsls r2, r2, #31 + 8007fa0: d501 bpl.n 8007fa6 <_printf_float+0x162> + 8007fa2: 3301 adds r3, #1 + 8007fa4: 6123 str r3, [r4, #16] + 8007fa6: f89d 3033 ldrb.w r3, [sp, #51] ; 0x33 + 8007faa: 2b00 cmp r3, #0 + 8007fac: d09b beq.n 8007ee6 <_printf_float+0xa2> + 8007fae: 232d movs r3, #45 ; 0x2d + 8007fb0: f884 3043 strb.w r3, [r4, #67] ; 0x43 + 8007fb4: e797 b.n 8007ee6 <_printf_float+0xa2> + 8007fb6: 2947 cmp r1, #71 ; 0x47 + 8007fb8: d1bc bne.n 8007f34 <_printf_float+0xf0> + 8007fba: 2b00 cmp r3, #0 + 8007fbc: d1ba bne.n 8007f34 <_printf_float+0xf0> + 8007fbe: 2301 movs r3, #1 + 8007fc0: e7b7 b.n 8007f32 <_printf_float+0xee> + 8007fc2: f1b9 0f66 cmp.w r9, #102 ; 0x66 + 8007fc6: d118 bne.n 8007ffa <_printf_float+0x1b6> + 8007fc8: 2900 cmp r1, #0 + 8007fca: 6863 ldr r3, [r4, #4] + 8007fcc: dd0b ble.n 8007fe6 <_printf_float+0x1a2> + 8007fce: 6121 str r1, [r4, #16] + 8007fd0: b913 cbnz r3, 8007fd8 <_printf_float+0x194> + 8007fd2: 6822 ldr r2, [r4, #0] + 8007fd4: 07d0 lsls r0, r2, #31 + 8007fd6: d502 bpl.n 8007fde <_printf_float+0x19a> + 8007fd8: 3301 adds r3, #1 + 8007fda: 440b add r3, r1 + 8007fdc: 6123 str r3, [r4, #16] + 8007fde: f04f 0a00 mov.w sl, #0 + 8007fe2: 65a1 str r1, [r4, #88] ; 0x58 + 8007fe4: e7df b.n 8007fa6 <_printf_float+0x162> + 8007fe6: b913 cbnz r3, 8007fee <_printf_float+0x1aa> + 8007fe8: 6822 ldr r2, [r4, #0] + 8007fea: 07d2 lsls r2, r2, #31 + 8007fec: d501 bpl.n 8007ff2 <_printf_float+0x1ae> + 8007fee: 3302 adds r3, #2 + 8007ff0: e7f4 b.n 8007fdc <_printf_float+0x198> + 8007ff2: 2301 movs r3, #1 + 8007ff4: e7f2 b.n 8007fdc <_printf_float+0x198> + 8007ff6: f04f 0967 mov.w r9, #103 ; 0x67 + 8007ffa: 9b0e ldr r3, [sp, #56] ; 0x38 + 8007ffc: 4299 cmp r1, r3 + 8007ffe: db05 blt.n 800800c <_printf_float+0x1c8> + 8008000: 6823 ldr r3, [r4, #0] + 8008002: 6121 str r1, [r4, #16] + 8008004: 07d8 lsls r0, r3, #31 + 8008006: d5ea bpl.n 8007fde <_printf_float+0x19a> + 8008008: 1c4b adds r3, r1, #1 + 800800a: e7e7 b.n 8007fdc <_printf_float+0x198> + 800800c: 2900 cmp r1, #0 + 800800e: bfcc ite gt + 8008010: 2201 movgt r2, #1 + 8008012: f1c1 0202 rsble r2, r1, #2 + 8008016: 4413 add r3, r2 + 8008018: e7e0 b.n 8007fdc <_printf_float+0x198> + 800801a: 6823 ldr r3, [r4, #0] + 800801c: 055a lsls r2, r3, #21 + 800801e: d407 bmi.n 8008030 <_printf_float+0x1ec> + 8008020: 6923 ldr r3, [r4, #16] + 8008022: 4642 mov r2, r8 + 8008024: 4631 mov r1, r6 + 8008026: 4628 mov r0, r5 + 8008028: 47b8 blx r7 + 800802a: 3001 adds r0, #1 + 800802c: d12b bne.n 8008086 <_printf_float+0x242> + 800802e: e764 b.n 8007efa <_printf_float+0xb6> + 8008030: f1b9 0f65 cmp.w r9, #101 ; 0x65 + 8008034: f240 80dd bls.w 80081f2 <_printf_float+0x3ae> + 8008038: e9d4 0112 ldrd r0, r1, [r4, #72] ; 0x48 + 800803c: 2200 movs r2, #0 + 800803e: 2300 movs r3, #0 + 8008040: f7f8 fd1e bl 8000a80 <__aeabi_dcmpeq> + 8008044: 2800 cmp r0, #0 + 8008046: d033 beq.n 80080b0 <_printf_float+0x26c> + 8008048: 2301 movs r3, #1 + 800804a: 4631 mov r1, r6 + 800804c: 4628 mov r0, r5 + 800804e: 4a35 ldr r2, [pc, #212] ; (8008124 <_printf_float+0x2e0>) + 8008050: 47b8 blx r7 + 8008052: 3001 adds r0, #1 + 8008054: f43f af51 beq.w 8007efa <_printf_float+0xb6> + 8008058: e9dd 230d ldrd r2, r3, [sp, #52] ; 0x34 + 800805c: 429a cmp r2, r3 + 800805e: db02 blt.n 8008066 <_printf_float+0x222> + 8008060: 6823 ldr r3, [r4, #0] + 8008062: 07d8 lsls r0, r3, #31 + 8008064: d50f bpl.n 8008086 <_printf_float+0x242> + 8008066: e9dd 2309 ldrd r2, r3, [sp, #36] ; 0x24 + 800806a: 4631 mov r1, r6 + 800806c: 4628 mov r0, r5 + 800806e: 47b8 blx r7 + 8008070: 3001 adds r0, #1 + 8008072: f43f af42 beq.w 8007efa <_printf_float+0xb6> + 8008076: f04f 0800 mov.w r8, #0 + 800807a: f104 091a add.w r9, r4, #26 + 800807e: 9b0e ldr r3, [sp, #56] ; 0x38 + 8008080: 3b01 subs r3, #1 + 8008082: 4543 cmp r3, r8 + 8008084: dc09 bgt.n 800809a <_printf_float+0x256> + 8008086: 6823 ldr r3, [r4, #0] + 8008088: 079b lsls r3, r3, #30 + 800808a: f100 8104 bmi.w 8008296 <_printf_float+0x452> + 800808e: 68e0 ldr r0, [r4, #12] + 8008090: 9b0f ldr r3, [sp, #60] ; 0x3c + 8008092: 4298 cmp r0, r3 + 8008094: bfb8 it lt + 8008096: 4618 movlt r0, r3 + 8008098: e731 b.n 8007efe <_printf_float+0xba> + 800809a: 2301 movs r3, #1 + 800809c: 464a mov r2, r9 + 800809e: 4631 mov r1, r6 + 80080a0: 4628 mov r0, r5 + 80080a2: 47b8 blx r7 + 80080a4: 3001 adds r0, #1 + 80080a6: f43f af28 beq.w 8007efa <_printf_float+0xb6> + 80080aa: f108 0801 add.w r8, r8, #1 + 80080ae: e7e6 b.n 800807e <_printf_float+0x23a> + 80080b0: 9b0d ldr r3, [sp, #52] ; 0x34 + 80080b2: 2b00 cmp r3, #0 + 80080b4: dc38 bgt.n 8008128 <_printf_float+0x2e4> + 80080b6: 2301 movs r3, #1 + 80080b8: 4631 mov r1, r6 + 80080ba: 4628 mov r0, r5 + 80080bc: 4a19 ldr r2, [pc, #100] ; (8008124 <_printf_float+0x2e0>) + 80080be: 47b8 blx r7 + 80080c0: 3001 adds r0, #1 + 80080c2: f43f af1a beq.w 8007efa <_printf_float+0xb6> + 80080c6: e9dd 320d ldrd r3, r2, [sp, #52] ; 0x34 + 80080ca: 4313 orrs r3, r2 + 80080cc: d102 bne.n 80080d4 <_printf_float+0x290> + 80080ce: 6823 ldr r3, [r4, #0] + 80080d0: 07d9 lsls r1, r3, #31 + 80080d2: d5d8 bpl.n 8008086 <_printf_float+0x242> + 80080d4: e9dd 2309 ldrd r2, r3, [sp, #36] ; 0x24 + 80080d8: 4631 mov r1, r6 + 80080da: 4628 mov r0, r5 + 80080dc: 47b8 blx r7 + 80080de: 3001 adds r0, #1 + 80080e0: f43f af0b beq.w 8007efa <_printf_float+0xb6> + 80080e4: f04f 0900 mov.w r9, #0 + 80080e8: f104 0a1a add.w sl, r4, #26 + 80080ec: 9b0d ldr r3, [sp, #52] ; 0x34 + 80080ee: 425b negs r3, r3 + 80080f0: 454b cmp r3, r9 + 80080f2: dc01 bgt.n 80080f8 <_printf_float+0x2b4> + 80080f4: 9b0e ldr r3, [sp, #56] ; 0x38 + 80080f6: e794 b.n 8008022 <_printf_float+0x1de> + 80080f8: 2301 movs r3, #1 + 80080fa: 4652 mov r2, sl + 80080fc: 4631 mov r1, r6 + 80080fe: 4628 mov r0, r5 + 8008100: 47b8 blx r7 + 8008102: 3001 adds r0, #1 + 8008104: f43f aef9 beq.w 8007efa <_printf_float+0xb6> + 8008108: f109 0901 add.w r9, r9, #1 + 800810c: e7ee b.n 80080ec <_printf_float+0x2a8> + 800810e: bf00 nop + 8008110: 7fefffff .word 0x7fefffff + 8008114: 0800b3f8 .word 0x0800b3f8 + 8008118: 0800b3fc .word 0x0800b3fc + 800811c: 0800b400 .word 0x0800b400 + 8008120: 0800b404 .word 0x0800b404 + 8008124: 0800b408 .word 0x0800b408 + 8008128: 9a0e ldr r2, [sp, #56] ; 0x38 + 800812a: 6da3 ldr r3, [r4, #88] ; 0x58 + 800812c: 429a cmp r2, r3 + 800812e: bfa8 it ge + 8008130: 461a movge r2, r3 + 8008132: 2a00 cmp r2, #0 + 8008134: 4691 mov r9, r2 + 8008136: dc37 bgt.n 80081a8 <_printf_float+0x364> + 8008138: f04f 0b00 mov.w fp, #0 + 800813c: ea29 79e9 bic.w r9, r9, r9, asr #31 + 8008140: f104 021a add.w r2, r4, #26 + 8008144: f8d4 a058 ldr.w sl, [r4, #88] ; 0x58 + 8008148: ebaa 0309 sub.w r3, sl, r9 + 800814c: 455b cmp r3, fp + 800814e: dc33 bgt.n 80081b8 <_printf_float+0x374> + 8008150: e9dd 230d ldrd r2, r3, [sp, #52] ; 0x34 + 8008154: 429a cmp r2, r3 + 8008156: db3b blt.n 80081d0 <_printf_float+0x38c> + 8008158: 6823 ldr r3, [r4, #0] + 800815a: 07da lsls r2, r3, #31 + 800815c: d438 bmi.n 80081d0 <_printf_float+0x38c> + 800815e: e9dd 320d ldrd r3, r2, [sp, #52] ; 0x34 + 8008162: eba2 0903 sub.w r9, r2, r3 + 8008166: eba2 020a sub.w r2, r2, sl + 800816a: 4591 cmp r9, r2 + 800816c: bfa8 it ge + 800816e: 4691 movge r9, r2 + 8008170: f1b9 0f00 cmp.w r9, #0 + 8008174: dc34 bgt.n 80081e0 <_printf_float+0x39c> + 8008176: f04f 0800 mov.w r8, #0 + 800817a: ea29 79e9 bic.w r9, r9, r9, asr #31 + 800817e: f104 0a1a add.w sl, r4, #26 + 8008182: e9dd 230d ldrd r2, r3, [sp, #52] ; 0x34 + 8008186: 1a9b subs r3, r3, r2 + 8008188: eba3 0309 sub.w r3, r3, r9 + 800818c: 4543 cmp r3, r8 + 800818e: f77f af7a ble.w 8008086 <_printf_float+0x242> + 8008192: 2301 movs r3, #1 + 8008194: 4652 mov r2, sl + 8008196: 4631 mov r1, r6 + 8008198: 4628 mov r0, r5 + 800819a: 47b8 blx r7 + 800819c: 3001 adds r0, #1 + 800819e: f43f aeac beq.w 8007efa <_printf_float+0xb6> + 80081a2: f108 0801 add.w r8, r8, #1 + 80081a6: e7ec b.n 8008182 <_printf_float+0x33e> + 80081a8: 4613 mov r3, r2 + 80081aa: 4631 mov r1, r6 + 80081ac: 4642 mov r2, r8 + 80081ae: 4628 mov r0, r5 + 80081b0: 47b8 blx r7 + 80081b2: 3001 adds r0, #1 + 80081b4: d1c0 bne.n 8008138 <_printf_float+0x2f4> + 80081b6: e6a0 b.n 8007efa <_printf_float+0xb6> + 80081b8: 2301 movs r3, #1 + 80081ba: 4631 mov r1, r6 + 80081bc: 4628 mov r0, r5 + 80081be: 920b str r2, [sp, #44] ; 0x2c + 80081c0: 47b8 blx r7 + 80081c2: 3001 adds r0, #1 + 80081c4: f43f ae99 beq.w 8007efa <_printf_float+0xb6> + 80081c8: 9a0b ldr r2, [sp, #44] ; 0x2c + 80081ca: f10b 0b01 add.w fp, fp, #1 + 80081ce: e7b9 b.n 8008144 <_printf_float+0x300> + 80081d0: 4631 mov r1, r6 + 80081d2: e9dd 2309 ldrd r2, r3, [sp, #36] ; 0x24 + 80081d6: 4628 mov r0, r5 + 80081d8: 47b8 blx r7 + 80081da: 3001 adds r0, #1 + 80081dc: d1bf bne.n 800815e <_printf_float+0x31a> + 80081de: e68c b.n 8007efa <_printf_float+0xb6> + 80081e0: 464b mov r3, r9 + 80081e2: 4631 mov r1, r6 + 80081e4: 4628 mov r0, r5 + 80081e6: eb08 020a add.w r2, r8, sl + 80081ea: 47b8 blx r7 + 80081ec: 3001 adds r0, #1 + 80081ee: d1c2 bne.n 8008176 <_printf_float+0x332> + 80081f0: e683 b.n 8007efa <_printf_float+0xb6> + 80081f2: 9a0e ldr r2, [sp, #56] ; 0x38 + 80081f4: 2a01 cmp r2, #1 + 80081f6: dc01 bgt.n 80081fc <_printf_float+0x3b8> + 80081f8: 07db lsls r3, r3, #31 + 80081fa: d539 bpl.n 8008270 <_printf_float+0x42c> + 80081fc: 2301 movs r3, #1 + 80081fe: 4642 mov r2, r8 + 8008200: 4631 mov r1, r6 + 8008202: 4628 mov r0, r5 + 8008204: 47b8 blx r7 + 8008206: 3001 adds r0, #1 + 8008208: f43f ae77 beq.w 8007efa <_printf_float+0xb6> + 800820c: e9dd 2309 ldrd r2, r3, [sp, #36] ; 0x24 + 8008210: 4631 mov r1, r6 + 8008212: 4628 mov r0, r5 + 8008214: 47b8 blx r7 + 8008216: 3001 adds r0, #1 + 8008218: f43f ae6f beq.w 8007efa <_printf_float+0xb6> + 800821c: e9d4 0112 ldrd r0, r1, [r4, #72] ; 0x48 + 8008220: 2200 movs r2, #0 + 8008222: 2300 movs r3, #0 + 8008224: f8dd 9038 ldr.w r9, [sp, #56] ; 0x38 + 8008228: f7f8 fc2a bl 8000a80 <__aeabi_dcmpeq> + 800822c: b9d8 cbnz r0, 8008266 <_printf_float+0x422> + 800822e: f109 33ff add.w r3, r9, #4294967295 + 8008232: f108 0201 add.w r2, r8, #1 + 8008236: 4631 mov r1, r6 + 8008238: 4628 mov r0, r5 + 800823a: 47b8 blx r7 + 800823c: 3001 adds r0, #1 + 800823e: d10e bne.n 800825e <_printf_float+0x41a> + 8008240: e65b b.n 8007efa <_printf_float+0xb6> + 8008242: 2301 movs r3, #1 + 8008244: 464a mov r2, r9 + 8008246: 4631 mov r1, r6 + 8008248: 4628 mov r0, r5 + 800824a: 47b8 blx r7 + 800824c: 3001 adds r0, #1 + 800824e: f43f ae54 beq.w 8007efa <_printf_float+0xb6> + 8008252: f108 0801 add.w r8, r8, #1 + 8008256: 9b0e ldr r3, [sp, #56] ; 0x38 + 8008258: 3b01 subs r3, #1 + 800825a: 4543 cmp r3, r8 + 800825c: dcf1 bgt.n 8008242 <_printf_float+0x3fe> + 800825e: 4653 mov r3, sl + 8008260: f104 0250 add.w r2, r4, #80 ; 0x50 + 8008264: e6de b.n 8008024 <_printf_float+0x1e0> + 8008266: f04f 0800 mov.w r8, #0 + 800826a: f104 091a add.w r9, r4, #26 + 800826e: e7f2 b.n 8008256 <_printf_float+0x412> + 8008270: 2301 movs r3, #1 + 8008272: 4642 mov r2, r8 + 8008274: e7df b.n 8008236 <_printf_float+0x3f2> + 8008276: 2301 movs r3, #1 + 8008278: 464a mov r2, r9 + 800827a: 4631 mov r1, r6 + 800827c: 4628 mov r0, r5 + 800827e: 47b8 blx r7 + 8008280: 3001 adds r0, #1 + 8008282: f43f ae3a beq.w 8007efa <_printf_float+0xb6> + 8008286: f108 0801 add.w r8, r8, #1 + 800828a: 68e3 ldr r3, [r4, #12] + 800828c: 990f ldr r1, [sp, #60] ; 0x3c + 800828e: 1a5b subs r3, r3, r1 + 8008290: 4543 cmp r3, r8 + 8008292: dcf0 bgt.n 8008276 <_printf_float+0x432> + 8008294: e6fb b.n 800808e <_printf_float+0x24a> + 8008296: f04f 0800 mov.w r8, #0 + 800829a: f104 0919 add.w r9, r4, #25 + 800829e: e7f4 b.n 800828a <_printf_float+0x446> -08007a44 <_printf_common>: - 8007a44: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} - 8007a48: 4616 mov r6, r2 - 8007a4a: 4699 mov r9, r3 - 8007a4c: 688a ldr r2, [r1, #8] - 8007a4e: 690b ldr r3, [r1, #16] - 8007a50: 4607 mov r7, r0 - 8007a52: 4293 cmp r3, r2 - 8007a54: bfb8 it lt - 8007a56: 4613 movlt r3, r2 - 8007a58: 6033 str r3, [r6, #0] - 8007a5a: f891 2043 ldrb.w r2, [r1, #67] ; 0x43 - 8007a5e: 460c mov r4, r1 - 8007a60: f8dd 8020 ldr.w r8, [sp, #32] - 8007a64: b10a cbz r2, 8007a6a <_printf_common+0x26> - 8007a66: 3301 adds r3, #1 - 8007a68: 6033 str r3, [r6, #0] - 8007a6a: 6823 ldr r3, [r4, #0] - 8007a6c: 0699 lsls r1, r3, #26 - 8007a6e: bf42 ittt mi - 8007a70: 6833 ldrmi r3, [r6, #0] - 8007a72: 3302 addmi r3, #2 - 8007a74: 6033 strmi r3, [r6, #0] - 8007a76: 6825 ldr r5, [r4, #0] - 8007a78: f015 0506 ands.w r5, r5, #6 - 8007a7c: d106 bne.n 8007a8c <_printf_common+0x48> - 8007a7e: f104 0a19 add.w sl, r4, #25 - 8007a82: 68e3 ldr r3, [r4, #12] - 8007a84: 6832 ldr r2, [r6, #0] - 8007a86: 1a9b subs r3, r3, r2 - 8007a88: 42ab cmp r3, r5 - 8007a8a: dc2b bgt.n 8007ae4 <_printf_common+0xa0> - 8007a8c: f894 2043 ldrb.w r2, [r4, #67] ; 0x43 - 8007a90: 1e13 subs r3, r2, #0 - 8007a92: 6822 ldr r2, [r4, #0] - 8007a94: bf18 it ne - 8007a96: 2301 movne r3, #1 - 8007a98: 0692 lsls r2, r2, #26 - 8007a9a: d430 bmi.n 8007afe <_printf_common+0xba> - 8007a9c: 4649 mov r1, r9 - 8007a9e: 4638 mov r0, r7 - 8007aa0: f104 0243 add.w r2, r4, #67 ; 0x43 - 8007aa4: 47c0 blx r8 - 8007aa6: 3001 adds r0, #1 - 8007aa8: d023 beq.n 8007af2 <_printf_common+0xae> - 8007aaa: 6823 ldr r3, [r4, #0] - 8007aac: 6922 ldr r2, [r4, #16] - 8007aae: f003 0306 and.w r3, r3, #6 - 8007ab2: 2b04 cmp r3, #4 - 8007ab4: bf14 ite ne - 8007ab6: 2500 movne r5, #0 - 8007ab8: 6833 ldreq r3, [r6, #0] - 8007aba: f04f 0600 mov.w r6, #0 - 8007abe: bf08 it eq - 8007ac0: 68e5 ldreq r5, [r4, #12] - 8007ac2: f104 041a add.w r4, r4, #26 - 8007ac6: bf08 it eq - 8007ac8: 1aed subeq r5, r5, r3 - 8007aca: f854 3c12 ldr.w r3, [r4, #-18] - 8007ace: bf08 it eq - 8007ad0: ea25 75e5 biceq.w r5, r5, r5, asr #31 - 8007ad4: 4293 cmp r3, r2 - 8007ad6: bfc4 itt gt - 8007ad8: 1a9b subgt r3, r3, r2 - 8007ada: 18ed addgt r5, r5, r3 - 8007adc: 42b5 cmp r5, r6 - 8007ade: d11a bne.n 8007b16 <_printf_common+0xd2> - 8007ae0: 2000 movs r0, #0 - 8007ae2: e008 b.n 8007af6 <_printf_common+0xb2> - 8007ae4: 2301 movs r3, #1 - 8007ae6: 4652 mov r2, sl - 8007ae8: 4649 mov r1, r9 - 8007aea: 4638 mov r0, r7 - 8007aec: 47c0 blx r8 - 8007aee: 3001 adds r0, #1 - 8007af0: d103 bne.n 8007afa <_printf_common+0xb6> - 8007af2: f04f 30ff mov.w r0, #4294967295 - 8007af6: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} - 8007afa: 3501 adds r5, #1 - 8007afc: e7c1 b.n 8007a82 <_printf_common+0x3e> - 8007afe: 2030 movs r0, #48 ; 0x30 - 8007b00: 18e1 adds r1, r4, r3 - 8007b02: f881 0043 strb.w r0, [r1, #67] ; 0x43 - 8007b06: 1c5a adds r2, r3, #1 - 8007b08: f894 1045 ldrb.w r1, [r4, #69] ; 0x45 - 8007b0c: 4422 add r2, r4 - 8007b0e: 3302 adds r3, #2 - 8007b10: f882 1043 strb.w r1, [r2, #67] ; 0x43 - 8007b14: e7c2 b.n 8007a9c <_printf_common+0x58> - 8007b16: 2301 movs r3, #1 - 8007b18: 4622 mov r2, r4 - 8007b1a: 4649 mov r1, r9 - 8007b1c: 4638 mov r0, r7 - 8007b1e: 47c0 blx r8 - 8007b20: 3001 adds r0, #1 - 8007b22: d0e6 beq.n 8007af2 <_printf_common+0xae> - 8007b24: 3601 adds r6, #1 - 8007b26: e7d9 b.n 8007adc <_printf_common+0x98> +080082a0 <_printf_common>: + 80082a0: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} + 80082a4: 4616 mov r6, r2 + 80082a6: 4699 mov r9, r3 + 80082a8: 688a ldr r2, [r1, #8] + 80082aa: 690b ldr r3, [r1, #16] + 80082ac: 4607 mov r7, r0 + 80082ae: 4293 cmp r3, r2 + 80082b0: bfb8 it lt + 80082b2: 4613 movlt r3, r2 + 80082b4: 6033 str r3, [r6, #0] + 80082b6: f891 2043 ldrb.w r2, [r1, #67] ; 0x43 + 80082ba: 460c mov r4, r1 + 80082bc: f8dd 8020 ldr.w r8, [sp, #32] + 80082c0: b10a cbz r2, 80082c6 <_printf_common+0x26> + 80082c2: 3301 adds r3, #1 + 80082c4: 6033 str r3, [r6, #0] + 80082c6: 6823 ldr r3, [r4, #0] + 80082c8: 0699 lsls r1, r3, #26 + 80082ca: bf42 ittt mi + 80082cc: 6833 ldrmi r3, [r6, #0] + 80082ce: 3302 addmi r3, #2 + 80082d0: 6033 strmi r3, [r6, #0] + 80082d2: 6825 ldr r5, [r4, #0] + 80082d4: f015 0506 ands.w r5, r5, #6 + 80082d8: d106 bne.n 80082e8 <_printf_common+0x48> + 80082da: f104 0a19 add.w sl, r4, #25 + 80082de: 68e3 ldr r3, [r4, #12] + 80082e0: 6832 ldr r2, [r6, #0] + 80082e2: 1a9b subs r3, r3, r2 + 80082e4: 42ab cmp r3, r5 + 80082e6: dc2b bgt.n 8008340 <_printf_common+0xa0> + 80082e8: f894 2043 ldrb.w r2, [r4, #67] ; 0x43 + 80082ec: 1e13 subs r3, r2, #0 + 80082ee: 6822 ldr r2, [r4, #0] + 80082f0: bf18 it ne + 80082f2: 2301 movne r3, #1 + 80082f4: 0692 lsls r2, r2, #26 + 80082f6: d430 bmi.n 800835a <_printf_common+0xba> + 80082f8: 4649 mov r1, r9 + 80082fa: 4638 mov r0, r7 + 80082fc: f104 0243 add.w r2, r4, #67 ; 0x43 + 8008300: 47c0 blx r8 + 8008302: 3001 adds r0, #1 + 8008304: d023 beq.n 800834e <_printf_common+0xae> + 8008306: 6823 ldr r3, [r4, #0] + 8008308: 6922 ldr r2, [r4, #16] + 800830a: f003 0306 and.w r3, r3, #6 + 800830e: 2b04 cmp r3, #4 + 8008310: bf14 ite ne + 8008312: 2500 movne r5, #0 + 8008314: 6833 ldreq r3, [r6, #0] + 8008316: f04f 0600 mov.w r6, #0 + 800831a: bf08 it eq + 800831c: 68e5 ldreq r5, [r4, #12] + 800831e: f104 041a add.w r4, r4, #26 + 8008322: bf08 it eq + 8008324: 1aed subeq r5, r5, r3 + 8008326: f854 3c12 ldr.w r3, [r4, #-18] + 800832a: bf08 it eq + 800832c: ea25 75e5 biceq.w r5, r5, r5, asr #31 + 8008330: 4293 cmp r3, r2 + 8008332: bfc4 itt gt + 8008334: 1a9b subgt r3, r3, r2 + 8008336: 18ed addgt r5, r5, r3 + 8008338: 42b5 cmp r5, r6 + 800833a: d11a bne.n 8008372 <_printf_common+0xd2> + 800833c: 2000 movs r0, #0 + 800833e: e008 b.n 8008352 <_printf_common+0xb2> + 8008340: 2301 movs r3, #1 + 8008342: 4652 mov r2, sl + 8008344: 4649 mov r1, r9 + 8008346: 4638 mov r0, r7 + 8008348: 47c0 blx r8 + 800834a: 3001 adds r0, #1 + 800834c: d103 bne.n 8008356 <_printf_common+0xb6> + 800834e: f04f 30ff mov.w r0, #4294967295 + 8008352: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 8008356: 3501 adds r5, #1 + 8008358: e7c1 b.n 80082de <_printf_common+0x3e> + 800835a: 2030 movs r0, #48 ; 0x30 + 800835c: 18e1 adds r1, r4, r3 + 800835e: f881 0043 strb.w r0, [r1, #67] ; 0x43 + 8008362: 1c5a adds r2, r3, #1 + 8008364: f894 1045 ldrb.w r1, [r4, #69] ; 0x45 + 8008368: 4422 add r2, r4 + 800836a: 3302 adds r3, #2 + 800836c: f882 1043 strb.w r1, [r2, #67] ; 0x43 + 8008370: e7c2 b.n 80082f8 <_printf_common+0x58> + 8008372: 2301 movs r3, #1 + 8008374: 4622 mov r2, r4 + 8008376: 4649 mov r1, r9 + 8008378: 4638 mov r0, r7 + 800837a: 47c0 blx r8 + 800837c: 3001 adds r0, #1 + 800837e: d0e6 beq.n 800834e <_printf_common+0xae> + 8008380: 3601 adds r6, #1 + 8008382: e7d9 b.n 8008338 <_printf_common+0x98> -08007b28 <_printf_i>: - 8007b28: e92d 47ff stmdb sp!, {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, lr} - 8007b2c: 7e0f ldrb r7, [r1, #24] - 8007b2e: 4691 mov r9, r2 - 8007b30: 2f78 cmp r7, #120 ; 0x78 - 8007b32: 4680 mov r8, r0 - 8007b34: 460c mov r4, r1 - 8007b36: 469a mov sl, r3 - 8007b38: 9d0c ldr r5, [sp, #48] ; 0x30 - 8007b3a: f101 0243 add.w r2, r1, #67 ; 0x43 - 8007b3e: d807 bhi.n 8007b50 <_printf_i+0x28> - 8007b40: 2f62 cmp r7, #98 ; 0x62 - 8007b42: d80a bhi.n 8007b5a <_printf_i+0x32> - 8007b44: 2f00 cmp r7, #0 - 8007b46: f000 80d5 beq.w 8007cf4 <_printf_i+0x1cc> - 8007b4a: 2f58 cmp r7, #88 ; 0x58 - 8007b4c: f000 80c1 beq.w 8007cd2 <_printf_i+0x1aa> - 8007b50: f104 0542 add.w r5, r4, #66 ; 0x42 - 8007b54: f884 7042 strb.w r7, [r4, #66] ; 0x42 - 8007b58: e03a b.n 8007bd0 <_printf_i+0xa8> - 8007b5a: f1a7 0363 sub.w r3, r7, #99 ; 0x63 - 8007b5e: 2b15 cmp r3, #21 - 8007b60: d8f6 bhi.n 8007b50 <_printf_i+0x28> - 8007b62: a101 add r1, pc, #4 ; (adr r1, 8007b68 <_printf_i+0x40>) - 8007b64: f851 f023 ldr.w pc, [r1, r3, lsl #2] - 8007b68: 08007bc1 .word 0x08007bc1 - 8007b6c: 08007bd5 .word 0x08007bd5 - 8007b70: 08007b51 .word 0x08007b51 - 8007b74: 08007b51 .word 0x08007b51 - 8007b78: 08007b51 .word 0x08007b51 - 8007b7c: 08007b51 .word 0x08007b51 - 8007b80: 08007bd5 .word 0x08007bd5 - 8007b84: 08007b51 .word 0x08007b51 - 8007b88: 08007b51 .word 0x08007b51 - 8007b8c: 08007b51 .word 0x08007b51 - 8007b90: 08007b51 .word 0x08007b51 - 8007b94: 08007cdb .word 0x08007cdb - 8007b98: 08007c01 .word 0x08007c01 - 8007b9c: 08007c95 .word 0x08007c95 - 8007ba0: 08007b51 .word 0x08007b51 - 8007ba4: 08007b51 .word 0x08007b51 - 8007ba8: 08007cfd .word 0x08007cfd - 8007bac: 08007b51 .word 0x08007b51 - 8007bb0: 08007c01 .word 0x08007c01 - 8007bb4: 08007b51 .word 0x08007b51 - 8007bb8: 08007b51 .word 0x08007b51 - 8007bbc: 08007c9d .word 0x08007c9d - 8007bc0: 682b ldr r3, [r5, #0] - 8007bc2: 1d1a adds r2, r3, #4 - 8007bc4: 681b ldr r3, [r3, #0] - 8007bc6: 602a str r2, [r5, #0] - 8007bc8: f104 0542 add.w r5, r4, #66 ; 0x42 - 8007bcc: f884 3042 strb.w r3, [r4, #66] ; 0x42 - 8007bd0: 2301 movs r3, #1 - 8007bd2: e0a0 b.n 8007d16 <_printf_i+0x1ee> - 8007bd4: 6820 ldr r0, [r4, #0] - 8007bd6: 682b ldr r3, [r5, #0] - 8007bd8: 0607 lsls r7, r0, #24 - 8007bda: f103 0104 add.w r1, r3, #4 - 8007bde: 6029 str r1, [r5, #0] - 8007be0: d501 bpl.n 8007be6 <_printf_i+0xbe> - 8007be2: 681e ldr r6, [r3, #0] - 8007be4: e003 b.n 8007bee <_printf_i+0xc6> - 8007be6: 0646 lsls r6, r0, #25 - 8007be8: d5fb bpl.n 8007be2 <_printf_i+0xba> - 8007bea: f9b3 6000 ldrsh.w r6, [r3] - 8007bee: 2e00 cmp r6, #0 - 8007bf0: da03 bge.n 8007bfa <_printf_i+0xd2> - 8007bf2: 232d movs r3, #45 ; 0x2d - 8007bf4: 4276 negs r6, r6 - 8007bf6: f884 3043 strb.w r3, [r4, #67] ; 0x43 - 8007bfa: 230a movs r3, #10 - 8007bfc: 4859 ldr r0, [pc, #356] ; (8007d64 <_printf_i+0x23c>) - 8007bfe: e012 b.n 8007c26 <_printf_i+0xfe> - 8007c00: 682b ldr r3, [r5, #0] - 8007c02: 6820 ldr r0, [r4, #0] - 8007c04: 1d19 adds r1, r3, #4 - 8007c06: 6029 str r1, [r5, #0] - 8007c08: 0605 lsls r5, r0, #24 - 8007c0a: d501 bpl.n 8007c10 <_printf_i+0xe8> - 8007c0c: 681e ldr r6, [r3, #0] - 8007c0e: e002 b.n 8007c16 <_printf_i+0xee> - 8007c10: 0641 lsls r1, r0, #25 - 8007c12: d5fb bpl.n 8007c0c <_printf_i+0xe4> - 8007c14: 881e ldrh r6, [r3, #0] - 8007c16: 2f6f cmp r7, #111 ; 0x6f - 8007c18: bf0c ite eq - 8007c1a: 2308 moveq r3, #8 - 8007c1c: 230a movne r3, #10 - 8007c1e: 4851 ldr r0, [pc, #324] ; (8007d64 <_printf_i+0x23c>) - 8007c20: 2100 movs r1, #0 - 8007c22: f884 1043 strb.w r1, [r4, #67] ; 0x43 - 8007c26: 6865 ldr r5, [r4, #4] - 8007c28: 2d00 cmp r5, #0 - 8007c2a: bfa8 it ge - 8007c2c: 6821 ldrge r1, [r4, #0] - 8007c2e: 60a5 str r5, [r4, #8] - 8007c30: bfa4 itt ge - 8007c32: f021 0104 bicge.w r1, r1, #4 - 8007c36: 6021 strge r1, [r4, #0] - 8007c38: b90e cbnz r6, 8007c3e <_printf_i+0x116> - 8007c3a: 2d00 cmp r5, #0 - 8007c3c: d04b beq.n 8007cd6 <_printf_i+0x1ae> - 8007c3e: 4615 mov r5, r2 - 8007c40: fbb6 f1f3 udiv r1, r6, r3 - 8007c44: fb03 6711 mls r7, r3, r1, r6 - 8007c48: 5dc7 ldrb r7, [r0, r7] - 8007c4a: f805 7d01 strb.w r7, [r5, #-1]! - 8007c4e: 4637 mov r7, r6 - 8007c50: 42bb cmp r3, r7 - 8007c52: 460e mov r6, r1 - 8007c54: d9f4 bls.n 8007c40 <_printf_i+0x118> - 8007c56: 2b08 cmp r3, #8 - 8007c58: d10b bne.n 8007c72 <_printf_i+0x14a> - 8007c5a: 6823 ldr r3, [r4, #0] - 8007c5c: 07de lsls r6, r3, #31 - 8007c5e: d508 bpl.n 8007c72 <_printf_i+0x14a> - 8007c60: 6923 ldr r3, [r4, #16] - 8007c62: 6861 ldr r1, [r4, #4] - 8007c64: 4299 cmp r1, r3 - 8007c66: bfde ittt le - 8007c68: 2330 movle r3, #48 ; 0x30 - 8007c6a: f805 3c01 strble.w r3, [r5, #-1] - 8007c6e: f105 35ff addle.w r5, r5, #4294967295 - 8007c72: 1b52 subs r2, r2, r5 - 8007c74: 6122 str r2, [r4, #16] - 8007c76: 464b mov r3, r9 - 8007c78: 4621 mov r1, r4 - 8007c7a: 4640 mov r0, r8 - 8007c7c: f8cd a000 str.w sl, [sp] - 8007c80: aa03 add r2, sp, #12 - 8007c82: f7ff fedf bl 8007a44 <_printf_common> - 8007c86: 3001 adds r0, #1 - 8007c88: d14a bne.n 8007d20 <_printf_i+0x1f8> - 8007c8a: f04f 30ff mov.w r0, #4294967295 - 8007c8e: b004 add sp, #16 - 8007c90: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} - 8007c94: 6823 ldr r3, [r4, #0] - 8007c96: f043 0320 orr.w r3, r3, #32 - 8007c9a: 6023 str r3, [r4, #0] - 8007c9c: 2778 movs r7, #120 ; 0x78 - 8007c9e: 4832 ldr r0, [pc, #200] ; (8007d68 <_printf_i+0x240>) - 8007ca0: f884 7045 strb.w r7, [r4, #69] ; 0x45 - 8007ca4: 6823 ldr r3, [r4, #0] - 8007ca6: 6829 ldr r1, [r5, #0] - 8007ca8: 061f lsls r7, r3, #24 - 8007caa: f851 6b04 ldr.w r6, [r1], #4 - 8007cae: d402 bmi.n 8007cb6 <_printf_i+0x18e> - 8007cb0: 065f lsls r7, r3, #25 - 8007cb2: bf48 it mi - 8007cb4: b2b6 uxthmi r6, r6 - 8007cb6: 07df lsls r7, r3, #31 - 8007cb8: bf48 it mi - 8007cba: f043 0320 orrmi.w r3, r3, #32 - 8007cbe: 6029 str r1, [r5, #0] - 8007cc0: bf48 it mi - 8007cc2: 6023 strmi r3, [r4, #0] - 8007cc4: b91e cbnz r6, 8007cce <_printf_i+0x1a6> - 8007cc6: 6823 ldr r3, [r4, #0] - 8007cc8: f023 0320 bic.w r3, r3, #32 - 8007ccc: 6023 str r3, [r4, #0] - 8007cce: 2310 movs r3, #16 - 8007cd0: e7a6 b.n 8007c20 <_printf_i+0xf8> - 8007cd2: 4824 ldr r0, [pc, #144] ; (8007d64 <_printf_i+0x23c>) - 8007cd4: e7e4 b.n 8007ca0 <_printf_i+0x178> - 8007cd6: 4615 mov r5, r2 - 8007cd8: e7bd b.n 8007c56 <_printf_i+0x12e> - 8007cda: 682b ldr r3, [r5, #0] - 8007cdc: 6826 ldr r6, [r4, #0] - 8007cde: 1d18 adds r0, r3, #4 - 8007ce0: 6961 ldr r1, [r4, #20] - 8007ce2: 6028 str r0, [r5, #0] - 8007ce4: 0635 lsls r5, r6, #24 - 8007ce6: 681b ldr r3, [r3, #0] - 8007ce8: d501 bpl.n 8007cee <_printf_i+0x1c6> - 8007cea: 6019 str r1, [r3, #0] - 8007cec: e002 b.n 8007cf4 <_printf_i+0x1cc> - 8007cee: 0670 lsls r0, r6, #25 - 8007cf0: d5fb bpl.n 8007cea <_printf_i+0x1c2> - 8007cf2: 8019 strh r1, [r3, #0] - 8007cf4: 2300 movs r3, #0 - 8007cf6: 4615 mov r5, r2 - 8007cf8: 6123 str r3, [r4, #16] - 8007cfa: e7bc b.n 8007c76 <_printf_i+0x14e> - 8007cfc: 682b ldr r3, [r5, #0] - 8007cfe: 2100 movs r1, #0 - 8007d00: 1d1a adds r2, r3, #4 - 8007d02: 602a str r2, [r5, #0] - 8007d04: 681d ldr r5, [r3, #0] - 8007d06: 6862 ldr r2, [r4, #4] - 8007d08: 4628 mov r0, r5 - 8007d0a: f000 fa78 bl 80081fe - 8007d0e: b108 cbz r0, 8007d14 <_printf_i+0x1ec> - 8007d10: 1b40 subs r0, r0, r5 - 8007d12: 6060 str r0, [r4, #4] - 8007d14: 6863 ldr r3, [r4, #4] - 8007d16: 6123 str r3, [r4, #16] - 8007d18: 2300 movs r3, #0 - 8007d1a: f884 3043 strb.w r3, [r4, #67] ; 0x43 - 8007d1e: e7aa b.n 8007c76 <_printf_i+0x14e> - 8007d20: 462a mov r2, r5 - 8007d22: 4649 mov r1, r9 - 8007d24: 4640 mov r0, r8 - 8007d26: 6923 ldr r3, [r4, #16] - 8007d28: 47d0 blx sl - 8007d2a: 3001 adds r0, #1 - 8007d2c: d0ad beq.n 8007c8a <_printf_i+0x162> - 8007d2e: 6823 ldr r3, [r4, #0] - 8007d30: 079b lsls r3, r3, #30 - 8007d32: d413 bmi.n 8007d5c <_printf_i+0x234> - 8007d34: 68e0 ldr r0, [r4, #12] - 8007d36: 9b03 ldr r3, [sp, #12] - 8007d38: 4298 cmp r0, r3 - 8007d3a: bfb8 it lt - 8007d3c: 4618 movlt r0, r3 - 8007d3e: e7a6 b.n 8007c8e <_printf_i+0x166> - 8007d40: 2301 movs r3, #1 - 8007d42: 4632 mov r2, r6 - 8007d44: 4649 mov r1, r9 - 8007d46: 4640 mov r0, r8 - 8007d48: 47d0 blx sl - 8007d4a: 3001 adds r0, #1 - 8007d4c: d09d beq.n 8007c8a <_printf_i+0x162> - 8007d4e: 3501 adds r5, #1 - 8007d50: 68e3 ldr r3, [r4, #12] - 8007d52: 9903 ldr r1, [sp, #12] - 8007d54: 1a5b subs r3, r3, r1 - 8007d56: 42ab cmp r3, r5 - 8007d58: dcf2 bgt.n 8007d40 <_printf_i+0x218> - 8007d5a: e7eb b.n 8007d34 <_printf_i+0x20c> - 8007d5c: 2500 movs r5, #0 - 8007d5e: f104 0619 add.w r6, r4, #25 - 8007d62: e7f5 b.n 8007d50 <_printf_i+0x228> - 8007d64: 0800abba .word 0x0800abba - 8007d68: 0800abcb .word 0x0800abcb +08008384 <_printf_i>: + 8008384: e92d 47ff stmdb sp!, {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, lr} + 8008388: 7e0f ldrb r7, [r1, #24] + 800838a: 4691 mov r9, r2 + 800838c: 2f78 cmp r7, #120 ; 0x78 + 800838e: 4680 mov r8, r0 + 8008390: 460c mov r4, r1 + 8008392: 469a mov sl, r3 + 8008394: 9d0c ldr r5, [sp, #48] ; 0x30 + 8008396: f101 0243 add.w r2, r1, #67 ; 0x43 + 800839a: d807 bhi.n 80083ac <_printf_i+0x28> + 800839c: 2f62 cmp r7, #98 ; 0x62 + 800839e: d80a bhi.n 80083b6 <_printf_i+0x32> + 80083a0: 2f00 cmp r7, #0 + 80083a2: f000 80d5 beq.w 8008550 <_printf_i+0x1cc> + 80083a6: 2f58 cmp r7, #88 ; 0x58 + 80083a8: f000 80c1 beq.w 800852e <_printf_i+0x1aa> + 80083ac: f104 0542 add.w r5, r4, #66 ; 0x42 + 80083b0: f884 7042 strb.w r7, [r4, #66] ; 0x42 + 80083b4: e03a b.n 800842c <_printf_i+0xa8> + 80083b6: f1a7 0363 sub.w r3, r7, #99 ; 0x63 + 80083ba: 2b15 cmp r3, #21 + 80083bc: d8f6 bhi.n 80083ac <_printf_i+0x28> + 80083be: a101 add r1, pc, #4 ; (adr r1, 80083c4 <_printf_i+0x40>) + 80083c0: f851 f023 ldr.w pc, [r1, r3, lsl #2] + 80083c4: 0800841d .word 0x0800841d + 80083c8: 08008431 .word 0x08008431 + 80083cc: 080083ad .word 0x080083ad + 80083d0: 080083ad .word 0x080083ad + 80083d4: 080083ad .word 0x080083ad + 80083d8: 080083ad .word 0x080083ad + 80083dc: 08008431 .word 0x08008431 + 80083e0: 080083ad .word 0x080083ad + 80083e4: 080083ad .word 0x080083ad + 80083e8: 080083ad .word 0x080083ad + 80083ec: 080083ad .word 0x080083ad + 80083f0: 08008537 .word 0x08008537 + 80083f4: 0800845d .word 0x0800845d + 80083f8: 080084f1 .word 0x080084f1 + 80083fc: 080083ad .word 0x080083ad + 8008400: 080083ad .word 0x080083ad + 8008404: 08008559 .word 0x08008559 + 8008408: 080083ad .word 0x080083ad + 800840c: 0800845d .word 0x0800845d + 8008410: 080083ad .word 0x080083ad + 8008414: 080083ad .word 0x080083ad + 8008418: 080084f9 .word 0x080084f9 + 800841c: 682b ldr r3, [r5, #0] + 800841e: 1d1a adds r2, r3, #4 + 8008420: 681b ldr r3, [r3, #0] + 8008422: 602a str r2, [r5, #0] + 8008424: f104 0542 add.w r5, r4, #66 ; 0x42 + 8008428: f884 3042 strb.w r3, [r4, #66] ; 0x42 + 800842c: 2301 movs r3, #1 + 800842e: e0a0 b.n 8008572 <_printf_i+0x1ee> + 8008430: 6820 ldr r0, [r4, #0] + 8008432: 682b ldr r3, [r5, #0] + 8008434: 0607 lsls r7, r0, #24 + 8008436: f103 0104 add.w r1, r3, #4 + 800843a: 6029 str r1, [r5, #0] + 800843c: d501 bpl.n 8008442 <_printf_i+0xbe> + 800843e: 681e ldr r6, [r3, #0] + 8008440: e003 b.n 800844a <_printf_i+0xc6> + 8008442: 0646 lsls r6, r0, #25 + 8008444: d5fb bpl.n 800843e <_printf_i+0xba> + 8008446: f9b3 6000 ldrsh.w r6, [r3] + 800844a: 2e00 cmp r6, #0 + 800844c: da03 bge.n 8008456 <_printf_i+0xd2> + 800844e: 232d movs r3, #45 ; 0x2d + 8008450: 4276 negs r6, r6 + 8008452: f884 3043 strb.w r3, [r4, #67] ; 0x43 + 8008456: 230a movs r3, #10 + 8008458: 4859 ldr r0, [pc, #356] ; (80085c0 <_printf_i+0x23c>) + 800845a: e012 b.n 8008482 <_printf_i+0xfe> + 800845c: 682b ldr r3, [r5, #0] + 800845e: 6820 ldr r0, [r4, #0] + 8008460: 1d19 adds r1, r3, #4 + 8008462: 6029 str r1, [r5, #0] + 8008464: 0605 lsls r5, r0, #24 + 8008466: d501 bpl.n 800846c <_printf_i+0xe8> + 8008468: 681e ldr r6, [r3, #0] + 800846a: e002 b.n 8008472 <_printf_i+0xee> + 800846c: 0641 lsls r1, r0, #25 + 800846e: d5fb bpl.n 8008468 <_printf_i+0xe4> + 8008470: 881e ldrh r6, [r3, #0] + 8008472: 2f6f cmp r7, #111 ; 0x6f + 8008474: bf0c ite eq + 8008476: 2308 moveq r3, #8 + 8008478: 230a movne r3, #10 + 800847a: 4851 ldr r0, [pc, #324] ; (80085c0 <_printf_i+0x23c>) + 800847c: 2100 movs r1, #0 + 800847e: f884 1043 strb.w r1, [r4, #67] ; 0x43 + 8008482: 6865 ldr r5, [r4, #4] + 8008484: 2d00 cmp r5, #0 + 8008486: bfa8 it ge + 8008488: 6821 ldrge r1, [r4, #0] + 800848a: 60a5 str r5, [r4, #8] + 800848c: bfa4 itt ge + 800848e: f021 0104 bicge.w r1, r1, #4 + 8008492: 6021 strge r1, [r4, #0] + 8008494: b90e cbnz r6, 800849a <_printf_i+0x116> + 8008496: 2d00 cmp r5, #0 + 8008498: d04b beq.n 8008532 <_printf_i+0x1ae> + 800849a: 4615 mov r5, r2 + 800849c: fbb6 f1f3 udiv r1, r6, r3 + 80084a0: fb03 6711 mls r7, r3, r1, r6 + 80084a4: 5dc7 ldrb r7, [r0, r7] + 80084a6: f805 7d01 strb.w r7, [r5, #-1]! + 80084aa: 4637 mov r7, r6 + 80084ac: 42bb cmp r3, r7 + 80084ae: 460e mov r6, r1 + 80084b0: d9f4 bls.n 800849c <_printf_i+0x118> + 80084b2: 2b08 cmp r3, #8 + 80084b4: d10b bne.n 80084ce <_printf_i+0x14a> + 80084b6: 6823 ldr r3, [r4, #0] + 80084b8: 07de lsls r6, r3, #31 + 80084ba: d508 bpl.n 80084ce <_printf_i+0x14a> + 80084bc: 6923 ldr r3, [r4, #16] + 80084be: 6861 ldr r1, [r4, #4] + 80084c0: 4299 cmp r1, r3 + 80084c2: bfde ittt le + 80084c4: 2330 movle r3, #48 ; 0x30 + 80084c6: f805 3c01 strble.w r3, [r5, #-1] + 80084ca: f105 35ff addle.w r5, r5, #4294967295 + 80084ce: 1b52 subs r2, r2, r5 + 80084d0: 6122 str r2, [r4, #16] + 80084d2: 464b mov r3, r9 + 80084d4: 4621 mov r1, r4 + 80084d6: 4640 mov r0, r8 + 80084d8: f8cd a000 str.w sl, [sp] + 80084dc: aa03 add r2, sp, #12 + 80084de: f7ff fedf bl 80082a0 <_printf_common> + 80084e2: 3001 adds r0, #1 + 80084e4: d14a bne.n 800857c <_printf_i+0x1f8> + 80084e6: f04f 30ff mov.w r0, #4294967295 + 80084ea: b004 add sp, #16 + 80084ec: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 80084f0: 6823 ldr r3, [r4, #0] + 80084f2: f043 0320 orr.w r3, r3, #32 + 80084f6: 6023 str r3, [r4, #0] + 80084f8: 2778 movs r7, #120 ; 0x78 + 80084fa: 4832 ldr r0, [pc, #200] ; (80085c4 <_printf_i+0x240>) + 80084fc: f884 7045 strb.w r7, [r4, #69] ; 0x45 + 8008500: 6823 ldr r3, [r4, #0] + 8008502: 6829 ldr r1, [r5, #0] + 8008504: 061f lsls r7, r3, #24 + 8008506: f851 6b04 ldr.w r6, [r1], #4 + 800850a: d402 bmi.n 8008512 <_printf_i+0x18e> + 800850c: 065f lsls r7, r3, #25 + 800850e: bf48 it mi + 8008510: b2b6 uxthmi r6, r6 + 8008512: 07df lsls r7, r3, #31 + 8008514: bf48 it mi + 8008516: f043 0320 orrmi.w r3, r3, #32 + 800851a: 6029 str r1, [r5, #0] + 800851c: bf48 it mi + 800851e: 6023 strmi r3, [r4, #0] + 8008520: b91e cbnz r6, 800852a <_printf_i+0x1a6> + 8008522: 6823 ldr r3, [r4, #0] + 8008524: f023 0320 bic.w r3, r3, #32 + 8008528: 6023 str r3, [r4, #0] + 800852a: 2310 movs r3, #16 + 800852c: e7a6 b.n 800847c <_printf_i+0xf8> + 800852e: 4824 ldr r0, [pc, #144] ; (80085c0 <_printf_i+0x23c>) + 8008530: e7e4 b.n 80084fc <_printf_i+0x178> + 8008532: 4615 mov r5, r2 + 8008534: e7bd b.n 80084b2 <_printf_i+0x12e> + 8008536: 682b ldr r3, [r5, #0] + 8008538: 6826 ldr r6, [r4, #0] + 800853a: 1d18 adds r0, r3, #4 + 800853c: 6961 ldr r1, [r4, #20] + 800853e: 6028 str r0, [r5, #0] + 8008540: 0635 lsls r5, r6, #24 + 8008542: 681b ldr r3, [r3, #0] + 8008544: d501 bpl.n 800854a <_printf_i+0x1c6> + 8008546: 6019 str r1, [r3, #0] + 8008548: e002 b.n 8008550 <_printf_i+0x1cc> + 800854a: 0670 lsls r0, r6, #25 + 800854c: d5fb bpl.n 8008546 <_printf_i+0x1c2> + 800854e: 8019 strh r1, [r3, #0] + 8008550: 2300 movs r3, #0 + 8008552: 4615 mov r5, r2 + 8008554: 6123 str r3, [r4, #16] + 8008556: e7bc b.n 80084d2 <_printf_i+0x14e> + 8008558: 682b ldr r3, [r5, #0] + 800855a: 2100 movs r1, #0 + 800855c: 1d1a adds r2, r3, #4 + 800855e: 602a str r2, [r5, #0] + 8008560: 681d ldr r5, [r3, #0] + 8008562: 6862 ldr r2, [r4, #4] + 8008564: 4628 mov r0, r5 + 8008566: f000 fa78 bl 8008a5a + 800856a: b108 cbz r0, 8008570 <_printf_i+0x1ec> + 800856c: 1b40 subs r0, r0, r5 + 800856e: 6060 str r0, [r4, #4] + 8008570: 6863 ldr r3, [r4, #4] + 8008572: 6123 str r3, [r4, #16] + 8008574: 2300 movs r3, #0 + 8008576: f884 3043 strb.w r3, [r4, #67] ; 0x43 + 800857a: e7aa b.n 80084d2 <_printf_i+0x14e> + 800857c: 462a mov r2, r5 + 800857e: 4649 mov r1, r9 + 8008580: 4640 mov r0, r8 + 8008582: 6923 ldr r3, [r4, #16] + 8008584: 47d0 blx sl + 8008586: 3001 adds r0, #1 + 8008588: d0ad beq.n 80084e6 <_printf_i+0x162> + 800858a: 6823 ldr r3, [r4, #0] + 800858c: 079b lsls r3, r3, #30 + 800858e: d413 bmi.n 80085b8 <_printf_i+0x234> + 8008590: 68e0 ldr r0, [r4, #12] + 8008592: 9b03 ldr r3, [sp, #12] + 8008594: 4298 cmp r0, r3 + 8008596: bfb8 it lt + 8008598: 4618 movlt r0, r3 + 800859a: e7a6 b.n 80084ea <_printf_i+0x166> + 800859c: 2301 movs r3, #1 + 800859e: 4632 mov r2, r6 + 80085a0: 4649 mov r1, r9 + 80085a2: 4640 mov r0, r8 + 80085a4: 47d0 blx sl + 80085a6: 3001 adds r0, #1 + 80085a8: d09d beq.n 80084e6 <_printf_i+0x162> + 80085aa: 3501 adds r5, #1 + 80085ac: 68e3 ldr r3, [r4, #12] + 80085ae: 9903 ldr r1, [sp, #12] + 80085b0: 1a5b subs r3, r3, r1 + 80085b2: 42ab cmp r3, r5 + 80085b4: dcf2 bgt.n 800859c <_printf_i+0x218> + 80085b6: e7eb b.n 8008590 <_printf_i+0x20c> + 80085b8: 2500 movs r5, #0 + 80085ba: f104 0619 add.w r6, r4, #25 + 80085be: e7f5 b.n 80085ac <_printf_i+0x228> + 80085c0: 0800b40a .word 0x0800b40a + 80085c4: 0800b41b .word 0x0800b41b -08007d6c : - 8007d6c: 2300 movs r3, #0 - 8007d6e: b510 push {r4, lr} - 8007d70: 4604 mov r4, r0 - 8007d72: e9c0 3300 strd r3, r3, [r0] - 8007d76: e9c0 3304 strd r3, r3, [r0, #16] - 8007d7a: 6083 str r3, [r0, #8] - 8007d7c: 8181 strh r1, [r0, #12] - 8007d7e: 6643 str r3, [r0, #100] ; 0x64 - 8007d80: 81c2 strh r2, [r0, #14] - 8007d82: 6183 str r3, [r0, #24] - 8007d84: 4619 mov r1, r3 - 8007d86: 2208 movs r2, #8 - 8007d88: 305c adds r0, #92 ; 0x5c - 8007d8a: f000 f9a9 bl 80080e0 - 8007d8e: 4b0d ldr r3, [pc, #52] ; (8007dc4 ) - 8007d90: 6224 str r4, [r4, #32] - 8007d92: 6263 str r3, [r4, #36] ; 0x24 - 8007d94: 4b0c ldr r3, [pc, #48] ; (8007dc8 ) - 8007d96: 62a3 str r3, [r4, #40] ; 0x28 - 8007d98: 4b0c ldr r3, [pc, #48] ; (8007dcc ) - 8007d9a: 62e3 str r3, [r4, #44] ; 0x2c - 8007d9c: 4b0c ldr r3, [pc, #48] ; (8007dd0 ) - 8007d9e: 6323 str r3, [r4, #48] ; 0x30 - 8007da0: 4b0c ldr r3, [pc, #48] ; (8007dd4 ) - 8007da2: 429c cmp r4, r3 - 8007da4: d006 beq.n 8007db4 - 8007da6: f103 0268 add.w r2, r3, #104 ; 0x68 - 8007daa: 4294 cmp r4, r2 - 8007dac: d002 beq.n 8007db4 - 8007dae: 33d0 adds r3, #208 ; 0xd0 - 8007db0: 429c cmp r4, r3 - 8007db2: d105 bne.n 8007dc0 - 8007db4: f104 0058 add.w r0, r4, #88 ; 0x58 - 8007db8: e8bd 4010 ldmia.w sp!, {r4, lr} - 8007dbc: f000 ba1c b.w 80081f8 <__retarget_lock_init_recursive> - 8007dc0: bd10 pop {r4, pc} - 8007dc2: bf00 nop - 8007dc4: 08007f31 .word 0x08007f31 - 8007dc8: 08007f53 .word 0x08007f53 - 8007dcc: 08007f8b .word 0x08007f8b - 8007dd0: 08007faf .word 0x08007faf - 8007dd4: 2000251c .word 0x2000251c +080085c8 : + 80085c8: 2300 movs r3, #0 + 80085ca: b510 push {r4, lr} + 80085cc: 4604 mov r4, r0 + 80085ce: e9c0 3300 strd r3, r3, [r0] + 80085d2: e9c0 3304 strd r3, r3, [r0, #16] + 80085d6: 6083 str r3, [r0, #8] + 80085d8: 8181 strh r1, [r0, #12] + 80085da: 6643 str r3, [r0, #100] ; 0x64 + 80085dc: 81c2 strh r2, [r0, #14] + 80085de: 6183 str r3, [r0, #24] + 80085e0: 4619 mov r1, r3 + 80085e2: 2208 movs r2, #8 + 80085e4: 305c adds r0, #92 ; 0x5c + 80085e6: f000 f9a9 bl 800893c + 80085ea: 4b0d ldr r3, [pc, #52] ; (8008620 ) + 80085ec: 6224 str r4, [r4, #32] + 80085ee: 6263 str r3, [r4, #36] ; 0x24 + 80085f0: 4b0c ldr r3, [pc, #48] ; (8008624 ) + 80085f2: 62a3 str r3, [r4, #40] ; 0x28 + 80085f4: 4b0c ldr r3, [pc, #48] ; (8008628 ) + 80085f6: 62e3 str r3, [r4, #44] ; 0x2c + 80085f8: 4b0c ldr r3, [pc, #48] ; (800862c ) + 80085fa: 6323 str r3, [r4, #48] ; 0x30 + 80085fc: 4b0c ldr r3, [pc, #48] ; (8008630 ) + 80085fe: 429c cmp r4, r3 + 8008600: d006 beq.n 8008610 + 8008602: f103 0268 add.w r2, r3, #104 ; 0x68 + 8008606: 4294 cmp r4, r2 + 8008608: d002 beq.n 8008610 + 800860a: 33d0 adds r3, #208 ; 0xd0 + 800860c: 429c cmp r4, r3 + 800860e: d105 bne.n 800861c + 8008610: f104 0058 add.w r0, r4, #88 ; 0x58 + 8008614: e8bd 4010 ldmia.w sp!, {r4, lr} + 8008618: f000 ba1c b.w 8008a54 <__retarget_lock_init_recursive> + 800861c: bd10 pop {r4, pc} + 800861e: bf00 nop + 8008620: 0800878d .word 0x0800878d + 8008624: 080087af .word 0x080087af + 8008628: 080087e7 .word 0x080087e7 + 800862c: 0800880b .word 0x0800880b + 8008630: 20002530 .word 0x20002530 -08007dd8 : - 8007dd8: 4a02 ldr r2, [pc, #8] ; (8007de4 ) - 8007dda: 4903 ldr r1, [pc, #12] ; (8007de8 ) - 8007ddc: 4803 ldr r0, [pc, #12] ; (8007dec ) - 8007dde: f000 b869 b.w 8007eb4 <_fwalk_sglue> - 8007de2: bf00 nop - 8007de4: 2000000c .word 0x2000000c - 8007de8: 08009cb1 .word 0x08009cb1 - 8007dec: 20000018 .word 0x20000018 +08008634 : + 8008634: 4a02 ldr r2, [pc, #8] ; (8008640 ) + 8008636: 4903 ldr r1, [pc, #12] ; (8008644 ) + 8008638: 4803 ldr r0, [pc, #12] ; (8008648 ) + 800863a: f000 b869 b.w 8008710 <_fwalk_sglue> + 800863e: bf00 nop + 8008640: 2000000c .word 0x2000000c + 8008644: 0800a509 .word 0x0800a509 + 8008648: 20000018 .word 0x20000018 -08007df0 : - 8007df0: 6841 ldr r1, [r0, #4] - 8007df2: 4b0c ldr r3, [pc, #48] ; (8007e24 ) - 8007df4: b510 push {r4, lr} - 8007df6: 4299 cmp r1, r3 - 8007df8: 4604 mov r4, r0 - 8007dfa: d001 beq.n 8007e00 - 8007dfc: f001 ff58 bl 8009cb0 <_fflush_r> - 8007e00: 68a1 ldr r1, [r4, #8] - 8007e02: 4b09 ldr r3, [pc, #36] ; (8007e28 ) - 8007e04: 4299 cmp r1, r3 - 8007e06: d002 beq.n 8007e0e - 8007e08: 4620 mov r0, r4 - 8007e0a: f001 ff51 bl 8009cb0 <_fflush_r> - 8007e0e: 68e1 ldr r1, [r4, #12] - 8007e10: 4b06 ldr r3, [pc, #24] ; (8007e2c ) - 8007e12: 4299 cmp r1, r3 - 8007e14: d004 beq.n 8007e20 - 8007e16: 4620 mov r0, r4 - 8007e18: e8bd 4010 ldmia.w sp!, {r4, lr} - 8007e1c: f001 bf48 b.w 8009cb0 <_fflush_r> - 8007e20: bd10 pop {r4, pc} - 8007e22: bf00 nop - 8007e24: 2000251c .word 0x2000251c - 8007e28: 20002584 .word 0x20002584 - 8007e2c: 200025ec .word 0x200025ec +0800864c : + 800864c: 6841 ldr r1, [r0, #4] + 800864e: 4b0c ldr r3, [pc, #48] ; (8008680 ) + 8008650: b510 push {r4, lr} + 8008652: 4299 cmp r1, r3 + 8008654: 4604 mov r4, r0 + 8008656: d001 beq.n 800865c + 8008658: f001 ff56 bl 800a508 <_fflush_r> + 800865c: 68a1 ldr r1, [r4, #8] + 800865e: 4b09 ldr r3, [pc, #36] ; (8008684 ) + 8008660: 4299 cmp r1, r3 + 8008662: d002 beq.n 800866a + 8008664: 4620 mov r0, r4 + 8008666: f001 ff4f bl 800a508 <_fflush_r> + 800866a: 68e1 ldr r1, [r4, #12] + 800866c: 4b06 ldr r3, [pc, #24] ; (8008688 ) + 800866e: 4299 cmp r1, r3 + 8008670: d004 beq.n 800867c + 8008672: 4620 mov r0, r4 + 8008674: e8bd 4010 ldmia.w sp!, {r4, lr} + 8008678: f001 bf46 b.w 800a508 <_fflush_r> + 800867c: bd10 pop {r4, pc} + 800867e: bf00 nop + 8008680: 20002530 .word 0x20002530 + 8008684: 20002598 .word 0x20002598 + 8008688: 20002600 .word 0x20002600 -08007e30 : - 8007e30: b510 push {r4, lr} - 8007e32: 4b0b ldr r3, [pc, #44] ; (8007e60 ) - 8007e34: 4c0b ldr r4, [pc, #44] ; (8007e64 ) - 8007e36: 4a0c ldr r2, [pc, #48] ; (8007e68 ) - 8007e38: 4620 mov r0, r4 - 8007e3a: 601a str r2, [r3, #0] - 8007e3c: 2104 movs r1, #4 - 8007e3e: 2200 movs r2, #0 - 8007e40: f7ff ff94 bl 8007d6c - 8007e44: f104 0068 add.w r0, r4, #104 ; 0x68 - 8007e48: 2201 movs r2, #1 - 8007e4a: 2109 movs r1, #9 - 8007e4c: f7ff ff8e bl 8007d6c - 8007e50: f104 00d0 add.w r0, r4, #208 ; 0xd0 - 8007e54: 2202 movs r2, #2 - 8007e56: e8bd 4010 ldmia.w sp!, {r4, lr} - 8007e5a: 2112 movs r1, #18 - 8007e5c: f7ff bf86 b.w 8007d6c - 8007e60: 20002654 .word 0x20002654 - 8007e64: 2000251c .word 0x2000251c - 8007e68: 08007dd9 .word 0x08007dd9 +0800868c : + 800868c: b510 push {r4, lr} + 800868e: 4b0b ldr r3, [pc, #44] ; (80086bc ) + 8008690: 4c0b ldr r4, [pc, #44] ; (80086c0 ) + 8008692: 4a0c ldr r2, [pc, #48] ; (80086c4 ) + 8008694: 4620 mov r0, r4 + 8008696: 601a str r2, [r3, #0] + 8008698: 2104 movs r1, #4 + 800869a: 2200 movs r2, #0 + 800869c: f7ff ff94 bl 80085c8 + 80086a0: f104 0068 add.w r0, r4, #104 ; 0x68 + 80086a4: 2201 movs r2, #1 + 80086a6: 2109 movs r1, #9 + 80086a8: f7ff ff8e bl 80085c8 + 80086ac: f104 00d0 add.w r0, r4, #208 ; 0xd0 + 80086b0: 2202 movs r2, #2 + 80086b2: e8bd 4010 ldmia.w sp!, {r4, lr} + 80086b6: 2112 movs r1, #18 + 80086b8: f7ff bf86 b.w 80085c8 + 80086bc: 20002668 .word 0x20002668 + 80086c0: 20002530 .word 0x20002530 + 80086c4: 08008635 .word 0x08008635 -08007e6c <__sfp_lock_acquire>: - 8007e6c: 4801 ldr r0, [pc, #4] ; (8007e74 <__sfp_lock_acquire+0x8>) - 8007e6e: f000 b9c4 b.w 80081fa <__retarget_lock_acquire_recursive> - 8007e72: bf00 nop - 8007e74: 2000265d .word 0x2000265d +080086c8 <__sfp_lock_acquire>: + 80086c8: 4801 ldr r0, [pc, #4] ; (80086d0 <__sfp_lock_acquire+0x8>) + 80086ca: f000 b9c4 b.w 8008a56 <__retarget_lock_acquire_recursive> + 80086ce: bf00 nop + 80086d0: 20002671 .word 0x20002671 -08007e78 <__sfp_lock_release>: - 8007e78: 4801 ldr r0, [pc, #4] ; (8007e80 <__sfp_lock_release+0x8>) - 8007e7a: f000 b9bf b.w 80081fc <__retarget_lock_release_recursive> - 8007e7e: bf00 nop - 8007e80: 2000265d .word 0x2000265d +080086d4 <__sfp_lock_release>: + 80086d4: 4801 ldr r0, [pc, #4] ; (80086dc <__sfp_lock_release+0x8>) + 80086d6: f000 b9bf b.w 8008a58 <__retarget_lock_release_recursive> + 80086da: bf00 nop + 80086dc: 20002671 .word 0x20002671 -08007e84 <__sinit>: - 8007e84: b510 push {r4, lr} - 8007e86: 4604 mov r4, r0 - 8007e88: f7ff fff0 bl 8007e6c <__sfp_lock_acquire> - 8007e8c: 6a23 ldr r3, [r4, #32] - 8007e8e: b11b cbz r3, 8007e98 <__sinit+0x14> - 8007e90: e8bd 4010 ldmia.w sp!, {r4, lr} - 8007e94: f7ff bff0 b.w 8007e78 <__sfp_lock_release> - 8007e98: 4b04 ldr r3, [pc, #16] ; (8007eac <__sinit+0x28>) - 8007e9a: 6223 str r3, [r4, #32] - 8007e9c: 4b04 ldr r3, [pc, #16] ; (8007eb0 <__sinit+0x2c>) - 8007e9e: 681b ldr r3, [r3, #0] - 8007ea0: 2b00 cmp r3, #0 - 8007ea2: d1f5 bne.n 8007e90 <__sinit+0xc> - 8007ea4: f7ff ffc4 bl 8007e30 - 8007ea8: e7f2 b.n 8007e90 <__sinit+0xc> - 8007eaa: bf00 nop - 8007eac: 08007df1 .word 0x08007df1 - 8007eb0: 20002654 .word 0x20002654 +080086e0 <__sinit>: + 80086e0: b510 push {r4, lr} + 80086e2: 4604 mov r4, r0 + 80086e4: f7ff fff0 bl 80086c8 <__sfp_lock_acquire> + 80086e8: 6a23 ldr r3, [r4, #32] + 80086ea: b11b cbz r3, 80086f4 <__sinit+0x14> + 80086ec: e8bd 4010 ldmia.w sp!, {r4, lr} + 80086f0: f7ff bff0 b.w 80086d4 <__sfp_lock_release> + 80086f4: 4b04 ldr r3, [pc, #16] ; (8008708 <__sinit+0x28>) + 80086f6: 6223 str r3, [r4, #32] + 80086f8: 4b04 ldr r3, [pc, #16] ; (800870c <__sinit+0x2c>) + 80086fa: 681b ldr r3, [r3, #0] + 80086fc: 2b00 cmp r3, #0 + 80086fe: d1f5 bne.n 80086ec <__sinit+0xc> + 8008700: f7ff ffc4 bl 800868c + 8008704: e7f2 b.n 80086ec <__sinit+0xc> + 8008706: bf00 nop + 8008708: 0800864d .word 0x0800864d + 800870c: 20002668 .word 0x20002668 -08007eb4 <_fwalk_sglue>: - 8007eb4: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} - 8007eb8: 4607 mov r7, r0 - 8007eba: 4688 mov r8, r1 - 8007ebc: 4614 mov r4, r2 - 8007ebe: 2600 movs r6, #0 - 8007ec0: e9d4 9501 ldrd r9, r5, [r4, #4] - 8007ec4: f1b9 0901 subs.w r9, r9, #1 - 8007ec8: d505 bpl.n 8007ed6 <_fwalk_sglue+0x22> - 8007eca: 6824 ldr r4, [r4, #0] - 8007ecc: 2c00 cmp r4, #0 - 8007ece: d1f7 bne.n 8007ec0 <_fwalk_sglue+0xc> - 8007ed0: 4630 mov r0, r6 - 8007ed2: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} - 8007ed6: 89ab ldrh r3, [r5, #12] - 8007ed8: 2b01 cmp r3, #1 - 8007eda: d907 bls.n 8007eec <_fwalk_sglue+0x38> - 8007edc: f9b5 300e ldrsh.w r3, [r5, #14] - 8007ee0: 3301 adds r3, #1 - 8007ee2: d003 beq.n 8007eec <_fwalk_sglue+0x38> - 8007ee4: 4629 mov r1, r5 - 8007ee6: 4638 mov r0, r7 - 8007ee8: 47c0 blx r8 - 8007eea: 4306 orrs r6, r0 - 8007eec: 3568 adds r5, #104 ; 0x68 - 8007eee: e7e9 b.n 8007ec4 <_fwalk_sglue+0x10> +08008710 <_fwalk_sglue>: + 8008710: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} + 8008714: 4607 mov r7, r0 + 8008716: 4688 mov r8, r1 + 8008718: 4614 mov r4, r2 + 800871a: 2600 movs r6, #0 + 800871c: e9d4 9501 ldrd r9, r5, [r4, #4] + 8008720: f1b9 0901 subs.w r9, r9, #1 + 8008724: d505 bpl.n 8008732 <_fwalk_sglue+0x22> + 8008726: 6824 ldr r4, [r4, #0] + 8008728: 2c00 cmp r4, #0 + 800872a: d1f7 bne.n 800871c <_fwalk_sglue+0xc> + 800872c: 4630 mov r0, r6 + 800872e: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + 8008732: 89ab ldrh r3, [r5, #12] + 8008734: 2b01 cmp r3, #1 + 8008736: d907 bls.n 8008748 <_fwalk_sglue+0x38> + 8008738: f9b5 300e ldrsh.w r3, [r5, #14] + 800873c: 3301 adds r3, #1 + 800873e: d003 beq.n 8008748 <_fwalk_sglue+0x38> + 8008740: 4629 mov r1, r5 + 8008742: 4638 mov r0, r7 + 8008744: 47c0 blx r8 + 8008746: 4306 orrs r6, r0 + 8008748: 3568 adds r5, #104 ; 0x68 + 800874a: e7e9 b.n 8008720 <_fwalk_sglue+0x10> -08007ef0 : - 8007ef0: b40e push {r1, r2, r3} - 8007ef2: f06f 4100 mvn.w r1, #2147483648 ; 0x80000000 - 8007ef6: b500 push {lr} - 8007ef8: b09c sub sp, #112 ; 0x70 - 8007efa: ab1d add r3, sp, #116 ; 0x74 - 8007efc: 9002 str r0, [sp, #8] - 8007efe: 9006 str r0, [sp, #24] - 8007f00: 9107 str r1, [sp, #28] - 8007f02: 9104 str r1, [sp, #16] - 8007f04: 4808 ldr r0, [pc, #32] ; (8007f28 ) - 8007f06: 4909 ldr r1, [pc, #36] ; (8007f2c ) - 8007f08: f853 2b04 ldr.w r2, [r3], #4 - 8007f0c: 9105 str r1, [sp, #20] - 8007f0e: 6800 ldr r0, [r0, #0] - 8007f10: a902 add r1, sp, #8 - 8007f12: 9301 str r3, [sp, #4] - 8007f14: f001 fc0a bl 800972c <_svfiprintf_r> - 8007f18: 2200 movs r2, #0 - 8007f1a: 9b02 ldr r3, [sp, #8] - 8007f1c: 701a strb r2, [r3, #0] - 8007f1e: b01c add sp, #112 ; 0x70 - 8007f20: f85d eb04 ldr.w lr, [sp], #4 - 8007f24: b003 add sp, #12 - 8007f26: 4770 bx lr - 8007f28: 20000064 .word 0x20000064 - 8007f2c: ffff0208 .word 0xffff0208 +0800874c : + 800874c: b40e push {r1, r2, r3} + 800874e: f06f 4100 mvn.w r1, #2147483648 ; 0x80000000 + 8008752: b500 push {lr} + 8008754: b09c sub sp, #112 ; 0x70 + 8008756: ab1d add r3, sp, #116 ; 0x74 + 8008758: 9002 str r0, [sp, #8] + 800875a: 9006 str r0, [sp, #24] + 800875c: 9107 str r1, [sp, #28] + 800875e: 9104 str r1, [sp, #16] + 8008760: 4808 ldr r0, [pc, #32] ; (8008784 ) + 8008762: 4909 ldr r1, [pc, #36] ; (8008788 ) + 8008764: f853 2b04 ldr.w r2, [r3], #4 + 8008768: 9105 str r1, [sp, #20] + 800876a: 6800 ldr r0, [r0, #0] + 800876c: a902 add r1, sp, #8 + 800876e: 9301 str r3, [sp, #4] + 8008770: f001 fc08 bl 8009f84 <_svfiprintf_r> + 8008774: 2200 movs r2, #0 + 8008776: 9b02 ldr r3, [sp, #8] + 8008778: 701a strb r2, [r3, #0] + 800877a: b01c add sp, #112 ; 0x70 + 800877c: f85d eb04 ldr.w lr, [sp], #4 + 8008780: b003 add sp, #12 + 8008782: 4770 bx lr + 8008784: 20000064 .word 0x20000064 + 8008788: ffff0208 .word 0xffff0208 -08007f30 <__sread>: - 8007f30: b510 push {r4, lr} - 8007f32: 460c mov r4, r1 - 8007f34: f9b1 100e ldrsh.w r1, [r1, #14] - 8007f38: f000 f900 bl 800813c <_read_r> - 8007f3c: 2800 cmp r0, #0 - 8007f3e: bfab itete ge - 8007f40: 6d63 ldrge r3, [r4, #84] ; 0x54 - 8007f42: 89a3 ldrhlt r3, [r4, #12] - 8007f44: 181b addge r3, r3, r0 - 8007f46: f423 5380 biclt.w r3, r3, #4096 ; 0x1000 - 8007f4a: bfac ite ge - 8007f4c: 6563 strge r3, [r4, #84] ; 0x54 - 8007f4e: 81a3 strhlt r3, [r4, #12] - 8007f50: bd10 pop {r4, pc} +0800878c <__sread>: + 800878c: b510 push {r4, lr} + 800878e: 460c mov r4, r1 + 8008790: f9b1 100e ldrsh.w r1, [r1, #14] + 8008794: f000 f900 bl 8008998 <_read_r> + 8008798: 2800 cmp r0, #0 + 800879a: bfab itete ge + 800879c: 6d63 ldrge r3, [r4, #84] ; 0x54 + 800879e: 89a3 ldrhlt r3, [r4, #12] + 80087a0: 181b addge r3, r3, r0 + 80087a2: f423 5380 biclt.w r3, r3, #4096 ; 0x1000 + 80087a6: bfac ite ge + 80087a8: 6563 strge r3, [r4, #84] ; 0x54 + 80087aa: 81a3 strhlt r3, [r4, #12] + 80087ac: bd10 pop {r4, pc} -08007f52 <__swrite>: - 8007f52: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 8007f56: 461f mov r7, r3 - 8007f58: 898b ldrh r3, [r1, #12] - 8007f5a: 4605 mov r5, r0 - 8007f5c: 05db lsls r3, r3, #23 - 8007f5e: 460c mov r4, r1 - 8007f60: 4616 mov r6, r2 - 8007f62: d505 bpl.n 8007f70 <__swrite+0x1e> - 8007f64: 2302 movs r3, #2 - 8007f66: 2200 movs r2, #0 - 8007f68: f9b1 100e ldrsh.w r1, [r1, #14] - 8007f6c: f000 f8d4 bl 8008118 <_lseek_r> - 8007f70: 89a3 ldrh r3, [r4, #12] - 8007f72: 4632 mov r2, r6 - 8007f74: f423 5380 bic.w r3, r3, #4096 ; 0x1000 - 8007f78: 81a3 strh r3, [r4, #12] - 8007f7a: 4628 mov r0, r5 - 8007f7c: 463b mov r3, r7 - 8007f7e: f9b4 100e ldrsh.w r1, [r4, #14] - 8007f82: e8bd 41f0 ldmia.w sp!, {r4, r5, r6, r7, r8, lr} - 8007f86: f000 b8fb b.w 8008180 <_write_r> +080087ae <__swrite>: + 80087ae: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 80087b2: 461f mov r7, r3 + 80087b4: 898b ldrh r3, [r1, #12] + 80087b6: 4605 mov r5, r0 + 80087b8: 05db lsls r3, r3, #23 + 80087ba: 460c mov r4, r1 + 80087bc: 4616 mov r6, r2 + 80087be: d505 bpl.n 80087cc <__swrite+0x1e> + 80087c0: 2302 movs r3, #2 + 80087c2: 2200 movs r2, #0 + 80087c4: f9b1 100e ldrsh.w r1, [r1, #14] + 80087c8: f000 f8d4 bl 8008974 <_lseek_r> + 80087cc: 89a3 ldrh r3, [r4, #12] + 80087ce: 4632 mov r2, r6 + 80087d0: f423 5380 bic.w r3, r3, #4096 ; 0x1000 + 80087d4: 81a3 strh r3, [r4, #12] + 80087d6: 4628 mov r0, r5 + 80087d8: 463b mov r3, r7 + 80087da: f9b4 100e ldrsh.w r1, [r4, #14] + 80087de: e8bd 41f0 ldmia.w sp!, {r4, r5, r6, r7, r8, lr} + 80087e2: f000 b8fb b.w 80089dc <_write_r> -08007f8a <__sseek>: - 8007f8a: b510 push {r4, lr} - 8007f8c: 460c mov r4, r1 - 8007f8e: f9b1 100e ldrsh.w r1, [r1, #14] - 8007f92: f000 f8c1 bl 8008118 <_lseek_r> - 8007f96: 1c43 adds r3, r0, #1 - 8007f98: 89a3 ldrh r3, [r4, #12] - 8007f9a: bf15 itete ne - 8007f9c: 6560 strne r0, [r4, #84] ; 0x54 - 8007f9e: f423 5380 biceq.w r3, r3, #4096 ; 0x1000 - 8007fa2: f443 5380 orrne.w r3, r3, #4096 ; 0x1000 - 8007fa6: 81a3 strheq r3, [r4, #12] - 8007fa8: bf18 it ne - 8007faa: 81a3 strhne r3, [r4, #12] - 8007fac: bd10 pop {r4, pc} +080087e6 <__sseek>: + 80087e6: b510 push {r4, lr} + 80087e8: 460c mov r4, r1 + 80087ea: f9b1 100e ldrsh.w r1, [r1, #14] + 80087ee: f000 f8c1 bl 8008974 <_lseek_r> + 80087f2: 1c43 adds r3, r0, #1 + 80087f4: 89a3 ldrh r3, [r4, #12] + 80087f6: bf15 itete ne + 80087f8: 6560 strne r0, [r4, #84] ; 0x54 + 80087fa: f423 5380 biceq.w r3, r3, #4096 ; 0x1000 + 80087fe: f443 5380 orrne.w r3, r3, #4096 ; 0x1000 + 8008802: 81a3 strheq r3, [r4, #12] + 8008804: bf18 it ne + 8008806: 81a3 strhne r3, [r4, #12] + 8008808: bd10 pop {r4, pc} -08007fae <__sclose>: - 8007fae: f9b1 100e ldrsh.w r1, [r1, #14] - 8007fb2: f000 b8a1 b.w 80080f8 <_close_r> +0800880a <__sclose>: + 800880a: f9b1 100e ldrsh.w r1, [r1, #14] + 800880e: f000 b8a1 b.w 8008954 <_close_r> -08007fb6 <__swbuf_r>: - 8007fb6: b5f8 push {r3, r4, r5, r6, r7, lr} - 8007fb8: 460e mov r6, r1 - 8007fba: 4614 mov r4, r2 - 8007fbc: 4605 mov r5, r0 - 8007fbe: b118 cbz r0, 8007fc8 <__swbuf_r+0x12> - 8007fc0: 6a03 ldr r3, [r0, #32] - 8007fc2: b90b cbnz r3, 8007fc8 <__swbuf_r+0x12> - 8007fc4: f7ff ff5e bl 8007e84 <__sinit> - 8007fc8: 69a3 ldr r3, [r4, #24] - 8007fca: 60a3 str r3, [r4, #8] - 8007fcc: 89a3 ldrh r3, [r4, #12] - 8007fce: 071a lsls r2, r3, #28 - 8007fd0: d525 bpl.n 800801e <__swbuf_r+0x68> - 8007fd2: 6923 ldr r3, [r4, #16] - 8007fd4: b31b cbz r3, 800801e <__swbuf_r+0x68> - 8007fd6: 6823 ldr r3, [r4, #0] - 8007fd8: 6922 ldr r2, [r4, #16] - 8007fda: b2f6 uxtb r6, r6 - 8007fdc: 1a98 subs r0, r3, r2 - 8007fde: 6963 ldr r3, [r4, #20] - 8007fe0: 4637 mov r7, r6 - 8007fe2: 4283 cmp r3, r0 - 8007fe4: dc04 bgt.n 8007ff0 <__swbuf_r+0x3a> - 8007fe6: 4621 mov r1, r4 - 8007fe8: 4628 mov r0, r5 - 8007fea: f001 fe61 bl 8009cb0 <_fflush_r> - 8007fee: b9e0 cbnz r0, 800802a <__swbuf_r+0x74> - 8007ff0: 68a3 ldr r3, [r4, #8] - 8007ff2: 3b01 subs r3, #1 - 8007ff4: 60a3 str r3, [r4, #8] - 8007ff6: 6823 ldr r3, [r4, #0] - 8007ff8: 1c5a adds r2, r3, #1 - 8007ffa: 6022 str r2, [r4, #0] - 8007ffc: 701e strb r6, [r3, #0] - 8007ffe: 6962 ldr r2, [r4, #20] - 8008000: 1c43 adds r3, r0, #1 - 8008002: 429a cmp r2, r3 - 8008004: d004 beq.n 8008010 <__swbuf_r+0x5a> - 8008006: 89a3 ldrh r3, [r4, #12] - 8008008: 07db lsls r3, r3, #31 - 800800a: d506 bpl.n 800801a <__swbuf_r+0x64> - 800800c: 2e0a cmp r6, #10 - 800800e: d104 bne.n 800801a <__swbuf_r+0x64> - 8008010: 4621 mov r1, r4 - 8008012: 4628 mov r0, r5 - 8008014: f001 fe4c bl 8009cb0 <_fflush_r> - 8008018: b938 cbnz r0, 800802a <__swbuf_r+0x74> - 800801a: 4638 mov r0, r7 - 800801c: bdf8 pop {r3, r4, r5, r6, r7, pc} - 800801e: 4621 mov r1, r4 - 8008020: 4628 mov r0, r5 - 8008022: f000 f805 bl 8008030 <__swsetup_r> - 8008026: 2800 cmp r0, #0 - 8008028: d0d5 beq.n 8007fd6 <__swbuf_r+0x20> - 800802a: f04f 37ff mov.w r7, #4294967295 - 800802e: e7f4 b.n 800801a <__swbuf_r+0x64> +08008812 <__swbuf_r>: + 8008812: b5f8 push {r3, r4, r5, r6, r7, lr} + 8008814: 460e mov r6, r1 + 8008816: 4614 mov r4, r2 + 8008818: 4605 mov r5, r0 + 800881a: b118 cbz r0, 8008824 <__swbuf_r+0x12> + 800881c: 6a03 ldr r3, [r0, #32] + 800881e: b90b cbnz r3, 8008824 <__swbuf_r+0x12> + 8008820: f7ff ff5e bl 80086e0 <__sinit> + 8008824: 69a3 ldr r3, [r4, #24] + 8008826: 60a3 str r3, [r4, #8] + 8008828: 89a3 ldrh r3, [r4, #12] + 800882a: 071a lsls r2, r3, #28 + 800882c: d525 bpl.n 800887a <__swbuf_r+0x68> + 800882e: 6923 ldr r3, [r4, #16] + 8008830: b31b cbz r3, 800887a <__swbuf_r+0x68> + 8008832: 6823 ldr r3, [r4, #0] + 8008834: 6922 ldr r2, [r4, #16] + 8008836: b2f6 uxtb r6, r6 + 8008838: 1a98 subs r0, r3, r2 + 800883a: 6963 ldr r3, [r4, #20] + 800883c: 4637 mov r7, r6 + 800883e: 4283 cmp r3, r0 + 8008840: dc04 bgt.n 800884c <__swbuf_r+0x3a> + 8008842: 4621 mov r1, r4 + 8008844: 4628 mov r0, r5 + 8008846: f001 fe5f bl 800a508 <_fflush_r> + 800884a: b9e0 cbnz r0, 8008886 <__swbuf_r+0x74> + 800884c: 68a3 ldr r3, [r4, #8] + 800884e: 3b01 subs r3, #1 + 8008850: 60a3 str r3, [r4, #8] + 8008852: 6823 ldr r3, [r4, #0] + 8008854: 1c5a adds r2, r3, #1 + 8008856: 6022 str r2, [r4, #0] + 8008858: 701e strb r6, [r3, #0] + 800885a: 6962 ldr r2, [r4, #20] + 800885c: 1c43 adds r3, r0, #1 + 800885e: 429a cmp r2, r3 + 8008860: d004 beq.n 800886c <__swbuf_r+0x5a> + 8008862: 89a3 ldrh r3, [r4, #12] + 8008864: 07db lsls r3, r3, #31 + 8008866: d506 bpl.n 8008876 <__swbuf_r+0x64> + 8008868: 2e0a cmp r6, #10 + 800886a: d104 bne.n 8008876 <__swbuf_r+0x64> + 800886c: 4621 mov r1, r4 + 800886e: 4628 mov r0, r5 + 8008870: f001 fe4a bl 800a508 <_fflush_r> + 8008874: b938 cbnz r0, 8008886 <__swbuf_r+0x74> + 8008876: 4638 mov r0, r7 + 8008878: bdf8 pop {r3, r4, r5, r6, r7, pc} + 800887a: 4621 mov r1, r4 + 800887c: 4628 mov r0, r5 + 800887e: f000 f805 bl 800888c <__swsetup_r> + 8008882: 2800 cmp r0, #0 + 8008884: d0d5 beq.n 8008832 <__swbuf_r+0x20> + 8008886: f04f 37ff mov.w r7, #4294967295 + 800888a: e7f4 b.n 8008876 <__swbuf_r+0x64> -08008030 <__swsetup_r>: - 8008030: b538 push {r3, r4, r5, lr} - 8008032: 4b2a ldr r3, [pc, #168] ; (80080dc <__swsetup_r+0xac>) - 8008034: 4605 mov r5, r0 - 8008036: 6818 ldr r0, [r3, #0] - 8008038: 460c mov r4, r1 - 800803a: b118 cbz r0, 8008044 <__swsetup_r+0x14> - 800803c: 6a03 ldr r3, [r0, #32] - 800803e: b90b cbnz r3, 8008044 <__swsetup_r+0x14> - 8008040: f7ff ff20 bl 8007e84 <__sinit> - 8008044: 89a3 ldrh r3, [r4, #12] - 8008046: f9b4 200c ldrsh.w r2, [r4, #12] - 800804a: 0718 lsls r0, r3, #28 - 800804c: d422 bmi.n 8008094 <__swsetup_r+0x64> - 800804e: 06d9 lsls r1, r3, #27 - 8008050: d407 bmi.n 8008062 <__swsetup_r+0x32> - 8008052: 2309 movs r3, #9 - 8008054: 602b str r3, [r5, #0] - 8008056: f042 0340 orr.w r3, r2, #64 ; 0x40 - 800805a: f04f 30ff mov.w r0, #4294967295 - 800805e: 81a3 strh r3, [r4, #12] - 8008060: e034 b.n 80080cc <__swsetup_r+0x9c> - 8008062: 0758 lsls r0, r3, #29 - 8008064: d512 bpl.n 800808c <__swsetup_r+0x5c> - 8008066: 6b61 ldr r1, [r4, #52] ; 0x34 - 8008068: b141 cbz r1, 800807c <__swsetup_r+0x4c> - 800806a: f104 0344 add.w r3, r4, #68 ; 0x44 - 800806e: 4299 cmp r1, r3 - 8008070: d002 beq.n 8008078 <__swsetup_r+0x48> - 8008072: 4628 mov r0, r5 - 8008074: f000 ff40 bl 8008ef8 <_free_r> - 8008078: 2300 movs r3, #0 - 800807a: 6363 str r3, [r4, #52] ; 0x34 - 800807c: 89a3 ldrh r3, [r4, #12] - 800807e: f023 0324 bic.w r3, r3, #36 ; 0x24 - 8008082: 81a3 strh r3, [r4, #12] - 8008084: 2300 movs r3, #0 - 8008086: 6063 str r3, [r4, #4] - 8008088: 6923 ldr r3, [r4, #16] - 800808a: 6023 str r3, [r4, #0] - 800808c: 89a3 ldrh r3, [r4, #12] - 800808e: f043 0308 orr.w r3, r3, #8 - 8008092: 81a3 strh r3, [r4, #12] - 8008094: 6923 ldr r3, [r4, #16] - 8008096: b94b cbnz r3, 80080ac <__swsetup_r+0x7c> - 8008098: 89a3 ldrh r3, [r4, #12] - 800809a: f403 7320 and.w r3, r3, #640 ; 0x280 - 800809e: f5b3 7f00 cmp.w r3, #512 ; 0x200 - 80080a2: d003 beq.n 80080ac <__swsetup_r+0x7c> - 80080a4: 4621 mov r1, r4 - 80080a6: 4628 mov r0, r5 - 80080a8: f001 fe4f bl 8009d4a <__smakebuf_r> - 80080ac: 89a0 ldrh r0, [r4, #12] - 80080ae: f9b4 200c ldrsh.w r2, [r4, #12] - 80080b2: f010 0301 ands.w r3, r0, #1 - 80080b6: d00a beq.n 80080ce <__swsetup_r+0x9e> - 80080b8: 2300 movs r3, #0 - 80080ba: 60a3 str r3, [r4, #8] - 80080bc: 6963 ldr r3, [r4, #20] - 80080be: 425b negs r3, r3 - 80080c0: 61a3 str r3, [r4, #24] - 80080c2: 6923 ldr r3, [r4, #16] - 80080c4: b943 cbnz r3, 80080d8 <__swsetup_r+0xa8> - 80080c6: f010 0080 ands.w r0, r0, #128 ; 0x80 - 80080ca: d1c4 bne.n 8008056 <__swsetup_r+0x26> - 80080cc: bd38 pop {r3, r4, r5, pc} - 80080ce: 0781 lsls r1, r0, #30 - 80080d0: bf58 it pl - 80080d2: 6963 ldrpl r3, [r4, #20] - 80080d4: 60a3 str r3, [r4, #8] - 80080d6: e7f4 b.n 80080c2 <__swsetup_r+0x92> - 80080d8: 2000 movs r0, #0 - 80080da: e7f7 b.n 80080cc <__swsetup_r+0x9c> - 80080dc: 20000064 .word 0x20000064 +0800888c <__swsetup_r>: + 800888c: b538 push {r3, r4, r5, lr} + 800888e: 4b2a ldr r3, [pc, #168] ; (8008938 <__swsetup_r+0xac>) + 8008890: 4605 mov r5, r0 + 8008892: 6818 ldr r0, [r3, #0] + 8008894: 460c mov r4, r1 + 8008896: b118 cbz r0, 80088a0 <__swsetup_r+0x14> + 8008898: 6a03 ldr r3, [r0, #32] + 800889a: b90b cbnz r3, 80088a0 <__swsetup_r+0x14> + 800889c: f7ff ff20 bl 80086e0 <__sinit> + 80088a0: 89a3 ldrh r3, [r4, #12] + 80088a2: f9b4 200c ldrsh.w r2, [r4, #12] + 80088a6: 0718 lsls r0, r3, #28 + 80088a8: d422 bmi.n 80088f0 <__swsetup_r+0x64> + 80088aa: 06d9 lsls r1, r3, #27 + 80088ac: d407 bmi.n 80088be <__swsetup_r+0x32> + 80088ae: 2309 movs r3, #9 + 80088b0: 602b str r3, [r5, #0] + 80088b2: f042 0340 orr.w r3, r2, #64 ; 0x40 + 80088b6: f04f 30ff mov.w r0, #4294967295 + 80088ba: 81a3 strh r3, [r4, #12] + 80088bc: e034 b.n 8008928 <__swsetup_r+0x9c> + 80088be: 0758 lsls r0, r3, #29 + 80088c0: d512 bpl.n 80088e8 <__swsetup_r+0x5c> + 80088c2: 6b61 ldr r1, [r4, #52] ; 0x34 + 80088c4: b141 cbz r1, 80088d8 <__swsetup_r+0x4c> + 80088c6: f104 0344 add.w r3, r4, #68 ; 0x44 + 80088ca: 4299 cmp r1, r3 + 80088cc: d002 beq.n 80088d4 <__swsetup_r+0x48> + 80088ce: 4628 mov r0, r5 + 80088d0: f000 ff3e bl 8009750 <_free_r> + 80088d4: 2300 movs r3, #0 + 80088d6: 6363 str r3, [r4, #52] ; 0x34 + 80088d8: 89a3 ldrh r3, [r4, #12] + 80088da: f023 0324 bic.w r3, r3, #36 ; 0x24 + 80088de: 81a3 strh r3, [r4, #12] + 80088e0: 2300 movs r3, #0 + 80088e2: 6063 str r3, [r4, #4] + 80088e4: 6923 ldr r3, [r4, #16] + 80088e6: 6023 str r3, [r4, #0] + 80088e8: 89a3 ldrh r3, [r4, #12] + 80088ea: f043 0308 orr.w r3, r3, #8 + 80088ee: 81a3 strh r3, [r4, #12] + 80088f0: 6923 ldr r3, [r4, #16] + 80088f2: b94b cbnz r3, 8008908 <__swsetup_r+0x7c> + 80088f4: 89a3 ldrh r3, [r4, #12] + 80088f6: f403 7320 and.w r3, r3, #640 ; 0x280 + 80088fa: f5b3 7f00 cmp.w r3, #512 ; 0x200 + 80088fe: d003 beq.n 8008908 <__swsetup_r+0x7c> + 8008900: 4621 mov r1, r4 + 8008902: 4628 mov r0, r5 + 8008904: f001 fe4d bl 800a5a2 <__smakebuf_r> + 8008908: 89a0 ldrh r0, [r4, #12] + 800890a: f9b4 200c ldrsh.w r2, [r4, #12] + 800890e: f010 0301 ands.w r3, r0, #1 + 8008912: d00a beq.n 800892a <__swsetup_r+0x9e> + 8008914: 2300 movs r3, #0 + 8008916: 60a3 str r3, [r4, #8] + 8008918: 6963 ldr r3, [r4, #20] + 800891a: 425b negs r3, r3 + 800891c: 61a3 str r3, [r4, #24] + 800891e: 6923 ldr r3, [r4, #16] + 8008920: b943 cbnz r3, 8008934 <__swsetup_r+0xa8> + 8008922: f010 0080 ands.w r0, r0, #128 ; 0x80 + 8008926: d1c4 bne.n 80088b2 <__swsetup_r+0x26> + 8008928: bd38 pop {r3, r4, r5, pc} + 800892a: 0781 lsls r1, r0, #30 + 800892c: bf58 it pl + 800892e: 6963 ldrpl r3, [r4, #20] + 8008930: 60a3 str r3, [r4, #8] + 8008932: e7f4 b.n 800891e <__swsetup_r+0x92> + 8008934: 2000 movs r0, #0 + 8008936: e7f7 b.n 8008928 <__swsetup_r+0x9c> + 8008938: 20000064 .word 0x20000064 -080080e0 : - 80080e0: 4603 mov r3, r0 - 80080e2: 4402 add r2, r0 - 80080e4: 4293 cmp r3, r2 - 80080e6: d100 bne.n 80080ea - 80080e8: 4770 bx lr - 80080ea: f803 1b01 strb.w r1, [r3], #1 - 80080ee: e7f9 b.n 80080e4 +0800893c : + 800893c: 4603 mov r3, r0 + 800893e: 4402 add r2, r0 + 8008940: 4293 cmp r3, r2 + 8008942: d100 bne.n 8008946 + 8008944: 4770 bx lr + 8008946: f803 1b01 strb.w r1, [r3], #1 + 800894a: e7f9 b.n 8008940 -080080f0 <_localeconv_r>: - 80080f0: 4800 ldr r0, [pc, #0] ; (80080f4 <_localeconv_r+0x4>) - 80080f2: 4770 bx lr - 80080f4: 20000158 .word 0x20000158 +0800894c <_localeconv_r>: + 800894c: 4800 ldr r0, [pc, #0] ; (8008950 <_localeconv_r+0x4>) + 800894e: 4770 bx lr + 8008950: 20000158 .word 0x20000158 -080080f8 <_close_r>: - 80080f8: b538 push {r3, r4, r5, lr} - 80080fa: 2300 movs r3, #0 - 80080fc: 4d05 ldr r5, [pc, #20] ; (8008114 <_close_r+0x1c>) - 80080fe: 4604 mov r4, r0 - 8008100: 4608 mov r0, r1 - 8008102: 602b str r3, [r5, #0] - 8008104: f7f9 fd40 bl 8001b88 <_close> - 8008108: 1c43 adds r3, r0, #1 - 800810a: d102 bne.n 8008112 <_close_r+0x1a> - 800810c: 682b ldr r3, [r5, #0] - 800810e: b103 cbz r3, 8008112 <_close_r+0x1a> - 8008110: 6023 str r3, [r4, #0] - 8008112: bd38 pop {r3, r4, r5, pc} - 8008114: 20002658 .word 0x20002658 +08008954 <_close_r>: + 8008954: b538 push {r3, r4, r5, lr} + 8008956: 2300 movs r3, #0 + 8008958: 4d05 ldr r5, [pc, #20] ; (8008970 <_close_r+0x1c>) + 800895a: 4604 mov r4, r0 + 800895c: 4608 mov r0, r1 + 800895e: 602b str r3, [r5, #0] + 8008960: f7f9 f912 bl 8001b88 <_close> + 8008964: 1c43 adds r3, r0, #1 + 8008966: d102 bne.n 800896e <_close_r+0x1a> + 8008968: 682b ldr r3, [r5, #0] + 800896a: b103 cbz r3, 800896e <_close_r+0x1a> + 800896c: 6023 str r3, [r4, #0] + 800896e: bd38 pop {r3, r4, r5, pc} + 8008970: 2000266c .word 0x2000266c -08008118 <_lseek_r>: - 8008118: b538 push {r3, r4, r5, lr} - 800811a: 4604 mov r4, r0 - 800811c: 4608 mov r0, r1 - 800811e: 4611 mov r1, r2 - 8008120: 2200 movs r2, #0 - 8008122: 4d05 ldr r5, [pc, #20] ; (8008138 <_lseek_r+0x20>) - 8008124: 602a str r2, [r5, #0] - 8008126: 461a mov r2, r3 - 8008128: f7f9 fd52 bl 8001bd0 <_lseek> - 800812c: 1c43 adds r3, r0, #1 - 800812e: d102 bne.n 8008136 <_lseek_r+0x1e> - 8008130: 682b ldr r3, [r5, #0] - 8008132: b103 cbz r3, 8008136 <_lseek_r+0x1e> - 8008134: 6023 str r3, [r4, #0] - 8008136: bd38 pop {r3, r4, r5, pc} - 8008138: 20002658 .word 0x20002658 +08008974 <_lseek_r>: + 8008974: b538 push {r3, r4, r5, lr} + 8008976: 4604 mov r4, r0 + 8008978: 4608 mov r0, r1 + 800897a: 4611 mov r1, r2 + 800897c: 2200 movs r2, #0 + 800897e: 4d05 ldr r5, [pc, #20] ; (8008994 <_lseek_r+0x20>) + 8008980: 602a str r2, [r5, #0] + 8008982: 461a mov r2, r3 + 8008984: f7f9 f924 bl 8001bd0 <_lseek> + 8008988: 1c43 adds r3, r0, #1 + 800898a: d102 bne.n 8008992 <_lseek_r+0x1e> + 800898c: 682b ldr r3, [r5, #0] + 800898e: b103 cbz r3, 8008992 <_lseek_r+0x1e> + 8008990: 6023 str r3, [r4, #0] + 8008992: bd38 pop {r3, r4, r5, pc} + 8008994: 2000266c .word 0x2000266c -0800813c <_read_r>: - 800813c: b538 push {r3, r4, r5, lr} - 800813e: 4604 mov r4, r0 - 8008140: 4608 mov r0, r1 - 8008142: 4611 mov r1, r2 - 8008144: 2200 movs r2, #0 - 8008146: 4d05 ldr r5, [pc, #20] ; (800815c <_read_r+0x20>) - 8008148: 602a str r2, [r5, #0] - 800814a: 461a mov r2, r3 - 800814c: f7f9 fcff bl 8001b4e <_read> - 8008150: 1c43 adds r3, r0, #1 - 8008152: d102 bne.n 800815a <_read_r+0x1e> - 8008154: 682b ldr r3, [r5, #0] - 8008156: b103 cbz r3, 800815a <_read_r+0x1e> - 8008158: 6023 str r3, [r4, #0] - 800815a: bd38 pop {r3, r4, r5, pc} - 800815c: 20002658 .word 0x20002658 +08008998 <_read_r>: + 8008998: b538 push {r3, r4, r5, lr} + 800899a: 4604 mov r4, r0 + 800899c: 4608 mov r0, r1 + 800899e: 4611 mov r1, r2 + 80089a0: 2200 movs r2, #0 + 80089a2: 4d05 ldr r5, [pc, #20] ; (80089b8 <_read_r+0x20>) + 80089a4: 602a str r2, [r5, #0] + 80089a6: 461a mov r2, r3 + 80089a8: f7f9 f8d1 bl 8001b4e <_read> + 80089ac: 1c43 adds r3, r0, #1 + 80089ae: d102 bne.n 80089b6 <_read_r+0x1e> + 80089b0: 682b ldr r3, [r5, #0] + 80089b2: b103 cbz r3, 80089b6 <_read_r+0x1e> + 80089b4: 6023 str r3, [r4, #0] + 80089b6: bd38 pop {r3, r4, r5, pc} + 80089b8: 2000266c .word 0x2000266c -08008160 <_sbrk_r>: - 8008160: b538 push {r3, r4, r5, lr} - 8008162: 2300 movs r3, #0 - 8008164: 4d05 ldr r5, [pc, #20] ; (800817c <_sbrk_r+0x1c>) - 8008166: 4604 mov r4, r0 - 8008168: 4608 mov r0, r1 - 800816a: 602b str r3, [r5, #0] - 800816c: f7f9 fd3c bl 8001be8 <_sbrk> - 8008170: 1c43 adds r3, r0, #1 - 8008172: d102 bne.n 800817a <_sbrk_r+0x1a> - 8008174: 682b ldr r3, [r5, #0] - 8008176: b103 cbz r3, 800817a <_sbrk_r+0x1a> - 8008178: 6023 str r3, [r4, #0] - 800817a: bd38 pop {r3, r4, r5, pc} - 800817c: 20002658 .word 0x20002658 +080089bc <_sbrk_r>: + 80089bc: b538 push {r3, r4, r5, lr} + 80089be: 2300 movs r3, #0 + 80089c0: 4d05 ldr r5, [pc, #20] ; (80089d8 <_sbrk_r+0x1c>) + 80089c2: 4604 mov r4, r0 + 80089c4: 4608 mov r0, r1 + 80089c6: 602b str r3, [r5, #0] + 80089c8: f7f9 f90e bl 8001be8 <_sbrk> + 80089cc: 1c43 adds r3, r0, #1 + 80089ce: d102 bne.n 80089d6 <_sbrk_r+0x1a> + 80089d0: 682b ldr r3, [r5, #0] + 80089d2: b103 cbz r3, 80089d6 <_sbrk_r+0x1a> + 80089d4: 6023 str r3, [r4, #0] + 80089d6: bd38 pop {r3, r4, r5, pc} + 80089d8: 2000266c .word 0x2000266c -08008180 <_write_r>: - 8008180: b538 push {r3, r4, r5, lr} - 8008182: 4604 mov r4, r0 - 8008184: 4608 mov r0, r1 - 8008186: 4611 mov r1, r2 - 8008188: 2200 movs r2, #0 - 800818a: 4d05 ldr r5, [pc, #20] ; (80081a0 <_write_r+0x20>) - 800818c: 602a str r2, [r5, #0] - 800818e: 461a mov r2, r3 - 8008190: f7f9 f800 bl 8001194 <_write> - 8008194: 1c43 adds r3, r0, #1 - 8008196: d102 bne.n 800819e <_write_r+0x1e> - 8008198: 682b ldr r3, [r5, #0] - 800819a: b103 cbz r3, 800819e <_write_r+0x1e> - 800819c: 6023 str r3, [r4, #0] - 800819e: bd38 pop {r3, r4, r5, pc} - 80081a0: 20002658 .word 0x20002658 +080089dc <_write_r>: + 80089dc: b538 push {r3, r4, r5, lr} + 80089de: 4604 mov r4, r0 + 80089e0: 4608 mov r0, r1 + 80089e2: 4611 mov r1, r2 + 80089e4: 2200 movs r2, #0 + 80089e6: 4d05 ldr r5, [pc, #20] ; (80089fc <_write_r+0x20>) + 80089e8: 602a str r2, [r5, #0] + 80089ea: 461a mov r2, r3 + 80089ec: f7f8 fbd2 bl 8001194 <_write> + 80089f0: 1c43 adds r3, r0, #1 + 80089f2: d102 bne.n 80089fa <_write_r+0x1e> + 80089f4: 682b ldr r3, [r5, #0] + 80089f6: b103 cbz r3, 80089fa <_write_r+0x1e> + 80089f8: 6023 str r3, [r4, #0] + 80089fa: bd38 pop {r3, r4, r5, pc} + 80089fc: 2000266c .word 0x2000266c -080081a4 <__errno>: - 80081a4: 4b01 ldr r3, [pc, #4] ; (80081ac <__errno+0x8>) - 80081a6: 6818 ldr r0, [r3, #0] - 80081a8: 4770 bx lr - 80081aa: bf00 nop - 80081ac: 20000064 .word 0x20000064 +08008a00 <__errno>: + 8008a00: 4b01 ldr r3, [pc, #4] ; (8008a08 <__errno+0x8>) + 8008a02: 6818 ldr r0, [r3, #0] + 8008a04: 4770 bx lr + 8008a06: bf00 nop + 8008a08: 20000064 .word 0x20000064 -080081b0 <__libc_init_array>: - 80081b0: b570 push {r4, r5, r6, lr} - 80081b2: 2600 movs r6, #0 - 80081b4: 4d0c ldr r5, [pc, #48] ; (80081e8 <__libc_init_array+0x38>) - 80081b6: 4c0d ldr r4, [pc, #52] ; (80081ec <__libc_init_array+0x3c>) - 80081b8: 1b64 subs r4, r4, r5 - 80081ba: 10a4 asrs r4, r4, #2 - 80081bc: 42a6 cmp r6, r4 - 80081be: d109 bne.n 80081d4 <__libc_init_array+0x24> - 80081c0: f001 ff30 bl 800a024 <_init> - 80081c4: 2600 movs r6, #0 - 80081c6: 4d0a ldr r5, [pc, #40] ; (80081f0 <__libc_init_array+0x40>) - 80081c8: 4c0a ldr r4, [pc, #40] ; (80081f4 <__libc_init_array+0x44>) - 80081ca: 1b64 subs r4, r4, r5 - 80081cc: 10a4 asrs r4, r4, #2 - 80081ce: 42a6 cmp r6, r4 - 80081d0: d105 bne.n 80081de <__libc_init_array+0x2e> - 80081d2: bd70 pop {r4, r5, r6, pc} - 80081d4: f855 3b04 ldr.w r3, [r5], #4 - 80081d8: 4798 blx r3 - 80081da: 3601 adds r6, #1 - 80081dc: e7ee b.n 80081bc <__libc_init_array+0xc> - 80081de: f855 3b04 ldr.w r3, [r5], #4 - 80081e2: 4798 blx r3 - 80081e4: 3601 adds r6, #1 - 80081e6: e7f2 b.n 80081ce <__libc_init_array+0x1e> - 80081e8: 0800af1c .word 0x0800af1c - 80081ec: 0800af1c .word 0x0800af1c - 80081f0: 0800af1c .word 0x0800af1c - 80081f4: 0800af20 .word 0x0800af20 +08008a0c <__libc_init_array>: + 8008a0c: b570 push {r4, r5, r6, lr} + 8008a0e: 2600 movs r6, #0 + 8008a10: 4d0c ldr r5, [pc, #48] ; (8008a44 <__libc_init_array+0x38>) + 8008a12: 4c0d ldr r4, [pc, #52] ; (8008a48 <__libc_init_array+0x3c>) + 8008a14: 1b64 subs r4, r4, r5 + 8008a16: 10a4 asrs r4, r4, #2 + 8008a18: 42a6 cmp r6, r4 + 8008a1a: d109 bne.n 8008a30 <__libc_init_array+0x24> + 8008a1c: f001 ff2e bl 800a87c <_init> + 8008a20: 2600 movs r6, #0 + 8008a22: 4d0a ldr r5, [pc, #40] ; (8008a4c <__libc_init_array+0x40>) + 8008a24: 4c0a ldr r4, [pc, #40] ; (8008a50 <__libc_init_array+0x44>) + 8008a26: 1b64 subs r4, r4, r5 + 8008a28: 10a4 asrs r4, r4, #2 + 8008a2a: 42a6 cmp r6, r4 + 8008a2c: d105 bne.n 8008a3a <__libc_init_array+0x2e> + 8008a2e: bd70 pop {r4, r5, r6, pc} + 8008a30: f855 3b04 ldr.w r3, [r5], #4 + 8008a34: 4798 blx r3 + 8008a36: 3601 adds r6, #1 + 8008a38: e7ee b.n 8008a18 <__libc_init_array+0xc> + 8008a3a: f855 3b04 ldr.w r3, [r5], #4 + 8008a3e: 4798 blx r3 + 8008a40: 3601 adds r6, #1 + 8008a42: e7f2 b.n 8008a2a <__libc_init_array+0x1e> + 8008a44: 0800b76c .word 0x0800b76c + 8008a48: 0800b76c .word 0x0800b76c + 8008a4c: 0800b76c .word 0x0800b76c + 8008a50: 0800b770 .word 0x0800b770 -080081f8 <__retarget_lock_init_recursive>: - 80081f8: 4770 bx lr +08008a54 <__retarget_lock_init_recursive>: + 8008a54: 4770 bx lr -080081fa <__retarget_lock_acquire_recursive>: - 80081fa: 4770 bx lr +08008a56 <__retarget_lock_acquire_recursive>: + 8008a56: 4770 bx lr -080081fc <__retarget_lock_release_recursive>: - 80081fc: 4770 bx lr +08008a58 <__retarget_lock_release_recursive>: + 8008a58: 4770 bx lr -080081fe : - 80081fe: 4603 mov r3, r0 - 8008200: b510 push {r4, lr} - 8008202: b2c9 uxtb r1, r1 - 8008204: 4402 add r2, r0 - 8008206: 4293 cmp r3, r2 - 8008208: 4618 mov r0, r3 - 800820a: d101 bne.n 8008210 - 800820c: 2000 movs r0, #0 - 800820e: e003 b.n 8008218 - 8008210: 7804 ldrb r4, [r0, #0] - 8008212: 3301 adds r3, #1 - 8008214: 428c cmp r4, r1 - 8008216: d1f6 bne.n 8008206 - 8008218: bd10 pop {r4, pc} +08008a5a : + 8008a5a: 4603 mov r3, r0 + 8008a5c: b510 push {r4, lr} + 8008a5e: b2c9 uxtb r1, r1 + 8008a60: 4402 add r2, r0 + 8008a62: 4293 cmp r3, r2 + 8008a64: 4618 mov r0, r3 + 8008a66: d101 bne.n 8008a6c + 8008a68: 2000 movs r0, #0 + 8008a6a: e003 b.n 8008a74 + 8008a6c: 7804 ldrb r4, [r0, #0] + 8008a6e: 3301 adds r3, #1 + 8008a70: 428c cmp r4, r1 + 8008a72: d1f6 bne.n 8008a62 + 8008a74: bd10 pop {r4, pc} -0800821a : - 800821a: e92d 4ff7 stmdb sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, sl, fp, lr} - 800821e: 6903 ldr r3, [r0, #16] - 8008220: 690c ldr r4, [r1, #16] - 8008222: 4607 mov r7, r0 - 8008224: 42a3 cmp r3, r4 - 8008226: db7f blt.n 8008328 - 8008228: 3c01 subs r4, #1 - 800822a: f100 0514 add.w r5, r0, #20 - 800822e: f101 0814 add.w r8, r1, #20 - 8008232: eb05 0384 add.w r3, r5, r4, lsl #2 - 8008236: 9301 str r3, [sp, #4] - 8008238: f858 3024 ldr.w r3, [r8, r4, lsl #2] - 800823c: f855 2024 ldr.w r2, [r5, r4, lsl #2] - 8008240: 3301 adds r3, #1 - 8008242: 429a cmp r2, r3 - 8008244: fbb2 f6f3 udiv r6, r2, r3 - 8008248: ea4f 0b84 mov.w fp, r4, lsl #2 - 800824c: eb08 0984 add.w r9, r8, r4, lsl #2 - 8008250: d331 bcc.n 80082b6 - 8008252: f04f 0e00 mov.w lr, #0 - 8008256: 4640 mov r0, r8 - 8008258: 46ac mov ip, r5 - 800825a: 46f2 mov sl, lr - 800825c: f850 2b04 ldr.w r2, [r0], #4 - 8008260: b293 uxth r3, r2 - 8008262: fb06 e303 mla r3, r6, r3, lr - 8008266: ea4f 4e12 mov.w lr, r2, lsr #16 - 800826a: 0c1a lsrs r2, r3, #16 - 800826c: b29b uxth r3, r3 - 800826e: fb06 220e mla r2, r6, lr, r2 - 8008272: ebaa 0303 sub.w r3, sl, r3 - 8008276: f8dc a000 ldr.w sl, [ip] - 800827a: ea4f 4e12 mov.w lr, r2, lsr #16 - 800827e: fa1f fa8a uxth.w sl, sl - 8008282: 4453 add r3, sl - 8008284: f8dc a000 ldr.w sl, [ip] - 8008288: b292 uxth r2, r2 - 800828a: ebc2 421a rsb r2, r2, sl, lsr #16 - 800828e: eb02 4223 add.w r2, r2, r3, asr #16 - 8008292: b29b uxth r3, r3 - 8008294: ea43 4302 orr.w r3, r3, r2, lsl #16 - 8008298: 4581 cmp r9, r0 - 800829a: ea4f 4a22 mov.w sl, r2, asr #16 - 800829e: f84c 3b04 str.w r3, [ip], #4 - 80082a2: d2db bcs.n 800825c - 80082a4: f855 300b ldr.w r3, [r5, fp] - 80082a8: b92b cbnz r3, 80082b6 - 80082aa: 9b01 ldr r3, [sp, #4] - 80082ac: 3b04 subs r3, #4 - 80082ae: 429d cmp r5, r3 - 80082b0: 461a mov r2, r3 - 80082b2: d32d bcc.n 8008310 - 80082b4: 613c str r4, [r7, #16] - 80082b6: 4638 mov r0, r7 - 80082b8: f001 f8e0 bl 800947c <__mcmp> - 80082bc: 2800 cmp r0, #0 - 80082be: db23 blt.n 8008308 - 80082c0: 4629 mov r1, r5 - 80082c2: 2000 movs r0, #0 - 80082c4: 3601 adds r6, #1 - 80082c6: f858 2b04 ldr.w r2, [r8], #4 - 80082ca: f8d1 c000 ldr.w ip, [r1] - 80082ce: b293 uxth r3, r2 - 80082d0: 1ac3 subs r3, r0, r3 - 80082d2: 0c12 lsrs r2, r2, #16 - 80082d4: fa1f f08c uxth.w r0, ip - 80082d8: 4403 add r3, r0 - 80082da: ebc2 421c rsb r2, r2, ip, lsr #16 - 80082de: eb02 4223 add.w r2, r2, r3, asr #16 - 80082e2: b29b uxth r3, r3 - 80082e4: ea43 4302 orr.w r3, r3, r2, lsl #16 - 80082e8: 45c1 cmp r9, r8 - 80082ea: ea4f 4022 mov.w r0, r2, asr #16 - 80082ee: f841 3b04 str.w r3, [r1], #4 - 80082f2: d2e8 bcs.n 80082c6 - 80082f4: f855 2024 ldr.w r2, [r5, r4, lsl #2] - 80082f8: eb05 0384 add.w r3, r5, r4, lsl #2 - 80082fc: b922 cbnz r2, 8008308 - 80082fe: 3b04 subs r3, #4 - 8008300: 429d cmp r5, r3 - 8008302: 461a mov r2, r3 - 8008304: d30a bcc.n 800831c - 8008306: 613c str r4, [r7, #16] - 8008308: 4630 mov r0, r6 - 800830a: b003 add sp, #12 - 800830c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} - 8008310: 6812 ldr r2, [r2, #0] - 8008312: 3b04 subs r3, #4 - 8008314: 2a00 cmp r2, #0 - 8008316: d1cd bne.n 80082b4 - 8008318: 3c01 subs r4, #1 - 800831a: e7c8 b.n 80082ae - 800831c: 6812 ldr r2, [r2, #0] - 800831e: 3b04 subs r3, #4 - 8008320: 2a00 cmp r2, #0 - 8008322: d1f0 bne.n 8008306 - 8008324: 3c01 subs r4, #1 - 8008326: e7eb b.n 8008300 - 8008328: 2000 movs r0, #0 - 800832a: e7ee b.n 800830a - 800832c: 0000 movs r0, r0 +08008a76 : + 8008a76: e92d 4ff7 stmdb sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, sl, fp, lr} + 8008a7a: 6903 ldr r3, [r0, #16] + 8008a7c: 690c ldr r4, [r1, #16] + 8008a7e: 4607 mov r7, r0 + 8008a80: 42a3 cmp r3, r4 + 8008a82: db7f blt.n 8008b84 + 8008a84: 3c01 subs r4, #1 + 8008a86: f100 0514 add.w r5, r0, #20 + 8008a8a: f101 0814 add.w r8, r1, #20 + 8008a8e: eb05 0384 add.w r3, r5, r4, lsl #2 + 8008a92: 9301 str r3, [sp, #4] + 8008a94: f858 3024 ldr.w r3, [r8, r4, lsl #2] + 8008a98: f855 2024 ldr.w r2, [r5, r4, lsl #2] + 8008a9c: 3301 adds r3, #1 + 8008a9e: 429a cmp r2, r3 + 8008aa0: fbb2 f6f3 udiv r6, r2, r3 + 8008aa4: ea4f 0b84 mov.w fp, r4, lsl #2 + 8008aa8: eb08 0984 add.w r9, r8, r4, lsl #2 + 8008aac: d331 bcc.n 8008b12 + 8008aae: f04f 0e00 mov.w lr, #0 + 8008ab2: 4640 mov r0, r8 + 8008ab4: 46ac mov ip, r5 + 8008ab6: 46f2 mov sl, lr + 8008ab8: f850 2b04 ldr.w r2, [r0], #4 + 8008abc: b293 uxth r3, r2 + 8008abe: fb06 e303 mla r3, r6, r3, lr + 8008ac2: ea4f 4e12 mov.w lr, r2, lsr #16 + 8008ac6: 0c1a lsrs r2, r3, #16 + 8008ac8: b29b uxth r3, r3 + 8008aca: fb06 220e mla r2, r6, lr, r2 + 8008ace: ebaa 0303 sub.w r3, sl, r3 + 8008ad2: f8dc a000 ldr.w sl, [ip] + 8008ad6: ea4f 4e12 mov.w lr, r2, lsr #16 + 8008ada: fa1f fa8a uxth.w sl, sl + 8008ade: 4453 add r3, sl + 8008ae0: f8dc a000 ldr.w sl, [ip] + 8008ae4: b292 uxth r2, r2 + 8008ae6: ebc2 421a rsb r2, r2, sl, lsr #16 + 8008aea: eb02 4223 add.w r2, r2, r3, asr #16 + 8008aee: b29b uxth r3, r3 + 8008af0: ea43 4302 orr.w r3, r3, r2, lsl #16 + 8008af4: 4581 cmp r9, r0 + 8008af6: ea4f 4a22 mov.w sl, r2, asr #16 + 8008afa: f84c 3b04 str.w r3, [ip], #4 + 8008afe: d2db bcs.n 8008ab8 + 8008b00: f855 300b ldr.w r3, [r5, fp] + 8008b04: b92b cbnz r3, 8008b12 + 8008b06: 9b01 ldr r3, [sp, #4] + 8008b08: 3b04 subs r3, #4 + 8008b0a: 429d cmp r5, r3 + 8008b0c: 461a mov r2, r3 + 8008b0e: d32d bcc.n 8008b6c + 8008b10: 613c str r4, [r7, #16] + 8008b12: 4638 mov r0, r7 + 8008b14: f001 f8de bl 8009cd4 <__mcmp> + 8008b18: 2800 cmp r0, #0 + 8008b1a: db23 blt.n 8008b64 + 8008b1c: 4629 mov r1, r5 + 8008b1e: 2000 movs r0, #0 + 8008b20: 3601 adds r6, #1 + 8008b22: f858 2b04 ldr.w r2, [r8], #4 + 8008b26: f8d1 c000 ldr.w ip, [r1] + 8008b2a: b293 uxth r3, r2 + 8008b2c: 1ac3 subs r3, r0, r3 + 8008b2e: 0c12 lsrs r2, r2, #16 + 8008b30: fa1f f08c uxth.w r0, ip + 8008b34: 4403 add r3, r0 + 8008b36: ebc2 421c rsb r2, r2, ip, lsr #16 + 8008b3a: eb02 4223 add.w r2, r2, r3, asr #16 + 8008b3e: b29b uxth r3, r3 + 8008b40: ea43 4302 orr.w r3, r3, r2, lsl #16 + 8008b44: 45c1 cmp r9, r8 + 8008b46: ea4f 4022 mov.w r0, r2, asr #16 + 8008b4a: f841 3b04 str.w r3, [r1], #4 + 8008b4e: d2e8 bcs.n 8008b22 + 8008b50: f855 2024 ldr.w r2, [r5, r4, lsl #2] + 8008b54: eb05 0384 add.w r3, r5, r4, lsl #2 + 8008b58: b922 cbnz r2, 8008b64 + 8008b5a: 3b04 subs r3, #4 + 8008b5c: 429d cmp r5, r3 + 8008b5e: 461a mov r2, r3 + 8008b60: d30a bcc.n 8008b78 + 8008b62: 613c str r4, [r7, #16] + 8008b64: 4630 mov r0, r6 + 8008b66: b003 add sp, #12 + 8008b68: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 8008b6c: 6812 ldr r2, [r2, #0] + 8008b6e: 3b04 subs r3, #4 + 8008b70: 2a00 cmp r2, #0 + 8008b72: d1cd bne.n 8008b10 + 8008b74: 3c01 subs r4, #1 + 8008b76: e7c8 b.n 8008b0a + 8008b78: 6812 ldr r2, [r2, #0] + 8008b7a: 3b04 subs r3, #4 + 8008b7c: 2a00 cmp r2, #0 + 8008b7e: d1f0 bne.n 8008b62 + 8008b80: 3c01 subs r4, #1 + 8008b82: e7eb b.n 8008b5c + 8008b84: 2000 movs r0, #0 + 8008b86: e7ee b.n 8008b66 + +08008b88 <_dtoa_r>: + 8008b88: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 8008b8c: 4616 mov r6, r2 + 8008b8e: 461f mov r7, r3 + 8008b90: 69c4 ldr r4, [r0, #28] + 8008b92: b099 sub sp, #100 ; 0x64 + 8008b94: 4605 mov r5, r0 + 8008b96: e9cd 6704 strd r6, r7, [sp, #16] + 8008b9a: f8dd 8094 ldr.w r8, [sp, #148] ; 0x94 + 8008b9e: b974 cbnz r4, 8008bbe <_dtoa_r+0x36> + 8008ba0: 2010 movs r0, #16 + 8008ba2: f7fe fff7 bl 8007b94 + 8008ba6: 4602 mov r2, r0 + 8008ba8: 61e8 str r0, [r5, #28] + 8008baa: b920 cbnz r0, 8008bb6 <_dtoa_r+0x2e> + 8008bac: 21ef movs r1, #239 ; 0xef + 8008bae: 4bac ldr r3, [pc, #688] ; (8008e60 <_dtoa_r+0x2d8>) + 8008bb0: 48ac ldr r0, [pc, #688] ; (8008e64 <_dtoa_r+0x2dc>) + 8008bb2: f001 fd7d bl 800a6b0 <__assert_func> + 8008bb6: e9c0 4401 strd r4, r4, [r0, #4] + 8008bba: 6004 str r4, [r0, #0] + 8008bbc: 60c4 str r4, [r0, #12] + 8008bbe: 69eb ldr r3, [r5, #28] + 8008bc0: 6819 ldr r1, [r3, #0] + 8008bc2: b151 cbz r1, 8008bda <_dtoa_r+0x52> + 8008bc4: 685a ldr r2, [r3, #4] + 8008bc6: 2301 movs r3, #1 + 8008bc8: 4093 lsls r3, r2 + 8008bca: 604a str r2, [r1, #4] + 8008bcc: 608b str r3, [r1, #8] + 8008bce: 4628 mov r0, r5 + 8008bd0: f000 fe46 bl 8009860 <_Bfree> + 8008bd4: 2200 movs r2, #0 + 8008bd6: 69eb ldr r3, [r5, #28] + 8008bd8: 601a str r2, [r3, #0] + 8008bda: 1e3b subs r3, r7, #0 + 8008bdc: bfaf iteee ge + 8008bde: 2300 movge r3, #0 + 8008be0: 2201 movlt r2, #1 + 8008be2: f023 4300 biclt.w r3, r3, #2147483648 ; 0x80000000 + 8008be6: 9305 strlt r3, [sp, #20] + 8008be8: bfa8 it ge + 8008bea: f8c8 3000 strge.w r3, [r8] + 8008bee: f8dd 9014 ldr.w r9, [sp, #20] + 8008bf2: 4b9d ldr r3, [pc, #628] ; (8008e68 <_dtoa_r+0x2e0>) + 8008bf4: bfb8 it lt + 8008bf6: f8c8 2000 strlt.w r2, [r8] + 8008bfa: ea33 0309 bics.w r3, r3, r9 + 8008bfe: d119 bne.n 8008c34 <_dtoa_r+0xac> + 8008c00: f242 730f movw r3, #9999 ; 0x270f + 8008c04: 9a24 ldr r2, [sp, #144] ; 0x90 + 8008c06: 6013 str r3, [r2, #0] + 8008c08: f3c9 0313 ubfx r3, r9, #0, #20 + 8008c0c: 4333 orrs r3, r6 + 8008c0e: f000 8589 beq.w 8009724 <_dtoa_r+0xb9c> + 8008c12: 9b26 ldr r3, [sp, #152] ; 0x98 + 8008c14: b953 cbnz r3, 8008c2c <_dtoa_r+0xa4> + 8008c16: 4b95 ldr r3, [pc, #596] ; (8008e6c <_dtoa_r+0x2e4>) + 8008c18: e023 b.n 8008c62 <_dtoa_r+0xda> + 8008c1a: 4b95 ldr r3, [pc, #596] ; (8008e70 <_dtoa_r+0x2e8>) + 8008c1c: 9303 str r3, [sp, #12] + 8008c1e: 3308 adds r3, #8 + 8008c20: 9a26 ldr r2, [sp, #152] ; 0x98 + 8008c22: 6013 str r3, [r2, #0] + 8008c24: 9803 ldr r0, [sp, #12] + 8008c26: b019 add sp, #100 ; 0x64 + 8008c28: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 8008c2c: 4b8f ldr r3, [pc, #572] ; (8008e6c <_dtoa_r+0x2e4>) + 8008c2e: 9303 str r3, [sp, #12] + 8008c30: 3303 adds r3, #3 + 8008c32: e7f5 b.n 8008c20 <_dtoa_r+0x98> + 8008c34: e9dd 3404 ldrd r3, r4, [sp, #16] + 8008c38: e9cd 340c strd r3, r4, [sp, #48] ; 0x30 + 8008c3c: e9dd 010c ldrd r0, r1, [sp, #48] ; 0x30 + 8008c40: 2200 movs r2, #0 + 8008c42: 2300 movs r3, #0 + 8008c44: f7f7 ff1c bl 8000a80 <__aeabi_dcmpeq> + 8008c48: 4680 mov r8, r0 + 8008c4a: b160 cbz r0, 8008c66 <_dtoa_r+0xde> + 8008c4c: 2301 movs r3, #1 + 8008c4e: 9a24 ldr r2, [sp, #144] ; 0x90 + 8008c50: 6013 str r3, [r2, #0] + 8008c52: 9b26 ldr r3, [sp, #152] ; 0x98 + 8008c54: 2b00 cmp r3, #0 + 8008c56: f000 8562 beq.w 800971e <_dtoa_r+0xb96> + 8008c5a: 4b86 ldr r3, [pc, #536] ; (8008e74 <_dtoa_r+0x2ec>) + 8008c5c: 9a26 ldr r2, [sp, #152] ; 0x98 + 8008c5e: 6013 str r3, [r2, #0] + 8008c60: 3b01 subs r3, #1 + 8008c62: 9303 str r3, [sp, #12] + 8008c64: e7de b.n 8008c24 <_dtoa_r+0x9c> + 8008c66: ab16 add r3, sp, #88 ; 0x58 + 8008c68: 9301 str r3, [sp, #4] + 8008c6a: ab17 add r3, sp, #92 ; 0x5c + 8008c6c: 9300 str r3, [sp, #0] + 8008c6e: 4628 mov r0, r5 + 8008c70: e9dd 230c ldrd r2, r3, [sp, #48] ; 0x30 + 8008c74: f001 f8d6 bl 8009e24 <__d2b> + 8008c78: f3c9 540a ubfx r4, r9, #20, #11 + 8008c7c: 4682 mov sl, r0 + 8008c7e: 2c00 cmp r4, #0 + 8008c80: d07e beq.n 8008d80 <_dtoa_r+0x1f8> + 8008c82: e9dd 010c ldrd r0, r1, [sp, #48] ; 0x30 + 8008c86: 9b0d ldr r3, [sp, #52] ; 0x34 + 8008c88: f2a4 34ff subw r4, r4, #1023 ; 0x3ff + 8008c8c: f3c3 0313 ubfx r3, r3, #0, #20 + 8008c90: f043 537f orr.w r3, r3, #1069547520 ; 0x3fc00000 + 8008c94: f443 1340 orr.w r3, r3, #3145728 ; 0x300000 + 8008c98: f8cd 804c str.w r8, [sp, #76] ; 0x4c + 8008c9c: 4619 mov r1, r3 + 8008c9e: 2200 movs r2, #0 + 8008ca0: 4b75 ldr r3, [pc, #468] ; (8008e78 <_dtoa_r+0x2f0>) + 8008ca2: f7f7 facd bl 8000240 <__aeabi_dsub> + 8008ca6: a368 add r3, pc, #416 ; (adr r3, 8008e48 <_dtoa_r+0x2c0>) + 8008ca8: e9d3 2300 ldrd r2, r3, [r3] + 8008cac: f7f7 fc80 bl 80005b0 <__aeabi_dmul> + 8008cb0: a367 add r3, pc, #412 ; (adr r3, 8008e50 <_dtoa_r+0x2c8>) + 8008cb2: e9d3 2300 ldrd r2, r3, [r3] + 8008cb6: f7f7 fac5 bl 8000244 <__adddf3> + 8008cba: 4606 mov r6, r0 + 8008cbc: 4620 mov r0, r4 + 8008cbe: 460f mov r7, r1 + 8008cc0: f7f7 fc0c bl 80004dc <__aeabi_i2d> + 8008cc4: a364 add r3, pc, #400 ; (adr r3, 8008e58 <_dtoa_r+0x2d0>) + 8008cc6: e9d3 2300 ldrd r2, r3, [r3] + 8008cca: f7f7 fc71 bl 80005b0 <__aeabi_dmul> + 8008cce: 4602 mov r2, r0 + 8008cd0: 460b mov r3, r1 + 8008cd2: 4630 mov r0, r6 + 8008cd4: 4639 mov r1, r7 + 8008cd6: f7f7 fab5 bl 8000244 <__adddf3> + 8008cda: 4606 mov r6, r0 + 8008cdc: 460f mov r7, r1 + 8008cde: f7f7 ff17 bl 8000b10 <__aeabi_d2iz> + 8008ce2: 2200 movs r2, #0 + 8008ce4: 4683 mov fp, r0 + 8008ce6: 2300 movs r3, #0 + 8008ce8: 4630 mov r0, r6 + 8008cea: 4639 mov r1, r7 + 8008cec: f7f7 fed2 bl 8000a94 <__aeabi_dcmplt> + 8008cf0: b148 cbz r0, 8008d06 <_dtoa_r+0x17e> + 8008cf2: 4658 mov r0, fp + 8008cf4: f7f7 fbf2 bl 80004dc <__aeabi_i2d> + 8008cf8: 4632 mov r2, r6 + 8008cfa: 463b mov r3, r7 + 8008cfc: f7f7 fec0 bl 8000a80 <__aeabi_dcmpeq> + 8008d00: b908 cbnz r0, 8008d06 <_dtoa_r+0x17e> + 8008d02: f10b 3bff add.w fp, fp, #4294967295 + 8008d06: f1bb 0f16 cmp.w fp, #22 + 8008d0a: d857 bhi.n 8008dbc <_dtoa_r+0x234> + 8008d0c: e9dd 010c ldrd r0, r1, [sp, #48] ; 0x30 + 8008d10: 4b5a ldr r3, [pc, #360] ; (8008e7c <_dtoa_r+0x2f4>) + 8008d12: eb03 03cb add.w r3, r3, fp, lsl #3 + 8008d16: e9d3 2300 ldrd r2, r3, [r3] + 8008d1a: f7f7 febb bl 8000a94 <__aeabi_dcmplt> + 8008d1e: 2800 cmp r0, #0 + 8008d20: d04e beq.n 8008dc0 <_dtoa_r+0x238> + 8008d22: 2300 movs r3, #0 + 8008d24: f10b 3bff add.w fp, fp, #4294967295 + 8008d28: 930f str r3, [sp, #60] ; 0x3c + 8008d2a: 9b16 ldr r3, [sp, #88] ; 0x58 + 8008d2c: 1b1b subs r3, r3, r4 + 8008d2e: 1e5a subs r2, r3, #1 + 8008d30: bf46 itte mi + 8008d32: f1c3 0901 rsbmi r9, r3, #1 + 8008d36: 2300 movmi r3, #0 + 8008d38: f04f 0900 movpl.w r9, #0 + 8008d3c: 9209 str r2, [sp, #36] ; 0x24 + 8008d3e: bf48 it mi + 8008d40: 9309 strmi r3, [sp, #36] ; 0x24 + 8008d42: f1bb 0f00 cmp.w fp, #0 + 8008d46: db3d blt.n 8008dc4 <_dtoa_r+0x23c> + 8008d48: 9b09 ldr r3, [sp, #36] ; 0x24 + 8008d4a: f8cd b038 str.w fp, [sp, #56] ; 0x38 + 8008d4e: 445b add r3, fp + 8008d50: 9309 str r3, [sp, #36] ; 0x24 + 8008d52: 2300 movs r3, #0 + 8008d54: 930a str r3, [sp, #40] ; 0x28 + 8008d56: 9b22 ldr r3, [sp, #136] ; 0x88 + 8008d58: 2b09 cmp r3, #9 + 8008d5a: d867 bhi.n 8008e2c <_dtoa_r+0x2a4> + 8008d5c: 2b05 cmp r3, #5 + 8008d5e: bfc4 itt gt + 8008d60: 3b04 subgt r3, #4 + 8008d62: 9322 strgt r3, [sp, #136] ; 0x88 + 8008d64: 9b22 ldr r3, [sp, #136] ; 0x88 + 8008d66: bfc8 it gt + 8008d68: 2400 movgt r4, #0 + 8008d6a: f1a3 0302 sub.w r3, r3, #2 + 8008d6e: bfd8 it le + 8008d70: 2401 movle r4, #1 + 8008d72: 2b03 cmp r3, #3 + 8008d74: f200 8086 bhi.w 8008e84 <_dtoa_r+0x2fc> + 8008d78: e8df f003 tbb [pc, r3] + 8008d7c: 5637392c .word 0x5637392c + 8008d80: e9dd 4316 ldrd r4, r3, [sp, #88] ; 0x58 + 8008d84: 441c add r4, r3 + 8008d86: f204 4332 addw r3, r4, #1074 ; 0x432 + 8008d8a: 2b20 cmp r3, #32 + 8008d8c: bfc1 itttt gt + 8008d8e: f1c3 0340 rsbgt r3, r3, #64 ; 0x40 + 8008d92: fa09 f903 lslgt.w r9, r9, r3 + 8008d96: f204 4312 addwgt r3, r4, #1042 ; 0x412 + 8008d9a: fa26 f303 lsrgt.w r3, r6, r3 + 8008d9e: bfd6 itet le + 8008da0: f1c3 0320 rsble r3, r3, #32 + 8008da4: ea49 0003 orrgt.w r0, r9, r3 + 8008da8: fa06 f003 lslle.w r0, r6, r3 + 8008dac: f7f7 fb86 bl 80004bc <__aeabi_ui2d> + 8008db0: 2201 movs r2, #1 + 8008db2: f1a1 73f8 sub.w r3, r1, #32505856 ; 0x1f00000 + 8008db6: 3c01 subs r4, #1 + 8008db8: 9213 str r2, [sp, #76] ; 0x4c + 8008dba: e76f b.n 8008c9c <_dtoa_r+0x114> + 8008dbc: 2301 movs r3, #1 + 8008dbe: e7b3 b.n 8008d28 <_dtoa_r+0x1a0> + 8008dc0: 900f str r0, [sp, #60] ; 0x3c + 8008dc2: e7b2 b.n 8008d2a <_dtoa_r+0x1a2> + 8008dc4: f1cb 0300 rsb r3, fp, #0 + 8008dc8: 930a str r3, [sp, #40] ; 0x28 + 8008dca: 2300 movs r3, #0 + 8008dcc: eba9 090b sub.w r9, r9, fp + 8008dd0: 930e str r3, [sp, #56] ; 0x38 + 8008dd2: e7c0 b.n 8008d56 <_dtoa_r+0x1ce> + 8008dd4: 2300 movs r3, #0 + 8008dd6: 930b str r3, [sp, #44] ; 0x2c + 8008dd8: 9b23 ldr r3, [sp, #140] ; 0x8c + 8008dda: 2b00 cmp r3, #0 + 8008ddc: dc55 bgt.n 8008e8a <_dtoa_r+0x302> + 8008dde: 2301 movs r3, #1 + 8008de0: 461a mov r2, r3 + 8008de2: 9306 str r3, [sp, #24] + 8008de4: 9308 str r3, [sp, #32] + 8008de6: 9223 str r2, [sp, #140] ; 0x8c + 8008de8: e00b b.n 8008e02 <_dtoa_r+0x27a> + 8008dea: 2301 movs r3, #1 + 8008dec: e7f3 b.n 8008dd6 <_dtoa_r+0x24e> + 8008dee: 2300 movs r3, #0 + 8008df0: 930b str r3, [sp, #44] ; 0x2c + 8008df2: 9b23 ldr r3, [sp, #140] ; 0x8c + 8008df4: 445b add r3, fp + 8008df6: 9306 str r3, [sp, #24] + 8008df8: 3301 adds r3, #1 + 8008dfa: 2b01 cmp r3, #1 + 8008dfc: 9308 str r3, [sp, #32] + 8008dfe: bfb8 it lt + 8008e00: 2301 movlt r3, #1 + 8008e02: 2100 movs r1, #0 + 8008e04: 2204 movs r2, #4 + 8008e06: 69e8 ldr r0, [r5, #28] + 8008e08: f102 0614 add.w r6, r2, #20 + 8008e0c: 429e cmp r6, r3 + 8008e0e: d940 bls.n 8008e92 <_dtoa_r+0x30a> + 8008e10: 6041 str r1, [r0, #4] + 8008e12: 4628 mov r0, r5 + 8008e14: f000 fce4 bl 80097e0 <_Balloc> + 8008e18: 9003 str r0, [sp, #12] + 8008e1a: 2800 cmp r0, #0 + 8008e1c: d13c bne.n 8008e98 <_dtoa_r+0x310> + 8008e1e: 4602 mov r2, r0 + 8008e20: f240 11af movw r1, #431 ; 0x1af + 8008e24: 4b16 ldr r3, [pc, #88] ; (8008e80 <_dtoa_r+0x2f8>) + 8008e26: e6c3 b.n 8008bb0 <_dtoa_r+0x28> + 8008e28: 2301 movs r3, #1 + 8008e2a: e7e1 b.n 8008df0 <_dtoa_r+0x268> + 8008e2c: 2401 movs r4, #1 + 8008e2e: 2300 movs r3, #0 + 8008e30: 940b str r4, [sp, #44] ; 0x2c + 8008e32: 9322 str r3, [sp, #136] ; 0x88 + 8008e34: f04f 33ff mov.w r3, #4294967295 + 8008e38: 2200 movs r2, #0 + 8008e3a: 9306 str r3, [sp, #24] + 8008e3c: 9308 str r3, [sp, #32] + 8008e3e: 2312 movs r3, #18 + 8008e40: e7d1 b.n 8008de6 <_dtoa_r+0x25e> + 8008e42: bf00 nop + 8008e44: f3af 8000 nop.w + 8008e48: 636f4361 .word 0x636f4361 + 8008e4c: 3fd287a7 .word 0x3fd287a7 + 8008e50: 8b60c8b3 .word 0x8b60c8b3 + 8008e54: 3fc68a28 .word 0x3fc68a28 + 8008e58: 509f79fb .word 0x509f79fb + 8008e5c: 3fd34413 .word 0x3fd34413 + 8008e60: 0800b439 .word 0x0800b439 + 8008e64: 0800b450 .word 0x0800b450 + 8008e68: 7ff00000 .word 0x7ff00000 + 8008e6c: 0800b435 .word 0x0800b435 + 8008e70: 0800b42c .word 0x0800b42c + 8008e74: 0800b409 .word 0x0800b409 + 8008e78: 3ff80000 .word 0x3ff80000 + 8008e7c: 0800b540 .word 0x0800b540 + 8008e80: 0800b4a8 .word 0x0800b4a8 + 8008e84: 2301 movs r3, #1 + 8008e86: 930b str r3, [sp, #44] ; 0x2c + 8008e88: e7d4 b.n 8008e34 <_dtoa_r+0x2ac> + 8008e8a: 9b23 ldr r3, [sp, #140] ; 0x8c + 8008e8c: 9306 str r3, [sp, #24] + 8008e8e: 9308 str r3, [sp, #32] + 8008e90: e7b7 b.n 8008e02 <_dtoa_r+0x27a> + 8008e92: 3101 adds r1, #1 + 8008e94: 0052 lsls r2, r2, #1 + 8008e96: e7b7 b.n 8008e08 <_dtoa_r+0x280> + 8008e98: 69eb ldr r3, [r5, #28] + 8008e9a: 9a03 ldr r2, [sp, #12] + 8008e9c: 601a str r2, [r3, #0] + 8008e9e: 9b08 ldr r3, [sp, #32] + 8008ea0: 2b0e cmp r3, #14 + 8008ea2: f200 80a8 bhi.w 8008ff6 <_dtoa_r+0x46e> + 8008ea6: 2c00 cmp r4, #0 + 8008ea8: f000 80a5 beq.w 8008ff6 <_dtoa_r+0x46e> + 8008eac: f1bb 0f00 cmp.w fp, #0 + 8008eb0: dd34 ble.n 8008f1c <_dtoa_r+0x394> + 8008eb2: 4b9a ldr r3, [pc, #616] ; (800911c <_dtoa_r+0x594>) + 8008eb4: f00b 020f and.w r2, fp, #15 + 8008eb8: eb03 03c2 add.w r3, r3, r2, lsl #3 + 8008ebc: f41b 7f80 tst.w fp, #256 ; 0x100 + 8008ec0: e9d3 3400 ldrd r3, r4, [r3] + 8008ec4: e9cd 3410 strd r3, r4, [sp, #64] ; 0x40 + 8008ec8: ea4f 142b mov.w r4, fp, asr #4 + 8008ecc: d016 beq.n 8008efc <_dtoa_r+0x374> + 8008ece: e9dd 010c ldrd r0, r1, [sp, #48] ; 0x30 + 8008ed2: 4b93 ldr r3, [pc, #588] ; (8009120 <_dtoa_r+0x598>) + 8008ed4: 2703 movs r7, #3 + 8008ed6: e9d3 2308 ldrd r2, r3, [r3, #32] + 8008eda: f7f7 fc93 bl 8000804 <__aeabi_ddiv> + 8008ede: e9cd 0104 strd r0, r1, [sp, #16] + 8008ee2: f004 040f and.w r4, r4, #15 + 8008ee6: 4e8e ldr r6, [pc, #568] ; (8009120 <_dtoa_r+0x598>) + 8008ee8: b954 cbnz r4, 8008f00 <_dtoa_r+0x378> + 8008eea: e9dd 2310 ldrd r2, r3, [sp, #64] ; 0x40 + 8008eee: e9dd 0104 ldrd r0, r1, [sp, #16] + 8008ef2: f7f7 fc87 bl 8000804 <__aeabi_ddiv> + 8008ef6: e9cd 0104 strd r0, r1, [sp, #16] + 8008efa: e029 b.n 8008f50 <_dtoa_r+0x3c8> + 8008efc: 2702 movs r7, #2 + 8008efe: e7f2 b.n 8008ee6 <_dtoa_r+0x35e> + 8008f00: 07e1 lsls r1, r4, #31 + 8008f02: d508 bpl.n 8008f16 <_dtoa_r+0x38e> + 8008f04: e9dd 0110 ldrd r0, r1, [sp, #64] ; 0x40 + 8008f08: e9d6 2300 ldrd r2, r3, [r6] + 8008f0c: f7f7 fb50 bl 80005b0 <__aeabi_dmul> + 8008f10: e9cd 0110 strd r0, r1, [sp, #64] ; 0x40 + 8008f14: 3701 adds r7, #1 + 8008f16: 1064 asrs r4, r4, #1 + 8008f18: 3608 adds r6, #8 + 8008f1a: e7e5 b.n 8008ee8 <_dtoa_r+0x360> + 8008f1c: f000 80a5 beq.w 800906a <_dtoa_r+0x4e2> + 8008f20: e9dd 010c ldrd r0, r1, [sp, #48] ; 0x30 + 8008f24: f1cb 0400 rsb r4, fp, #0 + 8008f28: 4b7c ldr r3, [pc, #496] ; (800911c <_dtoa_r+0x594>) + 8008f2a: f004 020f and.w r2, r4, #15 + 8008f2e: eb03 03c2 add.w r3, r3, r2, lsl #3 + 8008f32: e9d3 2300 ldrd r2, r3, [r3] + 8008f36: f7f7 fb3b bl 80005b0 <__aeabi_dmul> + 8008f3a: 2702 movs r7, #2 + 8008f3c: 2300 movs r3, #0 + 8008f3e: e9cd 0104 strd r0, r1, [sp, #16] + 8008f42: 4e77 ldr r6, [pc, #476] ; (8009120 <_dtoa_r+0x598>) + 8008f44: 1124 asrs r4, r4, #4 + 8008f46: 2c00 cmp r4, #0 + 8008f48: f040 8084 bne.w 8009054 <_dtoa_r+0x4cc> + 8008f4c: 2b00 cmp r3, #0 + 8008f4e: d1d2 bne.n 8008ef6 <_dtoa_r+0x36e> + 8008f50: e9dd 3404 ldrd r3, r4, [sp, #16] + 8008f54: e9cd 3410 strd r3, r4, [sp, #64] ; 0x40 + 8008f58: 9b0f ldr r3, [sp, #60] ; 0x3c + 8008f5a: 2b00 cmp r3, #0 + 8008f5c: f000 8087 beq.w 800906e <_dtoa_r+0x4e6> + 8008f60: e9dd 0110 ldrd r0, r1, [sp, #64] ; 0x40 + 8008f64: 2200 movs r2, #0 + 8008f66: 4b6f ldr r3, [pc, #444] ; (8009124 <_dtoa_r+0x59c>) + 8008f68: f7f7 fd94 bl 8000a94 <__aeabi_dcmplt> + 8008f6c: 2800 cmp r0, #0 + 8008f6e: d07e beq.n 800906e <_dtoa_r+0x4e6> + 8008f70: 9b08 ldr r3, [sp, #32] + 8008f72: 2b00 cmp r3, #0 + 8008f74: d07b beq.n 800906e <_dtoa_r+0x4e6> + 8008f76: 9b06 ldr r3, [sp, #24] + 8008f78: 2b00 cmp r3, #0 + 8008f7a: dd38 ble.n 8008fee <_dtoa_r+0x466> + 8008f7c: e9dd 0110 ldrd r0, r1, [sp, #64] ; 0x40 + 8008f80: 2200 movs r2, #0 + 8008f82: 4b69 ldr r3, [pc, #420] ; (8009128 <_dtoa_r+0x5a0>) + 8008f84: f7f7 fb14 bl 80005b0 <__aeabi_dmul> + 8008f88: e9cd 0104 strd r0, r1, [sp, #16] + 8008f8c: 9c06 ldr r4, [sp, #24] + 8008f8e: f10b 38ff add.w r8, fp, #4294967295 + 8008f92: 3701 adds r7, #1 + 8008f94: 4638 mov r0, r7 + 8008f96: f7f7 faa1 bl 80004dc <__aeabi_i2d> + 8008f9a: e9dd 2304 ldrd r2, r3, [sp, #16] + 8008f9e: f7f7 fb07 bl 80005b0 <__aeabi_dmul> + 8008fa2: 2200 movs r2, #0 + 8008fa4: 4b61 ldr r3, [pc, #388] ; (800912c <_dtoa_r+0x5a4>) + 8008fa6: f7f7 f94d bl 8000244 <__adddf3> + 8008faa: f1a1 7650 sub.w r6, r1, #54525952 ; 0x3400000 + 8008fae: e9cd 0110 strd r0, r1, [sp, #64] ; 0x40 + 8008fb2: 9611 str r6, [sp, #68] ; 0x44 + 8008fb4: 2c00 cmp r4, #0 + 8008fb6: d15d bne.n 8009074 <_dtoa_r+0x4ec> + 8008fb8: e9dd 0104 ldrd r0, r1, [sp, #16] + 8008fbc: 2200 movs r2, #0 + 8008fbe: 4b5c ldr r3, [pc, #368] ; (8009130 <_dtoa_r+0x5a8>) + 8008fc0: f7f7 f93e bl 8000240 <__aeabi_dsub> + 8008fc4: 4602 mov r2, r0 + 8008fc6: 460b mov r3, r1 + 8008fc8: e9cd 2304 strd r2, r3, [sp, #16] + 8008fcc: 4633 mov r3, r6 + 8008fce: 9a10 ldr r2, [sp, #64] ; 0x40 + 8008fd0: f7f7 fd7e bl 8000ad0 <__aeabi_dcmpgt> + 8008fd4: 2800 cmp r0, #0 + 8008fd6: f040 8295 bne.w 8009504 <_dtoa_r+0x97c> + 8008fda: e9dd 0104 ldrd r0, r1, [sp, #16] + 8008fde: 9a10 ldr r2, [sp, #64] ; 0x40 + 8008fe0: f106 4300 add.w r3, r6, #2147483648 ; 0x80000000 + 8008fe4: f7f7 fd56 bl 8000a94 <__aeabi_dcmplt> + 8008fe8: 2800 cmp r0, #0 + 8008fea: f040 8289 bne.w 8009500 <_dtoa_r+0x978> + 8008fee: e9dd 340c ldrd r3, r4, [sp, #48] ; 0x30 + 8008ff2: e9cd 3404 strd r3, r4, [sp, #16] + 8008ff6: 9b17 ldr r3, [sp, #92] ; 0x5c + 8008ff8: 2b00 cmp r3, #0 + 8008ffa: f2c0 8151 blt.w 80092a0 <_dtoa_r+0x718> + 8008ffe: f1bb 0f0e cmp.w fp, #14 + 8009002: f300 814d bgt.w 80092a0 <_dtoa_r+0x718> + 8009006: 4b45 ldr r3, [pc, #276] ; (800911c <_dtoa_r+0x594>) + 8009008: eb03 03cb add.w r3, r3, fp, lsl #3 + 800900c: e9d3 3400 ldrd r3, r4, [r3] + 8009010: e9cd 3406 strd r3, r4, [sp, #24] + 8009014: 9b23 ldr r3, [sp, #140] ; 0x8c + 8009016: 2b00 cmp r3, #0 + 8009018: f280 80da bge.w 80091d0 <_dtoa_r+0x648> + 800901c: 9b08 ldr r3, [sp, #32] + 800901e: 2b00 cmp r3, #0 + 8009020: f300 80d6 bgt.w 80091d0 <_dtoa_r+0x648> + 8009024: f040 826b bne.w 80094fe <_dtoa_r+0x976> + 8009028: e9dd 0106 ldrd r0, r1, [sp, #24] + 800902c: 2200 movs r2, #0 + 800902e: 4b40 ldr r3, [pc, #256] ; (8009130 <_dtoa_r+0x5a8>) + 8009030: f7f7 fabe bl 80005b0 <__aeabi_dmul> + 8009034: e9dd 2304 ldrd r2, r3, [sp, #16] + 8009038: f7f7 fd40 bl 8000abc <__aeabi_dcmpge> + 800903c: 9c08 ldr r4, [sp, #32] + 800903e: 4626 mov r6, r4 + 8009040: 2800 cmp r0, #0 + 8009042: f040 8241 bne.w 80094c8 <_dtoa_r+0x940> + 8009046: 2331 movs r3, #49 ; 0x31 + 8009048: 9f03 ldr r7, [sp, #12] + 800904a: f10b 0b01 add.w fp, fp, #1 + 800904e: f807 3b01 strb.w r3, [r7], #1 + 8009052: e23d b.n 80094d0 <_dtoa_r+0x948> + 8009054: 07e2 lsls r2, r4, #31 + 8009056: d505 bpl.n 8009064 <_dtoa_r+0x4dc> + 8009058: e9d6 2300 ldrd r2, r3, [r6] + 800905c: f7f7 faa8 bl 80005b0 <__aeabi_dmul> + 8009060: 2301 movs r3, #1 + 8009062: 3701 adds r7, #1 + 8009064: 1064 asrs r4, r4, #1 + 8009066: 3608 adds r6, #8 + 8009068: e76d b.n 8008f46 <_dtoa_r+0x3be> + 800906a: 2702 movs r7, #2 + 800906c: e770 b.n 8008f50 <_dtoa_r+0x3c8> + 800906e: 46d8 mov r8, fp + 8009070: 9c08 ldr r4, [sp, #32] + 8009072: e78f b.n 8008f94 <_dtoa_r+0x40c> + 8009074: 9903 ldr r1, [sp, #12] + 8009076: 4b29 ldr r3, [pc, #164] ; (800911c <_dtoa_r+0x594>) + 8009078: 4421 add r1, r4 + 800907a: 9112 str r1, [sp, #72] ; 0x48 + 800907c: 990b ldr r1, [sp, #44] ; 0x2c + 800907e: eb03 03c4 add.w r3, r3, r4, lsl #3 + 8009082: e9dd 6710 ldrd r6, r7, [sp, #64] ; 0x40 + 8009086: e953 2302 ldrd r2, r3, [r3, #-8] + 800908a: 2900 cmp r1, #0 + 800908c: d054 beq.n 8009138 <_dtoa_r+0x5b0> + 800908e: 2000 movs r0, #0 + 8009090: 4928 ldr r1, [pc, #160] ; (8009134 <_dtoa_r+0x5ac>) + 8009092: f7f7 fbb7 bl 8000804 <__aeabi_ddiv> + 8009096: 463b mov r3, r7 + 8009098: 4632 mov r2, r6 + 800909a: f7f7 f8d1 bl 8000240 <__aeabi_dsub> + 800909e: e9cd 0110 strd r0, r1, [sp, #64] ; 0x40 + 80090a2: 9f03 ldr r7, [sp, #12] + 80090a4: e9dd 0104 ldrd r0, r1, [sp, #16] + 80090a8: f7f7 fd32 bl 8000b10 <__aeabi_d2iz> + 80090ac: 4604 mov r4, r0 + 80090ae: f7f7 fa15 bl 80004dc <__aeabi_i2d> + 80090b2: 4602 mov r2, r0 + 80090b4: 460b mov r3, r1 + 80090b6: e9dd 0104 ldrd r0, r1, [sp, #16] + 80090ba: f7f7 f8c1 bl 8000240 <__aeabi_dsub> + 80090be: 4602 mov r2, r0 + 80090c0: 460b mov r3, r1 + 80090c2: 3430 adds r4, #48 ; 0x30 + 80090c4: e9cd 2304 strd r2, r3, [sp, #16] + 80090c8: e9dd 2310 ldrd r2, r3, [sp, #64] ; 0x40 + 80090cc: f807 4b01 strb.w r4, [r7], #1 + 80090d0: f7f7 fce0 bl 8000a94 <__aeabi_dcmplt> + 80090d4: 2800 cmp r0, #0 + 80090d6: d173 bne.n 80091c0 <_dtoa_r+0x638> + 80090d8: e9dd 2304 ldrd r2, r3, [sp, #16] + 80090dc: 2000 movs r0, #0 + 80090de: 4911 ldr r1, [pc, #68] ; (8009124 <_dtoa_r+0x59c>) + 80090e0: f7f7 f8ae bl 8000240 <__aeabi_dsub> + 80090e4: e9dd 2310 ldrd r2, r3, [sp, #64] ; 0x40 + 80090e8: f7f7 fcd4 bl 8000a94 <__aeabi_dcmplt> + 80090ec: 2800 cmp r0, #0 + 80090ee: f040 80b6 bne.w 800925e <_dtoa_r+0x6d6> + 80090f2: 9b12 ldr r3, [sp, #72] ; 0x48 + 80090f4: 429f cmp r7, r3 + 80090f6: f43f af7a beq.w 8008fee <_dtoa_r+0x466> + 80090fa: e9dd 0110 ldrd r0, r1, [sp, #64] ; 0x40 + 80090fe: 2200 movs r2, #0 + 8009100: 4b09 ldr r3, [pc, #36] ; (8009128 <_dtoa_r+0x5a0>) + 8009102: f7f7 fa55 bl 80005b0 <__aeabi_dmul> + 8009106: 2200 movs r2, #0 + 8009108: e9cd 0110 strd r0, r1, [sp, #64] ; 0x40 + 800910c: e9dd 0104 ldrd r0, r1, [sp, #16] + 8009110: 4b05 ldr r3, [pc, #20] ; (8009128 <_dtoa_r+0x5a0>) + 8009112: f7f7 fa4d bl 80005b0 <__aeabi_dmul> + 8009116: e9cd 0104 strd r0, r1, [sp, #16] + 800911a: e7c3 b.n 80090a4 <_dtoa_r+0x51c> + 800911c: 0800b540 .word 0x0800b540 + 8009120: 0800b518 .word 0x0800b518 + 8009124: 3ff00000 .word 0x3ff00000 + 8009128: 40240000 .word 0x40240000 + 800912c: 401c0000 .word 0x401c0000 + 8009130: 40140000 .word 0x40140000 + 8009134: 3fe00000 .word 0x3fe00000 + 8009138: 4630 mov r0, r6 + 800913a: 4639 mov r1, r7 + 800913c: f7f7 fa38 bl 80005b0 <__aeabi_dmul> + 8009140: 9b12 ldr r3, [sp, #72] ; 0x48 + 8009142: e9cd 0110 strd r0, r1, [sp, #64] ; 0x40 + 8009146: 9c03 ldr r4, [sp, #12] + 8009148: 9314 str r3, [sp, #80] ; 0x50 + 800914a: e9dd 0104 ldrd r0, r1, [sp, #16] + 800914e: f7f7 fcdf bl 8000b10 <__aeabi_d2iz> + 8009152: 9015 str r0, [sp, #84] ; 0x54 + 8009154: f7f7 f9c2 bl 80004dc <__aeabi_i2d> + 8009158: 4602 mov r2, r0 + 800915a: 460b mov r3, r1 + 800915c: e9dd 0104 ldrd r0, r1, [sp, #16] + 8009160: f7f7 f86e bl 8000240 <__aeabi_dsub> + 8009164: 9b15 ldr r3, [sp, #84] ; 0x54 + 8009166: 4606 mov r6, r0 + 8009168: 3330 adds r3, #48 ; 0x30 + 800916a: f804 3b01 strb.w r3, [r4], #1 + 800916e: 9b12 ldr r3, [sp, #72] ; 0x48 + 8009170: 460f mov r7, r1 + 8009172: 429c cmp r4, r3 + 8009174: f04f 0200 mov.w r2, #0 + 8009178: d124 bne.n 80091c4 <_dtoa_r+0x63c> + 800917a: e9dd 0110 ldrd r0, r1, [sp, #64] ; 0x40 + 800917e: 4baf ldr r3, [pc, #700] ; (800943c <_dtoa_r+0x8b4>) + 8009180: f7f7 f860 bl 8000244 <__adddf3> + 8009184: 4602 mov r2, r0 + 8009186: 460b mov r3, r1 + 8009188: 4630 mov r0, r6 + 800918a: 4639 mov r1, r7 + 800918c: f7f7 fca0 bl 8000ad0 <__aeabi_dcmpgt> + 8009190: 2800 cmp r0, #0 + 8009192: d163 bne.n 800925c <_dtoa_r+0x6d4> + 8009194: e9dd 2310 ldrd r2, r3, [sp, #64] ; 0x40 + 8009198: 2000 movs r0, #0 + 800919a: 49a8 ldr r1, [pc, #672] ; (800943c <_dtoa_r+0x8b4>) + 800919c: f7f7 f850 bl 8000240 <__aeabi_dsub> + 80091a0: 4602 mov r2, r0 + 80091a2: 460b mov r3, r1 + 80091a4: 4630 mov r0, r6 + 80091a6: 4639 mov r1, r7 + 80091a8: f7f7 fc74 bl 8000a94 <__aeabi_dcmplt> + 80091ac: 2800 cmp r0, #0 + 80091ae: f43f af1e beq.w 8008fee <_dtoa_r+0x466> + 80091b2: 9f14 ldr r7, [sp, #80] ; 0x50 + 80091b4: 1e7b subs r3, r7, #1 + 80091b6: 9314 str r3, [sp, #80] ; 0x50 + 80091b8: f817 3c01 ldrb.w r3, [r7, #-1] + 80091bc: 2b30 cmp r3, #48 ; 0x30 + 80091be: d0f8 beq.n 80091b2 <_dtoa_r+0x62a> + 80091c0: 46c3 mov fp, r8 + 80091c2: e03b b.n 800923c <_dtoa_r+0x6b4> + 80091c4: 4b9e ldr r3, [pc, #632] ; (8009440 <_dtoa_r+0x8b8>) + 80091c6: f7f7 f9f3 bl 80005b0 <__aeabi_dmul> + 80091ca: e9cd 0104 strd r0, r1, [sp, #16] + 80091ce: e7bc b.n 800914a <_dtoa_r+0x5c2> + 80091d0: 9f03 ldr r7, [sp, #12] + 80091d2: e9dd 8904 ldrd r8, r9, [sp, #16] + 80091d6: e9dd 2306 ldrd r2, r3, [sp, #24] + 80091da: 4640 mov r0, r8 + 80091dc: 4649 mov r1, r9 + 80091de: f7f7 fb11 bl 8000804 <__aeabi_ddiv> + 80091e2: f7f7 fc95 bl 8000b10 <__aeabi_d2iz> + 80091e6: 4604 mov r4, r0 + 80091e8: f7f7 f978 bl 80004dc <__aeabi_i2d> + 80091ec: e9dd 2306 ldrd r2, r3, [sp, #24] + 80091f0: f7f7 f9de bl 80005b0 <__aeabi_dmul> + 80091f4: 4602 mov r2, r0 + 80091f6: 460b mov r3, r1 + 80091f8: 4640 mov r0, r8 + 80091fa: 4649 mov r1, r9 + 80091fc: f7f7 f820 bl 8000240 <__aeabi_dsub> + 8009200: f104 0630 add.w r6, r4, #48 ; 0x30 + 8009204: f807 6b01 strb.w r6, [r7], #1 + 8009208: 9e03 ldr r6, [sp, #12] + 800920a: f8dd c020 ldr.w ip, [sp, #32] + 800920e: 1bbe subs r6, r7, r6 + 8009210: 45b4 cmp ip, r6 + 8009212: 4602 mov r2, r0 + 8009214: 460b mov r3, r1 + 8009216: d136 bne.n 8009286 <_dtoa_r+0x6fe> + 8009218: f7f7 f814 bl 8000244 <__adddf3> + 800921c: e9dd 2306 ldrd r2, r3, [sp, #24] + 8009220: 4680 mov r8, r0 + 8009222: 4689 mov r9, r1 + 8009224: f7f7 fc54 bl 8000ad0 <__aeabi_dcmpgt> + 8009228: bb58 cbnz r0, 8009282 <_dtoa_r+0x6fa> + 800922a: e9dd 2306 ldrd r2, r3, [sp, #24] + 800922e: 4640 mov r0, r8 + 8009230: 4649 mov r1, r9 + 8009232: f7f7 fc25 bl 8000a80 <__aeabi_dcmpeq> + 8009236: b108 cbz r0, 800923c <_dtoa_r+0x6b4> + 8009238: 07e3 lsls r3, r4, #31 + 800923a: d422 bmi.n 8009282 <_dtoa_r+0x6fa> + 800923c: 4651 mov r1, sl + 800923e: 4628 mov r0, r5 + 8009240: f000 fb0e bl 8009860 <_Bfree> + 8009244: 2300 movs r3, #0 + 8009246: 9a24 ldr r2, [sp, #144] ; 0x90 + 8009248: 703b strb r3, [r7, #0] + 800924a: f10b 0301 add.w r3, fp, #1 + 800924e: 6013 str r3, [r2, #0] + 8009250: 9b26 ldr r3, [sp, #152] ; 0x98 + 8009252: 2b00 cmp r3, #0 + 8009254: f43f ace6 beq.w 8008c24 <_dtoa_r+0x9c> + 8009258: 601f str r7, [r3, #0] + 800925a: e4e3 b.n 8008c24 <_dtoa_r+0x9c> + 800925c: 4627 mov r7, r4 + 800925e: 463b mov r3, r7 + 8009260: 461f mov r7, r3 + 8009262: f813 2d01 ldrb.w r2, [r3, #-1]! + 8009266: 2a39 cmp r2, #57 ; 0x39 + 8009268: d107 bne.n 800927a <_dtoa_r+0x6f2> + 800926a: 9a03 ldr r2, [sp, #12] + 800926c: 429a cmp r2, r3 + 800926e: d1f7 bne.n 8009260 <_dtoa_r+0x6d8> + 8009270: 2230 movs r2, #48 ; 0x30 + 8009272: 9903 ldr r1, [sp, #12] + 8009274: f108 0801 add.w r8, r8, #1 + 8009278: 700a strb r2, [r1, #0] + 800927a: 781a ldrb r2, [r3, #0] + 800927c: 3201 adds r2, #1 + 800927e: 701a strb r2, [r3, #0] + 8009280: e79e b.n 80091c0 <_dtoa_r+0x638> + 8009282: 46d8 mov r8, fp + 8009284: e7eb b.n 800925e <_dtoa_r+0x6d6> + 8009286: 2200 movs r2, #0 + 8009288: 4b6d ldr r3, [pc, #436] ; (8009440 <_dtoa_r+0x8b8>) + 800928a: f7f7 f991 bl 80005b0 <__aeabi_dmul> + 800928e: 2200 movs r2, #0 + 8009290: 2300 movs r3, #0 + 8009292: 4680 mov r8, r0 + 8009294: 4689 mov r9, r1 + 8009296: f7f7 fbf3 bl 8000a80 <__aeabi_dcmpeq> + 800929a: 2800 cmp r0, #0 + 800929c: d09b beq.n 80091d6 <_dtoa_r+0x64e> + 800929e: e7cd b.n 800923c <_dtoa_r+0x6b4> + 80092a0: 9a0b ldr r2, [sp, #44] ; 0x2c + 80092a2: 2a00 cmp r2, #0 + 80092a4: f000 80c4 beq.w 8009430 <_dtoa_r+0x8a8> + 80092a8: 9a22 ldr r2, [sp, #136] ; 0x88 + 80092aa: 2a01 cmp r2, #1 + 80092ac: f300 80a8 bgt.w 8009400 <_dtoa_r+0x878> + 80092b0: 9a13 ldr r2, [sp, #76] ; 0x4c + 80092b2: 2a00 cmp r2, #0 + 80092b4: f000 80a0 beq.w 80093f8 <_dtoa_r+0x870> + 80092b8: f203 4333 addw r3, r3, #1075 ; 0x433 + 80092bc: 464f mov r7, r9 + 80092be: 9c0a ldr r4, [sp, #40] ; 0x28 + 80092c0: 9a09 ldr r2, [sp, #36] ; 0x24 + 80092c2: 2101 movs r1, #1 + 80092c4: 441a add r2, r3 + 80092c6: 4628 mov r0, r5 + 80092c8: 4499 add r9, r3 + 80092ca: 9209 str r2, [sp, #36] ; 0x24 + 80092cc: f000 fb7e bl 80099cc <__i2b> + 80092d0: 4606 mov r6, r0 + 80092d2: b15f cbz r7, 80092ec <_dtoa_r+0x764> + 80092d4: 9b09 ldr r3, [sp, #36] ; 0x24 + 80092d6: 2b00 cmp r3, #0 + 80092d8: dd08 ble.n 80092ec <_dtoa_r+0x764> + 80092da: 42bb cmp r3, r7 + 80092dc: bfa8 it ge + 80092de: 463b movge r3, r7 + 80092e0: 9a09 ldr r2, [sp, #36] ; 0x24 + 80092e2: eba9 0903 sub.w r9, r9, r3 + 80092e6: 1aff subs r7, r7, r3 + 80092e8: 1ad3 subs r3, r2, r3 + 80092ea: 9309 str r3, [sp, #36] ; 0x24 + 80092ec: 9b0a ldr r3, [sp, #40] ; 0x28 + 80092ee: b1f3 cbz r3, 800932e <_dtoa_r+0x7a6> + 80092f0: 9b0b ldr r3, [sp, #44] ; 0x2c + 80092f2: 2b00 cmp r3, #0 + 80092f4: f000 80a0 beq.w 8009438 <_dtoa_r+0x8b0> + 80092f8: 2c00 cmp r4, #0 + 80092fa: dd10 ble.n 800931e <_dtoa_r+0x796> + 80092fc: 4631 mov r1, r6 + 80092fe: 4622 mov r2, r4 + 8009300: 4628 mov r0, r5 + 8009302: f000 fc21 bl 8009b48 <__pow5mult> + 8009306: 4652 mov r2, sl + 8009308: 4601 mov r1, r0 + 800930a: 4606 mov r6, r0 + 800930c: 4628 mov r0, r5 + 800930e: f000 fb73 bl 80099f8 <__multiply> + 8009312: 4680 mov r8, r0 + 8009314: 4651 mov r1, sl + 8009316: 4628 mov r0, r5 + 8009318: f000 faa2 bl 8009860 <_Bfree> + 800931c: 46c2 mov sl, r8 + 800931e: 9b0a ldr r3, [sp, #40] ; 0x28 + 8009320: 1b1a subs r2, r3, r4 + 8009322: d004 beq.n 800932e <_dtoa_r+0x7a6> + 8009324: 4651 mov r1, sl + 8009326: 4628 mov r0, r5 + 8009328: f000 fc0e bl 8009b48 <__pow5mult> + 800932c: 4682 mov sl, r0 + 800932e: 2101 movs r1, #1 + 8009330: 4628 mov r0, r5 + 8009332: f000 fb4b bl 80099cc <__i2b> + 8009336: 9b0e ldr r3, [sp, #56] ; 0x38 + 8009338: 4604 mov r4, r0 + 800933a: 2b00 cmp r3, #0 + 800933c: f340 8082 ble.w 8009444 <_dtoa_r+0x8bc> + 8009340: 461a mov r2, r3 + 8009342: 4601 mov r1, r0 + 8009344: 4628 mov r0, r5 + 8009346: f000 fbff bl 8009b48 <__pow5mult> + 800934a: 9b22 ldr r3, [sp, #136] ; 0x88 + 800934c: 4604 mov r4, r0 + 800934e: 2b01 cmp r3, #1 + 8009350: dd7b ble.n 800944a <_dtoa_r+0x8c2> + 8009352: f04f 0800 mov.w r8, #0 + 8009356: 6923 ldr r3, [r4, #16] + 8009358: eb04 0383 add.w r3, r4, r3, lsl #2 + 800935c: 6918 ldr r0, [r3, #16] + 800935e: f000 fae7 bl 8009930 <__hi0bits> + 8009362: f1c0 0020 rsb r0, r0, #32 + 8009366: 9b09 ldr r3, [sp, #36] ; 0x24 + 8009368: 4418 add r0, r3 + 800936a: f010 001f ands.w r0, r0, #31 + 800936e: f000 8092 beq.w 8009496 <_dtoa_r+0x90e> + 8009372: f1c0 0320 rsb r3, r0, #32 + 8009376: 2b04 cmp r3, #4 + 8009378: f340 8085 ble.w 8009486 <_dtoa_r+0x8fe> + 800937c: 9b09 ldr r3, [sp, #36] ; 0x24 + 800937e: f1c0 001c rsb r0, r0, #28 + 8009382: 4403 add r3, r0 + 8009384: 4481 add r9, r0 + 8009386: 4407 add r7, r0 + 8009388: 9309 str r3, [sp, #36] ; 0x24 + 800938a: f1b9 0f00 cmp.w r9, #0 + 800938e: dd05 ble.n 800939c <_dtoa_r+0x814> + 8009390: 4651 mov r1, sl + 8009392: 464a mov r2, r9 + 8009394: 4628 mov r0, r5 + 8009396: f000 fc31 bl 8009bfc <__lshift> + 800939a: 4682 mov sl, r0 + 800939c: 9b09 ldr r3, [sp, #36] ; 0x24 + 800939e: 2b00 cmp r3, #0 + 80093a0: dd05 ble.n 80093ae <_dtoa_r+0x826> + 80093a2: 4621 mov r1, r4 + 80093a4: 461a mov r2, r3 + 80093a6: 4628 mov r0, r5 + 80093a8: f000 fc28 bl 8009bfc <__lshift> + 80093ac: 4604 mov r4, r0 + 80093ae: 9b0f ldr r3, [sp, #60] ; 0x3c + 80093b0: 2b00 cmp r3, #0 + 80093b2: d072 beq.n 800949a <_dtoa_r+0x912> + 80093b4: 4621 mov r1, r4 + 80093b6: 4650 mov r0, sl + 80093b8: f000 fc8c bl 8009cd4 <__mcmp> + 80093bc: 2800 cmp r0, #0 + 80093be: da6c bge.n 800949a <_dtoa_r+0x912> + 80093c0: 2300 movs r3, #0 + 80093c2: 4651 mov r1, sl + 80093c4: 220a movs r2, #10 + 80093c6: 4628 mov r0, r5 + 80093c8: f000 fa6c bl 80098a4 <__multadd> + 80093cc: 9b0b ldr r3, [sp, #44] ; 0x2c + 80093ce: 4682 mov sl, r0 + 80093d0: f10b 3bff add.w fp, fp, #4294967295 + 80093d4: 2b00 cmp r3, #0 + 80093d6: f000 81ac beq.w 8009732 <_dtoa_r+0xbaa> + 80093da: 2300 movs r3, #0 + 80093dc: 4631 mov r1, r6 + 80093de: 220a movs r2, #10 + 80093e0: 4628 mov r0, r5 + 80093e2: f000 fa5f bl 80098a4 <__multadd> + 80093e6: 9b06 ldr r3, [sp, #24] + 80093e8: 4606 mov r6, r0 + 80093ea: 2b00 cmp r3, #0 + 80093ec: f300 8093 bgt.w 8009516 <_dtoa_r+0x98e> + 80093f0: 9b22 ldr r3, [sp, #136] ; 0x88 + 80093f2: 2b02 cmp r3, #2 + 80093f4: dc59 bgt.n 80094aa <_dtoa_r+0x922> + 80093f6: e08e b.n 8009516 <_dtoa_r+0x98e> + 80093f8: 9b16 ldr r3, [sp, #88] ; 0x58 + 80093fa: f1c3 0336 rsb r3, r3, #54 ; 0x36 + 80093fe: e75d b.n 80092bc <_dtoa_r+0x734> + 8009400: 9b08 ldr r3, [sp, #32] + 8009402: 1e5c subs r4, r3, #1 + 8009404: 9b0a ldr r3, [sp, #40] ; 0x28 + 8009406: 42a3 cmp r3, r4 + 8009408: bfbf itttt lt + 800940a: 9b0a ldrlt r3, [sp, #40] ; 0x28 + 800940c: 9a0e ldrlt r2, [sp, #56] ; 0x38 + 800940e: 1ae3 sublt r3, r4, r3 + 8009410: 18d2 addlt r2, r2, r3 + 8009412: bfa8 it ge + 8009414: 1b1c subge r4, r3, r4 + 8009416: 9b08 ldr r3, [sp, #32] + 8009418: bfbe ittt lt + 800941a: 940a strlt r4, [sp, #40] ; 0x28 + 800941c: 920e strlt r2, [sp, #56] ; 0x38 + 800941e: 2400 movlt r4, #0 + 8009420: 2b00 cmp r3, #0 + 8009422: bfb5 itete lt + 8009424: eba9 0703 sublt.w r7, r9, r3 + 8009428: 464f movge r7, r9 + 800942a: 2300 movlt r3, #0 + 800942c: 9b08 ldrge r3, [sp, #32] + 800942e: e747 b.n 80092c0 <_dtoa_r+0x738> + 8009430: 464f mov r7, r9 + 8009432: 9c0a ldr r4, [sp, #40] ; 0x28 + 8009434: 9e0b ldr r6, [sp, #44] ; 0x2c + 8009436: e74c b.n 80092d2 <_dtoa_r+0x74a> + 8009438: 9a0a ldr r2, [sp, #40] ; 0x28 + 800943a: e773 b.n 8009324 <_dtoa_r+0x79c> + 800943c: 3fe00000 .word 0x3fe00000 + 8009440: 40240000 .word 0x40240000 + 8009444: 9b22 ldr r3, [sp, #136] ; 0x88 + 8009446: 2b01 cmp r3, #1 + 8009448: dc18 bgt.n 800947c <_dtoa_r+0x8f4> + 800944a: 9b04 ldr r3, [sp, #16] + 800944c: b9b3 cbnz r3, 800947c <_dtoa_r+0x8f4> + 800944e: 9b05 ldr r3, [sp, #20] + 8009450: f3c3 0313 ubfx r3, r3, #0, #20 + 8009454: b993 cbnz r3, 800947c <_dtoa_r+0x8f4> + 8009456: 9b05 ldr r3, [sp, #20] + 8009458: f023 4300 bic.w r3, r3, #2147483648 ; 0x80000000 + 800945c: 0d1b lsrs r3, r3, #20 + 800945e: 051b lsls r3, r3, #20 + 8009460: b17b cbz r3, 8009482 <_dtoa_r+0x8fa> + 8009462: f04f 0801 mov.w r8, #1 + 8009466: 9b09 ldr r3, [sp, #36] ; 0x24 + 8009468: f109 0901 add.w r9, r9, #1 + 800946c: 3301 adds r3, #1 + 800946e: 9309 str r3, [sp, #36] ; 0x24 + 8009470: 9b0e ldr r3, [sp, #56] ; 0x38 + 8009472: 2b00 cmp r3, #0 + 8009474: f47f af6f bne.w 8009356 <_dtoa_r+0x7ce> + 8009478: 2001 movs r0, #1 + 800947a: e774 b.n 8009366 <_dtoa_r+0x7de> + 800947c: f04f 0800 mov.w r8, #0 + 8009480: e7f6 b.n 8009470 <_dtoa_r+0x8e8> + 8009482: 4698 mov r8, r3 + 8009484: e7f4 b.n 8009470 <_dtoa_r+0x8e8> + 8009486: d080 beq.n 800938a <_dtoa_r+0x802> + 8009488: 9a09 ldr r2, [sp, #36] ; 0x24 + 800948a: 331c adds r3, #28 + 800948c: 441a add r2, r3 + 800948e: 4499 add r9, r3 + 8009490: 441f add r7, r3 + 8009492: 9209 str r2, [sp, #36] ; 0x24 + 8009494: e779 b.n 800938a <_dtoa_r+0x802> + 8009496: 4603 mov r3, r0 + 8009498: e7f6 b.n 8009488 <_dtoa_r+0x900> + 800949a: 9b08 ldr r3, [sp, #32] + 800949c: 2b00 cmp r3, #0 + 800949e: dc34 bgt.n 800950a <_dtoa_r+0x982> + 80094a0: 9b22 ldr r3, [sp, #136] ; 0x88 + 80094a2: 2b02 cmp r3, #2 + 80094a4: dd31 ble.n 800950a <_dtoa_r+0x982> + 80094a6: 9b08 ldr r3, [sp, #32] + 80094a8: 9306 str r3, [sp, #24] + 80094aa: 9b06 ldr r3, [sp, #24] + 80094ac: b963 cbnz r3, 80094c8 <_dtoa_r+0x940> + 80094ae: 4621 mov r1, r4 + 80094b0: 2205 movs r2, #5 + 80094b2: 4628 mov r0, r5 + 80094b4: f000 f9f6 bl 80098a4 <__multadd> + 80094b8: 4601 mov r1, r0 + 80094ba: 4604 mov r4, r0 + 80094bc: 4650 mov r0, sl + 80094be: f000 fc09 bl 8009cd4 <__mcmp> + 80094c2: 2800 cmp r0, #0 + 80094c4: f73f adbf bgt.w 8009046 <_dtoa_r+0x4be> + 80094c8: 9b23 ldr r3, [sp, #140] ; 0x8c + 80094ca: 9f03 ldr r7, [sp, #12] + 80094cc: ea6f 0b03 mvn.w fp, r3 + 80094d0: f04f 0800 mov.w r8, #0 + 80094d4: 4621 mov r1, r4 + 80094d6: 4628 mov r0, r5 + 80094d8: f000 f9c2 bl 8009860 <_Bfree> + 80094dc: 2e00 cmp r6, #0 + 80094de: f43f aead beq.w 800923c <_dtoa_r+0x6b4> + 80094e2: f1b8 0f00 cmp.w r8, #0 + 80094e6: d005 beq.n 80094f4 <_dtoa_r+0x96c> + 80094e8: 45b0 cmp r8, r6 + 80094ea: d003 beq.n 80094f4 <_dtoa_r+0x96c> + 80094ec: 4641 mov r1, r8 + 80094ee: 4628 mov r0, r5 + 80094f0: f000 f9b6 bl 8009860 <_Bfree> + 80094f4: 4631 mov r1, r6 + 80094f6: 4628 mov r0, r5 + 80094f8: f000 f9b2 bl 8009860 <_Bfree> + 80094fc: e69e b.n 800923c <_dtoa_r+0x6b4> + 80094fe: 2400 movs r4, #0 + 8009500: 4626 mov r6, r4 + 8009502: e7e1 b.n 80094c8 <_dtoa_r+0x940> + 8009504: 46c3 mov fp, r8 + 8009506: 4626 mov r6, r4 + 8009508: e59d b.n 8009046 <_dtoa_r+0x4be> + 800950a: 9b0b ldr r3, [sp, #44] ; 0x2c + 800950c: 2b00 cmp r3, #0 + 800950e: f000 80c8 beq.w 80096a2 <_dtoa_r+0xb1a> + 8009512: 9b08 ldr r3, [sp, #32] + 8009514: 9306 str r3, [sp, #24] + 8009516: 2f00 cmp r7, #0 + 8009518: dd05 ble.n 8009526 <_dtoa_r+0x99e> + 800951a: 4631 mov r1, r6 + 800951c: 463a mov r2, r7 + 800951e: 4628 mov r0, r5 + 8009520: f000 fb6c bl 8009bfc <__lshift> + 8009524: 4606 mov r6, r0 + 8009526: f1b8 0f00 cmp.w r8, #0 + 800952a: d05b beq.n 80095e4 <_dtoa_r+0xa5c> + 800952c: 4628 mov r0, r5 + 800952e: 6871 ldr r1, [r6, #4] + 8009530: f000 f956 bl 80097e0 <_Balloc> + 8009534: 4607 mov r7, r0 + 8009536: b928 cbnz r0, 8009544 <_dtoa_r+0x9bc> + 8009538: 4602 mov r2, r0 + 800953a: f240 21ef movw r1, #751 ; 0x2ef + 800953e: 4b81 ldr r3, [pc, #516] ; (8009744 <_dtoa_r+0xbbc>) + 8009540: f7ff bb36 b.w 8008bb0 <_dtoa_r+0x28> + 8009544: 6932 ldr r2, [r6, #16] + 8009546: f106 010c add.w r1, r6, #12 + 800954a: 3202 adds r2, #2 + 800954c: 0092 lsls r2, r2, #2 + 800954e: 300c adds r0, #12 + 8009550: f001 f8a0 bl 800a694 + 8009554: 2201 movs r2, #1 + 8009556: 4639 mov r1, r7 + 8009558: 4628 mov r0, r5 + 800955a: f000 fb4f bl 8009bfc <__lshift> + 800955e: 46b0 mov r8, r6 + 8009560: 4606 mov r6, r0 + 8009562: 9b03 ldr r3, [sp, #12] + 8009564: 9a03 ldr r2, [sp, #12] + 8009566: 3301 adds r3, #1 + 8009568: 9308 str r3, [sp, #32] + 800956a: 9b06 ldr r3, [sp, #24] + 800956c: 4413 add r3, r2 + 800956e: 930b str r3, [sp, #44] ; 0x2c + 8009570: 9b04 ldr r3, [sp, #16] + 8009572: f003 0301 and.w r3, r3, #1 + 8009576: 930a str r3, [sp, #40] ; 0x28 + 8009578: 9b08 ldr r3, [sp, #32] + 800957a: 4621 mov r1, r4 + 800957c: 3b01 subs r3, #1 + 800957e: 4650 mov r0, sl + 8009580: 9304 str r3, [sp, #16] + 8009582: f7ff fa78 bl 8008a76 + 8009586: 4641 mov r1, r8 + 8009588: 9006 str r0, [sp, #24] + 800958a: f100 0930 add.w r9, r0, #48 ; 0x30 + 800958e: 4650 mov r0, sl + 8009590: f000 fba0 bl 8009cd4 <__mcmp> + 8009594: 4632 mov r2, r6 + 8009596: 9009 str r0, [sp, #36] ; 0x24 + 8009598: 4621 mov r1, r4 + 800959a: 4628 mov r0, r5 + 800959c: f000 fbb6 bl 8009d0c <__mdiff> + 80095a0: 68c2 ldr r2, [r0, #12] + 80095a2: 4607 mov r7, r0 + 80095a4: bb02 cbnz r2, 80095e8 <_dtoa_r+0xa60> + 80095a6: 4601 mov r1, r0 + 80095a8: 4650 mov r0, sl + 80095aa: f000 fb93 bl 8009cd4 <__mcmp> + 80095ae: 4602 mov r2, r0 + 80095b0: 4639 mov r1, r7 + 80095b2: 4628 mov r0, r5 + 80095b4: 920c str r2, [sp, #48] ; 0x30 + 80095b6: f000 f953 bl 8009860 <_Bfree> + 80095ba: 9b22 ldr r3, [sp, #136] ; 0x88 + 80095bc: 9a0c ldr r2, [sp, #48] ; 0x30 + 80095be: 9f08 ldr r7, [sp, #32] + 80095c0: ea43 0102 orr.w r1, r3, r2 + 80095c4: 9b0a ldr r3, [sp, #40] ; 0x28 + 80095c6: 4319 orrs r1, r3 + 80095c8: d110 bne.n 80095ec <_dtoa_r+0xa64> + 80095ca: f1b9 0f39 cmp.w r9, #57 ; 0x39 + 80095ce: d029 beq.n 8009624 <_dtoa_r+0xa9c> + 80095d0: 9b09 ldr r3, [sp, #36] ; 0x24 + 80095d2: 2b00 cmp r3, #0 + 80095d4: dd02 ble.n 80095dc <_dtoa_r+0xa54> + 80095d6: 9b06 ldr r3, [sp, #24] + 80095d8: f103 0931 add.w r9, r3, #49 ; 0x31 + 80095dc: 9b04 ldr r3, [sp, #16] + 80095de: f883 9000 strb.w r9, [r3] + 80095e2: e777 b.n 80094d4 <_dtoa_r+0x94c> + 80095e4: 4630 mov r0, r6 + 80095e6: e7ba b.n 800955e <_dtoa_r+0x9d6> + 80095e8: 2201 movs r2, #1 + 80095ea: e7e1 b.n 80095b0 <_dtoa_r+0xa28> + 80095ec: 9b09 ldr r3, [sp, #36] ; 0x24 + 80095ee: 2b00 cmp r3, #0 + 80095f0: db04 blt.n 80095fc <_dtoa_r+0xa74> + 80095f2: 9922 ldr r1, [sp, #136] ; 0x88 + 80095f4: 430b orrs r3, r1 + 80095f6: 990a ldr r1, [sp, #40] ; 0x28 + 80095f8: 430b orrs r3, r1 + 80095fa: d120 bne.n 800963e <_dtoa_r+0xab6> + 80095fc: 2a00 cmp r2, #0 + 80095fe: dded ble.n 80095dc <_dtoa_r+0xa54> + 8009600: 4651 mov r1, sl + 8009602: 2201 movs r2, #1 + 8009604: 4628 mov r0, r5 + 8009606: f000 faf9 bl 8009bfc <__lshift> + 800960a: 4621 mov r1, r4 + 800960c: 4682 mov sl, r0 + 800960e: f000 fb61 bl 8009cd4 <__mcmp> + 8009612: 2800 cmp r0, #0 + 8009614: dc03 bgt.n 800961e <_dtoa_r+0xa96> + 8009616: d1e1 bne.n 80095dc <_dtoa_r+0xa54> + 8009618: f019 0f01 tst.w r9, #1 + 800961c: d0de beq.n 80095dc <_dtoa_r+0xa54> + 800961e: f1b9 0f39 cmp.w r9, #57 ; 0x39 + 8009622: d1d8 bne.n 80095d6 <_dtoa_r+0xa4e> + 8009624: 2339 movs r3, #57 ; 0x39 + 8009626: 9a04 ldr r2, [sp, #16] + 8009628: 7013 strb r3, [r2, #0] + 800962a: 463b mov r3, r7 + 800962c: 461f mov r7, r3 + 800962e: f817 2c01 ldrb.w r2, [r7, #-1] + 8009632: 3b01 subs r3, #1 + 8009634: 2a39 cmp r2, #57 ; 0x39 + 8009636: d06b beq.n 8009710 <_dtoa_r+0xb88> + 8009638: 3201 adds r2, #1 + 800963a: 701a strb r2, [r3, #0] + 800963c: e74a b.n 80094d4 <_dtoa_r+0x94c> + 800963e: 2a00 cmp r2, #0 + 8009640: dd07 ble.n 8009652 <_dtoa_r+0xaca> + 8009642: f1b9 0f39 cmp.w r9, #57 ; 0x39 + 8009646: d0ed beq.n 8009624 <_dtoa_r+0xa9c> + 8009648: 9a04 ldr r2, [sp, #16] + 800964a: f109 0301 add.w r3, r9, #1 + 800964e: 7013 strb r3, [r2, #0] + 8009650: e740 b.n 80094d4 <_dtoa_r+0x94c> + 8009652: 9b08 ldr r3, [sp, #32] + 8009654: 9a0b ldr r2, [sp, #44] ; 0x2c + 8009656: f803 9c01 strb.w r9, [r3, #-1] + 800965a: 4293 cmp r3, r2 + 800965c: d042 beq.n 80096e4 <_dtoa_r+0xb5c> + 800965e: 4651 mov r1, sl + 8009660: 2300 movs r3, #0 + 8009662: 220a movs r2, #10 + 8009664: 4628 mov r0, r5 + 8009666: f000 f91d bl 80098a4 <__multadd> + 800966a: 45b0 cmp r8, r6 + 800966c: 4682 mov sl, r0 + 800966e: f04f 0300 mov.w r3, #0 + 8009672: f04f 020a mov.w r2, #10 + 8009676: 4641 mov r1, r8 + 8009678: 4628 mov r0, r5 + 800967a: d107 bne.n 800968c <_dtoa_r+0xb04> + 800967c: f000 f912 bl 80098a4 <__multadd> + 8009680: 4680 mov r8, r0 + 8009682: 4606 mov r6, r0 + 8009684: 9b08 ldr r3, [sp, #32] + 8009686: 3301 adds r3, #1 + 8009688: 9308 str r3, [sp, #32] + 800968a: e775 b.n 8009578 <_dtoa_r+0x9f0> + 800968c: f000 f90a bl 80098a4 <__multadd> + 8009690: 4631 mov r1, r6 + 8009692: 4680 mov r8, r0 + 8009694: 2300 movs r3, #0 + 8009696: 220a movs r2, #10 + 8009698: 4628 mov r0, r5 + 800969a: f000 f903 bl 80098a4 <__multadd> + 800969e: 4606 mov r6, r0 + 80096a0: e7f0 b.n 8009684 <_dtoa_r+0xafc> + 80096a2: 9b08 ldr r3, [sp, #32] + 80096a4: 9306 str r3, [sp, #24] + 80096a6: 9f03 ldr r7, [sp, #12] + 80096a8: 4621 mov r1, r4 + 80096aa: 4650 mov r0, sl + 80096ac: f7ff f9e3 bl 8008a76 + 80096b0: 9b03 ldr r3, [sp, #12] + 80096b2: f100 0930 add.w r9, r0, #48 ; 0x30 + 80096b6: f807 9b01 strb.w r9, [r7], #1 + 80096ba: 1afa subs r2, r7, r3 + 80096bc: 9b06 ldr r3, [sp, #24] + 80096be: 4293 cmp r3, r2 + 80096c0: dd07 ble.n 80096d2 <_dtoa_r+0xb4a> + 80096c2: 4651 mov r1, sl + 80096c4: 2300 movs r3, #0 + 80096c6: 220a movs r2, #10 + 80096c8: 4628 mov r0, r5 + 80096ca: f000 f8eb bl 80098a4 <__multadd> + 80096ce: 4682 mov sl, r0 + 80096d0: e7ea b.n 80096a8 <_dtoa_r+0xb20> + 80096d2: 9b06 ldr r3, [sp, #24] + 80096d4: f04f 0800 mov.w r8, #0 + 80096d8: 2b00 cmp r3, #0 + 80096da: bfcc ite gt + 80096dc: 461f movgt r7, r3 + 80096de: 2701 movle r7, #1 + 80096e0: 9b03 ldr r3, [sp, #12] + 80096e2: 441f add r7, r3 + 80096e4: 4651 mov r1, sl + 80096e6: 2201 movs r2, #1 + 80096e8: 4628 mov r0, r5 + 80096ea: f000 fa87 bl 8009bfc <__lshift> + 80096ee: 4621 mov r1, r4 + 80096f0: 4682 mov sl, r0 + 80096f2: f000 faef bl 8009cd4 <__mcmp> + 80096f6: 2800 cmp r0, #0 + 80096f8: dc97 bgt.n 800962a <_dtoa_r+0xaa2> + 80096fa: d102 bne.n 8009702 <_dtoa_r+0xb7a> + 80096fc: f019 0f01 tst.w r9, #1 + 8009700: d193 bne.n 800962a <_dtoa_r+0xaa2> + 8009702: 463b mov r3, r7 + 8009704: 461f mov r7, r3 + 8009706: f813 2d01 ldrb.w r2, [r3, #-1]! + 800970a: 2a30 cmp r2, #48 ; 0x30 + 800970c: d0fa beq.n 8009704 <_dtoa_r+0xb7c> + 800970e: e6e1 b.n 80094d4 <_dtoa_r+0x94c> + 8009710: 9a03 ldr r2, [sp, #12] + 8009712: 429a cmp r2, r3 + 8009714: d18a bne.n 800962c <_dtoa_r+0xaa4> + 8009716: 2331 movs r3, #49 ; 0x31 + 8009718: f10b 0b01 add.w fp, fp, #1 + 800971c: e797 b.n 800964e <_dtoa_r+0xac6> + 800971e: 4b0a ldr r3, [pc, #40] ; (8009748 <_dtoa_r+0xbc0>) + 8009720: f7ff ba9f b.w 8008c62 <_dtoa_r+0xda> + 8009724: 9b26 ldr r3, [sp, #152] ; 0x98 + 8009726: 2b00 cmp r3, #0 + 8009728: f47f aa77 bne.w 8008c1a <_dtoa_r+0x92> + 800972c: 4b07 ldr r3, [pc, #28] ; (800974c <_dtoa_r+0xbc4>) + 800972e: f7ff ba98 b.w 8008c62 <_dtoa_r+0xda> + 8009732: 9b06 ldr r3, [sp, #24] + 8009734: 2b00 cmp r3, #0 + 8009736: dcb6 bgt.n 80096a6 <_dtoa_r+0xb1e> + 8009738: 9b22 ldr r3, [sp, #136] ; 0x88 + 800973a: 2b02 cmp r3, #2 + 800973c: f73f aeb5 bgt.w 80094aa <_dtoa_r+0x922> + 8009740: e7b1 b.n 80096a6 <_dtoa_r+0xb1e> + 8009742: bf00 nop + 8009744: 0800b4a8 .word 0x0800b4a8 + 8009748: 0800b408 .word 0x0800b408 + 800974c: 0800b42c .word 0x0800b42c + +08009750 <_free_r>: + 8009750: b538 push {r3, r4, r5, lr} + 8009752: 4605 mov r5, r0 + 8009754: 2900 cmp r1, #0 + 8009756: d040 beq.n 80097da <_free_r+0x8a> + 8009758: f851 3c04 ldr.w r3, [r1, #-4] + 800975c: 1f0c subs r4, r1, #4 + 800975e: 2b00 cmp r3, #0 + 8009760: bfb8 it lt + 8009762: 18e4 addlt r4, r4, r3 + 8009764: f7fe fac6 bl 8007cf4 <__malloc_lock> + 8009768: 4a1c ldr r2, [pc, #112] ; (80097dc <_free_r+0x8c>) + 800976a: 6813 ldr r3, [r2, #0] + 800976c: b933 cbnz r3, 800977c <_free_r+0x2c> + 800976e: 6063 str r3, [r4, #4] + 8009770: 6014 str r4, [r2, #0] + 8009772: 4628 mov r0, r5 + 8009774: e8bd 4038 ldmia.w sp!, {r3, r4, r5, lr} + 8009778: f7fe bac2 b.w 8007d00 <__malloc_unlock> + 800977c: 42a3 cmp r3, r4 + 800977e: d908 bls.n 8009792 <_free_r+0x42> + 8009780: 6820 ldr r0, [r4, #0] + 8009782: 1821 adds r1, r4, r0 + 8009784: 428b cmp r3, r1 + 8009786: bf01 itttt eq + 8009788: 6819 ldreq r1, [r3, #0] + 800978a: 685b ldreq r3, [r3, #4] + 800978c: 1809 addeq r1, r1, r0 + 800978e: 6021 streq r1, [r4, #0] + 8009790: e7ed b.n 800976e <_free_r+0x1e> + 8009792: 461a mov r2, r3 + 8009794: 685b ldr r3, [r3, #4] + 8009796: b10b cbz r3, 800979c <_free_r+0x4c> + 8009798: 42a3 cmp r3, r4 + 800979a: d9fa bls.n 8009792 <_free_r+0x42> + 800979c: 6811 ldr r1, [r2, #0] + 800979e: 1850 adds r0, r2, r1 + 80097a0: 42a0 cmp r0, r4 + 80097a2: d10b bne.n 80097bc <_free_r+0x6c> + 80097a4: 6820 ldr r0, [r4, #0] + 80097a6: 4401 add r1, r0 + 80097a8: 1850 adds r0, r2, r1 + 80097aa: 4283 cmp r3, r0 + 80097ac: 6011 str r1, [r2, #0] + 80097ae: d1e0 bne.n 8009772 <_free_r+0x22> + 80097b0: 6818 ldr r0, [r3, #0] + 80097b2: 685b ldr r3, [r3, #4] + 80097b4: 4408 add r0, r1 + 80097b6: 6010 str r0, [r2, #0] + 80097b8: 6053 str r3, [r2, #4] + 80097ba: e7da b.n 8009772 <_free_r+0x22> + 80097bc: d902 bls.n 80097c4 <_free_r+0x74> + 80097be: 230c movs r3, #12 + 80097c0: 602b str r3, [r5, #0] + 80097c2: e7d6 b.n 8009772 <_free_r+0x22> + 80097c4: 6820 ldr r0, [r4, #0] + 80097c6: 1821 adds r1, r4, r0 + 80097c8: 428b cmp r3, r1 + 80097ca: bf01 itttt eq + 80097cc: 6819 ldreq r1, [r3, #0] + 80097ce: 685b ldreq r3, [r3, #4] + 80097d0: 1809 addeq r1, r1, r0 + 80097d2: 6021 streq r1, [r4, #0] + 80097d4: 6063 str r3, [r4, #4] + 80097d6: 6054 str r4, [r2, #4] + 80097d8: e7cb b.n 8009772 <_free_r+0x22> + 80097da: bd38 pop {r3, r4, r5, pc} + 80097dc: 20002528 .word 0x20002528 + +080097e0 <_Balloc>: + 80097e0: b570 push {r4, r5, r6, lr} + 80097e2: 69c6 ldr r6, [r0, #28] + 80097e4: 4604 mov r4, r0 + 80097e6: 460d mov r5, r1 + 80097e8: b976 cbnz r6, 8009808 <_Balloc+0x28> + 80097ea: 2010 movs r0, #16 + 80097ec: f7fe f9d2 bl 8007b94 + 80097f0: 4602 mov r2, r0 + 80097f2: 61e0 str r0, [r4, #28] + 80097f4: b920 cbnz r0, 8009800 <_Balloc+0x20> + 80097f6: 216b movs r1, #107 ; 0x6b + 80097f8: 4b17 ldr r3, [pc, #92] ; (8009858 <_Balloc+0x78>) + 80097fa: 4818 ldr r0, [pc, #96] ; (800985c <_Balloc+0x7c>) + 80097fc: f000 ff58 bl 800a6b0 <__assert_func> + 8009800: e9c0 6601 strd r6, r6, [r0, #4] + 8009804: 6006 str r6, [r0, #0] + 8009806: 60c6 str r6, [r0, #12] + 8009808: 69e6 ldr r6, [r4, #28] + 800980a: 68f3 ldr r3, [r6, #12] + 800980c: b183 cbz r3, 8009830 <_Balloc+0x50> + 800980e: 69e3 ldr r3, [r4, #28] + 8009810: 68db ldr r3, [r3, #12] + 8009812: f853 0025 ldr.w r0, [r3, r5, lsl #2] + 8009816: b9b8 cbnz r0, 8009848 <_Balloc+0x68> + 8009818: 2101 movs r1, #1 + 800981a: fa01 f605 lsl.w r6, r1, r5 + 800981e: 1d72 adds r2, r6, #5 + 8009820: 4620 mov r0, r4 + 8009822: 0092 lsls r2, r2, #2 + 8009824: f000 ff62 bl 800a6ec <_calloc_r> + 8009828: b160 cbz r0, 8009844 <_Balloc+0x64> + 800982a: e9c0 5601 strd r5, r6, [r0, #4] + 800982e: e00e b.n 800984e <_Balloc+0x6e> + 8009830: 2221 movs r2, #33 ; 0x21 + 8009832: 2104 movs r1, #4 + 8009834: 4620 mov r0, r4 + 8009836: f000 ff59 bl 800a6ec <_calloc_r> + 800983a: 69e3 ldr r3, [r4, #28] + 800983c: 60f0 str r0, [r6, #12] + 800983e: 68db ldr r3, [r3, #12] + 8009840: 2b00 cmp r3, #0 + 8009842: d1e4 bne.n 800980e <_Balloc+0x2e> + 8009844: 2000 movs r0, #0 + 8009846: bd70 pop {r4, r5, r6, pc} + 8009848: 6802 ldr r2, [r0, #0] + 800984a: f843 2025 str.w r2, [r3, r5, lsl #2] + 800984e: 2300 movs r3, #0 + 8009850: e9c0 3303 strd r3, r3, [r0, #12] + 8009854: e7f7 b.n 8009846 <_Balloc+0x66> + 8009856: bf00 nop + 8009858: 0800b439 .word 0x0800b439 + 800985c: 0800b4b9 .word 0x0800b4b9 + +08009860 <_Bfree>: + 8009860: b570 push {r4, r5, r6, lr} + 8009862: 69c6 ldr r6, [r0, #28] + 8009864: 4605 mov r5, r0 + 8009866: 460c mov r4, r1 + 8009868: b976 cbnz r6, 8009888 <_Bfree+0x28> + 800986a: 2010 movs r0, #16 + 800986c: f7fe f992 bl 8007b94 + 8009870: 4602 mov r2, r0 + 8009872: 61e8 str r0, [r5, #28] + 8009874: b920 cbnz r0, 8009880 <_Bfree+0x20> + 8009876: 218f movs r1, #143 ; 0x8f + 8009878: 4b08 ldr r3, [pc, #32] ; (800989c <_Bfree+0x3c>) + 800987a: 4809 ldr r0, [pc, #36] ; (80098a0 <_Bfree+0x40>) + 800987c: f000 ff18 bl 800a6b0 <__assert_func> + 8009880: e9c0 6601 strd r6, r6, [r0, #4] + 8009884: 6006 str r6, [r0, #0] + 8009886: 60c6 str r6, [r0, #12] + 8009888: b13c cbz r4, 800989a <_Bfree+0x3a> + 800988a: 69eb ldr r3, [r5, #28] + 800988c: 6862 ldr r2, [r4, #4] + 800988e: 68db ldr r3, [r3, #12] + 8009890: f853 1022 ldr.w r1, [r3, r2, lsl #2] + 8009894: 6021 str r1, [r4, #0] + 8009896: f843 4022 str.w r4, [r3, r2, lsl #2] + 800989a: bd70 pop {r4, r5, r6, pc} + 800989c: 0800b439 .word 0x0800b439 + 80098a0: 0800b4b9 .word 0x0800b4b9 + +080098a4 <__multadd>: + 80098a4: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 80098a8: 4607 mov r7, r0 + 80098aa: 460c mov r4, r1 + 80098ac: 461e mov r6, r3 + 80098ae: 2000 movs r0, #0 + 80098b0: 690d ldr r5, [r1, #16] + 80098b2: f101 0c14 add.w ip, r1, #20 + 80098b6: f8dc 3000 ldr.w r3, [ip] + 80098ba: 3001 adds r0, #1 + 80098bc: b299 uxth r1, r3 + 80098be: fb02 6101 mla r1, r2, r1, r6 + 80098c2: 0c1e lsrs r6, r3, #16 + 80098c4: 0c0b lsrs r3, r1, #16 + 80098c6: fb02 3306 mla r3, r2, r6, r3 + 80098ca: b289 uxth r1, r1 + 80098cc: eb01 4103 add.w r1, r1, r3, lsl #16 + 80098d0: 4285 cmp r5, r0 + 80098d2: ea4f 4613 mov.w r6, r3, lsr #16 + 80098d6: f84c 1b04 str.w r1, [ip], #4 + 80098da: dcec bgt.n 80098b6 <__multadd+0x12> + 80098dc: b30e cbz r6, 8009922 <__multadd+0x7e> + 80098de: 68a3 ldr r3, [r4, #8] + 80098e0: 42ab cmp r3, r5 + 80098e2: dc19 bgt.n 8009918 <__multadd+0x74> + 80098e4: 6861 ldr r1, [r4, #4] + 80098e6: 4638 mov r0, r7 + 80098e8: 3101 adds r1, #1 + 80098ea: f7ff ff79 bl 80097e0 <_Balloc> + 80098ee: 4680 mov r8, r0 + 80098f0: b928 cbnz r0, 80098fe <__multadd+0x5a> + 80098f2: 4602 mov r2, r0 + 80098f4: 21ba movs r1, #186 ; 0xba + 80098f6: 4b0c ldr r3, [pc, #48] ; (8009928 <__multadd+0x84>) + 80098f8: 480c ldr r0, [pc, #48] ; (800992c <__multadd+0x88>) + 80098fa: f000 fed9 bl 800a6b0 <__assert_func> + 80098fe: 6922 ldr r2, [r4, #16] + 8009900: f104 010c add.w r1, r4, #12 + 8009904: 3202 adds r2, #2 + 8009906: 0092 lsls r2, r2, #2 + 8009908: 300c adds r0, #12 + 800990a: f000 fec3 bl 800a694 + 800990e: 4621 mov r1, r4 + 8009910: 4638 mov r0, r7 + 8009912: f7ff ffa5 bl 8009860 <_Bfree> + 8009916: 4644 mov r4, r8 + 8009918: eb04 0385 add.w r3, r4, r5, lsl #2 + 800991c: 3501 adds r5, #1 + 800991e: 615e str r6, [r3, #20] + 8009920: 6125 str r5, [r4, #16] + 8009922: 4620 mov r0, r4 + 8009924: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 8009928: 0800b4a8 .word 0x0800b4a8 + 800992c: 0800b4b9 .word 0x0800b4b9 + +08009930 <__hi0bits>: + 8009930: 0c02 lsrs r2, r0, #16 + 8009932: 0412 lsls r2, r2, #16 + 8009934: 4603 mov r3, r0 + 8009936: b9ca cbnz r2, 800996c <__hi0bits+0x3c> + 8009938: 0403 lsls r3, r0, #16 + 800993a: 2010 movs r0, #16 + 800993c: f013 4f7f tst.w r3, #4278190080 ; 0xff000000 + 8009940: bf04 itt eq + 8009942: 021b lsleq r3, r3, #8 + 8009944: 3008 addeq r0, #8 + 8009946: f013 4f70 tst.w r3, #4026531840 ; 0xf0000000 + 800994a: bf04 itt eq + 800994c: 011b lsleq r3, r3, #4 + 800994e: 3004 addeq r0, #4 + 8009950: f013 4f40 tst.w r3, #3221225472 ; 0xc0000000 + 8009954: bf04 itt eq + 8009956: 009b lsleq r3, r3, #2 + 8009958: 3002 addeq r0, #2 + 800995a: 2b00 cmp r3, #0 + 800995c: db05 blt.n 800996a <__hi0bits+0x3a> + 800995e: f013 4f80 tst.w r3, #1073741824 ; 0x40000000 + 8009962: f100 0001 add.w r0, r0, #1 + 8009966: bf08 it eq + 8009968: 2020 moveq r0, #32 + 800996a: 4770 bx lr + 800996c: 2000 movs r0, #0 + 800996e: e7e5 b.n 800993c <__hi0bits+0xc> + +08009970 <__lo0bits>: + 8009970: 6803 ldr r3, [r0, #0] + 8009972: 4602 mov r2, r0 + 8009974: f013 0007 ands.w r0, r3, #7 + 8009978: d00b beq.n 8009992 <__lo0bits+0x22> + 800997a: 07d9 lsls r1, r3, #31 + 800997c: d421 bmi.n 80099c2 <__lo0bits+0x52> + 800997e: 0798 lsls r0, r3, #30 + 8009980: bf49 itett mi + 8009982: 085b lsrmi r3, r3, #1 + 8009984: 089b lsrpl r3, r3, #2 + 8009986: 2001 movmi r0, #1 + 8009988: 6013 strmi r3, [r2, #0] + 800998a: bf5c itt pl + 800998c: 2002 movpl r0, #2 + 800998e: 6013 strpl r3, [r2, #0] + 8009990: 4770 bx lr + 8009992: b299 uxth r1, r3 + 8009994: b909 cbnz r1, 800999a <__lo0bits+0x2a> + 8009996: 2010 movs r0, #16 + 8009998: 0c1b lsrs r3, r3, #16 + 800999a: b2d9 uxtb r1, r3 + 800999c: b909 cbnz r1, 80099a2 <__lo0bits+0x32> + 800999e: 3008 adds r0, #8 + 80099a0: 0a1b lsrs r3, r3, #8 + 80099a2: 0719 lsls r1, r3, #28 + 80099a4: bf04 itt eq + 80099a6: 091b lsreq r3, r3, #4 + 80099a8: 3004 addeq r0, #4 + 80099aa: 0799 lsls r1, r3, #30 + 80099ac: bf04 itt eq + 80099ae: 089b lsreq r3, r3, #2 + 80099b0: 3002 addeq r0, #2 + 80099b2: 07d9 lsls r1, r3, #31 + 80099b4: d403 bmi.n 80099be <__lo0bits+0x4e> + 80099b6: 085b lsrs r3, r3, #1 + 80099b8: f100 0001 add.w r0, r0, #1 + 80099bc: d003 beq.n 80099c6 <__lo0bits+0x56> + 80099be: 6013 str r3, [r2, #0] + 80099c0: 4770 bx lr + 80099c2: 2000 movs r0, #0 + 80099c4: 4770 bx lr + 80099c6: 2020 movs r0, #32 + 80099c8: 4770 bx lr ... -08008330 <_dtoa_r>: - 8008330: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 8008334: 4616 mov r6, r2 - 8008336: 461f mov r7, r3 - 8008338: 69c4 ldr r4, [r0, #28] - 800833a: b099 sub sp, #100 ; 0x64 - 800833c: 4605 mov r5, r0 - 800833e: e9cd 6704 strd r6, r7, [sp, #16] - 8008342: f8dd 8094 ldr.w r8, [sp, #148] ; 0x94 - 8008346: b974 cbnz r4, 8008366 <_dtoa_r+0x36> - 8008348: 2010 movs r0, #16 - 800834a: f7fe fff5 bl 8007338 - 800834e: 4602 mov r2, r0 - 8008350: 61e8 str r0, [r5, #28] - 8008352: b920 cbnz r0, 800835e <_dtoa_r+0x2e> - 8008354: 21ef movs r1, #239 ; 0xef - 8008356: 4bac ldr r3, [pc, #688] ; (8008608 <_dtoa_r+0x2d8>) - 8008358: 48ac ldr r0, [pc, #688] ; (800860c <_dtoa_r+0x2dc>) - 800835a: f001 fd7d bl 8009e58 <__assert_func> - 800835e: e9c0 4401 strd r4, r4, [r0, #4] - 8008362: 6004 str r4, [r0, #0] - 8008364: 60c4 str r4, [r0, #12] - 8008366: 69eb ldr r3, [r5, #28] - 8008368: 6819 ldr r1, [r3, #0] - 800836a: b151 cbz r1, 8008382 <_dtoa_r+0x52> - 800836c: 685a ldr r2, [r3, #4] - 800836e: 2301 movs r3, #1 - 8008370: 4093 lsls r3, r2 - 8008372: 604a str r2, [r1, #4] - 8008374: 608b str r3, [r1, #8] - 8008376: 4628 mov r0, r5 - 8008378: f000 fe46 bl 8009008 <_Bfree> - 800837c: 2200 movs r2, #0 - 800837e: 69eb ldr r3, [r5, #28] - 8008380: 601a str r2, [r3, #0] - 8008382: 1e3b subs r3, r7, #0 - 8008384: bfaf iteee ge - 8008386: 2300 movge r3, #0 - 8008388: 2201 movlt r2, #1 - 800838a: f023 4300 biclt.w r3, r3, #2147483648 ; 0x80000000 - 800838e: 9305 strlt r3, [sp, #20] - 8008390: bfa8 it ge - 8008392: f8c8 3000 strge.w r3, [r8] - 8008396: f8dd 9014 ldr.w r9, [sp, #20] - 800839a: 4b9d ldr r3, [pc, #628] ; (8008610 <_dtoa_r+0x2e0>) - 800839c: bfb8 it lt - 800839e: f8c8 2000 strlt.w r2, [r8] - 80083a2: ea33 0309 bics.w r3, r3, r9 - 80083a6: d119 bne.n 80083dc <_dtoa_r+0xac> - 80083a8: f242 730f movw r3, #9999 ; 0x270f - 80083ac: 9a24 ldr r2, [sp, #144] ; 0x90 - 80083ae: 6013 str r3, [r2, #0] - 80083b0: f3c9 0313 ubfx r3, r9, #0, #20 - 80083b4: 4333 orrs r3, r6 - 80083b6: f000 8589 beq.w 8008ecc <_dtoa_r+0xb9c> - 80083ba: 9b26 ldr r3, [sp, #152] ; 0x98 - 80083bc: b953 cbnz r3, 80083d4 <_dtoa_r+0xa4> - 80083be: 4b95 ldr r3, [pc, #596] ; (8008614 <_dtoa_r+0x2e4>) - 80083c0: e023 b.n 800840a <_dtoa_r+0xda> - 80083c2: 4b95 ldr r3, [pc, #596] ; (8008618 <_dtoa_r+0x2e8>) - 80083c4: 9303 str r3, [sp, #12] - 80083c6: 3308 adds r3, #8 - 80083c8: 9a26 ldr r2, [sp, #152] ; 0x98 - 80083ca: 6013 str r3, [r2, #0] - 80083cc: 9803 ldr r0, [sp, #12] - 80083ce: b019 add sp, #100 ; 0x64 - 80083d0: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} - 80083d4: 4b8f ldr r3, [pc, #572] ; (8008614 <_dtoa_r+0x2e4>) - 80083d6: 9303 str r3, [sp, #12] - 80083d8: 3303 adds r3, #3 - 80083da: e7f5 b.n 80083c8 <_dtoa_r+0x98> - 80083dc: e9dd 3404 ldrd r3, r4, [sp, #16] - 80083e0: e9cd 340c strd r3, r4, [sp, #48] ; 0x30 - 80083e4: e9dd 010c ldrd r0, r1, [sp, #48] ; 0x30 - 80083e8: 2200 movs r2, #0 - 80083ea: 2300 movs r3, #0 - 80083ec: f7f8 fb48 bl 8000a80 <__aeabi_dcmpeq> - 80083f0: 4680 mov r8, r0 - 80083f2: b160 cbz r0, 800840e <_dtoa_r+0xde> - 80083f4: 2301 movs r3, #1 - 80083f6: 9a24 ldr r2, [sp, #144] ; 0x90 - 80083f8: 6013 str r3, [r2, #0] - 80083fa: 9b26 ldr r3, [sp, #152] ; 0x98 - 80083fc: 2b00 cmp r3, #0 - 80083fe: f000 8562 beq.w 8008ec6 <_dtoa_r+0xb96> - 8008402: 4b86 ldr r3, [pc, #536] ; (800861c <_dtoa_r+0x2ec>) - 8008404: 9a26 ldr r2, [sp, #152] ; 0x98 - 8008406: 6013 str r3, [r2, #0] - 8008408: 3b01 subs r3, #1 - 800840a: 9303 str r3, [sp, #12] - 800840c: e7de b.n 80083cc <_dtoa_r+0x9c> - 800840e: ab16 add r3, sp, #88 ; 0x58 - 8008410: 9301 str r3, [sp, #4] - 8008412: ab17 add r3, sp, #92 ; 0x5c - 8008414: 9300 str r3, [sp, #0] - 8008416: 4628 mov r0, r5 - 8008418: e9dd 230c ldrd r2, r3, [sp, #48] ; 0x30 - 800841c: f001 f8d6 bl 80095cc <__d2b> - 8008420: f3c9 540a ubfx r4, r9, #20, #11 - 8008424: 4682 mov sl, r0 - 8008426: 2c00 cmp r4, #0 - 8008428: d07e beq.n 8008528 <_dtoa_r+0x1f8> - 800842a: e9dd 010c ldrd r0, r1, [sp, #48] ; 0x30 - 800842e: 9b0d ldr r3, [sp, #52] ; 0x34 - 8008430: f2a4 34ff subw r4, r4, #1023 ; 0x3ff - 8008434: f3c3 0313 ubfx r3, r3, #0, #20 - 8008438: f043 537f orr.w r3, r3, #1069547520 ; 0x3fc00000 - 800843c: f443 1340 orr.w r3, r3, #3145728 ; 0x300000 - 8008440: f8cd 804c str.w r8, [sp, #76] ; 0x4c - 8008444: 4619 mov r1, r3 - 8008446: 2200 movs r2, #0 - 8008448: 4b75 ldr r3, [pc, #468] ; (8008620 <_dtoa_r+0x2f0>) - 800844a: f7f7 fef9 bl 8000240 <__aeabi_dsub> - 800844e: a368 add r3, pc, #416 ; (adr r3, 80085f0 <_dtoa_r+0x2c0>) - 8008450: e9d3 2300 ldrd r2, r3, [r3] - 8008454: f7f8 f8ac bl 80005b0 <__aeabi_dmul> - 8008458: a367 add r3, pc, #412 ; (adr r3, 80085f8 <_dtoa_r+0x2c8>) - 800845a: e9d3 2300 ldrd r2, r3, [r3] - 800845e: f7f7 fef1 bl 8000244 <__adddf3> - 8008462: 4606 mov r6, r0 - 8008464: 4620 mov r0, r4 - 8008466: 460f mov r7, r1 - 8008468: f7f8 f838 bl 80004dc <__aeabi_i2d> - 800846c: a364 add r3, pc, #400 ; (adr r3, 8008600 <_dtoa_r+0x2d0>) - 800846e: e9d3 2300 ldrd r2, r3, [r3] - 8008472: f7f8 f89d bl 80005b0 <__aeabi_dmul> - 8008476: 4602 mov r2, r0 - 8008478: 460b mov r3, r1 - 800847a: 4630 mov r0, r6 - 800847c: 4639 mov r1, r7 - 800847e: f7f7 fee1 bl 8000244 <__adddf3> - 8008482: 4606 mov r6, r0 - 8008484: 460f mov r7, r1 - 8008486: f7f8 fb43 bl 8000b10 <__aeabi_d2iz> - 800848a: 2200 movs r2, #0 - 800848c: 4683 mov fp, r0 - 800848e: 2300 movs r3, #0 - 8008490: 4630 mov r0, r6 - 8008492: 4639 mov r1, r7 - 8008494: f7f8 fafe bl 8000a94 <__aeabi_dcmplt> - 8008498: b148 cbz r0, 80084ae <_dtoa_r+0x17e> - 800849a: 4658 mov r0, fp - 800849c: f7f8 f81e bl 80004dc <__aeabi_i2d> - 80084a0: 4632 mov r2, r6 - 80084a2: 463b mov r3, r7 - 80084a4: f7f8 faec bl 8000a80 <__aeabi_dcmpeq> - 80084a8: b908 cbnz r0, 80084ae <_dtoa_r+0x17e> - 80084aa: f10b 3bff add.w fp, fp, #4294967295 - 80084ae: f1bb 0f16 cmp.w fp, #22 - 80084b2: d857 bhi.n 8008564 <_dtoa_r+0x234> - 80084b4: e9dd 010c ldrd r0, r1, [sp, #48] ; 0x30 - 80084b8: 4b5a ldr r3, [pc, #360] ; (8008624 <_dtoa_r+0x2f4>) - 80084ba: eb03 03cb add.w r3, r3, fp, lsl #3 - 80084be: e9d3 2300 ldrd r2, r3, [r3] - 80084c2: f7f8 fae7 bl 8000a94 <__aeabi_dcmplt> - 80084c6: 2800 cmp r0, #0 - 80084c8: d04e beq.n 8008568 <_dtoa_r+0x238> - 80084ca: 2300 movs r3, #0 - 80084cc: f10b 3bff add.w fp, fp, #4294967295 - 80084d0: 930f str r3, [sp, #60] ; 0x3c - 80084d2: 9b16 ldr r3, [sp, #88] ; 0x58 - 80084d4: 1b1b subs r3, r3, r4 - 80084d6: 1e5a subs r2, r3, #1 - 80084d8: bf46 itte mi - 80084da: f1c3 0901 rsbmi r9, r3, #1 - 80084de: 2300 movmi r3, #0 - 80084e0: f04f 0900 movpl.w r9, #0 - 80084e4: 9209 str r2, [sp, #36] ; 0x24 - 80084e6: bf48 it mi - 80084e8: 9309 strmi r3, [sp, #36] ; 0x24 - 80084ea: f1bb 0f00 cmp.w fp, #0 - 80084ee: db3d blt.n 800856c <_dtoa_r+0x23c> - 80084f0: 9b09 ldr r3, [sp, #36] ; 0x24 - 80084f2: f8cd b038 str.w fp, [sp, #56] ; 0x38 - 80084f6: 445b add r3, fp - 80084f8: 9309 str r3, [sp, #36] ; 0x24 - 80084fa: 2300 movs r3, #0 - 80084fc: 930a str r3, [sp, #40] ; 0x28 - 80084fe: 9b22 ldr r3, [sp, #136] ; 0x88 - 8008500: 2b09 cmp r3, #9 - 8008502: d867 bhi.n 80085d4 <_dtoa_r+0x2a4> - 8008504: 2b05 cmp r3, #5 - 8008506: bfc4 itt gt - 8008508: 3b04 subgt r3, #4 - 800850a: 9322 strgt r3, [sp, #136] ; 0x88 - 800850c: 9b22 ldr r3, [sp, #136] ; 0x88 - 800850e: bfc8 it gt - 8008510: 2400 movgt r4, #0 - 8008512: f1a3 0302 sub.w r3, r3, #2 - 8008516: bfd8 it le - 8008518: 2401 movle r4, #1 - 800851a: 2b03 cmp r3, #3 - 800851c: f200 8086 bhi.w 800862c <_dtoa_r+0x2fc> - 8008520: e8df f003 tbb [pc, r3] - 8008524: 5637392c .word 0x5637392c - 8008528: e9dd 4316 ldrd r4, r3, [sp, #88] ; 0x58 - 800852c: 441c add r4, r3 - 800852e: f204 4332 addw r3, r4, #1074 ; 0x432 - 8008532: 2b20 cmp r3, #32 - 8008534: bfc1 itttt gt - 8008536: f1c3 0340 rsbgt r3, r3, #64 ; 0x40 - 800853a: fa09 f903 lslgt.w r9, r9, r3 - 800853e: f204 4312 addwgt r3, r4, #1042 ; 0x412 - 8008542: fa26 f303 lsrgt.w r3, r6, r3 - 8008546: bfd6 itet le - 8008548: f1c3 0320 rsble r3, r3, #32 - 800854c: ea49 0003 orrgt.w r0, r9, r3 - 8008550: fa06 f003 lslle.w r0, r6, r3 - 8008554: f7f7 ffb2 bl 80004bc <__aeabi_ui2d> - 8008558: 2201 movs r2, #1 - 800855a: f1a1 73f8 sub.w r3, r1, #32505856 ; 0x1f00000 - 800855e: 3c01 subs r4, #1 - 8008560: 9213 str r2, [sp, #76] ; 0x4c - 8008562: e76f b.n 8008444 <_dtoa_r+0x114> - 8008564: 2301 movs r3, #1 - 8008566: e7b3 b.n 80084d0 <_dtoa_r+0x1a0> - 8008568: 900f str r0, [sp, #60] ; 0x3c - 800856a: e7b2 b.n 80084d2 <_dtoa_r+0x1a2> - 800856c: f1cb 0300 rsb r3, fp, #0 - 8008570: 930a str r3, [sp, #40] ; 0x28 - 8008572: 2300 movs r3, #0 - 8008574: eba9 090b sub.w r9, r9, fp - 8008578: 930e str r3, [sp, #56] ; 0x38 - 800857a: e7c0 b.n 80084fe <_dtoa_r+0x1ce> - 800857c: 2300 movs r3, #0 - 800857e: 930b str r3, [sp, #44] ; 0x2c - 8008580: 9b23 ldr r3, [sp, #140] ; 0x8c - 8008582: 2b00 cmp r3, #0 - 8008584: dc55 bgt.n 8008632 <_dtoa_r+0x302> - 8008586: 2301 movs r3, #1 - 8008588: 461a mov r2, r3 - 800858a: 9306 str r3, [sp, #24] - 800858c: 9308 str r3, [sp, #32] - 800858e: 9223 str r2, [sp, #140] ; 0x8c - 8008590: e00b b.n 80085aa <_dtoa_r+0x27a> - 8008592: 2301 movs r3, #1 - 8008594: e7f3 b.n 800857e <_dtoa_r+0x24e> - 8008596: 2300 movs r3, #0 - 8008598: 930b str r3, [sp, #44] ; 0x2c - 800859a: 9b23 ldr r3, [sp, #140] ; 0x8c - 800859c: 445b add r3, fp - 800859e: 9306 str r3, [sp, #24] - 80085a0: 3301 adds r3, #1 - 80085a2: 2b01 cmp r3, #1 - 80085a4: 9308 str r3, [sp, #32] - 80085a6: bfb8 it lt - 80085a8: 2301 movlt r3, #1 - 80085aa: 2100 movs r1, #0 - 80085ac: 2204 movs r2, #4 - 80085ae: 69e8 ldr r0, [r5, #28] - 80085b0: f102 0614 add.w r6, r2, #20 - 80085b4: 429e cmp r6, r3 - 80085b6: d940 bls.n 800863a <_dtoa_r+0x30a> - 80085b8: 6041 str r1, [r0, #4] - 80085ba: 4628 mov r0, r5 - 80085bc: f000 fce4 bl 8008f88 <_Balloc> - 80085c0: 9003 str r0, [sp, #12] - 80085c2: 2800 cmp r0, #0 - 80085c4: d13c bne.n 8008640 <_dtoa_r+0x310> - 80085c6: 4602 mov r2, r0 - 80085c8: f240 11af movw r1, #431 ; 0x1af - 80085cc: 4b16 ldr r3, [pc, #88] ; (8008628 <_dtoa_r+0x2f8>) - 80085ce: e6c3 b.n 8008358 <_dtoa_r+0x28> - 80085d0: 2301 movs r3, #1 - 80085d2: e7e1 b.n 8008598 <_dtoa_r+0x268> - 80085d4: 2401 movs r4, #1 - 80085d6: 2300 movs r3, #0 - 80085d8: 940b str r4, [sp, #44] ; 0x2c - 80085da: 9322 str r3, [sp, #136] ; 0x88 - 80085dc: f04f 33ff mov.w r3, #4294967295 - 80085e0: 2200 movs r2, #0 - 80085e2: 9306 str r3, [sp, #24] - 80085e4: 9308 str r3, [sp, #32] - 80085e6: 2312 movs r3, #18 - 80085e8: e7d1 b.n 800858e <_dtoa_r+0x25e> - 80085ea: bf00 nop - 80085ec: f3af 8000 nop.w - 80085f0: 636f4361 .word 0x636f4361 - 80085f4: 3fd287a7 .word 0x3fd287a7 - 80085f8: 8b60c8b3 .word 0x8b60c8b3 - 80085fc: 3fc68a28 .word 0x3fc68a28 - 8008600: 509f79fb .word 0x509f79fb - 8008604: 3fd34413 .word 0x3fd34413 - 8008608: 0800abe9 .word 0x0800abe9 - 800860c: 0800ac00 .word 0x0800ac00 - 8008610: 7ff00000 .word 0x7ff00000 - 8008614: 0800abe5 .word 0x0800abe5 - 8008618: 0800abdc .word 0x0800abdc - 800861c: 0800abb9 .word 0x0800abb9 - 8008620: 3ff80000 .word 0x3ff80000 - 8008624: 0800acf0 .word 0x0800acf0 - 8008628: 0800ac58 .word 0x0800ac58 - 800862c: 2301 movs r3, #1 - 800862e: 930b str r3, [sp, #44] ; 0x2c - 8008630: e7d4 b.n 80085dc <_dtoa_r+0x2ac> - 8008632: 9b23 ldr r3, [sp, #140] ; 0x8c - 8008634: 9306 str r3, [sp, #24] - 8008636: 9308 str r3, [sp, #32] - 8008638: e7b7 b.n 80085aa <_dtoa_r+0x27a> - 800863a: 3101 adds r1, #1 - 800863c: 0052 lsls r2, r2, #1 - 800863e: e7b7 b.n 80085b0 <_dtoa_r+0x280> - 8008640: 69eb ldr r3, [r5, #28] - 8008642: 9a03 ldr r2, [sp, #12] - 8008644: 601a str r2, [r3, #0] - 8008646: 9b08 ldr r3, [sp, #32] - 8008648: 2b0e cmp r3, #14 - 800864a: f200 80a8 bhi.w 800879e <_dtoa_r+0x46e> - 800864e: 2c00 cmp r4, #0 - 8008650: f000 80a5 beq.w 800879e <_dtoa_r+0x46e> - 8008654: f1bb 0f00 cmp.w fp, #0 - 8008658: dd34 ble.n 80086c4 <_dtoa_r+0x394> - 800865a: 4b9a ldr r3, [pc, #616] ; (80088c4 <_dtoa_r+0x594>) - 800865c: f00b 020f and.w r2, fp, #15 - 8008660: eb03 03c2 add.w r3, r3, r2, lsl #3 - 8008664: f41b 7f80 tst.w fp, #256 ; 0x100 - 8008668: e9d3 3400 ldrd r3, r4, [r3] - 800866c: e9cd 3410 strd r3, r4, [sp, #64] ; 0x40 - 8008670: ea4f 142b mov.w r4, fp, asr #4 - 8008674: d016 beq.n 80086a4 <_dtoa_r+0x374> - 8008676: e9dd 010c ldrd r0, r1, [sp, #48] ; 0x30 - 800867a: 4b93 ldr r3, [pc, #588] ; (80088c8 <_dtoa_r+0x598>) - 800867c: 2703 movs r7, #3 - 800867e: e9d3 2308 ldrd r2, r3, [r3, #32] - 8008682: f7f8 f8bf bl 8000804 <__aeabi_ddiv> - 8008686: e9cd 0104 strd r0, r1, [sp, #16] - 800868a: f004 040f and.w r4, r4, #15 - 800868e: 4e8e ldr r6, [pc, #568] ; (80088c8 <_dtoa_r+0x598>) - 8008690: b954 cbnz r4, 80086a8 <_dtoa_r+0x378> - 8008692: e9dd 2310 ldrd r2, r3, [sp, #64] ; 0x40 - 8008696: e9dd 0104 ldrd r0, r1, [sp, #16] - 800869a: f7f8 f8b3 bl 8000804 <__aeabi_ddiv> - 800869e: e9cd 0104 strd r0, r1, [sp, #16] - 80086a2: e029 b.n 80086f8 <_dtoa_r+0x3c8> - 80086a4: 2702 movs r7, #2 - 80086a6: e7f2 b.n 800868e <_dtoa_r+0x35e> - 80086a8: 07e1 lsls r1, r4, #31 - 80086aa: d508 bpl.n 80086be <_dtoa_r+0x38e> - 80086ac: e9dd 0110 ldrd r0, r1, [sp, #64] ; 0x40 - 80086b0: e9d6 2300 ldrd r2, r3, [r6] - 80086b4: f7f7 ff7c bl 80005b0 <__aeabi_dmul> - 80086b8: e9cd 0110 strd r0, r1, [sp, #64] ; 0x40 - 80086bc: 3701 adds r7, #1 - 80086be: 1064 asrs r4, r4, #1 - 80086c0: 3608 adds r6, #8 - 80086c2: e7e5 b.n 8008690 <_dtoa_r+0x360> - 80086c4: f000 80a5 beq.w 8008812 <_dtoa_r+0x4e2> - 80086c8: e9dd 010c ldrd r0, r1, [sp, #48] ; 0x30 - 80086cc: f1cb 0400 rsb r4, fp, #0 - 80086d0: 4b7c ldr r3, [pc, #496] ; (80088c4 <_dtoa_r+0x594>) - 80086d2: f004 020f and.w r2, r4, #15 - 80086d6: eb03 03c2 add.w r3, r3, r2, lsl #3 - 80086da: e9d3 2300 ldrd r2, r3, [r3] - 80086de: f7f7 ff67 bl 80005b0 <__aeabi_dmul> - 80086e2: 2702 movs r7, #2 - 80086e4: 2300 movs r3, #0 - 80086e6: e9cd 0104 strd r0, r1, [sp, #16] - 80086ea: 4e77 ldr r6, [pc, #476] ; (80088c8 <_dtoa_r+0x598>) - 80086ec: 1124 asrs r4, r4, #4 - 80086ee: 2c00 cmp r4, #0 - 80086f0: f040 8084 bne.w 80087fc <_dtoa_r+0x4cc> - 80086f4: 2b00 cmp r3, #0 - 80086f6: d1d2 bne.n 800869e <_dtoa_r+0x36e> - 80086f8: e9dd 3404 ldrd r3, r4, [sp, #16] - 80086fc: e9cd 3410 strd r3, r4, [sp, #64] ; 0x40 - 8008700: 9b0f ldr r3, [sp, #60] ; 0x3c - 8008702: 2b00 cmp r3, #0 - 8008704: f000 8087 beq.w 8008816 <_dtoa_r+0x4e6> - 8008708: e9dd 0110 ldrd r0, r1, [sp, #64] ; 0x40 - 800870c: 2200 movs r2, #0 - 800870e: 4b6f ldr r3, [pc, #444] ; (80088cc <_dtoa_r+0x59c>) - 8008710: f7f8 f9c0 bl 8000a94 <__aeabi_dcmplt> - 8008714: 2800 cmp r0, #0 - 8008716: d07e beq.n 8008816 <_dtoa_r+0x4e6> - 8008718: 9b08 ldr r3, [sp, #32] - 800871a: 2b00 cmp r3, #0 - 800871c: d07b beq.n 8008816 <_dtoa_r+0x4e6> - 800871e: 9b06 ldr r3, [sp, #24] - 8008720: 2b00 cmp r3, #0 - 8008722: dd38 ble.n 8008796 <_dtoa_r+0x466> - 8008724: e9dd 0110 ldrd r0, r1, [sp, #64] ; 0x40 - 8008728: 2200 movs r2, #0 - 800872a: 4b69 ldr r3, [pc, #420] ; (80088d0 <_dtoa_r+0x5a0>) - 800872c: f7f7 ff40 bl 80005b0 <__aeabi_dmul> - 8008730: e9cd 0104 strd r0, r1, [sp, #16] - 8008734: 9c06 ldr r4, [sp, #24] - 8008736: f10b 38ff add.w r8, fp, #4294967295 - 800873a: 3701 adds r7, #1 - 800873c: 4638 mov r0, r7 - 800873e: f7f7 fecd bl 80004dc <__aeabi_i2d> - 8008742: e9dd 2304 ldrd r2, r3, [sp, #16] - 8008746: f7f7 ff33 bl 80005b0 <__aeabi_dmul> - 800874a: 2200 movs r2, #0 - 800874c: 4b61 ldr r3, [pc, #388] ; (80088d4 <_dtoa_r+0x5a4>) - 800874e: f7f7 fd79 bl 8000244 <__adddf3> - 8008752: f1a1 7650 sub.w r6, r1, #54525952 ; 0x3400000 - 8008756: e9cd 0110 strd r0, r1, [sp, #64] ; 0x40 - 800875a: 9611 str r6, [sp, #68] ; 0x44 - 800875c: 2c00 cmp r4, #0 - 800875e: d15d bne.n 800881c <_dtoa_r+0x4ec> - 8008760: e9dd 0104 ldrd r0, r1, [sp, #16] - 8008764: 2200 movs r2, #0 - 8008766: 4b5c ldr r3, [pc, #368] ; (80088d8 <_dtoa_r+0x5a8>) - 8008768: f7f7 fd6a bl 8000240 <__aeabi_dsub> - 800876c: 4602 mov r2, r0 - 800876e: 460b mov r3, r1 - 8008770: e9cd 2304 strd r2, r3, [sp, #16] - 8008774: 4633 mov r3, r6 - 8008776: 9a10 ldr r2, [sp, #64] ; 0x40 - 8008778: f7f8 f9aa bl 8000ad0 <__aeabi_dcmpgt> - 800877c: 2800 cmp r0, #0 - 800877e: f040 8295 bne.w 8008cac <_dtoa_r+0x97c> - 8008782: e9dd 0104 ldrd r0, r1, [sp, #16] - 8008786: 9a10 ldr r2, [sp, #64] ; 0x40 - 8008788: f106 4300 add.w r3, r6, #2147483648 ; 0x80000000 - 800878c: f7f8 f982 bl 8000a94 <__aeabi_dcmplt> - 8008790: 2800 cmp r0, #0 - 8008792: f040 8289 bne.w 8008ca8 <_dtoa_r+0x978> - 8008796: e9dd 340c ldrd r3, r4, [sp, #48] ; 0x30 - 800879a: e9cd 3404 strd r3, r4, [sp, #16] - 800879e: 9b17 ldr r3, [sp, #92] ; 0x5c - 80087a0: 2b00 cmp r3, #0 - 80087a2: f2c0 8151 blt.w 8008a48 <_dtoa_r+0x718> - 80087a6: f1bb 0f0e cmp.w fp, #14 - 80087aa: f300 814d bgt.w 8008a48 <_dtoa_r+0x718> - 80087ae: 4b45 ldr r3, [pc, #276] ; (80088c4 <_dtoa_r+0x594>) - 80087b0: eb03 03cb add.w r3, r3, fp, lsl #3 - 80087b4: e9d3 3400 ldrd r3, r4, [r3] - 80087b8: e9cd 3406 strd r3, r4, [sp, #24] - 80087bc: 9b23 ldr r3, [sp, #140] ; 0x8c - 80087be: 2b00 cmp r3, #0 - 80087c0: f280 80da bge.w 8008978 <_dtoa_r+0x648> - 80087c4: 9b08 ldr r3, [sp, #32] - 80087c6: 2b00 cmp r3, #0 - 80087c8: f300 80d6 bgt.w 8008978 <_dtoa_r+0x648> - 80087cc: f040 826b bne.w 8008ca6 <_dtoa_r+0x976> - 80087d0: e9dd 0106 ldrd r0, r1, [sp, #24] - 80087d4: 2200 movs r2, #0 - 80087d6: 4b40 ldr r3, [pc, #256] ; (80088d8 <_dtoa_r+0x5a8>) - 80087d8: f7f7 feea bl 80005b0 <__aeabi_dmul> - 80087dc: e9dd 2304 ldrd r2, r3, [sp, #16] - 80087e0: f7f8 f96c bl 8000abc <__aeabi_dcmpge> - 80087e4: 9c08 ldr r4, [sp, #32] - 80087e6: 4626 mov r6, r4 - 80087e8: 2800 cmp r0, #0 - 80087ea: f040 8241 bne.w 8008c70 <_dtoa_r+0x940> - 80087ee: 2331 movs r3, #49 ; 0x31 - 80087f0: 9f03 ldr r7, [sp, #12] - 80087f2: f10b 0b01 add.w fp, fp, #1 - 80087f6: f807 3b01 strb.w r3, [r7], #1 - 80087fa: e23d b.n 8008c78 <_dtoa_r+0x948> - 80087fc: 07e2 lsls r2, r4, #31 - 80087fe: d505 bpl.n 800880c <_dtoa_r+0x4dc> - 8008800: e9d6 2300 ldrd r2, r3, [r6] - 8008804: f7f7 fed4 bl 80005b0 <__aeabi_dmul> - 8008808: 2301 movs r3, #1 - 800880a: 3701 adds r7, #1 - 800880c: 1064 asrs r4, r4, #1 - 800880e: 3608 adds r6, #8 - 8008810: e76d b.n 80086ee <_dtoa_r+0x3be> - 8008812: 2702 movs r7, #2 - 8008814: e770 b.n 80086f8 <_dtoa_r+0x3c8> - 8008816: 46d8 mov r8, fp - 8008818: 9c08 ldr r4, [sp, #32] - 800881a: e78f b.n 800873c <_dtoa_r+0x40c> - 800881c: 9903 ldr r1, [sp, #12] - 800881e: 4b29 ldr r3, [pc, #164] ; (80088c4 <_dtoa_r+0x594>) - 8008820: 4421 add r1, r4 - 8008822: 9112 str r1, [sp, #72] ; 0x48 - 8008824: 990b ldr r1, [sp, #44] ; 0x2c - 8008826: eb03 03c4 add.w r3, r3, r4, lsl #3 - 800882a: e9dd 6710 ldrd r6, r7, [sp, #64] ; 0x40 - 800882e: e953 2302 ldrd r2, r3, [r3, #-8] - 8008832: 2900 cmp r1, #0 - 8008834: d054 beq.n 80088e0 <_dtoa_r+0x5b0> - 8008836: 2000 movs r0, #0 - 8008838: 4928 ldr r1, [pc, #160] ; (80088dc <_dtoa_r+0x5ac>) - 800883a: f7f7 ffe3 bl 8000804 <__aeabi_ddiv> - 800883e: 463b mov r3, r7 - 8008840: 4632 mov r2, r6 - 8008842: f7f7 fcfd bl 8000240 <__aeabi_dsub> - 8008846: e9cd 0110 strd r0, r1, [sp, #64] ; 0x40 - 800884a: 9f03 ldr r7, [sp, #12] - 800884c: e9dd 0104 ldrd r0, r1, [sp, #16] - 8008850: f7f8 f95e bl 8000b10 <__aeabi_d2iz> - 8008854: 4604 mov r4, r0 - 8008856: f7f7 fe41 bl 80004dc <__aeabi_i2d> - 800885a: 4602 mov r2, r0 - 800885c: 460b mov r3, r1 - 800885e: e9dd 0104 ldrd r0, r1, [sp, #16] - 8008862: f7f7 fced bl 8000240 <__aeabi_dsub> - 8008866: 4602 mov r2, r0 - 8008868: 460b mov r3, r1 - 800886a: 3430 adds r4, #48 ; 0x30 - 800886c: e9cd 2304 strd r2, r3, [sp, #16] - 8008870: e9dd 2310 ldrd r2, r3, [sp, #64] ; 0x40 - 8008874: f807 4b01 strb.w r4, [r7], #1 - 8008878: f7f8 f90c bl 8000a94 <__aeabi_dcmplt> - 800887c: 2800 cmp r0, #0 - 800887e: d173 bne.n 8008968 <_dtoa_r+0x638> - 8008880: e9dd 2304 ldrd r2, r3, [sp, #16] - 8008884: 2000 movs r0, #0 - 8008886: 4911 ldr r1, [pc, #68] ; (80088cc <_dtoa_r+0x59c>) - 8008888: f7f7 fcda bl 8000240 <__aeabi_dsub> - 800888c: e9dd 2310 ldrd r2, r3, [sp, #64] ; 0x40 - 8008890: f7f8 f900 bl 8000a94 <__aeabi_dcmplt> - 8008894: 2800 cmp r0, #0 - 8008896: f040 80b6 bne.w 8008a06 <_dtoa_r+0x6d6> - 800889a: 9b12 ldr r3, [sp, #72] ; 0x48 - 800889c: 429f cmp r7, r3 - 800889e: f43f af7a beq.w 8008796 <_dtoa_r+0x466> - 80088a2: e9dd 0110 ldrd r0, r1, [sp, #64] ; 0x40 - 80088a6: 2200 movs r2, #0 - 80088a8: 4b09 ldr r3, [pc, #36] ; (80088d0 <_dtoa_r+0x5a0>) - 80088aa: f7f7 fe81 bl 80005b0 <__aeabi_dmul> - 80088ae: 2200 movs r2, #0 - 80088b0: e9cd 0110 strd r0, r1, [sp, #64] ; 0x40 - 80088b4: e9dd 0104 ldrd r0, r1, [sp, #16] - 80088b8: 4b05 ldr r3, [pc, #20] ; (80088d0 <_dtoa_r+0x5a0>) - 80088ba: f7f7 fe79 bl 80005b0 <__aeabi_dmul> - 80088be: e9cd 0104 strd r0, r1, [sp, #16] - 80088c2: e7c3 b.n 800884c <_dtoa_r+0x51c> - 80088c4: 0800acf0 .word 0x0800acf0 - 80088c8: 0800acc8 .word 0x0800acc8 - 80088cc: 3ff00000 .word 0x3ff00000 - 80088d0: 40240000 .word 0x40240000 - 80088d4: 401c0000 .word 0x401c0000 - 80088d8: 40140000 .word 0x40140000 - 80088dc: 3fe00000 .word 0x3fe00000 - 80088e0: 4630 mov r0, r6 - 80088e2: 4639 mov r1, r7 - 80088e4: f7f7 fe64 bl 80005b0 <__aeabi_dmul> - 80088e8: 9b12 ldr r3, [sp, #72] ; 0x48 - 80088ea: e9cd 0110 strd r0, r1, [sp, #64] ; 0x40 - 80088ee: 9c03 ldr r4, [sp, #12] - 80088f0: 9314 str r3, [sp, #80] ; 0x50 - 80088f2: e9dd 0104 ldrd r0, r1, [sp, #16] - 80088f6: f7f8 f90b bl 8000b10 <__aeabi_d2iz> - 80088fa: 9015 str r0, [sp, #84] ; 0x54 - 80088fc: f7f7 fdee bl 80004dc <__aeabi_i2d> - 8008900: 4602 mov r2, r0 - 8008902: 460b mov r3, r1 - 8008904: e9dd 0104 ldrd r0, r1, [sp, #16] - 8008908: f7f7 fc9a bl 8000240 <__aeabi_dsub> - 800890c: 9b15 ldr r3, [sp, #84] ; 0x54 - 800890e: 4606 mov r6, r0 - 8008910: 3330 adds r3, #48 ; 0x30 - 8008912: f804 3b01 strb.w r3, [r4], #1 - 8008916: 9b12 ldr r3, [sp, #72] ; 0x48 - 8008918: 460f mov r7, r1 - 800891a: 429c cmp r4, r3 - 800891c: f04f 0200 mov.w r2, #0 - 8008920: d124 bne.n 800896c <_dtoa_r+0x63c> - 8008922: e9dd 0110 ldrd r0, r1, [sp, #64] ; 0x40 - 8008926: 4baf ldr r3, [pc, #700] ; (8008be4 <_dtoa_r+0x8b4>) - 8008928: f7f7 fc8c bl 8000244 <__adddf3> - 800892c: 4602 mov r2, r0 - 800892e: 460b mov r3, r1 - 8008930: 4630 mov r0, r6 - 8008932: 4639 mov r1, r7 - 8008934: f7f8 f8cc bl 8000ad0 <__aeabi_dcmpgt> - 8008938: 2800 cmp r0, #0 - 800893a: d163 bne.n 8008a04 <_dtoa_r+0x6d4> - 800893c: e9dd 2310 ldrd r2, r3, [sp, #64] ; 0x40 - 8008940: 2000 movs r0, #0 - 8008942: 49a8 ldr r1, [pc, #672] ; (8008be4 <_dtoa_r+0x8b4>) - 8008944: f7f7 fc7c bl 8000240 <__aeabi_dsub> - 8008948: 4602 mov r2, r0 - 800894a: 460b mov r3, r1 - 800894c: 4630 mov r0, r6 - 800894e: 4639 mov r1, r7 - 8008950: f7f8 f8a0 bl 8000a94 <__aeabi_dcmplt> - 8008954: 2800 cmp r0, #0 - 8008956: f43f af1e beq.w 8008796 <_dtoa_r+0x466> - 800895a: 9f14 ldr r7, [sp, #80] ; 0x50 - 800895c: 1e7b subs r3, r7, #1 - 800895e: 9314 str r3, [sp, #80] ; 0x50 - 8008960: f817 3c01 ldrb.w r3, [r7, #-1] - 8008964: 2b30 cmp r3, #48 ; 0x30 - 8008966: d0f8 beq.n 800895a <_dtoa_r+0x62a> - 8008968: 46c3 mov fp, r8 - 800896a: e03b b.n 80089e4 <_dtoa_r+0x6b4> - 800896c: 4b9e ldr r3, [pc, #632] ; (8008be8 <_dtoa_r+0x8b8>) - 800896e: f7f7 fe1f bl 80005b0 <__aeabi_dmul> - 8008972: e9cd 0104 strd r0, r1, [sp, #16] - 8008976: e7bc b.n 80088f2 <_dtoa_r+0x5c2> - 8008978: 9f03 ldr r7, [sp, #12] - 800897a: e9dd 8904 ldrd r8, r9, [sp, #16] - 800897e: e9dd 2306 ldrd r2, r3, [sp, #24] - 8008982: 4640 mov r0, r8 - 8008984: 4649 mov r1, r9 - 8008986: f7f7 ff3d bl 8000804 <__aeabi_ddiv> - 800898a: f7f8 f8c1 bl 8000b10 <__aeabi_d2iz> - 800898e: 4604 mov r4, r0 - 8008990: f7f7 fda4 bl 80004dc <__aeabi_i2d> - 8008994: e9dd 2306 ldrd r2, r3, [sp, #24] - 8008998: f7f7 fe0a bl 80005b0 <__aeabi_dmul> - 800899c: 4602 mov r2, r0 - 800899e: 460b mov r3, r1 - 80089a0: 4640 mov r0, r8 - 80089a2: 4649 mov r1, r9 - 80089a4: f7f7 fc4c bl 8000240 <__aeabi_dsub> - 80089a8: f104 0630 add.w r6, r4, #48 ; 0x30 - 80089ac: f807 6b01 strb.w r6, [r7], #1 - 80089b0: 9e03 ldr r6, [sp, #12] - 80089b2: f8dd c020 ldr.w ip, [sp, #32] - 80089b6: 1bbe subs r6, r7, r6 - 80089b8: 45b4 cmp ip, r6 - 80089ba: 4602 mov r2, r0 - 80089bc: 460b mov r3, r1 - 80089be: d136 bne.n 8008a2e <_dtoa_r+0x6fe> - 80089c0: f7f7 fc40 bl 8000244 <__adddf3> - 80089c4: e9dd 2306 ldrd r2, r3, [sp, #24] - 80089c8: 4680 mov r8, r0 - 80089ca: 4689 mov r9, r1 - 80089cc: f7f8 f880 bl 8000ad0 <__aeabi_dcmpgt> - 80089d0: bb58 cbnz r0, 8008a2a <_dtoa_r+0x6fa> - 80089d2: e9dd 2306 ldrd r2, r3, [sp, #24] - 80089d6: 4640 mov r0, r8 - 80089d8: 4649 mov r1, r9 - 80089da: f7f8 f851 bl 8000a80 <__aeabi_dcmpeq> - 80089de: b108 cbz r0, 80089e4 <_dtoa_r+0x6b4> - 80089e0: 07e3 lsls r3, r4, #31 - 80089e2: d422 bmi.n 8008a2a <_dtoa_r+0x6fa> - 80089e4: 4651 mov r1, sl - 80089e6: 4628 mov r0, r5 - 80089e8: f000 fb0e bl 8009008 <_Bfree> - 80089ec: 2300 movs r3, #0 - 80089ee: 9a24 ldr r2, [sp, #144] ; 0x90 - 80089f0: 703b strb r3, [r7, #0] - 80089f2: f10b 0301 add.w r3, fp, #1 - 80089f6: 6013 str r3, [r2, #0] - 80089f8: 9b26 ldr r3, [sp, #152] ; 0x98 - 80089fa: 2b00 cmp r3, #0 - 80089fc: f43f ace6 beq.w 80083cc <_dtoa_r+0x9c> - 8008a00: 601f str r7, [r3, #0] - 8008a02: e4e3 b.n 80083cc <_dtoa_r+0x9c> - 8008a04: 4627 mov r7, r4 - 8008a06: 463b mov r3, r7 - 8008a08: 461f mov r7, r3 - 8008a0a: f813 2d01 ldrb.w r2, [r3, #-1]! - 8008a0e: 2a39 cmp r2, #57 ; 0x39 - 8008a10: d107 bne.n 8008a22 <_dtoa_r+0x6f2> - 8008a12: 9a03 ldr r2, [sp, #12] - 8008a14: 429a cmp r2, r3 - 8008a16: d1f7 bne.n 8008a08 <_dtoa_r+0x6d8> - 8008a18: 2230 movs r2, #48 ; 0x30 - 8008a1a: 9903 ldr r1, [sp, #12] - 8008a1c: f108 0801 add.w r8, r8, #1 - 8008a20: 700a strb r2, [r1, #0] - 8008a22: 781a ldrb r2, [r3, #0] - 8008a24: 3201 adds r2, #1 - 8008a26: 701a strb r2, [r3, #0] - 8008a28: e79e b.n 8008968 <_dtoa_r+0x638> - 8008a2a: 46d8 mov r8, fp - 8008a2c: e7eb b.n 8008a06 <_dtoa_r+0x6d6> - 8008a2e: 2200 movs r2, #0 - 8008a30: 4b6d ldr r3, [pc, #436] ; (8008be8 <_dtoa_r+0x8b8>) - 8008a32: f7f7 fdbd bl 80005b0 <__aeabi_dmul> - 8008a36: 2200 movs r2, #0 - 8008a38: 2300 movs r3, #0 - 8008a3a: 4680 mov r8, r0 - 8008a3c: 4689 mov r9, r1 - 8008a3e: f7f8 f81f bl 8000a80 <__aeabi_dcmpeq> - 8008a42: 2800 cmp r0, #0 - 8008a44: d09b beq.n 800897e <_dtoa_r+0x64e> - 8008a46: e7cd b.n 80089e4 <_dtoa_r+0x6b4> - 8008a48: 9a0b ldr r2, [sp, #44] ; 0x2c - 8008a4a: 2a00 cmp r2, #0 - 8008a4c: f000 80c4 beq.w 8008bd8 <_dtoa_r+0x8a8> - 8008a50: 9a22 ldr r2, [sp, #136] ; 0x88 - 8008a52: 2a01 cmp r2, #1 - 8008a54: f300 80a8 bgt.w 8008ba8 <_dtoa_r+0x878> - 8008a58: 9a13 ldr r2, [sp, #76] ; 0x4c - 8008a5a: 2a00 cmp r2, #0 - 8008a5c: f000 80a0 beq.w 8008ba0 <_dtoa_r+0x870> - 8008a60: f203 4333 addw r3, r3, #1075 ; 0x433 - 8008a64: 464f mov r7, r9 - 8008a66: 9c0a ldr r4, [sp, #40] ; 0x28 - 8008a68: 9a09 ldr r2, [sp, #36] ; 0x24 - 8008a6a: 2101 movs r1, #1 - 8008a6c: 441a add r2, r3 - 8008a6e: 4628 mov r0, r5 - 8008a70: 4499 add r9, r3 - 8008a72: 9209 str r2, [sp, #36] ; 0x24 - 8008a74: f000 fb7e bl 8009174 <__i2b> - 8008a78: 4606 mov r6, r0 - 8008a7a: b15f cbz r7, 8008a94 <_dtoa_r+0x764> - 8008a7c: 9b09 ldr r3, [sp, #36] ; 0x24 - 8008a7e: 2b00 cmp r3, #0 - 8008a80: dd08 ble.n 8008a94 <_dtoa_r+0x764> - 8008a82: 42bb cmp r3, r7 - 8008a84: bfa8 it ge - 8008a86: 463b movge r3, r7 - 8008a88: 9a09 ldr r2, [sp, #36] ; 0x24 - 8008a8a: eba9 0903 sub.w r9, r9, r3 - 8008a8e: 1aff subs r7, r7, r3 - 8008a90: 1ad3 subs r3, r2, r3 - 8008a92: 9309 str r3, [sp, #36] ; 0x24 - 8008a94: 9b0a ldr r3, [sp, #40] ; 0x28 - 8008a96: b1f3 cbz r3, 8008ad6 <_dtoa_r+0x7a6> - 8008a98: 9b0b ldr r3, [sp, #44] ; 0x2c - 8008a9a: 2b00 cmp r3, #0 - 8008a9c: f000 80a0 beq.w 8008be0 <_dtoa_r+0x8b0> - 8008aa0: 2c00 cmp r4, #0 - 8008aa2: dd10 ble.n 8008ac6 <_dtoa_r+0x796> - 8008aa4: 4631 mov r1, r6 - 8008aa6: 4622 mov r2, r4 - 8008aa8: 4628 mov r0, r5 - 8008aaa: f000 fc21 bl 80092f0 <__pow5mult> - 8008aae: 4652 mov r2, sl - 8008ab0: 4601 mov r1, r0 - 8008ab2: 4606 mov r6, r0 - 8008ab4: 4628 mov r0, r5 - 8008ab6: f000 fb73 bl 80091a0 <__multiply> - 8008aba: 4680 mov r8, r0 - 8008abc: 4651 mov r1, sl - 8008abe: 4628 mov r0, r5 - 8008ac0: f000 faa2 bl 8009008 <_Bfree> - 8008ac4: 46c2 mov sl, r8 - 8008ac6: 9b0a ldr r3, [sp, #40] ; 0x28 - 8008ac8: 1b1a subs r2, r3, r4 - 8008aca: d004 beq.n 8008ad6 <_dtoa_r+0x7a6> - 8008acc: 4651 mov r1, sl - 8008ace: 4628 mov r0, r5 - 8008ad0: f000 fc0e bl 80092f0 <__pow5mult> - 8008ad4: 4682 mov sl, r0 - 8008ad6: 2101 movs r1, #1 - 8008ad8: 4628 mov r0, r5 - 8008ada: f000 fb4b bl 8009174 <__i2b> - 8008ade: 9b0e ldr r3, [sp, #56] ; 0x38 - 8008ae0: 4604 mov r4, r0 - 8008ae2: 2b00 cmp r3, #0 - 8008ae4: f340 8082 ble.w 8008bec <_dtoa_r+0x8bc> - 8008ae8: 461a mov r2, r3 - 8008aea: 4601 mov r1, r0 - 8008aec: 4628 mov r0, r5 - 8008aee: f000 fbff bl 80092f0 <__pow5mult> - 8008af2: 9b22 ldr r3, [sp, #136] ; 0x88 - 8008af4: 4604 mov r4, r0 - 8008af6: 2b01 cmp r3, #1 - 8008af8: dd7b ble.n 8008bf2 <_dtoa_r+0x8c2> - 8008afa: f04f 0800 mov.w r8, #0 - 8008afe: 6923 ldr r3, [r4, #16] - 8008b00: eb04 0383 add.w r3, r4, r3, lsl #2 - 8008b04: 6918 ldr r0, [r3, #16] - 8008b06: f000 fae7 bl 80090d8 <__hi0bits> - 8008b0a: f1c0 0020 rsb r0, r0, #32 - 8008b0e: 9b09 ldr r3, [sp, #36] ; 0x24 - 8008b10: 4418 add r0, r3 - 8008b12: f010 001f ands.w r0, r0, #31 - 8008b16: f000 8092 beq.w 8008c3e <_dtoa_r+0x90e> - 8008b1a: f1c0 0320 rsb r3, r0, #32 - 8008b1e: 2b04 cmp r3, #4 - 8008b20: f340 8085 ble.w 8008c2e <_dtoa_r+0x8fe> - 8008b24: 9b09 ldr r3, [sp, #36] ; 0x24 - 8008b26: f1c0 001c rsb r0, r0, #28 - 8008b2a: 4403 add r3, r0 - 8008b2c: 4481 add r9, r0 - 8008b2e: 4407 add r7, r0 - 8008b30: 9309 str r3, [sp, #36] ; 0x24 - 8008b32: f1b9 0f00 cmp.w r9, #0 - 8008b36: dd05 ble.n 8008b44 <_dtoa_r+0x814> - 8008b38: 4651 mov r1, sl - 8008b3a: 464a mov r2, r9 - 8008b3c: 4628 mov r0, r5 - 8008b3e: f000 fc31 bl 80093a4 <__lshift> - 8008b42: 4682 mov sl, r0 - 8008b44: 9b09 ldr r3, [sp, #36] ; 0x24 - 8008b46: 2b00 cmp r3, #0 - 8008b48: dd05 ble.n 8008b56 <_dtoa_r+0x826> - 8008b4a: 4621 mov r1, r4 - 8008b4c: 461a mov r2, r3 - 8008b4e: 4628 mov r0, r5 - 8008b50: f000 fc28 bl 80093a4 <__lshift> - 8008b54: 4604 mov r4, r0 - 8008b56: 9b0f ldr r3, [sp, #60] ; 0x3c - 8008b58: 2b00 cmp r3, #0 - 8008b5a: d072 beq.n 8008c42 <_dtoa_r+0x912> - 8008b5c: 4621 mov r1, r4 - 8008b5e: 4650 mov r0, sl - 8008b60: f000 fc8c bl 800947c <__mcmp> - 8008b64: 2800 cmp r0, #0 - 8008b66: da6c bge.n 8008c42 <_dtoa_r+0x912> - 8008b68: 2300 movs r3, #0 - 8008b6a: 4651 mov r1, sl - 8008b6c: 220a movs r2, #10 - 8008b6e: 4628 mov r0, r5 - 8008b70: f000 fa6c bl 800904c <__multadd> - 8008b74: 9b0b ldr r3, [sp, #44] ; 0x2c - 8008b76: 4682 mov sl, r0 - 8008b78: f10b 3bff add.w fp, fp, #4294967295 - 8008b7c: 2b00 cmp r3, #0 - 8008b7e: f000 81ac beq.w 8008eda <_dtoa_r+0xbaa> - 8008b82: 2300 movs r3, #0 - 8008b84: 4631 mov r1, r6 - 8008b86: 220a movs r2, #10 - 8008b88: 4628 mov r0, r5 - 8008b8a: f000 fa5f bl 800904c <__multadd> - 8008b8e: 9b06 ldr r3, [sp, #24] - 8008b90: 4606 mov r6, r0 - 8008b92: 2b00 cmp r3, #0 - 8008b94: f300 8093 bgt.w 8008cbe <_dtoa_r+0x98e> - 8008b98: 9b22 ldr r3, [sp, #136] ; 0x88 - 8008b9a: 2b02 cmp r3, #2 - 8008b9c: dc59 bgt.n 8008c52 <_dtoa_r+0x922> - 8008b9e: e08e b.n 8008cbe <_dtoa_r+0x98e> - 8008ba0: 9b16 ldr r3, [sp, #88] ; 0x58 - 8008ba2: f1c3 0336 rsb r3, r3, #54 ; 0x36 - 8008ba6: e75d b.n 8008a64 <_dtoa_r+0x734> - 8008ba8: 9b08 ldr r3, [sp, #32] - 8008baa: 1e5c subs r4, r3, #1 - 8008bac: 9b0a ldr r3, [sp, #40] ; 0x28 - 8008bae: 42a3 cmp r3, r4 - 8008bb0: bfbf itttt lt - 8008bb2: 9b0a ldrlt r3, [sp, #40] ; 0x28 - 8008bb4: 9a0e ldrlt r2, [sp, #56] ; 0x38 - 8008bb6: 1ae3 sublt r3, r4, r3 - 8008bb8: 18d2 addlt r2, r2, r3 - 8008bba: bfa8 it ge - 8008bbc: 1b1c subge r4, r3, r4 - 8008bbe: 9b08 ldr r3, [sp, #32] - 8008bc0: bfbe ittt lt - 8008bc2: 940a strlt r4, [sp, #40] ; 0x28 - 8008bc4: 920e strlt r2, [sp, #56] ; 0x38 - 8008bc6: 2400 movlt r4, #0 - 8008bc8: 2b00 cmp r3, #0 - 8008bca: bfb5 itete lt - 8008bcc: eba9 0703 sublt.w r7, r9, r3 - 8008bd0: 464f movge r7, r9 - 8008bd2: 2300 movlt r3, #0 - 8008bd4: 9b08 ldrge r3, [sp, #32] - 8008bd6: e747 b.n 8008a68 <_dtoa_r+0x738> - 8008bd8: 464f mov r7, r9 - 8008bda: 9c0a ldr r4, [sp, #40] ; 0x28 - 8008bdc: 9e0b ldr r6, [sp, #44] ; 0x2c - 8008bde: e74c b.n 8008a7a <_dtoa_r+0x74a> - 8008be0: 9a0a ldr r2, [sp, #40] ; 0x28 - 8008be2: e773 b.n 8008acc <_dtoa_r+0x79c> - 8008be4: 3fe00000 .word 0x3fe00000 - 8008be8: 40240000 .word 0x40240000 - 8008bec: 9b22 ldr r3, [sp, #136] ; 0x88 - 8008bee: 2b01 cmp r3, #1 - 8008bf0: dc18 bgt.n 8008c24 <_dtoa_r+0x8f4> - 8008bf2: 9b04 ldr r3, [sp, #16] - 8008bf4: b9b3 cbnz r3, 8008c24 <_dtoa_r+0x8f4> - 8008bf6: 9b05 ldr r3, [sp, #20] - 8008bf8: f3c3 0313 ubfx r3, r3, #0, #20 - 8008bfc: b993 cbnz r3, 8008c24 <_dtoa_r+0x8f4> - 8008bfe: 9b05 ldr r3, [sp, #20] - 8008c00: f023 4300 bic.w r3, r3, #2147483648 ; 0x80000000 - 8008c04: 0d1b lsrs r3, r3, #20 - 8008c06: 051b lsls r3, r3, #20 - 8008c08: b17b cbz r3, 8008c2a <_dtoa_r+0x8fa> - 8008c0a: f04f 0801 mov.w r8, #1 - 8008c0e: 9b09 ldr r3, [sp, #36] ; 0x24 - 8008c10: f109 0901 add.w r9, r9, #1 - 8008c14: 3301 adds r3, #1 - 8008c16: 9309 str r3, [sp, #36] ; 0x24 - 8008c18: 9b0e ldr r3, [sp, #56] ; 0x38 - 8008c1a: 2b00 cmp r3, #0 - 8008c1c: f47f af6f bne.w 8008afe <_dtoa_r+0x7ce> - 8008c20: 2001 movs r0, #1 - 8008c22: e774 b.n 8008b0e <_dtoa_r+0x7de> - 8008c24: f04f 0800 mov.w r8, #0 - 8008c28: e7f6 b.n 8008c18 <_dtoa_r+0x8e8> - 8008c2a: 4698 mov r8, r3 - 8008c2c: e7f4 b.n 8008c18 <_dtoa_r+0x8e8> - 8008c2e: d080 beq.n 8008b32 <_dtoa_r+0x802> - 8008c30: 9a09 ldr r2, [sp, #36] ; 0x24 - 8008c32: 331c adds r3, #28 - 8008c34: 441a add r2, r3 - 8008c36: 4499 add r9, r3 - 8008c38: 441f add r7, r3 - 8008c3a: 9209 str r2, [sp, #36] ; 0x24 - 8008c3c: e779 b.n 8008b32 <_dtoa_r+0x802> - 8008c3e: 4603 mov r3, r0 - 8008c40: e7f6 b.n 8008c30 <_dtoa_r+0x900> - 8008c42: 9b08 ldr r3, [sp, #32] - 8008c44: 2b00 cmp r3, #0 - 8008c46: dc34 bgt.n 8008cb2 <_dtoa_r+0x982> - 8008c48: 9b22 ldr r3, [sp, #136] ; 0x88 - 8008c4a: 2b02 cmp r3, #2 - 8008c4c: dd31 ble.n 8008cb2 <_dtoa_r+0x982> - 8008c4e: 9b08 ldr r3, [sp, #32] - 8008c50: 9306 str r3, [sp, #24] - 8008c52: 9b06 ldr r3, [sp, #24] - 8008c54: b963 cbnz r3, 8008c70 <_dtoa_r+0x940> - 8008c56: 4621 mov r1, r4 - 8008c58: 2205 movs r2, #5 - 8008c5a: 4628 mov r0, r5 - 8008c5c: f000 f9f6 bl 800904c <__multadd> - 8008c60: 4601 mov r1, r0 - 8008c62: 4604 mov r4, r0 - 8008c64: 4650 mov r0, sl - 8008c66: f000 fc09 bl 800947c <__mcmp> - 8008c6a: 2800 cmp r0, #0 - 8008c6c: f73f adbf bgt.w 80087ee <_dtoa_r+0x4be> - 8008c70: 9b23 ldr r3, [sp, #140] ; 0x8c - 8008c72: 9f03 ldr r7, [sp, #12] - 8008c74: ea6f 0b03 mvn.w fp, r3 - 8008c78: f04f 0800 mov.w r8, #0 - 8008c7c: 4621 mov r1, r4 - 8008c7e: 4628 mov r0, r5 - 8008c80: f000 f9c2 bl 8009008 <_Bfree> - 8008c84: 2e00 cmp r6, #0 - 8008c86: f43f aead beq.w 80089e4 <_dtoa_r+0x6b4> - 8008c8a: f1b8 0f00 cmp.w r8, #0 - 8008c8e: d005 beq.n 8008c9c <_dtoa_r+0x96c> - 8008c90: 45b0 cmp r8, r6 - 8008c92: d003 beq.n 8008c9c <_dtoa_r+0x96c> - 8008c94: 4641 mov r1, r8 - 8008c96: 4628 mov r0, r5 - 8008c98: f000 f9b6 bl 8009008 <_Bfree> - 8008c9c: 4631 mov r1, r6 - 8008c9e: 4628 mov r0, r5 - 8008ca0: f000 f9b2 bl 8009008 <_Bfree> - 8008ca4: e69e b.n 80089e4 <_dtoa_r+0x6b4> - 8008ca6: 2400 movs r4, #0 - 8008ca8: 4626 mov r6, r4 - 8008caa: e7e1 b.n 8008c70 <_dtoa_r+0x940> - 8008cac: 46c3 mov fp, r8 - 8008cae: 4626 mov r6, r4 - 8008cb0: e59d b.n 80087ee <_dtoa_r+0x4be> - 8008cb2: 9b0b ldr r3, [sp, #44] ; 0x2c - 8008cb4: 2b00 cmp r3, #0 - 8008cb6: f000 80c8 beq.w 8008e4a <_dtoa_r+0xb1a> - 8008cba: 9b08 ldr r3, [sp, #32] - 8008cbc: 9306 str r3, [sp, #24] - 8008cbe: 2f00 cmp r7, #0 - 8008cc0: dd05 ble.n 8008cce <_dtoa_r+0x99e> - 8008cc2: 4631 mov r1, r6 - 8008cc4: 463a mov r2, r7 - 8008cc6: 4628 mov r0, r5 - 8008cc8: f000 fb6c bl 80093a4 <__lshift> - 8008ccc: 4606 mov r6, r0 - 8008cce: f1b8 0f00 cmp.w r8, #0 - 8008cd2: d05b beq.n 8008d8c <_dtoa_r+0xa5c> - 8008cd4: 4628 mov r0, r5 - 8008cd6: 6871 ldr r1, [r6, #4] - 8008cd8: f000 f956 bl 8008f88 <_Balloc> - 8008cdc: 4607 mov r7, r0 - 8008cde: b928 cbnz r0, 8008cec <_dtoa_r+0x9bc> - 8008ce0: 4602 mov r2, r0 - 8008ce2: f240 21ef movw r1, #751 ; 0x2ef - 8008ce6: 4b81 ldr r3, [pc, #516] ; (8008eec <_dtoa_r+0xbbc>) - 8008ce8: f7ff bb36 b.w 8008358 <_dtoa_r+0x28> - 8008cec: 6932 ldr r2, [r6, #16] - 8008cee: f106 010c add.w r1, r6, #12 - 8008cf2: 3202 adds r2, #2 - 8008cf4: 0092 lsls r2, r2, #2 - 8008cf6: 300c adds r0, #12 - 8008cf8: f001 f8a0 bl 8009e3c - 8008cfc: 2201 movs r2, #1 - 8008cfe: 4639 mov r1, r7 - 8008d00: 4628 mov r0, r5 - 8008d02: f000 fb4f bl 80093a4 <__lshift> - 8008d06: 46b0 mov r8, r6 - 8008d08: 4606 mov r6, r0 - 8008d0a: 9b03 ldr r3, [sp, #12] - 8008d0c: 9a03 ldr r2, [sp, #12] - 8008d0e: 3301 adds r3, #1 - 8008d10: 9308 str r3, [sp, #32] - 8008d12: 9b06 ldr r3, [sp, #24] - 8008d14: 4413 add r3, r2 - 8008d16: 930b str r3, [sp, #44] ; 0x2c - 8008d18: 9b04 ldr r3, [sp, #16] - 8008d1a: f003 0301 and.w r3, r3, #1 - 8008d1e: 930a str r3, [sp, #40] ; 0x28 - 8008d20: 9b08 ldr r3, [sp, #32] - 8008d22: 4621 mov r1, r4 - 8008d24: 3b01 subs r3, #1 - 8008d26: 4650 mov r0, sl - 8008d28: 9304 str r3, [sp, #16] - 8008d2a: f7ff fa76 bl 800821a - 8008d2e: 4641 mov r1, r8 - 8008d30: 9006 str r0, [sp, #24] - 8008d32: f100 0930 add.w r9, r0, #48 ; 0x30 - 8008d36: 4650 mov r0, sl - 8008d38: f000 fba0 bl 800947c <__mcmp> - 8008d3c: 4632 mov r2, r6 - 8008d3e: 9009 str r0, [sp, #36] ; 0x24 - 8008d40: 4621 mov r1, r4 - 8008d42: 4628 mov r0, r5 - 8008d44: f000 fbb6 bl 80094b4 <__mdiff> - 8008d48: 68c2 ldr r2, [r0, #12] - 8008d4a: 4607 mov r7, r0 - 8008d4c: bb02 cbnz r2, 8008d90 <_dtoa_r+0xa60> - 8008d4e: 4601 mov r1, r0 - 8008d50: 4650 mov r0, sl - 8008d52: f000 fb93 bl 800947c <__mcmp> - 8008d56: 4602 mov r2, r0 - 8008d58: 4639 mov r1, r7 - 8008d5a: 4628 mov r0, r5 - 8008d5c: 920c str r2, [sp, #48] ; 0x30 - 8008d5e: f000 f953 bl 8009008 <_Bfree> - 8008d62: 9b22 ldr r3, [sp, #136] ; 0x88 - 8008d64: 9a0c ldr r2, [sp, #48] ; 0x30 - 8008d66: 9f08 ldr r7, [sp, #32] - 8008d68: ea43 0102 orr.w r1, r3, r2 - 8008d6c: 9b0a ldr r3, [sp, #40] ; 0x28 - 8008d6e: 4319 orrs r1, r3 - 8008d70: d110 bne.n 8008d94 <_dtoa_r+0xa64> - 8008d72: f1b9 0f39 cmp.w r9, #57 ; 0x39 - 8008d76: d029 beq.n 8008dcc <_dtoa_r+0xa9c> - 8008d78: 9b09 ldr r3, [sp, #36] ; 0x24 - 8008d7a: 2b00 cmp r3, #0 - 8008d7c: dd02 ble.n 8008d84 <_dtoa_r+0xa54> - 8008d7e: 9b06 ldr r3, [sp, #24] - 8008d80: f103 0931 add.w r9, r3, #49 ; 0x31 - 8008d84: 9b04 ldr r3, [sp, #16] - 8008d86: f883 9000 strb.w r9, [r3] - 8008d8a: e777 b.n 8008c7c <_dtoa_r+0x94c> - 8008d8c: 4630 mov r0, r6 - 8008d8e: e7ba b.n 8008d06 <_dtoa_r+0x9d6> - 8008d90: 2201 movs r2, #1 - 8008d92: e7e1 b.n 8008d58 <_dtoa_r+0xa28> - 8008d94: 9b09 ldr r3, [sp, #36] ; 0x24 - 8008d96: 2b00 cmp r3, #0 - 8008d98: db04 blt.n 8008da4 <_dtoa_r+0xa74> - 8008d9a: 9922 ldr r1, [sp, #136] ; 0x88 - 8008d9c: 430b orrs r3, r1 - 8008d9e: 990a ldr r1, [sp, #40] ; 0x28 - 8008da0: 430b orrs r3, r1 - 8008da2: d120 bne.n 8008de6 <_dtoa_r+0xab6> - 8008da4: 2a00 cmp r2, #0 - 8008da6: dded ble.n 8008d84 <_dtoa_r+0xa54> - 8008da8: 4651 mov r1, sl - 8008daa: 2201 movs r2, #1 - 8008dac: 4628 mov r0, r5 - 8008dae: f000 faf9 bl 80093a4 <__lshift> - 8008db2: 4621 mov r1, r4 - 8008db4: 4682 mov sl, r0 - 8008db6: f000 fb61 bl 800947c <__mcmp> - 8008dba: 2800 cmp r0, #0 - 8008dbc: dc03 bgt.n 8008dc6 <_dtoa_r+0xa96> - 8008dbe: d1e1 bne.n 8008d84 <_dtoa_r+0xa54> - 8008dc0: f019 0f01 tst.w r9, #1 - 8008dc4: d0de beq.n 8008d84 <_dtoa_r+0xa54> - 8008dc6: f1b9 0f39 cmp.w r9, #57 ; 0x39 - 8008dca: d1d8 bne.n 8008d7e <_dtoa_r+0xa4e> - 8008dcc: 2339 movs r3, #57 ; 0x39 - 8008dce: 9a04 ldr r2, [sp, #16] - 8008dd0: 7013 strb r3, [r2, #0] - 8008dd2: 463b mov r3, r7 - 8008dd4: 461f mov r7, r3 - 8008dd6: f817 2c01 ldrb.w r2, [r7, #-1] - 8008dda: 3b01 subs r3, #1 - 8008ddc: 2a39 cmp r2, #57 ; 0x39 - 8008dde: d06b beq.n 8008eb8 <_dtoa_r+0xb88> - 8008de0: 3201 adds r2, #1 - 8008de2: 701a strb r2, [r3, #0] - 8008de4: e74a b.n 8008c7c <_dtoa_r+0x94c> - 8008de6: 2a00 cmp r2, #0 - 8008de8: dd07 ble.n 8008dfa <_dtoa_r+0xaca> - 8008dea: f1b9 0f39 cmp.w r9, #57 ; 0x39 - 8008dee: d0ed beq.n 8008dcc <_dtoa_r+0xa9c> - 8008df0: 9a04 ldr r2, [sp, #16] - 8008df2: f109 0301 add.w r3, r9, #1 - 8008df6: 7013 strb r3, [r2, #0] - 8008df8: e740 b.n 8008c7c <_dtoa_r+0x94c> - 8008dfa: 9b08 ldr r3, [sp, #32] - 8008dfc: 9a0b ldr r2, [sp, #44] ; 0x2c - 8008dfe: f803 9c01 strb.w r9, [r3, #-1] - 8008e02: 4293 cmp r3, r2 - 8008e04: d042 beq.n 8008e8c <_dtoa_r+0xb5c> - 8008e06: 4651 mov r1, sl - 8008e08: 2300 movs r3, #0 - 8008e0a: 220a movs r2, #10 - 8008e0c: 4628 mov r0, r5 - 8008e0e: f000 f91d bl 800904c <__multadd> - 8008e12: 45b0 cmp r8, r6 - 8008e14: 4682 mov sl, r0 - 8008e16: f04f 0300 mov.w r3, #0 - 8008e1a: f04f 020a mov.w r2, #10 - 8008e1e: 4641 mov r1, r8 - 8008e20: 4628 mov r0, r5 - 8008e22: d107 bne.n 8008e34 <_dtoa_r+0xb04> - 8008e24: f000 f912 bl 800904c <__multadd> - 8008e28: 4680 mov r8, r0 - 8008e2a: 4606 mov r6, r0 - 8008e2c: 9b08 ldr r3, [sp, #32] - 8008e2e: 3301 adds r3, #1 - 8008e30: 9308 str r3, [sp, #32] - 8008e32: e775 b.n 8008d20 <_dtoa_r+0x9f0> - 8008e34: f000 f90a bl 800904c <__multadd> - 8008e38: 4631 mov r1, r6 - 8008e3a: 4680 mov r8, r0 - 8008e3c: 2300 movs r3, #0 - 8008e3e: 220a movs r2, #10 - 8008e40: 4628 mov r0, r5 - 8008e42: f000 f903 bl 800904c <__multadd> - 8008e46: 4606 mov r6, r0 - 8008e48: e7f0 b.n 8008e2c <_dtoa_r+0xafc> - 8008e4a: 9b08 ldr r3, [sp, #32] - 8008e4c: 9306 str r3, [sp, #24] - 8008e4e: 9f03 ldr r7, [sp, #12] - 8008e50: 4621 mov r1, r4 - 8008e52: 4650 mov r0, sl - 8008e54: f7ff f9e1 bl 800821a - 8008e58: 9b03 ldr r3, [sp, #12] - 8008e5a: f100 0930 add.w r9, r0, #48 ; 0x30 - 8008e5e: f807 9b01 strb.w r9, [r7], #1 - 8008e62: 1afa subs r2, r7, r3 - 8008e64: 9b06 ldr r3, [sp, #24] - 8008e66: 4293 cmp r3, r2 - 8008e68: dd07 ble.n 8008e7a <_dtoa_r+0xb4a> - 8008e6a: 4651 mov r1, sl - 8008e6c: 2300 movs r3, #0 - 8008e6e: 220a movs r2, #10 - 8008e70: 4628 mov r0, r5 - 8008e72: f000 f8eb bl 800904c <__multadd> - 8008e76: 4682 mov sl, r0 - 8008e78: e7ea b.n 8008e50 <_dtoa_r+0xb20> - 8008e7a: 9b06 ldr r3, [sp, #24] - 8008e7c: f04f 0800 mov.w r8, #0 - 8008e80: 2b00 cmp r3, #0 - 8008e82: bfcc ite gt - 8008e84: 461f movgt r7, r3 - 8008e86: 2701 movle r7, #1 - 8008e88: 9b03 ldr r3, [sp, #12] - 8008e8a: 441f add r7, r3 - 8008e8c: 4651 mov r1, sl - 8008e8e: 2201 movs r2, #1 - 8008e90: 4628 mov r0, r5 - 8008e92: f000 fa87 bl 80093a4 <__lshift> - 8008e96: 4621 mov r1, r4 - 8008e98: 4682 mov sl, r0 - 8008e9a: f000 faef bl 800947c <__mcmp> - 8008e9e: 2800 cmp r0, #0 - 8008ea0: dc97 bgt.n 8008dd2 <_dtoa_r+0xaa2> - 8008ea2: d102 bne.n 8008eaa <_dtoa_r+0xb7a> - 8008ea4: f019 0f01 tst.w r9, #1 - 8008ea8: d193 bne.n 8008dd2 <_dtoa_r+0xaa2> - 8008eaa: 463b mov r3, r7 - 8008eac: 461f mov r7, r3 - 8008eae: f813 2d01 ldrb.w r2, [r3, #-1]! - 8008eb2: 2a30 cmp r2, #48 ; 0x30 - 8008eb4: d0fa beq.n 8008eac <_dtoa_r+0xb7c> - 8008eb6: e6e1 b.n 8008c7c <_dtoa_r+0x94c> - 8008eb8: 9a03 ldr r2, [sp, #12] - 8008eba: 429a cmp r2, r3 - 8008ebc: d18a bne.n 8008dd4 <_dtoa_r+0xaa4> - 8008ebe: 2331 movs r3, #49 ; 0x31 - 8008ec0: f10b 0b01 add.w fp, fp, #1 - 8008ec4: e797 b.n 8008df6 <_dtoa_r+0xac6> - 8008ec6: 4b0a ldr r3, [pc, #40] ; (8008ef0 <_dtoa_r+0xbc0>) - 8008ec8: f7ff ba9f b.w 800840a <_dtoa_r+0xda> - 8008ecc: 9b26 ldr r3, [sp, #152] ; 0x98 - 8008ece: 2b00 cmp r3, #0 - 8008ed0: f47f aa77 bne.w 80083c2 <_dtoa_r+0x92> - 8008ed4: 4b07 ldr r3, [pc, #28] ; (8008ef4 <_dtoa_r+0xbc4>) - 8008ed6: f7ff ba98 b.w 800840a <_dtoa_r+0xda> - 8008eda: 9b06 ldr r3, [sp, #24] - 8008edc: 2b00 cmp r3, #0 - 8008ede: dcb6 bgt.n 8008e4e <_dtoa_r+0xb1e> - 8008ee0: 9b22 ldr r3, [sp, #136] ; 0x88 - 8008ee2: 2b02 cmp r3, #2 - 8008ee4: f73f aeb5 bgt.w 8008c52 <_dtoa_r+0x922> - 8008ee8: e7b1 b.n 8008e4e <_dtoa_r+0xb1e> - 8008eea: bf00 nop - 8008eec: 0800ac58 .word 0x0800ac58 - 8008ef0: 0800abb8 .word 0x0800abb8 - 8008ef4: 0800abdc .word 0x0800abdc +080099cc <__i2b>: + 80099cc: b510 push {r4, lr} + 80099ce: 460c mov r4, r1 + 80099d0: 2101 movs r1, #1 + 80099d2: f7ff ff05 bl 80097e0 <_Balloc> + 80099d6: 4602 mov r2, r0 + 80099d8: b928 cbnz r0, 80099e6 <__i2b+0x1a> + 80099da: f240 1145 movw r1, #325 ; 0x145 + 80099de: 4b04 ldr r3, [pc, #16] ; (80099f0 <__i2b+0x24>) + 80099e0: 4804 ldr r0, [pc, #16] ; (80099f4 <__i2b+0x28>) + 80099e2: f000 fe65 bl 800a6b0 <__assert_func> + 80099e6: 2301 movs r3, #1 + 80099e8: 6144 str r4, [r0, #20] + 80099ea: 6103 str r3, [r0, #16] + 80099ec: bd10 pop {r4, pc} + 80099ee: bf00 nop + 80099f0: 0800b4a8 .word 0x0800b4a8 + 80099f4: 0800b4b9 .word 0x0800b4b9 -08008ef8 <_free_r>: - 8008ef8: b538 push {r3, r4, r5, lr} - 8008efa: 4605 mov r5, r0 - 8008efc: 2900 cmp r1, #0 - 8008efe: d040 beq.n 8008f82 <_free_r+0x8a> - 8008f00: f851 3c04 ldr.w r3, [r1, #-4] - 8008f04: 1f0c subs r4, r1, #4 - 8008f06: 2b00 cmp r3, #0 - 8008f08: bfb8 it lt - 8008f0a: 18e4 addlt r4, r4, r3 - 8008f0c: f7fe fac4 bl 8007498 <__malloc_lock> - 8008f10: 4a1c ldr r2, [pc, #112] ; (8008f84 <_free_r+0x8c>) - 8008f12: 6813 ldr r3, [r2, #0] - 8008f14: b933 cbnz r3, 8008f24 <_free_r+0x2c> - 8008f16: 6063 str r3, [r4, #4] - 8008f18: 6014 str r4, [r2, #0] - 8008f1a: 4628 mov r0, r5 - 8008f1c: e8bd 4038 ldmia.w sp!, {r3, r4, r5, lr} - 8008f20: f7fe bac0 b.w 80074a4 <__malloc_unlock> - 8008f24: 42a3 cmp r3, r4 - 8008f26: d908 bls.n 8008f3a <_free_r+0x42> - 8008f28: 6820 ldr r0, [r4, #0] - 8008f2a: 1821 adds r1, r4, r0 - 8008f2c: 428b cmp r3, r1 - 8008f2e: bf01 itttt eq - 8008f30: 6819 ldreq r1, [r3, #0] - 8008f32: 685b ldreq r3, [r3, #4] - 8008f34: 1809 addeq r1, r1, r0 - 8008f36: 6021 streq r1, [r4, #0] - 8008f38: e7ed b.n 8008f16 <_free_r+0x1e> - 8008f3a: 461a mov r2, r3 - 8008f3c: 685b ldr r3, [r3, #4] - 8008f3e: b10b cbz r3, 8008f44 <_free_r+0x4c> - 8008f40: 42a3 cmp r3, r4 - 8008f42: d9fa bls.n 8008f3a <_free_r+0x42> - 8008f44: 6811 ldr r1, [r2, #0] - 8008f46: 1850 adds r0, r2, r1 - 8008f48: 42a0 cmp r0, r4 - 8008f4a: d10b bne.n 8008f64 <_free_r+0x6c> - 8008f4c: 6820 ldr r0, [r4, #0] - 8008f4e: 4401 add r1, r0 - 8008f50: 1850 adds r0, r2, r1 - 8008f52: 4283 cmp r3, r0 - 8008f54: 6011 str r1, [r2, #0] - 8008f56: d1e0 bne.n 8008f1a <_free_r+0x22> - 8008f58: 6818 ldr r0, [r3, #0] - 8008f5a: 685b ldr r3, [r3, #4] - 8008f5c: 4408 add r0, r1 - 8008f5e: 6010 str r0, [r2, #0] - 8008f60: 6053 str r3, [r2, #4] - 8008f62: e7da b.n 8008f1a <_free_r+0x22> - 8008f64: d902 bls.n 8008f6c <_free_r+0x74> - 8008f66: 230c movs r3, #12 - 8008f68: 602b str r3, [r5, #0] - 8008f6a: e7d6 b.n 8008f1a <_free_r+0x22> - 8008f6c: 6820 ldr r0, [r4, #0] - 8008f6e: 1821 adds r1, r4, r0 - 8008f70: 428b cmp r3, r1 - 8008f72: bf01 itttt eq - 8008f74: 6819 ldreq r1, [r3, #0] - 8008f76: 685b ldreq r3, [r3, #4] - 8008f78: 1809 addeq r1, r1, r0 - 8008f7a: 6021 streq r1, [r4, #0] - 8008f7c: 6063 str r3, [r4, #4] - 8008f7e: 6054 str r4, [r2, #4] - 8008f80: e7cb b.n 8008f1a <_free_r+0x22> - 8008f82: bd38 pop {r3, r4, r5, pc} - 8008f84: 20002514 .word 0x20002514 +080099f8 <__multiply>: + 80099f8: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 80099fc: 4691 mov r9, r2 + 80099fe: 690a ldr r2, [r1, #16] + 8009a00: f8d9 3010 ldr.w r3, [r9, #16] + 8009a04: 460c mov r4, r1 + 8009a06: 429a cmp r2, r3 + 8009a08: bfbe ittt lt + 8009a0a: 460b movlt r3, r1 + 8009a0c: 464c movlt r4, r9 + 8009a0e: 4699 movlt r9, r3 + 8009a10: 6927 ldr r7, [r4, #16] + 8009a12: f8d9 a010 ldr.w sl, [r9, #16] + 8009a16: 68a3 ldr r3, [r4, #8] + 8009a18: 6861 ldr r1, [r4, #4] + 8009a1a: eb07 060a add.w r6, r7, sl + 8009a1e: 42b3 cmp r3, r6 + 8009a20: b085 sub sp, #20 + 8009a22: bfb8 it lt + 8009a24: 3101 addlt r1, #1 + 8009a26: f7ff fedb bl 80097e0 <_Balloc> + 8009a2a: b930 cbnz r0, 8009a3a <__multiply+0x42> + 8009a2c: 4602 mov r2, r0 + 8009a2e: f44f 71b1 mov.w r1, #354 ; 0x162 + 8009a32: 4b43 ldr r3, [pc, #268] ; (8009b40 <__multiply+0x148>) + 8009a34: 4843 ldr r0, [pc, #268] ; (8009b44 <__multiply+0x14c>) + 8009a36: f000 fe3b bl 800a6b0 <__assert_func> + 8009a3a: f100 0514 add.w r5, r0, #20 + 8009a3e: 462b mov r3, r5 + 8009a40: 2200 movs r2, #0 + 8009a42: eb05 0886 add.w r8, r5, r6, lsl #2 + 8009a46: 4543 cmp r3, r8 + 8009a48: d321 bcc.n 8009a8e <__multiply+0x96> + 8009a4a: f104 0314 add.w r3, r4, #20 + 8009a4e: eb03 0787 add.w r7, r3, r7, lsl #2 + 8009a52: f109 0314 add.w r3, r9, #20 + 8009a56: eb03 028a add.w r2, r3, sl, lsl #2 + 8009a5a: 9202 str r2, [sp, #8] + 8009a5c: 1b3a subs r2, r7, r4 + 8009a5e: 3a15 subs r2, #21 + 8009a60: f022 0203 bic.w r2, r2, #3 + 8009a64: 3204 adds r2, #4 + 8009a66: f104 0115 add.w r1, r4, #21 + 8009a6a: 428f cmp r7, r1 + 8009a6c: bf38 it cc + 8009a6e: 2204 movcc r2, #4 + 8009a70: 9201 str r2, [sp, #4] + 8009a72: 9a02 ldr r2, [sp, #8] + 8009a74: 9303 str r3, [sp, #12] + 8009a76: 429a cmp r2, r3 + 8009a78: d80c bhi.n 8009a94 <__multiply+0x9c> + 8009a7a: 2e00 cmp r6, #0 + 8009a7c: dd03 ble.n 8009a86 <__multiply+0x8e> + 8009a7e: f858 3d04 ldr.w r3, [r8, #-4]! + 8009a82: 2b00 cmp r3, #0 + 8009a84: d05a beq.n 8009b3c <__multiply+0x144> + 8009a86: 6106 str r6, [r0, #16] + 8009a88: b005 add sp, #20 + 8009a8a: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 8009a8e: f843 2b04 str.w r2, [r3], #4 + 8009a92: e7d8 b.n 8009a46 <__multiply+0x4e> + 8009a94: f8b3 a000 ldrh.w sl, [r3] + 8009a98: f1ba 0f00 cmp.w sl, #0 + 8009a9c: d023 beq.n 8009ae6 <__multiply+0xee> + 8009a9e: 46a9 mov r9, r5 + 8009aa0: f04f 0c00 mov.w ip, #0 + 8009aa4: f104 0e14 add.w lr, r4, #20 + 8009aa8: f85e 2b04 ldr.w r2, [lr], #4 + 8009aac: f8d9 1000 ldr.w r1, [r9] + 8009ab0: fa1f fb82 uxth.w fp, r2 + 8009ab4: b289 uxth r1, r1 + 8009ab6: fb0a 110b mla r1, sl, fp, r1 + 8009aba: 4461 add r1, ip + 8009abc: f8d9 c000 ldr.w ip, [r9] + 8009ac0: 0c12 lsrs r2, r2, #16 + 8009ac2: ea4f 4c1c mov.w ip, ip, lsr #16 + 8009ac6: fb0a c202 mla r2, sl, r2, ip + 8009aca: eb02 4211 add.w r2, r2, r1, lsr #16 + 8009ace: b289 uxth r1, r1 + 8009ad0: ea41 4102 orr.w r1, r1, r2, lsl #16 + 8009ad4: 4577 cmp r7, lr + 8009ad6: ea4f 4c12 mov.w ip, r2, lsr #16 + 8009ada: f849 1b04 str.w r1, [r9], #4 + 8009ade: d8e3 bhi.n 8009aa8 <__multiply+0xb0> + 8009ae0: 9a01 ldr r2, [sp, #4] + 8009ae2: f845 c002 str.w ip, [r5, r2] + 8009ae6: 9a03 ldr r2, [sp, #12] + 8009ae8: 3304 adds r3, #4 + 8009aea: f8b2 9002 ldrh.w r9, [r2, #2] + 8009aee: f1b9 0f00 cmp.w r9, #0 + 8009af2: d021 beq.n 8009b38 <__multiply+0x140> + 8009af4: 46ae mov lr, r5 + 8009af6: f04f 0a00 mov.w sl, #0 + 8009afa: 6829 ldr r1, [r5, #0] + 8009afc: f104 0c14 add.w ip, r4, #20 + 8009b00: f8bc b000 ldrh.w fp, [ip] + 8009b04: f8be 2002 ldrh.w r2, [lr, #2] + 8009b08: b289 uxth r1, r1 + 8009b0a: fb09 220b mla r2, r9, fp, r2 + 8009b0e: 4452 add r2, sl + 8009b10: ea41 4102 orr.w r1, r1, r2, lsl #16 + 8009b14: f84e 1b04 str.w r1, [lr], #4 + 8009b18: f85c 1b04 ldr.w r1, [ip], #4 + 8009b1c: ea4f 4a11 mov.w sl, r1, lsr #16 + 8009b20: f8be 1000 ldrh.w r1, [lr] + 8009b24: 4567 cmp r7, ip + 8009b26: fb09 110a mla r1, r9, sl, r1 + 8009b2a: eb01 4112 add.w r1, r1, r2, lsr #16 + 8009b2e: ea4f 4a11 mov.w sl, r1, lsr #16 + 8009b32: d8e5 bhi.n 8009b00 <__multiply+0x108> + 8009b34: 9a01 ldr r2, [sp, #4] + 8009b36: 50a9 str r1, [r5, r2] + 8009b38: 3504 adds r5, #4 + 8009b3a: e79a b.n 8009a72 <__multiply+0x7a> + 8009b3c: 3e01 subs r6, #1 + 8009b3e: e79c b.n 8009a7a <__multiply+0x82> + 8009b40: 0800b4a8 .word 0x0800b4a8 + 8009b44: 0800b4b9 .word 0x0800b4b9 -08008f88 <_Balloc>: - 8008f88: b570 push {r4, r5, r6, lr} - 8008f8a: 69c6 ldr r6, [r0, #28] - 8008f8c: 4604 mov r4, r0 - 8008f8e: 460d mov r5, r1 - 8008f90: b976 cbnz r6, 8008fb0 <_Balloc+0x28> - 8008f92: 2010 movs r0, #16 - 8008f94: f7fe f9d0 bl 8007338 - 8008f98: 4602 mov r2, r0 - 8008f9a: 61e0 str r0, [r4, #28] - 8008f9c: b920 cbnz r0, 8008fa8 <_Balloc+0x20> - 8008f9e: 216b movs r1, #107 ; 0x6b - 8008fa0: 4b17 ldr r3, [pc, #92] ; (8009000 <_Balloc+0x78>) - 8008fa2: 4818 ldr r0, [pc, #96] ; (8009004 <_Balloc+0x7c>) - 8008fa4: f000 ff58 bl 8009e58 <__assert_func> - 8008fa8: e9c0 6601 strd r6, r6, [r0, #4] - 8008fac: 6006 str r6, [r0, #0] - 8008fae: 60c6 str r6, [r0, #12] - 8008fb0: 69e6 ldr r6, [r4, #28] - 8008fb2: 68f3 ldr r3, [r6, #12] - 8008fb4: b183 cbz r3, 8008fd8 <_Balloc+0x50> - 8008fb6: 69e3 ldr r3, [r4, #28] - 8008fb8: 68db ldr r3, [r3, #12] - 8008fba: f853 0025 ldr.w r0, [r3, r5, lsl #2] - 8008fbe: b9b8 cbnz r0, 8008ff0 <_Balloc+0x68> - 8008fc0: 2101 movs r1, #1 - 8008fc2: fa01 f605 lsl.w r6, r1, r5 - 8008fc6: 1d72 adds r2, r6, #5 - 8008fc8: 4620 mov r0, r4 - 8008fca: 0092 lsls r2, r2, #2 - 8008fcc: f000 ff62 bl 8009e94 <_calloc_r> - 8008fd0: b160 cbz r0, 8008fec <_Balloc+0x64> - 8008fd2: e9c0 5601 strd r5, r6, [r0, #4] - 8008fd6: e00e b.n 8008ff6 <_Balloc+0x6e> - 8008fd8: 2221 movs r2, #33 ; 0x21 - 8008fda: 2104 movs r1, #4 - 8008fdc: 4620 mov r0, r4 - 8008fde: f000 ff59 bl 8009e94 <_calloc_r> - 8008fe2: 69e3 ldr r3, [r4, #28] - 8008fe4: 60f0 str r0, [r6, #12] - 8008fe6: 68db ldr r3, [r3, #12] - 8008fe8: 2b00 cmp r3, #0 - 8008fea: d1e4 bne.n 8008fb6 <_Balloc+0x2e> - 8008fec: 2000 movs r0, #0 - 8008fee: bd70 pop {r4, r5, r6, pc} - 8008ff0: 6802 ldr r2, [r0, #0] - 8008ff2: f843 2025 str.w r2, [r3, r5, lsl #2] - 8008ff6: 2300 movs r3, #0 - 8008ff8: e9c0 3303 strd r3, r3, [r0, #12] - 8008ffc: e7f7 b.n 8008fee <_Balloc+0x66> - 8008ffe: bf00 nop - 8009000: 0800abe9 .word 0x0800abe9 - 8009004: 0800ac69 .word 0x0800ac69 +08009b48 <__pow5mult>: + 8009b48: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} + 8009b4c: 4615 mov r5, r2 + 8009b4e: f012 0203 ands.w r2, r2, #3 + 8009b52: 4606 mov r6, r0 + 8009b54: 460f mov r7, r1 + 8009b56: d007 beq.n 8009b68 <__pow5mult+0x20> + 8009b58: 4c25 ldr r4, [pc, #148] ; (8009bf0 <__pow5mult+0xa8>) + 8009b5a: 3a01 subs r2, #1 + 8009b5c: 2300 movs r3, #0 + 8009b5e: f854 2022 ldr.w r2, [r4, r2, lsl #2] + 8009b62: f7ff fe9f bl 80098a4 <__multadd> + 8009b66: 4607 mov r7, r0 + 8009b68: 10ad asrs r5, r5, #2 + 8009b6a: d03d beq.n 8009be8 <__pow5mult+0xa0> + 8009b6c: 69f4 ldr r4, [r6, #28] + 8009b6e: b97c cbnz r4, 8009b90 <__pow5mult+0x48> + 8009b70: 2010 movs r0, #16 + 8009b72: f7fe f80f bl 8007b94 + 8009b76: 4602 mov r2, r0 + 8009b78: 61f0 str r0, [r6, #28] + 8009b7a: b928 cbnz r0, 8009b88 <__pow5mult+0x40> + 8009b7c: f240 11b3 movw r1, #435 ; 0x1b3 + 8009b80: 4b1c ldr r3, [pc, #112] ; (8009bf4 <__pow5mult+0xac>) + 8009b82: 481d ldr r0, [pc, #116] ; (8009bf8 <__pow5mult+0xb0>) + 8009b84: f000 fd94 bl 800a6b0 <__assert_func> + 8009b88: e9c0 4401 strd r4, r4, [r0, #4] + 8009b8c: 6004 str r4, [r0, #0] + 8009b8e: 60c4 str r4, [r0, #12] + 8009b90: f8d6 801c ldr.w r8, [r6, #28] + 8009b94: f8d8 4008 ldr.w r4, [r8, #8] + 8009b98: b94c cbnz r4, 8009bae <__pow5mult+0x66> + 8009b9a: f240 2171 movw r1, #625 ; 0x271 + 8009b9e: 4630 mov r0, r6 + 8009ba0: f7ff ff14 bl 80099cc <__i2b> + 8009ba4: 2300 movs r3, #0 + 8009ba6: 4604 mov r4, r0 + 8009ba8: f8c8 0008 str.w r0, [r8, #8] + 8009bac: 6003 str r3, [r0, #0] + 8009bae: f04f 0900 mov.w r9, #0 + 8009bb2: 07eb lsls r3, r5, #31 + 8009bb4: d50a bpl.n 8009bcc <__pow5mult+0x84> + 8009bb6: 4639 mov r1, r7 + 8009bb8: 4622 mov r2, r4 + 8009bba: 4630 mov r0, r6 + 8009bbc: f7ff ff1c bl 80099f8 <__multiply> + 8009bc0: 4680 mov r8, r0 + 8009bc2: 4639 mov r1, r7 + 8009bc4: 4630 mov r0, r6 + 8009bc6: f7ff fe4b bl 8009860 <_Bfree> + 8009bca: 4647 mov r7, r8 + 8009bcc: 106d asrs r5, r5, #1 + 8009bce: d00b beq.n 8009be8 <__pow5mult+0xa0> + 8009bd0: 6820 ldr r0, [r4, #0] + 8009bd2: b938 cbnz r0, 8009be4 <__pow5mult+0x9c> + 8009bd4: 4622 mov r2, r4 + 8009bd6: 4621 mov r1, r4 + 8009bd8: 4630 mov r0, r6 + 8009bda: f7ff ff0d bl 80099f8 <__multiply> + 8009bde: 6020 str r0, [r4, #0] + 8009be0: f8c0 9000 str.w r9, [r0] + 8009be4: 4604 mov r4, r0 + 8009be6: e7e4 b.n 8009bb2 <__pow5mult+0x6a> + 8009be8: 4638 mov r0, r7 + 8009bea: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + 8009bee: bf00 nop + 8009bf0: 0800b608 .word 0x0800b608 + 8009bf4: 0800b439 .word 0x0800b439 + 8009bf8: 0800b4b9 .word 0x0800b4b9 -08009008 <_Bfree>: - 8009008: b570 push {r4, r5, r6, lr} - 800900a: 69c6 ldr r6, [r0, #28] - 800900c: 4605 mov r5, r0 - 800900e: 460c mov r4, r1 - 8009010: b976 cbnz r6, 8009030 <_Bfree+0x28> - 8009012: 2010 movs r0, #16 - 8009014: f7fe f990 bl 8007338 - 8009018: 4602 mov r2, r0 - 800901a: 61e8 str r0, [r5, #28] - 800901c: b920 cbnz r0, 8009028 <_Bfree+0x20> - 800901e: 218f movs r1, #143 ; 0x8f - 8009020: 4b08 ldr r3, [pc, #32] ; (8009044 <_Bfree+0x3c>) - 8009022: 4809 ldr r0, [pc, #36] ; (8009048 <_Bfree+0x40>) - 8009024: f000 ff18 bl 8009e58 <__assert_func> - 8009028: e9c0 6601 strd r6, r6, [r0, #4] - 800902c: 6006 str r6, [r0, #0] - 800902e: 60c6 str r6, [r0, #12] - 8009030: b13c cbz r4, 8009042 <_Bfree+0x3a> - 8009032: 69eb ldr r3, [r5, #28] - 8009034: 6862 ldr r2, [r4, #4] - 8009036: 68db ldr r3, [r3, #12] - 8009038: f853 1022 ldr.w r1, [r3, r2, lsl #2] - 800903c: 6021 str r1, [r4, #0] - 800903e: f843 4022 str.w r4, [r3, r2, lsl #2] - 8009042: bd70 pop {r4, r5, r6, pc} - 8009044: 0800abe9 .word 0x0800abe9 - 8009048: 0800ac69 .word 0x0800ac69 +08009bfc <__lshift>: + 8009bfc: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} + 8009c00: 460c mov r4, r1 + 8009c02: 4607 mov r7, r0 + 8009c04: 4691 mov r9, r2 + 8009c06: 6923 ldr r3, [r4, #16] + 8009c08: 6849 ldr r1, [r1, #4] + 8009c0a: eb03 1862 add.w r8, r3, r2, asr #5 + 8009c0e: 68a3 ldr r3, [r4, #8] + 8009c10: ea4f 1a62 mov.w sl, r2, asr #5 + 8009c14: f108 0601 add.w r6, r8, #1 + 8009c18: 42b3 cmp r3, r6 + 8009c1a: db0b blt.n 8009c34 <__lshift+0x38> + 8009c1c: 4638 mov r0, r7 + 8009c1e: f7ff fddf bl 80097e0 <_Balloc> + 8009c22: 4605 mov r5, r0 + 8009c24: b948 cbnz r0, 8009c3a <__lshift+0x3e> + 8009c26: 4602 mov r2, r0 + 8009c28: f44f 71ef mov.w r1, #478 ; 0x1de + 8009c2c: 4b27 ldr r3, [pc, #156] ; (8009ccc <__lshift+0xd0>) + 8009c2e: 4828 ldr r0, [pc, #160] ; (8009cd0 <__lshift+0xd4>) + 8009c30: f000 fd3e bl 800a6b0 <__assert_func> + 8009c34: 3101 adds r1, #1 + 8009c36: 005b lsls r3, r3, #1 + 8009c38: e7ee b.n 8009c18 <__lshift+0x1c> + 8009c3a: 2300 movs r3, #0 + 8009c3c: f100 0114 add.w r1, r0, #20 + 8009c40: f100 0210 add.w r2, r0, #16 + 8009c44: 4618 mov r0, r3 + 8009c46: 4553 cmp r3, sl + 8009c48: db33 blt.n 8009cb2 <__lshift+0xb6> + 8009c4a: 6920 ldr r0, [r4, #16] + 8009c4c: ea2a 7aea bic.w sl, sl, sl, asr #31 + 8009c50: f104 0314 add.w r3, r4, #20 + 8009c54: f019 091f ands.w r9, r9, #31 + 8009c58: eb01 018a add.w r1, r1, sl, lsl #2 + 8009c5c: eb03 0c80 add.w ip, r3, r0, lsl #2 + 8009c60: d02b beq.n 8009cba <__lshift+0xbe> + 8009c62: 468a mov sl, r1 + 8009c64: 2200 movs r2, #0 + 8009c66: f1c9 0e20 rsb lr, r9, #32 + 8009c6a: 6818 ldr r0, [r3, #0] + 8009c6c: fa00 f009 lsl.w r0, r0, r9 + 8009c70: 4310 orrs r0, r2 + 8009c72: f84a 0b04 str.w r0, [sl], #4 + 8009c76: f853 2b04 ldr.w r2, [r3], #4 + 8009c7a: 459c cmp ip, r3 + 8009c7c: fa22 f20e lsr.w r2, r2, lr + 8009c80: d8f3 bhi.n 8009c6a <__lshift+0x6e> + 8009c82: ebac 0304 sub.w r3, ip, r4 + 8009c86: 3b15 subs r3, #21 + 8009c88: f023 0303 bic.w r3, r3, #3 + 8009c8c: 3304 adds r3, #4 + 8009c8e: f104 0015 add.w r0, r4, #21 + 8009c92: 4584 cmp ip, r0 + 8009c94: bf38 it cc + 8009c96: 2304 movcc r3, #4 + 8009c98: 50ca str r2, [r1, r3] + 8009c9a: b10a cbz r2, 8009ca0 <__lshift+0xa4> + 8009c9c: f108 0602 add.w r6, r8, #2 + 8009ca0: 3e01 subs r6, #1 + 8009ca2: 4638 mov r0, r7 + 8009ca4: 4621 mov r1, r4 + 8009ca6: 612e str r6, [r5, #16] + 8009ca8: f7ff fdda bl 8009860 <_Bfree> + 8009cac: 4628 mov r0, r5 + 8009cae: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 8009cb2: f842 0f04 str.w r0, [r2, #4]! + 8009cb6: 3301 adds r3, #1 + 8009cb8: e7c5 b.n 8009c46 <__lshift+0x4a> + 8009cba: 3904 subs r1, #4 + 8009cbc: f853 2b04 ldr.w r2, [r3], #4 + 8009cc0: 459c cmp ip, r3 + 8009cc2: f841 2f04 str.w r2, [r1, #4]! + 8009cc6: d8f9 bhi.n 8009cbc <__lshift+0xc0> + 8009cc8: e7ea b.n 8009ca0 <__lshift+0xa4> + 8009cca: bf00 nop + 8009ccc: 0800b4a8 .word 0x0800b4a8 + 8009cd0: 0800b4b9 .word 0x0800b4b9 -0800904c <__multadd>: - 800904c: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 8009050: 4607 mov r7, r0 - 8009052: 460c mov r4, r1 - 8009054: 461e mov r6, r3 - 8009056: 2000 movs r0, #0 - 8009058: 690d ldr r5, [r1, #16] - 800905a: f101 0c14 add.w ip, r1, #20 - 800905e: f8dc 3000 ldr.w r3, [ip] - 8009062: 3001 adds r0, #1 - 8009064: b299 uxth r1, r3 - 8009066: fb02 6101 mla r1, r2, r1, r6 - 800906a: 0c1e lsrs r6, r3, #16 - 800906c: 0c0b lsrs r3, r1, #16 - 800906e: fb02 3306 mla r3, r2, r6, r3 - 8009072: b289 uxth r1, r1 - 8009074: eb01 4103 add.w r1, r1, r3, lsl #16 - 8009078: 4285 cmp r5, r0 - 800907a: ea4f 4613 mov.w r6, r3, lsr #16 - 800907e: f84c 1b04 str.w r1, [ip], #4 - 8009082: dcec bgt.n 800905e <__multadd+0x12> - 8009084: b30e cbz r6, 80090ca <__multadd+0x7e> - 8009086: 68a3 ldr r3, [r4, #8] - 8009088: 42ab cmp r3, r5 - 800908a: dc19 bgt.n 80090c0 <__multadd+0x74> - 800908c: 6861 ldr r1, [r4, #4] - 800908e: 4638 mov r0, r7 - 8009090: 3101 adds r1, #1 - 8009092: f7ff ff79 bl 8008f88 <_Balloc> - 8009096: 4680 mov r8, r0 - 8009098: b928 cbnz r0, 80090a6 <__multadd+0x5a> - 800909a: 4602 mov r2, r0 - 800909c: 21ba movs r1, #186 ; 0xba - 800909e: 4b0c ldr r3, [pc, #48] ; (80090d0 <__multadd+0x84>) - 80090a0: 480c ldr r0, [pc, #48] ; (80090d4 <__multadd+0x88>) - 80090a2: f000 fed9 bl 8009e58 <__assert_func> - 80090a6: 6922 ldr r2, [r4, #16] - 80090a8: f104 010c add.w r1, r4, #12 - 80090ac: 3202 adds r2, #2 - 80090ae: 0092 lsls r2, r2, #2 - 80090b0: 300c adds r0, #12 - 80090b2: f000 fec3 bl 8009e3c - 80090b6: 4621 mov r1, r4 - 80090b8: 4638 mov r0, r7 - 80090ba: f7ff ffa5 bl 8009008 <_Bfree> - 80090be: 4644 mov r4, r8 - 80090c0: eb04 0385 add.w r3, r4, r5, lsl #2 - 80090c4: 3501 adds r5, #1 - 80090c6: 615e str r6, [r3, #20] - 80090c8: 6125 str r5, [r4, #16] - 80090ca: 4620 mov r0, r4 - 80090cc: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - 80090d0: 0800ac58 .word 0x0800ac58 - 80090d4: 0800ac69 .word 0x0800ac69 - -080090d8 <__hi0bits>: - 80090d8: 0c02 lsrs r2, r0, #16 - 80090da: 0412 lsls r2, r2, #16 - 80090dc: 4603 mov r3, r0 - 80090de: b9ca cbnz r2, 8009114 <__hi0bits+0x3c> - 80090e0: 0403 lsls r3, r0, #16 - 80090e2: 2010 movs r0, #16 - 80090e4: f013 4f7f tst.w r3, #4278190080 ; 0xff000000 - 80090e8: bf04 itt eq - 80090ea: 021b lsleq r3, r3, #8 - 80090ec: 3008 addeq r0, #8 - 80090ee: f013 4f70 tst.w r3, #4026531840 ; 0xf0000000 - 80090f2: bf04 itt eq - 80090f4: 011b lsleq r3, r3, #4 - 80090f6: 3004 addeq r0, #4 - 80090f8: f013 4f40 tst.w r3, #3221225472 ; 0xc0000000 - 80090fc: bf04 itt eq - 80090fe: 009b lsleq r3, r3, #2 - 8009100: 3002 addeq r0, #2 - 8009102: 2b00 cmp r3, #0 - 8009104: db05 blt.n 8009112 <__hi0bits+0x3a> - 8009106: f013 4f80 tst.w r3, #1073741824 ; 0x40000000 - 800910a: f100 0001 add.w r0, r0, #1 - 800910e: bf08 it eq - 8009110: 2020 moveq r0, #32 - 8009112: 4770 bx lr - 8009114: 2000 movs r0, #0 - 8009116: e7e5 b.n 80090e4 <__hi0bits+0xc> - -08009118 <__lo0bits>: - 8009118: 6803 ldr r3, [r0, #0] - 800911a: 4602 mov r2, r0 - 800911c: f013 0007 ands.w r0, r3, #7 - 8009120: d00b beq.n 800913a <__lo0bits+0x22> - 8009122: 07d9 lsls r1, r3, #31 - 8009124: d421 bmi.n 800916a <__lo0bits+0x52> - 8009126: 0798 lsls r0, r3, #30 - 8009128: bf49 itett mi - 800912a: 085b lsrmi r3, r3, #1 - 800912c: 089b lsrpl r3, r3, #2 - 800912e: 2001 movmi r0, #1 - 8009130: 6013 strmi r3, [r2, #0] - 8009132: bf5c itt pl - 8009134: 2002 movpl r0, #2 - 8009136: 6013 strpl r3, [r2, #0] - 8009138: 4770 bx lr - 800913a: b299 uxth r1, r3 - 800913c: b909 cbnz r1, 8009142 <__lo0bits+0x2a> - 800913e: 2010 movs r0, #16 - 8009140: 0c1b lsrs r3, r3, #16 - 8009142: b2d9 uxtb r1, r3 - 8009144: b909 cbnz r1, 800914a <__lo0bits+0x32> - 8009146: 3008 adds r0, #8 - 8009148: 0a1b lsrs r3, r3, #8 - 800914a: 0719 lsls r1, r3, #28 - 800914c: bf04 itt eq - 800914e: 091b lsreq r3, r3, #4 - 8009150: 3004 addeq r0, #4 - 8009152: 0799 lsls r1, r3, #30 - 8009154: bf04 itt eq - 8009156: 089b lsreq r3, r3, #2 - 8009158: 3002 addeq r0, #2 - 800915a: 07d9 lsls r1, r3, #31 - 800915c: d403 bmi.n 8009166 <__lo0bits+0x4e> - 800915e: 085b lsrs r3, r3, #1 - 8009160: f100 0001 add.w r0, r0, #1 - 8009164: d003 beq.n 800916e <__lo0bits+0x56> - 8009166: 6013 str r3, [r2, #0] - 8009168: 4770 bx lr - 800916a: 2000 movs r0, #0 - 800916c: 4770 bx lr - 800916e: 2020 movs r0, #32 - 8009170: 4770 bx lr +08009cd4 <__mcmp>: + 8009cd4: 4603 mov r3, r0 + 8009cd6: 690a ldr r2, [r1, #16] + 8009cd8: 6900 ldr r0, [r0, #16] + 8009cda: b530 push {r4, r5, lr} + 8009cdc: 1a80 subs r0, r0, r2 + 8009cde: d10d bne.n 8009cfc <__mcmp+0x28> + 8009ce0: 3314 adds r3, #20 + 8009ce2: 3114 adds r1, #20 + 8009ce4: eb03 0482 add.w r4, r3, r2, lsl #2 + 8009ce8: eb01 0182 add.w r1, r1, r2, lsl #2 + 8009cec: f854 5d04 ldr.w r5, [r4, #-4]! + 8009cf0: f851 2d04 ldr.w r2, [r1, #-4]! + 8009cf4: 4295 cmp r5, r2 + 8009cf6: d002 beq.n 8009cfe <__mcmp+0x2a> + 8009cf8: d304 bcc.n 8009d04 <__mcmp+0x30> + 8009cfa: 2001 movs r0, #1 + 8009cfc: bd30 pop {r4, r5, pc} + 8009cfe: 42a3 cmp r3, r4 + 8009d00: d3f4 bcc.n 8009cec <__mcmp+0x18> + 8009d02: e7fb b.n 8009cfc <__mcmp+0x28> + 8009d04: f04f 30ff mov.w r0, #4294967295 + 8009d08: e7f8 b.n 8009cfc <__mcmp+0x28> ... -08009174 <__i2b>: - 8009174: b510 push {r4, lr} - 8009176: 460c mov r4, r1 - 8009178: 2101 movs r1, #1 - 800917a: f7ff ff05 bl 8008f88 <_Balloc> - 800917e: 4602 mov r2, r0 - 8009180: b928 cbnz r0, 800918e <__i2b+0x1a> - 8009182: f240 1145 movw r1, #325 ; 0x145 - 8009186: 4b04 ldr r3, [pc, #16] ; (8009198 <__i2b+0x24>) - 8009188: 4804 ldr r0, [pc, #16] ; (800919c <__i2b+0x28>) - 800918a: f000 fe65 bl 8009e58 <__assert_func> - 800918e: 2301 movs r3, #1 - 8009190: 6144 str r4, [r0, #20] - 8009192: 6103 str r3, [r0, #16] - 8009194: bd10 pop {r4, pc} - 8009196: bf00 nop - 8009198: 0800ac58 .word 0x0800ac58 - 800919c: 0800ac69 .word 0x0800ac69 +08009d0c <__mdiff>: + 8009d0c: e92d 4ff8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} + 8009d10: 460d mov r5, r1 + 8009d12: 4607 mov r7, r0 + 8009d14: 4611 mov r1, r2 + 8009d16: 4628 mov r0, r5 + 8009d18: 4614 mov r4, r2 + 8009d1a: f7ff ffdb bl 8009cd4 <__mcmp> + 8009d1e: 1e06 subs r6, r0, #0 + 8009d20: d111 bne.n 8009d46 <__mdiff+0x3a> + 8009d22: 4631 mov r1, r6 + 8009d24: 4638 mov r0, r7 + 8009d26: f7ff fd5b bl 80097e0 <_Balloc> + 8009d2a: 4602 mov r2, r0 + 8009d2c: b928 cbnz r0, 8009d3a <__mdiff+0x2e> + 8009d2e: f240 2137 movw r1, #567 ; 0x237 + 8009d32: 4b3a ldr r3, [pc, #232] ; (8009e1c <__mdiff+0x110>) + 8009d34: 483a ldr r0, [pc, #232] ; (8009e20 <__mdiff+0x114>) + 8009d36: f000 fcbb bl 800a6b0 <__assert_func> + 8009d3a: 2301 movs r3, #1 + 8009d3c: e9c0 3604 strd r3, r6, [r0, #16] + 8009d40: 4610 mov r0, r2 + 8009d42: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} + 8009d46: bfa4 itt ge + 8009d48: 4623 movge r3, r4 + 8009d4a: 462c movge r4, r5 + 8009d4c: 4638 mov r0, r7 + 8009d4e: 6861 ldr r1, [r4, #4] + 8009d50: bfa6 itte ge + 8009d52: 461d movge r5, r3 + 8009d54: 2600 movge r6, #0 + 8009d56: 2601 movlt r6, #1 + 8009d58: f7ff fd42 bl 80097e0 <_Balloc> + 8009d5c: 4602 mov r2, r0 + 8009d5e: b918 cbnz r0, 8009d68 <__mdiff+0x5c> + 8009d60: f240 2145 movw r1, #581 ; 0x245 + 8009d64: 4b2d ldr r3, [pc, #180] ; (8009e1c <__mdiff+0x110>) + 8009d66: e7e5 b.n 8009d34 <__mdiff+0x28> + 8009d68: f102 0814 add.w r8, r2, #20 + 8009d6c: 46c2 mov sl, r8 + 8009d6e: f04f 0c00 mov.w ip, #0 + 8009d72: 6927 ldr r7, [r4, #16] + 8009d74: 60c6 str r6, [r0, #12] + 8009d76: 692e ldr r6, [r5, #16] + 8009d78: f104 0014 add.w r0, r4, #20 + 8009d7c: f105 0914 add.w r9, r5, #20 + 8009d80: eb00 0e87 add.w lr, r0, r7, lsl #2 + 8009d84: eb09 0686 add.w r6, r9, r6, lsl #2 + 8009d88: 3410 adds r4, #16 + 8009d8a: f854 bf04 ldr.w fp, [r4, #4]! + 8009d8e: f859 3b04 ldr.w r3, [r9], #4 + 8009d92: fa1f f18b uxth.w r1, fp + 8009d96: 4461 add r1, ip + 8009d98: fa1f fc83 uxth.w ip, r3 + 8009d9c: 0c1b lsrs r3, r3, #16 + 8009d9e: eba1 010c sub.w r1, r1, ip + 8009da2: ebc3 431b rsb r3, r3, fp, lsr #16 + 8009da6: eb03 4321 add.w r3, r3, r1, asr #16 + 8009daa: b289 uxth r1, r1 + 8009dac: ea41 4103 orr.w r1, r1, r3, lsl #16 + 8009db0: 454e cmp r6, r9 + 8009db2: ea4f 4c23 mov.w ip, r3, asr #16 + 8009db6: f84a 1b04 str.w r1, [sl], #4 + 8009dba: d8e6 bhi.n 8009d8a <__mdiff+0x7e> + 8009dbc: 1b73 subs r3, r6, r5 + 8009dbe: 3b15 subs r3, #21 + 8009dc0: f023 0303 bic.w r3, r3, #3 + 8009dc4: 3515 adds r5, #21 + 8009dc6: 3304 adds r3, #4 + 8009dc8: 42ae cmp r6, r5 + 8009dca: bf38 it cc + 8009dcc: 2304 movcc r3, #4 + 8009dce: 4418 add r0, r3 + 8009dd0: 4443 add r3, r8 + 8009dd2: 461e mov r6, r3 + 8009dd4: 4605 mov r5, r0 + 8009dd6: 4575 cmp r5, lr + 8009dd8: d30e bcc.n 8009df8 <__mdiff+0xec> + 8009dda: f10e 0103 add.w r1, lr, #3 + 8009dde: 1a09 subs r1, r1, r0 + 8009de0: f021 0103 bic.w r1, r1, #3 + 8009de4: 3803 subs r0, #3 + 8009de6: 4586 cmp lr, r0 + 8009de8: bf38 it cc + 8009dea: 2100 movcc r1, #0 + 8009dec: 440b add r3, r1 + 8009dee: f853 1d04 ldr.w r1, [r3, #-4]! + 8009df2: b189 cbz r1, 8009e18 <__mdiff+0x10c> + 8009df4: 6117 str r7, [r2, #16] + 8009df6: e7a3 b.n 8009d40 <__mdiff+0x34> + 8009df8: f855 8b04 ldr.w r8, [r5], #4 + 8009dfc: fa1f f188 uxth.w r1, r8 + 8009e00: 4461 add r1, ip + 8009e02: 140c asrs r4, r1, #16 + 8009e04: eb04 4418 add.w r4, r4, r8, lsr #16 + 8009e08: b289 uxth r1, r1 + 8009e0a: ea41 4104 orr.w r1, r1, r4, lsl #16 + 8009e0e: ea4f 4c24 mov.w ip, r4, asr #16 + 8009e12: f846 1b04 str.w r1, [r6], #4 + 8009e16: e7de b.n 8009dd6 <__mdiff+0xca> + 8009e18: 3f01 subs r7, #1 + 8009e1a: e7e8 b.n 8009dee <__mdiff+0xe2> + 8009e1c: 0800b4a8 .word 0x0800b4a8 + 8009e20: 0800b4b9 .word 0x0800b4b9 -080091a0 <__multiply>: - 80091a0: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 80091a4: 4691 mov r9, r2 - 80091a6: 690a ldr r2, [r1, #16] - 80091a8: f8d9 3010 ldr.w r3, [r9, #16] - 80091ac: 460c mov r4, r1 - 80091ae: 429a cmp r2, r3 - 80091b0: bfbe ittt lt - 80091b2: 460b movlt r3, r1 - 80091b4: 464c movlt r4, r9 - 80091b6: 4699 movlt r9, r3 - 80091b8: 6927 ldr r7, [r4, #16] - 80091ba: f8d9 a010 ldr.w sl, [r9, #16] - 80091be: 68a3 ldr r3, [r4, #8] - 80091c0: 6861 ldr r1, [r4, #4] - 80091c2: eb07 060a add.w r6, r7, sl - 80091c6: 42b3 cmp r3, r6 - 80091c8: b085 sub sp, #20 - 80091ca: bfb8 it lt - 80091cc: 3101 addlt r1, #1 - 80091ce: f7ff fedb bl 8008f88 <_Balloc> - 80091d2: b930 cbnz r0, 80091e2 <__multiply+0x42> - 80091d4: 4602 mov r2, r0 - 80091d6: f44f 71b1 mov.w r1, #354 ; 0x162 - 80091da: 4b43 ldr r3, [pc, #268] ; (80092e8 <__multiply+0x148>) - 80091dc: 4843 ldr r0, [pc, #268] ; (80092ec <__multiply+0x14c>) - 80091de: f000 fe3b bl 8009e58 <__assert_func> - 80091e2: f100 0514 add.w r5, r0, #20 - 80091e6: 462b mov r3, r5 - 80091e8: 2200 movs r2, #0 - 80091ea: eb05 0886 add.w r8, r5, r6, lsl #2 - 80091ee: 4543 cmp r3, r8 - 80091f0: d321 bcc.n 8009236 <__multiply+0x96> - 80091f2: f104 0314 add.w r3, r4, #20 - 80091f6: eb03 0787 add.w r7, r3, r7, lsl #2 - 80091fa: f109 0314 add.w r3, r9, #20 - 80091fe: eb03 028a add.w r2, r3, sl, lsl #2 - 8009202: 9202 str r2, [sp, #8] - 8009204: 1b3a subs r2, r7, r4 - 8009206: 3a15 subs r2, #21 - 8009208: f022 0203 bic.w r2, r2, #3 - 800920c: 3204 adds r2, #4 - 800920e: f104 0115 add.w r1, r4, #21 - 8009212: 428f cmp r7, r1 - 8009214: bf38 it cc - 8009216: 2204 movcc r2, #4 - 8009218: 9201 str r2, [sp, #4] - 800921a: 9a02 ldr r2, [sp, #8] - 800921c: 9303 str r3, [sp, #12] - 800921e: 429a cmp r2, r3 - 8009220: d80c bhi.n 800923c <__multiply+0x9c> - 8009222: 2e00 cmp r6, #0 - 8009224: dd03 ble.n 800922e <__multiply+0x8e> - 8009226: f858 3d04 ldr.w r3, [r8, #-4]! - 800922a: 2b00 cmp r3, #0 - 800922c: d05a beq.n 80092e4 <__multiply+0x144> - 800922e: 6106 str r6, [r0, #16] - 8009230: b005 add sp, #20 - 8009232: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} - 8009236: f843 2b04 str.w r2, [r3], #4 - 800923a: e7d8 b.n 80091ee <__multiply+0x4e> - 800923c: f8b3 a000 ldrh.w sl, [r3] - 8009240: f1ba 0f00 cmp.w sl, #0 - 8009244: d023 beq.n 800928e <__multiply+0xee> - 8009246: 46a9 mov r9, r5 - 8009248: f04f 0c00 mov.w ip, #0 - 800924c: f104 0e14 add.w lr, r4, #20 - 8009250: f85e 2b04 ldr.w r2, [lr], #4 - 8009254: f8d9 1000 ldr.w r1, [r9] - 8009258: fa1f fb82 uxth.w fp, r2 - 800925c: b289 uxth r1, r1 - 800925e: fb0a 110b mla r1, sl, fp, r1 - 8009262: 4461 add r1, ip - 8009264: f8d9 c000 ldr.w ip, [r9] - 8009268: 0c12 lsrs r2, r2, #16 - 800926a: ea4f 4c1c mov.w ip, ip, lsr #16 - 800926e: fb0a c202 mla r2, sl, r2, ip - 8009272: eb02 4211 add.w r2, r2, r1, lsr #16 - 8009276: b289 uxth r1, r1 - 8009278: ea41 4102 orr.w r1, r1, r2, lsl #16 - 800927c: 4577 cmp r7, lr - 800927e: ea4f 4c12 mov.w ip, r2, lsr #16 - 8009282: f849 1b04 str.w r1, [r9], #4 - 8009286: d8e3 bhi.n 8009250 <__multiply+0xb0> - 8009288: 9a01 ldr r2, [sp, #4] - 800928a: f845 c002 str.w ip, [r5, r2] - 800928e: 9a03 ldr r2, [sp, #12] - 8009290: 3304 adds r3, #4 - 8009292: f8b2 9002 ldrh.w r9, [r2, #2] - 8009296: f1b9 0f00 cmp.w r9, #0 - 800929a: d021 beq.n 80092e0 <__multiply+0x140> - 800929c: 46ae mov lr, r5 - 800929e: f04f 0a00 mov.w sl, #0 - 80092a2: 6829 ldr r1, [r5, #0] - 80092a4: f104 0c14 add.w ip, r4, #20 - 80092a8: f8bc b000 ldrh.w fp, [ip] - 80092ac: f8be 2002 ldrh.w r2, [lr, #2] - 80092b0: b289 uxth r1, r1 - 80092b2: fb09 220b mla r2, r9, fp, r2 - 80092b6: 4452 add r2, sl - 80092b8: ea41 4102 orr.w r1, r1, r2, lsl #16 - 80092bc: f84e 1b04 str.w r1, [lr], #4 - 80092c0: f85c 1b04 ldr.w r1, [ip], #4 - 80092c4: ea4f 4a11 mov.w sl, r1, lsr #16 - 80092c8: f8be 1000 ldrh.w r1, [lr] - 80092cc: 4567 cmp r7, ip - 80092ce: fb09 110a mla r1, r9, sl, r1 - 80092d2: eb01 4112 add.w r1, r1, r2, lsr #16 - 80092d6: ea4f 4a11 mov.w sl, r1, lsr #16 - 80092da: d8e5 bhi.n 80092a8 <__multiply+0x108> - 80092dc: 9a01 ldr r2, [sp, #4] - 80092de: 50a9 str r1, [r5, r2] - 80092e0: 3504 adds r5, #4 - 80092e2: e79a b.n 800921a <__multiply+0x7a> - 80092e4: 3e01 subs r6, #1 - 80092e6: e79c b.n 8009222 <__multiply+0x82> - 80092e8: 0800ac58 .word 0x0800ac58 - 80092ec: 0800ac69 .word 0x0800ac69 +08009e24 <__d2b>: + 8009e24: b5f7 push {r0, r1, r2, r4, r5, r6, r7, lr} + 8009e26: 2101 movs r1, #1 + 8009e28: 4617 mov r7, r2 + 8009e2a: 461c mov r4, r3 + 8009e2c: 9e08 ldr r6, [sp, #32] + 8009e2e: f7ff fcd7 bl 80097e0 <_Balloc> + 8009e32: 4605 mov r5, r0 + 8009e34: b930 cbnz r0, 8009e44 <__d2b+0x20> + 8009e36: 4602 mov r2, r0 + 8009e38: f240 310f movw r1, #783 ; 0x30f + 8009e3c: 4b22 ldr r3, [pc, #136] ; (8009ec8 <__d2b+0xa4>) + 8009e3e: 4823 ldr r0, [pc, #140] ; (8009ecc <__d2b+0xa8>) + 8009e40: f000 fc36 bl 800a6b0 <__assert_func> + 8009e44: f3c4 0313 ubfx r3, r4, #0, #20 + 8009e48: f3c4 540a ubfx r4, r4, #20, #11 + 8009e4c: bb24 cbnz r4, 8009e98 <__d2b+0x74> + 8009e4e: 2f00 cmp r7, #0 + 8009e50: 9301 str r3, [sp, #4] + 8009e52: d026 beq.n 8009ea2 <__d2b+0x7e> + 8009e54: 4668 mov r0, sp + 8009e56: 9700 str r7, [sp, #0] + 8009e58: f7ff fd8a bl 8009970 <__lo0bits> + 8009e5c: e9dd 1200 ldrd r1, r2, [sp] + 8009e60: b1e8 cbz r0, 8009e9e <__d2b+0x7a> + 8009e62: f1c0 0320 rsb r3, r0, #32 + 8009e66: fa02 f303 lsl.w r3, r2, r3 + 8009e6a: 430b orrs r3, r1 + 8009e6c: 40c2 lsrs r2, r0 + 8009e6e: 616b str r3, [r5, #20] + 8009e70: 9201 str r2, [sp, #4] + 8009e72: 9b01 ldr r3, [sp, #4] + 8009e74: 2b00 cmp r3, #0 + 8009e76: bf14 ite ne + 8009e78: 2102 movne r1, #2 + 8009e7a: 2101 moveq r1, #1 + 8009e7c: 61ab str r3, [r5, #24] + 8009e7e: 6129 str r1, [r5, #16] + 8009e80: b1bc cbz r4, 8009eb2 <__d2b+0x8e> + 8009e82: f2a4 4433 subw r4, r4, #1075 ; 0x433 + 8009e86: 4404 add r4, r0 + 8009e88: 6034 str r4, [r6, #0] + 8009e8a: f1c0 0035 rsb r0, r0, #53 ; 0x35 + 8009e8e: 9b09 ldr r3, [sp, #36] ; 0x24 + 8009e90: 6018 str r0, [r3, #0] + 8009e92: 4628 mov r0, r5 + 8009e94: b003 add sp, #12 + 8009e96: bdf0 pop {r4, r5, r6, r7, pc} + 8009e98: f443 1380 orr.w r3, r3, #1048576 ; 0x100000 + 8009e9c: e7d7 b.n 8009e4e <__d2b+0x2a> + 8009e9e: 6169 str r1, [r5, #20] + 8009ea0: e7e7 b.n 8009e72 <__d2b+0x4e> + 8009ea2: a801 add r0, sp, #4 + 8009ea4: f7ff fd64 bl 8009970 <__lo0bits> + 8009ea8: 9b01 ldr r3, [sp, #4] + 8009eaa: 2101 movs r1, #1 + 8009eac: 616b str r3, [r5, #20] + 8009eae: 3020 adds r0, #32 + 8009eb0: e7e5 b.n 8009e7e <__d2b+0x5a> + 8009eb2: f2a0 4032 subw r0, r0, #1074 ; 0x432 + 8009eb6: eb05 0381 add.w r3, r5, r1, lsl #2 + 8009eba: 6030 str r0, [r6, #0] + 8009ebc: 6918 ldr r0, [r3, #16] + 8009ebe: f7ff fd37 bl 8009930 <__hi0bits> + 8009ec2: ebc0 1041 rsb r0, r0, r1, lsl #5 + 8009ec6: e7e2 b.n 8009e8e <__d2b+0x6a> + 8009ec8: 0800b4a8 .word 0x0800b4a8 + 8009ecc: 0800b4b9 .word 0x0800b4b9 -080092f0 <__pow5mult>: - 80092f0: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} - 80092f4: 4615 mov r5, r2 - 80092f6: f012 0203 ands.w r2, r2, #3 - 80092fa: 4606 mov r6, r0 - 80092fc: 460f mov r7, r1 - 80092fe: d007 beq.n 8009310 <__pow5mult+0x20> - 8009300: 4c25 ldr r4, [pc, #148] ; (8009398 <__pow5mult+0xa8>) - 8009302: 3a01 subs r2, #1 - 8009304: 2300 movs r3, #0 - 8009306: f854 2022 ldr.w r2, [r4, r2, lsl #2] - 800930a: f7ff fe9f bl 800904c <__multadd> - 800930e: 4607 mov r7, r0 - 8009310: 10ad asrs r5, r5, #2 - 8009312: d03d beq.n 8009390 <__pow5mult+0xa0> - 8009314: 69f4 ldr r4, [r6, #28] - 8009316: b97c cbnz r4, 8009338 <__pow5mult+0x48> - 8009318: 2010 movs r0, #16 - 800931a: f7fe f80d bl 8007338 - 800931e: 4602 mov r2, r0 - 8009320: 61f0 str r0, [r6, #28] - 8009322: b928 cbnz r0, 8009330 <__pow5mult+0x40> - 8009324: f240 11b3 movw r1, #435 ; 0x1b3 - 8009328: 4b1c ldr r3, [pc, #112] ; (800939c <__pow5mult+0xac>) - 800932a: 481d ldr r0, [pc, #116] ; (80093a0 <__pow5mult+0xb0>) - 800932c: f000 fd94 bl 8009e58 <__assert_func> - 8009330: e9c0 4401 strd r4, r4, [r0, #4] - 8009334: 6004 str r4, [r0, #0] - 8009336: 60c4 str r4, [r0, #12] - 8009338: f8d6 801c ldr.w r8, [r6, #28] - 800933c: f8d8 4008 ldr.w r4, [r8, #8] - 8009340: b94c cbnz r4, 8009356 <__pow5mult+0x66> - 8009342: f240 2171 movw r1, #625 ; 0x271 - 8009346: 4630 mov r0, r6 - 8009348: f7ff ff14 bl 8009174 <__i2b> - 800934c: 2300 movs r3, #0 - 800934e: 4604 mov r4, r0 - 8009350: f8c8 0008 str.w r0, [r8, #8] - 8009354: 6003 str r3, [r0, #0] - 8009356: f04f 0900 mov.w r9, #0 - 800935a: 07eb lsls r3, r5, #31 - 800935c: d50a bpl.n 8009374 <__pow5mult+0x84> - 800935e: 4639 mov r1, r7 - 8009360: 4622 mov r2, r4 - 8009362: 4630 mov r0, r6 - 8009364: f7ff ff1c bl 80091a0 <__multiply> - 8009368: 4680 mov r8, r0 - 800936a: 4639 mov r1, r7 - 800936c: 4630 mov r0, r6 - 800936e: f7ff fe4b bl 8009008 <_Bfree> - 8009372: 4647 mov r7, r8 - 8009374: 106d asrs r5, r5, #1 - 8009376: d00b beq.n 8009390 <__pow5mult+0xa0> - 8009378: 6820 ldr r0, [r4, #0] - 800937a: b938 cbnz r0, 800938c <__pow5mult+0x9c> - 800937c: 4622 mov r2, r4 - 800937e: 4621 mov r1, r4 - 8009380: 4630 mov r0, r6 - 8009382: f7ff ff0d bl 80091a0 <__multiply> - 8009386: 6020 str r0, [r4, #0] - 8009388: f8c0 9000 str.w r9, [r0] - 800938c: 4604 mov r4, r0 - 800938e: e7e4 b.n 800935a <__pow5mult+0x6a> - 8009390: 4638 mov r0, r7 - 8009392: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} - 8009396: bf00 nop - 8009398: 0800adb8 .word 0x0800adb8 - 800939c: 0800abe9 .word 0x0800abe9 - 80093a0: 0800ac69 .word 0x0800ac69 +08009ed0 <__ssputs_r>: + 8009ed0: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} + 8009ed4: 461f mov r7, r3 + 8009ed6: 688e ldr r6, [r1, #8] + 8009ed8: 4682 mov sl, r0 + 8009eda: 42be cmp r6, r7 + 8009edc: 460c mov r4, r1 + 8009ede: 4690 mov r8, r2 + 8009ee0: 680b ldr r3, [r1, #0] + 8009ee2: d82c bhi.n 8009f3e <__ssputs_r+0x6e> + 8009ee4: 898a ldrh r2, [r1, #12] + 8009ee6: f412 6f90 tst.w r2, #1152 ; 0x480 + 8009eea: d026 beq.n 8009f3a <__ssputs_r+0x6a> + 8009eec: 6965 ldr r5, [r4, #20] + 8009eee: 6909 ldr r1, [r1, #16] + 8009ef0: eb05 0545 add.w r5, r5, r5, lsl #1 + 8009ef4: eba3 0901 sub.w r9, r3, r1 + 8009ef8: eb05 75d5 add.w r5, r5, r5, lsr #31 + 8009efc: 1c7b adds r3, r7, #1 + 8009efe: 444b add r3, r9 + 8009f00: 106d asrs r5, r5, #1 + 8009f02: 429d cmp r5, r3 + 8009f04: bf38 it cc + 8009f06: 461d movcc r5, r3 + 8009f08: 0553 lsls r3, r2, #21 + 8009f0a: d527 bpl.n 8009f5c <__ssputs_r+0x8c> + 8009f0c: 4629 mov r1, r5 + 8009f0e: f7fd fe71 bl 8007bf4 <_malloc_r> + 8009f12: 4606 mov r6, r0 + 8009f14: b360 cbz r0, 8009f70 <__ssputs_r+0xa0> + 8009f16: 464a mov r2, r9 + 8009f18: 6921 ldr r1, [r4, #16] + 8009f1a: f000 fbbb bl 800a694 + 8009f1e: 89a3 ldrh r3, [r4, #12] + 8009f20: f423 6390 bic.w r3, r3, #1152 ; 0x480 + 8009f24: f043 0380 orr.w r3, r3, #128 ; 0x80 + 8009f28: 81a3 strh r3, [r4, #12] + 8009f2a: 6126 str r6, [r4, #16] + 8009f2c: 444e add r6, r9 + 8009f2e: 6026 str r6, [r4, #0] + 8009f30: 463e mov r6, r7 + 8009f32: 6165 str r5, [r4, #20] + 8009f34: eba5 0509 sub.w r5, r5, r9 + 8009f38: 60a5 str r5, [r4, #8] + 8009f3a: 42be cmp r6, r7 + 8009f3c: d900 bls.n 8009f40 <__ssputs_r+0x70> + 8009f3e: 463e mov r6, r7 + 8009f40: 4632 mov r2, r6 + 8009f42: 4641 mov r1, r8 + 8009f44: 6820 ldr r0, [r4, #0] + 8009f46: f000 fb68 bl 800a61a + 8009f4a: 2000 movs r0, #0 + 8009f4c: 68a3 ldr r3, [r4, #8] + 8009f4e: 1b9b subs r3, r3, r6 + 8009f50: 60a3 str r3, [r4, #8] + 8009f52: 6823 ldr r3, [r4, #0] + 8009f54: 4433 add r3, r6 + 8009f56: 6023 str r3, [r4, #0] + 8009f58: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 8009f5c: 462a mov r2, r5 + 8009f5e: f000 fbeb bl 800a738 <_realloc_r> + 8009f62: 4606 mov r6, r0 + 8009f64: 2800 cmp r0, #0 + 8009f66: d1e0 bne.n 8009f2a <__ssputs_r+0x5a> + 8009f68: 4650 mov r0, sl + 8009f6a: 6921 ldr r1, [r4, #16] + 8009f6c: f7ff fbf0 bl 8009750 <_free_r> + 8009f70: 230c movs r3, #12 + 8009f72: f8ca 3000 str.w r3, [sl] + 8009f76: 89a3 ldrh r3, [r4, #12] + 8009f78: f04f 30ff mov.w r0, #4294967295 + 8009f7c: f043 0340 orr.w r3, r3, #64 ; 0x40 + 8009f80: 81a3 strh r3, [r4, #12] + 8009f82: e7e9 b.n 8009f58 <__ssputs_r+0x88> -080093a4 <__lshift>: - 80093a4: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} - 80093a8: 460c mov r4, r1 - 80093aa: 4607 mov r7, r0 - 80093ac: 4691 mov r9, r2 - 80093ae: 6923 ldr r3, [r4, #16] - 80093b0: 6849 ldr r1, [r1, #4] - 80093b2: eb03 1862 add.w r8, r3, r2, asr #5 - 80093b6: 68a3 ldr r3, [r4, #8] - 80093b8: ea4f 1a62 mov.w sl, r2, asr #5 - 80093bc: f108 0601 add.w r6, r8, #1 - 80093c0: 42b3 cmp r3, r6 - 80093c2: db0b blt.n 80093dc <__lshift+0x38> - 80093c4: 4638 mov r0, r7 - 80093c6: f7ff fddf bl 8008f88 <_Balloc> - 80093ca: 4605 mov r5, r0 - 80093cc: b948 cbnz r0, 80093e2 <__lshift+0x3e> - 80093ce: 4602 mov r2, r0 - 80093d0: f44f 71ef mov.w r1, #478 ; 0x1de - 80093d4: 4b27 ldr r3, [pc, #156] ; (8009474 <__lshift+0xd0>) - 80093d6: 4828 ldr r0, [pc, #160] ; (8009478 <__lshift+0xd4>) - 80093d8: f000 fd3e bl 8009e58 <__assert_func> - 80093dc: 3101 adds r1, #1 - 80093de: 005b lsls r3, r3, #1 - 80093e0: e7ee b.n 80093c0 <__lshift+0x1c> - 80093e2: 2300 movs r3, #0 - 80093e4: f100 0114 add.w r1, r0, #20 - 80093e8: f100 0210 add.w r2, r0, #16 - 80093ec: 4618 mov r0, r3 - 80093ee: 4553 cmp r3, sl - 80093f0: db33 blt.n 800945a <__lshift+0xb6> - 80093f2: 6920 ldr r0, [r4, #16] - 80093f4: ea2a 7aea bic.w sl, sl, sl, asr #31 - 80093f8: f104 0314 add.w r3, r4, #20 - 80093fc: f019 091f ands.w r9, r9, #31 - 8009400: eb01 018a add.w r1, r1, sl, lsl #2 - 8009404: eb03 0c80 add.w ip, r3, r0, lsl #2 - 8009408: d02b beq.n 8009462 <__lshift+0xbe> - 800940a: 468a mov sl, r1 - 800940c: 2200 movs r2, #0 - 800940e: f1c9 0e20 rsb lr, r9, #32 - 8009412: 6818 ldr r0, [r3, #0] - 8009414: fa00 f009 lsl.w r0, r0, r9 - 8009418: 4310 orrs r0, r2 - 800941a: f84a 0b04 str.w r0, [sl], #4 - 800941e: f853 2b04 ldr.w r2, [r3], #4 - 8009422: 459c cmp ip, r3 - 8009424: fa22 f20e lsr.w r2, r2, lr - 8009428: d8f3 bhi.n 8009412 <__lshift+0x6e> - 800942a: ebac 0304 sub.w r3, ip, r4 - 800942e: 3b15 subs r3, #21 - 8009430: f023 0303 bic.w r3, r3, #3 - 8009434: 3304 adds r3, #4 - 8009436: f104 0015 add.w r0, r4, #21 - 800943a: 4584 cmp ip, r0 - 800943c: bf38 it cc - 800943e: 2304 movcc r3, #4 - 8009440: 50ca str r2, [r1, r3] - 8009442: b10a cbz r2, 8009448 <__lshift+0xa4> - 8009444: f108 0602 add.w r6, r8, #2 - 8009448: 3e01 subs r6, #1 - 800944a: 4638 mov r0, r7 - 800944c: 4621 mov r1, r4 - 800944e: 612e str r6, [r5, #16] - 8009450: f7ff fdda bl 8009008 <_Bfree> - 8009454: 4628 mov r0, r5 - 8009456: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} - 800945a: f842 0f04 str.w r0, [r2, #4]! - 800945e: 3301 adds r3, #1 - 8009460: e7c5 b.n 80093ee <__lshift+0x4a> - 8009462: 3904 subs r1, #4 - 8009464: f853 2b04 ldr.w r2, [r3], #4 - 8009468: 459c cmp ip, r3 - 800946a: f841 2f04 str.w r2, [r1, #4]! - 800946e: d8f9 bhi.n 8009464 <__lshift+0xc0> - 8009470: e7ea b.n 8009448 <__lshift+0xa4> - 8009472: bf00 nop - 8009474: 0800ac58 .word 0x0800ac58 - 8009478: 0800ac69 .word 0x0800ac69 +08009f84 <_svfiprintf_r>: + 8009f84: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 8009f88: 4698 mov r8, r3 + 8009f8a: 898b ldrh r3, [r1, #12] + 8009f8c: 4607 mov r7, r0 + 8009f8e: 061b lsls r3, r3, #24 + 8009f90: 460d mov r5, r1 + 8009f92: 4614 mov r4, r2 + 8009f94: b09d sub sp, #116 ; 0x74 + 8009f96: d50e bpl.n 8009fb6 <_svfiprintf_r+0x32> + 8009f98: 690b ldr r3, [r1, #16] + 8009f9a: b963 cbnz r3, 8009fb6 <_svfiprintf_r+0x32> + 8009f9c: 2140 movs r1, #64 ; 0x40 + 8009f9e: f7fd fe29 bl 8007bf4 <_malloc_r> + 8009fa2: 6028 str r0, [r5, #0] + 8009fa4: 6128 str r0, [r5, #16] + 8009fa6: b920 cbnz r0, 8009fb2 <_svfiprintf_r+0x2e> + 8009fa8: 230c movs r3, #12 + 8009faa: 603b str r3, [r7, #0] + 8009fac: f04f 30ff mov.w r0, #4294967295 + 8009fb0: e0d0 b.n 800a154 <_svfiprintf_r+0x1d0> + 8009fb2: 2340 movs r3, #64 ; 0x40 + 8009fb4: 616b str r3, [r5, #20] + 8009fb6: 2300 movs r3, #0 + 8009fb8: 9309 str r3, [sp, #36] ; 0x24 + 8009fba: 2320 movs r3, #32 + 8009fbc: f88d 3029 strb.w r3, [sp, #41] ; 0x29 + 8009fc0: 2330 movs r3, #48 ; 0x30 + 8009fc2: f04f 0901 mov.w r9, #1 + 8009fc6: f8cd 800c str.w r8, [sp, #12] + 8009fca: f8df 81a0 ldr.w r8, [pc, #416] ; 800a16c <_svfiprintf_r+0x1e8> + 8009fce: f88d 302a strb.w r3, [sp, #42] ; 0x2a + 8009fd2: 4623 mov r3, r4 + 8009fd4: 469a mov sl, r3 + 8009fd6: f813 2b01 ldrb.w r2, [r3], #1 + 8009fda: b10a cbz r2, 8009fe0 <_svfiprintf_r+0x5c> + 8009fdc: 2a25 cmp r2, #37 ; 0x25 + 8009fde: d1f9 bne.n 8009fd4 <_svfiprintf_r+0x50> + 8009fe0: ebba 0b04 subs.w fp, sl, r4 + 8009fe4: d00b beq.n 8009ffe <_svfiprintf_r+0x7a> + 8009fe6: 465b mov r3, fp + 8009fe8: 4622 mov r2, r4 + 8009fea: 4629 mov r1, r5 + 8009fec: 4638 mov r0, r7 + 8009fee: f7ff ff6f bl 8009ed0 <__ssputs_r> + 8009ff2: 3001 adds r0, #1 + 8009ff4: f000 80a9 beq.w 800a14a <_svfiprintf_r+0x1c6> + 8009ff8: 9a09 ldr r2, [sp, #36] ; 0x24 + 8009ffa: 445a add r2, fp + 8009ffc: 9209 str r2, [sp, #36] ; 0x24 + 8009ffe: f89a 3000 ldrb.w r3, [sl] + 800a002: 2b00 cmp r3, #0 + 800a004: f000 80a1 beq.w 800a14a <_svfiprintf_r+0x1c6> + 800a008: 2300 movs r3, #0 + 800a00a: f04f 32ff mov.w r2, #4294967295 + 800a00e: e9cd 2305 strd r2, r3, [sp, #20] + 800a012: f10a 0a01 add.w sl, sl, #1 + 800a016: 9304 str r3, [sp, #16] + 800a018: 9307 str r3, [sp, #28] + 800a01a: f88d 3053 strb.w r3, [sp, #83] ; 0x53 + 800a01e: 931a str r3, [sp, #104] ; 0x68 + 800a020: 4654 mov r4, sl + 800a022: 2205 movs r2, #5 + 800a024: f814 1b01 ldrb.w r1, [r4], #1 + 800a028: 4850 ldr r0, [pc, #320] ; (800a16c <_svfiprintf_r+0x1e8>) + 800a02a: f7fe fd16 bl 8008a5a + 800a02e: 9a04 ldr r2, [sp, #16] + 800a030: b9d8 cbnz r0, 800a06a <_svfiprintf_r+0xe6> + 800a032: 06d0 lsls r0, r2, #27 + 800a034: bf44 itt mi + 800a036: 2320 movmi r3, #32 + 800a038: f88d 3053 strbmi.w r3, [sp, #83] ; 0x53 + 800a03c: 0711 lsls r1, r2, #28 + 800a03e: bf44 itt mi + 800a040: 232b movmi r3, #43 ; 0x2b + 800a042: f88d 3053 strbmi.w r3, [sp, #83] ; 0x53 + 800a046: f89a 3000 ldrb.w r3, [sl] + 800a04a: 2b2a cmp r3, #42 ; 0x2a + 800a04c: d015 beq.n 800a07a <_svfiprintf_r+0xf6> + 800a04e: 4654 mov r4, sl + 800a050: 2000 movs r0, #0 + 800a052: f04f 0c0a mov.w ip, #10 + 800a056: 9a07 ldr r2, [sp, #28] + 800a058: 4621 mov r1, r4 + 800a05a: f811 3b01 ldrb.w r3, [r1], #1 + 800a05e: 3b30 subs r3, #48 ; 0x30 + 800a060: 2b09 cmp r3, #9 + 800a062: d94d bls.n 800a100 <_svfiprintf_r+0x17c> + 800a064: b1b0 cbz r0, 800a094 <_svfiprintf_r+0x110> + 800a066: 9207 str r2, [sp, #28] + 800a068: e014 b.n 800a094 <_svfiprintf_r+0x110> + 800a06a: eba0 0308 sub.w r3, r0, r8 + 800a06e: fa09 f303 lsl.w r3, r9, r3 + 800a072: 4313 orrs r3, r2 + 800a074: 46a2 mov sl, r4 + 800a076: 9304 str r3, [sp, #16] + 800a078: e7d2 b.n 800a020 <_svfiprintf_r+0x9c> + 800a07a: 9b03 ldr r3, [sp, #12] + 800a07c: 1d19 adds r1, r3, #4 + 800a07e: 681b ldr r3, [r3, #0] + 800a080: 9103 str r1, [sp, #12] + 800a082: 2b00 cmp r3, #0 + 800a084: bfbb ittet lt + 800a086: 425b neglt r3, r3 + 800a088: f042 0202 orrlt.w r2, r2, #2 + 800a08c: 9307 strge r3, [sp, #28] + 800a08e: 9307 strlt r3, [sp, #28] + 800a090: bfb8 it lt + 800a092: 9204 strlt r2, [sp, #16] + 800a094: 7823 ldrb r3, [r4, #0] + 800a096: 2b2e cmp r3, #46 ; 0x2e + 800a098: d10c bne.n 800a0b4 <_svfiprintf_r+0x130> + 800a09a: 7863 ldrb r3, [r4, #1] + 800a09c: 2b2a cmp r3, #42 ; 0x2a + 800a09e: d134 bne.n 800a10a <_svfiprintf_r+0x186> + 800a0a0: 9b03 ldr r3, [sp, #12] + 800a0a2: 3402 adds r4, #2 + 800a0a4: 1d1a adds r2, r3, #4 + 800a0a6: 681b ldr r3, [r3, #0] + 800a0a8: 9203 str r2, [sp, #12] + 800a0aa: 2b00 cmp r3, #0 + 800a0ac: bfb8 it lt + 800a0ae: f04f 33ff movlt.w r3, #4294967295 + 800a0b2: 9305 str r3, [sp, #20] + 800a0b4: f8df a0b8 ldr.w sl, [pc, #184] ; 800a170 <_svfiprintf_r+0x1ec> + 800a0b8: 2203 movs r2, #3 + 800a0ba: 4650 mov r0, sl + 800a0bc: 7821 ldrb r1, [r4, #0] + 800a0be: f7fe fccc bl 8008a5a + 800a0c2: b138 cbz r0, 800a0d4 <_svfiprintf_r+0x150> + 800a0c4: 2240 movs r2, #64 ; 0x40 + 800a0c6: 9b04 ldr r3, [sp, #16] + 800a0c8: eba0 000a sub.w r0, r0, sl + 800a0cc: 4082 lsls r2, r0 + 800a0ce: 4313 orrs r3, r2 + 800a0d0: 3401 adds r4, #1 + 800a0d2: 9304 str r3, [sp, #16] + 800a0d4: f814 1b01 ldrb.w r1, [r4], #1 + 800a0d8: 2206 movs r2, #6 + 800a0da: 4826 ldr r0, [pc, #152] ; (800a174 <_svfiprintf_r+0x1f0>) + 800a0dc: f88d 1028 strb.w r1, [sp, #40] ; 0x28 + 800a0e0: f7fe fcbb bl 8008a5a + 800a0e4: 2800 cmp r0, #0 + 800a0e6: d038 beq.n 800a15a <_svfiprintf_r+0x1d6> + 800a0e8: 4b23 ldr r3, [pc, #140] ; (800a178 <_svfiprintf_r+0x1f4>) + 800a0ea: bb1b cbnz r3, 800a134 <_svfiprintf_r+0x1b0> + 800a0ec: 9b03 ldr r3, [sp, #12] + 800a0ee: 3307 adds r3, #7 + 800a0f0: f023 0307 bic.w r3, r3, #7 + 800a0f4: 3308 adds r3, #8 + 800a0f6: 9303 str r3, [sp, #12] + 800a0f8: 9b09 ldr r3, [sp, #36] ; 0x24 + 800a0fa: 4433 add r3, r6 + 800a0fc: 9309 str r3, [sp, #36] ; 0x24 + 800a0fe: e768 b.n 8009fd2 <_svfiprintf_r+0x4e> + 800a100: 460c mov r4, r1 + 800a102: 2001 movs r0, #1 + 800a104: fb0c 3202 mla r2, ip, r2, r3 + 800a108: e7a6 b.n 800a058 <_svfiprintf_r+0xd4> + 800a10a: 2300 movs r3, #0 + 800a10c: f04f 0c0a mov.w ip, #10 + 800a110: 4619 mov r1, r3 + 800a112: 3401 adds r4, #1 + 800a114: 9305 str r3, [sp, #20] + 800a116: 4620 mov r0, r4 + 800a118: f810 2b01 ldrb.w r2, [r0], #1 + 800a11c: 3a30 subs r2, #48 ; 0x30 + 800a11e: 2a09 cmp r2, #9 + 800a120: d903 bls.n 800a12a <_svfiprintf_r+0x1a6> + 800a122: 2b00 cmp r3, #0 + 800a124: d0c6 beq.n 800a0b4 <_svfiprintf_r+0x130> + 800a126: 9105 str r1, [sp, #20] + 800a128: e7c4 b.n 800a0b4 <_svfiprintf_r+0x130> + 800a12a: 4604 mov r4, r0 + 800a12c: 2301 movs r3, #1 + 800a12e: fb0c 2101 mla r1, ip, r1, r2 + 800a132: e7f0 b.n 800a116 <_svfiprintf_r+0x192> + 800a134: ab03 add r3, sp, #12 + 800a136: 9300 str r3, [sp, #0] + 800a138: 462a mov r2, r5 + 800a13a: 4638 mov r0, r7 + 800a13c: 4b0f ldr r3, [pc, #60] ; (800a17c <_svfiprintf_r+0x1f8>) + 800a13e: a904 add r1, sp, #16 + 800a140: f7fd fe80 bl 8007e44 <_printf_float> + 800a144: 1c42 adds r2, r0, #1 + 800a146: 4606 mov r6, r0 + 800a148: d1d6 bne.n 800a0f8 <_svfiprintf_r+0x174> + 800a14a: 89ab ldrh r3, [r5, #12] + 800a14c: 065b lsls r3, r3, #25 + 800a14e: f53f af2d bmi.w 8009fac <_svfiprintf_r+0x28> + 800a152: 9809 ldr r0, [sp, #36] ; 0x24 + 800a154: b01d add sp, #116 ; 0x74 + 800a156: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 800a15a: ab03 add r3, sp, #12 + 800a15c: 9300 str r3, [sp, #0] + 800a15e: 462a mov r2, r5 + 800a160: 4638 mov r0, r7 + 800a162: 4b06 ldr r3, [pc, #24] ; (800a17c <_svfiprintf_r+0x1f8>) + 800a164: a904 add r1, sp, #16 + 800a166: f7fe f90d bl 8008384 <_printf_i> + 800a16a: e7eb b.n 800a144 <_svfiprintf_r+0x1c0> + 800a16c: 0800b614 .word 0x0800b614 + 800a170: 0800b61a .word 0x0800b61a + 800a174: 0800b61e .word 0x0800b61e + 800a178: 08007e45 .word 0x08007e45 + 800a17c: 08009ed1 .word 0x08009ed1 -0800947c <__mcmp>: - 800947c: 4603 mov r3, r0 - 800947e: 690a ldr r2, [r1, #16] - 8009480: 6900 ldr r0, [r0, #16] - 8009482: b530 push {r4, r5, lr} - 8009484: 1a80 subs r0, r0, r2 - 8009486: d10d bne.n 80094a4 <__mcmp+0x28> - 8009488: 3314 adds r3, #20 - 800948a: 3114 adds r1, #20 - 800948c: eb03 0482 add.w r4, r3, r2, lsl #2 - 8009490: eb01 0182 add.w r1, r1, r2, lsl #2 - 8009494: f854 5d04 ldr.w r5, [r4, #-4]! - 8009498: f851 2d04 ldr.w r2, [r1, #-4]! - 800949c: 4295 cmp r5, r2 - 800949e: d002 beq.n 80094a6 <__mcmp+0x2a> - 80094a0: d304 bcc.n 80094ac <__mcmp+0x30> - 80094a2: 2001 movs r0, #1 - 80094a4: bd30 pop {r4, r5, pc} - 80094a6: 42a3 cmp r3, r4 - 80094a8: d3f4 bcc.n 8009494 <__mcmp+0x18> - 80094aa: e7fb b.n 80094a4 <__mcmp+0x28> - 80094ac: f04f 30ff mov.w r0, #4294967295 - 80094b0: e7f8 b.n 80094a4 <__mcmp+0x28> +0800a180 <__sfputc_r>: + 800a180: 6893 ldr r3, [r2, #8] + 800a182: b410 push {r4} + 800a184: 3b01 subs r3, #1 + 800a186: 2b00 cmp r3, #0 + 800a188: 6093 str r3, [r2, #8] + 800a18a: da07 bge.n 800a19c <__sfputc_r+0x1c> + 800a18c: 6994 ldr r4, [r2, #24] + 800a18e: 42a3 cmp r3, r4 + 800a190: db01 blt.n 800a196 <__sfputc_r+0x16> + 800a192: 290a cmp r1, #10 + 800a194: d102 bne.n 800a19c <__sfputc_r+0x1c> + 800a196: bc10 pop {r4} + 800a198: f7fe bb3b b.w 8008812 <__swbuf_r> + 800a19c: 6813 ldr r3, [r2, #0] + 800a19e: 1c58 adds r0, r3, #1 + 800a1a0: 6010 str r0, [r2, #0] + 800a1a2: 7019 strb r1, [r3, #0] + 800a1a4: 4608 mov r0, r1 + 800a1a6: bc10 pop {r4} + 800a1a8: 4770 bx lr + +0800a1aa <__sfputs_r>: + 800a1aa: b5f8 push {r3, r4, r5, r6, r7, lr} + 800a1ac: 4606 mov r6, r0 + 800a1ae: 460f mov r7, r1 + 800a1b0: 4614 mov r4, r2 + 800a1b2: 18d5 adds r5, r2, r3 + 800a1b4: 42ac cmp r4, r5 + 800a1b6: d101 bne.n 800a1bc <__sfputs_r+0x12> + 800a1b8: 2000 movs r0, #0 + 800a1ba: e007 b.n 800a1cc <__sfputs_r+0x22> + 800a1bc: 463a mov r2, r7 + 800a1be: 4630 mov r0, r6 + 800a1c0: f814 1b01 ldrb.w r1, [r4], #1 + 800a1c4: f7ff ffdc bl 800a180 <__sfputc_r> + 800a1c8: 1c43 adds r3, r0, #1 + 800a1ca: d1f3 bne.n 800a1b4 <__sfputs_r+0xa> + 800a1cc: bdf8 pop {r3, r4, r5, r6, r7, pc} ... -080094b4 <__mdiff>: - 80094b4: e92d 4ff8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} - 80094b8: 460d mov r5, r1 - 80094ba: 4607 mov r7, r0 - 80094bc: 4611 mov r1, r2 - 80094be: 4628 mov r0, r5 - 80094c0: 4614 mov r4, r2 - 80094c2: f7ff ffdb bl 800947c <__mcmp> - 80094c6: 1e06 subs r6, r0, #0 - 80094c8: d111 bne.n 80094ee <__mdiff+0x3a> - 80094ca: 4631 mov r1, r6 - 80094cc: 4638 mov r0, r7 - 80094ce: f7ff fd5b bl 8008f88 <_Balloc> - 80094d2: 4602 mov r2, r0 - 80094d4: b928 cbnz r0, 80094e2 <__mdiff+0x2e> - 80094d6: f240 2137 movw r1, #567 ; 0x237 - 80094da: 4b3a ldr r3, [pc, #232] ; (80095c4 <__mdiff+0x110>) - 80094dc: 483a ldr r0, [pc, #232] ; (80095c8 <__mdiff+0x114>) - 80094de: f000 fcbb bl 8009e58 <__assert_func> - 80094e2: 2301 movs r3, #1 - 80094e4: e9c0 3604 strd r3, r6, [r0, #16] - 80094e8: 4610 mov r0, r2 - 80094ea: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} - 80094ee: bfa4 itt ge - 80094f0: 4623 movge r3, r4 - 80094f2: 462c movge r4, r5 - 80094f4: 4638 mov r0, r7 - 80094f6: 6861 ldr r1, [r4, #4] - 80094f8: bfa6 itte ge - 80094fa: 461d movge r5, r3 - 80094fc: 2600 movge r6, #0 - 80094fe: 2601 movlt r6, #1 - 8009500: f7ff fd42 bl 8008f88 <_Balloc> - 8009504: 4602 mov r2, r0 - 8009506: b918 cbnz r0, 8009510 <__mdiff+0x5c> - 8009508: f240 2145 movw r1, #581 ; 0x245 - 800950c: 4b2d ldr r3, [pc, #180] ; (80095c4 <__mdiff+0x110>) - 800950e: e7e5 b.n 80094dc <__mdiff+0x28> - 8009510: f102 0814 add.w r8, r2, #20 - 8009514: 46c2 mov sl, r8 - 8009516: f04f 0c00 mov.w ip, #0 - 800951a: 6927 ldr r7, [r4, #16] - 800951c: 60c6 str r6, [r0, #12] - 800951e: 692e ldr r6, [r5, #16] - 8009520: f104 0014 add.w r0, r4, #20 - 8009524: f105 0914 add.w r9, r5, #20 - 8009528: eb00 0e87 add.w lr, r0, r7, lsl #2 - 800952c: eb09 0686 add.w r6, r9, r6, lsl #2 - 8009530: 3410 adds r4, #16 - 8009532: f854 bf04 ldr.w fp, [r4, #4]! - 8009536: f859 3b04 ldr.w r3, [r9], #4 - 800953a: fa1f f18b uxth.w r1, fp - 800953e: 4461 add r1, ip - 8009540: fa1f fc83 uxth.w ip, r3 - 8009544: 0c1b lsrs r3, r3, #16 - 8009546: eba1 010c sub.w r1, r1, ip - 800954a: ebc3 431b rsb r3, r3, fp, lsr #16 - 800954e: eb03 4321 add.w r3, r3, r1, asr #16 - 8009552: b289 uxth r1, r1 - 8009554: ea41 4103 orr.w r1, r1, r3, lsl #16 - 8009558: 454e cmp r6, r9 - 800955a: ea4f 4c23 mov.w ip, r3, asr #16 - 800955e: f84a 1b04 str.w r1, [sl], #4 - 8009562: d8e6 bhi.n 8009532 <__mdiff+0x7e> - 8009564: 1b73 subs r3, r6, r5 - 8009566: 3b15 subs r3, #21 - 8009568: f023 0303 bic.w r3, r3, #3 - 800956c: 3515 adds r5, #21 - 800956e: 3304 adds r3, #4 - 8009570: 42ae cmp r6, r5 - 8009572: bf38 it cc - 8009574: 2304 movcc r3, #4 - 8009576: 4418 add r0, r3 - 8009578: 4443 add r3, r8 - 800957a: 461e mov r6, r3 - 800957c: 4605 mov r5, r0 - 800957e: 4575 cmp r5, lr - 8009580: d30e bcc.n 80095a0 <__mdiff+0xec> - 8009582: f10e 0103 add.w r1, lr, #3 - 8009586: 1a09 subs r1, r1, r0 - 8009588: f021 0103 bic.w r1, r1, #3 - 800958c: 3803 subs r0, #3 - 800958e: 4586 cmp lr, r0 - 8009590: bf38 it cc - 8009592: 2100 movcc r1, #0 - 8009594: 440b add r3, r1 - 8009596: f853 1d04 ldr.w r1, [r3, #-4]! - 800959a: b189 cbz r1, 80095c0 <__mdiff+0x10c> - 800959c: 6117 str r7, [r2, #16] - 800959e: e7a3 b.n 80094e8 <__mdiff+0x34> - 80095a0: f855 8b04 ldr.w r8, [r5], #4 - 80095a4: fa1f f188 uxth.w r1, r8 - 80095a8: 4461 add r1, ip - 80095aa: 140c asrs r4, r1, #16 - 80095ac: eb04 4418 add.w r4, r4, r8, lsr #16 - 80095b0: b289 uxth r1, r1 - 80095b2: ea41 4104 orr.w r1, r1, r4, lsl #16 - 80095b6: ea4f 4c24 mov.w ip, r4, asr #16 - 80095ba: f846 1b04 str.w r1, [r6], #4 - 80095be: e7de b.n 800957e <__mdiff+0xca> - 80095c0: 3f01 subs r7, #1 - 80095c2: e7e8 b.n 8009596 <__mdiff+0xe2> - 80095c4: 0800ac58 .word 0x0800ac58 - 80095c8: 0800ac69 .word 0x0800ac69 +0800a1d0 <_vfiprintf_r>: + 800a1d0: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 800a1d4: 460d mov r5, r1 + 800a1d6: 4614 mov r4, r2 + 800a1d8: 4698 mov r8, r3 + 800a1da: 4606 mov r6, r0 + 800a1dc: b09d sub sp, #116 ; 0x74 + 800a1de: b118 cbz r0, 800a1e8 <_vfiprintf_r+0x18> + 800a1e0: 6a03 ldr r3, [r0, #32] + 800a1e2: b90b cbnz r3, 800a1e8 <_vfiprintf_r+0x18> + 800a1e4: f7fe fa7c bl 80086e0 <__sinit> + 800a1e8: 6e6b ldr r3, [r5, #100] ; 0x64 + 800a1ea: 07d9 lsls r1, r3, #31 + 800a1ec: d405 bmi.n 800a1fa <_vfiprintf_r+0x2a> + 800a1ee: 89ab ldrh r3, [r5, #12] + 800a1f0: 059a lsls r2, r3, #22 + 800a1f2: d402 bmi.n 800a1fa <_vfiprintf_r+0x2a> + 800a1f4: 6da8 ldr r0, [r5, #88] ; 0x58 + 800a1f6: f7fe fc2e bl 8008a56 <__retarget_lock_acquire_recursive> + 800a1fa: 89ab ldrh r3, [r5, #12] + 800a1fc: 071b lsls r3, r3, #28 + 800a1fe: d501 bpl.n 800a204 <_vfiprintf_r+0x34> + 800a200: 692b ldr r3, [r5, #16] + 800a202: b99b cbnz r3, 800a22c <_vfiprintf_r+0x5c> + 800a204: 4629 mov r1, r5 + 800a206: 4630 mov r0, r6 + 800a208: f7fe fb40 bl 800888c <__swsetup_r> + 800a20c: b170 cbz r0, 800a22c <_vfiprintf_r+0x5c> + 800a20e: 6e6b ldr r3, [r5, #100] ; 0x64 + 800a210: 07dc lsls r4, r3, #31 + 800a212: d504 bpl.n 800a21e <_vfiprintf_r+0x4e> + 800a214: f04f 30ff mov.w r0, #4294967295 + 800a218: b01d add sp, #116 ; 0x74 + 800a21a: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 800a21e: 89ab ldrh r3, [r5, #12] + 800a220: 0598 lsls r0, r3, #22 + 800a222: d4f7 bmi.n 800a214 <_vfiprintf_r+0x44> + 800a224: 6da8 ldr r0, [r5, #88] ; 0x58 + 800a226: f7fe fc17 bl 8008a58 <__retarget_lock_release_recursive> + 800a22a: e7f3 b.n 800a214 <_vfiprintf_r+0x44> + 800a22c: 2300 movs r3, #0 + 800a22e: 9309 str r3, [sp, #36] ; 0x24 + 800a230: 2320 movs r3, #32 + 800a232: f88d 3029 strb.w r3, [sp, #41] ; 0x29 + 800a236: 2330 movs r3, #48 ; 0x30 + 800a238: f04f 0901 mov.w r9, #1 + 800a23c: f8cd 800c str.w r8, [sp, #12] + 800a240: f8df 81ac ldr.w r8, [pc, #428] ; 800a3f0 <_vfiprintf_r+0x220> + 800a244: f88d 302a strb.w r3, [sp, #42] ; 0x2a + 800a248: 4623 mov r3, r4 + 800a24a: 469a mov sl, r3 + 800a24c: f813 2b01 ldrb.w r2, [r3], #1 + 800a250: b10a cbz r2, 800a256 <_vfiprintf_r+0x86> + 800a252: 2a25 cmp r2, #37 ; 0x25 + 800a254: d1f9 bne.n 800a24a <_vfiprintf_r+0x7a> + 800a256: ebba 0b04 subs.w fp, sl, r4 + 800a25a: d00b beq.n 800a274 <_vfiprintf_r+0xa4> + 800a25c: 465b mov r3, fp + 800a25e: 4622 mov r2, r4 + 800a260: 4629 mov r1, r5 + 800a262: 4630 mov r0, r6 + 800a264: f7ff ffa1 bl 800a1aa <__sfputs_r> + 800a268: 3001 adds r0, #1 + 800a26a: f000 80a9 beq.w 800a3c0 <_vfiprintf_r+0x1f0> + 800a26e: 9a09 ldr r2, [sp, #36] ; 0x24 + 800a270: 445a add r2, fp + 800a272: 9209 str r2, [sp, #36] ; 0x24 + 800a274: f89a 3000 ldrb.w r3, [sl] + 800a278: 2b00 cmp r3, #0 + 800a27a: f000 80a1 beq.w 800a3c0 <_vfiprintf_r+0x1f0> + 800a27e: 2300 movs r3, #0 + 800a280: f04f 32ff mov.w r2, #4294967295 + 800a284: e9cd 2305 strd r2, r3, [sp, #20] + 800a288: f10a 0a01 add.w sl, sl, #1 + 800a28c: 9304 str r3, [sp, #16] + 800a28e: 9307 str r3, [sp, #28] + 800a290: f88d 3053 strb.w r3, [sp, #83] ; 0x53 + 800a294: 931a str r3, [sp, #104] ; 0x68 + 800a296: 4654 mov r4, sl + 800a298: 2205 movs r2, #5 + 800a29a: f814 1b01 ldrb.w r1, [r4], #1 + 800a29e: 4854 ldr r0, [pc, #336] ; (800a3f0 <_vfiprintf_r+0x220>) + 800a2a0: f7fe fbdb bl 8008a5a + 800a2a4: 9a04 ldr r2, [sp, #16] + 800a2a6: b9d8 cbnz r0, 800a2e0 <_vfiprintf_r+0x110> + 800a2a8: 06d1 lsls r1, r2, #27 + 800a2aa: bf44 itt mi + 800a2ac: 2320 movmi r3, #32 + 800a2ae: f88d 3053 strbmi.w r3, [sp, #83] ; 0x53 + 800a2b2: 0713 lsls r3, r2, #28 + 800a2b4: bf44 itt mi + 800a2b6: 232b movmi r3, #43 ; 0x2b + 800a2b8: f88d 3053 strbmi.w r3, [sp, #83] ; 0x53 + 800a2bc: f89a 3000 ldrb.w r3, [sl] + 800a2c0: 2b2a cmp r3, #42 ; 0x2a + 800a2c2: d015 beq.n 800a2f0 <_vfiprintf_r+0x120> + 800a2c4: 4654 mov r4, sl + 800a2c6: 2000 movs r0, #0 + 800a2c8: f04f 0c0a mov.w ip, #10 + 800a2cc: 9a07 ldr r2, [sp, #28] + 800a2ce: 4621 mov r1, r4 + 800a2d0: f811 3b01 ldrb.w r3, [r1], #1 + 800a2d4: 3b30 subs r3, #48 ; 0x30 + 800a2d6: 2b09 cmp r3, #9 + 800a2d8: d94d bls.n 800a376 <_vfiprintf_r+0x1a6> + 800a2da: b1b0 cbz r0, 800a30a <_vfiprintf_r+0x13a> + 800a2dc: 9207 str r2, [sp, #28] + 800a2de: e014 b.n 800a30a <_vfiprintf_r+0x13a> + 800a2e0: eba0 0308 sub.w r3, r0, r8 + 800a2e4: fa09 f303 lsl.w r3, r9, r3 + 800a2e8: 4313 orrs r3, r2 + 800a2ea: 46a2 mov sl, r4 + 800a2ec: 9304 str r3, [sp, #16] + 800a2ee: e7d2 b.n 800a296 <_vfiprintf_r+0xc6> + 800a2f0: 9b03 ldr r3, [sp, #12] + 800a2f2: 1d19 adds r1, r3, #4 + 800a2f4: 681b ldr r3, [r3, #0] + 800a2f6: 9103 str r1, [sp, #12] + 800a2f8: 2b00 cmp r3, #0 + 800a2fa: bfbb ittet lt + 800a2fc: 425b neglt r3, r3 + 800a2fe: f042 0202 orrlt.w r2, r2, #2 + 800a302: 9307 strge r3, [sp, #28] + 800a304: 9307 strlt r3, [sp, #28] + 800a306: bfb8 it lt + 800a308: 9204 strlt r2, [sp, #16] + 800a30a: 7823 ldrb r3, [r4, #0] + 800a30c: 2b2e cmp r3, #46 ; 0x2e + 800a30e: d10c bne.n 800a32a <_vfiprintf_r+0x15a> + 800a310: 7863 ldrb r3, [r4, #1] + 800a312: 2b2a cmp r3, #42 ; 0x2a + 800a314: d134 bne.n 800a380 <_vfiprintf_r+0x1b0> + 800a316: 9b03 ldr r3, [sp, #12] + 800a318: 3402 adds r4, #2 + 800a31a: 1d1a adds r2, r3, #4 + 800a31c: 681b ldr r3, [r3, #0] + 800a31e: 9203 str r2, [sp, #12] + 800a320: 2b00 cmp r3, #0 + 800a322: bfb8 it lt + 800a324: f04f 33ff movlt.w r3, #4294967295 + 800a328: 9305 str r3, [sp, #20] + 800a32a: f8df a0c8 ldr.w sl, [pc, #200] ; 800a3f4 <_vfiprintf_r+0x224> + 800a32e: 2203 movs r2, #3 + 800a330: 4650 mov r0, sl + 800a332: 7821 ldrb r1, [r4, #0] + 800a334: f7fe fb91 bl 8008a5a + 800a338: b138 cbz r0, 800a34a <_vfiprintf_r+0x17a> + 800a33a: 2240 movs r2, #64 ; 0x40 + 800a33c: 9b04 ldr r3, [sp, #16] + 800a33e: eba0 000a sub.w r0, r0, sl + 800a342: 4082 lsls r2, r0 + 800a344: 4313 orrs r3, r2 + 800a346: 3401 adds r4, #1 + 800a348: 9304 str r3, [sp, #16] + 800a34a: f814 1b01 ldrb.w r1, [r4], #1 + 800a34e: 2206 movs r2, #6 + 800a350: 4829 ldr r0, [pc, #164] ; (800a3f8 <_vfiprintf_r+0x228>) + 800a352: f88d 1028 strb.w r1, [sp, #40] ; 0x28 + 800a356: f7fe fb80 bl 8008a5a + 800a35a: 2800 cmp r0, #0 + 800a35c: d03f beq.n 800a3de <_vfiprintf_r+0x20e> + 800a35e: 4b27 ldr r3, [pc, #156] ; (800a3fc <_vfiprintf_r+0x22c>) + 800a360: bb1b cbnz r3, 800a3aa <_vfiprintf_r+0x1da> + 800a362: 9b03 ldr r3, [sp, #12] + 800a364: 3307 adds r3, #7 + 800a366: f023 0307 bic.w r3, r3, #7 + 800a36a: 3308 adds r3, #8 + 800a36c: 9303 str r3, [sp, #12] + 800a36e: 9b09 ldr r3, [sp, #36] ; 0x24 + 800a370: 443b add r3, r7 + 800a372: 9309 str r3, [sp, #36] ; 0x24 + 800a374: e768 b.n 800a248 <_vfiprintf_r+0x78> + 800a376: 460c mov r4, r1 + 800a378: 2001 movs r0, #1 + 800a37a: fb0c 3202 mla r2, ip, r2, r3 + 800a37e: e7a6 b.n 800a2ce <_vfiprintf_r+0xfe> + 800a380: 2300 movs r3, #0 + 800a382: f04f 0c0a mov.w ip, #10 + 800a386: 4619 mov r1, r3 + 800a388: 3401 adds r4, #1 + 800a38a: 9305 str r3, [sp, #20] + 800a38c: 4620 mov r0, r4 + 800a38e: f810 2b01 ldrb.w r2, [r0], #1 + 800a392: 3a30 subs r2, #48 ; 0x30 + 800a394: 2a09 cmp r2, #9 + 800a396: d903 bls.n 800a3a0 <_vfiprintf_r+0x1d0> + 800a398: 2b00 cmp r3, #0 + 800a39a: d0c6 beq.n 800a32a <_vfiprintf_r+0x15a> + 800a39c: 9105 str r1, [sp, #20] + 800a39e: e7c4 b.n 800a32a <_vfiprintf_r+0x15a> + 800a3a0: 4604 mov r4, r0 + 800a3a2: 2301 movs r3, #1 + 800a3a4: fb0c 2101 mla r1, ip, r1, r2 + 800a3a8: e7f0 b.n 800a38c <_vfiprintf_r+0x1bc> + 800a3aa: ab03 add r3, sp, #12 + 800a3ac: 9300 str r3, [sp, #0] + 800a3ae: 462a mov r2, r5 + 800a3b0: 4630 mov r0, r6 + 800a3b2: 4b13 ldr r3, [pc, #76] ; (800a400 <_vfiprintf_r+0x230>) + 800a3b4: a904 add r1, sp, #16 + 800a3b6: f7fd fd45 bl 8007e44 <_printf_float> + 800a3ba: 4607 mov r7, r0 + 800a3bc: 1c78 adds r0, r7, #1 + 800a3be: d1d6 bne.n 800a36e <_vfiprintf_r+0x19e> + 800a3c0: 6e6b ldr r3, [r5, #100] ; 0x64 + 800a3c2: 07d9 lsls r1, r3, #31 + 800a3c4: d405 bmi.n 800a3d2 <_vfiprintf_r+0x202> + 800a3c6: 89ab ldrh r3, [r5, #12] + 800a3c8: 059a lsls r2, r3, #22 + 800a3ca: d402 bmi.n 800a3d2 <_vfiprintf_r+0x202> + 800a3cc: 6da8 ldr r0, [r5, #88] ; 0x58 + 800a3ce: f7fe fb43 bl 8008a58 <__retarget_lock_release_recursive> + 800a3d2: 89ab ldrh r3, [r5, #12] + 800a3d4: 065b lsls r3, r3, #25 + 800a3d6: f53f af1d bmi.w 800a214 <_vfiprintf_r+0x44> + 800a3da: 9809 ldr r0, [sp, #36] ; 0x24 + 800a3dc: e71c b.n 800a218 <_vfiprintf_r+0x48> + 800a3de: ab03 add r3, sp, #12 + 800a3e0: 9300 str r3, [sp, #0] + 800a3e2: 462a mov r2, r5 + 800a3e4: 4630 mov r0, r6 + 800a3e6: 4b06 ldr r3, [pc, #24] ; (800a400 <_vfiprintf_r+0x230>) + 800a3e8: a904 add r1, sp, #16 + 800a3ea: f7fd ffcb bl 8008384 <_printf_i> + 800a3ee: e7e4 b.n 800a3ba <_vfiprintf_r+0x1ea> + 800a3f0: 0800b614 .word 0x0800b614 + 800a3f4: 0800b61a .word 0x0800b61a + 800a3f8: 0800b61e .word 0x0800b61e + 800a3fc: 08007e45 .word 0x08007e45 + 800a400: 0800a1ab .word 0x0800a1ab -080095cc <__d2b>: - 80095cc: b5f7 push {r0, r1, r2, r4, r5, r6, r7, lr} - 80095ce: 2101 movs r1, #1 - 80095d0: 4617 mov r7, r2 - 80095d2: 461c mov r4, r3 - 80095d4: 9e08 ldr r6, [sp, #32] - 80095d6: f7ff fcd7 bl 8008f88 <_Balloc> - 80095da: 4605 mov r5, r0 - 80095dc: b930 cbnz r0, 80095ec <__d2b+0x20> - 80095de: 4602 mov r2, r0 - 80095e0: f240 310f movw r1, #783 ; 0x30f - 80095e4: 4b22 ldr r3, [pc, #136] ; (8009670 <__d2b+0xa4>) - 80095e6: 4823 ldr r0, [pc, #140] ; (8009674 <__d2b+0xa8>) - 80095e8: f000 fc36 bl 8009e58 <__assert_func> - 80095ec: f3c4 0313 ubfx r3, r4, #0, #20 - 80095f0: f3c4 540a ubfx r4, r4, #20, #11 - 80095f4: bb24 cbnz r4, 8009640 <__d2b+0x74> - 80095f6: 2f00 cmp r7, #0 - 80095f8: 9301 str r3, [sp, #4] - 80095fa: d026 beq.n 800964a <__d2b+0x7e> - 80095fc: 4668 mov r0, sp - 80095fe: 9700 str r7, [sp, #0] - 8009600: f7ff fd8a bl 8009118 <__lo0bits> - 8009604: e9dd 1200 ldrd r1, r2, [sp] - 8009608: b1e8 cbz r0, 8009646 <__d2b+0x7a> - 800960a: f1c0 0320 rsb r3, r0, #32 - 800960e: fa02 f303 lsl.w r3, r2, r3 - 8009612: 430b orrs r3, r1 - 8009614: 40c2 lsrs r2, r0 - 8009616: 616b str r3, [r5, #20] - 8009618: 9201 str r2, [sp, #4] - 800961a: 9b01 ldr r3, [sp, #4] - 800961c: 2b00 cmp r3, #0 - 800961e: bf14 ite ne - 8009620: 2102 movne r1, #2 - 8009622: 2101 moveq r1, #1 - 8009624: 61ab str r3, [r5, #24] - 8009626: 6129 str r1, [r5, #16] - 8009628: b1bc cbz r4, 800965a <__d2b+0x8e> - 800962a: f2a4 4433 subw r4, r4, #1075 ; 0x433 - 800962e: 4404 add r4, r0 - 8009630: 6034 str r4, [r6, #0] - 8009632: f1c0 0035 rsb r0, r0, #53 ; 0x35 - 8009636: 9b09 ldr r3, [sp, #36] ; 0x24 - 8009638: 6018 str r0, [r3, #0] - 800963a: 4628 mov r0, r5 - 800963c: b003 add sp, #12 - 800963e: bdf0 pop {r4, r5, r6, r7, pc} - 8009640: f443 1380 orr.w r3, r3, #1048576 ; 0x100000 - 8009644: e7d7 b.n 80095f6 <__d2b+0x2a> - 8009646: 6169 str r1, [r5, #20] - 8009648: e7e7 b.n 800961a <__d2b+0x4e> - 800964a: a801 add r0, sp, #4 - 800964c: f7ff fd64 bl 8009118 <__lo0bits> - 8009650: 9b01 ldr r3, [sp, #4] - 8009652: 2101 movs r1, #1 - 8009654: 616b str r3, [r5, #20] - 8009656: 3020 adds r0, #32 - 8009658: e7e5 b.n 8009626 <__d2b+0x5a> - 800965a: f2a0 4032 subw r0, r0, #1074 ; 0x432 - 800965e: eb05 0381 add.w r3, r5, r1, lsl #2 - 8009662: 6030 str r0, [r6, #0] - 8009664: 6918 ldr r0, [r3, #16] - 8009666: f7ff fd37 bl 80090d8 <__hi0bits> - 800966a: ebc0 1041 rsb r0, r0, r1, lsl #5 - 800966e: e7e2 b.n 8009636 <__d2b+0x6a> - 8009670: 0800ac58 .word 0x0800ac58 - 8009674: 0800ac69 .word 0x0800ac69 +0800a404 <__sflush_r>: + 800a404: 898a ldrh r2, [r1, #12] + 800a406: b5f8 push {r3, r4, r5, r6, r7, lr} + 800a408: 4605 mov r5, r0 + 800a40a: 0710 lsls r0, r2, #28 + 800a40c: 460c mov r4, r1 + 800a40e: d457 bmi.n 800a4c0 <__sflush_r+0xbc> + 800a410: 684b ldr r3, [r1, #4] + 800a412: 2b00 cmp r3, #0 + 800a414: dc04 bgt.n 800a420 <__sflush_r+0x1c> + 800a416: 6c0b ldr r3, [r1, #64] ; 0x40 + 800a418: 2b00 cmp r3, #0 + 800a41a: dc01 bgt.n 800a420 <__sflush_r+0x1c> + 800a41c: 2000 movs r0, #0 + 800a41e: bdf8 pop {r3, r4, r5, r6, r7, pc} + 800a420: 6ae6 ldr r6, [r4, #44] ; 0x2c + 800a422: 2e00 cmp r6, #0 + 800a424: d0fa beq.n 800a41c <__sflush_r+0x18> + 800a426: 2300 movs r3, #0 + 800a428: f412 5280 ands.w r2, r2, #4096 ; 0x1000 + 800a42c: 682f ldr r7, [r5, #0] + 800a42e: 6a21 ldr r1, [r4, #32] + 800a430: 602b str r3, [r5, #0] + 800a432: d032 beq.n 800a49a <__sflush_r+0x96> + 800a434: 6d60 ldr r0, [r4, #84] ; 0x54 + 800a436: 89a3 ldrh r3, [r4, #12] + 800a438: 075a lsls r2, r3, #29 + 800a43a: d505 bpl.n 800a448 <__sflush_r+0x44> + 800a43c: 6863 ldr r3, [r4, #4] + 800a43e: 1ac0 subs r0, r0, r3 + 800a440: 6b63 ldr r3, [r4, #52] ; 0x34 + 800a442: b10b cbz r3, 800a448 <__sflush_r+0x44> + 800a444: 6c23 ldr r3, [r4, #64] ; 0x40 + 800a446: 1ac0 subs r0, r0, r3 + 800a448: 2300 movs r3, #0 + 800a44a: 4602 mov r2, r0 + 800a44c: 6ae6 ldr r6, [r4, #44] ; 0x2c + 800a44e: 4628 mov r0, r5 + 800a450: 6a21 ldr r1, [r4, #32] + 800a452: 47b0 blx r6 + 800a454: 1c43 adds r3, r0, #1 + 800a456: 89a3 ldrh r3, [r4, #12] + 800a458: d106 bne.n 800a468 <__sflush_r+0x64> + 800a45a: 6829 ldr r1, [r5, #0] + 800a45c: 291d cmp r1, #29 + 800a45e: d82b bhi.n 800a4b8 <__sflush_r+0xb4> + 800a460: 4a28 ldr r2, [pc, #160] ; (800a504 <__sflush_r+0x100>) + 800a462: 410a asrs r2, r1 + 800a464: 07d6 lsls r6, r2, #31 + 800a466: d427 bmi.n 800a4b8 <__sflush_r+0xb4> + 800a468: 2200 movs r2, #0 + 800a46a: 6062 str r2, [r4, #4] + 800a46c: 6922 ldr r2, [r4, #16] + 800a46e: 04d9 lsls r1, r3, #19 + 800a470: 6022 str r2, [r4, #0] + 800a472: d504 bpl.n 800a47e <__sflush_r+0x7a> + 800a474: 1c42 adds r2, r0, #1 + 800a476: d101 bne.n 800a47c <__sflush_r+0x78> + 800a478: 682b ldr r3, [r5, #0] + 800a47a: b903 cbnz r3, 800a47e <__sflush_r+0x7a> + 800a47c: 6560 str r0, [r4, #84] ; 0x54 + 800a47e: 6b61 ldr r1, [r4, #52] ; 0x34 + 800a480: 602f str r7, [r5, #0] + 800a482: 2900 cmp r1, #0 + 800a484: d0ca beq.n 800a41c <__sflush_r+0x18> + 800a486: f104 0344 add.w r3, r4, #68 ; 0x44 + 800a48a: 4299 cmp r1, r3 + 800a48c: d002 beq.n 800a494 <__sflush_r+0x90> + 800a48e: 4628 mov r0, r5 + 800a490: f7ff f95e bl 8009750 <_free_r> + 800a494: 2000 movs r0, #0 + 800a496: 6360 str r0, [r4, #52] ; 0x34 + 800a498: e7c1 b.n 800a41e <__sflush_r+0x1a> + 800a49a: 2301 movs r3, #1 + 800a49c: 4628 mov r0, r5 + 800a49e: 47b0 blx r6 + 800a4a0: 1c41 adds r1, r0, #1 + 800a4a2: d1c8 bne.n 800a436 <__sflush_r+0x32> + 800a4a4: 682b ldr r3, [r5, #0] + 800a4a6: 2b00 cmp r3, #0 + 800a4a8: d0c5 beq.n 800a436 <__sflush_r+0x32> + 800a4aa: 2b1d cmp r3, #29 + 800a4ac: d001 beq.n 800a4b2 <__sflush_r+0xae> + 800a4ae: 2b16 cmp r3, #22 + 800a4b0: d101 bne.n 800a4b6 <__sflush_r+0xb2> + 800a4b2: 602f str r7, [r5, #0] + 800a4b4: e7b2 b.n 800a41c <__sflush_r+0x18> + 800a4b6: 89a3 ldrh r3, [r4, #12] + 800a4b8: f043 0340 orr.w r3, r3, #64 ; 0x40 + 800a4bc: 81a3 strh r3, [r4, #12] + 800a4be: e7ae b.n 800a41e <__sflush_r+0x1a> + 800a4c0: 690f ldr r7, [r1, #16] + 800a4c2: 2f00 cmp r7, #0 + 800a4c4: d0aa beq.n 800a41c <__sflush_r+0x18> + 800a4c6: 0793 lsls r3, r2, #30 + 800a4c8: bf18 it ne + 800a4ca: 2300 movne r3, #0 + 800a4cc: 680e ldr r6, [r1, #0] + 800a4ce: bf08 it eq + 800a4d0: 694b ldreq r3, [r1, #20] + 800a4d2: 1bf6 subs r6, r6, r7 + 800a4d4: 600f str r7, [r1, #0] + 800a4d6: 608b str r3, [r1, #8] + 800a4d8: 2e00 cmp r6, #0 + 800a4da: dd9f ble.n 800a41c <__sflush_r+0x18> + 800a4dc: 4633 mov r3, r6 + 800a4de: 463a mov r2, r7 + 800a4e0: 4628 mov r0, r5 + 800a4e2: 6a21 ldr r1, [r4, #32] + 800a4e4: f8d4 c028 ldr.w ip, [r4, #40] ; 0x28 + 800a4e8: 47e0 blx ip + 800a4ea: 2800 cmp r0, #0 + 800a4ec: dc06 bgt.n 800a4fc <__sflush_r+0xf8> + 800a4ee: 89a3 ldrh r3, [r4, #12] + 800a4f0: f04f 30ff mov.w r0, #4294967295 + 800a4f4: f043 0340 orr.w r3, r3, #64 ; 0x40 + 800a4f8: 81a3 strh r3, [r4, #12] + 800a4fa: e790 b.n 800a41e <__sflush_r+0x1a> + 800a4fc: 4407 add r7, r0 + 800a4fe: 1a36 subs r6, r6, r0 + 800a500: e7ea b.n 800a4d8 <__sflush_r+0xd4> + 800a502: bf00 nop + 800a504: dfbffffe .word 0xdfbffffe -08009678 <__ssputs_r>: - 8009678: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} - 800967c: 461f mov r7, r3 - 800967e: 688e ldr r6, [r1, #8] - 8009680: 4682 mov sl, r0 - 8009682: 42be cmp r6, r7 - 8009684: 460c mov r4, r1 - 8009686: 4690 mov r8, r2 - 8009688: 680b ldr r3, [r1, #0] - 800968a: d82c bhi.n 80096e6 <__ssputs_r+0x6e> - 800968c: 898a ldrh r2, [r1, #12] - 800968e: f412 6f90 tst.w r2, #1152 ; 0x480 - 8009692: d026 beq.n 80096e2 <__ssputs_r+0x6a> - 8009694: 6965 ldr r5, [r4, #20] - 8009696: 6909 ldr r1, [r1, #16] - 8009698: eb05 0545 add.w r5, r5, r5, lsl #1 - 800969c: eba3 0901 sub.w r9, r3, r1 - 80096a0: eb05 75d5 add.w r5, r5, r5, lsr #31 - 80096a4: 1c7b adds r3, r7, #1 - 80096a6: 444b add r3, r9 - 80096a8: 106d asrs r5, r5, #1 - 80096aa: 429d cmp r5, r3 - 80096ac: bf38 it cc - 80096ae: 461d movcc r5, r3 - 80096b0: 0553 lsls r3, r2, #21 - 80096b2: d527 bpl.n 8009704 <__ssputs_r+0x8c> - 80096b4: 4629 mov r1, r5 - 80096b6: f7fd fe6f bl 8007398 <_malloc_r> - 80096ba: 4606 mov r6, r0 - 80096bc: b360 cbz r0, 8009718 <__ssputs_r+0xa0> - 80096be: 464a mov r2, r9 - 80096c0: 6921 ldr r1, [r4, #16] - 80096c2: f000 fbbb bl 8009e3c - 80096c6: 89a3 ldrh r3, [r4, #12] - 80096c8: f423 6390 bic.w r3, r3, #1152 ; 0x480 - 80096cc: f043 0380 orr.w r3, r3, #128 ; 0x80 - 80096d0: 81a3 strh r3, [r4, #12] - 80096d2: 6126 str r6, [r4, #16] - 80096d4: 444e add r6, r9 - 80096d6: 6026 str r6, [r4, #0] - 80096d8: 463e mov r6, r7 - 80096da: 6165 str r5, [r4, #20] - 80096dc: eba5 0509 sub.w r5, r5, r9 - 80096e0: 60a5 str r5, [r4, #8] - 80096e2: 42be cmp r6, r7 - 80096e4: d900 bls.n 80096e8 <__ssputs_r+0x70> - 80096e6: 463e mov r6, r7 - 80096e8: 4632 mov r2, r6 - 80096ea: 4641 mov r1, r8 - 80096ec: 6820 ldr r0, [r4, #0] - 80096ee: f000 fb68 bl 8009dc2 - 80096f2: 2000 movs r0, #0 - 80096f4: 68a3 ldr r3, [r4, #8] - 80096f6: 1b9b subs r3, r3, r6 - 80096f8: 60a3 str r3, [r4, #8] - 80096fa: 6823 ldr r3, [r4, #0] - 80096fc: 4433 add r3, r6 - 80096fe: 6023 str r3, [r4, #0] - 8009700: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} - 8009704: 462a mov r2, r5 - 8009706: f000 fbeb bl 8009ee0 <_realloc_r> - 800970a: 4606 mov r6, r0 - 800970c: 2800 cmp r0, #0 - 800970e: d1e0 bne.n 80096d2 <__ssputs_r+0x5a> - 8009710: 4650 mov r0, sl - 8009712: 6921 ldr r1, [r4, #16] - 8009714: f7ff fbf0 bl 8008ef8 <_free_r> - 8009718: 230c movs r3, #12 - 800971a: f8ca 3000 str.w r3, [sl] - 800971e: 89a3 ldrh r3, [r4, #12] - 8009720: f04f 30ff mov.w r0, #4294967295 - 8009724: f043 0340 orr.w r3, r3, #64 ; 0x40 - 8009728: 81a3 strh r3, [r4, #12] - 800972a: e7e9 b.n 8009700 <__ssputs_r+0x88> +0800a508 <_fflush_r>: + 800a508: b538 push {r3, r4, r5, lr} + 800a50a: 690b ldr r3, [r1, #16] + 800a50c: 4605 mov r5, r0 + 800a50e: 460c mov r4, r1 + 800a510: b913 cbnz r3, 800a518 <_fflush_r+0x10> + 800a512: 2500 movs r5, #0 + 800a514: 4628 mov r0, r5 + 800a516: bd38 pop {r3, r4, r5, pc} + 800a518: b118 cbz r0, 800a522 <_fflush_r+0x1a> + 800a51a: 6a03 ldr r3, [r0, #32] + 800a51c: b90b cbnz r3, 800a522 <_fflush_r+0x1a> + 800a51e: f7fe f8df bl 80086e0 <__sinit> + 800a522: f9b4 300c ldrsh.w r3, [r4, #12] + 800a526: 2b00 cmp r3, #0 + 800a528: d0f3 beq.n 800a512 <_fflush_r+0xa> + 800a52a: 6e62 ldr r2, [r4, #100] ; 0x64 + 800a52c: 07d0 lsls r0, r2, #31 + 800a52e: d404 bmi.n 800a53a <_fflush_r+0x32> + 800a530: 0599 lsls r1, r3, #22 + 800a532: d402 bmi.n 800a53a <_fflush_r+0x32> + 800a534: 6da0 ldr r0, [r4, #88] ; 0x58 + 800a536: f7fe fa8e bl 8008a56 <__retarget_lock_acquire_recursive> + 800a53a: 4628 mov r0, r5 + 800a53c: 4621 mov r1, r4 + 800a53e: f7ff ff61 bl 800a404 <__sflush_r> + 800a542: 6e63 ldr r3, [r4, #100] ; 0x64 + 800a544: 4605 mov r5, r0 + 800a546: 07da lsls r2, r3, #31 + 800a548: d4e4 bmi.n 800a514 <_fflush_r+0xc> + 800a54a: 89a3 ldrh r3, [r4, #12] + 800a54c: 059b lsls r3, r3, #22 + 800a54e: d4e1 bmi.n 800a514 <_fflush_r+0xc> + 800a550: 6da0 ldr r0, [r4, #88] ; 0x58 + 800a552: f7fe fa81 bl 8008a58 <__retarget_lock_release_recursive> + 800a556: e7dd b.n 800a514 <_fflush_r+0xc> -0800972c <_svfiprintf_r>: - 800972c: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 8009730: 4698 mov r8, r3 - 8009732: 898b ldrh r3, [r1, #12] - 8009734: 4607 mov r7, r0 - 8009736: 061b lsls r3, r3, #24 - 8009738: 460d mov r5, r1 - 800973a: 4614 mov r4, r2 - 800973c: b09d sub sp, #116 ; 0x74 - 800973e: d50e bpl.n 800975e <_svfiprintf_r+0x32> - 8009740: 690b ldr r3, [r1, #16] - 8009742: b963 cbnz r3, 800975e <_svfiprintf_r+0x32> - 8009744: 2140 movs r1, #64 ; 0x40 - 8009746: f7fd fe27 bl 8007398 <_malloc_r> - 800974a: 6028 str r0, [r5, #0] - 800974c: 6128 str r0, [r5, #16] - 800974e: b920 cbnz r0, 800975a <_svfiprintf_r+0x2e> - 8009750: 230c movs r3, #12 - 8009752: 603b str r3, [r7, #0] - 8009754: f04f 30ff mov.w r0, #4294967295 - 8009758: e0d0 b.n 80098fc <_svfiprintf_r+0x1d0> - 800975a: 2340 movs r3, #64 ; 0x40 - 800975c: 616b str r3, [r5, #20] - 800975e: 2300 movs r3, #0 - 8009760: 9309 str r3, [sp, #36] ; 0x24 - 8009762: 2320 movs r3, #32 - 8009764: f88d 3029 strb.w r3, [sp, #41] ; 0x29 - 8009768: 2330 movs r3, #48 ; 0x30 - 800976a: f04f 0901 mov.w r9, #1 - 800976e: f8cd 800c str.w r8, [sp, #12] - 8009772: f8df 81a0 ldr.w r8, [pc, #416] ; 8009914 <_svfiprintf_r+0x1e8> - 8009776: f88d 302a strb.w r3, [sp, #42] ; 0x2a - 800977a: 4623 mov r3, r4 - 800977c: 469a mov sl, r3 - 800977e: f813 2b01 ldrb.w r2, [r3], #1 - 8009782: b10a cbz r2, 8009788 <_svfiprintf_r+0x5c> - 8009784: 2a25 cmp r2, #37 ; 0x25 - 8009786: d1f9 bne.n 800977c <_svfiprintf_r+0x50> - 8009788: ebba 0b04 subs.w fp, sl, r4 - 800978c: d00b beq.n 80097a6 <_svfiprintf_r+0x7a> - 800978e: 465b mov r3, fp - 8009790: 4622 mov r2, r4 - 8009792: 4629 mov r1, r5 - 8009794: 4638 mov r0, r7 - 8009796: f7ff ff6f bl 8009678 <__ssputs_r> - 800979a: 3001 adds r0, #1 - 800979c: f000 80a9 beq.w 80098f2 <_svfiprintf_r+0x1c6> - 80097a0: 9a09 ldr r2, [sp, #36] ; 0x24 - 80097a2: 445a add r2, fp - 80097a4: 9209 str r2, [sp, #36] ; 0x24 - 80097a6: f89a 3000 ldrb.w r3, [sl] - 80097aa: 2b00 cmp r3, #0 - 80097ac: f000 80a1 beq.w 80098f2 <_svfiprintf_r+0x1c6> - 80097b0: 2300 movs r3, #0 - 80097b2: f04f 32ff mov.w r2, #4294967295 - 80097b6: e9cd 2305 strd r2, r3, [sp, #20] - 80097ba: f10a 0a01 add.w sl, sl, #1 - 80097be: 9304 str r3, [sp, #16] - 80097c0: 9307 str r3, [sp, #28] - 80097c2: f88d 3053 strb.w r3, [sp, #83] ; 0x53 - 80097c6: 931a str r3, [sp, #104] ; 0x68 - 80097c8: 4654 mov r4, sl - 80097ca: 2205 movs r2, #5 - 80097cc: f814 1b01 ldrb.w r1, [r4], #1 - 80097d0: 4850 ldr r0, [pc, #320] ; (8009914 <_svfiprintf_r+0x1e8>) - 80097d2: f7fe fd14 bl 80081fe - 80097d6: 9a04 ldr r2, [sp, #16] - 80097d8: b9d8 cbnz r0, 8009812 <_svfiprintf_r+0xe6> - 80097da: 06d0 lsls r0, r2, #27 - 80097dc: bf44 itt mi - 80097de: 2320 movmi r3, #32 - 80097e0: f88d 3053 strbmi.w r3, [sp, #83] ; 0x53 - 80097e4: 0711 lsls r1, r2, #28 - 80097e6: bf44 itt mi - 80097e8: 232b movmi r3, #43 ; 0x2b - 80097ea: f88d 3053 strbmi.w r3, [sp, #83] ; 0x53 - 80097ee: f89a 3000 ldrb.w r3, [sl] - 80097f2: 2b2a cmp r3, #42 ; 0x2a - 80097f4: d015 beq.n 8009822 <_svfiprintf_r+0xf6> - 80097f6: 4654 mov r4, sl - 80097f8: 2000 movs r0, #0 - 80097fa: f04f 0c0a mov.w ip, #10 - 80097fe: 9a07 ldr r2, [sp, #28] - 8009800: 4621 mov r1, r4 - 8009802: f811 3b01 ldrb.w r3, [r1], #1 - 8009806: 3b30 subs r3, #48 ; 0x30 - 8009808: 2b09 cmp r3, #9 - 800980a: d94d bls.n 80098a8 <_svfiprintf_r+0x17c> - 800980c: b1b0 cbz r0, 800983c <_svfiprintf_r+0x110> - 800980e: 9207 str r2, [sp, #28] - 8009810: e014 b.n 800983c <_svfiprintf_r+0x110> - 8009812: eba0 0308 sub.w r3, r0, r8 - 8009816: fa09 f303 lsl.w r3, r9, r3 - 800981a: 4313 orrs r3, r2 - 800981c: 46a2 mov sl, r4 - 800981e: 9304 str r3, [sp, #16] - 8009820: e7d2 b.n 80097c8 <_svfiprintf_r+0x9c> - 8009822: 9b03 ldr r3, [sp, #12] - 8009824: 1d19 adds r1, r3, #4 - 8009826: 681b ldr r3, [r3, #0] - 8009828: 9103 str r1, [sp, #12] - 800982a: 2b00 cmp r3, #0 - 800982c: bfbb ittet lt - 800982e: 425b neglt r3, r3 - 8009830: f042 0202 orrlt.w r2, r2, #2 - 8009834: 9307 strge r3, [sp, #28] - 8009836: 9307 strlt r3, [sp, #28] - 8009838: bfb8 it lt - 800983a: 9204 strlt r2, [sp, #16] - 800983c: 7823 ldrb r3, [r4, #0] - 800983e: 2b2e cmp r3, #46 ; 0x2e - 8009840: d10c bne.n 800985c <_svfiprintf_r+0x130> - 8009842: 7863 ldrb r3, [r4, #1] - 8009844: 2b2a cmp r3, #42 ; 0x2a - 8009846: d134 bne.n 80098b2 <_svfiprintf_r+0x186> - 8009848: 9b03 ldr r3, [sp, #12] - 800984a: 3402 adds r4, #2 - 800984c: 1d1a adds r2, r3, #4 - 800984e: 681b ldr r3, [r3, #0] - 8009850: 9203 str r2, [sp, #12] - 8009852: 2b00 cmp r3, #0 - 8009854: bfb8 it lt - 8009856: f04f 33ff movlt.w r3, #4294967295 - 800985a: 9305 str r3, [sp, #20] - 800985c: f8df a0b8 ldr.w sl, [pc, #184] ; 8009918 <_svfiprintf_r+0x1ec> - 8009860: 2203 movs r2, #3 - 8009862: 4650 mov r0, sl - 8009864: 7821 ldrb r1, [r4, #0] - 8009866: f7fe fcca bl 80081fe - 800986a: b138 cbz r0, 800987c <_svfiprintf_r+0x150> - 800986c: 2240 movs r2, #64 ; 0x40 - 800986e: 9b04 ldr r3, [sp, #16] - 8009870: eba0 000a sub.w r0, r0, sl - 8009874: 4082 lsls r2, r0 - 8009876: 4313 orrs r3, r2 - 8009878: 3401 adds r4, #1 - 800987a: 9304 str r3, [sp, #16] - 800987c: f814 1b01 ldrb.w r1, [r4], #1 - 8009880: 2206 movs r2, #6 - 8009882: 4826 ldr r0, [pc, #152] ; (800991c <_svfiprintf_r+0x1f0>) - 8009884: f88d 1028 strb.w r1, [sp, #40] ; 0x28 - 8009888: f7fe fcb9 bl 80081fe - 800988c: 2800 cmp r0, #0 - 800988e: d038 beq.n 8009902 <_svfiprintf_r+0x1d6> - 8009890: 4b23 ldr r3, [pc, #140] ; (8009920 <_svfiprintf_r+0x1f4>) - 8009892: bb1b cbnz r3, 80098dc <_svfiprintf_r+0x1b0> - 8009894: 9b03 ldr r3, [sp, #12] - 8009896: 3307 adds r3, #7 - 8009898: f023 0307 bic.w r3, r3, #7 - 800989c: 3308 adds r3, #8 - 800989e: 9303 str r3, [sp, #12] - 80098a0: 9b09 ldr r3, [sp, #36] ; 0x24 - 80098a2: 4433 add r3, r6 - 80098a4: 9309 str r3, [sp, #36] ; 0x24 - 80098a6: e768 b.n 800977a <_svfiprintf_r+0x4e> - 80098a8: 460c mov r4, r1 - 80098aa: 2001 movs r0, #1 - 80098ac: fb0c 3202 mla r2, ip, r2, r3 - 80098b0: e7a6 b.n 8009800 <_svfiprintf_r+0xd4> - 80098b2: 2300 movs r3, #0 - 80098b4: f04f 0c0a mov.w ip, #10 - 80098b8: 4619 mov r1, r3 - 80098ba: 3401 adds r4, #1 - 80098bc: 9305 str r3, [sp, #20] - 80098be: 4620 mov r0, r4 - 80098c0: f810 2b01 ldrb.w r2, [r0], #1 - 80098c4: 3a30 subs r2, #48 ; 0x30 - 80098c6: 2a09 cmp r2, #9 - 80098c8: d903 bls.n 80098d2 <_svfiprintf_r+0x1a6> - 80098ca: 2b00 cmp r3, #0 - 80098cc: d0c6 beq.n 800985c <_svfiprintf_r+0x130> - 80098ce: 9105 str r1, [sp, #20] - 80098d0: e7c4 b.n 800985c <_svfiprintf_r+0x130> - 80098d2: 4604 mov r4, r0 - 80098d4: 2301 movs r3, #1 - 80098d6: fb0c 2101 mla r1, ip, r1, r2 - 80098da: e7f0 b.n 80098be <_svfiprintf_r+0x192> - 80098dc: ab03 add r3, sp, #12 - 80098de: 9300 str r3, [sp, #0] - 80098e0: 462a mov r2, r5 - 80098e2: 4638 mov r0, r7 - 80098e4: 4b0f ldr r3, [pc, #60] ; (8009924 <_svfiprintf_r+0x1f8>) - 80098e6: a904 add r1, sp, #16 - 80098e8: f7fd fe7e bl 80075e8 <_printf_float> - 80098ec: 1c42 adds r2, r0, #1 - 80098ee: 4606 mov r6, r0 - 80098f0: d1d6 bne.n 80098a0 <_svfiprintf_r+0x174> - 80098f2: 89ab ldrh r3, [r5, #12] - 80098f4: 065b lsls r3, r3, #25 - 80098f6: f53f af2d bmi.w 8009754 <_svfiprintf_r+0x28> - 80098fa: 9809 ldr r0, [sp, #36] ; 0x24 - 80098fc: b01d add sp, #116 ; 0x74 - 80098fe: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} - 8009902: ab03 add r3, sp, #12 - 8009904: 9300 str r3, [sp, #0] - 8009906: 462a mov r2, r5 - 8009908: 4638 mov r0, r7 - 800990a: 4b06 ldr r3, [pc, #24] ; (8009924 <_svfiprintf_r+0x1f8>) - 800990c: a904 add r1, sp, #16 - 800990e: f7fe f90b bl 8007b28 <_printf_i> - 8009912: e7eb b.n 80098ec <_svfiprintf_r+0x1c0> - 8009914: 0800adc4 .word 0x0800adc4 - 8009918: 0800adca .word 0x0800adca - 800991c: 0800adce .word 0x0800adce - 8009920: 080075e9 .word 0x080075e9 - 8009924: 08009679 .word 0x08009679 +0800a558 <__swhatbuf_r>: + 800a558: b570 push {r4, r5, r6, lr} + 800a55a: 460c mov r4, r1 + 800a55c: f9b1 100e ldrsh.w r1, [r1, #14] + 800a560: 4615 mov r5, r2 + 800a562: 2900 cmp r1, #0 + 800a564: 461e mov r6, r3 + 800a566: b096 sub sp, #88 ; 0x58 + 800a568: da0c bge.n 800a584 <__swhatbuf_r+0x2c> + 800a56a: 89a3 ldrh r3, [r4, #12] + 800a56c: 2100 movs r1, #0 + 800a56e: f013 0f80 tst.w r3, #128 ; 0x80 + 800a572: bf0c ite eq + 800a574: f44f 6380 moveq.w r3, #1024 ; 0x400 + 800a578: 2340 movne r3, #64 ; 0x40 + 800a57a: 2000 movs r0, #0 + 800a57c: 6031 str r1, [r6, #0] + 800a57e: 602b str r3, [r5, #0] + 800a580: b016 add sp, #88 ; 0x58 + 800a582: bd70 pop {r4, r5, r6, pc} + 800a584: 466a mov r2, sp + 800a586: f000 f863 bl 800a650 <_fstat_r> + 800a58a: 2800 cmp r0, #0 + 800a58c: dbed blt.n 800a56a <__swhatbuf_r+0x12> + 800a58e: 9901 ldr r1, [sp, #4] + 800a590: f401 4170 and.w r1, r1, #61440 ; 0xf000 + 800a594: f5a1 5300 sub.w r3, r1, #8192 ; 0x2000 + 800a598: 4259 negs r1, r3 + 800a59a: 4159 adcs r1, r3 + 800a59c: f44f 6380 mov.w r3, #1024 ; 0x400 + 800a5a0: e7eb b.n 800a57a <__swhatbuf_r+0x22> -08009928 <__sfputc_r>: - 8009928: 6893 ldr r3, [r2, #8] - 800992a: b410 push {r4} - 800992c: 3b01 subs r3, #1 - 800992e: 2b00 cmp r3, #0 - 8009930: 6093 str r3, [r2, #8] - 8009932: da07 bge.n 8009944 <__sfputc_r+0x1c> - 8009934: 6994 ldr r4, [r2, #24] - 8009936: 42a3 cmp r3, r4 - 8009938: db01 blt.n 800993e <__sfputc_r+0x16> - 800993a: 290a cmp r1, #10 - 800993c: d102 bne.n 8009944 <__sfputc_r+0x1c> - 800993e: bc10 pop {r4} - 8009940: f7fe bb39 b.w 8007fb6 <__swbuf_r> - 8009944: 6813 ldr r3, [r2, #0] - 8009946: 1c58 adds r0, r3, #1 - 8009948: 6010 str r0, [r2, #0] - 800994a: 7019 strb r1, [r3, #0] - 800994c: 4608 mov r0, r1 - 800994e: bc10 pop {r4} - 8009950: 4770 bx lr +0800a5a2 <__smakebuf_r>: + 800a5a2: 898b ldrh r3, [r1, #12] + 800a5a4: b573 push {r0, r1, r4, r5, r6, lr} + 800a5a6: 079d lsls r5, r3, #30 + 800a5a8: 4606 mov r6, r0 + 800a5aa: 460c mov r4, r1 + 800a5ac: d507 bpl.n 800a5be <__smakebuf_r+0x1c> + 800a5ae: f104 0347 add.w r3, r4, #71 ; 0x47 + 800a5b2: 6023 str r3, [r4, #0] + 800a5b4: 6123 str r3, [r4, #16] + 800a5b6: 2301 movs r3, #1 + 800a5b8: 6163 str r3, [r4, #20] + 800a5ba: b002 add sp, #8 + 800a5bc: bd70 pop {r4, r5, r6, pc} + 800a5be: 466a mov r2, sp + 800a5c0: ab01 add r3, sp, #4 + 800a5c2: f7ff ffc9 bl 800a558 <__swhatbuf_r> + 800a5c6: 9900 ldr r1, [sp, #0] + 800a5c8: 4605 mov r5, r0 + 800a5ca: 4630 mov r0, r6 + 800a5cc: f7fd fb12 bl 8007bf4 <_malloc_r> + 800a5d0: b948 cbnz r0, 800a5e6 <__smakebuf_r+0x44> + 800a5d2: f9b4 300c ldrsh.w r3, [r4, #12] + 800a5d6: 059a lsls r2, r3, #22 + 800a5d8: d4ef bmi.n 800a5ba <__smakebuf_r+0x18> + 800a5da: f023 0303 bic.w r3, r3, #3 + 800a5de: f043 0302 orr.w r3, r3, #2 + 800a5e2: 81a3 strh r3, [r4, #12] + 800a5e4: e7e3 b.n 800a5ae <__smakebuf_r+0xc> + 800a5e6: 89a3 ldrh r3, [r4, #12] + 800a5e8: 6020 str r0, [r4, #0] + 800a5ea: f043 0380 orr.w r3, r3, #128 ; 0x80 + 800a5ee: 81a3 strh r3, [r4, #12] + 800a5f0: 9b00 ldr r3, [sp, #0] + 800a5f2: 6120 str r0, [r4, #16] + 800a5f4: 6163 str r3, [r4, #20] + 800a5f6: 9b01 ldr r3, [sp, #4] + 800a5f8: b15b cbz r3, 800a612 <__smakebuf_r+0x70> + 800a5fa: 4630 mov r0, r6 + 800a5fc: f9b4 100e ldrsh.w r1, [r4, #14] + 800a600: f000 f838 bl 800a674 <_isatty_r> + 800a604: b128 cbz r0, 800a612 <__smakebuf_r+0x70> + 800a606: 89a3 ldrh r3, [r4, #12] + 800a608: f023 0303 bic.w r3, r3, #3 + 800a60c: f043 0301 orr.w r3, r3, #1 + 800a610: 81a3 strh r3, [r4, #12] + 800a612: 89a3 ldrh r3, [r4, #12] + 800a614: 431d orrs r5, r3 + 800a616: 81a5 strh r5, [r4, #12] + 800a618: e7cf b.n 800a5ba <__smakebuf_r+0x18> -08009952 <__sfputs_r>: - 8009952: b5f8 push {r3, r4, r5, r6, r7, lr} - 8009954: 4606 mov r6, r0 - 8009956: 460f mov r7, r1 - 8009958: 4614 mov r4, r2 - 800995a: 18d5 adds r5, r2, r3 - 800995c: 42ac cmp r4, r5 - 800995e: d101 bne.n 8009964 <__sfputs_r+0x12> - 8009960: 2000 movs r0, #0 - 8009962: e007 b.n 8009974 <__sfputs_r+0x22> - 8009964: 463a mov r2, r7 - 8009966: 4630 mov r0, r6 - 8009968: f814 1b01 ldrb.w r1, [r4], #1 - 800996c: f7ff ffdc bl 8009928 <__sfputc_r> - 8009970: 1c43 adds r3, r0, #1 - 8009972: d1f3 bne.n 800995c <__sfputs_r+0xa> - 8009974: bdf8 pop {r3, r4, r5, r6, r7, pc} +0800a61a : + 800a61a: 4288 cmp r0, r1 + 800a61c: b510 push {r4, lr} + 800a61e: eb01 0402 add.w r4, r1, r2 + 800a622: d902 bls.n 800a62a + 800a624: 4284 cmp r4, r0 + 800a626: 4623 mov r3, r4 + 800a628: d807 bhi.n 800a63a + 800a62a: 1e43 subs r3, r0, #1 + 800a62c: 42a1 cmp r1, r4 + 800a62e: d008 beq.n 800a642 + 800a630: f811 2b01 ldrb.w r2, [r1], #1 + 800a634: f803 2f01 strb.w r2, [r3, #1]! + 800a638: e7f8 b.n 800a62c + 800a63a: 4601 mov r1, r0 + 800a63c: 4402 add r2, r0 + 800a63e: 428a cmp r2, r1 + 800a640: d100 bne.n 800a644 + 800a642: bd10 pop {r4, pc} + 800a644: f813 4d01 ldrb.w r4, [r3, #-1]! + 800a648: f802 4d01 strb.w r4, [r2, #-1]! + 800a64c: e7f7 b.n 800a63e ... -08009978 <_vfiprintf_r>: - 8009978: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 800997c: 460d mov r5, r1 - 800997e: 4614 mov r4, r2 - 8009980: 4698 mov r8, r3 - 8009982: 4606 mov r6, r0 - 8009984: b09d sub sp, #116 ; 0x74 - 8009986: b118 cbz r0, 8009990 <_vfiprintf_r+0x18> - 8009988: 6a03 ldr r3, [r0, #32] - 800998a: b90b cbnz r3, 8009990 <_vfiprintf_r+0x18> - 800998c: f7fe fa7a bl 8007e84 <__sinit> - 8009990: 6e6b ldr r3, [r5, #100] ; 0x64 - 8009992: 07d9 lsls r1, r3, #31 - 8009994: d405 bmi.n 80099a2 <_vfiprintf_r+0x2a> - 8009996: 89ab ldrh r3, [r5, #12] - 8009998: 059a lsls r2, r3, #22 - 800999a: d402 bmi.n 80099a2 <_vfiprintf_r+0x2a> - 800999c: 6da8 ldr r0, [r5, #88] ; 0x58 - 800999e: f7fe fc2c bl 80081fa <__retarget_lock_acquire_recursive> - 80099a2: 89ab ldrh r3, [r5, #12] - 80099a4: 071b lsls r3, r3, #28 - 80099a6: d501 bpl.n 80099ac <_vfiprintf_r+0x34> - 80099a8: 692b ldr r3, [r5, #16] - 80099aa: b99b cbnz r3, 80099d4 <_vfiprintf_r+0x5c> - 80099ac: 4629 mov r1, r5 - 80099ae: 4630 mov r0, r6 - 80099b0: f7fe fb3e bl 8008030 <__swsetup_r> - 80099b4: b170 cbz r0, 80099d4 <_vfiprintf_r+0x5c> - 80099b6: 6e6b ldr r3, [r5, #100] ; 0x64 - 80099b8: 07dc lsls r4, r3, #31 - 80099ba: d504 bpl.n 80099c6 <_vfiprintf_r+0x4e> - 80099bc: f04f 30ff mov.w r0, #4294967295 - 80099c0: b01d add sp, #116 ; 0x74 - 80099c2: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} - 80099c6: 89ab ldrh r3, [r5, #12] - 80099c8: 0598 lsls r0, r3, #22 - 80099ca: d4f7 bmi.n 80099bc <_vfiprintf_r+0x44> - 80099cc: 6da8 ldr r0, [r5, #88] ; 0x58 - 80099ce: f7fe fc15 bl 80081fc <__retarget_lock_release_recursive> - 80099d2: e7f3 b.n 80099bc <_vfiprintf_r+0x44> - 80099d4: 2300 movs r3, #0 - 80099d6: 9309 str r3, [sp, #36] ; 0x24 - 80099d8: 2320 movs r3, #32 - 80099da: f88d 3029 strb.w r3, [sp, #41] ; 0x29 - 80099de: 2330 movs r3, #48 ; 0x30 - 80099e0: f04f 0901 mov.w r9, #1 - 80099e4: f8cd 800c str.w r8, [sp, #12] - 80099e8: f8df 81ac ldr.w r8, [pc, #428] ; 8009b98 <_vfiprintf_r+0x220> - 80099ec: f88d 302a strb.w r3, [sp, #42] ; 0x2a - 80099f0: 4623 mov r3, r4 - 80099f2: 469a mov sl, r3 - 80099f4: f813 2b01 ldrb.w r2, [r3], #1 - 80099f8: b10a cbz r2, 80099fe <_vfiprintf_r+0x86> - 80099fa: 2a25 cmp r2, #37 ; 0x25 - 80099fc: d1f9 bne.n 80099f2 <_vfiprintf_r+0x7a> - 80099fe: ebba 0b04 subs.w fp, sl, r4 - 8009a02: d00b beq.n 8009a1c <_vfiprintf_r+0xa4> - 8009a04: 465b mov r3, fp - 8009a06: 4622 mov r2, r4 - 8009a08: 4629 mov r1, r5 - 8009a0a: 4630 mov r0, r6 - 8009a0c: f7ff ffa1 bl 8009952 <__sfputs_r> - 8009a10: 3001 adds r0, #1 - 8009a12: f000 80a9 beq.w 8009b68 <_vfiprintf_r+0x1f0> - 8009a16: 9a09 ldr r2, [sp, #36] ; 0x24 - 8009a18: 445a add r2, fp - 8009a1a: 9209 str r2, [sp, #36] ; 0x24 - 8009a1c: f89a 3000 ldrb.w r3, [sl] - 8009a20: 2b00 cmp r3, #0 - 8009a22: f000 80a1 beq.w 8009b68 <_vfiprintf_r+0x1f0> - 8009a26: 2300 movs r3, #0 - 8009a28: f04f 32ff mov.w r2, #4294967295 - 8009a2c: e9cd 2305 strd r2, r3, [sp, #20] - 8009a30: f10a 0a01 add.w sl, sl, #1 - 8009a34: 9304 str r3, [sp, #16] - 8009a36: 9307 str r3, [sp, #28] - 8009a38: f88d 3053 strb.w r3, [sp, #83] ; 0x53 - 8009a3c: 931a str r3, [sp, #104] ; 0x68 - 8009a3e: 4654 mov r4, sl - 8009a40: 2205 movs r2, #5 - 8009a42: f814 1b01 ldrb.w r1, [r4], #1 - 8009a46: 4854 ldr r0, [pc, #336] ; (8009b98 <_vfiprintf_r+0x220>) - 8009a48: f7fe fbd9 bl 80081fe - 8009a4c: 9a04 ldr r2, [sp, #16] - 8009a4e: b9d8 cbnz r0, 8009a88 <_vfiprintf_r+0x110> - 8009a50: 06d1 lsls r1, r2, #27 - 8009a52: bf44 itt mi - 8009a54: 2320 movmi r3, #32 - 8009a56: f88d 3053 strbmi.w r3, [sp, #83] ; 0x53 - 8009a5a: 0713 lsls r3, r2, #28 - 8009a5c: bf44 itt mi - 8009a5e: 232b movmi r3, #43 ; 0x2b - 8009a60: f88d 3053 strbmi.w r3, [sp, #83] ; 0x53 - 8009a64: f89a 3000 ldrb.w r3, [sl] - 8009a68: 2b2a cmp r3, #42 ; 0x2a - 8009a6a: d015 beq.n 8009a98 <_vfiprintf_r+0x120> - 8009a6c: 4654 mov r4, sl - 8009a6e: 2000 movs r0, #0 - 8009a70: f04f 0c0a mov.w ip, #10 - 8009a74: 9a07 ldr r2, [sp, #28] - 8009a76: 4621 mov r1, r4 - 8009a78: f811 3b01 ldrb.w r3, [r1], #1 - 8009a7c: 3b30 subs r3, #48 ; 0x30 - 8009a7e: 2b09 cmp r3, #9 - 8009a80: d94d bls.n 8009b1e <_vfiprintf_r+0x1a6> - 8009a82: b1b0 cbz r0, 8009ab2 <_vfiprintf_r+0x13a> - 8009a84: 9207 str r2, [sp, #28] - 8009a86: e014 b.n 8009ab2 <_vfiprintf_r+0x13a> - 8009a88: eba0 0308 sub.w r3, r0, r8 - 8009a8c: fa09 f303 lsl.w r3, r9, r3 - 8009a90: 4313 orrs r3, r2 - 8009a92: 46a2 mov sl, r4 - 8009a94: 9304 str r3, [sp, #16] - 8009a96: e7d2 b.n 8009a3e <_vfiprintf_r+0xc6> - 8009a98: 9b03 ldr r3, [sp, #12] - 8009a9a: 1d19 adds r1, r3, #4 - 8009a9c: 681b ldr r3, [r3, #0] - 8009a9e: 9103 str r1, [sp, #12] - 8009aa0: 2b00 cmp r3, #0 - 8009aa2: bfbb ittet lt - 8009aa4: 425b neglt r3, r3 - 8009aa6: f042 0202 orrlt.w r2, r2, #2 - 8009aaa: 9307 strge r3, [sp, #28] - 8009aac: 9307 strlt r3, [sp, #28] - 8009aae: bfb8 it lt - 8009ab0: 9204 strlt r2, [sp, #16] - 8009ab2: 7823 ldrb r3, [r4, #0] - 8009ab4: 2b2e cmp r3, #46 ; 0x2e - 8009ab6: d10c bne.n 8009ad2 <_vfiprintf_r+0x15a> - 8009ab8: 7863 ldrb r3, [r4, #1] - 8009aba: 2b2a cmp r3, #42 ; 0x2a - 8009abc: d134 bne.n 8009b28 <_vfiprintf_r+0x1b0> - 8009abe: 9b03 ldr r3, [sp, #12] - 8009ac0: 3402 adds r4, #2 - 8009ac2: 1d1a adds r2, r3, #4 - 8009ac4: 681b ldr r3, [r3, #0] - 8009ac6: 9203 str r2, [sp, #12] - 8009ac8: 2b00 cmp r3, #0 - 8009aca: bfb8 it lt - 8009acc: f04f 33ff movlt.w r3, #4294967295 - 8009ad0: 9305 str r3, [sp, #20] - 8009ad2: f8df a0c8 ldr.w sl, [pc, #200] ; 8009b9c <_vfiprintf_r+0x224> - 8009ad6: 2203 movs r2, #3 - 8009ad8: 4650 mov r0, sl - 8009ada: 7821 ldrb r1, [r4, #0] - 8009adc: f7fe fb8f bl 80081fe - 8009ae0: b138 cbz r0, 8009af2 <_vfiprintf_r+0x17a> - 8009ae2: 2240 movs r2, #64 ; 0x40 - 8009ae4: 9b04 ldr r3, [sp, #16] - 8009ae6: eba0 000a sub.w r0, r0, sl - 8009aea: 4082 lsls r2, r0 - 8009aec: 4313 orrs r3, r2 - 8009aee: 3401 adds r4, #1 - 8009af0: 9304 str r3, [sp, #16] - 8009af2: f814 1b01 ldrb.w r1, [r4], #1 - 8009af6: 2206 movs r2, #6 - 8009af8: 4829 ldr r0, [pc, #164] ; (8009ba0 <_vfiprintf_r+0x228>) - 8009afa: f88d 1028 strb.w r1, [sp, #40] ; 0x28 - 8009afe: f7fe fb7e bl 80081fe - 8009b02: 2800 cmp r0, #0 - 8009b04: d03f beq.n 8009b86 <_vfiprintf_r+0x20e> - 8009b06: 4b27 ldr r3, [pc, #156] ; (8009ba4 <_vfiprintf_r+0x22c>) - 8009b08: bb1b cbnz r3, 8009b52 <_vfiprintf_r+0x1da> - 8009b0a: 9b03 ldr r3, [sp, #12] - 8009b0c: 3307 adds r3, #7 - 8009b0e: f023 0307 bic.w r3, r3, #7 - 8009b12: 3308 adds r3, #8 - 8009b14: 9303 str r3, [sp, #12] - 8009b16: 9b09 ldr r3, [sp, #36] ; 0x24 - 8009b18: 443b add r3, r7 - 8009b1a: 9309 str r3, [sp, #36] ; 0x24 - 8009b1c: e768 b.n 80099f0 <_vfiprintf_r+0x78> - 8009b1e: 460c mov r4, r1 - 8009b20: 2001 movs r0, #1 - 8009b22: fb0c 3202 mla r2, ip, r2, r3 - 8009b26: e7a6 b.n 8009a76 <_vfiprintf_r+0xfe> - 8009b28: 2300 movs r3, #0 - 8009b2a: f04f 0c0a mov.w ip, #10 - 8009b2e: 4619 mov r1, r3 - 8009b30: 3401 adds r4, #1 - 8009b32: 9305 str r3, [sp, #20] - 8009b34: 4620 mov r0, r4 - 8009b36: f810 2b01 ldrb.w r2, [r0], #1 - 8009b3a: 3a30 subs r2, #48 ; 0x30 - 8009b3c: 2a09 cmp r2, #9 - 8009b3e: d903 bls.n 8009b48 <_vfiprintf_r+0x1d0> - 8009b40: 2b00 cmp r3, #0 - 8009b42: d0c6 beq.n 8009ad2 <_vfiprintf_r+0x15a> - 8009b44: 9105 str r1, [sp, #20] - 8009b46: e7c4 b.n 8009ad2 <_vfiprintf_r+0x15a> - 8009b48: 4604 mov r4, r0 - 8009b4a: 2301 movs r3, #1 - 8009b4c: fb0c 2101 mla r1, ip, r1, r2 - 8009b50: e7f0 b.n 8009b34 <_vfiprintf_r+0x1bc> - 8009b52: ab03 add r3, sp, #12 - 8009b54: 9300 str r3, [sp, #0] - 8009b56: 462a mov r2, r5 - 8009b58: 4630 mov r0, r6 - 8009b5a: 4b13 ldr r3, [pc, #76] ; (8009ba8 <_vfiprintf_r+0x230>) - 8009b5c: a904 add r1, sp, #16 - 8009b5e: f7fd fd43 bl 80075e8 <_printf_float> - 8009b62: 4607 mov r7, r0 - 8009b64: 1c78 adds r0, r7, #1 - 8009b66: d1d6 bne.n 8009b16 <_vfiprintf_r+0x19e> - 8009b68: 6e6b ldr r3, [r5, #100] ; 0x64 - 8009b6a: 07d9 lsls r1, r3, #31 - 8009b6c: d405 bmi.n 8009b7a <_vfiprintf_r+0x202> - 8009b6e: 89ab ldrh r3, [r5, #12] - 8009b70: 059a lsls r2, r3, #22 - 8009b72: d402 bmi.n 8009b7a <_vfiprintf_r+0x202> - 8009b74: 6da8 ldr r0, [r5, #88] ; 0x58 - 8009b76: f7fe fb41 bl 80081fc <__retarget_lock_release_recursive> - 8009b7a: 89ab ldrh r3, [r5, #12] - 8009b7c: 065b lsls r3, r3, #25 - 8009b7e: f53f af1d bmi.w 80099bc <_vfiprintf_r+0x44> - 8009b82: 9809 ldr r0, [sp, #36] ; 0x24 - 8009b84: e71c b.n 80099c0 <_vfiprintf_r+0x48> - 8009b86: ab03 add r3, sp, #12 - 8009b88: 9300 str r3, [sp, #0] - 8009b8a: 462a mov r2, r5 - 8009b8c: 4630 mov r0, r6 - 8009b8e: 4b06 ldr r3, [pc, #24] ; (8009ba8 <_vfiprintf_r+0x230>) - 8009b90: a904 add r1, sp, #16 - 8009b92: f7fd ffc9 bl 8007b28 <_printf_i> - 8009b96: e7e4 b.n 8009b62 <_vfiprintf_r+0x1ea> - 8009b98: 0800adc4 .word 0x0800adc4 - 8009b9c: 0800adca .word 0x0800adca - 8009ba0: 0800adce .word 0x0800adce - 8009ba4: 080075e9 .word 0x080075e9 - 8009ba8: 08009953 .word 0x08009953 +0800a650 <_fstat_r>: + 800a650: b538 push {r3, r4, r5, lr} + 800a652: 2300 movs r3, #0 + 800a654: 4d06 ldr r5, [pc, #24] ; (800a670 <_fstat_r+0x20>) + 800a656: 4604 mov r4, r0 + 800a658: 4608 mov r0, r1 + 800a65a: 4611 mov r1, r2 + 800a65c: 602b str r3, [r5, #0] + 800a65e: f7f7 fa9e bl 8001b9e <_fstat> + 800a662: 1c43 adds r3, r0, #1 + 800a664: d102 bne.n 800a66c <_fstat_r+0x1c> + 800a666: 682b ldr r3, [r5, #0] + 800a668: b103 cbz r3, 800a66c <_fstat_r+0x1c> + 800a66a: 6023 str r3, [r4, #0] + 800a66c: bd38 pop {r3, r4, r5, pc} + 800a66e: bf00 nop + 800a670: 2000266c .word 0x2000266c -08009bac <__sflush_r>: - 8009bac: 898a ldrh r2, [r1, #12] - 8009bae: b5f8 push {r3, r4, r5, r6, r7, lr} - 8009bb0: 4605 mov r5, r0 - 8009bb2: 0710 lsls r0, r2, #28 - 8009bb4: 460c mov r4, r1 - 8009bb6: d457 bmi.n 8009c68 <__sflush_r+0xbc> - 8009bb8: 684b ldr r3, [r1, #4] - 8009bba: 2b00 cmp r3, #0 - 8009bbc: dc04 bgt.n 8009bc8 <__sflush_r+0x1c> - 8009bbe: 6c0b ldr r3, [r1, #64] ; 0x40 - 8009bc0: 2b00 cmp r3, #0 - 8009bc2: dc01 bgt.n 8009bc8 <__sflush_r+0x1c> - 8009bc4: 2000 movs r0, #0 - 8009bc6: bdf8 pop {r3, r4, r5, r6, r7, pc} - 8009bc8: 6ae6 ldr r6, [r4, #44] ; 0x2c - 8009bca: 2e00 cmp r6, #0 - 8009bcc: d0fa beq.n 8009bc4 <__sflush_r+0x18> - 8009bce: 2300 movs r3, #0 - 8009bd0: f412 5280 ands.w r2, r2, #4096 ; 0x1000 - 8009bd4: 682f ldr r7, [r5, #0] - 8009bd6: 6a21 ldr r1, [r4, #32] - 8009bd8: 602b str r3, [r5, #0] - 8009bda: d032 beq.n 8009c42 <__sflush_r+0x96> - 8009bdc: 6d60 ldr r0, [r4, #84] ; 0x54 - 8009bde: 89a3 ldrh r3, [r4, #12] - 8009be0: 075a lsls r2, r3, #29 - 8009be2: d505 bpl.n 8009bf0 <__sflush_r+0x44> - 8009be4: 6863 ldr r3, [r4, #4] - 8009be6: 1ac0 subs r0, r0, r3 - 8009be8: 6b63 ldr r3, [r4, #52] ; 0x34 - 8009bea: b10b cbz r3, 8009bf0 <__sflush_r+0x44> - 8009bec: 6c23 ldr r3, [r4, #64] ; 0x40 - 8009bee: 1ac0 subs r0, r0, r3 - 8009bf0: 2300 movs r3, #0 - 8009bf2: 4602 mov r2, r0 - 8009bf4: 6ae6 ldr r6, [r4, #44] ; 0x2c - 8009bf6: 4628 mov r0, r5 - 8009bf8: 6a21 ldr r1, [r4, #32] - 8009bfa: 47b0 blx r6 - 8009bfc: 1c43 adds r3, r0, #1 - 8009bfe: 89a3 ldrh r3, [r4, #12] - 8009c00: d106 bne.n 8009c10 <__sflush_r+0x64> - 8009c02: 6829 ldr r1, [r5, #0] - 8009c04: 291d cmp r1, #29 - 8009c06: d82b bhi.n 8009c60 <__sflush_r+0xb4> - 8009c08: 4a28 ldr r2, [pc, #160] ; (8009cac <__sflush_r+0x100>) - 8009c0a: 410a asrs r2, r1 - 8009c0c: 07d6 lsls r6, r2, #31 - 8009c0e: d427 bmi.n 8009c60 <__sflush_r+0xb4> - 8009c10: 2200 movs r2, #0 - 8009c12: 6062 str r2, [r4, #4] - 8009c14: 6922 ldr r2, [r4, #16] - 8009c16: 04d9 lsls r1, r3, #19 - 8009c18: 6022 str r2, [r4, #0] - 8009c1a: d504 bpl.n 8009c26 <__sflush_r+0x7a> - 8009c1c: 1c42 adds r2, r0, #1 - 8009c1e: d101 bne.n 8009c24 <__sflush_r+0x78> - 8009c20: 682b ldr r3, [r5, #0] - 8009c22: b903 cbnz r3, 8009c26 <__sflush_r+0x7a> - 8009c24: 6560 str r0, [r4, #84] ; 0x54 - 8009c26: 6b61 ldr r1, [r4, #52] ; 0x34 - 8009c28: 602f str r7, [r5, #0] - 8009c2a: 2900 cmp r1, #0 - 8009c2c: d0ca beq.n 8009bc4 <__sflush_r+0x18> - 8009c2e: f104 0344 add.w r3, r4, #68 ; 0x44 - 8009c32: 4299 cmp r1, r3 - 8009c34: d002 beq.n 8009c3c <__sflush_r+0x90> - 8009c36: 4628 mov r0, r5 - 8009c38: f7ff f95e bl 8008ef8 <_free_r> - 8009c3c: 2000 movs r0, #0 - 8009c3e: 6360 str r0, [r4, #52] ; 0x34 - 8009c40: e7c1 b.n 8009bc6 <__sflush_r+0x1a> - 8009c42: 2301 movs r3, #1 - 8009c44: 4628 mov r0, r5 - 8009c46: 47b0 blx r6 - 8009c48: 1c41 adds r1, r0, #1 - 8009c4a: d1c8 bne.n 8009bde <__sflush_r+0x32> - 8009c4c: 682b ldr r3, [r5, #0] - 8009c4e: 2b00 cmp r3, #0 - 8009c50: d0c5 beq.n 8009bde <__sflush_r+0x32> - 8009c52: 2b1d cmp r3, #29 - 8009c54: d001 beq.n 8009c5a <__sflush_r+0xae> - 8009c56: 2b16 cmp r3, #22 - 8009c58: d101 bne.n 8009c5e <__sflush_r+0xb2> - 8009c5a: 602f str r7, [r5, #0] - 8009c5c: e7b2 b.n 8009bc4 <__sflush_r+0x18> - 8009c5e: 89a3 ldrh r3, [r4, #12] - 8009c60: f043 0340 orr.w r3, r3, #64 ; 0x40 - 8009c64: 81a3 strh r3, [r4, #12] - 8009c66: e7ae b.n 8009bc6 <__sflush_r+0x1a> - 8009c68: 690f ldr r7, [r1, #16] - 8009c6a: 2f00 cmp r7, #0 - 8009c6c: d0aa beq.n 8009bc4 <__sflush_r+0x18> - 8009c6e: 0793 lsls r3, r2, #30 - 8009c70: bf18 it ne - 8009c72: 2300 movne r3, #0 - 8009c74: 680e ldr r6, [r1, #0] - 8009c76: bf08 it eq - 8009c78: 694b ldreq r3, [r1, #20] - 8009c7a: 1bf6 subs r6, r6, r7 - 8009c7c: 600f str r7, [r1, #0] - 8009c7e: 608b str r3, [r1, #8] - 8009c80: 2e00 cmp r6, #0 - 8009c82: dd9f ble.n 8009bc4 <__sflush_r+0x18> - 8009c84: 4633 mov r3, r6 - 8009c86: 463a mov r2, r7 - 8009c88: 4628 mov r0, r5 - 8009c8a: 6a21 ldr r1, [r4, #32] - 8009c8c: f8d4 c028 ldr.w ip, [r4, #40] ; 0x28 - 8009c90: 47e0 blx ip - 8009c92: 2800 cmp r0, #0 - 8009c94: dc06 bgt.n 8009ca4 <__sflush_r+0xf8> - 8009c96: 89a3 ldrh r3, [r4, #12] - 8009c98: f04f 30ff mov.w r0, #4294967295 - 8009c9c: f043 0340 orr.w r3, r3, #64 ; 0x40 - 8009ca0: 81a3 strh r3, [r4, #12] - 8009ca2: e790 b.n 8009bc6 <__sflush_r+0x1a> - 8009ca4: 4407 add r7, r0 - 8009ca6: 1a36 subs r6, r6, r0 - 8009ca8: e7ea b.n 8009c80 <__sflush_r+0xd4> - 8009caa: bf00 nop - 8009cac: dfbffffe .word 0xdfbffffe +0800a674 <_isatty_r>: + 800a674: b538 push {r3, r4, r5, lr} + 800a676: 2300 movs r3, #0 + 800a678: 4d05 ldr r5, [pc, #20] ; (800a690 <_isatty_r+0x1c>) + 800a67a: 4604 mov r4, r0 + 800a67c: 4608 mov r0, r1 + 800a67e: 602b str r3, [r5, #0] + 800a680: f7f7 fa9c bl 8001bbc <_isatty> + 800a684: 1c43 adds r3, r0, #1 + 800a686: d102 bne.n 800a68e <_isatty_r+0x1a> + 800a688: 682b ldr r3, [r5, #0] + 800a68a: b103 cbz r3, 800a68e <_isatty_r+0x1a> + 800a68c: 6023 str r3, [r4, #0] + 800a68e: bd38 pop {r3, r4, r5, pc} + 800a690: 2000266c .word 0x2000266c -08009cb0 <_fflush_r>: - 8009cb0: b538 push {r3, r4, r5, lr} - 8009cb2: 690b ldr r3, [r1, #16] - 8009cb4: 4605 mov r5, r0 - 8009cb6: 460c mov r4, r1 - 8009cb8: b913 cbnz r3, 8009cc0 <_fflush_r+0x10> - 8009cba: 2500 movs r5, #0 - 8009cbc: 4628 mov r0, r5 - 8009cbe: bd38 pop {r3, r4, r5, pc} - 8009cc0: b118 cbz r0, 8009cca <_fflush_r+0x1a> - 8009cc2: 6a03 ldr r3, [r0, #32] - 8009cc4: b90b cbnz r3, 8009cca <_fflush_r+0x1a> - 8009cc6: f7fe f8dd bl 8007e84 <__sinit> - 8009cca: f9b4 300c ldrsh.w r3, [r4, #12] - 8009cce: 2b00 cmp r3, #0 - 8009cd0: d0f3 beq.n 8009cba <_fflush_r+0xa> - 8009cd2: 6e62 ldr r2, [r4, #100] ; 0x64 - 8009cd4: 07d0 lsls r0, r2, #31 - 8009cd6: d404 bmi.n 8009ce2 <_fflush_r+0x32> - 8009cd8: 0599 lsls r1, r3, #22 - 8009cda: d402 bmi.n 8009ce2 <_fflush_r+0x32> - 8009cdc: 6da0 ldr r0, [r4, #88] ; 0x58 - 8009cde: f7fe fa8c bl 80081fa <__retarget_lock_acquire_recursive> - 8009ce2: 4628 mov r0, r5 - 8009ce4: 4621 mov r1, r4 - 8009ce6: f7ff ff61 bl 8009bac <__sflush_r> - 8009cea: 6e63 ldr r3, [r4, #100] ; 0x64 - 8009cec: 4605 mov r5, r0 - 8009cee: 07da lsls r2, r3, #31 - 8009cf0: d4e4 bmi.n 8009cbc <_fflush_r+0xc> - 8009cf2: 89a3 ldrh r3, [r4, #12] - 8009cf4: 059b lsls r3, r3, #22 - 8009cf6: d4e1 bmi.n 8009cbc <_fflush_r+0xc> - 8009cf8: 6da0 ldr r0, [r4, #88] ; 0x58 - 8009cfa: f7fe fa7f bl 80081fc <__retarget_lock_release_recursive> - 8009cfe: e7dd b.n 8009cbc <_fflush_r+0xc> +0800a694 : + 800a694: 440a add r2, r1 + 800a696: 4291 cmp r1, r2 + 800a698: f100 33ff add.w r3, r0, #4294967295 + 800a69c: d100 bne.n 800a6a0 + 800a69e: 4770 bx lr + 800a6a0: b510 push {r4, lr} + 800a6a2: f811 4b01 ldrb.w r4, [r1], #1 + 800a6a6: 4291 cmp r1, r2 + 800a6a8: f803 4f01 strb.w r4, [r3, #1]! + 800a6ac: d1f9 bne.n 800a6a2 + 800a6ae: bd10 pop {r4, pc} -08009d00 <__swhatbuf_r>: - 8009d00: b570 push {r4, r5, r6, lr} - 8009d02: 460c mov r4, r1 - 8009d04: f9b1 100e ldrsh.w r1, [r1, #14] - 8009d08: 4615 mov r5, r2 - 8009d0a: 2900 cmp r1, #0 - 8009d0c: 461e mov r6, r3 - 8009d0e: b096 sub sp, #88 ; 0x58 - 8009d10: da0c bge.n 8009d2c <__swhatbuf_r+0x2c> - 8009d12: 89a3 ldrh r3, [r4, #12] - 8009d14: 2100 movs r1, #0 - 8009d16: f013 0f80 tst.w r3, #128 ; 0x80 - 8009d1a: bf0c ite eq - 8009d1c: f44f 6380 moveq.w r3, #1024 ; 0x400 - 8009d20: 2340 movne r3, #64 ; 0x40 - 8009d22: 2000 movs r0, #0 - 8009d24: 6031 str r1, [r6, #0] - 8009d26: 602b str r3, [r5, #0] - 8009d28: b016 add sp, #88 ; 0x58 - 8009d2a: bd70 pop {r4, r5, r6, pc} - 8009d2c: 466a mov r2, sp - 8009d2e: f000 f863 bl 8009df8 <_fstat_r> - 8009d32: 2800 cmp r0, #0 - 8009d34: dbed blt.n 8009d12 <__swhatbuf_r+0x12> - 8009d36: 9901 ldr r1, [sp, #4] - 8009d38: f401 4170 and.w r1, r1, #61440 ; 0xf000 - 8009d3c: f5a1 5300 sub.w r3, r1, #8192 ; 0x2000 - 8009d40: 4259 negs r1, r3 - 8009d42: 4159 adcs r1, r3 - 8009d44: f44f 6380 mov.w r3, #1024 ; 0x400 - 8009d48: e7eb b.n 8009d22 <__swhatbuf_r+0x22> +0800a6b0 <__assert_func>: + 800a6b0: b51f push {r0, r1, r2, r3, r4, lr} + 800a6b2: 4614 mov r4, r2 + 800a6b4: 461a mov r2, r3 + 800a6b6: 4b09 ldr r3, [pc, #36] ; (800a6dc <__assert_func+0x2c>) + 800a6b8: 4605 mov r5, r0 + 800a6ba: 681b ldr r3, [r3, #0] + 800a6bc: 68d8 ldr r0, [r3, #12] + 800a6be: b14c cbz r4, 800a6d4 <__assert_func+0x24> + 800a6c0: 4b07 ldr r3, [pc, #28] ; (800a6e0 <__assert_func+0x30>) + 800a6c2: e9cd 3401 strd r3, r4, [sp, #4] + 800a6c6: 9100 str r1, [sp, #0] + 800a6c8: 462b mov r3, r5 + 800a6ca: 4906 ldr r1, [pc, #24] ; (800a6e4 <__assert_func+0x34>) + 800a6cc: f000 f870 bl 800a7b0 + 800a6d0: f000 f880 bl 800a7d4 + 800a6d4: 4b04 ldr r3, [pc, #16] ; (800a6e8 <__assert_func+0x38>) + 800a6d6: 461c mov r4, r3 + 800a6d8: e7f3 b.n 800a6c2 <__assert_func+0x12> + 800a6da: bf00 nop + 800a6dc: 20000064 .word 0x20000064 + 800a6e0: 0800b62f .word 0x0800b62f + 800a6e4: 0800b63c .word 0x0800b63c + 800a6e8: 0800b66a .word 0x0800b66a -08009d4a <__smakebuf_r>: - 8009d4a: 898b ldrh r3, [r1, #12] - 8009d4c: b573 push {r0, r1, r4, r5, r6, lr} - 8009d4e: 079d lsls r5, r3, #30 - 8009d50: 4606 mov r6, r0 - 8009d52: 460c mov r4, r1 - 8009d54: d507 bpl.n 8009d66 <__smakebuf_r+0x1c> - 8009d56: f104 0347 add.w r3, r4, #71 ; 0x47 - 8009d5a: 6023 str r3, [r4, #0] - 8009d5c: 6123 str r3, [r4, #16] - 8009d5e: 2301 movs r3, #1 - 8009d60: 6163 str r3, [r4, #20] - 8009d62: b002 add sp, #8 - 8009d64: bd70 pop {r4, r5, r6, pc} - 8009d66: 466a mov r2, sp - 8009d68: ab01 add r3, sp, #4 - 8009d6a: f7ff ffc9 bl 8009d00 <__swhatbuf_r> - 8009d6e: 9900 ldr r1, [sp, #0] - 8009d70: 4605 mov r5, r0 - 8009d72: 4630 mov r0, r6 - 8009d74: f7fd fb10 bl 8007398 <_malloc_r> - 8009d78: b948 cbnz r0, 8009d8e <__smakebuf_r+0x44> - 8009d7a: f9b4 300c ldrsh.w r3, [r4, #12] - 8009d7e: 059a lsls r2, r3, #22 - 8009d80: d4ef bmi.n 8009d62 <__smakebuf_r+0x18> - 8009d82: f023 0303 bic.w r3, r3, #3 - 8009d86: f043 0302 orr.w r3, r3, #2 - 8009d8a: 81a3 strh r3, [r4, #12] - 8009d8c: e7e3 b.n 8009d56 <__smakebuf_r+0xc> - 8009d8e: 89a3 ldrh r3, [r4, #12] - 8009d90: 6020 str r0, [r4, #0] - 8009d92: f043 0380 orr.w r3, r3, #128 ; 0x80 - 8009d96: 81a3 strh r3, [r4, #12] - 8009d98: 9b00 ldr r3, [sp, #0] - 8009d9a: 6120 str r0, [r4, #16] - 8009d9c: 6163 str r3, [r4, #20] - 8009d9e: 9b01 ldr r3, [sp, #4] - 8009da0: b15b cbz r3, 8009dba <__smakebuf_r+0x70> - 8009da2: 4630 mov r0, r6 - 8009da4: f9b4 100e ldrsh.w r1, [r4, #14] - 8009da8: f000 f838 bl 8009e1c <_isatty_r> - 8009dac: b128 cbz r0, 8009dba <__smakebuf_r+0x70> - 8009dae: 89a3 ldrh r3, [r4, #12] - 8009db0: f023 0303 bic.w r3, r3, #3 - 8009db4: f043 0301 orr.w r3, r3, #1 - 8009db8: 81a3 strh r3, [r4, #12] - 8009dba: 89a3 ldrh r3, [r4, #12] - 8009dbc: 431d orrs r5, r3 - 8009dbe: 81a5 strh r5, [r4, #12] - 8009dc0: e7cf b.n 8009d62 <__smakebuf_r+0x18> +0800a6ec <_calloc_r>: + 800a6ec: b570 push {r4, r5, r6, lr} + 800a6ee: fba1 5402 umull r5, r4, r1, r2 + 800a6f2: b934 cbnz r4, 800a702 <_calloc_r+0x16> + 800a6f4: 4629 mov r1, r5 + 800a6f6: f7fd fa7d bl 8007bf4 <_malloc_r> + 800a6fa: 4606 mov r6, r0 + 800a6fc: b928 cbnz r0, 800a70a <_calloc_r+0x1e> + 800a6fe: 4630 mov r0, r6 + 800a700: bd70 pop {r4, r5, r6, pc} + 800a702: 220c movs r2, #12 + 800a704: 2600 movs r6, #0 + 800a706: 6002 str r2, [r0, #0] + 800a708: e7f9 b.n 800a6fe <_calloc_r+0x12> + 800a70a: 462a mov r2, r5 + 800a70c: 4621 mov r1, r4 + 800a70e: f7fe f915 bl 800893c + 800a712: e7f4 b.n 800a6fe <_calloc_r+0x12> -08009dc2 : - 8009dc2: 4288 cmp r0, r1 - 8009dc4: b510 push {r4, lr} - 8009dc6: eb01 0402 add.w r4, r1, r2 - 8009dca: d902 bls.n 8009dd2 - 8009dcc: 4284 cmp r4, r0 - 8009dce: 4623 mov r3, r4 - 8009dd0: d807 bhi.n 8009de2 - 8009dd2: 1e43 subs r3, r0, #1 - 8009dd4: 42a1 cmp r1, r4 - 8009dd6: d008 beq.n 8009dea - 8009dd8: f811 2b01 ldrb.w r2, [r1], #1 - 8009ddc: f803 2f01 strb.w r2, [r3, #1]! - 8009de0: e7f8 b.n 8009dd4 - 8009de2: 4601 mov r1, r0 - 8009de4: 4402 add r2, r0 - 8009de6: 428a cmp r2, r1 - 8009de8: d100 bne.n 8009dec - 8009dea: bd10 pop {r4, pc} - 8009dec: f813 4d01 ldrb.w r4, [r3, #-1]! - 8009df0: f802 4d01 strb.w r4, [r2, #-1]! - 8009df4: e7f7 b.n 8009de6 +0800a714 <__ascii_mbtowc>: + 800a714: b082 sub sp, #8 + 800a716: b901 cbnz r1, 800a71a <__ascii_mbtowc+0x6> + 800a718: a901 add r1, sp, #4 + 800a71a: b142 cbz r2, 800a72e <__ascii_mbtowc+0x1a> + 800a71c: b14b cbz r3, 800a732 <__ascii_mbtowc+0x1e> + 800a71e: 7813 ldrb r3, [r2, #0] + 800a720: 600b str r3, [r1, #0] + 800a722: 7812 ldrb r2, [r2, #0] + 800a724: 1e10 subs r0, r2, #0 + 800a726: bf18 it ne + 800a728: 2001 movne r0, #1 + 800a72a: b002 add sp, #8 + 800a72c: 4770 bx lr + 800a72e: 4610 mov r0, r2 + 800a730: e7fb b.n 800a72a <__ascii_mbtowc+0x16> + 800a732: f06f 0001 mvn.w r0, #1 + 800a736: e7f8 b.n 800a72a <__ascii_mbtowc+0x16> + +0800a738 <_realloc_r>: + 800a738: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 800a73c: 4680 mov r8, r0 + 800a73e: 4614 mov r4, r2 + 800a740: 460e mov r6, r1 + 800a742: b921 cbnz r1, 800a74e <_realloc_r+0x16> + 800a744: 4611 mov r1, r2 + 800a746: e8bd 41f0 ldmia.w sp!, {r4, r5, r6, r7, r8, lr} + 800a74a: f7fd ba53 b.w 8007bf4 <_malloc_r> + 800a74e: b92a cbnz r2, 800a75c <_realloc_r+0x24> + 800a750: f7fe fffe bl 8009750 <_free_r> + 800a754: 4625 mov r5, r4 + 800a756: 4628 mov r0, r5 + 800a758: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 800a75c: f000 f841 bl 800a7e2 <_malloc_usable_size_r> + 800a760: 4284 cmp r4, r0 + 800a762: 4607 mov r7, r0 + 800a764: d802 bhi.n 800a76c <_realloc_r+0x34> + 800a766: ebb4 0f50 cmp.w r4, r0, lsr #1 + 800a76a: d812 bhi.n 800a792 <_realloc_r+0x5a> + 800a76c: 4621 mov r1, r4 + 800a76e: 4640 mov r0, r8 + 800a770: f7fd fa40 bl 8007bf4 <_malloc_r> + 800a774: 4605 mov r5, r0 + 800a776: 2800 cmp r0, #0 + 800a778: d0ed beq.n 800a756 <_realloc_r+0x1e> + 800a77a: 42bc cmp r4, r7 + 800a77c: 4622 mov r2, r4 + 800a77e: 4631 mov r1, r6 + 800a780: bf28 it cs + 800a782: 463a movcs r2, r7 + 800a784: f7ff ff86 bl 800a694 + 800a788: 4631 mov r1, r6 + 800a78a: 4640 mov r0, r8 + 800a78c: f7fe ffe0 bl 8009750 <_free_r> + 800a790: e7e1 b.n 800a756 <_realloc_r+0x1e> + 800a792: 4635 mov r5, r6 + 800a794: e7df b.n 800a756 <_realloc_r+0x1e> + +0800a796 <__ascii_wctomb>: + 800a796: 4603 mov r3, r0 + 800a798: 4608 mov r0, r1 + 800a79a: b141 cbz r1, 800a7ae <__ascii_wctomb+0x18> + 800a79c: 2aff cmp r2, #255 ; 0xff + 800a79e: d904 bls.n 800a7aa <__ascii_wctomb+0x14> + 800a7a0: 228a movs r2, #138 ; 0x8a + 800a7a2: f04f 30ff mov.w r0, #4294967295 + 800a7a6: 601a str r2, [r3, #0] + 800a7a8: 4770 bx lr + 800a7aa: 2001 movs r0, #1 + 800a7ac: 700a strb r2, [r1, #0] + 800a7ae: 4770 bx lr + +0800a7b0 : + 800a7b0: b40e push {r1, r2, r3} + 800a7b2: b503 push {r0, r1, lr} + 800a7b4: 4601 mov r1, r0 + 800a7b6: ab03 add r3, sp, #12 + 800a7b8: 4805 ldr r0, [pc, #20] ; (800a7d0 ) + 800a7ba: f853 2b04 ldr.w r2, [r3], #4 + 800a7be: 6800 ldr r0, [r0, #0] + 800a7c0: 9301 str r3, [sp, #4] + 800a7c2: f7ff fd05 bl 800a1d0 <_vfiprintf_r> + 800a7c6: b002 add sp, #8 + 800a7c8: f85d eb04 ldr.w lr, [sp], #4 + 800a7cc: b003 add sp, #12 + 800a7ce: 4770 bx lr + 800a7d0: 20000064 .word 0x20000064 + +0800a7d4 : + 800a7d4: 2006 movs r0, #6 + 800a7d6: b508 push {r3, lr} + 800a7d8: f000 f834 bl 800a844 + 800a7dc: 2001 movs r0, #1 + 800a7de: f7f7 f9ac bl 8001b3a <_exit> + +0800a7e2 <_malloc_usable_size_r>: + 800a7e2: f851 3c04 ldr.w r3, [r1, #-4] + 800a7e6: 1f18 subs r0, r3, #4 + 800a7e8: 2b00 cmp r3, #0 + 800a7ea: bfbc itt lt + 800a7ec: 580b ldrlt r3, [r1, r0] + 800a7ee: 18c0 addlt r0, r0, r3 + 800a7f0: 4770 bx lr + +0800a7f2 <_raise_r>: + 800a7f2: 291f cmp r1, #31 + 800a7f4: b538 push {r3, r4, r5, lr} + 800a7f6: 4604 mov r4, r0 + 800a7f8: 460d mov r5, r1 + 800a7fa: d904 bls.n 800a806 <_raise_r+0x14> + 800a7fc: 2316 movs r3, #22 + 800a7fe: 6003 str r3, [r0, #0] + 800a800: f04f 30ff mov.w r0, #4294967295 + 800a804: bd38 pop {r3, r4, r5, pc} + 800a806: 6bc2 ldr r2, [r0, #60] ; 0x3c + 800a808: b112 cbz r2, 800a810 <_raise_r+0x1e> + 800a80a: f852 3021 ldr.w r3, [r2, r1, lsl #2] + 800a80e: b94b cbnz r3, 800a824 <_raise_r+0x32> + 800a810: 4620 mov r0, r4 + 800a812: f000 f831 bl 800a878 <_getpid_r> + 800a816: 462a mov r2, r5 + 800a818: 4601 mov r1, r0 + 800a81a: 4620 mov r0, r4 + 800a81c: e8bd 4038 ldmia.w sp!, {r3, r4, r5, lr} + 800a820: f000 b818 b.w 800a854 <_kill_r> + 800a824: 2b01 cmp r3, #1 + 800a826: d00a beq.n 800a83e <_raise_r+0x4c> + 800a828: 1c59 adds r1, r3, #1 + 800a82a: d103 bne.n 800a834 <_raise_r+0x42> + 800a82c: 2316 movs r3, #22 + 800a82e: 6003 str r3, [r0, #0] + 800a830: 2001 movs r0, #1 + 800a832: e7e7 b.n 800a804 <_raise_r+0x12> + 800a834: 2400 movs r4, #0 + 800a836: 4628 mov r0, r5 + 800a838: f842 4025 str.w r4, [r2, r5, lsl #2] + 800a83c: 4798 blx r3 + 800a83e: 2000 movs r0, #0 + 800a840: e7e0 b.n 800a804 <_raise_r+0x12> ... -08009df8 <_fstat_r>: - 8009df8: b538 push {r3, r4, r5, lr} - 8009dfa: 2300 movs r3, #0 - 8009dfc: 4d06 ldr r5, [pc, #24] ; (8009e18 <_fstat_r+0x20>) - 8009dfe: 4604 mov r4, r0 - 8009e00: 4608 mov r0, r1 - 8009e02: 4611 mov r1, r2 - 8009e04: 602b str r3, [r5, #0] - 8009e06: f7f7 feca bl 8001b9e <_fstat> - 8009e0a: 1c43 adds r3, r0, #1 - 8009e0c: d102 bne.n 8009e14 <_fstat_r+0x1c> - 8009e0e: 682b ldr r3, [r5, #0] - 8009e10: b103 cbz r3, 8009e14 <_fstat_r+0x1c> - 8009e12: 6023 str r3, [r4, #0] - 8009e14: bd38 pop {r3, r4, r5, pc} - 8009e16: bf00 nop - 8009e18: 20002658 .word 0x20002658 +0800a844 : + 800a844: 4b02 ldr r3, [pc, #8] ; (800a850 ) + 800a846: 4601 mov r1, r0 + 800a848: 6818 ldr r0, [r3, #0] + 800a84a: f7ff bfd2 b.w 800a7f2 <_raise_r> + 800a84e: bf00 nop + 800a850: 20000064 .word 0x20000064 -08009e1c <_isatty_r>: - 8009e1c: b538 push {r3, r4, r5, lr} - 8009e1e: 2300 movs r3, #0 - 8009e20: 4d05 ldr r5, [pc, #20] ; (8009e38 <_isatty_r+0x1c>) - 8009e22: 4604 mov r4, r0 - 8009e24: 4608 mov r0, r1 - 8009e26: 602b str r3, [r5, #0] - 8009e28: f7f7 fec8 bl 8001bbc <_isatty> - 8009e2c: 1c43 adds r3, r0, #1 - 8009e2e: d102 bne.n 8009e36 <_isatty_r+0x1a> - 8009e30: 682b ldr r3, [r5, #0] - 8009e32: b103 cbz r3, 8009e36 <_isatty_r+0x1a> - 8009e34: 6023 str r3, [r4, #0] - 8009e36: bd38 pop {r3, r4, r5, pc} - 8009e38: 20002658 .word 0x20002658 +0800a854 <_kill_r>: + 800a854: b538 push {r3, r4, r5, lr} + 800a856: 2300 movs r3, #0 + 800a858: 4d06 ldr r5, [pc, #24] ; (800a874 <_kill_r+0x20>) + 800a85a: 4604 mov r4, r0 + 800a85c: 4608 mov r0, r1 + 800a85e: 4611 mov r1, r2 + 800a860: 602b str r3, [r5, #0] + 800a862: f7f7 f95a bl 8001b1a <_kill> + 800a866: 1c43 adds r3, r0, #1 + 800a868: d102 bne.n 800a870 <_kill_r+0x1c> + 800a86a: 682b ldr r3, [r5, #0] + 800a86c: b103 cbz r3, 800a870 <_kill_r+0x1c> + 800a86e: 6023 str r3, [r4, #0] + 800a870: bd38 pop {r3, r4, r5, pc} + 800a872: bf00 nop + 800a874: 2000266c .word 0x2000266c -08009e3c : - 8009e3c: 440a add r2, r1 - 8009e3e: 4291 cmp r1, r2 - 8009e40: f100 33ff add.w r3, r0, #4294967295 - 8009e44: d100 bne.n 8009e48 - 8009e46: 4770 bx lr - 8009e48: b510 push {r4, lr} - 8009e4a: f811 4b01 ldrb.w r4, [r1], #1 - 8009e4e: 4291 cmp r1, r2 - 8009e50: f803 4f01 strb.w r4, [r3, #1]! - 8009e54: d1f9 bne.n 8009e4a - 8009e56: bd10 pop {r4, pc} +0800a878 <_getpid_r>: + 800a878: f7f7 b948 b.w 8001b0c <_getpid> -08009e58 <__assert_func>: - 8009e58: b51f push {r0, r1, r2, r3, r4, lr} - 8009e5a: 4614 mov r4, r2 - 8009e5c: 461a mov r2, r3 - 8009e5e: 4b09 ldr r3, [pc, #36] ; (8009e84 <__assert_func+0x2c>) - 8009e60: 4605 mov r5, r0 - 8009e62: 681b ldr r3, [r3, #0] - 8009e64: 68d8 ldr r0, [r3, #12] - 8009e66: b14c cbz r4, 8009e7c <__assert_func+0x24> - 8009e68: 4b07 ldr r3, [pc, #28] ; (8009e88 <__assert_func+0x30>) - 8009e6a: e9cd 3401 strd r3, r4, [sp, #4] - 8009e6e: 9100 str r1, [sp, #0] - 8009e70: 462b mov r3, r5 - 8009e72: 4906 ldr r1, [pc, #24] ; (8009e8c <__assert_func+0x34>) - 8009e74: f000 f870 bl 8009f58 - 8009e78: f000 f880 bl 8009f7c - 8009e7c: 4b04 ldr r3, [pc, #16] ; (8009e90 <__assert_func+0x38>) - 8009e7e: 461c mov r4, r3 - 8009e80: e7f3 b.n 8009e6a <__assert_func+0x12> - 8009e82: bf00 nop - 8009e84: 20000064 .word 0x20000064 - 8009e88: 0800addf .word 0x0800addf - 8009e8c: 0800adec .word 0x0800adec - 8009e90: 0800ae1a .word 0x0800ae1a +0800a87c <_init>: + 800a87c: b5f8 push {r3, r4, r5, r6, r7, lr} + 800a87e: bf00 nop + 800a880: bcf8 pop {r3, r4, r5, r6, r7} + 800a882: bc08 pop {r3} + 800a884: 469e mov lr, r3 + 800a886: 4770 bx lr -08009e94 <_calloc_r>: - 8009e94: b570 push {r4, r5, r6, lr} - 8009e96: fba1 5402 umull r5, r4, r1, r2 - 8009e9a: b934 cbnz r4, 8009eaa <_calloc_r+0x16> - 8009e9c: 4629 mov r1, r5 - 8009e9e: f7fd fa7b bl 8007398 <_malloc_r> - 8009ea2: 4606 mov r6, r0 - 8009ea4: b928 cbnz r0, 8009eb2 <_calloc_r+0x1e> - 8009ea6: 4630 mov r0, r6 - 8009ea8: bd70 pop {r4, r5, r6, pc} - 8009eaa: 220c movs r2, #12 - 8009eac: 2600 movs r6, #0 - 8009eae: 6002 str r2, [r0, #0] - 8009eb0: e7f9 b.n 8009ea6 <_calloc_r+0x12> - 8009eb2: 462a mov r2, r5 - 8009eb4: 4621 mov r1, r4 - 8009eb6: f7fe f913 bl 80080e0 - 8009eba: e7f4 b.n 8009ea6 <_calloc_r+0x12> - -08009ebc <__ascii_mbtowc>: - 8009ebc: b082 sub sp, #8 - 8009ebe: b901 cbnz r1, 8009ec2 <__ascii_mbtowc+0x6> - 8009ec0: a901 add r1, sp, #4 - 8009ec2: b142 cbz r2, 8009ed6 <__ascii_mbtowc+0x1a> - 8009ec4: b14b cbz r3, 8009eda <__ascii_mbtowc+0x1e> - 8009ec6: 7813 ldrb r3, [r2, #0] - 8009ec8: 600b str r3, [r1, #0] - 8009eca: 7812 ldrb r2, [r2, #0] - 8009ecc: 1e10 subs r0, r2, #0 - 8009ece: bf18 it ne - 8009ed0: 2001 movne r0, #1 - 8009ed2: b002 add sp, #8 - 8009ed4: 4770 bx lr - 8009ed6: 4610 mov r0, r2 - 8009ed8: e7fb b.n 8009ed2 <__ascii_mbtowc+0x16> - 8009eda: f06f 0001 mvn.w r0, #1 - 8009ede: e7f8 b.n 8009ed2 <__ascii_mbtowc+0x16> - -08009ee0 <_realloc_r>: - 8009ee0: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 8009ee4: 4680 mov r8, r0 - 8009ee6: 4614 mov r4, r2 - 8009ee8: 460e mov r6, r1 - 8009eea: b921 cbnz r1, 8009ef6 <_realloc_r+0x16> - 8009eec: 4611 mov r1, r2 - 8009eee: e8bd 41f0 ldmia.w sp!, {r4, r5, r6, r7, r8, lr} - 8009ef2: f7fd ba51 b.w 8007398 <_malloc_r> - 8009ef6: b92a cbnz r2, 8009f04 <_realloc_r+0x24> - 8009ef8: f7fe fffe bl 8008ef8 <_free_r> - 8009efc: 4625 mov r5, r4 - 8009efe: 4628 mov r0, r5 - 8009f00: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - 8009f04: f000 f841 bl 8009f8a <_malloc_usable_size_r> - 8009f08: 4284 cmp r4, r0 - 8009f0a: 4607 mov r7, r0 - 8009f0c: d802 bhi.n 8009f14 <_realloc_r+0x34> - 8009f0e: ebb4 0f50 cmp.w r4, r0, lsr #1 - 8009f12: d812 bhi.n 8009f3a <_realloc_r+0x5a> - 8009f14: 4621 mov r1, r4 - 8009f16: 4640 mov r0, r8 - 8009f18: f7fd fa3e bl 8007398 <_malloc_r> - 8009f1c: 4605 mov r5, r0 - 8009f1e: 2800 cmp r0, #0 - 8009f20: d0ed beq.n 8009efe <_realloc_r+0x1e> - 8009f22: 42bc cmp r4, r7 - 8009f24: 4622 mov r2, r4 - 8009f26: 4631 mov r1, r6 - 8009f28: bf28 it cs - 8009f2a: 463a movcs r2, r7 - 8009f2c: f7ff ff86 bl 8009e3c - 8009f30: 4631 mov r1, r6 - 8009f32: 4640 mov r0, r8 - 8009f34: f7fe ffe0 bl 8008ef8 <_free_r> - 8009f38: e7e1 b.n 8009efe <_realloc_r+0x1e> - 8009f3a: 4635 mov r5, r6 - 8009f3c: e7df b.n 8009efe <_realloc_r+0x1e> - -08009f3e <__ascii_wctomb>: - 8009f3e: 4603 mov r3, r0 - 8009f40: 4608 mov r0, r1 - 8009f42: b141 cbz r1, 8009f56 <__ascii_wctomb+0x18> - 8009f44: 2aff cmp r2, #255 ; 0xff - 8009f46: d904 bls.n 8009f52 <__ascii_wctomb+0x14> - 8009f48: 228a movs r2, #138 ; 0x8a - 8009f4a: f04f 30ff mov.w r0, #4294967295 - 8009f4e: 601a str r2, [r3, #0] - 8009f50: 4770 bx lr - 8009f52: 2001 movs r0, #1 - 8009f54: 700a strb r2, [r1, #0] - 8009f56: 4770 bx lr - -08009f58 : - 8009f58: b40e push {r1, r2, r3} - 8009f5a: b503 push {r0, r1, lr} - 8009f5c: 4601 mov r1, r0 - 8009f5e: ab03 add r3, sp, #12 - 8009f60: 4805 ldr r0, [pc, #20] ; (8009f78 ) - 8009f62: f853 2b04 ldr.w r2, [r3], #4 - 8009f66: 6800 ldr r0, [r0, #0] - 8009f68: 9301 str r3, [sp, #4] - 8009f6a: f7ff fd05 bl 8009978 <_vfiprintf_r> - 8009f6e: b002 add sp, #8 - 8009f70: f85d eb04 ldr.w lr, [sp], #4 - 8009f74: b003 add sp, #12 - 8009f76: 4770 bx lr - 8009f78: 20000064 .word 0x20000064 - -08009f7c : - 8009f7c: 2006 movs r0, #6 - 8009f7e: b508 push {r3, lr} - 8009f80: f000 f834 bl 8009fec - 8009f84: 2001 movs r0, #1 - 8009f86: f7f7 fdd8 bl 8001b3a <_exit> - -08009f8a <_malloc_usable_size_r>: - 8009f8a: f851 3c04 ldr.w r3, [r1, #-4] - 8009f8e: 1f18 subs r0, r3, #4 - 8009f90: 2b00 cmp r3, #0 - 8009f92: bfbc itt lt - 8009f94: 580b ldrlt r3, [r1, r0] - 8009f96: 18c0 addlt r0, r0, r3 - 8009f98: 4770 bx lr - -08009f9a <_raise_r>: - 8009f9a: 291f cmp r1, #31 - 8009f9c: b538 push {r3, r4, r5, lr} - 8009f9e: 4604 mov r4, r0 - 8009fa0: 460d mov r5, r1 - 8009fa2: d904 bls.n 8009fae <_raise_r+0x14> - 8009fa4: 2316 movs r3, #22 - 8009fa6: 6003 str r3, [r0, #0] - 8009fa8: f04f 30ff mov.w r0, #4294967295 - 8009fac: bd38 pop {r3, r4, r5, pc} - 8009fae: 6bc2 ldr r2, [r0, #60] ; 0x3c - 8009fb0: b112 cbz r2, 8009fb8 <_raise_r+0x1e> - 8009fb2: f852 3021 ldr.w r3, [r2, r1, lsl #2] - 8009fb6: b94b cbnz r3, 8009fcc <_raise_r+0x32> - 8009fb8: 4620 mov r0, r4 - 8009fba: f000 f831 bl 800a020 <_getpid_r> - 8009fbe: 462a mov r2, r5 - 8009fc0: 4601 mov r1, r0 - 8009fc2: 4620 mov r0, r4 - 8009fc4: e8bd 4038 ldmia.w sp!, {r3, r4, r5, lr} - 8009fc8: f000 b818 b.w 8009ffc <_kill_r> - 8009fcc: 2b01 cmp r3, #1 - 8009fce: d00a beq.n 8009fe6 <_raise_r+0x4c> - 8009fd0: 1c59 adds r1, r3, #1 - 8009fd2: d103 bne.n 8009fdc <_raise_r+0x42> - 8009fd4: 2316 movs r3, #22 - 8009fd6: 6003 str r3, [r0, #0] - 8009fd8: 2001 movs r0, #1 - 8009fda: e7e7 b.n 8009fac <_raise_r+0x12> - 8009fdc: 2400 movs r4, #0 - 8009fde: 4628 mov r0, r5 - 8009fe0: f842 4025 str.w r4, [r2, r5, lsl #2] - 8009fe4: 4798 blx r3 - 8009fe6: 2000 movs r0, #0 - 8009fe8: e7e0 b.n 8009fac <_raise_r+0x12> - ... - -08009fec : - 8009fec: 4b02 ldr r3, [pc, #8] ; (8009ff8 ) - 8009fee: 4601 mov r1, r0 - 8009ff0: 6818 ldr r0, [r3, #0] - 8009ff2: f7ff bfd2 b.w 8009f9a <_raise_r> - 8009ff6: bf00 nop - 8009ff8: 20000064 .word 0x20000064 - -08009ffc <_kill_r>: - 8009ffc: b538 push {r3, r4, r5, lr} - 8009ffe: 2300 movs r3, #0 - 800a000: 4d06 ldr r5, [pc, #24] ; (800a01c <_kill_r+0x20>) - 800a002: 4604 mov r4, r0 - 800a004: 4608 mov r0, r1 - 800a006: 4611 mov r1, r2 - 800a008: 602b str r3, [r5, #0] - 800a00a: f7f7 fd86 bl 8001b1a <_kill> - 800a00e: 1c43 adds r3, r0, #1 - 800a010: d102 bne.n 800a018 <_kill_r+0x1c> - 800a012: 682b ldr r3, [r5, #0] - 800a014: b103 cbz r3, 800a018 <_kill_r+0x1c> - 800a016: 6023 str r3, [r4, #0] - 800a018: bd38 pop {r3, r4, r5, pc} - 800a01a: bf00 nop - 800a01c: 20002658 .word 0x20002658 - -0800a020 <_getpid_r>: - 800a020: f7f7 bd74 b.w 8001b0c <_getpid> - -0800a024 <_init>: - 800a024: b5f8 push {r3, r4, r5, r6, r7, lr} - 800a026: bf00 nop - 800a028: bcf8 pop {r3, r4, r5, r6, r7} - 800a02a: bc08 pop {r3} - 800a02c: 469e mov lr, r3 - 800a02e: 4770 bx lr - -0800a030 <_fini>: - 800a030: b5f8 push {r3, r4, r5, r6, r7, lr} - 800a032: bf00 nop - 800a034: bcf8 pop {r3, r4, r5, r6, r7} - 800a036: bc08 pop {r3} - 800a038: 469e mov lr, r3 - 800a03a: 4770 bx lr +0800a888 <_fini>: + 800a888: b5f8 push {r3, r4, r5, r6, r7, lr} + 800a88a: bf00 nop + 800a88c: bcf8 pop {r3, r4, r5, r6, r7} + 800a88e: bc08 pop {r3} + 800a890: 469e mov lr, r3 + 800a892: 4770 bx lr diff --git a/Debug/m3s.map b/Debug/m3s.map index eaf650c..24d7a59 100644 --- a/Debug/m3s.map +++ b/Debug/m3s.map @@ -3045,8 +3045,6 @@ Discarded input sections 0x0000000000000000 0x44 ./HW_Devices/LCD.o .text.LCD_Fast_DrawPoint 0x0000000000000000 0x138 ./HW_Devices/LCD.o - .text.LCD_Fill - 0x0000000000000000 0xf8 ./HW_Devices/LCD.o .text.LCD_Color_Fill 0x0000000000000000 0xa0 ./HW_Devices/LCD.o .text.LCD_BGR2RGB @@ -3942,6 +3940,7 @@ Discarded input sections .group 0x0000000000000000 0xc ./SW_APPs/APP_IDcard.o .group 0x0000000000000000 0xc ./SW_APPs/APP_IDcard.o .group 0x0000000000000000 0xc ./SW_APPs/APP_IDcard.o + .group 0x0000000000000000 0xc ./SW_APPs/APP_IDcard.o .text 0x0000000000000000 0x0 ./SW_APPs/APP_IDcard.o .data 0x0000000000000000 0x0 ./SW_APPs/APP_IDcard.o .bss 0x0000000000000000 0x0 ./SW_APPs/APP_IDcard.o @@ -3969,13 +3968,13 @@ Discarded input sections .rodata 0x0000000000000000 0x82 ./SW_APPs/APP_IDcard.o .text.APP_IDcard_loop 0x0000000000000000 0x21c ./SW_APPs/APP_IDcard.o - .debug_info 0x0000000000000000 0x3fe ./SW_APPs/APP_IDcard.o + .debug_info 0x0000000000000000 0x422 ./SW_APPs/APP_IDcard.o .debug_abbrev 0x0000000000000000 0x17c ./SW_APPs/APP_IDcard.o .debug_aranges 0x0000000000000000 0x28 ./SW_APPs/APP_IDcard.o .debug_rnglists 0x0000000000000000 0x1a ./SW_APPs/APP_IDcard.o - .debug_macro 0x0000000000000000 0x2d4 ./SW_APPs/APP_IDcard.o + .debug_macro 0x0000000000000000 0x2dd ./SW_APPs/APP_IDcard.o .debug_macro 0x0000000000000000 0xa9c ./SW_APPs/APP_IDcard.o .debug_macro 0x0000000000000000 0x227 ./SW_APPs/APP_IDcard.o .debug_macro 0x0000000000000000 0x2e ./SW_APPs/APP_IDcard.o @@ -4035,9 +4034,10 @@ Discarded input sections .debug_macro 0x0000000000000000 0x147 ./SW_APPs/APP_IDcard.o .debug_macro 0x0000000000000000 0xac ./SW_APPs/APP_IDcard.o .debug_macro 0x0000000000000000 0x391 ./SW_APPs/APP_IDcard.o + .debug_macro 0x0000000000000000 0x22 ./SW_APPs/APP_IDcard.o .debug_macro 0x0000000000000000 0x24a ./SW_APPs/APP_IDcard.o - .debug_line 0x0000000000000000 0x9f4 ./SW_APPs/APP_IDcard.o - .debug_str 0x0000000000000000 0x991a9 ./SW_APPs/APP_IDcard.o + .debug_line 0x0000000000000000 0x9fd ./SW_APPs/APP_IDcard.o + .debug_str 0x0000000000000000 0x9928c ./SW_APPs/APP_IDcard.o .comment 0x0000000000000000 0x44 ./SW_APPs/APP_IDcard.o .debug_frame 0x0000000000000000 0x5c ./SW_APPs/APP_IDcard.o .ARM.attributes @@ -4101,6 +4101,7 @@ Discarded input sections .group 0x0000000000000000 0xc ./SW_APPs/APP_KEYBOARD.o .group 0x0000000000000000 0xc ./SW_APPs/APP_KEYBOARD.o .group 0x0000000000000000 0xc ./SW_APPs/APP_KEYBOARD.o + .group 0x0000000000000000 0xc ./SW_APPs/APP_KEYBOARD.o .text 0x0000000000000000 0x0 ./SW_APPs/APP_KEYBOARD.o .data 0x0000000000000000 0x0 ./SW_APPs/APP_KEYBOARD.o .bss 0x0000000000000000 0x0 ./SW_APPs/APP_KEYBOARD.o @@ -4163,6 +4164,8 @@ Discarded input sections .debug_macro 0x0000000000000000 0x147 ./SW_APPs/APP_KEYBOARD.o .debug_macro 0x0000000000000000 0xac ./SW_APPs/APP_KEYBOARD.o .debug_macro 0x0000000000000000 0x391 ./SW_APPs/APP_KEYBOARD.o + .debug_macro 0x0000000000000000 0x22 ./SW_APPs/APP_KEYBOARD.o + .group 0x0000000000000000 0xc ./SW_APPs/APP_blood.o .group 0x0000000000000000 0xc ./SW_APPs/APP_blood.o .group 0x0000000000000000 0xc ./SW_APPs/APP_blood.o .group 0x0000000000000000 0xc ./SW_APPs/APP_blood.o @@ -4317,6 +4320,8 @@ Discarded input sections .debug_macro 0x0000000000000000 0x147 ./SW_APPs/APP_blood.o .debug_macro 0x0000000000000000 0xac ./SW_APPs/APP_blood.o .debug_macro 0x0000000000000000 0x391 ./SW_APPs/APP_blood.o + .debug_macro 0x0000000000000000 0x22 ./SW_APPs/APP_blood.o + .group 0x0000000000000000 0xc ./SW_APPs/APP_colorcontrol.o .group 0x0000000000000000 0xc ./SW_APPs/APP_colorcontrol.o .group 0x0000000000000000 0xc ./SW_APPs/APP_colorcontrol.o .group 0x0000000000000000 0xc ./SW_APPs/APP_colorcontrol.o @@ -4440,6 +4445,7 @@ Discarded input sections .debug_macro 0x0000000000000000 0x147 ./SW_APPs/APP_colorcontrol.o .debug_macro 0x0000000000000000 0xac ./SW_APPs/APP_colorcontrol.o .debug_macro 0x0000000000000000 0x391 ./SW_APPs/APP_colorcontrol.o + .debug_macro 0x0000000000000000 0x22 ./SW_APPs/APP_colorcontrol.o .group 0x0000000000000000 0xc ./SW_APPs/APP_morsecode.o .group 0x0000000000000000 0xc ./SW_APPs/APP_morsecode.o .group 0x0000000000000000 0xc ./SW_APPs/APP_morsecode.o @@ -4536,7 +4542,7 @@ Discarded input sections .rodata 0x0000000000000000 0x2e ./SW_APPs/APP_morsecode.o .text.APP_morsecode_loop 0x0000000000000000 0x5b4 ./SW_APPs/APP_morsecode.o - .debug_info 0x0000000000000000 0x67a ./SW_APPs/APP_morsecode.o + .debug_info 0x0000000000000000 0x6a1 ./SW_APPs/APP_morsecode.o .debug_abbrev 0x0000000000000000 0x287 ./SW_APPs/APP_morsecode.o .debug_aranges 0x0000000000000000 0x30 ./SW_APPs/APP_morsecode.o @@ -4604,7 +4610,7 @@ Discarded input sections .debug_macro 0x0000000000000000 0x391 ./SW_APPs/APP_morsecode.o .debug_macro 0x0000000000000000 0x22 ./SW_APPs/APP_morsecode.o .debug_line 0x0000000000000000 0xc52 ./SW_APPs/APP_morsecode.o - .debug_str 0x0000000000000000 0x98e0e ./SW_APPs/APP_morsecode.o + .debug_str 0x0000000000000000 0x98e29 ./SW_APPs/APP_morsecode.o .comment 0x0000000000000000 0x44 ./SW_APPs/APP_morsecode.o .debug_frame 0x0000000000000000 0x88 ./SW_APPs/APP_morsecode.o .ARM.attributes @@ -4734,8 +4740,9 @@ Discarded input sections .debug_macro 0x0000000000000000 0x147 ./SW_APPs/Main_APP.o .debug_macro 0x0000000000000000 0xac ./SW_APPs/Main_APP.o .debug_macro 0x0000000000000000 0x38b ./SW_APPs/Main_APP.o - .debug_macro 0x0000000000000000 0x10 ./SW_APPs/Main_APP.o .debug_macro 0x0000000000000000 0x22 ./SW_APPs/Main_APP.o + .debug_macro 0x0000000000000000 0x10 ./SW_APPs/Main_APP.o + .group 0x0000000000000000 0xc ./SW_APPs/windows.o .group 0x0000000000000000 0xc ./SW_APPs/windows.o .group 0x0000000000000000 0xc ./SW_APPs/windows.o .group 0x0000000000000000 0xc ./SW_APPs/windows.o @@ -4862,6 +4869,7 @@ Discarded input sections .debug_macro 0x0000000000000000 0x147 ./SW_APPs/windows.o .debug_macro 0x0000000000000000 0xac ./SW_APPs/windows.o .debug_macro 0x0000000000000000 0x391 ./SW_APPs/windows.o + .debug_macro 0x0000000000000000 0x22 ./SW_APPs/windows.o .debug_macro 0x0000000000000000 0x28 ./SW_APPs/windows.o .text 0x0000000000000000 0x0 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-exit.o) .data 0x0000000000000000 0x0 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-exit.o) @@ -5307,7 +5315,7 @@ LOAD C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.ext 0x0000000008000000 g_pfnVectors 0x00000000080001e4 . = ALIGN (0x4) -.text 0x00000000080001e8 0x9e54 +.text 0x00000000080001e8 0xa6ac 0x00000000080001e8 . = ALIGN (0x4) *(.text) .text 0x00000000080001e8 0x40 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7-m/nofp/crtbegin.o @@ -5756,455 +5764,461 @@ LOAD C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.ext .text.LCD_Clear 0x0000000008005630 0xa4 ./HW_Devices/LCD.o 0x0000000008005630 LCD_Clear + .text.LCD_Fill + 0x00000000080056d4 0xf8 ./HW_Devices/LCD.o + 0x00000000080056d4 LCD_Fill .text.LCD_DrawLine - 0x00000000080056d4 0x10a ./HW_Devices/LCD.o - 0x00000000080056d4 LCD_DrawLine + 0x00000000080057cc 0x10a ./HW_Devices/LCD.o + 0x00000000080057cc LCD_DrawLine .text.Draw_Circle - 0x00000000080057de 0x156 ./HW_Devices/LCD.o - 0x00000000080057de Draw_Circle + 0x00000000080058d6 0x156 ./HW_Devices/LCD.o + 0x00000000080058d6 Draw_Circle .text.LCD_ShowChar - 0x0000000008005934 0xf8 ./HW_Devices/LCD.o - 0x0000000008005934 LCD_ShowChar + 0x0000000008005a2c 0xf8 ./HW_Devices/LCD.o + 0x0000000008005a2c LCD_ShowChar .text.LCD_ShowString - 0x0000000008005a2c 0x7c ./HW_Devices/LCD.o - 0x0000000008005a2c LCD_ShowString + 0x0000000008005b24 0x7c ./HW_Devices/LCD.o + 0x0000000008005b24 LCD_ShowString .text.play_ones - 0x0000000008005aa8 0x70 ./HW_Devices/buzzer.o - 0x0000000008005aa8 play_ones - .text.delhead 0x0000000008005b18 0x50 ./HW_Devices/buzzer.o - 0x0000000008005b18 delhead + 0x0000000008005ba0 0x70 ./HW_Devices/buzzer.o + 0x0000000008005ba0 play_ones + .text.delhead 0x0000000008005c10 0x50 ./HW_Devices/buzzer.o + 0x0000000008005c10 delhead .text.buzzer_play_server - 0x0000000008005b68 0x74 ./HW_Devices/buzzer.o - 0x0000000008005b68 buzzer_play_server + 0x0000000008005c60 0x74 ./HW_Devices/buzzer.o + 0x0000000008005c60 buzzer_play_server .text.EPPROM_SLOWWRITE_INIT - 0x0000000008005bdc 0x34 ./HW_Devices/eeprom.o - 0x0000000008005bdc EPPROM_SLOWWRITE_INIT + 0x0000000008005cd4 0x34 ./HW_Devices/eeprom.o + 0x0000000008005cd4 EPPROM_SLOWWRITE_INIT .text.EEPROM_SLOWWRITE_SERVER - 0x0000000008005c10 0x8c ./HW_Devices/eeprom.o - 0x0000000008005c10 EEPROM_SLOWWRITE_SERVER + 0x0000000008005d08 0x8c ./HW_Devices/eeprom.o + 0x0000000008005d08 EEPROM_SLOWWRITE_SERVER .text.EEPROM_READ_BATY - 0x0000000008005c9c 0x24 ./HW_Devices/eeprom.o - 0x0000000008005c9c EEPROM_READ_BATY + 0x0000000008005d94 0x24 ./HW_Devices/eeprom.o + 0x0000000008005d94 EEPROM_READ_BATY .text.EEPROM_WRITE_BATY - 0x0000000008005cc0 0x8c ./HW_Devices/eeprom.o - 0x0000000008005cc0 EEPROM_WRITE_BATY + 0x0000000008005db8 0x8c ./HW_Devices/eeprom.o + 0x0000000008005db8 EEPROM_WRITE_BATY .text.IIC_SAND_DATE - 0x0000000008005d4c 0x3c ./HW_Devices/iic.o - 0x0000000008005d4c IIC_SAND_DATE + 0x0000000008005e44 0x3c ./HW_Devices/iic.o + 0x0000000008005e44 IIC_SAND_DATE .text.IIC_READ_DATE - 0x0000000008005d88 0x3c ./HW_Devices/iic.o - 0x0000000008005d88 IIC_READ_DATE + 0x0000000008005e80 0x3c ./HW_Devices/iic.o + 0x0000000008005e80 IIC_READ_DATE .text.GEI_BUTTON_CODE - 0x0000000008005dc4 0xb8 ./HW_Devices/key.o - 0x0000000008005dc4 GEI_BUTTON_CODE + 0x0000000008005ebc 0xb8 ./HW_Devices/key.o + 0x0000000008005ebc GEI_BUTTON_CODE .text.TP_Write_Byte - 0x0000000008005e7c 0x6c ./HW_Devices/touch.o - 0x0000000008005e7c TP_Write_Byte + 0x0000000008005f74 0x6c ./HW_Devices/touch.o + 0x0000000008005f74 TP_Write_Byte .text.TP_Read_AD - 0x0000000008005ee8 0xc8 ./HW_Devices/touch.o - 0x0000000008005ee8 TP_Read_AD + 0x0000000008005fe0 0xc8 ./HW_Devices/touch.o + 0x0000000008005fe0 TP_Read_AD .text.TP_Read_XOY - 0x0000000008005fb0 0xf4 ./HW_Devices/touch.o - 0x0000000008005fb0 TP_Read_XOY + 0x00000000080060a8 0xf4 ./HW_Devices/touch.o + 0x00000000080060a8 TP_Read_XOY .text.TP_Read_XY_ADC - 0x00000000080060a4 0x32 ./HW_Devices/touch.o - 0x00000000080060a4 TP_Read_XY_ADC + 0x000000000800619c 0x32 ./HW_Devices/touch.o + 0x000000000800619c TP_Read_XY_ADC .text.TP_Read_XY2 - 0x00000000080060d6 0xd0 ./HW_Devices/touch.o - 0x00000000080060d6 TP_Read_XY2 - *fill* 0x00000000080061a6 0x2 + 0x00000000080061ce 0xd0 ./HW_Devices/touch.o + 0x00000000080061ce TP_Read_XY2 + *fill* 0x000000000800629e 0x2 .text.TP_Server - 0x00000000080061a8 0xf0 ./HW_Devices/touch.o - 0x00000000080061a8 TP_Server + 0x00000000080062a0 0xf0 ./HW_Devices/touch.o + 0x00000000080062a0 TP_Server .text.TP_DrwaTrage - 0x0000000008006298 0xb8 ./HW_Devices/touch.o - 0x0000000008006298 TP_DrwaTrage + 0x0000000008006390 0xb8 ./HW_Devices/touch.o + 0x0000000008006390 TP_DrwaTrage .text.TP_adjustment - 0x0000000008006350 0x5c8 ./HW_Devices/touch.o - 0x0000000008006350 TP_adjustment + 0x0000000008006448 0x5c8 ./HW_Devices/touch.o + 0x0000000008006448 TP_adjustment .text.APP_KEYBOARD_init - 0x0000000008006918 0x1c ./SW_APPs/APP_KEYBOARD.o - 0x0000000008006918 APP_KEYBOARD_init + 0x0000000008006a10 0x2c ./SW_APPs/APP_KEYBOARD.o + 0x0000000008006a10 APP_KEYBOARD_init + .text.down_one_key + 0x0000000008006a3c 0x58 ./SW_APPs/APP_KEYBOARD.o + 0x0000000008006a3c down_one_key + .text.getkeyboardv + 0x0000000008006a94 0x458 ./SW_APPs/APP_KEYBOARD.o + 0x0000000008006a94 getkeyboardv .text.APP_KEYBOARD_loop - 0x0000000008006934 0x58 ./SW_APPs/APP_KEYBOARD.o - 0x0000000008006934 APP_KEYBOARD_loop + 0x0000000008006eec 0x2d8 ./SW_APPs/APP_KEYBOARD.o + 0x0000000008006eec APP_KEYBOARD_loop .text.max30102_read_fifo - 0x000000000800698c 0x100 ./SW_APPs/APP_blood.o - 0x000000000800698c max30102_read_fifo + 0x00000000080071c4 0x100 ./SW_APPs/APP_blood.o + 0x00000000080071c4 max30102_read_fifo .text.HAL_TIM_PeriodElapsedCallback - 0x0000000008006a8c 0xac ./SW_APPs/APP_blood.o - 0x0000000008006a8c HAL_TIM_PeriodElapsedCallback + 0x00000000080072c4 0xac ./SW_APPs/APP_blood.o + 0x00000000080072c4 HAL_TIM_PeriodElapsedCallback .text.APP_COLORCONTROL_init - 0x0000000008006b38 0x1c ./SW_APPs/APP_colorcontrol.o - 0x0000000008006b38 APP_COLORCONTROL_init + 0x0000000008007370 0x1c ./SW_APPs/APP_colorcontrol.o + 0x0000000008007370 APP_COLORCONTROL_init .text.main_app - 0x0000000008006b54 0x108 ./SW_APPs/Main_APP.o - 0x0000000008006b54 main_app + 0x000000000800738c 0x108 ./SW_APPs/Main_APP.o + 0x000000000800738c main_app .text.Inteface_SetCursor - 0x0000000008006c5c 0x34 ./SW_APPs/windows.o - 0x0000000008006c5c Inteface_SetCursor + 0x0000000008007494 0x34 ./SW_APPs/windows.o + 0x0000000008007494 Inteface_SetCursor .text.Inteface_SetColor - 0x0000000008006c90 0x20 ./SW_APPs/windows.o - 0x0000000008006c90 Inteface_SetColor - .text.UI_Init 0x0000000008006cb0 0x66 ./SW_APPs/windows.o - 0x0000000008006cb0 UI_Init + 0x00000000080074c8 0x20 ./SW_APPs/windows.o + 0x00000000080074c8 Inteface_SetColor + .text.UI_Init 0x00000000080074e8 0x66 ./SW_APPs/windows.o + 0x00000000080074e8 UI_Init .text.New_Window - 0x0000000008006d16 0xda ./SW_APPs/windows.o - 0x0000000008006d16 New_Window + 0x000000000800754e 0xe2 ./SW_APPs/windows.o + 0x000000000800754e New_Window .text.Close_Windows_Stack - 0x0000000008006df0 0x9a ./SW_APPs/windows.o - 0x0000000008006df0 Close_Windows_Stack + 0x0000000008007630 0x9a ./SW_APPs/windows.o + 0x0000000008007630 Close_Windows_Stack .text.Refresh_Window - 0x0000000008006e8a 0x106 ./SW_APPs/windows.o - 0x0000000008006e8a Refresh_Window + 0x00000000080076ca 0x106 ./SW_APPs/windows.o + 0x00000000080076ca Refresh_Window .text.Refresh_UI - 0x0000000008006f90 0x94 ./SW_APPs/windows.o - 0x0000000008006f90 Refresh_UI - .text.Chack 0x0000000008007024 0xca ./SW_APPs/windows.o - 0x0000000008007024 Chack - *fill* 0x00000000080070ee 0x2 + 0x00000000080077d0 0x94 ./SW_APPs/windows.o + 0x00000000080077d0 Refresh_UI + .text.Chack 0x0000000008007864 0xca ./SW_APPs/windows.o + 0x0000000008007864 Chack + *fill* 0x000000000800792e 0x2 .text.UI_Server - 0x00000000080070f0 0x248 ./SW_APPs/windows.o - 0x00000000080070f0 UI_Server - .text.malloc 0x0000000008007338 0x10 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-malloc.o) - 0x0000000008007338 malloc - .text.free 0x0000000008007348 0x10 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-malloc.o) - 0x0000000008007348 free + 0x0000000008007930 0x264 ./SW_APPs/windows.o + 0x0000000008007930 UI_Server + .text.malloc 0x0000000008007b94 0x10 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-malloc.o) + 0x0000000008007b94 malloc + .text.free 0x0000000008007ba4 0x10 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-malloc.o) + 0x0000000008007ba4 free .text.sbrk_aligned - 0x0000000008007358 0x40 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mallocr.o) + 0x0000000008007bb4 0x40 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mallocr.o) .text._malloc_r - 0x0000000008007398 0x100 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mallocr.o) - 0x0000000008007398 _malloc_r + 0x0000000008007bf4 0x100 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mallocr.o) + 0x0000000008007bf4 _malloc_r .text.__malloc_lock - 0x0000000008007498 0xc C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mlock.o) - 0x0000000008007498 __malloc_lock + 0x0000000008007cf4 0xc C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mlock.o) + 0x0000000008007cf4 __malloc_lock .text.__malloc_unlock - 0x00000000080074a4 0xc C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mlock.o) - 0x00000000080074a4 __malloc_unlock - .text.__cvt 0x00000000080074b0 0xbe C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-nano-vfprintf_float.o) - 0x00000000080074b0 __cvt + 0x0000000008007d00 0xc C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mlock.o) + 0x0000000008007d00 __malloc_unlock + .text.__cvt 0x0000000008007d0c 0xbe C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-nano-vfprintf_float.o) + 0x0000000008007d0c __cvt .text.__exponent - 0x000000000800756e 0x7a C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-nano-vfprintf_float.o) - 0x000000000800756e __exponent + 0x0000000008007dca 0x7a C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-nano-vfprintf_float.o) + 0x0000000008007dca __exponent .text._printf_float - 0x00000000080075e8 0x45c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-nano-vfprintf_float.o) - 0x00000000080075e8 _printf_float + 0x0000000008007e44 0x45c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-nano-vfprintf_float.o) + 0x0000000008007e44 _printf_float .text._printf_common - 0x0000000008007a44 0xe4 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-nano-vfprintf_i.o) - 0x0000000008007a44 _printf_common + 0x00000000080082a0 0xe4 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-nano-vfprintf_i.o) + 0x00000000080082a0 _printf_common .text._printf_i - 0x0000000008007b28 0x244 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-nano-vfprintf_i.o) - 0x0000000008007b28 _printf_i - .text.std 0x0000000008007d6c 0x6c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-findfp.o) + 0x0000000008008384 0x244 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-nano-vfprintf_i.o) + 0x0000000008008384 _printf_i + .text.std 0x00000000080085c8 0x6c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-findfp.o) .text.stdio_exit_handler - 0x0000000008007dd8 0x18 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-findfp.o) + 0x0000000008008634 0x18 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-findfp.o) .text.cleanup_stdio - 0x0000000008007df0 0x40 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-findfp.o) + 0x000000000800864c 0x40 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-findfp.o) .text.global_stdio_init.part.0 - 0x0000000008007e30 0x3c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-findfp.o) + 0x000000000800868c 0x3c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-findfp.o) .text.__sfp_lock_acquire - 0x0000000008007e6c 0xc C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-findfp.o) - 0x0000000008007e6c __sfp_lock_acquire + 0x00000000080086c8 0xc C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-findfp.o) + 0x00000000080086c8 __sfp_lock_acquire .text.__sfp_lock_release - 0x0000000008007e78 0xc C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-findfp.o) - 0x0000000008007e78 __sfp_lock_release - .text.__sinit 0x0000000008007e84 0x30 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-findfp.o) - 0x0000000008007e84 __sinit + 0x00000000080086d4 0xc C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-findfp.o) + 0x00000000080086d4 __sfp_lock_release + .text.__sinit 0x00000000080086e0 0x30 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-findfp.o) + 0x00000000080086e0 __sinit .text._fwalk_sglue - 0x0000000008007eb4 0x3c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-fwalk.o) - 0x0000000008007eb4 _fwalk_sglue - .text.sprintf 0x0000000008007ef0 0x40 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-sprintf.o) - 0x0000000008007ef0 siprintf - 0x0000000008007ef0 sprintf - .text.__sread 0x0000000008007f30 0x22 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-stdio.o) - 0x0000000008007f30 __sread + 0x0000000008008710 0x3c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-fwalk.o) + 0x0000000008008710 _fwalk_sglue + .text.sprintf 0x000000000800874c 0x40 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-sprintf.o) + 0x000000000800874c siprintf + 0x000000000800874c sprintf + .text.__sread 0x000000000800878c 0x22 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-stdio.o) + 0x000000000800878c __sread .text.__swrite - 0x0000000008007f52 0x38 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-stdio.o) - 0x0000000008007f52 __swrite - .text.__sseek 0x0000000008007f8a 0x24 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-stdio.o) - 0x0000000008007f8a __sseek + 0x00000000080087ae 0x38 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-stdio.o) + 0x00000000080087ae __swrite + .text.__sseek 0x00000000080087e6 0x24 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-stdio.o) + 0x00000000080087e6 __sseek .text.__sclose - 0x0000000008007fae 0x8 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-stdio.o) - 0x0000000008007fae __sclose + 0x000000000800880a 0x8 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-stdio.o) + 0x000000000800880a __sclose .text.__swbuf_r - 0x0000000008007fb6 0x7a C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-wbuf.o) - 0x0000000008007fb6 __swbuf_r + 0x0000000008008812 0x7a C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-wbuf.o) + 0x0000000008008812 __swbuf_r .text.__swsetup_r - 0x0000000008008030 0xb0 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-wsetup.o) - 0x0000000008008030 __swsetup_r - .text.memset 0x00000000080080e0 0x10 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-memset.o) - 0x00000000080080e0 memset + 0x000000000800888c 0xb0 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-wsetup.o) + 0x000000000800888c __swsetup_r + .text.memset 0x000000000800893c 0x10 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-memset.o) + 0x000000000800893c memset .text._localeconv_r - 0x00000000080080f0 0x8 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-localeconv.o) - 0x00000000080080f0 _localeconv_r + 0x000000000800894c 0x8 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-localeconv.o) + 0x000000000800894c _localeconv_r .text._close_r - 0x00000000080080f8 0x20 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-closer.o) - 0x00000000080080f8 _close_r + 0x0000000008008954 0x20 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-closer.o) + 0x0000000008008954 _close_r .text._lseek_r - 0x0000000008008118 0x24 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-lseekr.o) - 0x0000000008008118 _lseek_r - .text._read_r 0x000000000800813c 0x24 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-readr.o) - 0x000000000800813c _read_r - .text._sbrk_r 0x0000000008008160 0x20 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-sbrkr.o) - 0x0000000008008160 _sbrk_r + 0x0000000008008974 0x24 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-lseekr.o) + 0x0000000008008974 _lseek_r + .text._read_r 0x0000000008008998 0x24 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-readr.o) + 0x0000000008008998 _read_r + .text._sbrk_r 0x00000000080089bc 0x20 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-sbrkr.o) + 0x00000000080089bc _sbrk_r .text._write_r - 0x0000000008008180 0x24 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-writer.o) - 0x0000000008008180 _write_r - .text.__errno 0x00000000080081a4 0xc C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-errno.o) - 0x00000000080081a4 __errno + 0x00000000080089dc 0x24 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-writer.o) + 0x00000000080089dc _write_r + .text.__errno 0x0000000008008a00 0xc C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-errno.o) + 0x0000000008008a00 __errno .text.__libc_init_array - 0x00000000080081b0 0x48 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-init.o) - 0x00000000080081b0 __libc_init_array + 0x0000000008008a0c 0x48 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-init.o) + 0x0000000008008a0c __libc_init_array .text.__retarget_lock_init_recursive - 0x00000000080081f8 0x2 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-lock.o) - 0x00000000080081f8 __retarget_lock_init_recursive + 0x0000000008008a54 0x2 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-lock.o) + 0x0000000008008a54 __retarget_lock_init_recursive .text.__retarget_lock_acquire_recursive - 0x00000000080081fa 0x2 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-lock.o) - 0x00000000080081fa __retarget_lock_acquire_recursive + 0x0000000008008a56 0x2 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-lock.o) + 0x0000000008008a56 __retarget_lock_acquire_recursive .text.__retarget_lock_release_recursive - 0x00000000080081fc 0x2 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-lock.o) - 0x00000000080081fc __retarget_lock_release_recursive - .text.memchr 0x00000000080081fe 0x1c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-memchr-stub.o) - 0x00000000080081fe memchr - .text.quorem 0x000000000800821a 0x112 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-dtoa.o) - *fill* 0x000000000800832c 0x4 - .text._dtoa_r 0x0000000008008330 0xbc8 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-dtoa.o) - 0x0000000008008330 _dtoa_r - .text._free_r 0x0000000008008ef8 0x90 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-freer.o) - 0x0000000008008ef8 _free_r - .text._Balloc 0x0000000008008f88 0x80 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mprec.o) - 0x0000000008008f88 _Balloc - .text._Bfree 0x0000000008009008 0x44 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mprec.o) - 0x0000000008009008 _Bfree + 0x0000000008008a58 0x2 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-lock.o) + 0x0000000008008a58 __retarget_lock_release_recursive + .text.memchr 0x0000000008008a5a 0x1c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-memchr-stub.o) + 0x0000000008008a5a memchr + .text.quorem 0x0000000008008a76 0x112 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-dtoa.o) + .text._dtoa_r 0x0000000008008b88 0xbc8 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-dtoa.o) + 0x0000000008008b88 _dtoa_r + .text._free_r 0x0000000008009750 0x90 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-freer.o) + 0x0000000008009750 _free_r + .text._Balloc 0x00000000080097e0 0x80 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mprec.o) + 0x00000000080097e0 _Balloc + .text._Bfree 0x0000000008009860 0x44 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mprec.o) + 0x0000000008009860 _Bfree .text.__multadd - 0x000000000800904c 0x8c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mprec.o) - 0x000000000800904c __multadd + 0x00000000080098a4 0x8c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mprec.o) + 0x00000000080098a4 __multadd .text.__hi0bits - 0x00000000080090d8 0x40 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mprec.o) - 0x00000000080090d8 __hi0bits + 0x0000000008009930 0x40 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mprec.o) + 0x0000000008009930 __hi0bits .text.__lo0bits - 0x0000000008009118 0x5a C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mprec.o) - 0x0000000008009118 __lo0bits - *fill* 0x0000000008009172 0x2 - .text.__i2b 0x0000000008009174 0x2c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mprec.o) - 0x0000000008009174 __i2b + 0x0000000008009970 0x5a C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mprec.o) + 0x0000000008009970 __lo0bits + *fill* 0x00000000080099ca 0x2 + .text.__i2b 0x00000000080099cc 0x2c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mprec.o) + 0x00000000080099cc __i2b .text.__multiply - 0x00000000080091a0 0x150 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mprec.o) - 0x00000000080091a0 __multiply + 0x00000000080099f8 0x150 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mprec.o) + 0x00000000080099f8 __multiply .text.__pow5mult - 0x00000000080092f0 0xb4 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mprec.o) - 0x00000000080092f0 __pow5mult + 0x0000000008009b48 0xb4 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mprec.o) + 0x0000000008009b48 __pow5mult .text.__lshift - 0x00000000080093a4 0xd8 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mprec.o) - 0x00000000080093a4 __lshift - .text.__mcmp 0x000000000800947c 0x36 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mprec.o) - 0x000000000800947c __mcmp - *fill* 0x00000000080094b2 0x2 - .text.__mdiff 0x00000000080094b4 0x118 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mprec.o) - 0x00000000080094b4 __mdiff - .text.__d2b 0x00000000080095cc 0xac C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mprec.o) - 0x00000000080095cc __d2b + 0x0000000008009bfc 0xd8 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mprec.o) + 0x0000000008009bfc __lshift + .text.__mcmp 0x0000000008009cd4 0x36 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mprec.o) + 0x0000000008009cd4 __mcmp + *fill* 0x0000000008009d0a 0x2 + .text.__mdiff 0x0000000008009d0c 0x118 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mprec.o) + 0x0000000008009d0c __mdiff + .text.__d2b 0x0000000008009e24 0xac C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mprec.o) + 0x0000000008009e24 __d2b .text.__ssputs_r - 0x0000000008009678 0xb4 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-nano-svfprintf.o) - 0x0000000008009678 __ssputs_r + 0x0000000008009ed0 0xb4 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-nano-svfprintf.o) + 0x0000000008009ed0 __ssputs_r .text._svfprintf_r - 0x000000000800972c 0x1fc C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-nano-svfprintf.o) - 0x000000000800972c _svfiprintf_r - 0x000000000800972c _svfprintf_r + 0x0000000008009f84 0x1fc C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-nano-svfprintf.o) + 0x0000000008009f84 _svfiprintf_r + 0x0000000008009f84 _svfprintf_r .text.__sfputc_r - 0x0000000008009928 0x2a C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-nano-vfprintf.o) + 0x000000000800a180 0x2a C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-nano-vfprintf.o) .text.__sfputs_r - 0x0000000008009952 0x24 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-nano-vfprintf.o) - 0x0000000008009952 __sfputs_r - *fill* 0x0000000008009976 0x2 + 0x000000000800a1aa 0x24 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-nano-vfprintf.o) + 0x000000000800a1aa __sfputs_r + *fill* 0x000000000800a1ce 0x2 .text._vfprintf_r - 0x0000000008009978 0x234 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-nano-vfprintf.o) - 0x0000000008009978 _vfprintf_r - 0x0000000008009978 _vfiprintf_r + 0x000000000800a1d0 0x234 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-nano-vfprintf.o) + 0x000000000800a1d0 _vfprintf_r + 0x000000000800a1d0 _vfiprintf_r .text.__sflush_r - 0x0000000008009bac 0x104 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-fflush.o) - 0x0000000008009bac __sflush_r + 0x000000000800a404 0x104 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-fflush.o) + 0x000000000800a404 __sflush_r .text._fflush_r - 0x0000000008009cb0 0x50 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-fflush.o) - 0x0000000008009cb0 _fflush_r + 0x000000000800a508 0x50 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-fflush.o) + 0x000000000800a508 _fflush_r .text.__swhatbuf_r - 0x0000000008009d00 0x4a C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-makebuf.o) - 0x0000000008009d00 __swhatbuf_r + 0x000000000800a558 0x4a C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-makebuf.o) + 0x000000000800a558 __swhatbuf_r .text.__smakebuf_r - 0x0000000008009d4a 0x78 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-makebuf.o) - 0x0000000008009d4a __smakebuf_r - .text.memmove 0x0000000008009dc2 0x34 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-memmove.o) - 0x0000000008009dc2 memmove - *fill* 0x0000000008009df6 0x2 + 0x000000000800a5a2 0x78 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-makebuf.o) + 0x000000000800a5a2 __smakebuf_r + .text.memmove 0x000000000800a61a 0x34 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-memmove.o) + 0x000000000800a61a memmove + *fill* 0x000000000800a64e 0x2 .text._fstat_r - 0x0000000008009df8 0x24 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-fstatr.o) - 0x0000000008009df8 _fstat_r + 0x000000000800a650 0x24 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-fstatr.o) + 0x000000000800a650 _fstat_r .text._isatty_r - 0x0000000008009e1c 0x20 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-isattyr.o) - 0x0000000008009e1c _isatty_r - .text.memcpy 0x0000000008009e3c 0x1c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-memcpy-stub.o) - 0x0000000008009e3c memcpy + 0x000000000800a674 0x20 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-isattyr.o) + 0x000000000800a674 _isatty_r + .text.memcpy 0x000000000800a694 0x1c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-memcpy-stub.o) + 0x000000000800a694 memcpy .text.__assert_func - 0x0000000008009e58 0x3c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-assert.o) - 0x0000000008009e58 __assert_func + 0x000000000800a6b0 0x3c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-assert.o) + 0x000000000800a6b0 __assert_func .text._calloc_r - 0x0000000008009e94 0x28 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-callocr.o) - 0x0000000008009e94 _calloc_r + 0x000000000800a6ec 0x28 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-callocr.o) + 0x000000000800a6ec _calloc_r .text.__ascii_mbtowc - 0x0000000008009ebc 0x24 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mbtowc_r.o) - 0x0000000008009ebc __ascii_mbtowc + 0x000000000800a714 0x24 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mbtowc_r.o) + 0x000000000800a714 __ascii_mbtowc .text._realloc_r - 0x0000000008009ee0 0x5e C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-reallocr.o) - 0x0000000008009ee0 _realloc_r + 0x000000000800a738 0x5e C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-reallocr.o) + 0x000000000800a738 _realloc_r .text.__ascii_wctomb - 0x0000000008009f3e 0x1a C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-wctomb_r.o) - 0x0000000008009f3e __ascii_wctomb - .text.fprintf 0x0000000008009f58 0x24 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-fprintf.o) - 0x0000000008009f58 fiprintf - 0x0000000008009f58 fprintf - .text.abort 0x0000000008009f7c 0xe C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-abort.o) - 0x0000000008009f7c abort + 0x000000000800a796 0x1a C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-wctomb_r.o) + 0x000000000800a796 __ascii_wctomb + .text.fprintf 0x000000000800a7b0 0x24 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-fprintf.o) + 0x000000000800a7b0 fiprintf + 0x000000000800a7b0 fprintf + .text.abort 0x000000000800a7d4 0xe C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-abort.o) + 0x000000000800a7d4 abort .text._malloc_usable_size_r - 0x0000000008009f8a 0x10 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-msizer.o) - 0x0000000008009f8a _malloc_usable_size_r + 0x000000000800a7e2 0x10 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-msizer.o) + 0x000000000800a7e2 _malloc_usable_size_r .text._raise_r - 0x0000000008009f9a 0x50 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-signal.o) - 0x0000000008009f9a _raise_r - *fill* 0x0000000008009fea 0x2 - .text.raise 0x0000000008009fec 0x10 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-signal.o) - 0x0000000008009fec raise - .text._kill_r 0x0000000008009ffc 0x24 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-signalr.o) - 0x0000000008009ffc _kill_r + 0x000000000800a7f2 0x50 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-signal.o) + 0x000000000800a7f2 _raise_r + *fill* 0x000000000800a842 0x2 + .text.raise 0x000000000800a844 0x10 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-signal.o) + 0x000000000800a844 raise + .text._kill_r 0x000000000800a854 0x24 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-signalr.o) + 0x000000000800a854 _kill_r .text._getpid_r - 0x000000000800a020 0x4 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-signalr.o) - 0x000000000800a020 _getpid_r + 0x000000000800a878 0x4 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-signalr.o) + 0x000000000800a878 _getpid_r *(.glue_7) - .glue_7 0x000000000800a024 0x0 linker stubs + .glue_7 0x000000000800a87c 0x0 linker stubs *(.glue_7t) - .glue_7t 0x000000000800a024 0x0 linker stubs + .glue_7t 0x000000000800a87c 0x0 linker stubs *(.eh_frame) - .eh_frame 0x000000000800a024 0x0 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7-m/nofp/crtbegin.o + .eh_frame 0x000000000800a87c 0x0 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7-m/nofp/crtbegin.o *(.init) - .init 0x000000000800a024 0x4 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7-m/nofp/crti.o - 0x000000000800a024 _init - .init 0x000000000800a028 0x8 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7-m/nofp/crtn.o + .init 0x000000000800a87c 0x4 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7-m/nofp/crti.o + 0x000000000800a87c _init + .init 0x000000000800a880 0x8 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7-m/nofp/crtn.o *(.fini) - .fini 0x000000000800a030 0x4 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7-m/nofp/crti.o - 0x000000000800a030 _fini - .fini 0x000000000800a034 0x8 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7-m/nofp/crtn.o - 0x000000000800a03c . = ALIGN (0x4) - 0x000000000800a03c _etext = . + .fini 0x000000000800a888 0x4 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7-m/nofp/crti.o + 0x000000000800a888 _fini + .fini 0x000000000800a88c 0x8 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7-m/nofp/crtn.o + 0x000000000800a894 . = ALIGN (0x4) + 0x000000000800a894 _etext = . -.vfp11_veneer 0x000000000800a03c 0x0 - .vfp11_veneer 0x000000000800a03c 0x0 linker stubs +.vfp11_veneer 0x000000000800a894 0x0 + .vfp11_veneer 0x000000000800a894 0x0 linker stubs -.v4_bx 0x000000000800a03c 0x0 - .v4_bx 0x000000000800a03c 0x0 linker stubs +.v4_bx 0x000000000800a894 0x0 + .v4_bx 0x000000000800a894 0x0 linker stubs -.iplt 0x000000000800a03c 0x0 - .iplt 0x000000000800a03c 0x0 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7-m/nofp/crtbegin.o +.iplt 0x000000000800a894 0x0 + .iplt 0x000000000800a894 0x0 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7-m/nofp/crtbegin.o -.rodata 0x000000000800a040 0xedc - 0x000000000800a040 . = ALIGN (0x4) +.rodata 0x000000000800a898 0xed4 + 0x000000000800a898 . = ALIGN (0x4) *(.rodata) - .rodata 0x000000000800a040 0x10 ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.o - .rodata 0x000000000800a050 0xb8 ./HW_Devices/touch.o - .rodata 0x000000000800a108 0x5 ./SW_APPs/APP_KEYBOARD.o - *fill* 0x000000000800a10d 0x3 - .rodata 0x000000000800a110 0x19 ./SW_APPs/Main_APP.o + .rodata 0x000000000800a898 0x10 ./Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.o + .rodata 0x000000000800a8a8 0xb8 ./HW_Devices/touch.o + .rodata 0x000000000800a960 0x19 ./SW_APPs/Main_APP.o *(.rodata*) - *fill* 0x000000000800a129 0x3 + *fill* 0x000000000800a979 0x3 .rodata.AHBPrescTable - 0x000000000800a12c 0x10 ./Core/Src/system_stm32f1xx.o - 0x000000000800a12c AHBPrescTable + 0x000000000800a97c 0x10 ./Core/Src/system_stm32f1xx.o + 0x000000000800a97c AHBPrescTable .rodata.APBPrescTable - 0x000000000800a13c 0x8 ./Core/Src/system_stm32f1xx.o - 0x000000000800a13c APBPrescTable + 0x000000000800a98c 0x8 ./Core/Src/system_stm32f1xx.o + 0x000000000800a98c APBPrescTable .rodata.asc2_1206 - 0x000000000800a144 0x474 ./HW_Devices/LCD.o - 0x000000000800a144 asc2_1206 + 0x000000000800a994 0x474 ./HW_Devices/LCD.o + 0x000000000800a994 asc2_1206 .rodata.asc2_1608 - 0x000000000800a5b8 0x5f0 ./HW_Devices/LCD.o - 0x000000000800a5b8 asc2_1608 + 0x000000000800ae08 0x5f0 ./HW_Devices/LCD.o + 0x000000000800ae08 asc2_1608 .rodata._printf_float.str1.1 - 0x000000000800aba8 0x12 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-nano-vfprintf_float.o) + 0x000000000800b3f8 0x12 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-nano-vfprintf_float.o) .rodata._printf_i.str1.1 - 0x000000000800abba 0x22 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-nano-vfprintf_i.o) + 0x000000000800b40a 0x22 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-nano-vfprintf_i.o) .rodata._dtoa_r.str1.1 - 0x000000000800abdc 0x8d C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-dtoa.o) + 0x000000000800b42c 0x8d C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-dtoa.o) 0x8f (size before relaxing) .rodata._Balloc.str1.1 - 0x000000000800ac69 0x59 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mprec.o) + 0x000000000800b4b9 0x59 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mprec.o) 0x70 (size before relaxing) .rodata.__multadd.str1.1 - 0x000000000800acc2 0x11 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mprec.o) - *fill* 0x000000000800acc2 0x6 + 0x000000000800b512 0x11 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mprec.o) + *fill* 0x000000000800b512 0x6 .rodata.__mprec_bigtens - 0x000000000800acc8 0x28 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mprec.o) - 0x000000000800acc8 __mprec_bigtens + 0x000000000800b518 0x28 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mprec.o) + 0x000000000800b518 __mprec_bigtens .rodata.__mprec_tens - 0x000000000800acf0 0xc8 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mprec.o) - 0x000000000800acf0 __mprec_tens - .rodata.p05.0 0x000000000800adb8 0xc C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mprec.o) + 0x000000000800b540 0xc8 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mprec.o) + 0x000000000800b540 __mprec_tens + .rodata.p05.0 0x000000000800b608 0xc C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mprec.o) .rodata._svfprintf_r.str1.1 - 0x000000000800adc4 0x11 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-nano-svfprintf.o) + 0x000000000800b614 0x11 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-nano-svfprintf.o) .rodata._vfprintf_r.str1.1 - 0x000000000800add5 0x11 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-nano-vfprintf.o) + 0x000000000800b625 0x11 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-nano-vfprintf.o) .rodata._setlocale_r.str1.1 - 0x000000000800add5 0x8 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-locale.o) + 0x000000000800b625 0x8 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-locale.o) 0x9 (size before relaxing) .rodata.str1.1 - 0x000000000800addd 0x2 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-locale.o) + 0x000000000800b62d 0x2 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-locale.o) .rodata.__assert_func.str1.1 - 0x000000000800addf 0x3c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-assert.o) + 0x000000000800b62f 0x3c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-assert.o) 0x3d (size before relaxing) .rodata._ctype_ - 0x000000000800ae1b 0x101 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-ctype_.o) - 0x000000000800ae1b _ctype_ - 0x000000000800af1c . = ALIGN (0x4) + 0x000000000800b66b 0x101 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-ctype_.o) + 0x000000000800b66b _ctype_ + 0x000000000800b76c . = ALIGN (0x4) -.rel.dyn 0x000000000800af1c 0x0 - .rel.iplt 0x000000000800af1c 0x0 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7-m/nofp/crtbegin.o +.rel.dyn 0x000000000800b76c 0x0 + .rel.iplt 0x000000000800b76c 0x0 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7-m/nofp/crtbegin.o -.ARM.extab 0x000000000800af1c 0x0 - 0x000000000800af1c . = ALIGN (0x4) +.ARM.extab 0x000000000800b76c 0x0 + 0x000000000800b76c . = ALIGN (0x4) *(.ARM.extab* .gnu.linkonce.armextab.*) - 0x000000000800af1c . = ALIGN (0x4) + 0x000000000800b76c . = ALIGN (0x4) -.ARM 0x000000000800af1c 0x0 - 0x000000000800af1c . = ALIGN (0x4) - 0x000000000800af1c __exidx_start = . +.ARM 0x000000000800b76c 0x0 + 0x000000000800b76c . = ALIGN (0x4) + 0x000000000800b76c __exidx_start = . *(.ARM.exidx*) - 0x000000000800af1c __exidx_end = . - 0x000000000800af1c . = ALIGN (0x4) + 0x000000000800b76c __exidx_end = . + 0x000000000800b76c . = ALIGN (0x4) -.preinit_array 0x000000000800af1c 0x0 - 0x000000000800af1c . = ALIGN (0x4) - 0x000000000800af1c PROVIDE (__preinit_array_start = .) +.preinit_array 0x000000000800b76c 0x0 + 0x000000000800b76c . = ALIGN (0x4) + 0x000000000800b76c PROVIDE (__preinit_array_start = .) *(.preinit_array*) - 0x000000000800af1c PROVIDE (__preinit_array_end = .) - 0x000000000800af1c . = ALIGN (0x4) + 0x000000000800b76c PROVIDE (__preinit_array_end = .) + 0x000000000800b76c . = ALIGN (0x4) -.init_array 0x000000000800af1c 0x4 - 0x000000000800af1c . = ALIGN (0x4) - 0x000000000800af1c PROVIDE (__init_array_start = .) +.init_array 0x000000000800b76c 0x4 + 0x000000000800b76c . = ALIGN (0x4) + 0x000000000800b76c PROVIDE (__init_array_start = .) *(SORT_BY_NAME(.init_array.*)) *(.init_array*) - .init_array 0x000000000800af1c 0x4 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7-m/nofp/crtbegin.o - 0x000000000800af20 PROVIDE (__init_array_end = .) - 0x000000000800af20 . = ALIGN (0x4) + .init_array 0x000000000800b76c 0x4 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7-m/nofp/crtbegin.o + 0x000000000800b770 PROVIDE (__init_array_end = .) + 0x000000000800b770 . = ALIGN (0x4) -.fini_array 0x000000000800af20 0x4 - 0x000000000800af20 . = ALIGN (0x4) +.fini_array 0x000000000800b770 0x4 + 0x000000000800b770 . = ALIGN (0x4) [!provide] PROVIDE (__fini_array_start = .) *(SORT_BY_NAME(.fini_array.*)) *(.fini_array*) - .fini_array 0x000000000800af20 0x4 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7-m/nofp/crtbegin.o + .fini_array 0x000000000800b770 0x4 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7-m/nofp/crtbegin.o [!provide] PROVIDE (__fini_array_end = .) - 0x000000000800af24 . = ALIGN (0x4) - 0x000000000800af24 _sidata = LOADADDR (.data) + 0x000000000800b774 . = ALIGN (0x4) + 0x000000000800b774 _sidata = LOADADDR (.data) -.data 0x0000000020000000 0x1d4 load address 0x000000000800af24 +.data 0x0000000020000000 0x1d4 load address 0x000000000800b774 0x0000000020000000 . = ALIGN (0x4) 0x0000000020000000 _sdata = . *(.data) @@ -6235,11 +6249,11 @@ LOAD C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.ext 0x00000000200001d4 . = ALIGN (0x4) 0x00000000200001d4 _edata = . -.igot.plt 0x00000000200001d4 0x0 load address 0x000000000800b0f8 +.igot.plt 0x00000000200001d4 0x0 load address 0x000000000800b948 .igot.plt 0x00000000200001d4 0x0 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7-m/nofp/crtbegin.o 0x00000000200001d4 . = ALIGN (0x4) -.bss 0x00000000200001d4 0x248c load address 0x000000000800b0f8 +.bss 0x00000000200001d4 0x24a0 load address 0x000000000800b948 0x00000000200001d4 _sbss = . 0x00000000200001d4 __bss_start__ = _sbss *(.bss) @@ -6287,59 +6301,68 @@ LOAD C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.ext .bss.keyboard_window 0x0000000020000404 0x4 ./SW_APPs/APP_KEYBOARD.o 0x0000000020000404 keyboard_window - .bss.fifo_red 0x0000000020000408 0x2 ./SW_APPs/APP_blood.o - 0x0000000020000408 fifo_red - .bss.fifo_ir 0x000000002000040a 0x2 ./SW_APPs/APP_blood.o - 0x000000002000040a fifo_ir - .bss.s1 0x000000002000040c 0x1080 ./SW_APPs/APP_blood.o - 0x000000002000040c s1 - .bss.s2 0x000000002000148c 0x1080 ./SW_APPs/APP_blood.o - 0x000000002000148c s2 + .bss.keyboard_char + 0x0000000020000408 0x10 ./SW_APPs/APP_KEYBOARD.o + 0x0000000020000408 keyboard_char + .bss.keyboard_char_int + 0x0000000020000418 0x1 ./SW_APPs/APP_KEYBOARD.o + 0x0000000020000418 keyboard_char_int + *fill* 0x0000000020000419 0x1 + .bss.fifo_red 0x000000002000041a 0x2 ./SW_APPs/APP_blood.o + 0x000000002000041a fifo_red + .bss.fifo_ir 0x000000002000041c 0x2 ./SW_APPs/APP_blood.o + 0x000000002000041c fifo_ir + *fill* 0x000000002000041e 0x2 + .bss.s1 0x0000000020000420 0x1080 ./SW_APPs/APP_blood.o + 0x0000000020000420 s1 + .bss.s2 0x00000000200014a0 0x1080 ./SW_APPs/APP_blood.o + 0x00000000200014a0 s2 .bss.get_data_flag - 0x000000002000250c 0x1 ./SW_APPs/APP_blood.o - 0x000000002000250c get_data_flag - *fill* 0x000000002000250d 0x1 + 0x0000000020002520 0x1 ./SW_APPs/APP_blood.o + 0x0000000020002520 get_data_flag + *fill* 0x0000000020002521 0x1 .bss.g_fft_index - 0x000000002000250e 0x2 ./SW_APPs/APP_blood.o - 0x000000002000250e g_fft_index + 0x0000000020002522 0x2 ./SW_APPs/APP_blood.o + 0x0000000020002522 g_fft_index .bss.colorcontrol_window - 0x0000000020002510 0x4 ./SW_APPs/APP_colorcontrol.o - 0x0000000020002510 colorcontrol_window + 0x0000000020002524 0x4 ./SW_APPs/APP_colorcontrol.o + 0x0000000020002524 colorcontrol_window .bss.__malloc_free_list - 0x0000000020002514 0x4 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mallocr.o) - 0x0000000020002514 __malloc_free_list + 0x0000000020002528 0x4 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mallocr.o) + 0x0000000020002528 __malloc_free_list .bss.__malloc_sbrk_start - 0x0000000020002518 0x4 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mallocr.o) - 0x0000000020002518 __malloc_sbrk_start - .bss.__sf 0x000000002000251c 0x138 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-findfp.o) - 0x000000002000251c __sf + 0x000000002000252c 0x4 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mallocr.o) + 0x000000002000252c __malloc_sbrk_start + .bss.__sf 0x0000000020002530 0x138 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-findfp.o) + 0x0000000020002530 __sf .bss.__stdio_exit_handler - 0x0000000020002654 0x4 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-findfp.o) - 0x0000000020002654 __stdio_exit_handler - .bss.errno 0x0000000020002658 0x4 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-reent.o) - 0x0000000020002658 errno + 0x0000000020002668 0x4 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-findfp.o) + 0x0000000020002668 __stdio_exit_handler + .bss.errno 0x000000002000266c 0x4 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-reent.o) + 0x000000002000266c errno .bss.__lock___malloc_recursive_mutex - 0x000000002000265c 0x1 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-lock.o) - 0x000000002000265c __lock___malloc_recursive_mutex + 0x0000000020002670 0x1 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-lock.o) + 0x0000000020002670 __lock___malloc_recursive_mutex .bss.__lock___sfp_recursive_mutex - 0x000000002000265d 0x1 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-lock.o) - 0x000000002000265d __lock___sfp_recursive_mutex + 0x0000000020002671 0x1 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-lock.o) + 0x0000000020002671 __lock___sfp_recursive_mutex *(COMMON) - 0x0000000020002660 . = ALIGN (0x4) - *fill* 0x000000002000265e 0x2 - 0x0000000020002660 _ebss = . - 0x0000000020002660 __bss_end__ = _ebss + 0x0000000020002674 . = ALIGN (0x4) + *fill* 0x0000000020002672 0x2 + 0x0000000020002674 _ebss = . + 0x0000000020002674 __bss_end__ = _ebss ._user_heap_stack - 0x0000000020002660 0xc00 load address 0x000000000800b0f8 - 0x0000000020002660 . = ALIGN (0x8) + 0x0000000020002674 0xc04 load address 0x000000000800b948 + 0x0000000020002678 . = ALIGN (0x8) + *fill* 0x0000000020002674 0x4 [!provide] PROVIDE (end = .) - 0x0000000020002660 PROVIDE (_end = .) - 0x0000000020002a60 . = (. + _Min_Heap_Size) - *fill* 0x0000000020002660 0x400 - 0x0000000020003260 . = (. + _Min_Stack_Size) - *fill* 0x0000000020002a60 0x800 - 0x0000000020003260 . = ALIGN (0x8) + 0x0000000020002678 PROVIDE (_end = .) + 0x0000000020002a78 . = (. + _Min_Heap_Size) + *fill* 0x0000000020002678 0x400 + 0x0000000020003278 . = (. + _Min_Stack_Size) + *fill* 0x0000000020002a78 0x800 + 0x0000000020003278 . = ALIGN (0x8) /DISCARD/ libc.a(*) @@ -6564,7 +6587,7 @@ LOAD C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.ext .comment 0x0000000000000043 0x44 ./SW_APPs/Main_APP.o .comment 0x0000000000000043 0x44 ./SW_APPs/windows.o -.debug_info 0x0000000000000000 0x12b81 +.debug_info 0x0000000000000000 0x12d2d .debug_info 0x0000000000000000 0x1838 ./Core/Src/main.o .debug_info 0x0000000000001838 0x13fb ./Core/Src/stm32f1xx_hal_msp.o .debug_info 0x0000000000002c33 0x6bb ./Core/Src/stm32f1xx_it.o @@ -6588,13 +6611,13 @@ LOAD C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.ext .debug_info 0x000000000000f85f 0x6b3 ./HW_Devices/iic.o .debug_info 0x000000000000ff12 0x16e ./HW_Devices/key.o .debug_info 0x0000000000010080 0x764 ./HW_Devices/touch.o - .debug_info 0x00000000000107e4 0x19e ./SW_APPs/APP_KEYBOARD.o - .debug_info 0x0000000000010982 0xea2 ./SW_APPs/APP_blood.o - .debug_info 0x0000000000011824 0x157 ./SW_APPs/APP_colorcontrol.o - .debug_info 0x000000000001197b 0xa99 ./SW_APPs/Main_APP.o - .debug_info 0x0000000000012414 0x76d ./SW_APPs/windows.o + .debug_info 0x00000000000107e4 0x2b1 ./SW_APPs/APP_KEYBOARD.o + .debug_info 0x0000000000010a95 0xec9 ./SW_APPs/APP_blood.o + .debug_info 0x000000000001195e 0x17b ./SW_APPs/APP_colorcontrol.o + .debug_info 0x0000000000011ad9 0xac0 ./SW_APPs/Main_APP.o + .debug_info 0x0000000000012599 0x794 ./SW_APPs/windows.o -.debug_abbrev 0x0000000000000000 0x377a +.debug_abbrev 0x0000000000000000 0x3810 .debug_abbrev 0x0000000000000000 0x391 ./Core/Src/main.o .debug_abbrev 0x0000000000000391 0x248 ./Core/Src/stm32f1xx_hal_msp.o .debug_abbrev 0x00000000000005d9 0x193 ./Core/Src/stm32f1xx_it.o @@ -6618,13 +6641,13 @@ LOAD C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.ext .debug_abbrev 0x0000000000002856 0x16e ./HW_Devices/iic.o .debug_abbrev 0x00000000000029c4 0xd0 ./HW_Devices/key.o .debug_abbrev 0x0000000000002a94 0x266 ./HW_Devices/touch.o - .debug_abbrev 0x0000000000002cfa 0xfb ./SW_APPs/APP_KEYBOARD.o - .debug_abbrev 0x0000000000002df5 0x36e ./SW_APPs/APP_blood.o - .debug_abbrev 0x0000000000003163 0xde ./SW_APPs/APP_colorcontrol.o - .debug_abbrev 0x0000000000003241 0x26b ./SW_APPs/Main_APP.o - .debug_abbrev 0x00000000000034ac 0x2ce ./SW_APPs/windows.o + .debug_abbrev 0x0000000000002cfa 0x191 ./SW_APPs/APP_KEYBOARD.o + .debug_abbrev 0x0000000000002e8b 0x36e ./SW_APPs/APP_blood.o + .debug_abbrev 0x00000000000031f9 0xde ./SW_APPs/APP_colorcontrol.o + .debug_abbrev 0x00000000000032d7 0x26b ./SW_APPs/Main_APP.o + .debug_abbrev 0x0000000000003542 0x2ce ./SW_APPs/windows.o -.debug_aranges 0x0000000000000000 0x1390 +.debug_aranges 0x0000000000000000 0x13a0 .debug_aranges 0x0000000000000000 0x70 ./Core/Src/main.o .debug_aranges @@ -6672,18 +6695,18 @@ LOAD C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.ext .debug_aranges 0x00000000000011c0 0x60 ./HW_Devices/touch.o .debug_aranges - 0x0000000000001220 0x28 ./SW_APPs/APP_KEYBOARD.o + 0x0000000000001220 0x38 ./SW_APPs/APP_KEYBOARD.o .debug_aranges - 0x0000000000001248 0x90 ./SW_APPs/APP_blood.o + 0x0000000000001258 0x90 ./SW_APPs/APP_blood.o .debug_aranges - 0x00000000000012d8 0x28 ./SW_APPs/APP_colorcontrol.o + 0x00000000000012e8 0x28 ./SW_APPs/APP_colorcontrol.o .debug_aranges - 0x0000000000001300 0x20 ./SW_APPs/Main_APP.o + 0x0000000000001310 0x20 ./SW_APPs/Main_APP.o .debug_aranges - 0x0000000000001320 0x70 ./SW_APPs/windows.o + 0x0000000000001330 0x70 ./SW_APPs/windows.o .debug_rnglists - 0x0000000000000000 0xf2f + 0x0000000000000000 0xf3d .debug_rnglists 0x0000000000000000 0x53 ./Core/Src/main.o .debug_rnglists @@ -6731,17 +6754,17 @@ LOAD C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.ext .debug_rnglists 0x0000000000000dda 0x4a ./HW_Devices/touch.o .debug_rnglists - 0x0000000000000e24 0x19 ./SW_APPs/APP_KEYBOARD.o + 0x0000000000000e24 0x27 ./SW_APPs/APP_KEYBOARD.o .debug_rnglists - 0x0000000000000e3d 0x70 ./SW_APPs/APP_blood.o + 0x0000000000000e4b 0x70 ./SW_APPs/APP_blood.o .debug_rnglists - 0x0000000000000ead 0x19 ./SW_APPs/APP_colorcontrol.o + 0x0000000000000ebb 0x19 ./SW_APPs/APP_colorcontrol.o .debug_rnglists - 0x0000000000000ec6 0x14 ./SW_APPs/Main_APP.o + 0x0000000000000ed4 0x14 ./SW_APPs/Main_APP.o .debug_rnglists - 0x0000000000000eda 0x55 ./SW_APPs/windows.o + 0x0000000000000ee8 0x55 ./SW_APPs/windows.o -.debug_macro 0x0000000000000000 0x1dcbd +.debug_macro 0x0000000000000000 0x1dce1 .debug_macro 0x0000000000000000 0x2b8 ./Core/Src/main.o .debug_macro 0x00000000000002b8 0xa9c ./Core/Src/main.o .debug_macro 0x0000000000000d54 0x227 ./Core/Src/main.o @@ -6855,18 +6878,18 @@ LOAD C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.ext .debug_macro 0x000000000001c78e 0x22 ./HW_Devices/touch.o .debug_macro 0x000000000001c7b0 0x391 ./HW_Devices/touch.o .debug_macro 0x000000000001cb41 0x10 ./HW_Devices/touch.o - .debug_macro 0x000000000001cb51 0x2cb ./SW_APPs/APP_KEYBOARD.o - .debug_macro 0x000000000001ce1c 0x31a ./SW_APPs/APP_blood.o - .debug_macro 0x000000000001d136 0x19b ./SW_APPs/APP_blood.o - .debug_macro 0x000000000001d2d1 0x56 ./SW_APPs/APP_blood.o - .debug_macro 0x000000000001d327 0x1c ./SW_APPs/APP_blood.o - .debug_macro 0x000000000001d343 0x9a ./SW_APPs/APP_blood.o - .debug_macro 0x000000000001d3dd 0x2cb ./SW_APPs/APP_colorcontrol.o - .debug_macro 0x000000000001d6a8 0x30e ./SW_APPs/Main_APP.o - .debug_macro 0x000000000001d9b6 0x28 ./SW_APPs/Main_APP.o - .debug_macro 0x000000000001d9de 0x2df ./SW_APPs/windows.o + .debug_macro 0x000000000001cb51 0x2d4 ./SW_APPs/APP_KEYBOARD.o + .debug_macro 0x000000000001ce25 0x323 ./SW_APPs/APP_blood.o + .debug_macro 0x000000000001d148 0x19b ./SW_APPs/APP_blood.o + .debug_macro 0x000000000001d2e3 0x56 ./SW_APPs/APP_blood.o + .debug_macro 0x000000000001d339 0x1c ./SW_APPs/APP_blood.o + .debug_macro 0x000000000001d355 0x9a ./SW_APPs/APP_blood.o + .debug_macro 0x000000000001d3ef 0x2d4 ./SW_APPs/APP_colorcontrol.o + .debug_macro 0x000000000001d6c3 0x30e ./SW_APPs/Main_APP.o + .debug_macro 0x000000000001d9d1 0x28 ./SW_APPs/Main_APP.o + .debug_macro 0x000000000001d9f9 0x2e8 ./SW_APPs/windows.o -.debug_line 0x0000000000000000 0x1a420 +.debug_line 0x0000000000000000 0x1ab20 .debug_line 0x0000000000000000 0xc0e ./Core/Src/main.o .debug_line 0x0000000000000c0e 0xa72 ./Core/Src/stm32f1xx_hal_msp.o .debug_line 0x0000000000001680 0x98f ./Core/Src/stm32f1xx_it.o @@ -6890,13 +6913,13 @@ LOAD C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.ext .debug_line 0x000000000001494b 0x8af ./HW_Devices/iic.o .debug_line 0x00000000000151fa 0x8f0 ./HW_Devices/key.o .debug_line 0x0000000000015aea 0xcfc ./HW_Devices/touch.o - .debug_line 0x00000000000167e6 0x90d ./SW_APPs/APP_KEYBOARD.o - .debug_line 0x00000000000170f3 0x120e ./SW_APPs/APP_blood.o - .debug_line 0x0000000000018301 0x8f9 ./SW_APPs/APP_colorcontrol.o - .debug_line 0x0000000000018bfa 0x9ab ./SW_APPs/Main_APP.o - .debug_line 0x00000000000195a5 0xe7b ./SW_APPs/windows.o + .debug_line 0x00000000000167e6 0xfe5 ./SW_APPs/APP_KEYBOARD.o + .debug_line 0x00000000000177cb 0x1217 ./SW_APPs/APP_blood.o + .debug_line 0x00000000000189e2 0x902 ./SW_APPs/APP_colorcontrol.o + .debug_line 0x00000000000192e4 0x9ab ./SW_APPs/Main_APP.o + .debug_line 0x0000000000019c8f 0xe91 ./SW_APPs/windows.o -.debug_str 0x0000000000000000 0xa0b0a +.debug_str 0x0000000000000000 0xa0b65 .debug_str 0x0000000000000000 0x98f85 ./Core/Src/main.o 0x9952a (size before relaxing) .debug_str 0x0000000000098f85 0x479 ./Core/Src/stm32f1xx_hal_msp.o @@ -6943,18 +6966,18 @@ LOAD C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.ext 0x98560 (size before relaxing) .debug_str 0x000000000009f90c 0x282 ./HW_Devices/touch.o 0x98e0c (size before relaxing) - .debug_str 0x000000000009fb8e 0x9f ./SW_APPs/APP_KEYBOARD.o - 0x98b20 (size before relaxing) - .debug_str 0x000000000009fc2d 0xcbd ./SW_APPs/APP_blood.o - 0x99d8d (size before relaxing) - .debug_str 0x00000000000a08ea 0x71 ./SW_APPs/APP_colorcontrol.o - 0x98b0f (size before relaxing) - .debug_str 0x00000000000a095b 0xa2 ./SW_APPs/Main_APP.o - 0x993d2 (size before relaxing) - .debug_str 0x00000000000a09fd 0x10d ./SW_APPs/windows.o - 0x98df8 (size before relaxing) + .debug_str 0x000000000009fb8e 0xfa ./SW_APPs/APP_KEYBOARD.o + 0x98c59 (size before relaxing) + .debug_str 0x000000000009fc88 0xcbd ./SW_APPs/APP_blood.o + 0x99e70 (size before relaxing) + .debug_str 0x00000000000a0945 0x71 ./SW_APPs/APP_colorcontrol.o + 0x98bf2 (size before relaxing) + .debug_str 0x00000000000a09b6 0xa2 ./SW_APPs/Main_APP.o + 0x993ed (size before relaxing) + .debug_str 0x00000000000a0a58 0x10d ./SW_APPs/windows.o + 0x98edb (size before relaxing) -.debug_frame 0x0000000000000000 0x62dc +.debug_frame 0x0000000000000000 0x6330 .debug_frame 0x0000000000000000 0x17c ./Core/Src/main.o .debug_frame 0x000000000000017c 0x1bc ./Core/Src/stm32f1xx_hal_msp.o .debug_frame 0x0000000000000338 0x13c ./Core/Src/stm32f1xx_it.o @@ -6977,66 +7000,66 @@ LOAD C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.ext .debug_frame 0x0000000000004940 0x58 ./HW_Devices/iic.o .debug_frame 0x0000000000004998 0x34 ./HW_Devices/key.o .debug_frame 0x00000000000049cc 0x164 ./HW_Devices/touch.o - .debug_frame 0x0000000000004b30 0x5c ./SW_APPs/APP_KEYBOARD.o - .debug_frame 0x0000000000004b8c 0x260 ./SW_APPs/APP_blood.o - .debug_frame 0x0000000000004dec 0x58 ./SW_APPs/APP_colorcontrol.o - .debug_frame 0x0000000000004e44 0x30 ./SW_APPs/Main_APP.o - .debug_frame 0x0000000000004e74 0x1b4 ./SW_APPs/windows.o - .debug_frame 0x0000000000005028 0x30 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-malloc.o) - .debug_frame 0x0000000000005058 0x50 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mallocr.o) - .debug_frame 0x00000000000050a8 0x30 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mlock.o) - .debug_frame 0x00000000000050d8 0x94 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-nano-vfprintf_float.o) - .debug_frame 0x000000000000516c 0x60 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-nano-vfprintf_i.o) - .debug_frame 0x00000000000051cc 0x144 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-findfp.o) - .debug_frame 0x0000000000005310 0x34 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-fwalk.o) - .debug_frame 0x0000000000005344 0x6c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-sprintf.o) - .debug_frame 0x00000000000053b0 0x88 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-stdio.o) - .debug_frame 0x0000000000005438 0x40 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-wbuf.o) - .debug_frame 0x0000000000005478 0x2c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-wsetup.o) - .debug_frame 0x00000000000054a4 0x20 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-memset.o) - .debug_frame 0x00000000000054c4 0x40 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-localeconv.o) - .debug_frame 0x0000000000005504 0x2c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-closer.o) - .debug_frame 0x0000000000005530 0x38 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-reent.o) - .debug_frame 0x0000000000005568 0x2c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-lseekr.o) - .debug_frame 0x0000000000005594 0x2c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-readr.o) - .debug_frame 0x00000000000055c0 0x2c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-sbrkr.o) - .debug_frame 0x00000000000055ec 0x2c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-writer.o) - .debug_frame 0x0000000000005618 0x20 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-errno.o) - .debug_frame 0x0000000000005638 0x2c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-init.o) - .debug_frame 0x0000000000005664 0xb0 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-lock.o) - .debug_frame 0x0000000000005714 0x28 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-memchr-stub.o) - .debug_frame 0x000000000000573c 0x6c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-dtoa.o) - .debug_frame 0x00000000000057a8 0x38 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-freer.o) - .debug_frame 0x00000000000057e0 0x24c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mprec.o) - .debug_frame 0x0000000000005a2c 0x90 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-nano-svfprintf.o) - .debug_frame 0x0000000000005abc 0xa8 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-nano-vfprintf.o) - .debug_frame 0x0000000000005b64 0x5c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-fflush.o) - .debug_frame 0x0000000000005bc0 0x58 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-makebuf.o) - .debug_frame 0x0000000000005c18 0x28 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-memmove.o) - .debug_frame 0x0000000000005c40 0x48 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-locale.o) - .debug_frame 0x0000000000005c88 0x2c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-fstatr.o) - .debug_frame 0x0000000000005cb4 0x2c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-isattyr.o) - .debug_frame 0x0000000000005ce0 0x28 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-memcpy-stub.o) - .debug_frame 0x0000000000005d08 0x40 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-assert.o) - .debug_frame 0x0000000000005d48 0x2c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-callocr.o) - .debug_frame 0x0000000000005d74 0x48 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mbtowc_r.o) - .debug_frame 0x0000000000005dbc 0x3c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-reallocr.o) - .debug_frame 0x0000000000005df8 0x3c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-wctomb_r.o) - .debug_frame 0x0000000000005e34 0x64 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-fprintf.o) - .debug_frame 0x0000000000005e98 0x28 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-abort.o) - .debug_frame 0x0000000000005ec0 0x20 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-msizer.o) - .debug_frame 0x0000000000005ee0 0xcc C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-signal.o) - .debug_frame 0x0000000000005fac 0x3c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-signalr.o) - .debug_frame 0x0000000000005fe8 0xac C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7-m/nofp\libgcc.a(_arm_addsubdf3.o) - .debug_frame 0x0000000000006094 0x50 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7-m/nofp\libgcc.a(_arm_muldivdf3.o) - .debug_frame 0x00000000000060e4 0xc4 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7-m/nofp\libgcc.a(_arm_cmpdf2.o) - .debug_frame 0x00000000000061a8 0x20 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7-m/nofp\libgcc.a(_arm_unorddf2.o) - .debug_frame 0x00000000000061c8 0x24 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7-m/nofp\libgcc.a(_arm_fixdfsi.o) - .debug_frame 0x00000000000061ec 0x24 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7-m/nofp\libgcc.a(_arm_truncdfsf2.o) - .debug_frame 0x0000000000006210 0x4c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7-m/nofp\libgcc.a(_arm_addsubsf3.o) - .debug_frame 0x000000000000625c 0x38 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7-m/nofp\libgcc.a(_arm_muldivsf3.o) - .debug_frame 0x0000000000006294 0x24 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7-m/nofp\libgcc.a(_arm_fixsfsi.o) - .debug_frame 0x00000000000062b8 0x24 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7-m/nofp\libgcc.a(_arm_fixunssfsi.o) + .debug_frame 0x0000000000004b30 0xb0 ./SW_APPs/APP_KEYBOARD.o + .debug_frame 0x0000000000004be0 0x260 ./SW_APPs/APP_blood.o + .debug_frame 0x0000000000004e40 0x58 ./SW_APPs/APP_colorcontrol.o + .debug_frame 0x0000000000004e98 0x30 ./SW_APPs/Main_APP.o + .debug_frame 0x0000000000004ec8 0x1b4 ./SW_APPs/windows.o + .debug_frame 0x000000000000507c 0x30 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-malloc.o) + .debug_frame 0x00000000000050ac 0x50 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mallocr.o) + .debug_frame 0x00000000000050fc 0x30 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mlock.o) + .debug_frame 0x000000000000512c 0x94 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-nano-vfprintf_float.o) + .debug_frame 0x00000000000051c0 0x60 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-nano-vfprintf_i.o) + .debug_frame 0x0000000000005220 0x144 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-findfp.o) + .debug_frame 0x0000000000005364 0x34 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-fwalk.o) + .debug_frame 0x0000000000005398 0x6c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-sprintf.o) + .debug_frame 0x0000000000005404 0x88 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-stdio.o) + .debug_frame 0x000000000000548c 0x40 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-wbuf.o) + .debug_frame 0x00000000000054cc 0x2c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-wsetup.o) + .debug_frame 0x00000000000054f8 0x20 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-memset.o) + .debug_frame 0x0000000000005518 0x40 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-localeconv.o) + .debug_frame 0x0000000000005558 0x2c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-closer.o) + .debug_frame 0x0000000000005584 0x38 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-reent.o) + .debug_frame 0x00000000000055bc 0x2c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-lseekr.o) + .debug_frame 0x00000000000055e8 0x2c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-readr.o) + .debug_frame 0x0000000000005614 0x2c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-sbrkr.o) + .debug_frame 0x0000000000005640 0x2c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-writer.o) + .debug_frame 0x000000000000566c 0x20 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-errno.o) + .debug_frame 0x000000000000568c 0x2c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-init.o) + .debug_frame 0x00000000000056b8 0xb0 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-lock.o) + .debug_frame 0x0000000000005768 0x28 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-memchr-stub.o) + .debug_frame 0x0000000000005790 0x6c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-dtoa.o) + .debug_frame 0x00000000000057fc 0x38 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-freer.o) + .debug_frame 0x0000000000005834 0x24c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mprec.o) + .debug_frame 0x0000000000005a80 0x90 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-nano-svfprintf.o) + .debug_frame 0x0000000000005b10 0xa8 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-nano-vfprintf.o) + .debug_frame 0x0000000000005bb8 0x5c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-fflush.o) + .debug_frame 0x0000000000005c14 0x58 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-makebuf.o) + .debug_frame 0x0000000000005c6c 0x28 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-memmove.o) + .debug_frame 0x0000000000005c94 0x48 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-locale.o) + .debug_frame 0x0000000000005cdc 0x2c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-fstatr.o) + .debug_frame 0x0000000000005d08 0x2c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-isattyr.o) + .debug_frame 0x0000000000005d34 0x28 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-memcpy-stub.o) + .debug_frame 0x0000000000005d5c 0x40 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-assert.o) + .debug_frame 0x0000000000005d9c 0x2c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-callocr.o) + .debug_frame 0x0000000000005dc8 0x48 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-mbtowc_r.o) + .debug_frame 0x0000000000005e10 0x3c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-reallocr.o) + .debug_frame 0x0000000000005e4c 0x3c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-wctomb_r.o) + .debug_frame 0x0000000000005e88 0x64 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-fprintf.o) + .debug_frame 0x0000000000005eec 0x28 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-abort.o) + .debug_frame 0x0000000000005f14 0x20 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-msizer.o) + .debug_frame 0x0000000000005f34 0xcc C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-signal.o) + .debug_frame 0x0000000000006000 0x3c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp\libc_nano.a(libc_a-signalr.o) + .debug_frame 0x000000000000603c 0xac C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7-m/nofp\libgcc.a(_arm_addsubdf3.o) + .debug_frame 0x00000000000060e8 0x50 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7-m/nofp\libgcc.a(_arm_muldivdf3.o) + .debug_frame 0x0000000000006138 0xc4 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7-m/nofp\libgcc.a(_arm_cmpdf2.o) + .debug_frame 0x00000000000061fc 0x20 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7-m/nofp\libgcc.a(_arm_unorddf2.o) + .debug_frame 0x000000000000621c 0x24 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7-m/nofp\libgcc.a(_arm_fixdfsi.o) + .debug_frame 0x0000000000006240 0x24 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7-m/nofp\libgcc.a(_arm_truncdfsf2.o) + .debug_frame 0x0000000000006264 0x4c C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7-m/nofp\libgcc.a(_arm_addsubsf3.o) + .debug_frame 0x00000000000062b0 0x38 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7-m/nofp\libgcc.a(_arm_muldivsf3.o) + .debug_frame 0x00000000000062e8 0x24 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7-m/nofp\libgcc.a(_arm_fixsfsi.o) + .debug_frame 0x000000000000630c 0x24 C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.100.202309141235/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/thumb/v7-m/nofp\libgcc.a(_arm_fixunssfsi.o) .debug_line_str 0x0000000000000000 0x47 diff --git a/SW_APPs/APP_KEYBOARD.c b/SW_APPs/APP_KEYBOARD.c index 434f90a..2e29b57 100644 --- a/SW_APPs/APP_KEYBOARD.c +++ b/SW_APPs/APP_KEYBOARD.c @@ -12,21 +12,176 @@ window *keyboard_window; void APP_KEYBOARD_init(window *a_window) { keyboard_window=a_window; + keyboard_window->high=146; + keyboard_window->width=180; } +void down_one_key(int x,int y,char v) +{ + LCD_Fill(x,y,x+30,y+30,GRAY); + LCD_ShowChar(x+8,y+8,v,16,GRAY,WHITE); +} + +char getkeyboardv(int x,int y) +{ + + if(x>keyboard_window->x+2&&xx+2+32&&y>keyboard_window->y+17&&yy+17+32) + { + return '0'; + } + + if(x>keyboard_window->x+34&&xx+34+32&&y>keyboard_window->y+17&&yy+17+32) + { + return '1'; + } + + + if(x>keyboard_window->x+66&&xx+66+32&&y>keyboard_window->y+17&&yy+17+32) + { + return '2'; + } + + + if(x>keyboard_window->x+98&&xx+98+32&&y>keyboard_window->y+17&&yy+17+32) + { + return '3'; + } + if(x>keyboard_window->x+2&&xx+2+32&&y>keyboard_window->y+49&&yy+49+32) + { + return '4'; + } + + if(x>keyboard_window->x+34&&xx+34+32&&y>keyboard_window->y+49&&yy+49+32) + { + return '5'; + } + + + if(x>keyboard_window->x+66&&xx+66+32&&y>keyboard_window->y+49&&yy+49+32) + { + return '6'; + } + + + if(x>keyboard_window->x+98&&xx+98+32&&y>keyboard_window->y+49&&yy+49+32) + { + return '7'; + } + + + + if(x>keyboard_window->x+2&&xx+2+32&&y>keyboard_window->y+81&&yy+81+32) + { + return '8'; + } + + if(x>keyboard_window->x+34&&xx+34+32&&y>keyboard_window->y+81&&yy+81+32) + { + return '9'; + } + + + if(x>keyboard_window->x+66&&xx+66+32&&y>keyboard_window->y+81&&yy+81+32) + { + return 'A'; + } + + + if(x>keyboard_window->x+98&&xx+98+32&&y>keyboard_window->y+81&&yy+81+32) + { + return 'B'; + } + + + + if(x>keyboard_window->x+2&&xx+2+32&&y>keyboard_window->y+113&&yy+113+32) + { + return 'C'; + } + + if(x>keyboard_window->x+34&&xx+34+32&&y>keyboard_window->y+113&&yy+113+32) + { + return 'D'; + } + + + if(x>keyboard_window->x+66&&xx+66+32&&y>keyboard_window->y+113&&yy+113+32) + { + return 'E'; + } + + + if(x>keyboard_window->x+98&&xx+98+32&&y>keyboard_window->y+113&&yy+113+32) + { + return 'F'; + } + + if(x>keyboard_window->x+140&&xx+140+32&&y>keyboard_window->y+81&&yy+81+32) + { + return '<'; + } + if(x>keyboard_window->x+140&&xx+140+32&&y>keyboard_window->y+113&&yy+113+32) + { + return 'X'; + } + return 0; +} + +char keyboard_char[16]={0}; +char keyboard_char_int=0; void APP_KEYBOARD_loop() { + //sprintf(keyboard_char,"%d",keyboard_window->touch_flag); + LCD_ShowString(keyboard_window->x+130,keyboard_window->y+17,keyboard_char,16,GRAY,WHITE); + if(keyboard_window->touch_flag==1) + { + keyboard_window->touch_flag=0; + char tempv=getkeyboardv(keyboard_window->touch_x,keyboard_window->touch_y); + + switch(tempv) + { + case '<': + if(keyboard_char_int>0) + { + keyboard_char[keyboard_char_int]='\0'; + keyboard_char_int-=1; + keyboard_char[keyboard_char_int]='\0'; + } + break; + case 'X': + keyboard_char_int=0; + keyboard_char[keyboard_char_int]='\0'; + break; + default : + keyboard_char[keyboard_char_int]=tempv; + keyboard_char_int+=1; + keyboard_char[keyboard_char_int]='\0'; + break; + + } + + + + + + } if(keyboard_window->refresh_windows_flag) { keyboard_window->refresh_windows_flag--; //refresh_windows - LCD_ShowString(keyboard_window->x,keyboard_window->y+16,"test",16,CYAN,RED); + //LCD_ShowString(keyboard_window->x,keyboard_window->y+16,"test",16,CYAN,RED); + down_one_key(keyboard_window->x+2,keyboard_window->y+17,'0'); down_one_key(keyboard_window->x+34,keyboard_window->y+17,'1'); down_one_key(keyboard_window->x+66,keyboard_window->y+17,'2'); down_one_key(keyboard_window->x+98,keyboard_window->y+17,'3'); + down_one_key(keyboard_window->x+2,keyboard_window->y+49,'4'); down_one_key(keyboard_window->x+34,keyboard_window->y+49,'5'); down_one_key(keyboard_window->x+66,keyboard_window->y+49,'6'); down_one_key(keyboard_window->x+98,keyboard_window->y+49,'7'); + down_one_key(keyboard_window->x+2,keyboard_window->y+81,'8'); down_one_key(keyboard_window->x+34,keyboard_window->y+81,'9'); down_one_key(keyboard_window->x+66,keyboard_window->y+81,'A'); down_one_key(keyboard_window->x+98,keyboard_window->y+81,'B'); + down_one_key(keyboard_window->x+2,keyboard_window->y+113,'C'); down_one_key(keyboard_window->x+34,keyboard_window->y+113,'D'); down_one_key(keyboard_window->x+66,keyboard_window->y+113,'E'); down_one_key(keyboard_window->x+98,keyboard_window->y+113,'F'); + down_one_key(keyboard_window->x+140,keyboard_window->y+81,'<'); + down_one_key(keyboard_window->x+140,keyboard_window->y+113,'X'); } } diff --git a/SW_APPs/windows.c b/SW_APPs/windows.c index dc5111d..88a04ea 100644 --- a/SW_APPs/windows.c +++ b/SW_APPs/windows.c @@ -76,6 +76,7 @@ window *New_Window(UI *ui,uint16_t x,uint16_t y,uint16_t width,uint16_t high,COL temp_window->x=x; temp_window->y=y; temp_window->refresh_windows_flag=2; + temp_window->touch_flag=0; for(int a=0;a<16;a++) { temp_window->title[a]=title[a]; @@ -371,6 +372,10 @@ void UI_Server(UI *ui) hit_flag=Chack(temp_window,t_x,t_y); //检查触摸是否命中 直接返回命中窗口的位置 if(hit_flag) // 命中继续 { + + temp_window->touch_flag=1; + temp_window->touch_x=t_x; + temp_window->touch_y=t_y; if(temp_windows_stack!=ui->last_windows) //检查是否最前端的窗口 如果不是就放最前面 { if(temp_windows_stack!=ui->windows) //检查是否最后端的窗口 因为显示是从最后端往前显示的 所以ui有最后端窗口的入口 @@ -387,6 +392,7 @@ void UI_Server(UI *ui) ui->last_windows->next=temp_windows_stack; //原来的最后一个指向现在的最后一个 ui->last_windows=temp_windows_stack; //更新ui中的最后一个的入口 ui->refresh_ui_flag=1; //发生了变化 刷新ui的显示 + temp_window->refresh_windows_flag=1; } //检查标中窗口的什么位置 @@ -410,6 +416,10 @@ void UI_Server(UI *ui) flag=0; //结束扫描 防止穿透当前窗口 + }else + { + + } temp_windows_stack=temp_windows_stack->up; //往前扫描 }else diff --git a/SW_APPs/windows.h b/SW_APPs/windows.h index ac2f9c9..9d03afc 100644 --- a/SW_APPs/windows.h +++ b/SW_APPs/windows.h @@ -9,6 +9,7 @@ #define WINDOWS_H_ #include "main.h" #include "lcd.h" +#include "key.h" typedef struct { @@ -19,6 +20,9 @@ typedef struct COLOR_16 background; char title[16]; uint8_t refresh_windows_flag; + char touch_flag; + int touch_x; + int touch_y; }window;