diff --git a/.gitignore b/.gitignore index 9cc12dd7746f87ace2b3fcb86d92e2329e3f6488..230be3e13389f4a63d13d50e0371eabaa3bfadea 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +*.cmd *.cbTemp *.jpg *.JPG diff --git a/stm32/include/KJ2016Tempo.h b/stm32/include/KJ2016Tempo.h new file mode 100644 index 0000000000000000000000000000000000000000..f30d62be20cb3d4fb2f5d745341a099dd4b350e8 --- /dev/null +++ b/stm32/include/KJ2016Tempo.h @@ -0,0 +1,36 @@ +#ifndef KJ2016TEMPO_H +#define KJ2016TEMPO_H + +/** + * @brief Runs the strategy for Krabi Junior 2016 + * + * No odometry or feedback this year on this bot. It's fully temporised and driven by continuous servos. + */ +class KJ2016Tempo +{ + unsigned int LEFT_SERVO_ID; + unsigned int RIGHT_SERVO_ID; + + public: + /** + * @brief Runs the strategy + */ + static void run(bool isYellow); + + ~KJ2016Tempo(); + + private: + + void enginesStart(); + void enginesStop(); + + void turn90(bool toLeft); + + void move(int distance); + + void wasteTime(unsigned int time); + + KJ2016Tempo(unsigned int leftServoID, unsigned int rightServoID); +}; + +#endif // KJ2016TEMPO_H diff --git a/stm32/include/initKrabiJunior.h b/stm32/include/initKrabiJunior.h index 66365c10e69a7f7d5e97972290b5c767cfb45dfc..4903bd7dc545e46e5e03b6fca95a3f19e0293b22 100644 --- a/stm32/include/initKrabiJunior.h +++ b/stm32/include/initKrabiJunior.h @@ -21,9 +21,9 @@ public: // Mettez toutes vos initialisations de PIN dans la fonction "initialisation" // On l'appellera ensuite dans le main au tout début pour tout initialiser d'un coup virtual void initGPIO(); - + void initRotaryEncoders(); - + virtual void initActionneurs(); }; diff --git a/stm32/main.list b/stm32/main.list deleted file mode 100644 index d28238e99393a6b8e0779eceed95a295aaccea1d..0000000000000000000000000000000000000000 --- a/stm32/main.list +++ /dev/null @@ -1,87781 +0,0 @@ - -main.out: file format elf32-littlearm - - -Disassembly of section .text: - -08008000 : - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - 8008000: b580 push {r7, lr} - 8008002: af00 add r7, sp, #0 - #if (__FPU_PRESENT == 1) && (__FPU_USED == 1) - SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2)); /* set CP10 and CP11 Full Access */ - #endif - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - 8008004: 4a13 ldr r2, [pc, #76] (8008054 ) - 8008006: 4b13 ldr r3, [pc, #76] (8008054 ) - 8008008: 681b ldr r3, [r3, #0] - 800800a: f043 0301 orr.w r3, r3, #1 ; 0x1 - 800800e: 6013 str r3, [r2, #0] - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - 8008010: 4a10 ldr r2, [pc, #64] (8008054 ) - 8008012: f04f 0300 mov.w r3, #0 ; 0x0 - 8008016: 6093 str r3, [r2, #8] - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - 8008018: 4a0e ldr r2, [pc, #56] (8008054 ) - 800801a: 4b0e ldr r3, [pc, #56] (8008054 ) - 800801c: 681b ldr r3, [r3, #0] - 800801e: f023 7384 bic.w r3, r3, #17301504 ; 0x1080000 - 8008022: f423 3380 bic.w r3, r3, #65536 ; 0x10000 - 8008026: 6013 str r3, [r2, #0] - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - 8008028: 4a0a ldr r2, [pc, #40] (8008054 ) - 800802a: 4b0b ldr r3, [pc, #44] (8008058 ) - 800802c: 6053 str r3, [r2, #4] - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - 800802e: 4a09 ldr r2, [pc, #36] (8008054 ) - 8008030: 4b08 ldr r3, [pc, #32] (8008054 ) - 8008032: 681b ldr r3, [r3, #0] - 8008034: f423 2380 bic.w r3, r3, #262144 ; 0x40000 - 8008038: 6013 str r3, [r2, #0] - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - 800803a: 4a06 ldr r2, [pc, #24] (8008054 ) - 800803c: f04f 0300 mov.w r3, #0 ; 0x0 - 8008040: 60d3 str r3, [r2, #12] - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - 8008042: f000 f89b bl 800817c - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ - 8008046: 4a05 ldr r2, [pc, #20] (800805c ) - 8008048: f04f 6300 mov.w r3, #134217728 ; 0x8000000 - 800804c: 6093 str r3, [r2, #8] -#endif -} - 800804e: 46bd mov sp, r7 - 8008050: bd80 pop {r7, pc} - 8008052: 46c0 nop (mov r8, r8) - 8008054: 40023800 .word 0x40023800 - 8008058: 24003010 .word 0x24003010 - 800805c: e000ed00 .word 0xe000ed00 - -08008060 : - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - 8008060: b480 push {r7} - 8008062: b089 sub sp, #36 - 8008064: af00 add r7, sp, #0 - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - 8008066: f04f 0300 mov.w r3, #0 ; 0x0 - 800806a: 60fb str r3, [r7, #12] - 800806c: f04f 0300 mov.w r3, #0 ; 0x0 - 8008070: 613b str r3, [r7, #16] - 8008072: f04f 0302 mov.w r3, #2 ; 0x2 - 8008076: 617b str r3, [r7, #20] - 8008078: f04f 0300 mov.w r3, #0 ; 0x0 - 800807c: 61bb str r3, [r7, #24] - 800807e: f04f 0302 mov.w r3, #2 ; 0x2 - 8008082: 61fb str r3, [r7, #28] - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - 8008084: 4b38 ldr r3, [pc, #224] (8008168 ) - 8008086: 689b ldr r3, [r3, #8] - 8008088: f003 030c and.w r3, r3, #12 ; 0xc - 800808c: 60fb str r3, [r7, #12] - - switch (tmp) - 800808e: 68fb ldr r3, [r7, #12] - 8008090: 607b str r3, [r7, #4] - 8008092: 687b ldr r3, [r7, #4] - 8008094: 2b04 cmp r3, #4 - 8008096: d009 beq.n 80080ac - 8008098: 687b ldr r3, [r7, #4] - 800809a: 2b08 cmp r3, #8 - 800809c: d00a beq.n 80080b4 - 800809e: 687b ldr r3, [r7, #4] - 80080a0: 2b00 cmp r3, #0 - 80080a2: d147 bne.n 8008134 - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - 80080a4: 4a31 ldr r2, [pc, #196] (800816c ) - 80080a6: 4b32 ldr r3, [pc, #200] (8008170 ) - 80080a8: 6013 str r3, [r2, #0] - 80080aa: e046 b.n 800813a - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - 80080ac: 4a2f ldr r2, [pc, #188] (800816c ) - 80080ae: 4b31 ldr r3, [pc, #196] (8008174 ) - 80080b0: 6013 str r3, [r2, #0] - 80080b2: e042 b.n 800813a - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - 80080b4: 4b2c ldr r3, [pc, #176] (8008168 ) - 80080b6: 685b ldr r3, [r3, #4] - 80080b8: f403 0380 and.w r3, r3, #4194304 ; 0x400000 - 80080bc: ea4f 5393 mov.w r3, r3, lsr #22 - 80080c0: 61bb str r3, [r7, #24] - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - 80080c2: 4b29 ldr r3, [pc, #164] (8008168 ) - 80080c4: 685b ldr r3, [r3, #4] - 80080c6: f003 033f and.w r3, r3, #63 ; 0x3f - 80080ca: 61fb str r3, [r7, #28] - - if (pllsource != 0) - 80080cc: 69bb ldr r3, [r7, #24] - 80080ce: 2b00 cmp r3, #0 - 80080d0: d00f beq.n 80080f2 - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - 80080d2: 4a28 ldr r2, [pc, #160] (8008174 ) - 80080d4: 69fb ldr r3, [r7, #28] - 80080d6: fbb2 f1f3 udiv r1, r2, r3 - 80080da: 4b23 ldr r3, [pc, #140] (8008168 ) - 80080dc: 685a ldr r2, [r3, #4] - 80080de: f647 73c0 movw r3, #32704 ; 0x7fc0 - 80080e2: ea02 0303 and.w r3, r2, r3 - 80080e6: ea4f 1393 mov.w r3, r3, lsr #6 - 80080ea: fb03 f301 mul.w r3, r3, r1 - 80080ee: 613b str r3, [r7, #16] - 80080f0: e00e b.n 8008110 - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - 80080f2: 4a1f ldr r2, [pc, #124] (8008170 ) - 80080f4: 69fb ldr r3, [r7, #28] - 80080f6: fbb2 f1f3 udiv r1, r2, r3 - 80080fa: 4b1b ldr r3, [pc, #108] (8008168 ) - 80080fc: 685a ldr r2, [r3, #4] - 80080fe: f647 73c0 movw r3, #32704 ; 0x7fc0 - 8008102: ea02 0303 and.w r3, r2, r3 - 8008106: ea4f 1393 mov.w r3, r3, lsr #6 - 800810a: fb03 f301 mul.w r3, r3, r1 - 800810e: 613b str r3, [r7, #16] - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - 8008110: 4b15 ldr r3, [pc, #84] (8008168 ) - 8008112: 685b ldr r3, [r3, #4] - 8008114: f403 3340 and.w r3, r3, #196608 ; 0x30000 - 8008118: ea4f 4313 mov.w r3, r3, lsr #16 - 800811c: f103 0301 add.w r3, r3, #1 ; 0x1 - 8008120: ea4f 0343 mov.w r3, r3, lsl #1 - 8008124: 617b str r3, [r7, #20] - SystemCoreClock = pllvco/pllp; - 8008126: 693a ldr r2, [r7, #16] - 8008128: 697b ldr r3, [r7, #20] - 800812a: fbb2 f2f3 udiv r2, r2, r3 - 800812e: 4b0f ldr r3, [pc, #60] (800816c ) - 8008130: 601a str r2, [r3, #0] - 8008132: e002 b.n 800813a - break; - default: - SystemCoreClock = HSI_VALUE; - 8008134: 4a0d ldr r2, [pc, #52] (800816c ) - 8008136: 4b0e ldr r3, [pc, #56] (8008170 ) - 8008138: 6013 str r3, [r2, #0] - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - 800813a: 4b0b ldr r3, [pc, #44] (8008168 ) - 800813c: 689b ldr r3, [r3, #8] - 800813e: f003 03f0 and.w r3, r3, #240 ; 0xf0 - 8008142: ea4f 1213 mov.w r2, r3, lsr #4 - 8008146: 4b0c ldr r3, [pc, #48] (8008178 ) - 8008148: 5c9b ldrb r3, [r3, r2] - 800814a: b2db uxtb r3, r3 - 800814c: 60fb str r3, [r7, #12] - /* HCLK frequency */ - SystemCoreClock >>= tmp; - 800814e: 4b07 ldr r3, [pc, #28] (800816c ) - 8008150: 681a ldr r2, [r3, #0] - 8008152: 68fb ldr r3, [r7, #12] - 8008154: fa22 f203 lsr.w r2, r2, r3 - 8008158: 4b04 ldr r3, [pc, #16] (800816c ) - 800815a: 601a str r2, [r3, #0] -} - 800815c: f107 0724 add.w r7, r7, #36 ; 0x24 - 8008160: 46bd mov sp, r7 - 8008162: bc80 pop {r7} - 8008164: 4770 bx lr - 8008166: 46c0 nop (mov r8, r8) - 8008168: 40023800 .word 0x40023800 - 800816c: 20000000 .word 0x20000000 - 8008170: 00f42400 .word 0x00f42400 - 8008174: 007a1200 .word 0x007a1200 - 8008178: 20000004 .word 0x20000004 - -0800817c : - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ - 800817c: b480 push {r7} - 800817e: b083 sub sp, #12 - 8008180: af00 add r7, sp, #0 -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - 8008182: f04f 0300 mov.w r3, #0 ; 0x0 - 8008186: 607b str r3, [r7, #4] - 8008188: f04f 0300 mov.w r3, #0 ; 0x0 - 800818c: 603b str r3, [r7, #0] - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - 800818e: 4a36 ldr r2, [pc, #216] (8008268 ) - 8008190: 4b35 ldr r3, [pc, #212] (8008268 ) - 8008192: 681b ldr r3, [r3, #0] - 8008194: f443 3380 orr.w r3, r3, #65536 ; 0x10000 - 8008198: 6013 str r3, [r2, #0] - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - 800819a: 4b33 ldr r3, [pc, #204] (8008268 ) - 800819c: 681b ldr r3, [r3, #0] - 800819e: f403 3300 and.w r3, r3, #131072 ; 0x20000 - 80081a2: 603b str r3, [r7, #0] - StartUpCounter++; - 80081a4: 687b ldr r3, [r7, #4] - 80081a6: f103 0301 add.w r3, r3, #1 ; 0x1 - 80081aa: 607b str r3, [r7, #4] - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - 80081ac: 683b ldr r3, [r7, #0] - 80081ae: 2b00 cmp r3, #0 - 80081b0: d103 bne.n 80081ba - 80081b2: 687b ldr r3, [r7, #4] - 80081b4: f5b3 4fa0 cmp.w r3, #20480 ; 0x5000 - 80081b8: d1ef bne.n 800819a - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - 80081ba: 4b2b ldr r3, [pc, #172] (8008268 ) - 80081bc: 681b ldr r3, [r3, #0] - 80081be: f403 3300 and.w r3, r3, #131072 ; 0x20000 - 80081c2: 2b00 cmp r3, #0 - 80081c4: d003 beq.n 80081ce - { - HSEStatus = (uint32_t)0x01; - 80081c6: f04f 0301 mov.w r3, #1 ; 0x1 - 80081ca: 603b str r3, [r7, #0] - 80081cc: e002 b.n 80081d4 - } - else - { - HSEStatus = (uint32_t)0x00; - 80081ce: f04f 0300 mov.w r3, #0 ; 0x0 - 80081d2: 603b str r3, [r7, #0] - } - - if (HSEStatus == (uint32_t)0x01) - 80081d4: 683b ldr r3, [r7, #0] - 80081d6: 2b01 cmp r3, #1 - 80081d8: d140 bne.n 800825c - { - /* Select regulator voltage output Scale 1 mode, System frequency up to 168 MHz */ - RCC->APB1ENR |= RCC_APB1ENR_PWREN; - 80081da: 4a23 ldr r2, [pc, #140] (8008268 ) - 80081dc: 4b22 ldr r3, [pc, #136] (8008268 ) - 80081de: 6c1b ldr r3, [r3, #64] - 80081e0: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 - 80081e4: 6413 str r3, [r2, #64] - PWR->CR |= PWR_CR_VOS; - 80081e6: 4a21 ldr r2, [pc, #132] (800826c ) - 80081e8: 4b20 ldr r3, [pc, #128] (800826c ) - 80081ea: 681b ldr r3, [r3, #0] - 80081ec: f443 4340 orr.w r3, r3, #49152 ; 0xc000 - 80081f0: 6013 str r3, [r2, #0] - - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - 80081f2: 4a1d ldr r2, [pc, #116] (8008268 ) - 80081f4: 4b1c ldr r3, [pc, #112] (8008268 ) - 80081f6: 689b ldr r3, [r3, #8] - 80081f8: 6093 str r3, [r2, #8] - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - 80081fa: 4a1b ldr r2, [pc, #108] (8008268 ) - 80081fc: 4b1a ldr r3, [pc, #104] (8008268 ) - 80081fe: 689b ldr r3, [r3, #8] - 8008200: f443 4300 orr.w r3, r3, #32768 ; 0x8000 - 8008204: 6093 str r3, [r2, #8] - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - 8008206: 4a18 ldr r2, [pc, #96] (8008268 ) - 8008208: 4b17 ldr r3, [pc, #92] (8008268 ) - 800820a: 689b ldr r3, [r3, #8] - 800820c: f443 53a0 orr.w r3, r3, #5120 ; 0x1400 - 8008210: 6093 str r3, [r2, #8] - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - 8008212: 4a15 ldr r2, [pc, #84] (8008268 ) - 8008214: 4b16 ldr r3, [pc, #88] (8008270 ) - 8008216: 6053 str r3, [r2, #4] - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - 8008218: 4a13 ldr r2, [pc, #76] (8008268 ) - 800821a: 4b13 ldr r3, [pc, #76] (8008268 ) - 800821c: 681b ldr r3, [r3, #0] - 800821e: f043 7380 orr.w r3, r3, #16777216 ; 0x1000000 - 8008222: 6013 str r3, [r2, #0] - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - 8008224: 4b10 ldr r3, [pc, #64] (8008268 ) - 8008226: 681b ldr r3, [r3, #0] - 8008228: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 - 800822c: 2b00 cmp r3, #0 - 800822e: d0f9 beq.n 8008224 - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_ICEN |FLASH_ACR_DCEN |FLASH_ACR_LATENCY_5WS; - 8008230: 4a10 ldr r2, [pc, #64] (8008274 ) - 8008232: f240 6305 movw r3, #1541 ; 0x605 - 8008236: 6013 str r3, [r2, #0] - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - 8008238: 4a0b ldr r2, [pc, #44] (8008268 ) - 800823a: 4b0b ldr r3, [pc, #44] (8008268 ) - 800823c: 689b ldr r3, [r3, #8] - 800823e: f023 0303 bic.w r3, r3, #3 ; 0x3 - 8008242: 6093 str r3, [r2, #8] - RCC->CFGR |= RCC_CFGR_SW_PLL; - 8008244: 4a08 ldr r2, [pc, #32] (8008268 ) - 8008246: 4b08 ldr r3, [pc, #32] (8008268 ) - 8008248: 689b ldr r3, [r3, #8] - 800824a: f043 0302 orr.w r3, r3, #2 ; 0x2 - 800824e: 6093 str r3, [r2, #8] - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - 8008250: 4b05 ldr r3, [pc, #20] (8008268 ) - 8008252: 689b ldr r3, [r3, #8] - 8008254: f003 030c and.w r3, r3, #12 ; 0xc - 8008258: 2b08 cmp r3, #8 - 800825a: d1f9 bne.n 8008250 - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - 800825c: f107 070c add.w r7, r7, #12 ; 0xc - 8008260: 46bd mov sp, r7 - 8008262: bc80 pop {r7} - 8008264: 4770 bx lr - 8008266: 46c0 nop (mov r8, r8) - 8008268: 40023800 .word 0x40023800 - 800826c: 40007000 .word 0x40007000 - 8008270: 07405408 .word 0x07405408 - 8008274: 40023c00 .word 0x40023c00 - -08008278 : - * @note When the NVIC_PriorityGroup_0 is selected, IRQ pre-emption is no more possible. - * The pending IRQ priority will be managed only by the subpriority. - * @retval None - */ -void NVIC_PriorityGroupConfig(uint32_t NVIC_PriorityGroup) -{ - 8008278: b480 push {r7} - 800827a: b083 sub sp, #12 - 800827c: af00 add r7, sp, #0 - 800827e: 6078 str r0, [r7, #4] - /* Check the parameters */ - //assert_param(IS_NVIC_PRIORITY_GROUP(NVIC_PriorityGroup)); - - /* Set the PRIGROUP[10:8] bits according to NVIC_PriorityGroup value */ - SCB->AIRCR = AIRCR_VECTKEY_MASK | NVIC_PriorityGroup; - 8008280: 4a05 ldr r2, [pc, #20] (8008298 ) - 8008282: 687b ldr r3, [r7, #4] - 8008284: f043 63be orr.w r3, r3, #99614720 ; 0x5f00000 - 8008288: f443 2320 orr.w r3, r3, #655360 ; 0xa0000 - 800828c: 60d3 str r3, [r2, #12] -} - 800828e: f107 070c add.w r7, r7, #12 ; 0xc - 8008292: 46bd mov sp, r7 - 8008294: bc80 pop {r7} - 8008296: 4770 bx lr - 8008298: e000ed00 .word 0xe000ed00 - -0800829c : - * @param NVIC_InitStruct: pointer to a NVIC_InitTypeDef structure that contains - * the configuration information for the specified NVIC peripheral. - * @retval None - */ -void NVIC_Init(NVIC_InitTypeDef* NVIC_InitStruct) -{ - 800829c: b480 push {r7} - 800829e: b085 sub sp, #20 - 80082a0: af00 add r7, sp, #0 - 80082a2: 6078 str r0, [r7, #4] - uint8_t tmppriority = 0x00, tmppre = 0x00, tmpsub = 0x0F; - 80082a4: f04f 0300 mov.w r3, #0 ; 0x0 - 80082a8: 737b strb r3, [r7, #13] - 80082aa: f04f 0300 mov.w r3, #0 ; 0x0 - 80082ae: 73bb strb r3, [r7, #14] - 80082b0: f04f 030f mov.w r3, #15 ; 0xf - 80082b4: 73fb strb r3, [r7, #15] - /* Check the parameters */ - //assert_param(IS_FUNCTIONAL_STATE(NVIC_InitStruct->NVIC_IRQChannelCmd)); - //assert_param(IS_NVIC_PREEMPTION_PRIORITY(NVIC_InitStruct->NVIC_IRQChannelPreemptionPriority)); - //assert_param(IS_NVIC_SUB_PRIORITY(NVIC_InitStruct->NVIC_IRQChannelSubPriority)); - - if (NVIC_InitStruct->NVIC_IRQChannelCmd != DISABLE) - 80082b6: 687b ldr r3, [r7, #4] - 80082b8: 78db ldrb r3, [r3, #3] - 80082ba: 2b00 cmp r3, #0 - 80082bc: d03f beq.n 800833e - { - /* Compute the Corresponding IRQ Priority --------------------------------*/ - tmppriority = (0x700 - ((SCB->AIRCR) & (uint32_t)0x700))>> 0x08; - 80082be: 4b2c ldr r3, [pc, #176] (8008370 ) - 80082c0: 68db ldr r3, [r3, #12] - 80082c2: ea6f 0303 mvn.w r3, r3 - 80082c6: f403 63e0 and.w r3, r3, #1792 ; 0x700 - 80082ca: ea4f 2313 mov.w r3, r3, lsr #8 - 80082ce: 737b strb r3, [r7, #13] - tmppre = (0x4 - tmppriority); - 80082d0: 7b7b ldrb r3, [r7, #13] - 80082d2: f1c3 0304 rsb r3, r3, #4 ; 0x4 - 80082d6: 73bb strb r3, [r7, #14] - tmpsub = tmpsub >> tmppriority; - 80082d8: 7bfa ldrb r2, [r7, #15] - 80082da: 7b7b ldrb r3, [r7, #13] - 80082dc: fa42 f303 asr.w r3, r2, r3 - 80082e0: 73fb strb r3, [r7, #15] - - tmppriority = NVIC_InitStruct->NVIC_IRQChannelPreemptionPriority << tmppre; - 80082e2: 687b ldr r3, [r7, #4] - 80082e4: 785b ldrb r3, [r3, #1] - 80082e6: 461a mov r2, r3 - 80082e8: 7bbb ldrb r3, [r7, #14] - 80082ea: fa02 f303 lsl.w r3, r2, r3 - 80082ee: 737b strb r3, [r7, #13] - tmppriority |= (uint8_t)(NVIC_InitStruct->NVIC_IRQChannelSubPriority & tmpsub); - 80082f0: 687b ldr r3, [r7, #4] - 80082f2: 789a ldrb r2, [r3, #2] - 80082f4: 7bfb ldrb r3, [r7, #15] - 80082f6: ea02 0303 and.w r3, r2, r3 - 80082fa: b2da uxtb r2, r3 - 80082fc: 7b7b ldrb r3, [r7, #13] - 80082fe: ea42 0303 orr.w r3, r2, r3 - 8008302: 737b strb r3, [r7, #13] - - tmppriority = tmppriority << 0x04; - 8008304: 7b7b ldrb r3, [r7, #13] - 8008306: ea4f 1303 mov.w r3, r3, lsl #4 - 800830a: 737b strb r3, [r7, #13] - - NVIC->IP[NVIC_InitStruct->NVIC_IRQChannel] = tmppriority; - 800830c: 4a19 ldr r2, [pc, #100] (8008374 ) - 800830e: 687b ldr r3, [r7, #4] - 8008310: 781b ldrb r3, [r3, #0] - 8008312: 441a add r2, r3 - 8008314: 7b7b ldrb r3, [r7, #13] - 8008316: f882 3300 strb.w r3, [r2, #768] - - /* Enable the Selected IRQ Channels --------------------------------------*/ - NVIC->ISER[NVIC_InitStruct->NVIC_IRQChannel >> 0x05] = - 800831a: 4816 ldr r0, [pc, #88] (8008374 ) - 800831c: 687b ldr r3, [r7, #4] - 800831e: 781b ldrb r3, [r3, #0] - 8008320: ea4f 1353 mov.w r3, r3, lsr #5 - 8008324: b2db uxtb r3, r3 - 8008326: 4619 mov r1, r3 - 8008328: 687b ldr r3, [r7, #4] - 800832a: 781b ldrb r3, [r3, #0] - 800832c: f003 021f and.w r2, r3, #31 ; 0x1f - 8008330: f04f 0301 mov.w r3, #1 ; 0x1 - 8008334: fa03 f302 lsl.w r3, r3, r2 - 8008338: f840 3021 str.w r3, [r0, r1, lsl #2] - 800833c: e012 b.n 8008364 - (uint32_t)0x01 << (NVIC_InitStruct->NVIC_IRQChannel & (uint8_t)0x1F); - } - else - { - /* Disable the Selected IRQ Channels -------------------------------------*/ - NVIC->ICER[NVIC_InitStruct->NVIC_IRQChannel >> 0x05] = - 800833e: 480d ldr r0, [pc, #52] (8008374 ) - 8008340: 687b ldr r3, [r7, #4] - 8008342: 781b ldrb r3, [r3, #0] - 8008344: ea4f 1353 mov.w r3, r3, lsr #5 - 8008348: b2db uxtb r3, r3 - 800834a: 4619 mov r1, r3 - 800834c: 687b ldr r3, [r7, #4] - 800834e: 781b ldrb r3, [r3, #0] - 8008350: f003 021f and.w r2, r3, #31 ; 0x1f - 8008354: f04f 0301 mov.w r3, #1 ; 0x1 - 8008358: fa03 f202 lsl.w r2, r3, r2 - 800835c: f101 0320 add.w r3, r1, #32 ; 0x20 - 8008360: f840 2023 str.w r2, [r0, r3, lsl #2] - (uint32_t)0x01 << (NVIC_InitStruct->NVIC_IRQChannel & (uint8_t)0x1F); - } -} - 8008364: f107 0714 add.w r7, r7, #20 ; 0x14 - 8008368: 46bd mov sp, r7 - 800836a: bc80 pop {r7} - 800836c: 4770 bx lr - 800836e: 46c0 nop (mov r8, r8) - 8008370: e000ed00 .word 0xe000ed00 - 8008374: e000e100 .word 0xe000e100 - -08008378 : - * @arg NVIC_VectTab_FLASH: Vector Table in internal FLASH. - * @param Offset: Vector Table base offset field. This value must be a multiple of 0x200. - * @retval None - */ -void NVIC_SetVectorTable(uint32_t NVIC_VectTab, uint32_t Offset) -{ - 8008378: b480 push {r7} - 800837a: b083 sub sp, #12 - 800837c: af00 add r7, sp, #0 - 800837e: 6078 str r0, [r7, #4] - 8008380: 6039 str r1, [r7, #0] - /* Check the parameters */ - //assert_param(IS_NVIC_VECTTAB(NVIC_VectTab)); - //assert_param(IS_NVIC_OFFSET(Offset)); - - SCB->VTOR = NVIC_VectTab | (Offset & (uint32_t)0x1FFFFF80); - 8008382: 4907 ldr r1, [pc, #28] (80083a0 ) - 8008384: 683b ldr r3, [r7, #0] - 8008386: f023 4360 bic.w r3, r3, #3758096384 ; 0xe0000000 - 800838a: f023 037f bic.w r3, r3, #127 ; 0x7f - 800838e: 687a ldr r2, [r7, #4] - 8008390: ea43 0302 orr.w r3, r3, r2 - 8008394: 608b str r3, [r1, #8] -} - 8008396: f107 070c add.w r7, r7, #12 ; 0xc - 800839a: 46bd mov sp, r7 - 800839c: bc80 pop {r7} - 800839e: 4770 bx lr - 80083a0: e000ed00 .word 0xe000ed00 - -080083a4 : - * @arg NVIC_LP_SLEEPONEXIT: Low Power Sleep on Exit. - * @param NewState: new state of LP condition. This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void NVIC_SystemLPConfig(uint8_t LowPowerMode, FunctionalState NewState) -{ - 80083a4: b480 push {r7} - 80083a6: b083 sub sp, #12 - 80083a8: af00 add r7, sp, #0 - 80083aa: 4603 mov r3, r0 - 80083ac: 460a mov r2, r1 - 80083ae: 71fb strb r3, [r7, #7] - 80083b0: 4613 mov r3, r2 - 80083b2: 71bb strb r3, [r7, #6] - /* Check the parameters */ - //assert_param(IS_NVIC_LP(LowPowerMode)); - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - 80083b4: 79bb ldrb r3, [r7, #6] - 80083b6: 2b00 cmp r3, #0 - 80083b8: d007 beq.n 80083ca - { - SCB->SCR |= LowPowerMode; - 80083ba: 490b ldr r1, [pc, #44] (80083e8 ) - 80083bc: 4b0a ldr r3, [pc, #40] (80083e8 ) - 80083be: 691a ldr r2, [r3, #16] - 80083c0: 79fb ldrb r3, [r7, #7] - 80083c2: ea42 0303 orr.w r3, r2, r3 - 80083c6: 610b str r3, [r1, #16] - 80083c8: e008 b.n 80083dc - } - else - { - SCB->SCR &= (uint32_t)(~(uint32_t)LowPowerMode); - 80083ca: 4907 ldr r1, [pc, #28] (80083e8 ) - 80083cc: 4b06 ldr r3, [pc, #24] (80083e8 ) - 80083ce: 691a ldr r2, [r3, #16] - 80083d0: 79fb ldrb r3, [r7, #7] - 80083d2: ea6f 0303 mvn.w r3, r3 - 80083d6: ea02 0303 and.w r3, r2, r3 - 80083da: 610b str r3, [r1, #16] - } -} - 80083dc: f107 070c add.w r7, r7, #12 ; 0xc - 80083e0: 46bd mov sp, r7 - 80083e2: bc80 pop {r7} - 80083e4: 4770 bx lr - 80083e6: 46c0 nop (mov r8, r8) - 80083e8: e000ed00 .word 0xe000ed00 - -080083ec : - * @arg SysTick_CLKSource_HCLK_Div8: AHB clock divided by 8 selected as SysTick clock source. - * @arg SysTick_CLKSource_HCLK: AHB clock selected as SysTick clock source. - * @retval None - */ -void SysTick_CLKSourceConfig(uint32_t SysTick_CLKSource) -{ - 80083ec: b480 push {r7} - 80083ee: b083 sub sp, #12 - 80083f0: af00 add r7, sp, #0 - 80083f2: 6078 str r0, [r7, #4] - /* Check the parameters */ - //assert_param(IS_SYSTICK_CLK_SOURCE(SysTick_CLKSource)); - if (SysTick_CLKSource == SysTick_CLKSource_HCLK) - 80083f4: 687b ldr r3, [r7, #4] - 80083f6: 2b04 cmp r3, #4 - 80083f8: d106 bne.n 8008408 - { - SysTick->CTRL |= SysTick_CLKSource_HCLK; - 80083fa: 4a09 ldr r2, [pc, #36] (8008420 ) - 80083fc: 4b08 ldr r3, [pc, #32] (8008420 ) - 80083fe: 681b ldr r3, [r3, #0] - 8008400: f043 0304 orr.w r3, r3, #4 ; 0x4 - 8008404: 6013 str r3, [r2, #0] - 8008406: e005 b.n 8008414 - } - else - { - SysTick->CTRL &= SysTick_CLKSource_HCLK_Div8; - 8008408: 4a05 ldr r2, [pc, #20] (8008420 ) - 800840a: 4b05 ldr r3, [pc, #20] (8008420 ) - 800840c: 681b ldr r3, [r3, #0] - 800840e: f023 0304 bic.w r3, r3, #4 ; 0x4 - 8008412: 6013 str r3, [r2, #0] - } -} - 8008414: f107 070c add.w r7, r7, #12 ; 0xc - 8008418: 46bd mov sp, r7 - 800841a: bc80 pop {r7} - 800841c: 4770 bx lr - 800841e: 46c0 nop (mov r8, r8) - 8008420: e000e010 .word 0xe000e010 - -08008424 : - * values. - * @param None - * @retval None - */ -void ADC_DeInit(void) -{ - 8008424: b580 push {r7, lr} - 8008426: af00 add r7, sp, #0 - /* Enable all ADCs reset state */ - RCC_APB2PeriphResetCmd(RCC_APB2Periph_ADC, ENABLE); - 8008428: f44f 7080 mov.w r0, #256 ; 0x100 - 800842c: f04f 0101 mov.w r1, #1 ; 0x1 - 8008430: f002 facc bl 800a9cc - - /* Release all ADCs from reset state */ - RCC_APB2PeriphResetCmd(RCC_APB2Periph_ADC, DISABLE); - 8008434: f44f 7080 mov.w r0, #256 ; 0x100 - 8008438: f04f 0100 mov.w r1, #0 ; 0x0 - 800843c: f002 fac6 bl 800a9cc -} - 8008440: 46bd mov sp, r7 - 8008442: bd80 pop {r7, pc} - -08008444 : - * @param ADC_InitStruct: pointer to an ADC_InitTypeDef structure that contains - * the configuration information for the specified ADC peripheral. - * @retval None - */ -void ADC_Init(ADC_TypeDef* ADCx, ADC_InitTypeDef* ADC_InitStruct) -{ - 8008444: b480 push {r7} - 8008446: b085 sub sp, #20 - 8008448: af00 add r7, sp, #0 - 800844a: 6078 str r0, [r7, #4] - 800844c: 6039 str r1, [r7, #0] - uint32_t tmpreg1 = 0; - 800844e: f04f 0300 mov.w r3, #0 ; 0x0 - 8008452: 60bb str r3, [r7, #8] - uint8_t tmpreg2 = 0; - 8008454: f04f 0300 mov.w r3, #0 ; 0x0 - 8008458: 73fb strb r3, [r7, #15] - //assert_param(IS_ADC_DATA_ALIGN(ADC_InitStruct->ADC_DataAlign)); - //assert_param(IS_ADC_REGULAR_LENGTH(ADC_InitStruct->ADC_NbrOfConversion)); - - /*---------------------------- ADCx CR1 Configuration -----------------*/ - /* Get the ADCx CR1 value */ - tmpreg1 = ADCx->CR1; - 800845a: 687b ldr r3, [r7, #4] - 800845c: 685b ldr r3, [r3, #4] - 800845e: 60bb str r3, [r7, #8] - - /* Clear RES and SCAN bits */ - tmpreg1 &= CR1_CLEAR_MASK; - 8008460: 68bb ldr r3, [r7, #8] - 8008462: f023 7340 bic.w r3, r3, #50331648 ; 0x3000000 - 8008466: f423 7380 bic.w r3, r3, #256 ; 0x100 - 800846a: 60bb str r3, [r7, #8] - - /* Configure ADCx: scan conversion mode and resolution */ - /* Set SCAN bit according to ADC_ScanConvMode value */ - /* Set RES bit according to ADC_Resolution value */ - tmpreg1 |= (uint32_t)(((uint32_t)ADC_InitStruct->ADC_ScanConvMode << 8) | \ - 800846c: 683b ldr r3, [r7, #0] - 800846e: 791b ldrb r3, [r3, #4] - 8008470: ea4f 2203 mov.w r2, r3, lsl #8 - 8008474: 683b ldr r3, [r7, #0] - 8008476: 681b ldr r3, [r3, #0] - 8008478: ea42 0203 orr.w r2, r2, r3 - 800847c: 68bb ldr r3, [r7, #8] - 800847e: ea43 0302 orr.w r3, r3, r2 - 8008482: 60bb str r3, [r7, #8] - ADC_InitStruct->ADC_Resolution); - /* Write to ADCx CR1 */ - ADCx->CR1 = tmpreg1; - 8008484: 687a ldr r2, [r7, #4] - 8008486: 68bb ldr r3, [r7, #8] - 8008488: 6053 str r3, [r2, #4] - /*---------------------------- ADCx CR2 Configuration -----------------*/ - /* Get the ADCx CR2 value */ - tmpreg1 = ADCx->CR2; - 800848a: 687b ldr r3, [r7, #4] - 800848c: 689b ldr r3, [r3, #8] - 800848e: 60bb str r3, [r7, #8] - - /* Clear CONT, ALIGN, EXTEN and EXTSEL bits */ - tmpreg1 &= CR2_CLEAR_MASK; - 8008490: 68ba ldr r2, [r7, #8] - 8008492: 4b1d ldr r3, [pc, #116] (8008508 ) - 8008494: ea02 0303 and.w r3, r2, r3 - 8008498: 60bb str r3, [r7, #8] - continuous conversion mode */ - /* Set ALIGN bit according to ADC_DataAlign value */ - /* Set EXTEN bits according to ADC_ExternalTrigConvEdge value */ - /* Set EXTSEL bits according to ADC_ExternalTrigConv value */ - /* Set CONT bit according to ADC_ContinuousConvMode value */ - tmpreg1 |= (uint32_t)(ADC_InitStruct->ADC_DataAlign | \ - 800849a: 683b ldr r3, [r7, #0] - 800849c: 691a ldr r2, [r3, #16] - 800849e: 683b ldr r3, [r7, #0] - 80084a0: 68db ldr r3, [r3, #12] - 80084a2: ea42 0203 orr.w r2, r2, r3 - 80084a6: 683b ldr r3, [r7, #0] - 80084a8: 689b ldr r3, [r3, #8] - 80084aa: ea42 0203 orr.w r2, r2, r3 - 80084ae: 683b ldr r3, [r7, #0] - 80084b0: 795b ldrb r3, [r3, #5] - 80084b2: ea4f 0343 mov.w r3, r3, lsl #1 - 80084b6: ea42 0203 orr.w r2, r2, r3 - 80084ba: 68bb ldr r3, [r7, #8] - 80084bc: ea43 0302 orr.w r3, r3, r2 - 80084c0: 60bb str r3, [r7, #8] - ADC_InitStruct->ADC_ExternalTrigConv | - ADC_InitStruct->ADC_ExternalTrigConvEdge | \ - ((uint32_t)ADC_InitStruct->ADC_ContinuousConvMode << 1)); - - /* Write to ADCx CR2 */ - ADCx->CR2 = tmpreg1; - 80084c2: 687a ldr r2, [r7, #4] - 80084c4: 68bb ldr r3, [r7, #8] - 80084c6: 6093 str r3, [r2, #8] - /*---------------------------- ADCx SQR1 Configuration -----------------*/ - /* Get the ADCx SQR1 value */ - tmpreg1 = ADCx->SQR1; - 80084c8: 687b ldr r3, [r7, #4] - 80084ca: 6adb ldr r3, [r3, #44] - 80084cc: 60bb str r3, [r7, #8] - - /* Clear L bits */ - tmpreg1 &= SQR1_L_RESET; - 80084ce: 68bb ldr r3, [r7, #8] - 80084d0: f423 0370 bic.w r3, r3, #15728640 ; 0xf00000 - 80084d4: 60bb str r3, [r7, #8] - - /* Configure ADCx: regular channel sequence length */ - /* Set L bits according to ADC_NbrOfConversion value */ - tmpreg2 |= (uint8_t)(ADC_InitStruct->ADC_NbrOfConversion - (uint8_t)1); - 80084d6: 683b ldr r3, [r7, #0] - 80084d8: 7d1b ldrb r3, [r3, #20] - 80084da: f103 33ff add.w r3, r3, #4294967295 ; 0xffffffff - 80084de: b2da uxtb r2, r3 - 80084e0: 7bfb ldrb r3, [r7, #15] - 80084e2: ea42 0303 orr.w r3, r2, r3 - 80084e6: 73fb strb r3, [r7, #15] - tmpreg1 |= ((uint32_t)tmpreg2 << 20); - 80084e8: 7bfb ldrb r3, [r7, #15] - 80084ea: ea4f 5203 mov.w r2, r3, lsl #20 - 80084ee: 68bb ldr r3, [r7, #8] - 80084f0: ea43 0302 orr.w r3, r3, r2 - 80084f4: 60bb str r3, [r7, #8] - - /* Write to ADCx SQR1 */ - ADCx->SQR1 = tmpreg1; - 80084f6: 687a ldr r2, [r7, #4] - 80084f8: 68bb ldr r3, [r7, #8] - 80084fa: 62d3 str r3, [r2, #44] -} - 80084fc: f107 0714 add.w r7, r7, #20 ; 0x14 - 8008500: 46bd mov sp, r7 - 8008502: bc80 pop {r7} - 8008504: 4770 bx lr - 8008506: 46c0 nop (mov r8, r8) - 8008508: c0fff7fd .word 0xc0fff7fd - -0800850c : - * @param ADC_InitStruct: pointer to an ADC_InitTypeDef structure which will - * be initialized. - * @retval None - */ -void ADC_StructInit(ADC_InitTypeDef* ADC_InitStruct) -{ - 800850c: b480 push {r7} - 800850e: b083 sub sp, #12 - 8008510: af00 add r7, sp, #0 - 8008512: 6078 str r0, [r7, #4] - /* Initialize the ADC_Mode member */ - ADC_InitStruct->ADC_Resolution = ADC_Resolution_12b; - 8008514: 687a ldr r2, [r7, #4] - 8008516: f04f 0300 mov.w r3, #0 ; 0x0 - 800851a: 6013 str r3, [r2, #0] - - /* initialize the ADC_ScanConvMode member */ - ADC_InitStruct->ADC_ScanConvMode = DISABLE; - 800851c: 687a ldr r2, [r7, #4] - 800851e: f04f 0300 mov.w r3, #0 ; 0x0 - 8008522: 7113 strb r3, [r2, #4] - - /* Initialize the ADC_ContinuousConvMode member */ - ADC_InitStruct->ADC_ContinuousConvMode = DISABLE; - 8008524: 687a ldr r2, [r7, #4] - 8008526: f04f 0300 mov.w r3, #0 ; 0x0 - 800852a: 7153 strb r3, [r2, #5] - - /* Initialize the ADC_ExternalTrigConvEdge member */ - ADC_InitStruct->ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_None; - 800852c: 687a ldr r2, [r7, #4] - 800852e: f04f 0300 mov.w r3, #0 ; 0x0 - 8008532: 6093 str r3, [r2, #8] - - /* Initialize the ADC_ExternalTrigConv member */ - ADC_InitStruct->ADC_ExternalTrigConv = ADC_ExternalTrigConv_T1_CC1; - 8008534: 687a ldr r2, [r7, #4] - 8008536: f04f 0300 mov.w r3, #0 ; 0x0 - 800853a: 60d3 str r3, [r2, #12] - - /* Initialize the ADC_DataAlign member */ - ADC_InitStruct->ADC_DataAlign = ADC_DataAlign_Right; - 800853c: 687a ldr r2, [r7, #4] - 800853e: f04f 0300 mov.w r3, #0 ; 0x0 - 8008542: 6113 str r3, [r2, #16] - - /* Initialize the ADC_NbrOfConversion member */ - ADC_InitStruct->ADC_NbrOfConversion = 1; - 8008544: 687a ldr r2, [r7, #4] - 8008546: f04f 0301 mov.w r3, #1 ; 0x1 - 800854a: 7513 strb r3, [r2, #20] -} - 800854c: f107 070c add.w r7, r7, #12 ; 0xc - 8008550: 46bd mov sp, r7 - 8008552: bc80 pop {r7} - 8008554: 4770 bx lr - 8008556: 46c0 nop (mov r8, r8) - -08008558 : - * @param ADC_CommonInitStruct: pointer to an ADC_CommonInitTypeDef structure - * that contains the configuration information for All ADCs peripherals. - * @retval None - */ -void ADC_CommonInit(ADC_CommonInitTypeDef* ADC_CommonInitStruct) -{ - 8008558: b480 push {r7} - 800855a: b085 sub sp, #20 - 800855c: af00 add r7, sp, #0 - 800855e: 6078 str r0, [r7, #4] - uint32_t tmpreg1 = 0; - 8008560: f04f 0300 mov.w r3, #0 ; 0x0 - 8008564: 60fb str r3, [r7, #12] - //assert_param(IS_ADC_PRESCALER(ADC_CommonInitStruct->ADC_Prescaler)); - //assert_param(IS_ADC_DMA_ACCESS_MODE(ADC_CommonInitStruct->ADC_DMAAccessMode)); - //assert_param(IS_ADC_SAMPLING_DELAY(ADC_CommonInitStruct->ADC_TwoSamplingDelay)); - /*---------------------------- ADC CCR Configuration -----------------*/ - /* Get the ADC CCR value */ - tmpreg1 = ADC->CCR; - 8008566: 4b11 ldr r3, [pc, #68] (80085ac ) - 8008568: 685b ldr r3, [r3, #4] - 800856a: 60fb str r3, [r7, #12] - - /* Clear MULTI, DELAY, DMA and ADCPRE bits */ - tmpreg1 &= CR_CLEAR_MASK; - 800856c: 68fa ldr r2, [r7, #12] - 800856e: 4b10 ldr r3, [pc, #64] (80085b0 ) - 8008570: ea02 0303 and.w r3, r2, r3 - 8008574: 60fb str r3, [r7, #12] - and DMA access mode for multimode */ - /* Set MULTI bits according to ADC_Mode value */ - /* Set ADCPRE bits according to ADC_Prescaler value */ - /* Set DMA bits according to ADC_DMAAccessMode value */ - /* Set DELAY bits according to ADC_TwoSamplingDelay value */ - tmpreg1 |= (uint32_t)(ADC_CommonInitStruct->ADC_Mode | - 8008576: 687b ldr r3, [r7, #4] - 8008578: 681a ldr r2, [r3, #0] - 800857a: 687b ldr r3, [r7, #4] - 800857c: 685b ldr r3, [r3, #4] - 800857e: ea42 0203 orr.w r2, r2, r3 - 8008582: 687b ldr r3, [r7, #4] - 8008584: 689b ldr r3, [r3, #8] - 8008586: ea42 0203 orr.w r2, r2, r3 - 800858a: 687b ldr r3, [r7, #4] - 800858c: 68db ldr r3, [r3, #12] - 800858e: ea42 0203 orr.w r2, r2, r3 - 8008592: 68fb ldr r3, [r7, #12] - 8008594: ea43 0302 orr.w r3, r3, r2 - 8008598: 60fb str r3, [r7, #12] - ADC_CommonInitStruct->ADC_Prescaler | - ADC_CommonInitStruct->ADC_DMAAccessMode | - ADC_CommonInitStruct->ADC_TwoSamplingDelay); - - /* Write to ADC CCR */ - ADC->CCR = tmpreg1; - 800859a: 4a04 ldr r2, [pc, #16] (80085ac ) - 800859c: 68fb ldr r3, [r7, #12] - 800859e: 6053 str r3, [r2, #4] -} - 80085a0: f107 0714 add.w r7, r7, #20 ; 0x14 - 80085a4: 46bd mov sp, r7 - 80085a6: bc80 pop {r7} - 80085a8: 4770 bx lr - 80085aa: 46c0 nop (mov r8, r8) - 80085ac: 40012300 .word 0x40012300 - 80085b0: fffc30e0 .word 0xfffc30e0 - -080085b4 : - * @param ADC_CommonInitStruct: pointer to an ADC_CommonInitTypeDef structure - * which will be initialized. - * @retval None - */ -void ADC_CommonStructInit(ADC_CommonInitTypeDef* ADC_CommonInitStruct) -{ - 80085b4: b480 push {r7} - 80085b6: b083 sub sp, #12 - 80085b8: af00 add r7, sp, #0 - 80085ba: 6078 str r0, [r7, #4] - /* Initialize the ADC_Mode member */ - ADC_CommonInitStruct->ADC_Mode = ADC_Mode_Independent; - 80085bc: 687a ldr r2, [r7, #4] - 80085be: f04f 0300 mov.w r3, #0 ; 0x0 - 80085c2: 6013 str r3, [r2, #0] - - /* initialize the ADC_Prescaler member */ - ADC_CommonInitStruct->ADC_Prescaler = ADC_Prescaler_Div2; - 80085c4: 687a ldr r2, [r7, #4] - 80085c6: f04f 0300 mov.w r3, #0 ; 0x0 - 80085ca: 6053 str r3, [r2, #4] - - /* Initialize the ADC_DMAAccessMode member */ - ADC_CommonInitStruct->ADC_DMAAccessMode = ADC_DMAAccessMode_Disabled; - 80085cc: 687a ldr r2, [r7, #4] - 80085ce: f04f 0300 mov.w r3, #0 ; 0x0 - 80085d2: 6093 str r3, [r2, #8] - - /* Initialize the ADC_TwoSamplingDelay member */ - ADC_CommonInitStruct->ADC_TwoSamplingDelay = ADC_TwoSamplingDelay_5Cycles; - 80085d4: 687a ldr r2, [r7, #4] - 80085d6: f04f 0300 mov.w r3, #0 ; 0x0 - 80085da: 60d3 str r3, [r2, #12] -} - 80085dc: f107 070c add.w r7, r7, #12 ; 0xc - 80085e0: 46bd mov sp, r7 - 80085e2: bc80 pop {r7} - 80085e4: 4770 bx lr - 80085e6: 46c0 nop (mov r8, r8) - -080085e8 : - * @param NewState: new state of the ADCx peripheral. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void ADC_Cmd(ADC_TypeDef* ADCx, FunctionalState NewState) -{ - 80085e8: b480 push {r7} - 80085ea: b083 sub sp, #12 - 80085ec: af00 add r7, sp, #0 - 80085ee: 6078 str r0, [r7, #4] - 80085f0: 460b mov r3, r1 - 80085f2: 70fb strb r3, [r7, #3] - /* Check the parameters */ - //assert_param(IS_ADC_ALL_PERIPH(ADCx)); - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - 80085f4: 78fb ldrb r3, [r7, #3] - 80085f6: 2b00 cmp r3, #0 - 80085f8: d006 beq.n 8008608 - { - /* Set the ADON bit to wake up the ADC from power down mode */ - ADCx->CR2 |= (uint32_t)ADC_CR2_ADON; - 80085fa: 687b ldr r3, [r7, #4] - 80085fc: 689b ldr r3, [r3, #8] - 80085fe: f043 0201 orr.w r2, r3, #1 ; 0x1 - 8008602: 687b ldr r3, [r7, #4] - 8008604: 609a str r2, [r3, #8] - 8008606: e005 b.n 8008614 - } - else - { - /* Disable the selected ADC peripheral */ - ADCx->CR2 &= (uint32_t)(~ADC_CR2_ADON); - 8008608: 687b ldr r3, [r7, #4] - 800860a: 689b ldr r3, [r3, #8] - 800860c: f023 0201 bic.w r2, r3, #1 ; 0x1 - 8008610: 687b ldr r3, [r7, #4] - 8008612: 609a str r2, [r3, #8] - } -} - 8008614: f107 070c add.w r7, r7, #12 ; 0xc - 8008618: 46bd mov sp, r7 - 800861a: bc80 pop {r7} - 800861c: 4770 bx lr - 800861e: 46c0 nop (mov r8, r8) - -08008620 : - * @arg ADC_AnalogWatchdog_AllRegAllInjecEnable: Analog watchdog on all regular and injected channels - * @arg ADC_AnalogWatchdog_None: No channel guarded by the analog watchdog - * @retval None - */ -void ADC_AnalogWatchdogCmd(ADC_TypeDef* ADCx, uint32_t ADC_AnalogWatchdog) -{ - 8008620: b480 push {r7} - 8008622: b085 sub sp, #20 - 8008624: af00 add r7, sp, #0 - 8008626: 6078 str r0, [r7, #4] - 8008628: 6039 str r1, [r7, #0] - uint32_t tmpreg = 0; - 800862a: f04f 0300 mov.w r3, #0 ; 0x0 - 800862e: 60fb str r3, [r7, #12] - /* Check the parameters */ - //assert_param(IS_ADC_ALL_PERIPH(ADCx)); - //assert_param(IS_ADC_ANALOG_WATCHDOG(ADC_AnalogWatchdog)); - - /* Get the old register value */ - tmpreg = ADCx->CR1; - 8008630: 687b ldr r3, [r7, #4] - 8008632: 685b ldr r3, [r3, #4] - 8008634: 60fb str r3, [r7, #12] - - /* Clear AWDEN, JAWDEN and AWDSGL bits */ - tmpreg &= CR1_AWDMode_RESET; - 8008636: 68fb ldr r3, [r7, #12] - 8008638: f423 0340 bic.w r3, r3, #12582912 ; 0xc00000 - 800863c: f423 7300 bic.w r3, r3, #512 ; 0x200 - 8008640: 60fb str r3, [r7, #12] - - /* Set the analog watchdog enable mode */ - tmpreg |= ADC_AnalogWatchdog; - 8008642: 68fa ldr r2, [r7, #12] - 8008644: 683b ldr r3, [r7, #0] - 8008646: ea42 0303 orr.w r3, r2, r3 - 800864a: 60fb str r3, [r7, #12] - - /* Store the new register value */ - ADCx->CR1 = tmpreg; - 800864c: 687a ldr r2, [r7, #4] - 800864e: 68fb ldr r3, [r7, #12] - 8008650: 6053 str r3, [r2, #4] -} - 8008652: f107 0714 add.w r7, r7, #20 ; 0x14 - 8008656: 46bd mov sp, r7 - 8008658: bc80 pop {r7} - 800865a: 4770 bx lr - -0800865c : - * This parameter must be a 12-bit value. - * @retval None - */ -void ADC_AnalogWatchdogThresholdsConfig(ADC_TypeDef* ADCx, uint16_t HighThreshold, - uint16_t LowThreshold) -{ - 800865c: b480 push {r7} - 800865e: b083 sub sp, #12 - 8008660: af00 add r7, sp, #0 - 8008662: 6078 str r0, [r7, #4] - 8008664: 460b mov r3, r1 - 8008666: 807b strh r3, [r7, #2] - 8008668: 4613 mov r3, r2 - 800866a: 803b strh r3, [r7, #0] - //assert_param(IS_ADC_ALL_PERIPH(ADCx)); - //assert_param(IS_ADC_THRESHOLD(HighThreshold)); - //assert_param(IS_ADC_THRESHOLD(LowThreshold)); - - /* Set the ADCx high threshold */ - ADCx->HTR = HighThreshold; - 800866c: 887a ldrh r2, [r7, #2] - 800866e: 687b ldr r3, [r7, #4] - 8008670: 625a str r2, [r3, #36] - - /* Set the ADCx low threshold */ - ADCx->LTR = LowThreshold; - 8008672: 883a ldrh r2, [r7, #0] - 8008674: 687b ldr r3, [r7, #4] - 8008676: 629a str r2, [r3, #40] -} - 8008678: f107 070c add.w r7, r7, #12 ; 0xc - 800867c: 46bd mov sp, r7 - 800867e: bc80 pop {r7} - 8008680: 4770 bx lr - 8008682: 46c0 nop (mov r8, r8) - -08008684 : - * @arg ADC_Channel_17: ADC Channel17 selected - * @arg ADC_Channel_18: ADC Channel18 selected - * @retval None - */ -void ADC_AnalogWatchdogSingleChannelConfig(ADC_TypeDef* ADCx, uint8_t ADC_Channel) -{ - 8008684: b480 push {r7} - 8008686: b085 sub sp, #20 - 8008688: af00 add r7, sp, #0 - 800868a: 6078 str r0, [r7, #4] - 800868c: 460b mov r3, r1 - 800868e: 70fb strb r3, [r7, #3] - uint32_t tmpreg = 0; - 8008690: f04f 0300 mov.w r3, #0 ; 0x0 - 8008694: 60fb str r3, [r7, #12] - /* Check the parameters */ - //assert_param(IS_ADC_ALL_PERIPH(ADCx)); - //assert_param(IS_ADC_CHANNEL(ADC_Channel)); - - /* Get the old register value */ - tmpreg = ADCx->CR1; - 8008696: 687b ldr r3, [r7, #4] - 8008698: 685b ldr r3, [r3, #4] - 800869a: 60fb str r3, [r7, #12] - - /* Clear the Analog watchdog channel select bits */ - tmpreg &= CR1_AWDCH_RESET; - 800869c: 68fb ldr r3, [r7, #12] - 800869e: f023 031f bic.w r3, r3, #31 ; 0x1f - 80086a2: 60fb str r3, [r7, #12] - - /* Set the Analog watchdog channel */ - tmpreg |= ADC_Channel; - 80086a4: 78fa ldrb r2, [r7, #3] - 80086a6: 68fb ldr r3, [r7, #12] - 80086a8: ea43 0302 orr.w r3, r3, r2 - 80086ac: 60fb str r3, [r7, #12] - - /* Store the new register value */ - ADCx->CR1 = tmpreg; - 80086ae: 687a ldr r2, [r7, #4] - 80086b0: 68fb ldr r3, [r7, #12] - 80086b2: 6053 str r3, [r2, #4] -} - 80086b4: f107 0714 add.w r7, r7, #20 ; 0x14 - 80086b8: 46bd mov sp, r7 - 80086ba: bc80 pop {r7} - 80086bc: 4770 bx lr - 80086be: 46c0 nop (mov r8, r8) - -080086c0 : - * @param NewState: new state of the temperature sensor and Vrefint channels. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void ADC_TempSensorVrefintCmd(FunctionalState NewState) -{ - 80086c0: b480 push {r7} - 80086c2: b083 sub sp, #12 - 80086c4: af00 add r7, sp, #0 - 80086c6: 4603 mov r3, r0 - 80086c8: 71fb strb r3, [r7, #7] - /* Check the parameters */ - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - 80086ca: 79fb ldrb r3, [r7, #7] - 80086cc: 2b00 cmp r3, #0 - 80086ce: d006 beq.n 80086de - { - /* Enable the temperature sensor and Vrefint channel*/ - ADC->CCR |= (uint32_t)ADC_CCR_TSVREFE; - 80086d0: 4a08 ldr r2, [pc, #32] (80086f4 ) - 80086d2: 4b08 ldr r3, [pc, #32] (80086f4 ) - 80086d4: 685b ldr r3, [r3, #4] - 80086d6: f443 0300 orr.w r3, r3, #8388608 ; 0x800000 - 80086da: 6053 str r3, [r2, #4] - 80086dc: e005 b.n 80086ea - } - else - { - /* Disable the temperature sensor and Vrefint channel*/ - ADC->CCR &= (uint32_t)(~ADC_CCR_TSVREFE); - 80086de: 4a05 ldr r2, [pc, #20] (80086f4 ) - 80086e0: 4b04 ldr r3, [pc, #16] (80086f4 ) - 80086e2: 685b ldr r3, [r3, #4] - 80086e4: f423 0300 bic.w r3, r3, #8388608 ; 0x800000 - 80086e8: 6053 str r3, [r2, #4] - } -} - 80086ea: f107 070c add.w r7, r7, #12 ; 0xc - 80086ee: 46bd mov sp, r7 - 80086f0: bc80 pop {r7} - 80086f2: 4770 bx lr - 80086f4: 40012300 .word 0x40012300 - -080086f8 : - * @param NewState: new state of the VBAT channel. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void ADC_VBATCmd(FunctionalState NewState) -{ - 80086f8: b480 push {r7} - 80086fa: b083 sub sp, #12 - 80086fc: af00 add r7, sp, #0 - 80086fe: 4603 mov r3, r0 - 8008700: 71fb strb r3, [r7, #7] - /* Check the parameters */ - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - 8008702: 79fb ldrb r3, [r7, #7] - 8008704: 2b00 cmp r3, #0 - 8008706: d006 beq.n 8008716 - { - /* Enable the VBAT channel*/ - ADC->CCR |= (uint32_t)ADC_CCR_VBATE; - 8008708: 4a08 ldr r2, [pc, #32] (800872c ) - 800870a: 4b08 ldr r3, [pc, #32] (800872c ) - 800870c: 685b ldr r3, [r3, #4] - 800870e: f443 0380 orr.w r3, r3, #4194304 ; 0x400000 - 8008712: 6053 str r3, [r2, #4] - 8008714: e005 b.n 8008722 - } - else - { - /* Disable the VBAT channel*/ - ADC->CCR &= (uint32_t)(~ADC_CCR_VBATE); - 8008716: 4a05 ldr r2, [pc, #20] (800872c ) - 8008718: 4b04 ldr r3, [pc, #16] (800872c ) - 800871a: 685b ldr r3, [r3, #4] - 800871c: f423 0380 bic.w r3, r3, #4194304 ; 0x400000 - 8008720: 6053 str r3, [r2, #4] - } -} - 8008722: f107 070c add.w r7, r7, #12 ; 0xc - 8008726: 46bd mov sp, r7 - 8008728: bc80 pop {r7} - 800872a: 4770 bx lr - 800872c: 40012300 .word 0x40012300 - -08008730 : - * @arg ADC_SampleTime_144Cycles: Sample time equal to 144 cycles - * @arg ADC_SampleTime_480Cycles: Sample time equal to 480 cycles - * @retval None - */ -void ADC_RegularChannelConfig(ADC_TypeDef* ADCx, uint8_t ADC_Channel, uint8_t Rank, uint8_t ADC_SampleTime) -{ - 8008730: b480 push {r7} - 8008732: b085 sub sp, #20 - 8008734: af00 add r7, sp, #0 - 8008736: 6078 str r0, [r7, #4] - 8008738: 4618 mov r0, r3 - 800873a: 460b mov r3, r1 - 800873c: 70fb strb r3, [r7, #3] - 800873e: 4613 mov r3, r2 - 8008740: 70bb strb r3, [r7, #2] - 8008742: 4603 mov r3, r0 - 8008744: 707b strb r3, [r7, #1] - uint32_t tmpreg1 = 0, tmpreg2 = 0; - 8008746: f04f 0300 mov.w r3, #0 ; 0x0 - 800874a: 60bb str r3, [r7, #8] - 800874c: f04f 0300 mov.w r3, #0 ; 0x0 - 8008750: 60fb str r3, [r7, #12] - //assert_param(IS_ADC_CHANNEL(ADC_Channel)); - //assert_param(IS_ADC_REGULAR_RANK(Rank)); - //assert_param(IS_ADC_SAMPLE_TIME(ADC_SampleTime)); - - /* if ADC_Channel_10 ... ADC_Channel_18 is selected */ - if (ADC_Channel > ADC_Channel_9) - 8008752: 78fb ldrb r3, [r7, #3] - 8008754: 2b09 cmp r3, #9 - 8008756: d929 bls.n 80087ac - { - /* Get the old register value */ - tmpreg1 = ADCx->SMPR1; - 8008758: 687b ldr r3, [r7, #4] - 800875a: 68db ldr r3, [r3, #12] - 800875c: 60bb str r3, [r7, #8] - - /* Calculate the mask to clear */ - tmpreg2 = SMPR1_SMP_SET << (3 * (ADC_Channel - 10)); - 800875e: 78fa ldrb r2, [r7, #3] - 8008760: 4613 mov r3, r2 - 8008762: ea4f 0343 mov.w r3, r3, lsl #1 - 8008766: 4413 add r3, r2 - 8008768: f1a3 021e sub.w r2, r3, #30 ; 0x1e - 800876c: f04f 0307 mov.w r3, #7 ; 0x7 - 8008770: fa03 f302 lsl.w r3, r3, r2 - 8008774: 60fb str r3, [r7, #12] - - /* Clear the old sample time */ - tmpreg1 &= ~tmpreg2; - 8008776: 68fb ldr r3, [r7, #12] - 8008778: ea6f 0203 mvn.w r2, r3 - 800877c: 68bb ldr r3, [r7, #8] - 800877e: ea03 0302 and.w r3, r3, r2 - 8008782: 60bb str r3, [r7, #8] - - /* Calculate the mask to set */ - tmpreg2 = (uint32_t)ADC_SampleTime << (3 * (ADC_Channel - 10)); - 8008784: 7879 ldrb r1, [r7, #1] - 8008786: 78fa ldrb r2, [r7, #3] - 8008788: 4613 mov r3, r2 - 800878a: ea4f 0343 mov.w r3, r3, lsl #1 - 800878e: 4413 add r3, r2 - 8008790: f1a3 031e sub.w r3, r3, #30 ; 0x1e - 8008794: fa01 f303 lsl.w r3, r1, r3 - 8008798: 60fb str r3, [r7, #12] - - /* Set the new sample time */ - tmpreg1 |= tmpreg2; - 800879a: 68ba ldr r2, [r7, #8] - 800879c: 68fb ldr r3, [r7, #12] - 800879e: ea42 0303 orr.w r3, r2, r3 - 80087a2: 60bb str r3, [r7, #8] - - /* Store the new register value */ - ADCx->SMPR1 = tmpreg1; - 80087a4: 687a ldr r2, [r7, #4] - 80087a6: 68bb ldr r3, [r7, #8] - 80087a8: 60d3 str r3, [r2, #12] - 80087aa: e024 b.n 80087f6 - } - else /* ADC_Channel include in ADC_Channel_[0..9] */ - { - /* Get the old register value */ - tmpreg1 = ADCx->SMPR2; - 80087ac: 687b ldr r3, [r7, #4] - 80087ae: 691b ldr r3, [r3, #16] - 80087b0: 60bb str r3, [r7, #8] - - /* Calculate the mask to clear */ - tmpreg2 = SMPR2_SMP_SET << (3 * ADC_Channel); - 80087b2: 78fa ldrb r2, [r7, #3] - 80087b4: 4613 mov r3, r2 - 80087b6: ea4f 0343 mov.w r3, r3, lsl #1 - 80087ba: 441a add r2, r3 - 80087bc: f04f 0307 mov.w r3, #7 ; 0x7 - 80087c0: fa03 f302 lsl.w r3, r3, r2 - 80087c4: 60fb str r3, [r7, #12] - - /* Clear the old sample time */ - tmpreg1 &= ~tmpreg2; - 80087c6: 68fb ldr r3, [r7, #12] - 80087c8: ea6f 0203 mvn.w r2, r3 - 80087cc: 68bb ldr r3, [r7, #8] - 80087ce: ea03 0302 and.w r3, r3, r2 - 80087d2: 60bb str r3, [r7, #8] - - /* Calculate the mask to set */ - tmpreg2 = (uint32_t)ADC_SampleTime << (3 * ADC_Channel); - 80087d4: 7879 ldrb r1, [r7, #1] - 80087d6: 78fa ldrb r2, [r7, #3] - 80087d8: 4613 mov r3, r2 - 80087da: ea4f 0343 mov.w r3, r3, lsl #1 - 80087de: 4413 add r3, r2 - 80087e0: fa01 f303 lsl.w r3, r1, r3 - 80087e4: 60fb str r3, [r7, #12] - - /* Set the new sample time */ - tmpreg1 |= tmpreg2; - 80087e6: 68ba ldr r2, [r7, #8] - 80087e8: 68fb ldr r3, [r7, #12] - 80087ea: ea42 0303 orr.w r3, r2, r3 - 80087ee: 60bb str r3, [r7, #8] - - /* Store the new register value */ - ADCx->SMPR2 = tmpreg1; - 80087f0: 687a ldr r2, [r7, #4] - 80087f2: 68bb ldr r3, [r7, #8] - 80087f4: 6113 str r3, [r2, #16] - } - /* For Rank 1 to 6 */ - if (Rank < 7) - 80087f6: 78bb ldrb r3, [r7, #2] - 80087f8: 2b06 cmp r3, #6 - 80087fa: d829 bhi.n 8008850 - { - /* Get the old register value */ - tmpreg1 = ADCx->SQR3; - 80087fc: 687b ldr r3, [r7, #4] - 80087fe: 6b5b ldr r3, [r3, #52] - 8008800: 60bb str r3, [r7, #8] - - /* Calculate the mask to clear */ - tmpreg2 = SQR3_SQ_SET << (5 * (Rank - 1)); - 8008802: 78bb ldrb r3, [r7, #2] - 8008804: f103 32ff add.w r2, r3, #4294967295 ; 0xffffffff - 8008808: 4613 mov r3, r2 - 800880a: ea4f 0383 mov.w r3, r3, lsl #2 - 800880e: 441a add r2, r3 - 8008810: f04f 031f mov.w r3, #31 ; 0x1f - 8008814: fa03 f302 lsl.w r3, r3, r2 - 8008818: 60fb str r3, [r7, #12] - - /* Clear the old SQx bits for the selected rank */ - tmpreg1 &= ~tmpreg2; - 800881a: 68fb ldr r3, [r7, #12] - 800881c: ea6f 0203 mvn.w r2, r3 - 8008820: 68bb ldr r3, [r7, #8] - 8008822: ea03 0302 and.w r3, r3, r2 - 8008826: 60bb str r3, [r7, #8] - - /* Calculate the mask to set */ - tmpreg2 = (uint32_t)ADC_Channel << (5 * (Rank - 1)); - 8008828: 78f9 ldrb r1, [r7, #3] - 800882a: 78bb ldrb r3, [r7, #2] - 800882c: f103 32ff add.w r2, r3, #4294967295 ; 0xffffffff - 8008830: 4613 mov r3, r2 - 8008832: ea4f 0383 mov.w r3, r3, lsl #2 - 8008836: 4413 add r3, r2 - 8008838: fa01 f303 lsl.w r3, r1, r3 - 800883c: 60fb str r3, [r7, #12] - - /* Set the SQx bits for the selected rank */ - tmpreg1 |= tmpreg2; - 800883e: 68ba ldr r2, [r7, #8] - 8008840: 68fb ldr r3, [r7, #12] - 8008842: ea42 0303 orr.w r3, r2, r3 - 8008846: 60bb str r3, [r7, #8] - - /* Store the new register value */ - ADCx->SQR3 = tmpreg1; - 8008848: 687a ldr r2, [r7, #4] - 800884a: 68bb ldr r3, [r7, #8] - 800884c: 6353 str r3, [r2, #52] - 800884e: e055 b.n 80088fc - } - /* For Rank 7 to 12 */ - else if (Rank < 13) - 8008850: 78bb ldrb r3, [r7, #2] - 8008852: 2b0c cmp r3, #12 - 8008854: d829 bhi.n 80088aa - { - /* Get the old register value */ - tmpreg1 = ADCx->SQR2; - 8008856: 687b ldr r3, [r7, #4] - 8008858: 6b1b ldr r3, [r3, #48] - 800885a: 60bb str r3, [r7, #8] - - /* Calculate the mask to clear */ - tmpreg2 = SQR2_SQ_SET << (5 * (Rank - 7)); - 800885c: 78ba ldrb r2, [r7, #2] - 800885e: 4613 mov r3, r2 - 8008860: ea4f 0383 mov.w r3, r3, lsl #2 - 8008864: 4413 add r3, r2 - 8008866: f1a3 0223 sub.w r2, r3, #35 ; 0x23 - 800886a: f04f 031f mov.w r3, #31 ; 0x1f - 800886e: fa03 f302 lsl.w r3, r3, r2 - 8008872: 60fb str r3, [r7, #12] - - /* Clear the old SQx bits for the selected rank */ - tmpreg1 &= ~tmpreg2; - 8008874: 68fb ldr r3, [r7, #12] - 8008876: ea6f 0203 mvn.w r2, r3 - 800887a: 68bb ldr r3, [r7, #8] - 800887c: ea03 0302 and.w r3, r3, r2 - 8008880: 60bb str r3, [r7, #8] - - /* Calculate the mask to set */ - tmpreg2 = (uint32_t)ADC_Channel << (5 * (Rank - 7)); - 8008882: 78f9 ldrb r1, [r7, #3] - 8008884: 78ba ldrb r2, [r7, #2] - 8008886: 4613 mov r3, r2 - 8008888: ea4f 0383 mov.w r3, r3, lsl #2 - 800888c: 4413 add r3, r2 - 800888e: f1a3 0323 sub.w r3, r3, #35 ; 0x23 - 8008892: fa01 f303 lsl.w r3, r1, r3 - 8008896: 60fb str r3, [r7, #12] - - /* Set the SQx bits for the selected rank */ - tmpreg1 |= tmpreg2; - 8008898: 68ba ldr r2, [r7, #8] - 800889a: 68fb ldr r3, [r7, #12] - 800889c: ea42 0303 orr.w r3, r2, r3 - 80088a0: 60bb str r3, [r7, #8] - - /* Store the new register value */ - ADCx->SQR2 = tmpreg1; - 80088a2: 687a ldr r2, [r7, #4] - 80088a4: 68bb ldr r3, [r7, #8] - 80088a6: 6313 str r3, [r2, #48] - 80088a8: e028 b.n 80088fc - } - /* For Rank 13 to 16 */ - else - { - /* Get the old register value */ - tmpreg1 = ADCx->SQR1; - 80088aa: 687b ldr r3, [r7, #4] - 80088ac: 6adb ldr r3, [r3, #44] - 80088ae: 60bb str r3, [r7, #8] - - /* Calculate the mask to clear */ - tmpreg2 = SQR1_SQ_SET << (5 * (Rank - 13)); - 80088b0: 78ba ldrb r2, [r7, #2] - 80088b2: 4613 mov r3, r2 - 80088b4: ea4f 0383 mov.w r3, r3, lsl #2 - 80088b8: 4413 add r3, r2 - 80088ba: f1a3 0241 sub.w r2, r3, #65 ; 0x41 - 80088be: f04f 031f mov.w r3, #31 ; 0x1f - 80088c2: fa03 f302 lsl.w r3, r3, r2 - 80088c6: 60fb str r3, [r7, #12] - - /* Clear the old SQx bits for the selected rank */ - tmpreg1 &= ~tmpreg2; - 80088c8: 68fb ldr r3, [r7, #12] - 80088ca: ea6f 0203 mvn.w r2, r3 - 80088ce: 68bb ldr r3, [r7, #8] - 80088d0: ea03 0302 and.w r3, r3, r2 - 80088d4: 60bb str r3, [r7, #8] - - /* Calculate the mask to set */ - tmpreg2 = (uint32_t)ADC_Channel << (5 * (Rank - 13)); - 80088d6: 78f9 ldrb r1, [r7, #3] - 80088d8: 78ba ldrb r2, [r7, #2] - 80088da: 4613 mov r3, r2 - 80088dc: ea4f 0383 mov.w r3, r3, lsl #2 - 80088e0: 4413 add r3, r2 - 80088e2: f1a3 0341 sub.w r3, r3, #65 ; 0x41 - 80088e6: fa01 f303 lsl.w r3, r1, r3 - 80088ea: 60fb str r3, [r7, #12] - - /* Set the SQx bits for the selected rank */ - tmpreg1 |= tmpreg2; - 80088ec: 68ba ldr r2, [r7, #8] - 80088ee: 68fb ldr r3, [r7, #12] - 80088f0: ea42 0303 orr.w r3, r2, r3 - 80088f4: 60bb str r3, [r7, #8] - - /* Store the new register value */ - ADCx->SQR1 = tmpreg1; - 80088f6: 687a ldr r2, [r7, #4] - 80088f8: 68bb ldr r3, [r7, #8] - 80088fa: 62d3 str r3, [r2, #44] - } -} - 80088fc: f107 0714 add.w r7, r7, #20 ; 0x14 - 8008900: 46bd mov sp, r7 - 8008902: bc80 pop {r7} - 8008904: 4770 bx lr - 8008906: 46c0 nop (mov r8, r8) - -08008908 : - * @brief Enables the selected ADC software start conversion of the regular channels. - * @param ADCx: where x can be 1, 2 or 3 to select the ADC peripheral. - * @retval None - */ -void ADC_SoftwareStartConv(ADC_TypeDef* ADCx) -{ - 8008908: b480 push {r7} - 800890a: b083 sub sp, #12 - 800890c: af00 add r7, sp, #0 - 800890e: 6078 str r0, [r7, #4] - /* Check the parameters */ - //assert_param(IS_ADC_ALL_PERIPH(ADCx)); - - /* Enable the selected ADC conversion for regular group */ - ADCx->CR2 |= (uint32_t)ADC_CR2_SWSTART; - 8008910: 687b ldr r3, [r7, #4] - 8008912: 689b ldr r3, [r3, #8] - 8008914: f043 4280 orr.w r2, r3, #1073741824 ; 0x40000000 - 8008918: 687b ldr r3, [r7, #4] - 800891a: 609a str r2, [r3, #8] -} - 800891c: f107 070c add.w r7, r7, #12 ; 0xc - 8008920: 46bd mov sp, r7 - 8008922: bc80 pop {r7} - 8008924: 4770 bx lr - 8008926: 46c0 nop (mov r8, r8) - -08008928 : - * @brief Gets the selected ADC Software start regular conversion Status. - * @param ADCx: where x can be 1, 2 or 3 to select the ADC peripheral. - * @retval The new state of ADC software start conversion (SET or RESET). - */ -FlagStatus ADC_GetSoftwareStartConvStatus(ADC_TypeDef* ADCx) -{ - 8008928: b480 push {r7} - 800892a: b085 sub sp, #20 - 800892c: af00 add r7, sp, #0 - 800892e: 6078 str r0, [r7, #4] - FlagStatus bitstatus = RESET; - 8008930: f04f 0300 mov.w r3, #0 ; 0x0 - 8008934: 73fb strb r3, [r7, #15] - /* Check the parameters */ - //assert_param(IS_ADC_ALL_PERIPH(ADCx)); - - /* Check the status of SWSTART bit */ - if ((ADCx->CR2 & ADC_CR2_SWSTART) != (uint32_t)RESET) - 8008936: 687b ldr r3, [r7, #4] - 8008938: 689b ldr r3, [r3, #8] - 800893a: f003 4380 and.w r3, r3, #1073741824 ; 0x40000000 - 800893e: 2b00 cmp r3, #0 - 8008940: d003 beq.n 800894a - { - /* SWSTART bit is set */ - bitstatus = SET; - 8008942: f04f 0301 mov.w r3, #1 ; 0x1 - 8008946: 73fb strb r3, [r7, #15] - 8008948: e002 b.n 8008950 - } - else - { - /* SWSTART bit is reset */ - bitstatus = RESET; - 800894a: f04f 0300 mov.w r3, #0 ; 0x0 - 800894e: 73fb strb r3, [r7, #15] - } - - /* Return the SWSTART bit status */ - return bitstatus; - 8008950: 7bfb ldrb r3, [r7, #15] -} - 8008952: 4618 mov r0, r3 - 8008954: f107 0714 add.w r7, r7, #20 ; 0x14 - 8008958: 46bd mov sp, r7 - 800895a: bc80 pop {r7} - 800895c: 4770 bx lr - 800895e: 46c0 nop (mov r8, r8) - -08008960 : - * @param NewState: new state of the selected ADC EOC flag rising - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void ADC_EOCOnEachRegularChannelCmd(ADC_TypeDef* ADCx, FunctionalState NewState) -{ - 8008960: b480 push {r7} - 8008962: b083 sub sp, #12 - 8008964: af00 add r7, sp, #0 - 8008966: 6078 str r0, [r7, #4] - 8008968: 460b mov r3, r1 - 800896a: 70fb strb r3, [r7, #3] - /* Check the parameters */ - //assert_param(IS_ADC_ALL_PERIPH(ADCx)); - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - 800896c: 78fb ldrb r3, [r7, #3] - 800896e: 2b00 cmp r3, #0 - 8008970: d006 beq.n 8008980 - { - /* Enable the selected ADC EOC rising on each regular channel conversion */ - ADCx->CR2 |= (uint32_t)ADC_CR2_EOCS; - 8008972: 687b ldr r3, [r7, #4] - 8008974: 689b ldr r3, [r3, #8] - 8008976: f443 6280 orr.w r2, r3, #1024 ; 0x400 - 800897a: 687b ldr r3, [r7, #4] - 800897c: 609a str r2, [r3, #8] - 800897e: e005 b.n 800898c - } - else - { - /* Disable the selected ADC EOC rising on each regular channel conversion */ - ADCx->CR2 &= (uint32_t)(~ADC_CR2_EOCS); - 8008980: 687b ldr r3, [r7, #4] - 8008982: 689b ldr r3, [r3, #8] - 8008984: f423 6280 bic.w r2, r3, #1024 ; 0x400 - 8008988: 687b ldr r3, [r7, #4] - 800898a: 609a str r2, [r3, #8] - } -} - 800898c: f107 070c add.w r7, r7, #12 ; 0xc - 8008990: 46bd mov sp, r7 - 8008992: bc80 pop {r7} - 8008994: 4770 bx lr - 8008996: 46c0 nop (mov r8, r8) - -08008998 : - * @param NewState: new state of the selected ADC continuous conversion mode - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void ADC_ContinuousModeCmd(ADC_TypeDef* ADCx, FunctionalState NewState) -{ - 8008998: b480 push {r7} - 800899a: b083 sub sp, #12 - 800899c: af00 add r7, sp, #0 - 800899e: 6078 str r0, [r7, #4] - 80089a0: 460b mov r3, r1 - 80089a2: 70fb strb r3, [r7, #3] - /* Check the parameters */ - //assert_param(IS_ADC_ALL_PERIPH(ADCx)); - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - 80089a4: 78fb ldrb r3, [r7, #3] - 80089a6: 2b00 cmp r3, #0 - 80089a8: d006 beq.n 80089b8 - { - /* Enable the selected ADC continuous conversion mode */ - ADCx->CR2 |= (uint32_t)ADC_CR2_CONT; - 80089aa: 687b ldr r3, [r7, #4] - 80089ac: 689b ldr r3, [r3, #8] - 80089ae: f043 0202 orr.w r2, r3, #2 ; 0x2 - 80089b2: 687b ldr r3, [r7, #4] - 80089b4: 609a str r2, [r3, #8] - 80089b6: e005 b.n 80089c4 - } - else - { - /* Disable the selected ADC continuous conversion mode */ - ADCx->CR2 &= (uint32_t)(~ADC_CR2_CONT); - 80089b8: 687b ldr r3, [r7, #4] - 80089ba: 689b ldr r3, [r3, #8] - 80089bc: f023 0202 bic.w r2, r3, #2 ; 0x2 - 80089c0: 687b ldr r3, [r7, #4] - 80089c2: 609a str r2, [r3, #8] - } -} - 80089c4: f107 070c add.w r7, r7, #12 ; 0xc - 80089c8: 46bd mov sp, r7 - 80089ca: bc80 pop {r7} - 80089cc: 4770 bx lr - 80089ce: 46c0 nop (mov r8, r8) - -080089d0 : - * @param Number: specifies the discontinuous mode regular channel count value. - * This number must be between 1 and 8. - * @retval None - */ -void ADC_DiscModeChannelCountConfig(ADC_TypeDef* ADCx, uint8_t Number) -{ - 80089d0: b480 push {r7} - 80089d2: b085 sub sp, #20 - 80089d4: af00 add r7, sp, #0 - 80089d6: 6078 str r0, [r7, #4] - 80089d8: 460b mov r3, r1 - 80089da: 70fb strb r3, [r7, #3] - uint32_t tmpreg1 = 0; - 80089dc: f04f 0300 mov.w r3, #0 ; 0x0 - 80089e0: 60bb str r3, [r7, #8] - uint32_t tmpreg2 = 0; - 80089e2: f04f 0300 mov.w r3, #0 ; 0x0 - 80089e6: 60fb str r3, [r7, #12] - /* Check the parameters */ - //assert_param(IS_ADC_ALL_PERIPH(ADCx)); - //assert_param(IS_ADC_REGULAR_DISC_NUMBER(Number)); - - /* Get the old register value */ - tmpreg1 = ADCx->CR1; - 80089e8: 687b ldr r3, [r7, #4] - 80089ea: 685b ldr r3, [r3, #4] - 80089ec: 60bb str r3, [r7, #8] - - /* Clear the old discontinuous mode channel count */ - tmpreg1 &= CR1_DISCNUM_RESET; - 80089ee: 68bb ldr r3, [r7, #8] - 80089f0: f423 4360 bic.w r3, r3, #57344 ; 0xe000 - 80089f4: 60bb str r3, [r7, #8] - - /* Set the discontinuous mode channel count */ - tmpreg2 = Number - 1; - 80089f6: 78fb ldrb r3, [r7, #3] - 80089f8: f103 33ff add.w r3, r3, #4294967295 ; 0xffffffff - 80089fc: 60fb str r3, [r7, #12] - tmpreg1 |= tmpreg2 << 13; - 80089fe: 68fb ldr r3, [r7, #12] - 8008a00: ea4f 3243 mov.w r2, r3, lsl #13 - 8008a04: 68bb ldr r3, [r7, #8] - 8008a06: ea43 0302 orr.w r3, r3, r2 - 8008a0a: 60bb str r3, [r7, #8] - - /* Store the new register value */ - ADCx->CR1 = tmpreg1; - 8008a0c: 687a ldr r2, [r7, #4] - 8008a0e: 68bb ldr r3, [r7, #8] - 8008a10: 6053 str r3, [r2, #4] -} - 8008a12: f107 0714 add.w r7, r7, #20 ; 0x14 - 8008a16: 46bd mov sp, r7 - 8008a18: bc80 pop {r7} - 8008a1a: 4770 bx lr - -08008a1c : - * regular group channel. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void ADC_DiscModeCmd(ADC_TypeDef* ADCx, FunctionalState NewState) -{ - 8008a1c: b480 push {r7} - 8008a1e: b083 sub sp, #12 - 8008a20: af00 add r7, sp, #0 - 8008a22: 6078 str r0, [r7, #4] - 8008a24: 460b mov r3, r1 - 8008a26: 70fb strb r3, [r7, #3] - /* Check the parameters */ - //assert_param(IS_ADC_ALL_PERIPH(ADCx)); - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - 8008a28: 78fb ldrb r3, [r7, #3] - 8008a2a: 2b00 cmp r3, #0 - 8008a2c: d006 beq.n 8008a3c - { - /* Enable the selected ADC regular discontinuous mode */ - ADCx->CR1 |= (uint32_t)ADC_CR1_DISCEN; - 8008a2e: 687b ldr r3, [r7, #4] - 8008a30: 685b ldr r3, [r3, #4] - 8008a32: f443 6200 orr.w r2, r3, #2048 ; 0x800 - 8008a36: 687b ldr r3, [r7, #4] - 8008a38: 605a str r2, [r3, #4] - 8008a3a: e005 b.n 8008a48 - } - else - { - /* Disable the selected ADC regular discontinuous mode */ - ADCx->CR1 &= (uint32_t)(~ADC_CR1_DISCEN); - 8008a3c: 687b ldr r3, [r7, #4] - 8008a3e: 685b ldr r3, [r3, #4] - 8008a40: f423 6200 bic.w r2, r3, #2048 ; 0x800 - 8008a44: 687b ldr r3, [r7, #4] - 8008a46: 605a str r2, [r3, #4] - } -} - 8008a48: f107 070c add.w r7, r7, #12 ; 0xc - 8008a4c: 46bd mov sp, r7 - 8008a4e: bc80 pop {r7} - 8008a50: 4770 bx lr - 8008a52: 46c0 nop (mov r8, r8) - -08008a54 : - * @brief Returns the last ADCx conversion result data for regular channel. - * @param ADCx: where x can be 1, 2 or 3 to select the ADC peripheral. - * @retval The Data conversion value. - */ -uint16_t ADC_GetConversionValue(ADC_TypeDef* ADCx) -{ - 8008a54: b480 push {r7} - 8008a56: b083 sub sp, #12 - 8008a58: af00 add r7, sp, #0 - 8008a5a: 6078 str r0, [r7, #4] - /* Check the parameters */ - //assert_param(IS_ADC_ALL_PERIPH(ADCx)); - - /* Return the selected ADC conversion value */ - return (uint16_t) ADCx->DR; - 8008a5c: 687b ldr r3, [r7, #4] - 8008a5e: 6cdb ldr r3, [r3, #76] - 8008a60: b29b uxth r3, r3 -} - 8008a62: 4618 mov r0, r3 - 8008a64: f107 070c add.w r7, r7, #12 ; 0xc - 8008a68: 46bd mov sp, r7 - 8008a6a: bc80 pop {r7} - 8008a6c: 4770 bx lr - 8008a6e: 46c0 nop (mov r8, r8) - -08008a70 : - * @note In triple mode, the value returned by this function is as following - * Data[15:0] : these bits contain alternatively the regular data of ADC1, ADC3 and ADC2. - * Data[31:16]: these bits contain alternatively the regular data of ADC2, ADC1 and ADC3. - */ -uint32_t ADC_GetMultiModeConversionValue(void) -{ - 8008a70: b480 push {r7} - 8008a72: af00 add r7, sp, #0 - /* Return the multi mode conversion value */ - return (*(__IO uint32_t *) CDR_ADDRESS); - 8008a74: 4b02 ldr r3, [pc, #8] (8008a80 ) - 8008a76: 681b ldr r3, [r3, #0] -} - 8008a78: 4618 mov r0, r3 - 8008a7a: 46bd mov sp, r7 - 8008a7c: bc80 pop {r7} - 8008a7e: 4770 bx lr - 8008a80: 40012308 .word 0x40012308 - -08008a84 : - * @param NewState: new state of the selected ADC DMA transfer. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void ADC_DMACmd(ADC_TypeDef* ADCx, FunctionalState NewState) -{ - 8008a84: b480 push {r7} - 8008a86: b083 sub sp, #12 - 8008a88: af00 add r7, sp, #0 - 8008a8a: 6078 str r0, [r7, #4] - 8008a8c: 460b mov r3, r1 - 8008a8e: 70fb strb r3, [r7, #3] - /* Check the parameters */ - //assert_param(IS_ADC_ALL_PERIPH(ADCx)); - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - 8008a90: 78fb ldrb r3, [r7, #3] - 8008a92: 2b00 cmp r3, #0 - 8008a94: d006 beq.n 8008aa4 - { - /* Enable the selected ADC DMA request */ - ADCx->CR2 |= (uint32_t)ADC_CR2_DMA; - 8008a96: 687b ldr r3, [r7, #4] - 8008a98: 689b ldr r3, [r3, #8] - 8008a9a: f443 7280 orr.w r2, r3, #256 ; 0x100 - 8008a9e: 687b ldr r3, [r7, #4] - 8008aa0: 609a str r2, [r3, #8] - 8008aa2: e005 b.n 8008ab0 - } - else - { - /* Disable the selected ADC DMA request */ - ADCx->CR2 &= (uint32_t)(~ADC_CR2_DMA); - 8008aa4: 687b ldr r3, [r7, #4] - 8008aa6: 689b ldr r3, [r3, #8] - 8008aa8: f423 7280 bic.w r2, r3, #256 ; 0x100 - 8008aac: 687b ldr r3, [r7, #4] - 8008aae: 609a str r2, [r3, #8] - } -} - 8008ab0: f107 070c add.w r7, r7, #12 ; 0xc - 8008ab4: 46bd mov sp, r7 - 8008ab6: bc80 pop {r7} - 8008ab8: 4770 bx lr - 8008aba: 46c0 nop (mov r8, r8) - -08008abc : - * @param NewState: new state of the selected ADC DMA request after last transfer. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void ADC_DMARequestAfterLastTransferCmd(ADC_TypeDef* ADCx, FunctionalState NewState) -{ - 8008abc: b480 push {r7} - 8008abe: b083 sub sp, #12 - 8008ac0: af00 add r7, sp, #0 - 8008ac2: 6078 str r0, [r7, #4] - 8008ac4: 460b mov r3, r1 - 8008ac6: 70fb strb r3, [r7, #3] - /* Check the parameters */ - //assert_param(IS_ADC_ALL_PERIPH(ADCx)); - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - 8008ac8: 78fb ldrb r3, [r7, #3] - 8008aca: 2b00 cmp r3, #0 - 8008acc: d006 beq.n 8008adc - { - /* Enable the selected ADC DMA request after last transfer */ - ADCx->CR2 |= (uint32_t)ADC_CR2_DDS; - 8008ace: 687b ldr r3, [r7, #4] - 8008ad0: 689b ldr r3, [r3, #8] - 8008ad2: f443 7200 orr.w r2, r3, #512 ; 0x200 - 8008ad6: 687b ldr r3, [r7, #4] - 8008ad8: 609a str r2, [r3, #8] - 8008ada: e005 b.n 8008ae8 - } - else - { - /* Disable the selected ADC DMA request after last transfer */ - ADCx->CR2 &= (uint32_t)(~ADC_CR2_DDS); - 8008adc: 687b ldr r3, [r7, #4] - 8008ade: 689b ldr r3, [r3, #8] - 8008ae0: f423 7200 bic.w r2, r3, #512 ; 0x200 - 8008ae4: 687b ldr r3, [r7, #4] - 8008ae6: 609a str r2, [r3, #8] - } -} - 8008ae8: f107 070c add.w r7, r7, #12 ; 0xc - 8008aec: 46bd mov sp, r7 - 8008aee: bc80 pop {r7} - 8008af0: 4770 bx lr - 8008af2: 46c0 nop (mov r8, r8) - -08008af4 : - * by ADC_CommonInitStruct.ADC_DMAAccessMode structure member) is - * ADC_DMAAccessMode_1, ADC_DMAAccessMode_2 or ADC_DMAAccessMode_3. - * @retval None - */ -void ADC_MultiModeDMARequestAfterLastTransferCmd(FunctionalState NewState) -{ - 8008af4: b480 push {r7} - 8008af6: b083 sub sp, #12 - 8008af8: af00 add r7, sp, #0 - 8008afa: 4603 mov r3, r0 - 8008afc: 71fb strb r3, [r7, #7] - /* Check the parameters */ - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - 8008afe: 79fb ldrb r3, [r7, #7] - 8008b00: 2b00 cmp r3, #0 - 8008b02: d006 beq.n 8008b12 - { - /* Enable the selected ADC DMA request after last transfer */ - ADC->CCR |= (uint32_t)ADC_CCR_DDS; - 8008b04: 4a08 ldr r2, [pc, #32] (8008b28 ) - 8008b06: 4b08 ldr r3, [pc, #32] (8008b28 ) - 8008b08: 685b ldr r3, [r3, #4] - 8008b0a: f443 5300 orr.w r3, r3, #8192 ; 0x2000 - 8008b0e: 6053 str r3, [r2, #4] - 8008b10: e005 b.n 8008b1e - } - else - { - /* Disable the selected ADC DMA request after last transfer */ - ADC->CCR &= (uint32_t)(~ADC_CCR_DDS); - 8008b12: 4a05 ldr r2, [pc, #20] (8008b28 ) - 8008b14: 4b04 ldr r3, [pc, #16] (8008b28 ) - 8008b16: 685b ldr r3, [r3, #4] - 8008b18: f423 5300 bic.w r3, r3, #8192 ; 0x2000 - 8008b1c: 6053 str r3, [r2, #4] - } -} - 8008b1e: f107 070c add.w r7, r7, #12 ; 0xc - 8008b22: 46bd mov sp, r7 - 8008b24: bc80 pop {r7} - 8008b26: 4770 bx lr - 8008b28: 40012300 .word 0x40012300 - -08008b2c : - * @arg ADC_SampleTime_144Cycles: Sample time equal to 144 cycles - * @arg ADC_SampleTime_480Cycles: Sample time equal to 480 cycles - * @retval None - */ -void ADC_InjectedChannelConfig(ADC_TypeDef* ADCx, uint8_t ADC_Channel, uint8_t Rank, uint8_t ADC_SampleTime) -{ - 8008b2c: b480 push {r7} - 8008b2e: b087 sub sp, #28 - 8008b30: af00 add r7, sp, #0 - 8008b32: 6078 str r0, [r7, #4] - 8008b34: 4618 mov r0, r3 - 8008b36: 460b mov r3, r1 - 8008b38: 70fb strb r3, [r7, #3] - 8008b3a: 4613 mov r3, r2 - 8008b3c: 70bb strb r3, [r7, #2] - 8008b3e: 4603 mov r3, r0 - 8008b40: 707b strb r3, [r7, #1] - uint32_t tmpreg1 = 0, tmpreg2 = 0, tmpreg3 = 0; - 8008b42: f04f 0300 mov.w r3, #0 ; 0x0 - 8008b46: 60fb str r3, [r7, #12] - 8008b48: f04f 0300 mov.w r3, #0 ; 0x0 - 8008b4c: 613b str r3, [r7, #16] - 8008b4e: f04f 0300 mov.w r3, #0 ; 0x0 - 8008b52: 617b str r3, [r7, #20] - //assert_param(IS_ADC_ALL_PERIPH(ADCx)); - //assert_param(IS_ADC_CHANNEL(ADC_Channel)); - //assert_param(IS_ADC_INJECTED_RANK(Rank)); - //assert_param(IS_ADC_SAMPLE_TIME(ADC_SampleTime)); - /* if ADC_Channel_10 ... ADC_Channel_18 is selected */ - if (ADC_Channel > ADC_Channel_9) - 8008b54: 78fb ldrb r3, [r7, #3] - 8008b56: 2b09 cmp r3, #9 - 8008b58: d929 bls.n 8008bae - { - /* Get the old register value */ - tmpreg1 = ADCx->SMPR1; - 8008b5a: 687b ldr r3, [r7, #4] - 8008b5c: 68db ldr r3, [r3, #12] - 8008b5e: 60fb str r3, [r7, #12] - /* Calculate the mask to clear */ - tmpreg2 = SMPR1_SMP_SET << (3*(ADC_Channel - 10)); - 8008b60: 78fa ldrb r2, [r7, #3] - 8008b62: 4613 mov r3, r2 - 8008b64: ea4f 0343 mov.w r3, r3, lsl #1 - 8008b68: 4413 add r3, r2 - 8008b6a: f1a3 021e sub.w r2, r3, #30 ; 0x1e - 8008b6e: f04f 0307 mov.w r3, #7 ; 0x7 - 8008b72: fa03 f302 lsl.w r3, r3, r2 - 8008b76: 613b str r3, [r7, #16] - /* Clear the old sample time */ - tmpreg1 &= ~tmpreg2; - 8008b78: 693b ldr r3, [r7, #16] - 8008b7a: ea6f 0203 mvn.w r2, r3 - 8008b7e: 68fb ldr r3, [r7, #12] - 8008b80: ea03 0302 and.w r3, r3, r2 - 8008b84: 60fb str r3, [r7, #12] - /* Calculate the mask to set */ - tmpreg2 = (uint32_t)ADC_SampleTime << (3*(ADC_Channel - 10)); - 8008b86: 7879 ldrb r1, [r7, #1] - 8008b88: 78fa ldrb r2, [r7, #3] - 8008b8a: 4613 mov r3, r2 - 8008b8c: ea4f 0343 mov.w r3, r3, lsl #1 - 8008b90: 4413 add r3, r2 - 8008b92: f1a3 031e sub.w r3, r3, #30 ; 0x1e - 8008b96: fa01 f303 lsl.w r3, r1, r3 - 8008b9a: 613b str r3, [r7, #16] - /* Set the new sample time */ - tmpreg1 |= tmpreg2; - 8008b9c: 68fa ldr r2, [r7, #12] - 8008b9e: 693b ldr r3, [r7, #16] - 8008ba0: ea42 0303 orr.w r3, r2, r3 - 8008ba4: 60fb str r3, [r7, #12] - /* Store the new register value */ - ADCx->SMPR1 = tmpreg1; - 8008ba6: 687a ldr r2, [r7, #4] - 8008ba8: 68fb ldr r3, [r7, #12] - 8008baa: 60d3 str r3, [r2, #12] - 8008bac: e024 b.n 8008bf8 - } - else /* ADC_Channel include in ADC_Channel_[0..9] */ - { - /* Get the old register value */ - tmpreg1 = ADCx->SMPR2; - 8008bae: 687b ldr r3, [r7, #4] - 8008bb0: 691b ldr r3, [r3, #16] - 8008bb2: 60fb str r3, [r7, #12] - /* Calculate the mask to clear */ - tmpreg2 = SMPR2_SMP_SET << (3 * ADC_Channel); - 8008bb4: 78fa ldrb r2, [r7, #3] - 8008bb6: 4613 mov r3, r2 - 8008bb8: ea4f 0343 mov.w r3, r3, lsl #1 - 8008bbc: 441a add r2, r3 - 8008bbe: f04f 0307 mov.w r3, #7 ; 0x7 - 8008bc2: fa03 f302 lsl.w r3, r3, r2 - 8008bc6: 613b str r3, [r7, #16] - /* Clear the old sample time */ - tmpreg1 &= ~tmpreg2; - 8008bc8: 693b ldr r3, [r7, #16] - 8008bca: ea6f 0203 mvn.w r2, r3 - 8008bce: 68fb ldr r3, [r7, #12] - 8008bd0: ea03 0302 and.w r3, r3, r2 - 8008bd4: 60fb str r3, [r7, #12] - /* Calculate the mask to set */ - tmpreg2 = (uint32_t)ADC_SampleTime << (3 * ADC_Channel); - 8008bd6: 7879 ldrb r1, [r7, #1] - 8008bd8: 78fa ldrb r2, [r7, #3] - 8008bda: 4613 mov r3, r2 - 8008bdc: ea4f 0343 mov.w r3, r3, lsl #1 - 8008be0: 4413 add r3, r2 - 8008be2: fa01 f303 lsl.w r3, r1, r3 - 8008be6: 613b str r3, [r7, #16] - /* Set the new sample time */ - tmpreg1 |= tmpreg2; - 8008be8: 68fa ldr r2, [r7, #12] - 8008bea: 693b ldr r3, [r7, #16] - 8008bec: ea42 0303 orr.w r3, r2, r3 - 8008bf0: 60fb str r3, [r7, #12] - /* Store the new register value */ - ADCx->SMPR2 = tmpreg1; - 8008bf2: 687a ldr r2, [r7, #4] - 8008bf4: 68fb ldr r3, [r7, #12] - 8008bf6: 6113 str r3, [r2, #16] - } - /* Rank configuration */ - /* Get the old register value */ - tmpreg1 = ADCx->JSQR; - 8008bf8: 687b ldr r3, [r7, #4] - 8008bfa: 6b9b ldr r3, [r3, #56] - 8008bfc: 60fb str r3, [r7, #12] - /* Get JL value: Number = JL+1 */ - tmpreg3 = (tmpreg1 & JSQR_JL_SET)>> 20; - 8008bfe: 68fb ldr r3, [r7, #12] - 8008c00: f403 1340 and.w r3, r3, #3145728 ; 0x300000 - 8008c04: ea4f 5313 mov.w r3, r3, lsr #20 - 8008c08: 617b str r3, [r7, #20] - /* Calculate the mask to clear: ((Rank-1)+(4-JL-1)) */ - tmpreg2 = JSQR_JSQ_SET << (5 * (uint8_t)((Rank + 3) - (tmpreg3 + 1))); - 8008c0a: 697b ldr r3, [r7, #20] - 8008c0c: b2db uxtb r3, r3 - 8008c0e: ea6f 0303 mvn.w r3, r3 - 8008c12: b2da uxtb r2, r3 - 8008c14: 78bb ldrb r3, [r7, #2] - 8008c16: 4413 add r3, r2 - 8008c18: b2db uxtb r3, r3 - 8008c1a: f103 0303 add.w r3, r3, #3 ; 0x3 - 8008c1e: b2db uxtb r3, r3 - 8008c20: 461a mov r2, r3 - 8008c22: 4613 mov r3, r2 - 8008c24: ea4f 0383 mov.w r3, r3, lsl #2 - 8008c28: 441a add r2, r3 - 8008c2a: f04f 031f mov.w r3, #31 ; 0x1f - 8008c2e: fa03 f302 lsl.w r3, r3, r2 - 8008c32: 613b str r3, [r7, #16] - /* Clear the old JSQx bits for the selected rank */ - tmpreg1 &= ~tmpreg2; - 8008c34: 693b ldr r3, [r7, #16] - 8008c36: ea6f 0203 mvn.w r2, r3 - 8008c3a: 68fb ldr r3, [r7, #12] - 8008c3c: ea03 0302 and.w r3, r3, r2 - 8008c40: 60fb str r3, [r7, #12] - /* Calculate the mask to set: ((Rank-1)+(4-JL-1)) */ - tmpreg2 = (uint32_t)ADC_Channel << (5 * (uint8_t)((Rank + 3) - (tmpreg3 + 1))); - 8008c42: 78f9 ldrb r1, [r7, #3] - 8008c44: 697b ldr r3, [r7, #20] - 8008c46: b2db uxtb r3, r3 - 8008c48: ea6f 0303 mvn.w r3, r3 - 8008c4c: b2da uxtb r2, r3 - 8008c4e: 78bb ldrb r3, [r7, #2] - 8008c50: 4413 add r3, r2 - 8008c52: b2db uxtb r3, r3 - 8008c54: f103 0303 add.w r3, r3, #3 ; 0x3 - 8008c58: b2db uxtb r3, r3 - 8008c5a: 461a mov r2, r3 - 8008c5c: 4613 mov r3, r2 - 8008c5e: ea4f 0383 mov.w r3, r3, lsl #2 - 8008c62: 4413 add r3, r2 - 8008c64: fa01 f303 lsl.w r3, r1, r3 - 8008c68: 613b str r3, [r7, #16] - /* Set the JSQx bits for the selected rank */ - tmpreg1 |= tmpreg2; - 8008c6a: 68fa ldr r2, [r7, #12] - 8008c6c: 693b ldr r3, [r7, #16] - 8008c6e: ea42 0303 orr.w r3, r2, r3 - 8008c72: 60fb str r3, [r7, #12] - /* Store the new register value */ - ADCx->JSQR = tmpreg1; - 8008c74: 687a ldr r2, [r7, #4] - 8008c76: 68fb ldr r3, [r7, #12] - 8008c78: 6393 str r3, [r2, #56] -} - 8008c7a: f107 071c add.w r7, r7, #28 ; 0x1c - 8008c7e: 46bd mov sp, r7 - 8008c80: bc80 pop {r7} - 8008c82: 4770 bx lr - -08008c84 : - * @param Length: The sequencer length. - * This parameter must be a number between 1 to 4. - * @retval None - */ -void ADC_InjectedSequencerLengthConfig(ADC_TypeDef* ADCx, uint8_t Length) -{ - 8008c84: b480 push {r7} - 8008c86: b085 sub sp, #20 - 8008c88: af00 add r7, sp, #0 - 8008c8a: 6078 str r0, [r7, #4] - 8008c8c: 460b mov r3, r1 - 8008c8e: 70fb strb r3, [r7, #3] - uint32_t tmpreg1 = 0; - 8008c90: f04f 0300 mov.w r3, #0 ; 0x0 - 8008c94: 60bb str r3, [r7, #8] - uint32_t tmpreg2 = 0; - 8008c96: f04f 0300 mov.w r3, #0 ; 0x0 - 8008c9a: 60fb str r3, [r7, #12] - /* Check the parameters */ - //assert_param(IS_ADC_ALL_PERIPH(ADCx)); - //assert_param(IS_ADC_INJECTED_LENGTH(Length)); - - /* Get the old register value */ - tmpreg1 = ADCx->JSQR; - 8008c9c: 687b ldr r3, [r7, #4] - 8008c9e: 6b9b ldr r3, [r3, #56] - 8008ca0: 60bb str r3, [r7, #8] - - /* Clear the old injected sequence length JL bits */ - tmpreg1 &= JSQR_JL_RESET; - 8008ca2: 68bb ldr r3, [r7, #8] - 8008ca4: f423 1340 bic.w r3, r3, #3145728 ; 0x300000 - 8008ca8: 60bb str r3, [r7, #8] - - /* Set the injected sequence length JL bits */ - tmpreg2 = Length - 1; - 8008caa: 78fb ldrb r3, [r7, #3] - 8008cac: f103 33ff add.w r3, r3, #4294967295 ; 0xffffffff - 8008cb0: 60fb str r3, [r7, #12] - tmpreg1 |= tmpreg2 << 20; - 8008cb2: 68fb ldr r3, [r7, #12] - 8008cb4: ea4f 5203 mov.w r2, r3, lsl #20 - 8008cb8: 68bb ldr r3, [r7, #8] - 8008cba: ea43 0302 orr.w r3, r3, r2 - 8008cbe: 60bb str r3, [r7, #8] - - /* Store the new register value */ - ADCx->JSQR = tmpreg1; - 8008cc0: 687a ldr r2, [r7, #4] - 8008cc2: 68bb ldr r3, [r7, #8] - 8008cc4: 6393 str r3, [r2, #56] -} - 8008cc6: f107 0714 add.w r7, r7, #20 ; 0x14 - 8008cca: 46bd mov sp, r7 - 8008ccc: bc80 pop {r7} - 8008cce: 4770 bx lr - -08008cd0 : - * @param Offset: the offset value for the selected ADC injected channel - * This parameter must be a 12bit value. - * @retval None - */ -void ADC_SetInjectedOffset(ADC_TypeDef* ADCx, uint8_t ADC_InjectedChannel, uint16_t Offset) -{ - 8008cd0: b480 push {r7} - 8008cd2: b085 sub sp, #20 - 8008cd4: af00 add r7, sp, #0 - 8008cd6: 6078 str r0, [r7, #4] - 8008cd8: 460b mov r3, r1 - 8008cda: 70fb strb r3, [r7, #3] - 8008cdc: 4613 mov r3, r2 - 8008cde: 803b strh r3, [r7, #0] - __IO uint32_t tmp = 0; - 8008ce0: f04f 0300 mov.w r3, #0 ; 0x0 - 8008ce4: 60fb str r3, [r7, #12] - /* Check the parameters */ - //assert_param(IS_ADC_ALL_PERIPH(ADCx)); - //assert_param(IS_ADC_INJECTED_CHANNEL(ADC_InjectedChannel)); - //assert_param(IS_ADC_OFFSET(Offset)); - - tmp = (uint32_t)ADCx; - 8008ce6: 687b ldr r3, [r7, #4] - 8008ce8: 60fb str r3, [r7, #12] - tmp += ADC_InjectedChannel; - 8008cea: 78fa ldrb r2, [r7, #3] - 8008cec: 68fb ldr r3, [r7, #12] - 8008cee: 4413 add r3, r2 - 8008cf0: 60fb str r3, [r7, #12] - - /* Set the selected injected channel data offset */ - *(__IO uint32_t *) tmp = (uint32_t)Offset; - 8008cf2: 68fb ldr r3, [r7, #12] - 8008cf4: 461a mov r2, r3 - 8008cf6: 883b ldrh r3, [r7, #0] - 8008cf8: 6013 str r3, [r2, #0] -} - 8008cfa: f107 0714 add.w r7, r7, #20 ; 0x14 - 8008cfe: 46bd mov sp, r7 - 8008d00: bc80 pop {r7} - 8008d02: 4770 bx lr - -08008d04 : - * @arg ADC_ExternalTrigInjecConv_T8_CC4: Timer8 capture compare4 selected - * @arg ADC_ExternalTrigInjecConv_Ext_IT15: External interrupt line 15 event selected - * @retval None - */ -void ADC_ExternalTrigInjectedConvConfig(ADC_TypeDef* ADCx, uint32_t ADC_ExternalTrigInjecConv) -{ - 8008d04: b480 push {r7} - 8008d06: b085 sub sp, #20 - 8008d08: af00 add r7, sp, #0 - 8008d0a: 6078 str r0, [r7, #4] - 8008d0c: 6039 str r1, [r7, #0] - uint32_t tmpreg = 0; - 8008d0e: f04f 0300 mov.w r3, #0 ; 0x0 - 8008d12: 60fb str r3, [r7, #12] - /* Check the parameters */ - //assert_param(IS_ADC_ALL_PERIPH(ADCx)); - //assert_param(IS_ADC_EXT_INJEC_TRIG(ADC_ExternalTrigInjecConv)); - - /* Get the old register value */ - tmpreg = ADCx->CR2; - 8008d14: 687b ldr r3, [r7, #4] - 8008d16: 689b ldr r3, [r3, #8] - 8008d18: 60fb str r3, [r7, #12] - - /* Clear the old external event selection for injected group */ - tmpreg &= CR2_JEXTSEL_RESET; - 8008d1a: 68fb ldr r3, [r7, #12] - 8008d1c: f423 2370 bic.w r3, r3, #983040 ; 0xf0000 - 8008d20: 60fb str r3, [r7, #12] - - /* Set the external event selection for injected group */ - tmpreg |= ADC_ExternalTrigInjecConv; - 8008d22: 68fa ldr r2, [r7, #12] - 8008d24: 683b ldr r3, [r7, #0] - 8008d26: ea42 0303 orr.w r3, r2, r3 - 8008d2a: 60fb str r3, [r7, #12] - - /* Store the new register value */ - ADCx->CR2 = tmpreg; - 8008d2c: 687a ldr r2, [r7, #4] - 8008d2e: 68fb ldr r3, [r7, #12] - 8008d30: 6093 str r3, [r2, #8] -} - 8008d32: f107 0714 add.w r7, r7, #20 ; 0x14 - 8008d36: 46bd mov sp, r7 - 8008d38: bc80 pop {r7} - 8008d3a: 4770 bx lr - -08008d3c : - * @arg ADC_ExternalTrigInjecConvEdge_RisingFalling: detection on both rising - * and falling edge - * @retval None - */ -void ADC_ExternalTrigInjectedConvEdgeConfig(ADC_TypeDef* ADCx, uint32_t ADC_ExternalTrigInjecConvEdge) -{ - 8008d3c: b480 push {r7} - 8008d3e: b085 sub sp, #20 - 8008d40: af00 add r7, sp, #0 - 8008d42: 6078 str r0, [r7, #4] - 8008d44: 6039 str r1, [r7, #0] - uint32_t tmpreg = 0; - 8008d46: f04f 0300 mov.w r3, #0 ; 0x0 - 8008d4a: 60fb str r3, [r7, #12] - /* Check the parameters */ - //assert_param(IS_ADC_ALL_PERIPH(ADCx)); - //assert_param(IS_ADC_EXT_INJEC_TRIG_EDGE(ADC_ExternalTrigInjecConvEdge)); - /* Get the old register value */ - tmpreg = ADCx->CR2; - 8008d4c: 687b ldr r3, [r7, #4] - 8008d4e: 689b ldr r3, [r3, #8] - 8008d50: 60fb str r3, [r7, #12] - /* Clear the old external trigger edge for injected group */ - tmpreg &= CR2_JEXTEN_RESET; - 8008d52: 68fb ldr r3, [r7, #12] - 8008d54: f423 1340 bic.w r3, r3, #3145728 ; 0x300000 - 8008d58: 60fb str r3, [r7, #12] - /* Set the new external trigger edge for injected group */ - tmpreg |= ADC_ExternalTrigInjecConvEdge; - 8008d5a: 68fa ldr r2, [r7, #12] - 8008d5c: 683b ldr r3, [r7, #0] - 8008d5e: ea42 0303 orr.w r3, r2, r3 - 8008d62: 60fb str r3, [r7, #12] - /* Store the new register value */ - ADCx->CR2 = tmpreg; - 8008d64: 687a ldr r2, [r7, #4] - 8008d66: 68fb ldr r3, [r7, #12] - 8008d68: 6093 str r3, [r2, #8] -} - 8008d6a: f107 0714 add.w r7, r7, #20 ; 0x14 - 8008d6e: 46bd mov sp, r7 - 8008d70: bc80 pop {r7} - 8008d72: 4770 bx lr - -08008d74 : - * @brief Enables the selected ADC software start conversion of the injected channels. - * @param ADCx: where x can be 1, 2 or 3 to select the ADC peripheral. - * @retval None - */ -void ADC_SoftwareStartInjectedConv(ADC_TypeDef* ADCx) -{ - 8008d74: b480 push {r7} - 8008d76: b083 sub sp, #12 - 8008d78: af00 add r7, sp, #0 - 8008d7a: 6078 str r0, [r7, #4] - /* Check the parameters */ - //assert_param(IS_ADC_ALL_PERIPH(ADCx)); - /* Enable the selected ADC conversion for injected group */ - ADCx->CR2 |= (uint32_t)ADC_CR2_JSWSTART; - 8008d7c: 687b ldr r3, [r7, #4] - 8008d7e: 689b ldr r3, [r3, #8] - 8008d80: f443 0280 orr.w r2, r3, #4194304 ; 0x400000 - 8008d84: 687b ldr r3, [r7, #4] - 8008d86: 609a str r2, [r3, #8] -} - 8008d88: f107 070c add.w r7, r7, #12 ; 0xc - 8008d8c: 46bd mov sp, r7 - 8008d8e: bc80 pop {r7} - 8008d90: 4770 bx lr - 8008d92: 46c0 nop (mov r8, r8) - -08008d94 : - * @brief Gets the selected ADC Software start injected conversion Status. - * @param ADCx: where x can be 1, 2 or 3 to select the ADC peripheral. - * @retval The new state of ADC software start injected conversion (SET or RESET). - */ -FlagStatus ADC_GetSoftwareStartInjectedConvCmdStatus(ADC_TypeDef* ADCx) -{ - 8008d94: b480 push {r7} - 8008d96: b085 sub sp, #20 - 8008d98: af00 add r7, sp, #0 - 8008d9a: 6078 str r0, [r7, #4] - FlagStatus bitstatus = RESET; - 8008d9c: f04f 0300 mov.w r3, #0 ; 0x0 - 8008da0: 73fb strb r3, [r7, #15] - /* Check the parameters */ - //assert_param(IS_ADC_ALL_PERIPH(ADCx)); - - /* Check the status of JSWSTART bit */ - if ((ADCx->CR2 & ADC_CR2_JSWSTART) != (uint32_t)RESET) - 8008da2: 687b ldr r3, [r7, #4] - 8008da4: 689b ldr r3, [r3, #8] - 8008da6: f403 0380 and.w r3, r3, #4194304 ; 0x400000 - 8008daa: 2b00 cmp r3, #0 - 8008dac: d003 beq.n 8008db6 - { - /* JSWSTART bit is set */ - bitstatus = SET; - 8008dae: f04f 0301 mov.w r3, #1 ; 0x1 - 8008db2: 73fb strb r3, [r7, #15] - 8008db4: e002 b.n 8008dbc - } - else - { - /* JSWSTART bit is reset */ - bitstatus = RESET; - 8008db6: f04f 0300 mov.w r3, #0 ; 0x0 - 8008dba: 73fb strb r3, [r7, #15] - } - /* Return the JSWSTART bit status */ - return bitstatus; - 8008dbc: 7bfb ldrb r3, [r7, #15] -} - 8008dbe: 4618 mov r0, r3 - 8008dc0: f107 0714 add.w r7, r7, #20 ; 0x14 - 8008dc4: 46bd mov sp, r7 - 8008dc6: bc80 pop {r7} - 8008dc8: 4770 bx lr - 8008dca: 46c0 nop (mov r8, r8) - -08008dcc : - * @param NewState: new state of the selected ADC auto injected conversion - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void ADC_AutoInjectedConvCmd(ADC_TypeDef* ADCx, FunctionalState NewState) -{ - 8008dcc: b480 push {r7} - 8008dce: b083 sub sp, #12 - 8008dd0: af00 add r7, sp, #0 - 8008dd2: 6078 str r0, [r7, #4] - 8008dd4: 460b mov r3, r1 - 8008dd6: 70fb strb r3, [r7, #3] - /* Check the parameters */ - //assert_param(IS_ADC_ALL_PERIPH(ADCx)); - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - 8008dd8: 78fb ldrb r3, [r7, #3] - 8008dda: 2b00 cmp r3, #0 - 8008ddc: d006 beq.n 8008dec - { - /* Enable the selected ADC automatic injected group conversion */ - ADCx->CR1 |= (uint32_t)ADC_CR1_JAUTO; - 8008dde: 687b ldr r3, [r7, #4] - 8008de0: 685b ldr r3, [r3, #4] - 8008de2: f443 6280 orr.w r2, r3, #1024 ; 0x400 - 8008de6: 687b ldr r3, [r7, #4] - 8008de8: 605a str r2, [r3, #4] - 8008dea: e005 b.n 8008df8 - } - else - { - /* Disable the selected ADC automatic injected group conversion */ - ADCx->CR1 &= (uint32_t)(~ADC_CR1_JAUTO); - 8008dec: 687b ldr r3, [r7, #4] - 8008dee: 685b ldr r3, [r3, #4] - 8008df0: f423 6280 bic.w r2, r3, #1024 ; 0x400 - 8008df4: 687b ldr r3, [r7, #4] - 8008df6: 605a str r2, [r3, #4] - } -} - 8008df8: f107 070c add.w r7, r7, #12 ; 0xc - 8008dfc: 46bd mov sp, r7 - 8008dfe: bc80 pop {r7} - 8008e00: 4770 bx lr - 8008e02: 46c0 nop (mov r8, r8) - -08008e04 : - * group channel. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void ADC_InjectedDiscModeCmd(ADC_TypeDef* ADCx, FunctionalState NewState) -{ - 8008e04: b480 push {r7} - 8008e06: b083 sub sp, #12 - 8008e08: af00 add r7, sp, #0 - 8008e0a: 6078 str r0, [r7, #4] - 8008e0c: 460b mov r3, r1 - 8008e0e: 70fb strb r3, [r7, #3] - /* Check the parameters */ - //assert_param(IS_ADC_ALL_PERIPH(ADCx)); - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - 8008e10: 78fb ldrb r3, [r7, #3] - 8008e12: 2b00 cmp r3, #0 - 8008e14: d006 beq.n 8008e24 - { - /* Enable the selected ADC injected discontinuous mode */ - ADCx->CR1 |= (uint32_t)ADC_CR1_JDISCEN; - 8008e16: 687b ldr r3, [r7, #4] - 8008e18: 685b ldr r3, [r3, #4] - 8008e1a: f443 5280 orr.w r2, r3, #4096 ; 0x1000 - 8008e1e: 687b ldr r3, [r7, #4] - 8008e20: 605a str r2, [r3, #4] - 8008e22: e005 b.n 8008e30 - } - else - { - /* Disable the selected ADC injected discontinuous mode */ - ADCx->CR1 &= (uint32_t)(~ADC_CR1_JDISCEN); - 8008e24: 687b ldr r3, [r7, #4] - 8008e26: 685b ldr r3, [r3, #4] - 8008e28: f423 5280 bic.w r2, r3, #4096 ; 0x1000 - 8008e2c: 687b ldr r3, [r7, #4] - 8008e2e: 605a str r2, [r3, #4] - } -} - 8008e30: f107 070c add.w r7, r7, #12 ; 0xc - 8008e34: 46bd mov sp, r7 - 8008e36: bc80 pop {r7} - 8008e38: 4770 bx lr - 8008e3a: 46c0 nop (mov r8, r8) - -08008e3c : - * @arg ADC_InjectedChannel_3: Injected Channel3 selected - * @arg ADC_InjectedChannel_4: Injected Channel4 selected - * @retval The Data conversion value. - */ -uint16_t ADC_GetInjectedConversionValue(ADC_TypeDef* ADCx, uint8_t ADC_InjectedChannel) -{ - 8008e3c: b480 push {r7} - 8008e3e: b085 sub sp, #20 - 8008e40: af00 add r7, sp, #0 - 8008e42: 6078 str r0, [r7, #4] - 8008e44: 460b mov r3, r1 - 8008e46: 70fb strb r3, [r7, #3] - __IO uint32_t tmp = 0; - 8008e48: f04f 0300 mov.w r3, #0 ; 0x0 - 8008e4c: 60fb str r3, [r7, #12] - - /* Check the parameters */ - //assert_param(IS_ADC_ALL_PERIPH(ADCx)); - //assert_param(IS_ADC_INJECTED_CHANNEL(ADC_InjectedChannel)); - - tmp = (uint32_t)ADCx; - 8008e4e: 687b ldr r3, [r7, #4] - 8008e50: 60fb str r3, [r7, #12] - tmp += ADC_InjectedChannel + JDR_OFFSET; - 8008e52: 78fa ldrb r2, [r7, #3] - 8008e54: 68fb ldr r3, [r7, #12] - 8008e56: 4413 add r3, r2 - 8008e58: f103 0328 add.w r3, r3, #40 ; 0x28 - 8008e5c: 60fb str r3, [r7, #12] - - /* Returns the selected injected channel conversion data value */ - return (uint16_t) (*(__IO uint32_t*) tmp); - 8008e5e: 68fb ldr r3, [r7, #12] - 8008e60: 681b ldr r3, [r3, #0] - 8008e62: b29b uxth r3, r3 -} - 8008e64: 4618 mov r0, r3 - 8008e66: f107 0714 add.w r7, r7, #20 ; 0x14 - 8008e6a: 46bd mov sp, r7 - 8008e6c: bc80 pop {r7} - 8008e6e: 4770 bx lr - -08008e70 : - * @param NewState: new state of the specified ADC interrupts. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void ADC_ITConfig(ADC_TypeDef* ADCx, uint16_t ADC_IT, FunctionalState NewState) -{ - 8008e70: b480 push {r7} - 8008e72: b085 sub sp, #20 - 8008e74: af00 add r7, sp, #0 - 8008e76: 6078 str r0, [r7, #4] - 8008e78: 460b mov r3, r1 - 8008e7a: 807b strh r3, [r7, #2] - 8008e7c: 4613 mov r3, r2 - 8008e7e: 707b strb r3, [r7, #1] - uint32_t itmask = 0; - 8008e80: f04f 0300 mov.w r3, #0 ; 0x0 - 8008e84: 60fb str r3, [r7, #12] - //assert_param(IS_ADC_ALL_PERIPH(ADCx)); - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - //assert_param(IS_ADC_IT(ADC_IT)); - - /* Get the ADC IT index */ - itmask = (uint8_t)ADC_IT; - 8008e86: 887b ldrh r3, [r7, #2] - 8008e88: b2db uxtb r3, r3 - 8008e8a: 60fb str r3, [r7, #12] - itmask = (uint32_t)0x01 << itmask; - 8008e8c: 68fa ldr r2, [r7, #12] - 8008e8e: f04f 0301 mov.w r3, #1 ; 0x1 - 8008e92: fa03 f302 lsl.w r3, r3, r2 - 8008e96: 60fb str r3, [r7, #12] - - if (NewState != DISABLE) - 8008e98: 787b ldrb r3, [r7, #1] - 8008e9a: 2b00 cmp r3, #0 - 8008e9c: d007 beq.n 8008eae - { - /* Enable the selected ADC interrupts */ - ADCx->CR1 |= itmask; - 8008e9e: 687b ldr r3, [r7, #4] - 8008ea0: 685a ldr r2, [r3, #4] - 8008ea2: 68fb ldr r3, [r7, #12] - 8008ea4: ea42 0203 orr.w r2, r2, r3 - 8008ea8: 687b ldr r3, [r7, #4] - 8008eaa: 605a str r2, [r3, #4] - 8008eac: e008 b.n 8008ec0 - } - else - { - /* Disable the selected ADC interrupts */ - ADCx->CR1 &= (~(uint32_t)itmask); - 8008eae: 687b ldr r3, [r7, #4] - 8008eb0: 685a ldr r2, [r3, #4] - 8008eb2: 68fb ldr r3, [r7, #12] - 8008eb4: ea6f 0303 mvn.w r3, r3 - 8008eb8: ea02 0203 and.w r2, r2, r3 - 8008ebc: 687b ldr r3, [r7, #4] - 8008ebe: 605a str r2, [r3, #4] - } -} - 8008ec0: f107 0714 add.w r7, r7, #20 ; 0x14 - 8008ec4: 46bd mov sp, r7 - 8008ec6: bc80 pop {r7} - 8008ec8: 4770 bx lr - 8008eca: 46c0 nop (mov r8, r8) - -08008ecc : - * @arg ADC_FLAG_STRT: Start of regular group conversion flag - * @arg ADC_FLAG_OVR: Overrun flag - * @retval The new state of ADC_FLAG (SET or RESET). - */ -FlagStatus ADC_GetFlagStatus(ADC_TypeDef* ADCx, uint8_t ADC_FLAG) -{ - 8008ecc: b480 push {r7} - 8008ece: b085 sub sp, #20 - 8008ed0: af00 add r7, sp, #0 - 8008ed2: 6078 str r0, [r7, #4] - 8008ed4: 460b mov r3, r1 - 8008ed6: 70fb strb r3, [r7, #3] - FlagStatus bitstatus = RESET; - 8008ed8: f04f 0300 mov.w r3, #0 ; 0x0 - 8008edc: 73fb strb r3, [r7, #15] - /* Check the parameters */ - //assert_param(IS_ADC_ALL_PERIPH(ADCx)); - //assert_param(IS_ADC_GET_FLAG(ADC_FLAG)); - - /* Check the status of the specified ADC flag */ - if ((ADCx->SR & ADC_FLAG) != (uint8_t)RESET) - 8008ede: 687b ldr r3, [r7, #4] - 8008ee0: 681a ldr r2, [r3, #0] - 8008ee2: 78fb ldrb r3, [r7, #3] - 8008ee4: ea02 0303 and.w r3, r2, r3 - 8008ee8: 2b00 cmp r3, #0 - 8008eea: d003 beq.n 8008ef4 - { - /* ADC_FLAG is set */ - bitstatus = SET; - 8008eec: f04f 0301 mov.w r3, #1 ; 0x1 - 8008ef0: 73fb strb r3, [r7, #15] - 8008ef2: e002 b.n 8008efa - } - else - { - /* ADC_FLAG is reset */ - bitstatus = RESET; - 8008ef4: f04f 0300 mov.w r3, #0 ; 0x0 - 8008ef8: 73fb strb r3, [r7, #15] - } - /* Return the ADC_FLAG status */ - return bitstatus; - 8008efa: 7bfb ldrb r3, [r7, #15] -} - 8008efc: 4618 mov r0, r3 - 8008efe: f107 0714 add.w r7, r7, #20 ; 0x14 - 8008f02: 46bd mov sp, r7 - 8008f04: bc80 pop {r7} - 8008f06: 4770 bx lr - -08008f08 : - * @arg ADC_FLAG_STRT: Start of regular group conversion flag - * @arg ADC_FLAG_OVR: Overrun flag - * @retval None - */ -void ADC_ClearFlag(ADC_TypeDef* ADCx, uint8_t ADC_FLAG) -{ - 8008f08: b480 push {r7} - 8008f0a: b083 sub sp, #12 - 8008f0c: af00 add r7, sp, #0 - 8008f0e: 6078 str r0, [r7, #4] - 8008f10: 460b mov r3, r1 - 8008f12: 70fb strb r3, [r7, #3] - /* Check the parameters */ - //assert_param(IS_ADC_ALL_PERIPH(ADCx)); - //assert_param(IS_ADC_CLEAR_FLAG(ADC_FLAG)); - - /* Clear the selected ADC flags */ - ADCx->SR = ~(uint32_t)ADC_FLAG; - 8008f14: 78fb ldrb r3, [r7, #3] - 8008f16: ea6f 0203 mvn.w r2, r3 - 8008f1a: 687b ldr r3, [r7, #4] - 8008f1c: 601a str r2, [r3, #0] -} - 8008f1e: f107 070c add.w r7, r7, #12 ; 0xc - 8008f22: 46bd mov sp, r7 - 8008f24: bc80 pop {r7} - 8008f26: 4770 bx lr - -08008f28 : - * @arg ADC_IT_JEOC: End of injected conversion interrupt mask - * @arg ADC_IT_OVR: Overrun interrupt mask - * @retval The new state of ADC_IT (SET or RESET). - */ -ITStatus ADC_GetITStatus(ADC_TypeDef* ADCx, uint16_t ADC_IT) -{ - 8008f28: b480 push {r7} - 8008f2a: b087 sub sp, #28 - 8008f2c: af00 add r7, sp, #0 - 8008f2e: 6078 str r0, [r7, #4] - 8008f30: 460b mov r3, r1 - 8008f32: 807b strh r3, [r7, #2] - ITStatus bitstatus = RESET; - 8008f34: f04f 0300 mov.w r3, #0 ; 0x0 - 8008f38: 73fb strb r3, [r7, #15] - uint32_t itmask = 0, enablestatus = 0; - 8008f3a: f04f 0300 mov.w r3, #0 ; 0x0 - 8008f3e: 613b str r3, [r7, #16] - 8008f40: f04f 0300 mov.w r3, #0 ; 0x0 - 8008f44: 617b str r3, [r7, #20] - /* Check the parameters */ - //assert_param(IS_ADC_ALL_PERIPH(ADCx)); - //assert_param(IS_ADC_IT(ADC_IT)); - - /* Get the ADC IT index */ - itmask = ADC_IT >> 8; - 8008f46: 887b ldrh r3, [r7, #2] - 8008f48: ea4f 2313 mov.w r3, r3, lsr #8 - 8008f4c: b29b uxth r3, r3 - 8008f4e: 613b str r3, [r7, #16] - - /* Get the ADC_IT enable bit status */ - enablestatus = (ADCx->CR1 & ((uint32_t)0x01 << (uint8_t)ADC_IT)) ; - 8008f50: 687b ldr r3, [r7, #4] - 8008f52: 6859 ldr r1, [r3, #4] - 8008f54: 887b ldrh r3, [r7, #2] - 8008f56: b2db uxtb r3, r3 - 8008f58: 461a mov r2, r3 - 8008f5a: f04f 0301 mov.w r3, #1 ; 0x1 - 8008f5e: fa03 f302 lsl.w r3, r3, r2 - 8008f62: ea01 0303 and.w r3, r1, r3 - 8008f66: 617b str r3, [r7, #20] - - /* Check the status of the specified ADC interrupt */ - if (((ADCx->SR & itmask) != (uint32_t)RESET) && enablestatus) - 8008f68: 687b ldr r3, [r7, #4] - 8008f6a: 681a ldr r2, [r3, #0] - 8008f6c: 693b ldr r3, [r7, #16] - 8008f6e: ea02 0303 and.w r3, r2, r3 - 8008f72: 2b00 cmp r3, #0 - 8008f74: d006 beq.n 8008f84 - 8008f76: 697b ldr r3, [r7, #20] - 8008f78: 2b00 cmp r3, #0 - 8008f7a: d003 beq.n 8008f84 - { - /* ADC_IT is set */ - bitstatus = SET; - 8008f7c: f04f 0301 mov.w r3, #1 ; 0x1 - 8008f80: 73fb strb r3, [r7, #15] - 8008f82: e002 b.n 8008f8a - } - else - { - /* ADC_IT is reset */ - bitstatus = RESET; - 8008f84: f04f 0300 mov.w r3, #0 ; 0x0 - 8008f88: 73fb strb r3, [r7, #15] - } - /* Return the ADC_IT status */ - return bitstatus; - 8008f8a: 7bfb ldrb r3, [r7, #15] -} - 8008f8c: 4618 mov r0, r3 - 8008f8e: f107 071c add.w r7, r7, #28 ; 0x1c - 8008f92: 46bd mov sp, r7 - 8008f94: bc80 pop {r7} - 8008f96: 4770 bx lr - -08008f98 : - * @arg ADC_IT_JEOC: End of injected conversion interrupt mask - * @arg ADC_IT_OVR: Overrun interrupt mask - * @retval None - */ -void ADC_ClearITPendingBit(ADC_TypeDef* ADCx, uint16_t ADC_IT) -{ - 8008f98: b480 push {r7} - 8008f9a: b085 sub sp, #20 - 8008f9c: af00 add r7, sp, #0 - 8008f9e: 6078 str r0, [r7, #4] - 8008fa0: 460b mov r3, r1 - 8008fa2: 807b strh r3, [r7, #2] - uint8_t itmask = 0; - 8008fa4: f04f 0300 mov.w r3, #0 ; 0x0 - 8008fa8: 73fb strb r3, [r7, #15] - /* Check the parameters */ - //assert_param(IS_ADC_ALL_PERIPH(ADCx)); - //assert_param(IS_ADC_IT(ADC_IT)); - /* Get the ADC IT index */ - itmask = (uint8_t)(ADC_IT >> 8); - 8008faa: 887b ldrh r3, [r7, #2] - 8008fac: ea4f 2313 mov.w r3, r3, lsr #8 - 8008fb0: b29b uxth r3, r3 - 8008fb2: 73fb strb r3, [r7, #15] - /* Clear the selected ADC interrupt pending bits */ - ADCx->SR = ~(uint32_t)itmask; - 8008fb4: 7bfb ldrb r3, [r7, #15] - 8008fb6: ea6f 0203 mvn.w r2, r3 - 8008fba: 687b ldr r3, [r7, #4] - 8008fbc: 601a str r2, [r3, #0] -} - 8008fbe: f107 0714 add.w r7, r7, #20 ; 0x14 - 8008fc2: 46bd mov sp, r7 - 8008fc4: bc80 pop {r7} - 8008fc6: 4770 bx lr - -08008fc8 : - * @param DMAy_Streamx: where y can be 1 or 2 to select the DMA and x can be 0 - * to 7 to select the DMA Stream. - * @retval None - */ -void DMA_DeInit(DMA_Stream_TypeDef* DMAy_Streamx) -{ - 8008fc8: b480 push {r7} - 8008fca: b083 sub sp, #12 - 8008fcc: af00 add r7, sp, #0 - 8008fce: 6078 str r0, [r7, #4] - /* Check the parameters */ - //assert_param(IS_DMA_ALL_PERIPH(DMAy_Streamx)); - - /* Disable the selected DMAy Streamx */ - DMAy_Streamx->CR &= ~((uint32_t)DMA_SxCR_EN); - 8008fd0: 687b ldr r3, [r7, #4] - 8008fd2: 681b ldr r3, [r3, #0] - 8008fd4: f023 0201 bic.w r2, r3, #1 ; 0x1 - 8008fd8: 687b ldr r3, [r7, #4] - 8008fda: 601a str r2, [r3, #0] - - /* Reset DMAy Streamx control register */ - DMAy_Streamx->CR = 0; - 8008fdc: 687a ldr r2, [r7, #4] - 8008fde: f04f 0300 mov.w r3, #0 ; 0x0 - 8008fe2: 6013 str r3, [r2, #0] - - /* Reset DMAy Streamx Number of Data to Transfer register */ - DMAy_Streamx->NDTR = 0; - 8008fe4: 687a ldr r2, [r7, #4] - 8008fe6: f04f 0300 mov.w r3, #0 ; 0x0 - 8008fea: 6053 str r3, [r2, #4] - - /* Reset DMAy Streamx peripheral address register */ - DMAy_Streamx->PAR = 0; - 8008fec: 687a ldr r2, [r7, #4] - 8008fee: f04f 0300 mov.w r3, #0 ; 0x0 - 8008ff2: 6093 str r3, [r2, #8] - - /* Reset DMAy Streamx memory 0 address register */ - DMAy_Streamx->M0AR = 0; - 8008ff4: 687a ldr r2, [r7, #4] - 8008ff6: f04f 0300 mov.w r3, #0 ; 0x0 - 8008ffa: 60d3 str r3, [r2, #12] - - /* Reset DMAy Streamx memory 1 address register */ - DMAy_Streamx->M1AR = 0; - 8008ffc: 687a ldr r2, [r7, #4] - 8008ffe: f04f 0300 mov.w r3, #0 ; 0x0 - 8009002: 6113 str r3, [r2, #16] - - /* Reset DMAy Streamx FIFO control register */ - DMAy_Streamx->FCR = (uint32_t)0x00000021; - 8009004: 687a ldr r2, [r7, #4] - 8009006: f04f 0321 mov.w r3, #33 ; 0x21 - 800900a: 6153 str r3, [r2, #20] - - /* Reset interrupt pending bits for the selected stream */ - if (DMAy_Streamx == DMA1_Stream0) - 800900c: 687a ldr r2, [r7, #4] - 800900e: 4b46 ldr r3, [pc, #280] (8009128 ) - 8009010: 429a cmp r2, r3 - 8009012: d104 bne.n 800901e - { - /* Reset interrupt pending bits for DMA1 Stream0 */ - DMA1->LIFCR = DMA_Stream0_IT_MASK; - 8009014: 4a45 ldr r2, [pc, #276] (800912c ) - 8009016: f04f 033d mov.w r3, #61 ; 0x3d - 800901a: 6093 str r3, [r2, #8] - 800901c: e07f b.n 800911e - } - else if (DMAy_Streamx == DMA1_Stream1) - 800901e: 687a ldr r2, [r7, #4] - 8009020: 4b43 ldr r3, [pc, #268] (8009130 ) - 8009022: 429a cmp r2, r3 - 8009024: d104 bne.n 8009030 - { - /* Reset interrupt pending bits for DMA1 Stream1 */ - DMA1->LIFCR = DMA_Stream1_IT_MASK; - 8009026: 4a41 ldr r2, [pc, #260] (800912c ) - 8009028: f44f 6374 mov.w r3, #3904 ; 0xf40 - 800902c: 6093 str r3, [r2, #8] - 800902e: e076 b.n 800911e - } - else if (DMAy_Streamx == DMA1_Stream2) - 8009030: 687a ldr r2, [r7, #4] - 8009032: 4b40 ldr r3, [pc, #256] (8009134 ) - 8009034: 429a cmp r2, r3 - 8009036: d104 bne.n 8009042 - { - /* Reset interrupt pending bits for DMA1 Stream2 */ - DMA1->LIFCR = DMA_Stream2_IT_MASK; - 8009038: 4a3c ldr r2, [pc, #240] (800912c ) - 800903a: f44f 1374 mov.w r3, #3997696 ; 0x3d0000 - 800903e: 6093 str r3, [r2, #8] - 8009040: e06d b.n 800911e - } - else if (DMAy_Streamx == DMA1_Stream3) - 8009042: 687a ldr r2, [r7, #4] - 8009044: 4b3c ldr r3, [pc, #240] (8009138 ) - 8009046: 429a cmp r2, r3 - 8009048: d104 bne.n 8009054 - { - /* Reset interrupt pending bits for DMA1 Stream3 */ - DMA1->LIFCR = DMA_Stream3_IT_MASK; - 800904a: 4a38 ldr r2, [pc, #224] (800912c ) - 800904c: f04f 6374 mov.w r3, #255852544 ; 0xf400000 - 8009050: 6093 str r3, [r2, #8] - 8009052: e064 b.n 800911e - } - else if (DMAy_Streamx == DMA1_Stream4) - 8009054: 687a ldr r2, [r7, #4] - 8009056: 4b39 ldr r3, [pc, #228] (800913c ) - 8009058: 429a cmp r2, r3 - 800905a: d103 bne.n 8009064 - { - /* Reset interrupt pending bits for DMA1 Stream4 */ - DMA1->HIFCR = DMA_Stream4_IT_MASK; - 800905c: 4a33 ldr r2, [pc, #204] (800912c ) - 800905e: 4b38 ldr r3, [pc, #224] (8009140 ) - 8009060: 60d3 str r3, [r2, #12] - 8009062: e05c b.n 800911e - } - else if (DMAy_Streamx == DMA1_Stream5) - 8009064: 687a ldr r2, [r7, #4] - 8009066: 4b37 ldr r3, [pc, #220] (8009144 ) - 8009068: 429a cmp r2, r3 - 800906a: d103 bne.n 8009074 - { - /* Reset interrupt pending bits for DMA1 Stream5 */ - DMA1->HIFCR = DMA_Stream5_IT_MASK; - 800906c: 4a2f ldr r2, [pc, #188] (800912c ) - 800906e: 4b36 ldr r3, [pc, #216] (8009148 ) - 8009070: 60d3 str r3, [r2, #12] - 8009072: e054 b.n 800911e - } - else if (DMAy_Streamx == DMA1_Stream6) - 8009074: 687a ldr r2, [r7, #4] - 8009076: 4b35 ldr r3, [pc, #212] (800914c ) - 8009078: 429a cmp r2, r3 - 800907a: d103 bne.n 8009084 - { - /* Reset interrupt pending bits for DMA1 Stream6 */ - DMA1->HIFCR = (uint32_t)DMA_Stream6_IT_MASK; - 800907c: 4a2b ldr r2, [pc, #172] (800912c ) - 800907e: 4b34 ldr r3, [pc, #208] (8009150 ) - 8009080: 60d3 str r3, [r2, #12] - 8009082: e04c b.n 800911e - } - else if (DMAy_Streamx == DMA1_Stream7) - 8009084: 687a ldr r2, [r7, #4] - 8009086: 4b33 ldr r3, [pc, #204] (8009154 ) - 8009088: 429a cmp r2, r3 - 800908a: d104 bne.n 8009096 - { - /* Reset interrupt pending bits for DMA1 Stream7 */ - DMA1->HIFCR = DMA_Stream7_IT_MASK; - 800908c: 4a27 ldr r2, [pc, #156] (800912c ) - 800908e: f04f 533d mov.w r3, #792723456 ; 0x2f400000 - 8009092: 60d3 str r3, [r2, #12] - 8009094: e043 b.n 800911e - } - else if (DMAy_Streamx == DMA2_Stream0) - 8009096: 687a ldr r2, [r7, #4] - 8009098: 4b2f ldr r3, [pc, #188] (8009158 ) - 800909a: 429a cmp r2, r3 - 800909c: d104 bne.n 80090a8 - { - /* Reset interrupt pending bits for DMA2 Stream0 */ - DMA2->LIFCR = DMA_Stream0_IT_MASK; - 800909e: 4a2f ldr r2, [pc, #188] (800915c ) - 80090a0: f04f 033d mov.w r3, #61 ; 0x3d - 80090a4: 6093 str r3, [r2, #8] - 80090a6: e03a b.n 800911e - } - else if (DMAy_Streamx == DMA2_Stream1) - 80090a8: 687a ldr r2, [r7, #4] - 80090aa: 4b2d ldr r3, [pc, #180] (8009160 ) - 80090ac: 429a cmp r2, r3 - 80090ae: d104 bne.n 80090ba - { - /* Reset interrupt pending bits for DMA2 Stream1 */ - DMA2->LIFCR = DMA_Stream1_IT_MASK; - 80090b0: 4a2a ldr r2, [pc, #168] (800915c ) - 80090b2: f44f 6374 mov.w r3, #3904 ; 0xf40 - 80090b6: 6093 str r3, [r2, #8] - 80090b8: e031 b.n 800911e - } - else if (DMAy_Streamx == DMA2_Stream2) - 80090ba: 687a ldr r2, [r7, #4] - 80090bc: 4b29 ldr r3, [pc, #164] (8009164 ) - 80090be: 429a cmp r2, r3 - 80090c0: d104 bne.n 80090cc - { - /* Reset interrupt pending bits for DMA2 Stream2 */ - DMA2->LIFCR = DMA_Stream2_IT_MASK; - 80090c2: 4a26 ldr r2, [pc, #152] (800915c ) - 80090c4: f44f 1374 mov.w r3, #3997696 ; 0x3d0000 - 80090c8: 6093 str r3, [r2, #8] - 80090ca: e028 b.n 800911e - } - else if (DMAy_Streamx == DMA2_Stream3) - 80090cc: 687a ldr r2, [r7, #4] - 80090ce: 4b26 ldr r3, [pc, #152] (8009168 ) - 80090d0: 429a cmp r2, r3 - 80090d2: d104 bne.n 80090de - { - /* Reset interrupt pending bits for DMA2 Stream3 */ - DMA2->LIFCR = DMA_Stream3_IT_MASK; - 80090d4: 4a21 ldr r2, [pc, #132] (800915c ) - 80090d6: f04f 6374 mov.w r3, #255852544 ; 0xf400000 - 80090da: 6093 str r3, [r2, #8] - 80090dc: e01f b.n 800911e - } - else if (DMAy_Streamx == DMA2_Stream4) - 80090de: 687a ldr r2, [r7, #4] - 80090e0: 4b22 ldr r3, [pc, #136] (800916c ) - 80090e2: 429a cmp r2, r3 - 80090e4: d103 bne.n 80090ee - { - /* Reset interrupt pending bits for DMA2 Stream4 */ - DMA2->HIFCR = DMA_Stream4_IT_MASK; - 80090e6: 4a1d ldr r2, [pc, #116] (800915c ) - 80090e8: 4b15 ldr r3, [pc, #84] (8009140 ) - 80090ea: 60d3 str r3, [r2, #12] - 80090ec: e017 b.n 800911e - } - else if (DMAy_Streamx == DMA2_Stream5) - 80090ee: 687a ldr r2, [r7, #4] - 80090f0: 4b1f ldr r3, [pc, #124] (8009170 ) - 80090f2: 429a cmp r2, r3 - 80090f4: d103 bne.n 80090fe - { - /* Reset interrupt pending bits for DMA2 Stream5 */ - DMA2->HIFCR = DMA_Stream5_IT_MASK; - 80090f6: 4a19 ldr r2, [pc, #100] (800915c ) - 80090f8: 4b13 ldr r3, [pc, #76] (8009148 ) - 80090fa: 60d3 str r3, [r2, #12] - 80090fc: e00f b.n 800911e - } - else if (DMAy_Streamx == DMA2_Stream6) - 80090fe: 687a ldr r2, [r7, #4] - 8009100: 4b1c ldr r3, [pc, #112] (8009174 ) - 8009102: 429a cmp r2, r3 - 8009104: d103 bne.n 800910e - { - /* Reset interrupt pending bits for DMA2 Stream6 */ - DMA2->HIFCR = DMA_Stream6_IT_MASK; - 8009106: 4a15 ldr r2, [pc, #84] (800915c ) - 8009108: 4b11 ldr r3, [pc, #68] (8009150 ) - 800910a: 60d3 str r3, [r2, #12] - 800910c: e007 b.n 800911e - } - else - { - if (DMAy_Streamx == DMA2_Stream7) - 800910e: 687a ldr r2, [r7, #4] - 8009110: 4b19 ldr r3, [pc, #100] (8009178 ) - 8009112: 429a cmp r2, r3 - 8009114: d103 bne.n 800911e - { - /* Reset interrupt pending bits for DMA2 Stream7 */ - DMA2->HIFCR = DMA_Stream7_IT_MASK; - 8009116: 4a11 ldr r2, [pc, #68] (800915c ) - 8009118: f04f 533d mov.w r3, #792723456 ; 0x2f400000 - 800911c: 60d3 str r3, [r2, #12] - } - } -} - 800911e: f107 070c add.w r7, r7, #12 ; 0xc - 8009122: 46bd mov sp, r7 - 8009124: bc80 pop {r7} - 8009126: 4770 bx lr - 8009128: 40026010 .word 0x40026010 - 800912c: 40026000 .word 0x40026000 - 8009130: 40026028 .word 0x40026028 - 8009134: 40026040 .word 0x40026040 - 8009138: 40026058 .word 0x40026058 - 800913c: 40026070 .word 0x40026070 - 8009140: 2000003d .word 0x2000003d - 8009144: 40026088 .word 0x40026088 - 8009148: 20000f40 .word 0x20000f40 - 800914c: 400260a0 .word 0x400260a0 - 8009150: 203d0000 .word 0x203d0000 - 8009154: 400260b8 .word 0x400260b8 - 8009158: 40026410 .word 0x40026410 - 800915c: 40026400 .word 0x40026400 - 8009160: 40026428 .word 0x40026428 - 8009164: 40026440 .word 0x40026440 - 8009168: 40026458 .word 0x40026458 - 800916c: 40026470 .word 0x40026470 - 8009170: 40026488 .word 0x40026488 - 8009174: 400264a0 .word 0x400264a0 - 8009178: 400264b8 .word 0x400264b8 - -0800917c : - * @param DMA_InitStruct: pointer to a DMA_InitTypeDef structure that contains - * the configuration information for the specified DMA Stream. - * @retval None - */ -void DMA_Init(DMA_Stream_TypeDef* DMAy_Streamx, DMA_InitTypeDef* DMA_InitStruct) -{ - 800917c: b480 push {r7} - 800917e: b085 sub sp, #20 - 8009180: af00 add r7, sp, #0 - 8009182: 6078 str r0, [r7, #4] - 8009184: 6039 str r1, [r7, #0] - uint32_t tmpreg = 0; - 8009186: f04f 0300 mov.w r3, #0 ; 0x0 - 800918a: 60fb str r3, [r7, #12] - //assert_param(IS_DMA_MEMORY_BURST(DMA_InitStruct->DMA_MemoryBurst)); - //assert_param(IS_DMA_PERIPHERAL_BURST(DMA_InitStruct->DMA_PeripheralBurst)); - - /*------------------------- DMAy Streamx CR Configuration ------------------*/ - /* Get the DMAy_Streamx CR value */ - tmpreg = DMAy_Streamx->CR; - 800918c: 687b ldr r3, [r7, #4] - 800918e: 681b ldr r3, [r3, #0] - 8009190: 60fb str r3, [r7, #12] - - /* Clear CHSEL, MBURST, PBURST, PL, MSIZE, PSIZE, MINC, PINC, CIRC and DIR bits */ - tmpreg &= ((uint32_t)~(DMA_SxCR_CHSEL | DMA_SxCR_MBURST | DMA_SxCR_PBURST | \ - 8009192: 68fa ldr r2, [r7, #12] - 8009194: 4b2a ldr r3, [pc, #168] (8009240 ) - 8009196: ea02 0303 and.w r3, r2, r3 - 800919a: 60fb str r3, [r7, #12] - /* Set MSIZE bits according to DMA_MemoryDataSize value */ - /* Set CIRC bit according to DMA_Mode value */ - /* Set PL bits according to DMA_Priority value */ - /* Set MBURST bits according to DMA_MemoryBurst value */ - /* Set PBURST bits according to DMA_PeripheralBurst value */ - tmpreg |= DMA_InitStruct->DMA_Channel | DMA_InitStruct->DMA_DIR | - 800919c: 683b ldr r3, [r7, #0] - 800919e: 681a ldr r2, [r3, #0] - 80091a0: 683b ldr r3, [r7, #0] - 80091a2: 68db ldr r3, [r3, #12] - 80091a4: ea42 0203 orr.w r2, r2, r3 - 80091a8: 683b ldr r3, [r7, #0] - 80091aa: 695b ldr r3, [r3, #20] - 80091ac: ea42 0203 orr.w r2, r2, r3 - 80091b0: 683b ldr r3, [r7, #0] - 80091b2: 699b ldr r3, [r3, #24] - 80091b4: ea42 0203 orr.w r2, r2, r3 - 80091b8: 683b ldr r3, [r7, #0] - 80091ba: 69db ldr r3, [r3, #28] - 80091bc: ea42 0203 orr.w r2, r2, r3 - 80091c0: 683b ldr r3, [r7, #0] - 80091c2: 6a1b ldr r3, [r3, #32] - 80091c4: ea42 0203 orr.w r2, r2, r3 - 80091c8: 683b ldr r3, [r7, #0] - 80091ca: 6a5b ldr r3, [r3, #36] - 80091cc: ea42 0203 orr.w r2, r2, r3 - 80091d0: 683b ldr r3, [r7, #0] - 80091d2: 6a9b ldr r3, [r3, #40] - 80091d4: ea42 0203 orr.w r2, r2, r3 - 80091d8: 683b ldr r3, [r7, #0] - 80091da: 6b5b ldr r3, [r3, #52] - 80091dc: ea42 0203 orr.w r2, r2, r3 - 80091e0: 683b ldr r3, [r7, #0] - 80091e2: 6b9b ldr r3, [r3, #56] - 80091e4: ea42 0203 orr.w r2, r2, r3 - 80091e8: 68fb ldr r3, [r7, #12] - 80091ea: ea43 0302 orr.w r3, r3, r2 - 80091ee: 60fb str r3, [r7, #12] - DMA_InitStruct->DMA_PeripheralDataSize | DMA_InitStruct->DMA_MemoryDataSize | - DMA_InitStruct->DMA_Mode | DMA_InitStruct->DMA_Priority | - DMA_InitStruct->DMA_MemoryBurst | DMA_InitStruct->DMA_PeripheralBurst; - - /* Write to DMAy Streamx CR register */ - DMAy_Streamx->CR = tmpreg; - 80091f0: 687a ldr r2, [r7, #4] - 80091f2: 68fb ldr r3, [r7, #12] - 80091f4: 6013 str r3, [r2, #0] - - /*------------------------- DMAy Streamx FCR Configuration -----------------*/ - /* Get the DMAy_Streamx FCR value */ - tmpreg = DMAy_Streamx->FCR; - 80091f6: 687b ldr r3, [r7, #4] - 80091f8: 695b ldr r3, [r3, #20] - 80091fa: 60fb str r3, [r7, #12] - - /* Clear DMDIS and FTH bits */ - tmpreg &= (uint32_t)~(DMA_SxFCR_DMDIS | DMA_SxFCR_FTH); - 80091fc: 68fb ldr r3, [r7, #12] - 80091fe: f023 0307 bic.w r3, r3, #7 ; 0x7 - 8009202: 60fb str r3, [r7, #12] - - /* Configure DMAy Streamx FIFO: - Set DMDIS bits according to DMA_FIFOMode value - Set FTH bits according to DMA_FIFOThreshold value */ - tmpreg |= DMA_InitStruct->DMA_FIFOMode | DMA_InitStruct->DMA_FIFOThreshold; - 8009204: 683b ldr r3, [r7, #0] - 8009206: 6ada ldr r2, [r3, #44] - 8009208: 683b ldr r3, [r7, #0] - 800920a: 6b1b ldr r3, [r3, #48] - 800920c: ea42 0203 orr.w r2, r2, r3 - 8009210: 68fb ldr r3, [r7, #12] - 8009212: ea43 0302 orr.w r3, r3, r2 - 8009216: 60fb str r3, [r7, #12] - - /* Write to DMAy Streamx CR */ - DMAy_Streamx->FCR = tmpreg; - 8009218: 687a ldr r2, [r7, #4] - 800921a: 68fb ldr r3, [r7, #12] - 800921c: 6153 str r3, [r2, #20] - - /*------------------------- DMAy Streamx NDTR Configuration ----------------*/ - /* Write to DMAy Streamx NDTR register */ - DMAy_Streamx->NDTR = DMA_InitStruct->DMA_BufferSize; - 800921e: 683b ldr r3, [r7, #0] - 8009220: 691a ldr r2, [r3, #16] - 8009222: 687b ldr r3, [r7, #4] - 8009224: 605a str r2, [r3, #4] - - /*------------------------- DMAy Streamx PAR Configuration -----------------*/ - /* Write to DMAy Streamx PAR */ - DMAy_Streamx->PAR = DMA_InitStruct->DMA_PeripheralBaseAddr; - 8009226: 683b ldr r3, [r7, #0] - 8009228: 685a ldr r2, [r3, #4] - 800922a: 687b ldr r3, [r7, #4] - 800922c: 609a str r2, [r3, #8] - - /*------------------------- DMAy Streamx M0AR Configuration ----------------*/ - /* Write to DMAy Streamx M0AR */ - DMAy_Streamx->M0AR = DMA_InitStruct->DMA_Memory0BaseAddr; - 800922e: 683b ldr r3, [r7, #0] - 8009230: 689a ldr r2, [r3, #8] - 8009232: 687b ldr r3, [r7, #4] - 8009234: 60da str r2, [r3, #12] -} - 8009236: f107 0714 add.w r7, r7, #20 ; 0x14 - 800923a: 46bd mov sp, r7 - 800923c: bc80 pop {r7} - 800923e: 4770 bx lr - 8009240: f01c803f .word 0xf01c803f - -08009244 : - * @param DMA_InitStruct : pointer to a DMA_InitTypeDef structure which will - * be initialized. - * @retval None - */ -void DMA_StructInit(DMA_InitTypeDef* DMA_InitStruct) -{ - 8009244: b480 push {r7} - 8009246: b083 sub sp, #12 - 8009248: af00 add r7, sp, #0 - 800924a: 6078 str r0, [r7, #4] - /*-------------- Reset DMA init structure parameters values ----------------*/ - /* Initialize the DMA_Channel member */ - DMA_InitStruct->DMA_Channel = 0; - 800924c: 687a ldr r2, [r7, #4] - 800924e: f04f 0300 mov.w r3, #0 ; 0x0 - 8009252: 6013 str r3, [r2, #0] - - /* Initialize the DMA_PeripheralBaseAddr member */ - DMA_InitStruct->DMA_PeripheralBaseAddr = 0; - 8009254: 687a ldr r2, [r7, #4] - 8009256: f04f 0300 mov.w r3, #0 ; 0x0 - 800925a: 6053 str r3, [r2, #4] - - /* Initialize the DMA_Memory0BaseAddr member */ - DMA_InitStruct->DMA_Memory0BaseAddr = 0; - 800925c: 687a ldr r2, [r7, #4] - 800925e: f04f 0300 mov.w r3, #0 ; 0x0 - 8009262: 6093 str r3, [r2, #8] - - /* Initialize the DMA_DIR member */ - DMA_InitStruct->DMA_DIR = DMA_DIR_PeripheralToMemory; - 8009264: 687a ldr r2, [r7, #4] - 8009266: f04f 0300 mov.w r3, #0 ; 0x0 - 800926a: 60d3 str r3, [r2, #12] - - /* Initialize the DMA_BufferSize member */ - DMA_InitStruct->DMA_BufferSize = 0; - 800926c: 687a ldr r2, [r7, #4] - 800926e: f04f 0300 mov.w r3, #0 ; 0x0 - 8009272: 6113 str r3, [r2, #16] - - /* Initialize the DMA_PeripheralInc member */ - DMA_InitStruct->DMA_PeripheralInc = DMA_PeripheralInc_Disable; - 8009274: 687a ldr r2, [r7, #4] - 8009276: f04f 0300 mov.w r3, #0 ; 0x0 - 800927a: 6153 str r3, [r2, #20] - - /* Initialize the DMA_MemoryInc member */ - DMA_InitStruct->DMA_MemoryInc = DMA_MemoryInc_Disable; - 800927c: 687a ldr r2, [r7, #4] - 800927e: f04f 0300 mov.w r3, #0 ; 0x0 - 8009282: 6193 str r3, [r2, #24] - - /* Initialize the DMA_PeripheralDataSize member */ - DMA_InitStruct->DMA_PeripheralDataSize = DMA_PeripheralDataSize_Byte; - 8009284: 687a ldr r2, [r7, #4] - 8009286: f04f 0300 mov.w r3, #0 ; 0x0 - 800928a: 61d3 str r3, [r2, #28] - - /* Initialize the DMA_MemoryDataSize member */ - DMA_InitStruct->DMA_MemoryDataSize = DMA_MemoryDataSize_Byte; - 800928c: 687a ldr r2, [r7, #4] - 800928e: f04f 0300 mov.w r3, #0 ; 0x0 - 8009292: 6213 str r3, [r2, #32] - - /* Initialize the DMA_Mode member */ - DMA_InitStruct->DMA_Mode = DMA_Mode_Normal; - 8009294: 687a ldr r2, [r7, #4] - 8009296: f04f 0300 mov.w r3, #0 ; 0x0 - 800929a: 6253 str r3, [r2, #36] - - /* Initialize the DMA_Priority member */ - DMA_InitStruct->DMA_Priority = DMA_Priority_Low; - 800929c: 687a ldr r2, [r7, #4] - 800929e: f04f 0300 mov.w r3, #0 ; 0x0 - 80092a2: 6293 str r3, [r2, #40] - - /* Initialize the DMA_FIFOMode member */ - DMA_InitStruct->DMA_FIFOMode = DMA_FIFOMode_Disable; - 80092a4: 687a ldr r2, [r7, #4] - 80092a6: f04f 0300 mov.w r3, #0 ; 0x0 - 80092aa: 62d3 str r3, [r2, #44] - - /* Initialize the DMA_FIFOThreshold member */ - DMA_InitStruct->DMA_FIFOThreshold = DMA_FIFOThreshold_1QuarterFull; - 80092ac: 687a ldr r2, [r7, #4] - 80092ae: f04f 0300 mov.w r3, #0 ; 0x0 - 80092b2: 6313 str r3, [r2, #48] - - /* Initialize the DMA_MemoryBurst member */ - DMA_InitStruct->DMA_MemoryBurst = DMA_MemoryBurst_Single; - 80092b4: 687a ldr r2, [r7, #4] - 80092b6: f04f 0300 mov.w r3, #0 ; 0x0 - 80092ba: 6353 str r3, [r2, #52] - - /* Initialize the DMA_PeripheralBurst member */ - DMA_InitStruct->DMA_PeripheralBurst = DMA_PeripheralBurst_Single; - 80092bc: 687a ldr r2, [r7, #4] - 80092be: f04f 0300 mov.w r3, #0 ; 0x0 - 80092c2: 6393 str r3, [r2, #56] -} - 80092c4: f107 070c add.w r7, r7, #12 ; 0xc - 80092c8: 46bd mov sp, r7 - 80092ca: bc80 pop {r7} - 80092cc: 4770 bx lr - 80092ce: 46c0 nop (mov r8, r8) - -080092d0 : - * this single data is finished. - * - * @retval None - */ -void DMA_Cmd(DMA_Stream_TypeDef* DMAy_Streamx, FunctionalState NewState) -{ - 80092d0: b480 push {r7} - 80092d2: b083 sub sp, #12 - 80092d4: af00 add r7, sp, #0 - 80092d6: 6078 str r0, [r7, #4] - 80092d8: 460b mov r3, r1 - 80092da: 70fb strb r3, [r7, #3] - /* Check the parameters */ - //assert_param(IS_DMA_ALL_PERIPH(DMAy_Streamx)); - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - 80092dc: 78fb ldrb r3, [r7, #3] - 80092de: 2b00 cmp r3, #0 - 80092e0: d006 beq.n 80092f0 - { - /* Enable the selected DMAy Streamx by setting EN bit */ - DMAy_Streamx->CR |= (uint32_t)DMA_SxCR_EN; - 80092e2: 687b ldr r3, [r7, #4] - 80092e4: 681b ldr r3, [r3, #0] - 80092e6: f043 0201 orr.w r2, r3, #1 ; 0x1 - 80092ea: 687b ldr r3, [r7, #4] - 80092ec: 601a str r2, [r3, #0] - 80092ee: e005 b.n 80092fc - } - else - { - /* Disable the selected DMAy Streamx by clearing EN bit */ - DMAy_Streamx->CR &= ~(uint32_t)DMA_SxCR_EN; - 80092f0: 687b ldr r3, [r7, #4] - 80092f2: 681b ldr r3, [r3, #0] - 80092f4: f023 0201 bic.w r2, r3, #1 ; 0x1 - 80092f8: 687b ldr r3, [r7, #4] - 80092fa: 601a str r2, [r3, #0] - } -} - 80092fc: f107 070c add.w r7, r7, #12 ; 0xc - 8009300: 46bd mov sp, r7 - 8009302: bc80 pop {r7} - 8009304: 4770 bx lr - 8009306: 46c0 nop (mov r8, r8) - -08009308 : - * @arg DMA_PINCOS_WordAligned: Peripheral address increment offset is - * fixed to 4 (32-bit aligned addresses). - * @retval None - */ -void DMA_PeriphIncOffsetSizeConfig(DMA_Stream_TypeDef* DMAy_Streamx, uint32_t DMA_Pincos) -{ - 8009308: b480 push {r7} - 800930a: b083 sub sp, #12 - 800930c: af00 add r7, sp, #0 - 800930e: 6078 str r0, [r7, #4] - 8009310: 6039 str r1, [r7, #0] - /* Check the parameters */ - //assert_param(IS_DMA_ALL_PERIPH(DMAy_Streamx)); - //assert_param(IS_DMA_PINCOS_SIZE(DMA_Pincos)); - - /* Check the needed Peripheral increment offset */ - if(DMA_Pincos != DMA_PINCOS_Psize) - 8009312: 683b ldr r3, [r7, #0] - 8009314: 2b00 cmp r3, #0 - 8009316: d006 beq.n 8009326 - { - /* Configure DMA_SxCR_PINCOS bit with the input parameter */ - DMAy_Streamx->CR |= (uint32_t)DMA_SxCR_PINCOS; - 8009318: 687b ldr r3, [r7, #4] - 800931a: 681b ldr r3, [r3, #0] - 800931c: f443 4200 orr.w r2, r3, #32768 ; 0x8000 - 8009320: 687b ldr r3, [r7, #4] - 8009322: 601a str r2, [r3, #0] - 8009324: e005 b.n 8009332 - } - else - { - /* Clear the PINCOS bit: Peripheral address incremented according to PSIZE */ - DMAy_Streamx->CR &= ~(uint32_t)DMA_SxCR_PINCOS; - 8009326: 687b ldr r3, [r7, #4] - 8009328: 681b ldr r3, [r3, #0] - 800932a: f423 4200 bic.w r2, r3, #32768 ; 0x8000 - 800932e: 687b ldr r3, [r7, #4] - 8009330: 601a str r2, [r3, #0] - } -} - 8009332: f107 070c add.w r7, r7, #12 ; 0xc - 8009336: 46bd mov sp, r7 - 8009338: bc80 pop {r7} - 800933a: 4770 bx lr - -0800933c : - * @arg DMA_FlowCtrl_Peripheral: DMAy_Streamx transactions flow controller - * is the peripheral. - * @retval None - */ -void DMA_FlowControllerConfig(DMA_Stream_TypeDef* DMAy_Streamx, uint32_t DMA_FlowCtrl) -{ - 800933c: b480 push {r7} - 800933e: b083 sub sp, #12 - 8009340: af00 add r7, sp, #0 - 8009342: 6078 str r0, [r7, #4] - 8009344: 6039 str r1, [r7, #0] - /* Check the parameters */ - //assert_param(IS_DMA_ALL_PERIPH(DMAy_Streamx)); - //assert_param(IS_DMA_FLOW_CTRL(DMA_FlowCtrl)); - - /* Check the needed flow controller */ - if(DMA_FlowCtrl != DMA_FlowCtrl_Memory) - 8009346: 683b ldr r3, [r7, #0] - 8009348: 2b00 cmp r3, #0 - 800934a: d006 beq.n 800935a - { - /* Configure DMA_SxCR_PFCTRL bit with the input parameter */ - DMAy_Streamx->CR |= (uint32_t)DMA_SxCR_PFCTRL; - 800934c: 687b ldr r3, [r7, #4] - 800934e: 681b ldr r3, [r3, #0] - 8009350: f043 0220 orr.w r2, r3, #32 ; 0x20 - 8009354: 687b ldr r3, [r7, #4] - 8009356: 601a str r2, [r3, #0] - 8009358: e005 b.n 8009366 - } - else - { - /* Clear the PFCTRL bit: Memory is the flow controller */ - DMAy_Streamx->CR &= ~(uint32_t)DMA_SxCR_PFCTRL; - 800935a: 687b ldr r3, [r7, #4] - 800935c: 681b ldr r3, [r3, #0] - 800935e: f023 0220 bic.w r2, r3, #32 ; 0x20 - 8009362: 687b ldr r3, [r7, #4] - 8009364: 601a str r2, [r3, #0] - } -} - 8009366: f107 070c add.w r7, r7, #12 ; 0xc - 800936a: 46bd mov sp, r7 - 800936c: bc80 pop {r7} - 800936e: 4770 bx lr - -08009370 : - * DMAy_SxPAR register is considered as Peripheral. - * - * @retval The number of remaining data units in the current DMAy Streamx transfer. - */ -void DMA_SetCurrDataCounter(DMA_Stream_TypeDef* DMAy_Streamx, uint16_t Counter) -{ - 8009370: b480 push {r7} - 8009372: b083 sub sp, #12 - 8009374: af00 add r7, sp, #0 - 8009376: 6078 str r0, [r7, #4] - 8009378: 460b mov r3, r1 - 800937a: 807b strh r3, [r7, #2] - /* Check the parameters */ - //assert_param(IS_DMA_ALL_PERIPH(DMAy_Streamx)); - - /* Write the number of data units to be transferred */ - DMAy_Streamx->NDTR = (uint16_t)Counter; - 800937c: 887a ldrh r2, [r7, #2] - 800937e: 687b ldr r3, [r7, #4] - 8009380: 605a str r2, [r3, #4] -} - 8009382: f107 070c add.w r7, r7, #12 ; 0xc - 8009386: 46bd mov sp, r7 - 8009388: bc80 pop {r7} - 800938a: 4770 bx lr - -0800938c : - * @param DMAy_Streamx: where y can be 1 or 2 to select the DMA and x can be 0 - * to 7 to select the DMA Stream. - * @retval The number of remaining data units in the current DMAy Streamx transfer. - */ -uint16_t DMA_GetCurrDataCounter(DMA_Stream_TypeDef* DMAy_Streamx) -{ - 800938c: b480 push {r7} - 800938e: b083 sub sp, #12 - 8009390: af00 add r7, sp, #0 - 8009392: 6078 str r0, [r7, #4] - /* Check the parameters */ - //assert_param(IS_DMA_ALL_PERIPH(DMAy_Streamx)); - - /* Return the number of remaining data units for DMAy Streamx */ - return ((uint16_t)(DMAy_Streamx->NDTR)); - 8009394: 687b ldr r3, [r7, #4] - 8009396: 685b ldr r3, [r3, #4] - 8009398: b29b uxth r3, r3 -} - 800939a: 4618 mov r0, r3 - 800939c: f107 070c add.w r7, r7, #12 ; 0xc - 80093a0: 46bd mov sp, r7 - 80093a2: bc80 pop {r7} - 80093a4: 4770 bx lr - 80093a6: 46c0 nop (mov r8, r8) - -080093a8 : - * - * @retval None - */ -void DMA_DoubleBufferModeConfig(DMA_Stream_TypeDef* DMAy_Streamx, uint32_t Memory1BaseAddr, - uint32_t DMA_CurrentMemory) -{ - 80093a8: b480 push {r7} - 80093aa: b085 sub sp, #20 - 80093ac: af00 add r7, sp, #0 - 80093ae: 60f8 str r0, [r7, #12] - 80093b0: 60b9 str r1, [r7, #8] - 80093b2: 607a str r2, [r7, #4] - /* Check the parameters */ - //assert_param(IS_DMA_ALL_PERIPH(DMAy_Streamx)); - //assert_param(IS_DMA_CURRENT_MEM(DMA_CurrentMemory)); - - if (DMA_CurrentMemory != DMA_Memory_0) - 80093b4: 687b ldr r3, [r7, #4] - 80093b6: 2b00 cmp r3, #0 - 80093b8: d006 beq.n 80093c8 - { - /* Set Memory 1 as current memory address */ - DMAy_Streamx->CR |= (uint32_t)(DMA_SxCR_CT); - 80093ba: 68fb ldr r3, [r7, #12] - 80093bc: 681b ldr r3, [r3, #0] - 80093be: f443 2200 orr.w r2, r3, #524288 ; 0x80000 - 80093c2: 68fb ldr r3, [r7, #12] - 80093c4: 601a str r2, [r3, #0] - 80093c6: e005 b.n 80093d4 - } - else - { - /* Set Memory 0 as current memory address */ - DMAy_Streamx->CR &= ~(uint32_t)(DMA_SxCR_CT); - 80093c8: 68fb ldr r3, [r7, #12] - 80093ca: 681b ldr r3, [r3, #0] - 80093cc: f423 2200 bic.w r2, r3, #524288 ; 0x80000 - 80093d0: 68fb ldr r3, [r7, #12] - 80093d2: 601a str r2, [r3, #0] - } - - /* Write to DMAy Streamx M1AR */ - DMAy_Streamx->M1AR = Memory1BaseAddr; - 80093d4: 68fa ldr r2, [r7, #12] - 80093d6: 68bb ldr r3, [r7, #8] - 80093d8: 6113 str r3, [r2, #16] -} - 80093da: f107 0714 add.w r7, r7, #20 ; 0x14 - 80093de: 46bd mov sp, r7 - 80093e0: bc80 pop {r7} - 80093e2: 4770 bx lr - -080093e4 : - * @param NewState: new state of the DMAy Streamx double buffer mode. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void DMA_DoubleBufferModeCmd(DMA_Stream_TypeDef* DMAy_Streamx, FunctionalState NewState) -{ - 80093e4: b480 push {r7} - 80093e6: b083 sub sp, #12 - 80093e8: af00 add r7, sp, #0 - 80093ea: 6078 str r0, [r7, #4] - 80093ec: 460b mov r3, r1 - 80093ee: 70fb strb r3, [r7, #3] - /* Check the parameters */ - //assert_param(IS_DMA_ALL_PERIPH(DMAy_Streamx)); - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - - /* Configure the Double Buffer mode */ - if (NewState != DISABLE) - 80093f0: 78fb ldrb r3, [r7, #3] - 80093f2: 2b00 cmp r3, #0 - 80093f4: d006 beq.n 8009404 - { - /* Enable the Double buffer mode */ - DMAy_Streamx->CR |= (uint32_t)DMA_SxCR_DBM; - 80093f6: 687b ldr r3, [r7, #4] - 80093f8: 681b ldr r3, [r3, #0] - 80093fa: f443 2280 orr.w r2, r3, #262144 ; 0x40000 - 80093fe: 687b ldr r3, [r7, #4] - 8009400: 601a str r2, [r3, #0] - 8009402: e005 b.n 8009410 - } - else - { - /* Disable the Double buffer mode */ - DMAy_Streamx->CR &= ~(uint32_t)DMA_SxCR_DBM; - 8009404: 687b ldr r3, [r7, #4] - 8009406: 681b ldr r3, [r3, #0] - 8009408: f423 2280 bic.w r2, r3, #262144 ; 0x40000 - 800940c: 687b ldr r3, [r7, #4] - 800940e: 601a str r2, [r3, #0] - } -} - 8009410: f107 070c add.w r7, r7, #12 ; 0xc - 8009414: 46bd mov sp, r7 - 8009416: bc80 pop {r7} - 8009418: 4770 bx lr - 800941a: 46c0 nop (mov r8, r8) - -0800941c : - * - * @retval None - */ -void DMA_MemoryTargetConfig(DMA_Stream_TypeDef* DMAy_Streamx, uint32_t MemoryBaseAddr, - uint32_t DMA_MemoryTarget) -{ - 800941c: b480 push {r7} - 800941e: b085 sub sp, #20 - 8009420: af00 add r7, sp, #0 - 8009422: 60f8 str r0, [r7, #12] - 8009424: 60b9 str r1, [r7, #8] - 8009426: 607a str r2, [r7, #4] - /* Check the parameters */ - //assert_param(IS_DMA_ALL_PERIPH(DMAy_Streamx)); - //assert_param(IS_DMA_CURRENT_MEM(DMA_MemoryTarget)); - - /* Check the Memory target to be configured */ - if (DMA_MemoryTarget != DMA_Memory_0) - 8009428: 687b ldr r3, [r7, #4] - 800942a: 2b00 cmp r3, #0 - 800942c: d003 beq.n 8009436 - { - /* Write to DMAy Streamx M1AR */ - DMAy_Streamx->M1AR = MemoryBaseAddr; - 800942e: 68fa ldr r2, [r7, #12] - 8009430: 68bb ldr r3, [r7, #8] - 8009432: 6113 str r3, [r2, #16] - 8009434: e002 b.n 800943c - } - else - { - /* Write to DMAy Streamx M0AR */ - DMAy_Streamx->M0AR = MemoryBaseAddr; - 8009436: 68fa ldr r2, [r7, #12] - 8009438: 68bb ldr r3, [r7, #8] - 800943a: 60d3 str r3, [r2, #12] - } -} - 800943c: f107 0714 add.w r7, r7, #20 ; 0x14 - 8009440: 46bd mov sp, r7 - 8009442: bc80 pop {r7} - 8009444: 4770 bx lr - 8009446: 46c0 nop (mov r8, r8) - -08009448 : - * @param DMAy_Streamx: where y can be 1 or 2 to select the DMA and x can be 0 - * to 7 to select the DMA Stream. - * @retval The memory target number: 0 for Memory0 or 1 for Memory1. - */ -uint32_t DMA_GetCurrentMemoryTarget(DMA_Stream_TypeDef* DMAy_Streamx) -{ - 8009448: b480 push {r7} - 800944a: b085 sub sp, #20 - 800944c: af00 add r7, sp, #0 - 800944e: 6078 str r0, [r7, #4] - uint32_t tmp = 0; - 8009450: f04f 0300 mov.w r3, #0 ; 0x0 - 8009454: 60fb str r3, [r7, #12] - - /* Check the parameters */ - //assert_param(IS_DMA_ALL_PERIPH(DMAy_Streamx)); - - /* Get the current memory target */ - if ((DMAy_Streamx->CR & DMA_SxCR_CT) != 0) - 8009456: 687b ldr r3, [r7, #4] - 8009458: 681b ldr r3, [r3, #0] - 800945a: f403 2300 and.w r3, r3, #524288 ; 0x80000 - 800945e: 2b00 cmp r3, #0 - 8009460: d003 beq.n 800946a - { - /* Current memory buffer used is Memory 1 */ - tmp = 1; - 8009462: f04f 0301 mov.w r3, #1 ; 0x1 - 8009466: 60fb str r3, [r7, #12] - 8009468: e002 b.n 8009470 - } - else - { - /* Current memory buffer used is Memory 0 */ - tmp = 0; - 800946a: f04f 0300 mov.w r3, #0 ; 0x0 - 800946e: 60fb str r3, [r7, #12] - } - return tmp; - 8009470: 68fb ldr r3, [r7, #12] -} - 8009472: 4618 mov r0, r3 - 8009474: f107 0714 add.w r7, r7, #20 ; 0x14 - 8009478: 46bd mov sp, r7 - 800947a: bc80 pop {r7} - 800947c: 4770 bx lr - 800947e: 46c0 nop (mov r8, r8) - -08009480 : - * of this single data is finished. - * - * @retval Current state of the DMAy Streamx (ENABLE or DISABLE). - */ -FunctionalState DMA_GetCmdStatus(DMA_Stream_TypeDef* DMAy_Streamx) -{ - 8009480: b480 push {r7} - 8009482: b085 sub sp, #20 - 8009484: af00 add r7, sp, #0 - 8009486: 6078 str r0, [r7, #4] - FunctionalState state = DISABLE; - 8009488: f04f 0300 mov.w r3, #0 ; 0x0 - 800948c: 73fb strb r3, [r7, #15] - - /* Check the parameters */ - //assert_param(IS_DMA_ALL_PERIPH(DMAy_Streamx)); - - if ((DMAy_Streamx->CR & (uint32_t)DMA_SxCR_EN) != 0) - 800948e: 687b ldr r3, [r7, #4] - 8009490: 681b ldr r3, [r3, #0] - 8009492: f003 0301 and.w r3, r3, #1 ; 0x1 - 8009496: b2db uxtb r3, r3 - 8009498: 2b00 cmp r3, #0 - 800949a: d003 beq.n 80094a4 - { - /* The selected DMAy Streamx EN bit is set (DMA is still transferring) */ - state = ENABLE; - 800949c: f04f 0301 mov.w r3, #1 ; 0x1 - 80094a0: 73fb strb r3, [r7, #15] - 80094a2: e002 b.n 80094aa - } - else - { - /* The selected DMAy Streamx EN bit is cleared (DMA is disabled and - all transfers are complete) */ - state = DISABLE; - 80094a4: f04f 0300 mov.w r3, #0 ; 0x0 - 80094a8: 73fb strb r3, [r7, #15] - } - return state; - 80094aa: 7bfb ldrb r3, [r7, #15] -} - 80094ac: 4618 mov r0, r3 - 80094ae: f107 0714 add.w r7, r7, #20 ; 0x14 - 80094b2: 46bd mov sp, r7 - 80094b4: bc80 pop {r7} - 80094b6: 4770 bx lr - -080094b8 : - * - DMA_FIFOStatus_3QuartersFull: if more than 3 quarters-full. - * - DMA_FIFOStatus_Empty: when FIFO is empty - * - DMA_FIFOStatus_Full: when FIFO is full - */ -uint32_t DMA_GetFIFOStatus(DMA_Stream_TypeDef* DMAy_Streamx) -{ - 80094b8: b480 push {r7} - 80094ba: b085 sub sp, #20 - 80094bc: af00 add r7, sp, #0 - 80094be: 6078 str r0, [r7, #4] - uint32_t tmpreg = 0; - 80094c0: f04f 0300 mov.w r3, #0 ; 0x0 - 80094c4: 60fb str r3, [r7, #12] - - /* Check the parameters */ - //assert_param(IS_DMA_ALL_PERIPH(DMAy_Streamx)); - - /* Get the FIFO level bits */ - tmpreg = (uint32_t)((DMAy_Streamx->FCR & DMA_SxFCR_FS)); - 80094c6: 687b ldr r3, [r7, #4] - 80094c8: 695b ldr r3, [r3, #20] - 80094ca: f003 0338 and.w r3, r3, #56 ; 0x38 - 80094ce: 60fb str r3, [r7, #12] - - return tmpreg; - 80094d0: 68fb ldr r3, [r7, #12] -} - 80094d2: 4618 mov r0, r3 - 80094d4: f107 0714 add.w r7, r7, #20 ; 0x14 - 80094d8: 46bd mov sp, r7 - 80094da: bc80 pop {r7} - 80094dc: 4770 bx lr - 80094de: 46c0 nop (mov r8, r8) - -080094e0 : - * @arg DMA_FLAG_FEIFx: Streamx FIFO error flag - * Where x can be 0 to 7 to select the DMA Stream. - * @retval The new state of DMA_FLAG (SET or RESET). - */ -FlagStatus DMA_GetFlagStatus(DMA_Stream_TypeDef* DMAy_Streamx, uint32_t DMA_FLAG) -{ - 80094e0: b480 push {r7} - 80094e2: b087 sub sp, #28 - 80094e4: af00 add r7, sp, #0 - 80094e6: 6078 str r0, [r7, #4] - 80094e8: 6039 str r1, [r7, #0] - FlagStatus bitstatus = RESET; - 80094ea: f04f 0300 mov.w r3, #0 ; 0x0 - 80094ee: 73fb strb r3, [r7, #15] - DMA_TypeDef* DMAy; - uint32_t tmpreg = 0; - 80094f0: f04f 0300 mov.w r3, #0 ; 0x0 - 80094f4: 617b str r3, [r7, #20] - /* Check the parameters */ - //assert_param(IS_DMA_ALL_PERIPH(DMAy_Streamx)); - //assert_param(IS_DMA_GET_FLAG(DMA_FLAG)); - - /* Determine the DMA to which belongs the stream */ - if (DMAy_Streamx < DMA2_Stream0) - 80094f6: 687a ldr r2, [r7, #4] - 80094f8: 4b16 ldr r3, [pc, #88] (8009554 ) - 80094fa: 429a cmp r2, r3 - 80094fc: d802 bhi.n 8009504 - { - /* DMAy_Streamx belongs to DMA1 */ - DMAy = DMA1; - 80094fe: 4b16 ldr r3, [pc, #88] (8009558 ) - 8009500: 613b str r3, [r7, #16] - 8009502: e001 b.n 8009508 - } - else - { - /* DMAy_Streamx belongs to DMA2 */ - DMAy = DMA2; - 8009504: 4b15 ldr r3, [pc, #84] (800955c ) - 8009506: 613b str r3, [r7, #16] - } - - /* Check if the flag is in HISR or LISR */ - if ((DMA_FLAG & HIGH_ISR_MASK) != (uint32_t)RESET) - 8009508: 683b ldr r3, [r7, #0] - 800950a: f003 5300 and.w r3, r3, #536870912 ; 0x20000000 - 800950e: 2b00 cmp r3, #0 - 8009510: d003 beq.n 800951a - { - /* Get DMAy HISR register value */ - tmpreg = DMAy->HISR; - 8009512: 693b ldr r3, [r7, #16] - 8009514: 685b ldr r3, [r3, #4] - 8009516: 617b str r3, [r7, #20] - 8009518: e002 b.n 8009520 - } - else - { - /* Get DMAy LISR register value */ - tmpreg = DMAy->LISR; - 800951a: 693b ldr r3, [r7, #16] - 800951c: 681b ldr r3, [r3, #0] - 800951e: 617b str r3, [r7, #20] - } - - /* Mask the reserved bits */ - tmpreg &= (uint32_t)RESERVED_MASK; - 8009520: 697a ldr r2, [r7, #20] - 8009522: 4b0f ldr r3, [pc, #60] (8009560 ) - 8009524: ea02 0303 and.w r3, r2, r3 - 8009528: 617b str r3, [r7, #20] - - /* Check the status of the specified DMA flag */ - if ((tmpreg & DMA_FLAG) != (uint32_t)RESET) - 800952a: 697a ldr r2, [r7, #20] - 800952c: 683b ldr r3, [r7, #0] - 800952e: ea02 0303 and.w r3, r2, r3 - 8009532: 2b00 cmp r3, #0 - 8009534: d003 beq.n 800953e - { - /* DMA_FLAG is set */ - bitstatus = SET; - 8009536: f04f 0301 mov.w r3, #1 ; 0x1 - 800953a: 73fb strb r3, [r7, #15] - 800953c: e002 b.n 8009544 - } - else - { - /* DMA_FLAG is reset */ - bitstatus = RESET; - 800953e: f04f 0300 mov.w r3, #0 ; 0x0 - 8009542: 73fb strb r3, [r7, #15] - } - - /* Return the DMA_FLAG status */ - return bitstatus; - 8009544: 7bfb ldrb r3, [r7, #15] -} - 8009546: 4618 mov r0, r3 - 8009548: f107 071c add.w r7, r7, #28 ; 0x1c - 800954c: 46bd mov sp, r7 - 800954e: bc80 pop {r7} - 8009550: 4770 bx lr - 8009552: 46c0 nop (mov r8, r8) - 8009554: 4002640f .word 0x4002640f - 8009558: 40026000 .word 0x40026000 - 800955c: 40026400 .word 0x40026400 - 8009560: 0f7d0f7d .word 0x0f7d0f7d - -08009564 : - * @arg DMA_FLAG_FEIFx: Streamx FIFO error flag - * Where x can be 0 to 7 to select the DMA Stream. - * @retval None - */ -void DMA_ClearFlag(DMA_Stream_TypeDef* DMAy_Streamx, uint32_t DMA_FLAG) -{ - 8009564: b480 push {r7} - 8009566: b085 sub sp, #20 - 8009568: af00 add r7, sp, #0 - 800956a: 6078 str r0, [r7, #4] - 800956c: 6039 str r1, [r7, #0] - /* Check the parameters */ - //assert_param(IS_DMA_ALL_PERIPH(DMAy_Streamx)); - //assert_param(IS_DMA_CLEAR_FLAG(DMA_FLAG)); - - /* Determine the DMA to which belongs the stream */ - if (DMAy_Streamx < DMA2_Stream0) - 800956e: 687a ldr r2, [r7, #4] - 8009570: 4b0f ldr r3, [pc, #60] (80095b0 ) - 8009572: 429a cmp r2, r3 - 8009574: d802 bhi.n 800957c - { - /* DMAy_Streamx belongs to DMA1 */ - DMAy = DMA1; - 8009576: 4b0f ldr r3, [pc, #60] (80095b4 ) - 8009578: 60fb str r3, [r7, #12] - 800957a: e001 b.n 8009580 - } - else - { - /* DMAy_Streamx belongs to DMA2 */ - DMAy = DMA2; - 800957c: 4b0e ldr r3, [pc, #56] (80095b8 ) - 800957e: 60fb str r3, [r7, #12] - } - - /* Check if LIFCR or HIFCR register is targeted */ - if ((DMA_FLAG & HIGH_ISR_MASK) != (uint32_t)RESET) - 8009580: 683b ldr r3, [r7, #0] - 8009582: f003 5300 and.w r3, r3, #536870912 ; 0x20000000 - 8009586: 2b00 cmp r3, #0 - 8009588: d006 beq.n 8009598 - { - /* Set DMAy HIFCR register clear flag bits */ - DMAy->HIFCR = (uint32_t)(DMA_FLAG & RESERVED_MASK); - 800958a: 683b ldr r3, [r7, #0] - 800958c: 4a0b ldr r2, [pc, #44] (80095bc ) - 800958e: ea03 0202 and.w r2, r3, r2 - 8009592: 68fb ldr r3, [r7, #12] - 8009594: 60da str r2, [r3, #12] - 8009596: e005 b.n 80095a4 - } - else - { - /* Set DMAy LIFCR register clear flag bits */ - DMAy->LIFCR = (uint32_t)(DMA_FLAG & RESERVED_MASK); - 8009598: 683b ldr r3, [r7, #0] - 800959a: 4a08 ldr r2, [pc, #32] (80095bc ) - 800959c: ea03 0202 and.w r2, r3, r2 - 80095a0: 68fb ldr r3, [r7, #12] - 80095a2: 609a str r2, [r3, #8] - } -} - 80095a4: f107 0714 add.w r7, r7, #20 ; 0x14 - 80095a8: 46bd mov sp, r7 - 80095aa: bc80 pop {r7} - 80095ac: 4770 bx lr - 80095ae: 46c0 nop (mov r8, r8) - 80095b0: 4002640f .word 0x4002640f - 80095b4: 40026000 .word 0x40026000 - 80095b8: 40026400 .word 0x40026400 - 80095bc: 0f7d0f7d .word 0x0f7d0f7d - -080095c0 : - * @param NewState: new state of the specified DMA interrupts. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void DMA_ITConfig(DMA_Stream_TypeDef* DMAy_Streamx, uint32_t DMA_IT, FunctionalState NewState) -{ - 80095c0: b480 push {r7} - 80095c2: b085 sub sp, #20 - 80095c4: af00 add r7, sp, #0 - 80095c6: 60f8 str r0, [r7, #12] - 80095c8: 60b9 str r1, [r7, #8] - 80095ca: 4613 mov r3, r2 - 80095cc: 71fb strb r3, [r7, #7] - //assert_param(IS_DMA_ALL_PERIPH(DMAy_Streamx)); - //assert_param(IS_DMA_CONFIG_IT(DMA_IT)); - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - - /* Check if the DMA_IT parameter contains a FIFO interrupt */ - if ((DMA_IT & DMA_IT_FE) != 0) - 80095ce: 68bb ldr r3, [r7, #8] - 80095d0: f003 0380 and.w r3, r3, #128 ; 0x80 - 80095d4: 2b00 cmp r3, #0 - 80095d6: d00f beq.n 80095f8 - { - if (NewState != DISABLE) - 80095d8: 79fb ldrb r3, [r7, #7] - 80095da: 2b00 cmp r3, #0 - 80095dc: d006 beq.n 80095ec - { - /* Enable the selected DMA FIFO interrupts */ - DMAy_Streamx->FCR |= (uint32_t)DMA_IT_FE; - 80095de: 68fb ldr r3, [r7, #12] - 80095e0: 695b ldr r3, [r3, #20] - 80095e2: f043 0280 orr.w r2, r3, #128 ; 0x80 - 80095e6: 68fb ldr r3, [r7, #12] - 80095e8: 615a str r2, [r3, #20] - 80095ea: e005 b.n 80095f8 - } - else - { - /* Disable the selected DMA FIFO interrupts */ - DMAy_Streamx->FCR &= ~(uint32_t)DMA_IT_FE; - 80095ec: 68fb ldr r3, [r7, #12] - 80095ee: 695b ldr r3, [r3, #20] - 80095f0: f023 0280 bic.w r2, r3, #128 ; 0x80 - 80095f4: 68fb ldr r3, [r7, #12] - 80095f6: 615a str r2, [r3, #20] - } - } - - /* Check if the DMA_IT parameter contains a Transfer interrupt */ - if (DMA_IT != DMA_IT_FE) - 80095f8: 68bb ldr r3, [r7, #8] - 80095fa: 2b80 cmp r3, #128 - 80095fc: d017 beq.n 800962e - { - if (NewState != DISABLE) - 80095fe: 79fb ldrb r3, [r7, #7] - 8009600: 2b00 cmp r3, #0 - 8009602: d009 beq.n 8009618 - { - /* Enable the selected DMA transfer interrupts */ - DMAy_Streamx->CR |= (uint32_t)(DMA_IT & TRANSFER_IT_ENABLE_MASK); - 8009604: 68fb ldr r3, [r7, #12] - 8009606: 681a ldr r2, [r3, #0] - 8009608: 68bb ldr r3, [r7, #8] - 800960a: f003 031e and.w r3, r3, #30 ; 0x1e - 800960e: ea42 0203 orr.w r2, r2, r3 - 8009612: 68fb ldr r3, [r7, #12] - 8009614: 601a str r2, [r3, #0] - 8009616: e00a b.n 800962e - } - else - { - /* Disable the selected DMA transfer interrupts */ - DMAy_Streamx->CR &= ~(uint32_t)(DMA_IT & TRANSFER_IT_ENABLE_MASK); - 8009618: 68fb ldr r3, [r7, #12] - 800961a: 681a ldr r2, [r3, #0] - 800961c: 68bb ldr r3, [r7, #8] - 800961e: f003 031e and.w r3, r3, #30 ; 0x1e - 8009622: ea6f 0303 mvn.w r3, r3 - 8009626: ea02 0203 and.w r2, r2, r3 - 800962a: 68fb ldr r3, [r7, #12] - 800962c: 601a str r2, [r3, #0] - } - } -} - 800962e: f107 0714 add.w r7, r7, #20 ; 0x14 - 8009632: 46bd mov sp, r7 - 8009634: bc80 pop {r7} - 8009636: 4770 bx lr - -08009638 : - * @arg DMA_IT_FEIFx: Streamx FIFO error interrupt - * Where x can be 0 to 7 to select the DMA Stream. - * @retval The new state of DMA_IT (SET or RESET). - */ -ITStatus DMA_GetITStatus(DMA_Stream_TypeDef* DMAy_Streamx, uint32_t DMA_IT) -{ - 8009638: b480 push {r7} - 800963a: b087 sub sp, #28 - 800963c: af00 add r7, sp, #0 - 800963e: 6078 str r0, [r7, #4] - 8009640: 6039 str r1, [r7, #0] - ITStatus bitstatus = RESET; - 8009642: f04f 0300 mov.w r3, #0 ; 0x0 - 8009646: 72fb strb r3, [r7, #11] - DMA_TypeDef* DMAy; - uint32_t tmpreg = 0, enablestatus = 0; - 8009648: f04f 0300 mov.w r3, #0 ; 0x0 - 800964c: 613b str r3, [r7, #16] - 800964e: f04f 0300 mov.w r3, #0 ; 0x0 - 8009652: 617b str r3, [r7, #20] - /* Check the parameters */ - //assert_param(IS_DMA_ALL_PERIPH(DMAy_Streamx)); - //assert_param(IS_DMA_GET_IT(DMA_IT)); - - /* Determine the DMA to which belongs the stream */ - if (DMAy_Streamx < DMA2_Stream0) - 8009654: 687a ldr r2, [r7, #4] - 8009656: 4b24 ldr r3, [pc, #144] (80096e8 ) - 8009658: 429a cmp r2, r3 - 800965a: d802 bhi.n 8009662 - { - /* DMAy_Streamx belongs to DMA1 */ - DMAy = DMA1; - 800965c: 4b23 ldr r3, [pc, #140] (80096ec ) - 800965e: 60fb str r3, [r7, #12] - 8009660: e001 b.n 8009666 - } - else - { - /* DMAy_Streamx belongs to DMA2 */ - DMAy = DMA2; - 8009662: 4b23 ldr r3, [pc, #140] (80096f0 ) - 8009664: 60fb str r3, [r7, #12] - } - - /* Check if the interrupt enable bit is in the CR or FCR register */ - if ((DMA_IT & TRANSFER_IT_MASK) != (uint32_t)RESET) - 8009666: 683a ldr r2, [r7, #0] - 8009668: 4b22 ldr r3, [pc, #136] (80096f4 ) - 800966a: ea02 0303 and.w r3, r2, r3 - 800966e: 2b00 cmp r3, #0 - 8009670: d00c beq.n 800968c - { - /* Get the interrupt enable position mask in CR register */ - tmpreg = (uint32_t)((DMA_IT >> 11) & TRANSFER_IT_ENABLE_MASK); - 8009672: 683b ldr r3, [r7, #0] - 8009674: ea4f 23d3 mov.w r3, r3, lsr #11 - 8009678: f003 031e and.w r3, r3, #30 ; 0x1e - 800967c: 613b str r3, [r7, #16] - - /* Check the enable bit in CR register */ - enablestatus = (uint32_t)(DMAy_Streamx->CR & tmpreg); - 800967e: 687b ldr r3, [r7, #4] - 8009680: 681a ldr r2, [r3, #0] - 8009682: 693b ldr r3, [r7, #16] - 8009684: ea02 0303 and.w r3, r2, r3 - 8009688: 617b str r3, [r7, #20] - 800968a: e004 b.n 8009696 - } - else - { - /* Check the enable bit in FCR register */ - enablestatus = (uint32_t)(DMAy_Streamx->FCR & DMA_IT_FE); - 800968c: 687b ldr r3, [r7, #4] - 800968e: 695b ldr r3, [r3, #20] - 8009690: f003 0380 and.w r3, r3, #128 ; 0x80 - 8009694: 617b str r3, [r7, #20] - } - - /* Check if the interrupt pending flag is in LISR or HISR */ - if ((DMA_IT & HIGH_ISR_MASK) != (uint32_t)RESET) - 8009696: 683b ldr r3, [r7, #0] - 8009698: f003 5300 and.w r3, r3, #536870912 ; 0x20000000 - 800969c: 2b00 cmp r3, #0 - 800969e: d003 beq.n 80096a8 - { - /* Get DMAy HISR register value */ - tmpreg = DMAy->HISR ; - 80096a0: 68fb ldr r3, [r7, #12] - 80096a2: 685b ldr r3, [r3, #4] - 80096a4: 613b str r3, [r7, #16] - 80096a6: e002 b.n 80096ae - } - else - { - /* Get DMAy LISR register value */ - tmpreg = DMAy->LISR ; - 80096a8: 68fb ldr r3, [r7, #12] - 80096aa: 681b ldr r3, [r3, #0] - 80096ac: 613b str r3, [r7, #16] - } - - /* mask all reserved bits */ - tmpreg &= (uint32_t)RESERVED_MASK; - 80096ae: 693a ldr r2, [r7, #16] - 80096b0: 4b11 ldr r3, [pc, #68] (80096f8 ) - 80096b2: ea02 0303 and.w r3, r2, r3 - 80096b6: 613b str r3, [r7, #16] - - /* Check the status of the specified DMA interrupt */ - if (((tmpreg & DMA_IT) != (uint32_t)RESET) && (enablestatus != (uint32_t)RESET)) - 80096b8: 693a ldr r2, [r7, #16] - 80096ba: 683b ldr r3, [r7, #0] - 80096bc: ea02 0303 and.w r3, r2, r3 - 80096c0: 2b00 cmp r3, #0 - 80096c2: d006 beq.n 80096d2 - 80096c4: 697b ldr r3, [r7, #20] - 80096c6: 2b00 cmp r3, #0 - 80096c8: d003 beq.n 80096d2 - { - /* DMA_IT is set */ - bitstatus = SET; - 80096ca: f04f 0301 mov.w r3, #1 ; 0x1 - 80096ce: 72fb strb r3, [r7, #11] - 80096d0: e002 b.n 80096d8 - } - else - { - /* DMA_IT is reset */ - bitstatus = RESET; - 80096d2: f04f 0300 mov.w r3, #0 ; 0x0 - 80096d6: 72fb strb r3, [r7, #11] - } - - /* Return the DMA_IT status */ - return bitstatus; - 80096d8: 7afb ldrb r3, [r7, #11] -} - 80096da: 4618 mov r0, r3 - 80096dc: f107 071c add.w r7, r7, #28 ; 0x1c - 80096e0: 46bd mov sp, r7 - 80096e2: bc80 pop {r7} - 80096e4: 4770 bx lr - 80096e6: 46c0 nop (mov r8, r8) - 80096e8: 4002640f .word 0x4002640f - 80096ec: 40026000 .word 0x40026000 - 80096f0: 40026400 .word 0x40026400 - 80096f4: 0f3c0f3c .word 0x0f3c0f3c - 80096f8: 0f7d0f7d .word 0x0f7d0f7d - -080096fc : - * @arg DMA_IT_FEIFx: Streamx FIFO error interrupt - * Where x can be 0 to 7 to select the DMA Stream. - * @retval None - */ -void DMA_ClearITPendingBit(DMA_Stream_TypeDef* DMAy_Streamx, uint32_t DMA_IT) -{ - 80096fc: b480 push {r7} - 80096fe: b085 sub sp, #20 - 8009700: af00 add r7, sp, #0 - 8009702: 6078 str r0, [r7, #4] - 8009704: 6039 str r1, [r7, #0] - /* Check the parameters */ - //assert_param(IS_DMA_ALL_PERIPH(DMAy_Streamx)); - //assert_param(IS_DMA_CLEAR_IT(DMA_IT)); - - /* Determine the DMA to which belongs the stream */ - if (DMAy_Streamx < DMA2_Stream0) - 8009706: 687a ldr r2, [r7, #4] - 8009708: 4b0f ldr r3, [pc, #60] (8009748 ) - 800970a: 429a cmp r2, r3 - 800970c: d802 bhi.n 8009714 - { - /* DMAy_Streamx belongs to DMA1 */ - DMAy = DMA1; - 800970e: 4b0f ldr r3, [pc, #60] (800974c ) - 8009710: 60fb str r3, [r7, #12] - 8009712: e001 b.n 8009718 - } - else - { - /* DMAy_Streamx belongs to DMA2 */ - DMAy = DMA2; - 8009714: 4b0e ldr r3, [pc, #56] (8009750 ) - 8009716: 60fb str r3, [r7, #12] - } - - /* Check if LIFCR or HIFCR register is targeted */ - if ((DMA_IT & HIGH_ISR_MASK) != (uint32_t)RESET) - 8009718: 683b ldr r3, [r7, #0] - 800971a: f003 5300 and.w r3, r3, #536870912 ; 0x20000000 - 800971e: 2b00 cmp r3, #0 - 8009720: d006 beq.n 8009730 - { - /* Set DMAy HIFCR register clear interrupt bits */ - DMAy->HIFCR = (uint32_t)(DMA_IT & RESERVED_MASK); - 8009722: 683b ldr r3, [r7, #0] - 8009724: 4a0b ldr r2, [pc, #44] (8009754 ) - 8009726: ea03 0202 and.w r2, r3, r2 - 800972a: 68fb ldr r3, [r7, #12] - 800972c: 60da str r2, [r3, #12] - 800972e: e005 b.n 800973c - } - else - { - /* Set DMAy LIFCR register clear interrupt bits */ - DMAy->LIFCR = (uint32_t)(DMA_IT & RESERVED_MASK); - 8009730: 683b ldr r3, [r7, #0] - 8009732: 4a08 ldr r2, [pc, #32] (8009754 ) - 8009734: ea03 0202 and.w r2, r3, r2 - 8009738: 68fb ldr r3, [r7, #12] - 800973a: 609a str r2, [r3, #8] - } -} - 800973c: f107 0714 add.w r7, r7, #20 ; 0x14 - 8009740: 46bd mov sp, r7 - 8009742: bc80 pop {r7} - 8009744: 4770 bx lr - 8009746: 46c0 nop (mov r8, r8) - 8009748: 4002640f .word 0x4002640f - 800974c: 40026000 .word 0x40026000 - 8009750: 40026400 .word 0x40026400 - 8009754: 0f7d0f7d .word 0x0f7d0f7d - -08009758 : - * @brief Deinitializes the EXTI peripheral registers to their default reset values. - * @param None - * @retval None - */ -void EXTI_DeInit(void) -{ - 8009758: b480 push {r7} - 800975a: af00 add r7, sp, #0 - EXTI->IMR = 0x00000000; - 800975c: 4a0a ldr r2, [pc, #40] (8009788 ) - 800975e: f04f 0300 mov.w r3, #0 ; 0x0 - 8009762: 6013 str r3, [r2, #0] - EXTI->EMR = 0x00000000; - 8009764: 4a08 ldr r2, [pc, #32] (8009788 ) - 8009766: f04f 0300 mov.w r3, #0 ; 0x0 - 800976a: 6053 str r3, [r2, #4] - EXTI->RTSR = 0x00000000; - 800976c: 4a06 ldr r2, [pc, #24] (8009788 ) - 800976e: f04f 0300 mov.w r3, #0 ; 0x0 - 8009772: 6093 str r3, [r2, #8] - EXTI->FTSR = 0x00000000; - 8009774: 4a04 ldr r2, [pc, #16] (8009788 ) - 8009776: f04f 0300 mov.w r3, #0 ; 0x0 - 800977a: 60d3 str r3, [r2, #12] - EXTI->PR = 0x007FFFFF; - 800977c: 4a02 ldr r2, [pc, #8] (8009788 ) - 800977e: 4b03 ldr r3, [pc, #12] (800978c ) - 8009780: 6153 str r3, [r2, #20] -} - 8009782: 46bd mov sp, r7 - 8009784: bc80 pop {r7} - 8009786: 4770 bx lr - 8009788: 40013c00 .word 0x40013c00 - 800978c: 007fffff .word 0x007fffff - -08009790 : - * @param EXTI_InitStruct: pointer to a EXTI_InitTypeDef structure - * that contains the configuration information for the EXTI peripheral. - * @retval None - */ -void EXTI_Init(EXTI_InitTypeDef* EXTI_InitStruct) -{ - 8009790: b480 push {r7} - 8009792: b085 sub sp, #20 - 8009794: af00 add r7, sp, #0 - 8009796: 6078 str r0, [r7, #4] - uint32_t tmp = 0; - 8009798: f04f 0300 mov.w r3, #0 ; 0x0 - 800979c: 60fb str r3, [r7, #12] - //assert_param(IS_EXTI_MODE(EXTI_InitStruct->EXTI_Mode)); - //assert_param(IS_EXTI_TRIGGER(EXTI_InitStruct->EXTI_Trigger)); - //assert_param(IS_EXTI_LINE(EXTI_InitStruct->EXTI_Line)); - //assert_param(IS_FUNCTIONAL_STATE(EXTI_InitStruct->EXTI_LineCmd)); - - tmp = (uint32_t)EXTI_BASE; - 800979e: 4b3b ldr r3, [pc, #236] (800988c ) - 80097a0: 60fb str r3, [r7, #12] - - if (EXTI_InitStruct->EXTI_LineCmd != DISABLE) - 80097a2: 687b ldr r3, [r7, #4] - 80097a4: 799b ldrb r3, [r3, #6] - 80097a6: 2b00 cmp r3, #0 - 80097a8: d05b beq.n 8009862 - { - /* Clear EXTI line configuration */ - EXTI->IMR &= ~EXTI_InitStruct->EXTI_Line; - 80097aa: 4938 ldr r1, [pc, #224] (800988c ) - 80097ac: 4b37 ldr r3, [pc, #220] (800988c ) - 80097ae: 681a ldr r2, [r3, #0] - 80097b0: 687b ldr r3, [r7, #4] - 80097b2: 681b ldr r3, [r3, #0] - 80097b4: ea6f 0303 mvn.w r3, r3 - 80097b8: ea02 0303 and.w r3, r2, r3 - 80097bc: 600b str r3, [r1, #0] - EXTI->EMR &= ~EXTI_InitStruct->EXTI_Line; - 80097be: 4933 ldr r1, [pc, #204] (800988c ) - 80097c0: 4b32 ldr r3, [pc, #200] (800988c ) - 80097c2: 685a ldr r2, [r3, #4] - 80097c4: 687b ldr r3, [r7, #4] - 80097c6: 681b ldr r3, [r3, #0] - 80097c8: ea6f 0303 mvn.w r3, r3 - 80097cc: ea02 0303 and.w r3, r2, r3 - 80097d0: 604b str r3, [r1, #4] - - tmp += EXTI_InitStruct->EXTI_Mode; - 80097d2: 687b ldr r3, [r7, #4] - 80097d4: 791b ldrb r3, [r3, #4] - 80097d6: 461a mov r2, r3 - 80097d8: 68fb ldr r3, [r7, #12] - 80097da: 4413 add r3, r2 - 80097dc: 60fb str r3, [r7, #12] - - *(__IO uint32_t *) tmp |= EXTI_InitStruct->EXTI_Line; - 80097de: 68f9 ldr r1, [r7, #12] - 80097e0: 68fb ldr r3, [r7, #12] - 80097e2: 681a ldr r2, [r3, #0] - 80097e4: 687b ldr r3, [r7, #4] - 80097e6: 681b ldr r3, [r3, #0] - 80097e8: ea42 0303 orr.w r3, r2, r3 - 80097ec: 600b str r3, [r1, #0] - - /* Clear Rising Falling edge configuration */ - EXTI->RTSR &= ~EXTI_InitStruct->EXTI_Line; - 80097ee: 4927 ldr r1, [pc, #156] (800988c ) - 80097f0: 4b26 ldr r3, [pc, #152] (800988c ) - 80097f2: 689a ldr r2, [r3, #8] - 80097f4: 687b ldr r3, [r7, #4] - 80097f6: 681b ldr r3, [r3, #0] - 80097f8: ea6f 0303 mvn.w r3, r3 - 80097fc: ea02 0303 and.w r3, r2, r3 - 8009800: 608b str r3, [r1, #8] - EXTI->FTSR &= ~EXTI_InitStruct->EXTI_Line; - 8009802: 4922 ldr r1, [pc, #136] (800988c ) - 8009804: 4b21 ldr r3, [pc, #132] (800988c ) - 8009806: 68da ldr r2, [r3, #12] - 8009808: 687b ldr r3, [r7, #4] - 800980a: 681b ldr r3, [r3, #0] - 800980c: ea6f 0303 mvn.w r3, r3 - 8009810: ea02 0303 and.w r3, r2, r3 - 8009814: 60cb str r3, [r1, #12] - - /* Select the trigger for the selected external interrupts */ - if (EXTI_InitStruct->EXTI_Trigger == EXTI_Trigger_Rising_Falling) - 8009816: 687b ldr r3, [r7, #4] - 8009818: 795b ldrb r3, [r3, #5] - 800981a: 2b10 cmp r3, #16 - 800981c: d110 bne.n 8009840 - { - /* Rising Falling edge */ - EXTI->RTSR |= EXTI_InitStruct->EXTI_Line; - 800981e: 491b ldr r1, [pc, #108] (800988c ) - 8009820: 4b1a ldr r3, [pc, #104] (800988c ) - 8009822: 689a ldr r2, [r3, #8] - 8009824: 687b ldr r3, [r7, #4] - 8009826: 681b ldr r3, [r3, #0] - 8009828: ea42 0303 orr.w r3, r2, r3 - 800982c: 608b str r3, [r1, #8] - EXTI->FTSR |= EXTI_InitStruct->EXTI_Line; - 800982e: 4917 ldr r1, [pc, #92] (800988c ) - 8009830: 4b16 ldr r3, [pc, #88] (800988c ) - 8009832: 68da ldr r2, [r3, #12] - 8009834: 687b ldr r3, [r7, #4] - 8009836: 681b ldr r3, [r3, #0] - 8009838: ea42 0303 orr.w r3, r2, r3 - 800983c: 60cb str r3, [r1, #12] - 800983e: e020 b.n 8009882 - } - else - { - tmp = (uint32_t)EXTI_BASE; - 8009840: 4b12 ldr r3, [pc, #72] (800988c ) - 8009842: 60fb str r3, [r7, #12] - tmp += EXTI_InitStruct->EXTI_Trigger; - 8009844: 687b ldr r3, [r7, #4] - 8009846: 795b ldrb r3, [r3, #5] - 8009848: 461a mov r2, r3 - 800984a: 68fb ldr r3, [r7, #12] - 800984c: 4413 add r3, r2 - 800984e: 60fb str r3, [r7, #12] - - *(__IO uint32_t *) tmp |= EXTI_InitStruct->EXTI_Line; - 8009850: 68f9 ldr r1, [r7, #12] - 8009852: 68fb ldr r3, [r7, #12] - 8009854: 681a ldr r2, [r3, #0] - 8009856: 687b ldr r3, [r7, #4] - 8009858: 681b ldr r3, [r3, #0] - 800985a: ea42 0303 orr.w r3, r2, r3 - 800985e: 600b str r3, [r1, #0] - 8009860: e00f b.n 8009882 - } - } - else - { - tmp += EXTI_InitStruct->EXTI_Mode; - 8009862: 687b ldr r3, [r7, #4] - 8009864: 791b ldrb r3, [r3, #4] - 8009866: 461a mov r2, r3 - 8009868: 68fb ldr r3, [r7, #12] - 800986a: 4413 add r3, r2 - 800986c: 60fb str r3, [r7, #12] - - /* Disable the selected external lines */ - *(__IO uint32_t *) tmp &= ~EXTI_InitStruct->EXTI_Line; - 800986e: 68f9 ldr r1, [r7, #12] - 8009870: 68fb ldr r3, [r7, #12] - 8009872: 681a ldr r2, [r3, #0] - 8009874: 687b ldr r3, [r7, #4] - 8009876: 681b ldr r3, [r3, #0] - 8009878: ea6f 0303 mvn.w r3, r3 - 800987c: ea02 0303 and.w r3, r2, r3 - 8009880: 600b str r3, [r1, #0] - } -} - 8009882: f107 0714 add.w r7, r7, #20 ; 0x14 - 8009886: 46bd mov sp, r7 - 8009888: bc80 pop {r7} - 800988a: 4770 bx lr - 800988c: 40013c00 .word 0x40013c00 - -08009890 : - * @param EXTI_InitStruct: pointer to a EXTI_InitTypeDef structure which will - * be initialized. - * @retval None - */ -void EXTI_StructInit(EXTI_InitTypeDef* EXTI_InitStruct) -{ - 8009890: b480 push {r7} - 8009892: b083 sub sp, #12 - 8009894: af00 add r7, sp, #0 - 8009896: 6078 str r0, [r7, #4] - EXTI_InitStruct->EXTI_Line = EXTI_LINENONE; - 8009898: 687a ldr r2, [r7, #4] - 800989a: f04f 0300 mov.w r3, #0 ; 0x0 - 800989e: 6013 str r3, [r2, #0] - EXTI_InitStruct->EXTI_Mode = EXTI_Mode_Interrupt; - 80098a0: 687a ldr r2, [r7, #4] - 80098a2: f04f 0300 mov.w r3, #0 ; 0x0 - 80098a6: 7113 strb r3, [r2, #4] - EXTI_InitStruct->EXTI_Trigger = EXTI_Trigger_Falling; - 80098a8: 687a ldr r2, [r7, #4] - 80098aa: f04f 030c mov.w r3, #12 ; 0xc - 80098ae: 7153 strb r3, [r2, #5] - EXTI_InitStruct->EXTI_LineCmd = DISABLE; - 80098b0: 687a ldr r2, [r7, #4] - 80098b2: f04f 0300 mov.w r3, #0 ; 0x0 - 80098b6: 7193 strb r3, [r2, #6] -} - 80098b8: f107 070c add.w r7, r7, #12 ; 0xc - 80098bc: 46bd mov sp, r7 - 80098be: bc80 pop {r7} - 80098c0: 4770 bx lr - 80098c2: 46c0 nop (mov r8, r8) - -080098c4 : - * will be generated. - * This parameter can be any combination of EXTI_Linex where x can be (0..22) - * @retval None - */ -void EXTI_GenerateSWInterrupt(uint32_t EXTI_Line) -{ - 80098c4: b480 push {r7} - 80098c6: b083 sub sp, #12 - 80098c8: af00 add r7, sp, #0 - 80098ca: 6078 str r0, [r7, #4] - /* Check the parameters */ - //assert_param(IS_EXTI_LINE(EXTI_Line)); - - EXTI->SWIER |= EXTI_Line; - 80098cc: 4905 ldr r1, [pc, #20] (80098e4 ) - 80098ce: 4b05 ldr r3, [pc, #20] (80098e4 ) - 80098d0: 691a ldr r2, [r3, #16] - 80098d2: 687b ldr r3, [r7, #4] - 80098d4: ea42 0303 orr.w r3, r2, r3 - 80098d8: 610b str r3, [r1, #16] -} - 80098da: f107 070c add.w r7, r7, #12 ; 0xc - 80098de: 46bd mov sp, r7 - 80098e0: bc80 pop {r7} - 80098e2: 4770 bx lr - 80098e4: 40013c00 .word 0x40013c00 - -080098e8 : - * @param EXTI_Line: specifies the EXTI line flag to check. - * This parameter can be EXTI_Linex where x can be(0..22) - * @retval The new state of EXTI_Line (SET or RESET). - */ -FlagStatus EXTI_GetFlagStatus(uint32_t EXTI_Line) -{ - 80098e8: b480 push {r7} - 80098ea: b085 sub sp, #20 - 80098ec: af00 add r7, sp, #0 - 80098ee: 6078 str r0, [r7, #4] - FlagStatus bitstatus = RESET; - 80098f0: f04f 0300 mov.w r3, #0 ; 0x0 - 80098f4: 73fb strb r3, [r7, #15] - /* Check the parameters */ - //assert_param(IS_GET_EXTI_LINE(EXTI_Line)); - - if ((EXTI->PR & EXTI_Line) != (uint32_t)RESET) - 80098f6: 4b0a ldr r3, [pc, #40] (8009920 ) - 80098f8: 695a ldr r2, [r3, #20] - 80098fa: 687b ldr r3, [r7, #4] - 80098fc: ea02 0303 and.w r3, r2, r3 - 8009900: 2b00 cmp r3, #0 - 8009902: d003 beq.n 800990c - { - bitstatus = SET; - 8009904: f04f 0301 mov.w r3, #1 ; 0x1 - 8009908: 73fb strb r3, [r7, #15] - 800990a: e002 b.n 8009912 - } - else - { - bitstatus = RESET; - 800990c: f04f 0300 mov.w r3, #0 ; 0x0 - 8009910: 73fb strb r3, [r7, #15] - } - return bitstatus; - 8009912: 7bfb ldrb r3, [r7, #15] -} - 8009914: 4618 mov r0, r3 - 8009916: f107 0714 add.w r7, r7, #20 ; 0x14 - 800991a: 46bd mov sp, r7 - 800991c: bc80 pop {r7} - 800991e: 4770 bx lr - 8009920: 40013c00 .word 0x40013c00 - -08009924 : - * @param EXTI_Line: specifies the EXTI lines flags to clear. - * This parameter can be any combination of EXTI_Linex where x can be (0..22) - * @retval None - */ -void EXTI_ClearFlag(uint32_t EXTI_Line) -{ - 8009924: b480 push {r7} - 8009926: b083 sub sp, #12 - 8009928: af00 add r7, sp, #0 - 800992a: 6078 str r0, [r7, #4] - /* Check the parameters */ - //assert_param(IS_EXTI_LINE(EXTI_Line)); - - EXTI->PR = EXTI_Line; - 800992c: 4a03 ldr r2, [pc, #12] (800993c ) - 800992e: 687b ldr r3, [r7, #4] - 8009930: 6153 str r3, [r2, #20] -} - 8009932: f107 070c add.w r7, r7, #12 ; 0xc - 8009936: 46bd mov sp, r7 - 8009938: bc80 pop {r7} - 800993a: 4770 bx lr - 800993c: 40013c00 .word 0x40013c00 - -08009940 : - * @param EXTI_Line: specifies the EXTI line to check. - * This parameter can be EXTI_Linex where x can be(0..22) - * @retval The new state of EXTI_Line (SET or RESET). - */ -ITStatus EXTI_GetITStatus(uint32_t EXTI_Line) -{ - 8009940: b480 push {r7} - 8009942: b085 sub sp, #20 - 8009944: af00 add r7, sp, #0 - 8009946: 6078 str r0, [r7, #4] - FlagStatus bitstatus = RESET; - 8009948: f04f 0300 mov.w r3, #0 ; 0x0 - 800994c: 73fb strb r3, [r7, #15] - /* Check the parameters */ - //assert_param(IS_GET_EXTI_LINE(EXTI_Line)); - - if ((EXTI->PR & EXTI_Line) != (uint32_t)RESET) - 800994e: 4b0a ldr r3, [pc, #40] (8009978 ) - 8009950: 695a ldr r2, [r3, #20] - 8009952: 687b ldr r3, [r7, #4] - 8009954: ea02 0303 and.w r3, r2, r3 - 8009958: 2b00 cmp r3, #0 - 800995a: d003 beq.n 8009964 - { - bitstatus = SET; - 800995c: f04f 0301 mov.w r3, #1 ; 0x1 - 8009960: 73fb strb r3, [r7, #15] - 8009962: e002 b.n 800996a - } - else - { - bitstatus = RESET; - 8009964: f04f 0300 mov.w r3, #0 ; 0x0 - 8009968: 73fb strb r3, [r7, #15] - } - return bitstatus; - 800996a: 7bfb ldrb r3, [r7, #15] - -} - 800996c: 4618 mov r0, r3 - 800996e: f107 0714 add.w r7, r7, #20 ; 0x14 - 8009972: 46bd mov sp, r7 - 8009974: bc80 pop {r7} - 8009976: 4770 bx lr - 8009978: 40013c00 .word 0x40013c00 - -0800997c : - * @param EXTI_Line: specifies the EXTI lines to clear. - * This parameter can be any combination of EXTI_Linex where x can be (0..22) - * @retval None - */ -void EXTI_ClearITPendingBit(uint32_t EXTI_Line) -{ - 800997c: b480 push {r7} - 800997e: b083 sub sp, #12 - 8009980: af00 add r7, sp, #0 - 8009982: 6078 str r0, [r7, #4] - /* Check the parameters */ - //assert_param(IS_EXTI_LINE(EXTI_Line)); - - EXTI->PR = EXTI_Line; - 8009984: 4a03 ldr r2, [pc, #12] (8009994 ) - 8009986: 687b ldr r3, [r7, #4] - 8009988: 6153 str r3, [r2, #20] -} - 800998a: f107 070c add.w r7, r7, #12 ; 0xc - 800998e: 46bd mov sp, r7 - 8009990: bc80 pop {r7} - 8009992: 4770 bx lr - 8009994: 40013c00 .word 0x40013c00 - -08009998 : - * x can be (A..I) to select the GPIO peripheral for STM32F42xxx/43xxx devices. - * x can be (A, B, C, D and H) to select the GPIO peripheral for STM32F401xx devices. - * @retval None - */ -void GPIO_DeInit(GPIO_TypeDef* GPIOx) -{ - 8009998: b580 push {r7, lr} - 800999a: b082 sub sp, #8 - 800999c: af00 add r7, sp, #0 - 800999e: 6078 str r0, [r7, #4] - /* Check the parameters */ - //assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); - - if (GPIOx == GPIOA) - 80099a0: 687a ldr r2, [r7, #4] - 80099a2: 4b5e ldr r3, [pc, #376] (8009b1c ) - 80099a4: 429a cmp r2, r3 - 80099a6: d10c bne.n 80099c2 - { - RCC_AHB1PeriphResetCmd(RCC_AHB1Periph_GPIOA, ENABLE); - 80099a8: f04f 0001 mov.w r0, #1 ; 0x1 - 80099ac: f04f 0101 mov.w r1, #1 ; 0x1 - 80099b0: f000 ff84 bl 800a8bc - RCC_AHB1PeriphResetCmd(RCC_AHB1Periph_GPIOA, DISABLE); - 80099b4: f04f 0001 mov.w r0, #1 ; 0x1 - 80099b8: f04f 0100 mov.w r1, #0 ; 0x0 - 80099bc: f000 ff7e bl 800a8bc - 80099c0: e0a8 b.n 8009b14 - } - else if (GPIOx == GPIOB) - 80099c2: 687a ldr r2, [r7, #4] - 80099c4: 4b56 ldr r3, [pc, #344] (8009b20 ) - 80099c6: 429a cmp r2, r3 - 80099c8: d10c bne.n 80099e4 - { - RCC_AHB1PeriphResetCmd(RCC_AHB1Periph_GPIOB, ENABLE); - 80099ca: f04f 0002 mov.w r0, #2 ; 0x2 - 80099ce: f04f 0101 mov.w r1, #1 ; 0x1 - 80099d2: f000 ff73 bl 800a8bc - RCC_AHB1PeriphResetCmd(RCC_AHB1Periph_GPIOB, DISABLE); - 80099d6: f04f 0002 mov.w r0, #2 ; 0x2 - 80099da: f04f 0100 mov.w r1, #0 ; 0x0 - 80099de: f000 ff6d bl 800a8bc - 80099e2: e097 b.n 8009b14 - } - else if (GPIOx == GPIOC) - 80099e4: 687a ldr r2, [r7, #4] - 80099e6: 4b4f ldr r3, [pc, #316] (8009b24 ) - 80099e8: 429a cmp r2, r3 - 80099ea: d10c bne.n 8009a06 - { - RCC_AHB1PeriphResetCmd(RCC_AHB1Periph_GPIOC, ENABLE); - 80099ec: f04f 0004 mov.w r0, #4 ; 0x4 - 80099f0: f04f 0101 mov.w r1, #1 ; 0x1 - 80099f4: f000 ff62 bl 800a8bc - RCC_AHB1PeriphResetCmd(RCC_AHB1Periph_GPIOC, DISABLE); - 80099f8: f04f 0004 mov.w r0, #4 ; 0x4 - 80099fc: f04f 0100 mov.w r1, #0 ; 0x0 - 8009a00: f000 ff5c bl 800a8bc - 8009a04: e086 b.n 8009b14 - } - else if (GPIOx == GPIOD) - 8009a06: 687a ldr r2, [r7, #4] - 8009a08: 4b47 ldr r3, [pc, #284] (8009b28 ) - 8009a0a: 429a cmp r2, r3 - 8009a0c: d10c bne.n 8009a28 - { - RCC_AHB1PeriphResetCmd(RCC_AHB1Periph_GPIOD, ENABLE); - 8009a0e: f04f 0008 mov.w r0, #8 ; 0x8 - 8009a12: f04f 0101 mov.w r1, #1 ; 0x1 - 8009a16: f000 ff51 bl 800a8bc - RCC_AHB1PeriphResetCmd(RCC_AHB1Periph_GPIOD, DISABLE); - 8009a1a: f04f 0008 mov.w r0, #8 ; 0x8 - 8009a1e: f04f 0100 mov.w r1, #0 ; 0x0 - 8009a22: f000 ff4b bl 800a8bc - 8009a26: e075 b.n 8009b14 - } - else if (GPIOx == GPIOE) - 8009a28: 687a ldr r2, [r7, #4] - 8009a2a: 4b40 ldr r3, [pc, #256] (8009b2c ) - 8009a2c: 429a cmp r2, r3 - 8009a2e: d10c bne.n 8009a4a - { - RCC_AHB1PeriphResetCmd(RCC_AHB1Periph_GPIOE, ENABLE); - 8009a30: f04f 0010 mov.w r0, #16 ; 0x10 - 8009a34: f04f 0101 mov.w r1, #1 ; 0x1 - 8009a38: f000 ff40 bl 800a8bc - RCC_AHB1PeriphResetCmd(RCC_AHB1Periph_GPIOE, DISABLE); - 8009a3c: f04f 0010 mov.w r0, #16 ; 0x10 - 8009a40: f04f 0100 mov.w r1, #0 ; 0x0 - 8009a44: f000 ff3a bl 800a8bc - 8009a48: e064 b.n 8009b14 - } - else if (GPIOx == GPIOF) - 8009a4a: 687a ldr r2, [r7, #4] - 8009a4c: 4b38 ldr r3, [pc, #224] (8009b30 ) - 8009a4e: 429a cmp r2, r3 - 8009a50: d10c bne.n 8009a6c - { - RCC_AHB1PeriphResetCmd(RCC_AHB1Periph_GPIOF, ENABLE); - 8009a52: f04f 0020 mov.w r0, #32 ; 0x20 - 8009a56: f04f 0101 mov.w r1, #1 ; 0x1 - 8009a5a: f000 ff2f bl 800a8bc - RCC_AHB1PeriphResetCmd(RCC_AHB1Periph_GPIOF, DISABLE); - 8009a5e: f04f 0020 mov.w r0, #32 ; 0x20 - 8009a62: f04f 0100 mov.w r1, #0 ; 0x0 - 8009a66: f000 ff29 bl 800a8bc - 8009a6a: e053 b.n 8009b14 - } - else if (GPIOx == GPIOG) - 8009a6c: 687a ldr r2, [r7, #4] - 8009a6e: 4b31 ldr r3, [pc, #196] (8009b34 ) - 8009a70: 429a cmp r2, r3 - 8009a72: d10c bne.n 8009a8e - { - RCC_AHB1PeriphResetCmd(RCC_AHB1Periph_GPIOG, ENABLE); - 8009a74: f04f 0040 mov.w r0, #64 ; 0x40 - 8009a78: f04f 0101 mov.w r1, #1 ; 0x1 - 8009a7c: f000 ff1e bl 800a8bc - RCC_AHB1PeriphResetCmd(RCC_AHB1Periph_GPIOG, DISABLE); - 8009a80: f04f 0040 mov.w r0, #64 ; 0x40 - 8009a84: f04f 0100 mov.w r1, #0 ; 0x0 - 8009a88: f000 ff18 bl 800a8bc - 8009a8c: e042 b.n 8009b14 - } - else if (GPIOx == GPIOH) - 8009a8e: 687a ldr r2, [r7, #4] - 8009a90: 4b29 ldr r3, [pc, #164] (8009b38 ) - 8009a92: 429a cmp r2, r3 - 8009a94: d10c bne.n 8009ab0 - { - RCC_AHB1PeriphResetCmd(RCC_AHB1Periph_GPIOH, ENABLE); - 8009a96: f04f 0080 mov.w r0, #128 ; 0x80 - 8009a9a: f04f 0101 mov.w r1, #1 ; 0x1 - 8009a9e: f000 ff0d bl 800a8bc - RCC_AHB1PeriphResetCmd(RCC_AHB1Periph_GPIOH, DISABLE); - 8009aa2: f04f 0080 mov.w r0, #128 ; 0x80 - 8009aa6: f04f 0100 mov.w r1, #0 ; 0x0 - 8009aaa: f000 ff07 bl 800a8bc - 8009aae: e031 b.n 8009b14 - } - - else if (GPIOx == GPIOI) - 8009ab0: 687a ldr r2, [r7, #4] - 8009ab2: 4b22 ldr r3, [pc, #136] (8009b3c ) - 8009ab4: 429a cmp r2, r3 - 8009ab6: d10c bne.n 8009ad2 - { - RCC_AHB1PeriphResetCmd(RCC_AHB1Periph_GPIOI, ENABLE); - 8009ab8: f44f 7080 mov.w r0, #256 ; 0x100 - 8009abc: f04f 0101 mov.w r1, #1 ; 0x1 - 8009ac0: f000 fefc bl 800a8bc - RCC_AHB1PeriphResetCmd(RCC_AHB1Periph_GPIOI, DISABLE); - 8009ac4: f44f 7080 mov.w r0, #256 ; 0x100 - 8009ac8: f04f 0100 mov.w r1, #0 ; 0x0 - 8009acc: f000 fef6 bl 800a8bc - 8009ad0: e020 b.n 8009b14 - } - else if (GPIOx == GPIOJ) - 8009ad2: 687a ldr r2, [r7, #4] - 8009ad4: 4b1a ldr r3, [pc, #104] (8009b40 ) - 8009ad6: 429a cmp r2, r3 - 8009ad8: d10c bne.n 8009af4 - { - RCC_AHB1PeriphResetCmd(RCC_AHB1Periph_GPIOJ, ENABLE); - 8009ada: f44f 7000 mov.w r0, #512 ; 0x200 - 8009ade: f04f 0101 mov.w r1, #1 ; 0x1 - 8009ae2: f000 feeb bl 800a8bc - RCC_AHB1PeriphResetCmd(RCC_AHB1Periph_GPIOJ, DISABLE); - 8009ae6: f44f 7000 mov.w r0, #512 ; 0x200 - 8009aea: f04f 0100 mov.w r1, #0 ; 0x0 - 8009aee: f000 fee5 bl 800a8bc - 8009af2: e00f b.n 8009b14 - } - else - { - if (GPIOx == GPIOK) - 8009af4: 687a ldr r2, [r7, #4] - 8009af6: 4b13 ldr r3, [pc, #76] (8009b44 ) - 8009af8: 429a cmp r2, r3 - 8009afa: d10b bne.n 8009b14 - { - RCC_AHB1PeriphResetCmd(RCC_AHB1Periph_GPIOK, ENABLE); - 8009afc: f44f 6080 mov.w r0, #1024 ; 0x400 - 8009b00: f04f 0101 mov.w r1, #1 ; 0x1 - 8009b04: f000 feda bl 800a8bc - RCC_AHB1PeriphResetCmd(RCC_AHB1Periph_GPIOK, DISABLE); - 8009b08: f44f 6080 mov.w r0, #1024 ; 0x400 - 8009b0c: f04f 0100 mov.w r1, #0 ; 0x0 - 8009b10: f000 fed4 bl 800a8bc - } - } -} - 8009b14: f107 0708 add.w r7, r7, #8 ; 0x8 - 8009b18: 46bd mov sp, r7 - 8009b1a: bd80 pop {r7, pc} - 8009b1c: 40020000 .word 0x40020000 - 8009b20: 40020400 .word 0x40020400 - 8009b24: 40020800 .word 0x40020800 - 8009b28: 40020c00 .word 0x40020c00 - 8009b2c: 40021000 .word 0x40021000 - 8009b30: 40021400 .word 0x40021400 - 8009b34: 40021800 .word 0x40021800 - 8009b38: 40021c00 .word 0x40021c00 - 8009b3c: 40022000 .word 0x40022000 - 8009b40: 40022400 .word 0x40022400 - 8009b44: 40022800 .word 0x40022800 - -08009b48 : - * @param GPIO_InitStruct: pointer to a GPIO_InitTypeDef structure that contains - * the configuration information for the specified GPIO peripheral. - * @retval None - */ -void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct) -{ - 8009b48: b480 push {r7} - 8009b4a: b087 sub sp, #28 - 8009b4c: af00 add r7, sp, #0 - 8009b4e: 6078 str r0, [r7, #4] - 8009b50: 6039 str r1, [r7, #0] - uint32_t pinpos = 0x00, pos = 0x00 , currentpin = 0x00; - 8009b52: f04f 0300 mov.w r3, #0 ; 0x0 - 8009b56: 60fb str r3, [r7, #12] - 8009b58: f04f 0300 mov.w r3, #0 ; 0x0 - 8009b5c: 613b str r3, [r7, #16] - 8009b5e: f04f 0300 mov.w r3, #0 ; 0x0 - 8009b62: 617b str r3, [r7, #20] - assert_param(IS_GPIO_MODE(GPIO_InitStruct->GPIO_Mode)); - assert_param(IS_GPIO_PUPD(GPIO_InitStruct->GPIO_PuPd)); -*/ - /* ------------------------- Configure the port pins ---------------- */ - /*-- GPIO Mode Configuration --*/ - for (pinpos = 0x00; pinpos < 0x10; pinpos++) - 8009b64: f04f 0300 mov.w r3, #0 ; 0x0 - 8009b68: 60fb str r3, [r7, #12] - 8009b6a: e092 b.n 8009c92 - { - pos = ((uint32_t)0x01) << pinpos; - 8009b6c: 68fa ldr r2, [r7, #12] - 8009b6e: f04f 0301 mov.w r3, #1 ; 0x1 - 8009b72: fa03 f302 lsl.w r3, r3, r2 - 8009b76: 613b str r3, [r7, #16] - /* Get the port pins position */ - currentpin = (GPIO_InitStruct->GPIO_Pin) & pos; - 8009b78: 683b ldr r3, [r7, #0] - 8009b7a: 681a ldr r2, [r3, #0] - 8009b7c: 693b ldr r3, [r7, #16] - 8009b7e: ea02 0303 and.w r3, r2, r3 - 8009b82: 617b str r3, [r7, #20] - - if (currentpin == pos) - 8009b84: 697a ldr r2, [r7, #20] - 8009b86: 693b ldr r3, [r7, #16] - 8009b88: 429a cmp r2, r3 - 8009b8a: d17e bne.n 8009c8a - { - GPIOx->MODER &= ~(GPIO_MODER_MODER0 << (pinpos * 2)); - 8009b8c: 687b ldr r3, [r7, #4] - 8009b8e: 6819 ldr r1, [r3, #0] - 8009b90: 68fb ldr r3, [r7, #12] - 8009b92: ea4f 0343 mov.w r3, r3, lsl #1 - 8009b96: 461a mov r2, r3 - 8009b98: f04f 0303 mov.w r3, #3 ; 0x3 - 8009b9c: fa03 f302 lsl.w r3, r3, r2 - 8009ba0: ea6f 0303 mvn.w r3, r3 - 8009ba4: ea01 0203 and.w r2, r1, r3 - 8009ba8: 687b ldr r3, [r7, #4] - 8009baa: 601a str r2, [r3, #0] - GPIOx->MODER |= (((uint32_t)GPIO_InitStruct->GPIO_Mode) << (pinpos * 2)); - 8009bac: 687b ldr r3, [r7, #4] - 8009bae: 6819 ldr r1, [r3, #0] - 8009bb0: 683b ldr r3, [r7, #0] - 8009bb2: 791b ldrb r3, [r3, #4] - 8009bb4: 461a mov r2, r3 - 8009bb6: 68fb ldr r3, [r7, #12] - 8009bb8: ea4f 0343 mov.w r3, r3, lsl #1 - 8009bbc: fa02 f303 lsl.w r3, r2, r3 - 8009bc0: ea41 0203 orr.w r2, r1, r3 - 8009bc4: 687b ldr r3, [r7, #4] - 8009bc6: 601a str r2, [r3, #0] - - if ((GPIO_InitStruct->GPIO_Mode == GPIO_Mode_OUT) || (GPIO_InitStruct->GPIO_Mode == GPIO_Mode_AF)) - 8009bc8: 683b ldr r3, [r7, #0] - 8009bca: 791b ldrb r3, [r3, #4] - 8009bcc: 2b01 cmp r3, #1 - 8009bce: d003 beq.n 8009bd8 - 8009bd0: 683b ldr r3, [r7, #0] - 8009bd2: 791b ldrb r3, [r3, #4] - 8009bd4: 2b02 cmp r3, #2 - 8009bd6: d13a bne.n 8009c4e - { - /* Check Speed mode parameters */ - //assert_param(IS_GPIO_SPEED(GPIO_InitStruct->GPIO_Speed)); - - /* Speed mode configuration */ - GPIOx->OSPEEDR &= ~(GPIO_OSPEEDER_OSPEEDR0 << (pinpos * 2)); - 8009bd8: 687b ldr r3, [r7, #4] - 8009bda: 6899 ldr r1, [r3, #8] - 8009bdc: 68fb ldr r3, [r7, #12] - 8009bde: ea4f 0343 mov.w r3, r3, lsl #1 - 8009be2: 461a mov r2, r3 - 8009be4: f04f 0303 mov.w r3, #3 ; 0x3 - 8009be8: fa03 f302 lsl.w r3, r3, r2 - 8009bec: ea6f 0303 mvn.w r3, r3 - 8009bf0: ea01 0203 and.w r2, r1, r3 - 8009bf4: 687b ldr r3, [r7, #4] - 8009bf6: 609a str r2, [r3, #8] - GPIOx->OSPEEDR |= ((uint32_t)(GPIO_InitStruct->GPIO_Speed) << (pinpos * 2)); - 8009bf8: 687b ldr r3, [r7, #4] - 8009bfa: 6899 ldr r1, [r3, #8] - 8009bfc: 683b ldr r3, [r7, #0] - 8009bfe: 795b ldrb r3, [r3, #5] - 8009c00: 461a mov r2, r3 - 8009c02: 68fb ldr r3, [r7, #12] - 8009c04: ea4f 0343 mov.w r3, r3, lsl #1 - 8009c08: fa02 f303 lsl.w r3, r2, r3 - 8009c0c: ea41 0203 orr.w r2, r1, r3 - 8009c10: 687b ldr r3, [r7, #4] - 8009c12: 609a str r2, [r3, #8] - - /* Check Output mode parameters */ - //assert_param(IS_GPIO_OTYPE(GPIO_InitStruct->GPIO_OType)); - - /* Output mode configuration*/ - GPIOx->OTYPER &= ~((GPIO_OTYPER_OT_0) << ((uint16_t)pinpos)) ; - 8009c14: 687b ldr r3, [r7, #4] - 8009c16: 6859 ldr r1, [r3, #4] - 8009c18: 68fb ldr r3, [r7, #12] - 8009c1a: b29b uxth r3, r3 - 8009c1c: 461a mov r2, r3 - 8009c1e: f04f 0301 mov.w r3, #1 ; 0x1 - 8009c22: fa03 f302 lsl.w r3, r3, r2 - 8009c26: ea6f 0303 mvn.w r3, r3 - 8009c2a: ea01 0203 and.w r2, r1, r3 - 8009c2e: 687b ldr r3, [r7, #4] - 8009c30: 605a str r2, [r3, #4] - GPIOx->OTYPER |= (uint16_t)(((uint16_t)GPIO_InitStruct->GPIO_OType) << ((uint16_t)pinpos)); - 8009c32: 687b ldr r3, [r7, #4] - 8009c34: 6859 ldr r1, [r3, #4] - 8009c36: 683b ldr r3, [r7, #0] - 8009c38: 799b ldrb r3, [r3, #6] - 8009c3a: 461a mov r2, r3 - 8009c3c: 68fb ldr r3, [r7, #12] - 8009c3e: b29b uxth r3, r3 - 8009c40: fa02 f303 lsl.w r3, r2, r3 - 8009c44: b29b uxth r3, r3 - 8009c46: ea41 0203 orr.w r2, r1, r3 - 8009c4a: 687b ldr r3, [r7, #4] - 8009c4c: 605a str r2, [r3, #4] - } - - /* Pull-up Pull down resistor configuration*/ - GPIOx->PUPDR &= ~(GPIO_PUPDR_PUPDR0 << ((uint16_t)pinpos * 2)); - 8009c4e: 687b ldr r3, [r7, #4] - 8009c50: 68d9 ldr r1, [r3, #12] - 8009c52: 68fb ldr r3, [r7, #12] - 8009c54: b29b uxth r3, r3 - 8009c56: ea4f 0243 mov.w r2, r3, lsl #1 - 8009c5a: f04f 0303 mov.w r3, #3 ; 0x3 - 8009c5e: fa03 f302 lsl.w r3, r3, r2 - 8009c62: ea6f 0303 mvn.w r3, r3 - 8009c66: ea01 0203 and.w r2, r1, r3 - 8009c6a: 687b ldr r3, [r7, #4] - 8009c6c: 60da str r2, [r3, #12] - GPIOx->PUPDR |= (((uint32_t)GPIO_InitStruct->GPIO_PuPd) << (pinpos * 2)); - 8009c6e: 687b ldr r3, [r7, #4] - 8009c70: 68d9 ldr r1, [r3, #12] - 8009c72: 683b ldr r3, [r7, #0] - 8009c74: 79db ldrb r3, [r3, #7] - 8009c76: 461a mov r2, r3 - 8009c78: 68fb ldr r3, [r7, #12] - 8009c7a: ea4f 0343 mov.w r3, r3, lsl #1 - 8009c7e: fa02 f303 lsl.w r3, r2, r3 - 8009c82: ea41 0203 orr.w r2, r1, r3 - 8009c86: 687b ldr r3, [r7, #4] - 8009c88: 60da str r2, [r3, #12] - assert_param(IS_GPIO_MODE(GPIO_InitStruct->GPIO_Mode)); - assert_param(IS_GPIO_PUPD(GPIO_InitStruct->GPIO_PuPd)); -*/ - /* ------------------------- Configure the port pins ---------------- */ - /*-- GPIO Mode Configuration --*/ - for (pinpos = 0x00; pinpos < 0x10; pinpos++) - 8009c8a: 68fb ldr r3, [r7, #12] - 8009c8c: f103 0301 add.w r3, r3, #1 ; 0x1 - 8009c90: 60fb str r3, [r7, #12] - 8009c92: 68fb ldr r3, [r7, #12] - 8009c94: 2b0f cmp r3, #15 - 8009c96: f67f af69 bls.w 8009b6c - /* Pull-up Pull down resistor configuration*/ - GPIOx->PUPDR &= ~(GPIO_PUPDR_PUPDR0 << ((uint16_t)pinpos * 2)); - GPIOx->PUPDR |= (((uint32_t)GPIO_InitStruct->GPIO_PuPd) << (pinpos * 2)); - } - } -} - 8009c9a: f107 071c add.w r7, r7, #28 ; 0x1c - 8009c9e: 46bd mov sp, r7 - 8009ca0: bc80 pop {r7} - 8009ca2: 4770 bx lr - -08009ca4 : - * @brief Fills each GPIO_InitStruct member with its default value. - * @param GPIO_InitStruct : pointer to a GPIO_InitTypeDef structure which will be initialized. - * @retval None - */ -void GPIO_StructInit(GPIO_InitTypeDef* GPIO_InitStruct) -{ - 8009ca4: b480 push {r7} - 8009ca6: b083 sub sp, #12 - 8009ca8: af00 add r7, sp, #0 - 8009caa: 6078 str r0, [r7, #4] - /* Reset GPIO init structure parameters values */ - GPIO_InitStruct->GPIO_Pin = GPIO_Pin_All; - 8009cac: 687a ldr r2, [r7, #4] - 8009cae: f64f 73ff movw r3, #65535 ; 0xffff - 8009cb2: 6013 str r3, [r2, #0] - GPIO_InitStruct->GPIO_Mode = GPIO_Mode_IN; - 8009cb4: 687a ldr r2, [r7, #4] - 8009cb6: f04f 0300 mov.w r3, #0 ; 0x0 - 8009cba: 7113 strb r3, [r2, #4] - GPIO_InitStruct->GPIO_Speed = GPIO_Speed_2MHz; - 8009cbc: 687a ldr r2, [r7, #4] - 8009cbe: f04f 0300 mov.w r3, #0 ; 0x0 - 8009cc2: 7153 strb r3, [r2, #5] - GPIO_InitStruct->GPIO_OType = GPIO_OType_PP; - 8009cc4: 687a ldr r2, [r7, #4] - 8009cc6: f04f 0300 mov.w r3, #0 ; 0x0 - 8009cca: 7193 strb r3, [r2, #6] - GPIO_InitStruct->GPIO_PuPd = GPIO_PuPd_NOPULL; - 8009ccc: 687a ldr r2, [r7, #4] - 8009cce: f04f 0300 mov.w r3, #0 ; 0x0 - 8009cd2: 71d3 strb r3, [r2, #7] -} - 8009cd4: f107 070c add.w r7, r7, #12 ; 0xc - 8009cd8: 46bd mov sp, r7 - 8009cda: bc80 pop {r7} - 8009cdc: 4770 bx lr - 8009cde: 46c0 nop (mov r8, r8) - -08009ce0 : - * @param GPIO_Pin: specifies the port bit to be locked. - * This parameter can be any combination of GPIO_Pin_x where x can be (0..15). - * @retval None - */ -void GPIO_PinLockConfig(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin) -{ - 8009ce0: b480 push {r7} - 8009ce2: b085 sub sp, #20 - 8009ce4: af00 add r7, sp, #0 - 8009ce6: 6078 str r0, [r7, #4] - 8009ce8: 460b mov r3, r1 - 8009cea: 807b strh r3, [r7, #2] - __IO uint32_t tmp = 0x00010000; - 8009cec: f44f 3380 mov.w r3, #65536 ; 0x10000 - 8009cf0: 60fb str r3, [r7, #12] - - /* Check the parameters */ - //assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); - //assert_param(IS_GPIO_PIN(GPIO_Pin)); - - tmp |= GPIO_Pin; - 8009cf2: 887a ldrh r2, [r7, #2] - 8009cf4: 68fb ldr r3, [r7, #12] - 8009cf6: ea42 0303 orr.w r3, r2, r3 - 8009cfa: 60fb str r3, [r7, #12] - /* Set LCKK bit */ - GPIOx->LCKR = tmp; - 8009cfc: 68fa ldr r2, [r7, #12] - 8009cfe: 687b ldr r3, [r7, #4] - 8009d00: 61da str r2, [r3, #28] - /* Reset LCKK bit */ - GPIOx->LCKR = GPIO_Pin; - 8009d02: 887a ldrh r2, [r7, #2] - 8009d04: 687b ldr r3, [r7, #4] - 8009d06: 61da str r2, [r3, #28] - /* Set LCKK bit */ - GPIOx->LCKR = tmp; - 8009d08: 68fa ldr r2, [r7, #12] - 8009d0a: 687b ldr r3, [r7, #4] - 8009d0c: 61da str r2, [r3, #28] - /* Read LCKK bit*/ - tmp = GPIOx->LCKR; - 8009d0e: 687b ldr r3, [r7, #4] - 8009d10: 69db ldr r3, [r3, #28] - 8009d12: 60fb str r3, [r7, #12] - /* Read LCKK bit*/ - tmp = GPIOx->LCKR; - 8009d14: 687b ldr r3, [r7, #4] - 8009d16: 69db ldr r3, [r3, #28] - 8009d18: 60fb str r3, [r7, #12] -} - 8009d1a: f107 0714 add.w r7, r7, #20 ; 0x14 - 8009d1e: 46bd mov sp, r7 - 8009d20: bc80 pop {r7} - 8009d22: 4770 bx lr - -08009d24 : - * @param GPIO_Pin: specifies the port bit to read. - * This parameter can be GPIO_Pin_x where x can be (0..15). - * @retval The input port pin value. - */ -uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin) -{ - 8009d24: b480 push {r7} - 8009d26: b085 sub sp, #20 - 8009d28: af00 add r7, sp, #0 - 8009d2a: 6078 str r0, [r7, #4] - 8009d2c: 460b mov r3, r1 - 8009d2e: 807b strh r3, [r7, #2] - uint8_t bitstatus = 0x00; - 8009d30: f04f 0300 mov.w r3, #0 ; 0x0 - 8009d34: 73fb strb r3, [r7, #15] - - /* Check the parameters */ - //assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); - //assert_param(IS_GET_GPIO_PIN(GPIO_Pin)); - - if ((GPIOx->IDR & GPIO_Pin) != (uint32_t)Bit_RESET) - 8009d36: 687b ldr r3, [r7, #4] - 8009d38: 691a ldr r2, [r3, #16] - 8009d3a: 887b ldrh r3, [r7, #2] - 8009d3c: ea02 0303 and.w r3, r2, r3 - 8009d40: 2b00 cmp r3, #0 - 8009d42: d003 beq.n 8009d4c - { - bitstatus = (uint8_t)Bit_SET; - 8009d44: f04f 0301 mov.w r3, #1 ; 0x1 - 8009d48: 73fb strb r3, [r7, #15] - 8009d4a: e002 b.n 8009d52 - } - else - { - bitstatus = (uint8_t)Bit_RESET; - 8009d4c: f04f 0300 mov.w r3, #0 ; 0x0 - 8009d50: 73fb strb r3, [r7, #15] - } - return bitstatus; - 8009d52: 7bfb ldrb r3, [r7, #15] -} - 8009d54: 4618 mov r0, r3 - 8009d56: f107 0714 add.w r7, r7, #20 ; 0x14 - 8009d5a: 46bd mov sp, r7 - 8009d5c: bc80 pop {r7} - 8009d5e: 4770 bx lr - -08009d60 : - * x can be (A..I) to select the GPIO peripheral for STM32F42xxx/43xxx devices. - * x can be (A, B, C, D and H) to select the GPIO peripheral for STM32F401xx devices. - * @retval GPIO input data port value. - */ -uint16_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx) -{ - 8009d60: b480 push {r7} - 8009d62: b083 sub sp, #12 - 8009d64: af00 add r7, sp, #0 - 8009d66: 6078 str r0, [r7, #4] - /* Check the parameters */ - //assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); - - return ((uint16_t)GPIOx->IDR); - 8009d68: 687b ldr r3, [r7, #4] - 8009d6a: 691b ldr r3, [r3, #16] - 8009d6c: b29b uxth r3, r3 -} - 8009d6e: 4618 mov r0, r3 - 8009d70: f107 070c add.w r7, r7, #12 ; 0xc - 8009d74: 46bd mov sp, r7 - 8009d76: bc80 pop {r7} - 8009d78: 4770 bx lr - 8009d7a: 46c0 nop (mov r8, r8) - -08009d7c : - * @param GPIO_Pin: specifies the port bit to read. - * This parameter can be GPIO_Pin_x where x can be (0..15). - * @retval The output port pin value. - */ -uint8_t GPIO_ReadOutputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin) -{ - 8009d7c: b480 push {r7} - 8009d7e: b085 sub sp, #20 - 8009d80: af00 add r7, sp, #0 - 8009d82: 6078 str r0, [r7, #4] - 8009d84: 460b mov r3, r1 - 8009d86: 807b strh r3, [r7, #2] - uint8_t bitstatus = 0x00; - 8009d88: f04f 0300 mov.w r3, #0 ; 0x0 - 8009d8c: 73fb strb r3, [r7, #15] - - /* Check the parameters */ - //assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); - //assert_param(IS_GET_GPIO_PIN(GPIO_Pin)); - - if (((GPIOx->ODR) & GPIO_Pin) != (uint32_t)Bit_RESET) - 8009d8e: 687b ldr r3, [r7, #4] - 8009d90: 695a ldr r2, [r3, #20] - 8009d92: 887b ldrh r3, [r7, #2] - 8009d94: ea02 0303 and.w r3, r2, r3 - 8009d98: 2b00 cmp r3, #0 - 8009d9a: d003 beq.n 8009da4 - { - bitstatus = (uint8_t)Bit_SET; - 8009d9c: f04f 0301 mov.w r3, #1 ; 0x1 - 8009da0: 73fb strb r3, [r7, #15] - 8009da2: e002 b.n 8009daa - } - else - { - bitstatus = (uint8_t)Bit_RESET; - 8009da4: f04f 0300 mov.w r3, #0 ; 0x0 - 8009da8: 73fb strb r3, [r7, #15] - } - return bitstatus; - 8009daa: 7bfb ldrb r3, [r7, #15] -} - 8009dac: 4618 mov r0, r3 - 8009dae: f107 0714 add.w r7, r7, #20 ; 0x14 - 8009db2: 46bd mov sp, r7 - 8009db4: bc80 pop {r7} - 8009db6: 4770 bx lr - -08009db8 : - * x can be (A..I) to select the GPIO peripheral for STM32F42xxx/43xxx devices. - * x can be (A, B, C, D and H) to select the GPIO peripheral for STM32F401xx devices. - * @retval GPIO output data port value. - */ -uint16_t GPIO_ReadOutputData(GPIO_TypeDef* GPIOx) -{ - 8009db8: b480 push {r7} - 8009dba: b083 sub sp, #12 - 8009dbc: af00 add r7, sp, #0 - 8009dbe: 6078 str r0, [r7, #4] - /* Check the parameters */ - //assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); - - return ((uint16_t)GPIOx->ODR); - 8009dc0: 687b ldr r3, [r7, #4] - 8009dc2: 695b ldr r3, [r3, #20] - 8009dc4: b29b uxth r3, r3 -} - 8009dc6: 4618 mov r0, r3 - 8009dc8: f107 070c add.w r7, r7, #12 ; 0xc - 8009dcc: 46bd mov sp, r7 - 8009dce: bc80 pop {r7} - 8009dd0: 4770 bx lr - 8009dd2: 46c0 nop (mov r8, r8) - -08009dd4 : - * @param GPIO_Pin: specifies the port bits to be written. - * This parameter can be any combination of GPIO_Pin_x where x can be (0..15). - * @retval None - */ -void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin) -{ - 8009dd4: b480 push {r7} - 8009dd6: b083 sub sp, #12 - 8009dd8: af00 add r7, sp, #0 - 8009dda: 6078 str r0, [r7, #4] - 8009ddc: 460b mov r3, r1 - 8009dde: 807b strh r3, [r7, #2] - /* Check the parameters */ - //assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); - //assert_param(IS_GPIO_PIN(GPIO_Pin)); - - GPIOx->BSRRL = GPIO_Pin; - 8009de0: 687a ldr r2, [r7, #4] - 8009de2: 887b ldrh r3, [r7, #2] - 8009de4: 8313 strh r3, [r2, #24] -} - 8009de6: f107 070c add.w r7, r7, #12 ; 0xc - 8009dea: 46bd mov sp, r7 - 8009dec: bc80 pop {r7} - 8009dee: 4770 bx lr - -08009df0 : - * @param GPIO_Pin: specifies the port bits to be written. - * This parameter can be any combination of GPIO_Pin_x where x can be (0..15). - * @retval None - */ -void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin) -{ - 8009df0: b480 push {r7} - 8009df2: b083 sub sp, #12 - 8009df4: af00 add r7, sp, #0 - 8009df6: 6078 str r0, [r7, #4] - 8009df8: 460b mov r3, r1 - 8009dfa: 807b strh r3, [r7, #2] - /* Check the parameters */ - //assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); - //assert_param(IS_GPIO_PIN(GPIO_Pin)); - - GPIOx->BSRRH = GPIO_Pin; - 8009dfc: 687a ldr r2, [r7, #4] - 8009dfe: 887b ldrh r3, [r7, #2] - 8009e00: 8353 strh r3, [r2, #26] -} - 8009e02: f107 070c add.w r7, r7, #12 ; 0xc - 8009e06: 46bd mov sp, r7 - 8009e08: bc80 pop {r7} - 8009e0a: 4770 bx lr - -08009e0c : - * @arg Bit_RESET: to clear the port pin - * @arg Bit_SET: to set the port pin - * @retval None - */ -void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal) -{ - 8009e0c: b480 push {r7} - 8009e0e: b083 sub sp, #12 - 8009e10: af00 add r7, sp, #0 - 8009e12: 6078 str r0, [r7, #4] - 8009e14: 460b mov r3, r1 - 8009e16: 807b strh r3, [r7, #2] - 8009e18: 4613 mov r3, r2 - 8009e1a: 707b strb r3, [r7, #1] - /* Check the parameters */ - //assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); - //assert_param(IS_GET_GPIO_PIN(GPIO_Pin)); - //assert_param(IS_GPIO_BIT_ACTION(BitVal)); - - if (BitVal != Bit_RESET) - 8009e1c: 787b ldrb r3, [r7, #1] - 8009e1e: 2b00 cmp r3, #0 - 8009e20: d003 beq.n 8009e2a - { - GPIOx->BSRRL = GPIO_Pin; - 8009e22: 687a ldr r2, [r7, #4] - 8009e24: 887b ldrh r3, [r7, #2] - 8009e26: 8313 strh r3, [r2, #24] - 8009e28: e002 b.n 8009e30 - } - else - { - GPIOx->BSRRH = GPIO_Pin ; - 8009e2a: 687a ldr r2, [r7, #4] - 8009e2c: 887b ldrh r3, [r7, #2] - 8009e2e: 8353 strh r3, [r2, #26] - } -} - 8009e30: f107 070c add.w r7, r7, #12 ; 0xc - 8009e34: 46bd mov sp, r7 - 8009e36: bc80 pop {r7} - 8009e38: 4770 bx lr - 8009e3a: 46c0 nop (mov r8, r8) - -08009e3c : - * x can be (A, B, C, D and H) to select the GPIO peripheral for STM32F401xx devices. - * @param PortVal: specifies the value to be written to the port output data register. - * @retval None - */ -void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal) -{ - 8009e3c: b480 push {r7} - 8009e3e: b083 sub sp, #12 - 8009e40: af00 add r7, sp, #0 - 8009e42: 6078 str r0, [r7, #4] - 8009e44: 460b mov r3, r1 - 8009e46: 807b strh r3, [r7, #2] - /* Check the parameters */ - //assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); - - GPIOx->ODR = PortVal; - 8009e48: 887a ldrh r2, [r7, #2] - 8009e4a: 687b ldr r3, [r7, #4] - 8009e4c: 615a str r2, [r3, #20] -} - 8009e4e: f107 070c add.w r7, r7, #12 ; 0xc - 8009e52: 46bd mov sp, r7 - 8009e54: bc80 pop {r7} - 8009e56: 4770 bx lr - -08009e58 : - * x can be (A, B, C, D and H) to select the GPIO peripheral for STM32F401xx devices. - * @param GPIO_Pin: Specifies the pins to be toggled. - * @retval None - */ -void GPIO_ToggleBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin) -{ - 8009e58: b480 push {r7} - 8009e5a: b083 sub sp, #12 - 8009e5c: af00 add r7, sp, #0 - 8009e5e: 6078 str r0, [r7, #4] - 8009e60: 460b mov r3, r1 - 8009e62: 807b strh r3, [r7, #2] - /* Check the parameters */ - //assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); - - GPIOx->ODR ^= GPIO_Pin; - 8009e64: 687b ldr r3, [r7, #4] - 8009e66: 695a ldr r2, [r3, #20] - 8009e68: 887b ldrh r3, [r7, #2] - 8009e6a: ea82 0203 eor.w r2, r2, r3 - 8009e6e: 687b ldr r3, [r7, #4] - 8009e70: 615a str r2, [r3, #20] -} - 8009e72: f107 070c add.w r7, r7, #12 ; 0xc - 8009e76: 46bd mov sp, r7 - 8009e78: bc80 pop {r7} - 8009e7a: 4770 bx lr - -08009e7c : - * @arg GPIO_AF_LTDC: Connect LTDC pins to AF14 for STM32F429xx/439xx devices. - * @arg GPIO_AF_EVENTOUT: Connect EVENTOUT pins to AF15 - * @retval None - */ -void GPIO_PinAFConfig(GPIO_TypeDef* GPIOx, uint16_t GPIO_PinSource, uint8_t GPIO_AF) -{ - 8009e7c: b480 push {r7} - 8009e7e: b085 sub sp, #20 - 8009e80: af00 add r7, sp, #0 - 8009e82: 6078 str r0, [r7, #4] - 8009e84: 460b mov r3, r1 - 8009e86: 807b strh r3, [r7, #2] - 8009e88: 4613 mov r3, r2 - 8009e8a: 707b strb r3, [r7, #1] - uint32_t temp = 0x00; - 8009e8c: f04f 0300 mov.w r3, #0 ; 0x0 - 8009e90: 60bb str r3, [r7, #8] - uint32_t temp_2 = 0x00; - 8009e92: f04f 0300 mov.w r3, #0 ; 0x0 - 8009e96: 60fb str r3, [r7, #12] - /*assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); - assert_param(IS_GPIO_PIN_SOURCE(GPIO_PinSource)); - assert_param(IS_GPIO_AF(GPIO_AF)); - -*/ - temp = ((uint32_t)(GPIO_AF) << ((uint32_t)((uint32_t)GPIO_PinSource & (uint32_t)0x07) * 4)) ; - 8009e98: 787a ldrb r2, [r7, #1] - 8009e9a: 887b ldrh r3, [r7, #2] - 8009e9c: f003 0307 and.w r3, r3, #7 ; 0x7 - 8009ea0: ea4f 0383 mov.w r3, r3, lsl #2 - 8009ea4: fa02 f303 lsl.w r3, r2, r3 - 8009ea8: 60bb str r3, [r7, #8] - GPIOx->AFR[GPIO_PinSource >> 0x03] &= ~((uint32_t)0xF << ((uint32_t)((uint32_t)GPIO_PinSource & (uint32_t)0x07) * 4)) ; - 8009eaa: 887b ldrh r3, [r7, #2] - 8009eac: ea4f 03d3 mov.w r3, r3, lsr #3 - 8009eb0: b29b uxth r3, r3 - 8009eb2: 4618 mov r0, r3 - 8009eb4: 887b ldrh r3, [r7, #2] - 8009eb6: ea4f 03d3 mov.w r3, r3, lsr #3 - 8009eba: b29b uxth r3, r3 - 8009ebc: 687a ldr r2, [r7, #4] - 8009ebe: f103 0308 add.w r3, r3, #8 ; 0x8 - 8009ec2: f852 1023 ldr.w r1, [r2, r3, lsl #2] - 8009ec6: 887b ldrh r3, [r7, #2] - 8009ec8: f003 0307 and.w r3, r3, #7 ; 0x7 - 8009ecc: ea4f 0383 mov.w r3, r3, lsl #2 - 8009ed0: 461a mov r2, r3 - 8009ed2: f04f 030f mov.w r3, #15 ; 0xf - 8009ed6: fa03 f302 lsl.w r3, r3, r2 - 8009eda: ea6f 0303 mvn.w r3, r3 - 8009ede: ea01 0103 and.w r1, r1, r3 - 8009ee2: 687a ldr r2, [r7, #4] - 8009ee4: f100 0308 add.w r3, r0, #8 ; 0x8 - 8009ee8: f842 1023 str.w r1, [r2, r3, lsl #2] - temp_2 = GPIOx->AFR[GPIO_PinSource >> 0x03] | temp; - 8009eec: 887b ldrh r3, [r7, #2] - 8009eee: ea4f 03d3 mov.w r3, r3, lsr #3 - 8009ef2: b29b uxth r3, r3 - 8009ef4: 687a ldr r2, [r7, #4] - 8009ef6: f103 0308 add.w r3, r3, #8 ; 0x8 - 8009efa: f852 2023 ldr.w r2, [r2, r3, lsl #2] - 8009efe: 68bb ldr r3, [r7, #8] - 8009f00: ea42 0303 orr.w r3, r2, r3 - 8009f04: 60fb str r3, [r7, #12] - GPIOx->AFR[GPIO_PinSource >> 0x03] = temp_2; - 8009f06: 887b ldrh r3, [r7, #2] - 8009f08: ea4f 03d3 mov.w r3, r3, lsr #3 - 8009f0c: b29b uxth r3, r3 - 8009f0e: 6879 ldr r1, [r7, #4] - 8009f10: f103 0208 add.w r2, r3, #8 ; 0x8 - 8009f14: 68fb ldr r3, [r7, #12] - 8009f16: f841 3022 str.w r3, [r1, r2, lsl #2] -} - 8009f1a: f107 0714 add.w r7, r7, #20 ; 0x14 - 8009f1e: 46bd mov sp, r7 - 8009f20: bc80 pop {r7} - 8009f22: 4770 bx lr - -08009f24 : - * - LSI, LSE and RTC clocks - * @param None - * @retval None - */ -void RCC_DeInit(void) -{ - 8009f24: b480 push {r7} - 8009f26: af00 add r7, sp, #0 - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - 8009f28: 4a17 ldr r2, [pc, #92] (8009f88 ) - 8009f2a: 4b17 ldr r3, [pc, #92] (8009f88 ) - 8009f2c: 681b ldr r3, [r3, #0] - 8009f2e: f043 0301 orr.w r3, r3, #1 ; 0x1 - 8009f32: 6013 str r3, [r2, #0] - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - 8009f34: 4a14 ldr r2, [pc, #80] (8009f88 ) - 8009f36: f04f 0300 mov.w r3, #0 ; 0x0 - 8009f3a: 6093 str r3, [r2, #8] - - /* Reset HSEON, CSSON, PLLON, PLLI2S and PLLSAI(STM32F42/43xxx devices) bits */ - RCC->CR &= (uint32_t)0xEAF6FFFF; - 8009f3c: 4a12 ldr r2, [pc, #72] (8009f88 ) - 8009f3e: 4b12 ldr r3, [pc, #72] (8009f88 ) - 8009f40: 681b ldr r3, [r3, #0] - 8009f42: f023 53a8 bic.w r3, r3, #352321536 ; 0x15000000 - 8009f46: f423 2310 bic.w r3, r3, #589824 ; 0x90000 - 8009f4a: 6013 str r3, [r2, #0] - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - 8009f4c: 4a0e ldr r2, [pc, #56] (8009f88 ) - 8009f4e: 4b0f ldr r3, [pc, #60] (8009f8c ) - 8009f50: 6053 str r3, [r2, #4] - - /* Reset PLLI2SCFGR register */ - RCC->PLLI2SCFGR = 0x20003000; - 8009f52: 4a0d ldr r2, [pc, #52] (8009f88 ) - 8009f54: 4b0e ldr r3, [pc, #56] (8009f90 ) - 8009f56: f8c2 3084 str.w r3, [r2, #132] - - /* Reset PLLSAICFGR register, only available for STM32F42/43xxx devices */ - RCC->PLLSAICFGR = 0x24003000; - 8009f5a: 4a0b ldr r2, [pc, #44] (8009f88 ) - 8009f5c: 4b0d ldr r3, [pc, #52] (8009f94 ) - 8009f5e: f8c2 3088 str.w r3, [r2, #136] - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - 8009f62: 4a09 ldr r2, [pc, #36] (8009f88 ) - 8009f64: 4b08 ldr r3, [pc, #32] (8009f88 ) - 8009f66: 681b ldr r3, [r3, #0] - 8009f68: f423 2380 bic.w r3, r3, #262144 ; 0x40000 - 8009f6c: 6013 str r3, [r2, #0] - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - 8009f6e: 4a06 ldr r2, [pc, #24] (8009f88 ) - 8009f70: f04f 0300 mov.w r3, #0 ; 0x0 - 8009f74: 60d3 str r3, [r2, #12] - - /* Disable Timers clock prescalers selection, only available for STM32F42/43xxx devices */ - RCC->DCKCFGR = 0x00000000; - 8009f76: 4a04 ldr r2, [pc, #16] (8009f88 ) - 8009f78: f04f 0300 mov.w r3, #0 ; 0x0 - 8009f7c: f8c2 308c str.w r3, [r2, #140] - -} - 8009f80: 46bd mov sp, r7 - 8009f82: bc80 pop {r7} - 8009f84: 4770 bx lr - 8009f86: 46c0 nop (mov r8, r8) - 8009f88: 40023800 .word 0x40023800 - 8009f8c: 24003010 .word 0x24003010 - 8009f90: 20003000 .word 0x20003000 - 8009f94: 24003000 .word 0x24003000 - -08009f98 : - * @arg RCC_HSE_ON: turn ON the HSE oscillator - * @arg RCC_HSE_Bypass: HSE oscillator bypassed with external clock - * @retval None - */ -void RCC_HSEConfig(uint8_t RCC_HSE) -{ - 8009f98: b480 push {r7} - 8009f9a: b083 sub sp, #12 - 8009f9c: af00 add r7, sp, #0 - 8009f9e: 4603 mov r3, r0 - 8009fa0: 71fb strb r3, [r7, #7] - /* Check the parameters */ - //assert_param(IS_RCC_HSE(RCC_HSE)); - - /* Reset HSEON and HSEBYP bits before configuring the HSE ------------------*/ - *(__IO uint8_t *) CR_BYTE3_ADDRESS = RCC_HSE_OFF; - 8009fa2: 4a06 ldr r2, [pc, #24] (8009fbc ) - 8009fa4: f04f 0300 mov.w r3, #0 ; 0x0 - 8009fa8: 7013 strb r3, [r2, #0] - - /* Set the new HSE configuration -------------------------------------------*/ - *(__IO uint8_t *) CR_BYTE3_ADDRESS = RCC_HSE; - 8009faa: 4a04 ldr r2, [pc, #16] (8009fbc ) - 8009fac: 79fb ldrb r3, [r7, #7] - 8009fae: 7013 strb r3, [r2, #0] -} - 8009fb0: f107 070c add.w r7, r7, #12 ; 0xc - 8009fb4: 46bd mov sp, r7 - 8009fb6: bc80 pop {r7} - 8009fb8: 4770 bx lr - 8009fba: 46c0 nop (mov r8, r8) - 8009fbc: 40023802 .word 0x40023802 - -08009fc0 : - * @retval An ErrorStatus enumeration value: - * - SUCCESS: HSE oscillator is stable and ready to use - * - ERROR: HSE oscillator not yet ready - */ -ErrorStatus RCC_WaitForHSEStartUp(void) -{ - 8009fc0: b580 push {r7, lr} - 8009fc2: b082 sub sp, #8 - 8009fc4: af00 add r7, sp, #0 - __IO uint32_t startupcounter = 0; - 8009fc6: f04f 0300 mov.w r3, #0 ; 0x0 - 8009fca: 603b str r3, [r7, #0] - ErrorStatus status = ERROR; - 8009fcc: f04f 0300 mov.w r3, #0 ; 0x0 - 8009fd0: 71bb strb r3, [r7, #6] - FlagStatus hsestatus = RESET; - 8009fd2: f04f 0300 mov.w r3, #0 ; 0x0 - 8009fd6: 71fb strb r3, [r7, #7] - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - hsestatus = RCC_GetFlagStatus(RCC_FLAG_HSERDY); - 8009fd8: f04f 0031 mov.w r0, #49 ; 0x31 - 8009fdc: f000 fdea bl 800abb4 - 8009fe0: 4603 mov r3, r0 - 8009fe2: 71fb strb r3, [r7, #7] - startupcounter++; - 8009fe4: 683b ldr r3, [r7, #0] - 8009fe6: f103 0301 add.w r3, r3, #1 ; 0x1 - 8009fea: 603b str r3, [r7, #0] - } while((startupcounter != HSE_STARTUP_TIMEOUT) && (hsestatus == RESET)); - 8009fec: 683b ldr r3, [r7, #0] - 8009fee: f5b3 4fa0 cmp.w r3, #20480 ; 0x5000 - 8009ff2: d002 beq.n 8009ffa - 8009ff4: 79fb ldrb r3, [r7, #7] - 8009ff6: 2b00 cmp r3, #0 - 8009ff8: d0ee beq.n 8009fd8 - - if (RCC_GetFlagStatus(RCC_FLAG_HSERDY) != RESET) - 8009ffa: f04f 0031 mov.w r0, #49 ; 0x31 - 8009ffe: f000 fdd9 bl 800abb4 - 800a002: 4603 mov r3, r0 - 800a004: 2b00 cmp r3, #0 - 800a006: d003 beq.n 800a010 - { - status = SUCCESS; - 800a008: f04f 0301 mov.w r3, #1 ; 0x1 - 800a00c: 71bb strb r3, [r7, #6] - 800a00e: e002 b.n 800a016 - } - else - { - status = ERROR; - 800a010: f04f 0300 mov.w r3, #0 ; 0x0 - 800a014: 71bb strb r3, [r7, #6] - } - return (status); - 800a016: 79bb ldrb r3, [r7, #6] -} - 800a018: 4618 mov r0, r3 - 800a01a: f107 0708 add.w r7, r7, #8 ; 0x8 - 800a01e: 46bd mov sp, r7 - 800a020: bd80 pop {r7, pc} - 800a022: 46c0 nop (mov r8, r8) - -0800a024 : - * @param HSICalibrationValue: specifies the calibration trimming value. - * This parameter must be a number between 0 and 0x1F. - * @retval None - */ -void RCC_AdjustHSICalibrationValue(uint8_t HSICalibrationValue) -{ - 800a024: b480 push {r7} - 800a026: b085 sub sp, #20 - 800a028: af00 add r7, sp, #0 - 800a02a: 4603 mov r3, r0 - 800a02c: 71fb strb r3, [r7, #7] - uint32_t tmpreg = 0; - 800a02e: f04f 0300 mov.w r3, #0 ; 0x0 - 800a032: 60fb str r3, [r7, #12] - /* Check the parameters */ - //assert_param(IS_RCC_CALIBRATION_VALUE(HSICalibrationValue)); - - tmpreg = RCC->CR; - 800a034: 4b0a ldr r3, [pc, #40] (800a060 ) - 800a036: 681b ldr r3, [r3, #0] - 800a038: 60fb str r3, [r7, #12] - - /* Clear HSITRIM[4:0] bits */ - tmpreg &= ~RCC_CR_HSITRIM; - 800a03a: 68fb ldr r3, [r7, #12] - 800a03c: f023 03f8 bic.w r3, r3, #248 ; 0xf8 - 800a040: 60fb str r3, [r7, #12] - - /* Set the HSITRIM[4:0] bits according to HSICalibrationValue value */ - tmpreg |= (uint32_t)HSICalibrationValue << 3; - 800a042: 79fb ldrb r3, [r7, #7] - 800a044: ea4f 02c3 mov.w r2, r3, lsl #3 - 800a048: 68fb ldr r3, [r7, #12] - 800a04a: ea43 0302 orr.w r3, r3, r2 - 800a04e: 60fb str r3, [r7, #12] - - /* Store the new value */ - RCC->CR = tmpreg; - 800a050: 4a03 ldr r2, [pc, #12] (800a060 ) - 800a052: 68fb ldr r3, [r7, #12] - 800a054: 6013 str r3, [r2, #0] -} - 800a056: f107 0714 add.w r7, r7, #20 ; 0x14 - 800a05a: 46bd mov sp, r7 - 800a05c: bc80 pop {r7} - 800a05e: 4770 bx lr - 800a060: 40023800 .word 0x40023800 - -0800a064 : - * @note When the HSI is stopped, HSIRDY flag goes low after 6 HSI oscillator - * clock cycles. - * @retval None - */ -void RCC_HSICmd(FunctionalState NewState) -{ - 800a064: b480 push {r7} - 800a066: b083 sub sp, #12 - 800a068: af00 add r7, sp, #0 - 800a06a: 4603 mov r3, r0 - 800a06c: 71fb strb r3, [r7, #7] - /* Check the parameters */ - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - - *(__IO uint32_t *) CR_HSION_BB = (uint32_t)NewState; - 800a06e: 4a04 ldr r2, [pc, #16] (800a080 ) - 800a070: 79fb ldrb r3, [r7, #7] - 800a072: 6013 str r3, [r2, #0] -} - 800a074: f107 070c add.w r7, r7, #12 ; 0xc - 800a078: 46bd mov sp, r7 - 800a07a: bc80 pop {r7} - 800a07c: 4770 bx lr - 800a07e: 46c0 nop (mov r8, r8) - 800a080: 42470000 .word 0x42470000 - -0800a084 : - * @arg RCC_LSE_ON: turn ON the LSE oscillator - * @arg RCC_LSE_Bypass: LSE oscillator bypassed with external clock - * @retval None - */ -void RCC_LSEConfig(uint8_t RCC_LSE) -{ - 800a084: b480 push {r7} - 800a086: b083 sub sp, #12 - 800a088: af00 add r7, sp, #0 - 800a08a: 4603 mov r3, r0 - 800a08c: 71fb strb r3, [r7, #7] - /* Check the parameters */ - //assert_param(IS_RCC_LSE(RCC_LSE)); - - /* Reset LSEON and LSEBYP bits before configuring the LSE ------------------*/ - /* Reset LSEON bit */ - *(__IO uint8_t *) BDCR_ADDRESS = RCC_LSE_OFF; - 800a08e: 4a0f ldr r2, [pc, #60] (800a0cc ) - 800a090: f04f 0300 mov.w r3, #0 ; 0x0 - 800a094: 7013 strb r3, [r2, #0] - - /* Reset LSEBYP bit */ - *(__IO uint8_t *) BDCR_ADDRESS = RCC_LSE_OFF; - 800a096: 4a0d ldr r2, [pc, #52] (800a0cc ) - 800a098: f04f 0300 mov.w r3, #0 ; 0x0 - 800a09c: 7013 strb r3, [r2, #0] - - /* Configure LSE (RCC_LSE_OFF is already covered by the code section above) */ - switch (RCC_LSE) - 800a09e: 79fb ldrb r3, [r7, #7] - 800a0a0: 603b str r3, [r7, #0] - 800a0a2: 683b ldr r3, [r7, #0] - 800a0a4: 2b01 cmp r3, #1 - 800a0a6: d003 beq.n 800a0b0 - 800a0a8: 683b ldr r3, [r7, #0] - 800a0aa: 2b04 cmp r3, #4 - 800a0ac: d005 beq.n 800a0ba - 800a0ae: e008 b.n 800a0c2 - { - case RCC_LSE_ON: - /* Set LSEON bit */ - *(__IO uint8_t *) BDCR_ADDRESS = RCC_LSE_ON; - 800a0b0: 4b06 ldr r3, [pc, #24] (800a0cc ) - 800a0b2: f04f 0201 mov.w r2, #1 ; 0x1 - 800a0b6: 701a strb r2, [r3, #0] - 800a0b8: e003 b.n 800a0c2 - break; - case RCC_LSE_Bypass: - /* Set LSEBYP and LSEON bits */ - *(__IO uint8_t *) BDCR_ADDRESS = RCC_LSE_Bypass | RCC_LSE_ON; - 800a0ba: 4b04 ldr r3, [pc, #16] (800a0cc ) - 800a0bc: f04f 0205 mov.w r2, #5 ; 0x5 - 800a0c0: 701a strb r2, [r3, #0] - break; - default: - break; - } -} - 800a0c2: f107 070c add.w r7, r7, #12 ; 0xc - 800a0c6: 46bd mov sp, r7 - 800a0c8: bc80 pop {r7} - 800a0ca: 4770 bx lr - 800a0cc: 40023870 .word 0x40023870 - -0800a0d0 : - * @note When the LSI is stopped, LSIRDY flag goes low after 6 LSI oscillator - * clock cycles. - * @retval None - */ -void RCC_LSICmd(FunctionalState NewState) -{ - 800a0d0: b480 push {r7} - 800a0d2: b083 sub sp, #12 - 800a0d4: af00 add r7, sp, #0 - 800a0d6: 4603 mov r3, r0 - 800a0d8: 71fb strb r3, [r7, #7] - /* Check the parameters */ - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - - *(__IO uint32_t *) CSR_LSION_BB = (uint32_t)NewState; - 800a0da: 4a04 ldr r2, [pc, #16] (800a0ec ) - 800a0dc: 79fb ldrb r3, [r7, #7] - 800a0de: 6013 str r3, [r2, #0] -} - 800a0e0: f107 070c add.w r7, r7, #12 ; 0xc - 800a0e4: 46bd mov sp, r7 - 800a0e6: bc80 pop {r7} - 800a0e8: 4770 bx lr - 800a0ea: 46c0 nop (mov r8, r8) - 800a0ec: 42470e80 .word 0x42470e80 - -0800a0f0 : - * correctly. - * - * @retval None - */ -void RCC_PLLConfig(uint32_t RCC_PLLSource, uint32_t PLLM, uint32_t PLLN, uint32_t PLLP, uint32_t PLLQ) -{ - 800a0f0: b480 push {r7} - 800a0f2: b085 sub sp, #20 - 800a0f4: af00 add r7, sp, #0 - 800a0f6: 60f8 str r0, [r7, #12] - 800a0f8: 60b9 str r1, [r7, #8] - 800a0fa: 607a str r2, [r7, #4] - 800a0fc: 603b str r3, [r7, #0] - //assert_param(IS_RCC_PLLM_VALUE(PLLM)); - //assert_param(IS_RCC_PLLN_VALUE(PLLN)); - //assert_param(IS_RCC_PLLP_VALUE(PLLP)); - //assert_param(IS_RCC_PLLQ_VALUE(PLLQ)); - - RCC->PLLCFGR = PLLM | (PLLN << 6) | (((PLLP >> 1) -1) << 16) | (RCC_PLLSource) | - 800a0fe: 490f ldr r1, [pc, #60] (800a13c ) - 800a100: 687b ldr r3, [r7, #4] - 800a102: ea4f 1283 mov.w r2, r3, lsl #6 - 800a106: 68bb ldr r3, [r7, #8] - 800a108: ea42 0203 orr.w r2, r2, r3 - 800a10c: 683b ldr r3, [r7, #0] - 800a10e: ea4f 0353 mov.w r3, r3, lsr #1 - 800a112: f103 33ff add.w r3, r3, #4294967295 ; 0xffffffff - 800a116: ea4f 4303 mov.w r3, r3, lsl #16 - 800a11a: ea42 0203 orr.w r2, r2, r3 - 800a11e: 68fb ldr r3, [r7, #12] - 800a120: ea42 0203 orr.w r2, r2, r3 - 800a124: 69bb ldr r3, [r7, #24] - 800a126: ea4f 6303 mov.w r3, r3, lsl #24 - 800a12a: ea42 0303 orr.w r3, r2, r3 - 800a12e: 604b str r3, [r1, #4] - (PLLQ << 24); -} - 800a130: f107 0714 add.w r7, r7, #20 ; 0x14 - 800a134: 46bd mov sp, r7 - 800a136: bc80 pop {r7} - 800a138: 4770 bx lr - 800a13a: 46c0 nop (mov r8, r8) - 800a13c: 40023800 .word 0x40023800 - -0800a140 : - * @note The main PLL is disabled by hardware when entering STOP and STANDBY modes. - * @param NewState: new state of the main PLL. This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void RCC_PLLCmd(FunctionalState NewState) -{ - 800a140: b480 push {r7} - 800a142: b083 sub sp, #12 - 800a144: af00 add r7, sp, #0 - 800a146: 4603 mov r3, r0 - 800a148: 71fb strb r3, [r7, #7] - /* Check the parameters */ - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - *(__IO uint32_t *) CR_PLLON_BB = (uint32_t)NewState; - 800a14a: 4a04 ldr r2, [pc, #16] (800a15c ) - 800a14c: 79fb ldrb r3, [r7, #7] - 800a14e: 6013 str r3, [r2, #0] -} - 800a150: f107 070c add.w r7, r7, #12 ; 0xc - 800a154: 46bd mov sp, r7 - 800a156: bc80 pop {r7} - 800a158: 4770 bx lr - 800a15a: 46c0 nop (mov r8, r8) - 800a15c: 42470060 .word 0x42470060 - -0800a160 : - * on the I2S clock frequency. - * - * @retval None - */ -void RCC_PLLI2SConfig(uint32_t PLLI2SN, uint32_t PLLI2SR) -{ - 800a160: b480 push {r7} - 800a162: b083 sub sp, #12 - 800a164: af00 add r7, sp, #0 - 800a166: 6078 str r0, [r7, #4] - 800a168: 6039 str r1, [r7, #0] - /* Check the parameters */ - //assert_param(IS_RCC_PLLI2SN_VALUE(PLLI2SN)); - //assert_param(IS_RCC_PLLI2SR_VALUE(PLLI2SR)); - - RCC->PLLI2SCFGR = (PLLI2SN << 6) | (PLLI2SR << 28); - 800a16a: 4908 ldr r1, [pc, #32] (800a18c ) - 800a16c: 687b ldr r3, [r7, #4] - 800a16e: ea4f 1283 mov.w r2, r3, lsl #6 - 800a172: 683b ldr r3, [r7, #0] - 800a174: ea4f 7303 mov.w r3, r3, lsl #28 - 800a178: ea42 0303 orr.w r3, r2, r3 - 800a17c: f8c1 3084 str.w r3, [r1, #132] -} - 800a180: f107 070c add.w r7, r7, #12 ; 0xc - 800a184: 46bd mov sp, r7 - 800a186: bc80 pop {r7} - 800a188: 4770 bx lr - 800a18a: 46c0 nop (mov r8, r8) - 800a18c: 40023800 .word 0x40023800 - -0800a190 : - * @note The PLLI2S is disabled by hardware when entering STOP and STANDBY modes. - * @param NewState: new state of the PLLI2S. This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void RCC_PLLI2SCmd(FunctionalState NewState) -{ - 800a190: b480 push {r7} - 800a192: b083 sub sp, #12 - 800a194: af00 add r7, sp, #0 - 800a196: 4603 mov r3, r0 - 800a198: 71fb strb r3, [r7, #7] - /* Check the parameters */ - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - *(__IO uint32_t *) CR_PLLI2SON_BB = (uint32_t)NewState; - 800a19a: 4a04 ldr r2, [pc, #16] (800a1ac ) - 800a19c: 79fb ldrb r3, [r7, #7] - 800a19e: 6013 str r3, [r2, #0] -} - 800a1a0: f107 070c add.w r7, r7, #12 ; 0xc - 800a1a4: 46bd mov sp, r7 - 800a1a6: bc80 pop {r7} - 800a1a8: 4770 bx lr - 800a1aa: 46c0 nop (mov r8, r8) - 800a1ac: 42470068 .word 0x42470068 - -0800a1b0 : - * This parameter must be a number between 2 and 7. - * - * @retval None - */ -void RCC_PLLSAIConfig(uint32_t PLLSAIN, uint32_t PLLSAIQ, uint32_t PLLSAIR) -{ - 800a1b0: b480 push {r7} - 800a1b2: b085 sub sp, #20 - 800a1b4: af00 add r7, sp, #0 - 800a1b6: 60f8 str r0, [r7, #12] - 800a1b8: 60b9 str r1, [r7, #8] - 800a1ba: 607a str r2, [r7, #4] - /* Check the parameters */ - //assert_param(IS_RCC_PLLSAIN_VALUE(PLLSAIN)); - //assert_param(IS_RCC_PLLSAIR_VALUE(PLLSAIR)); - - RCC->PLLSAICFGR = (PLLSAIN << 6) | (PLLSAIQ << 24) | (PLLSAIR << 28); - 800a1bc: 490a ldr r1, [pc, #40] (800a1e8 ) - 800a1be: 68fb ldr r3, [r7, #12] - 800a1c0: ea4f 1283 mov.w r2, r3, lsl #6 - 800a1c4: 68bb ldr r3, [r7, #8] - 800a1c6: ea4f 6303 mov.w r3, r3, lsl #24 - 800a1ca: ea42 0203 orr.w r2, r2, r3 - 800a1ce: 687b ldr r3, [r7, #4] - 800a1d0: ea4f 7303 mov.w r3, r3, lsl #28 - 800a1d4: ea42 0303 orr.w r3, r2, r3 - 800a1d8: f8c1 3088 str.w r3, [r1, #136] -} - 800a1dc: f107 0714 add.w r7, r7, #20 ; 0x14 - 800a1e0: 46bd mov sp, r7 - 800a1e2: bc80 pop {r7} - 800a1e4: 4770 bx lr - 800a1e6: 46c0 nop (mov r8, r8) - 800a1e8: 40023800 .word 0x40023800 - -0800a1ec : - * @note The PLLSAI is disabled by hardware when entering STOP and STANDBY modes. - * @param NewState: new state of the PLLSAI. This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void RCC_PLLSAICmd(FunctionalState NewState) -{ - 800a1ec: b480 push {r7} - 800a1ee: b083 sub sp, #12 - 800a1f0: af00 add r7, sp, #0 - 800a1f2: 4603 mov r3, r0 - 800a1f4: 71fb strb r3, [r7, #7] - /* Check the parameters */ - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - *(__IO uint32_t *) CR_PLLSAION_BB = (uint32_t)NewState; - 800a1f6: 4a04 ldr r2, [pc, #16] (800a208 ) - 800a1f8: 79fb ldrb r3, [r7, #7] - 800a1fa: 6013 str r3, [r2, #0] -} - 800a1fc: f107 070c add.w r7, r7, #12 ; 0xc - 800a200: 46bd mov sp, r7 - 800a202: bc80 pop {r7} - 800a204: 4770 bx lr - 800a206: 46c0 nop (mov r8, r8) - 800a208: 42470070 .word 0x42470070 - -0800a20c : - * @param NewState: new state of the Clock Security System. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void RCC_ClockSecuritySystemCmd(FunctionalState NewState) -{ - 800a20c: b480 push {r7} - 800a20e: b083 sub sp, #12 - 800a210: af00 add r7, sp, #0 - 800a212: 4603 mov r3, r0 - 800a214: 71fb strb r3, [r7, #7] - /* Check the parameters */ - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - *(__IO uint32_t *) CR_CSSON_BB = (uint32_t)NewState; - 800a216: 4a04 ldr r2, [pc, #16] (800a228 ) - 800a218: 79fb ldrb r3, [r7, #7] - 800a21a: 6013 str r3, [r2, #0] -} - 800a21c: f107 070c add.w r7, r7, #12 ; 0xc - 800a220: 46bd mov sp, r7 - 800a222: bc80 pop {r7} - 800a224: 4770 bx lr - 800a226: 46c0 nop (mov r8, r8) - 800a228: 4247004c .word 0x4247004c - -0800a22c : - * @arg RCC_MCO1Div_4: division by 4 applied to MCO1 clock - * @arg RCC_MCO1Div_5: division by 5 applied to MCO1 clock - * @retval None - */ -void RCC_MCO1Config(uint32_t RCC_MCO1Source, uint32_t RCC_MCO1Div) -{ - 800a22c: b480 push {r7} - 800a22e: b085 sub sp, #20 - 800a230: af00 add r7, sp, #0 - 800a232: 6078 str r0, [r7, #4] - 800a234: 6039 str r1, [r7, #0] - uint32_t tmpreg = 0; - 800a236: f04f 0300 mov.w r3, #0 ; 0x0 - 800a23a: 60fb str r3, [r7, #12] - - /* Check the parameters */ - //assert_param(IS_RCC_MCO1SOURCE(RCC_MCO1Source)); - //assert_param(IS_RCC_MCO1DIV(RCC_MCO1Div)); - - tmpreg = RCC->CFGR; - 800a23c: 4b0b ldr r3, [pc, #44] (800a26c ) - 800a23e: 689b ldr r3, [r3, #8] - 800a240: 60fb str r3, [r7, #12] - - /* Clear MCO1[1:0] and MCO1PRE[2:0] bits */ - tmpreg &= CFGR_MCO1_RESET_MASK; - 800a242: 68fb ldr r3, [r7, #12] - 800a244: f023 63ec bic.w r3, r3, #123731968 ; 0x7600000 - 800a248: 60fb str r3, [r7, #12] - - /* Select MCO1 clock source and prescaler */ - tmpreg |= RCC_MCO1Source | RCC_MCO1Div; - 800a24a: 687a ldr r2, [r7, #4] - 800a24c: 683b ldr r3, [r7, #0] - 800a24e: ea42 0203 orr.w r2, r2, r3 - 800a252: 68fb ldr r3, [r7, #12] - 800a254: ea43 0302 orr.w r3, r3, r2 - 800a258: 60fb str r3, [r7, #12] - - /* Store the new value */ - RCC->CFGR = tmpreg; - 800a25a: 4a04 ldr r2, [pc, #16] (800a26c ) - 800a25c: 68fb ldr r3, [r7, #12] - 800a25e: 6093 str r3, [r2, #8] -} - 800a260: f107 0714 add.w r7, r7, #20 ; 0x14 - 800a264: 46bd mov sp, r7 - 800a266: bc80 pop {r7} - 800a268: 4770 bx lr - 800a26a: 46c0 nop (mov r8, r8) - 800a26c: 40023800 .word 0x40023800 - -0800a270 : - * @arg RCC_MCO2Div_4: division by 4 applied to MCO2 clock - * @arg RCC_MCO2Div_5: division by 5 applied to MCO2 clock - * @retval None - */ -void RCC_MCO2Config(uint32_t RCC_MCO2Source, uint32_t RCC_MCO2Div) -{ - 800a270: b480 push {r7} - 800a272: b085 sub sp, #20 - 800a274: af00 add r7, sp, #0 - 800a276: 6078 str r0, [r7, #4] - 800a278: 6039 str r1, [r7, #0] - uint32_t tmpreg = 0; - 800a27a: f04f 0300 mov.w r3, #0 ; 0x0 - 800a27e: 60fb str r3, [r7, #12] - - /* Check the parameters */ - //assert_param(IS_RCC_MCO2SOURCE(RCC_MCO2Source)); - //assert_param(IS_RCC_MCO2DIV(RCC_MCO2Div)); - - tmpreg = RCC->CFGR; - 800a280: 4b0b ldr r3, [pc, #44] (800a2b0 ) - 800a282: 689b ldr r3, [r3, #8] - 800a284: 60fb str r3, [r7, #12] - - /* Clear MCO2 and MCO2PRE[2:0] bits */ - tmpreg &= CFGR_MCO2_RESET_MASK; - 800a286: 68fb ldr r3, [r7, #12] - 800a288: f023 4378 bic.w r3, r3, #4160749568 ; 0xf8000000 - 800a28c: 60fb str r3, [r7, #12] - - /* Select MCO2 clock source and prescaler */ - tmpreg |= RCC_MCO2Source | RCC_MCO2Div; - 800a28e: 687a ldr r2, [r7, #4] - 800a290: 683b ldr r3, [r7, #0] - 800a292: ea42 0203 orr.w r2, r2, r3 - 800a296: 68fb ldr r3, [r7, #12] - 800a298: ea43 0302 orr.w r3, r3, r2 - 800a29c: 60fb str r3, [r7, #12] - - /* Store the new value */ - RCC->CFGR = tmpreg; - 800a29e: 4a04 ldr r2, [pc, #16] (800a2b0 ) - 800a2a0: 68fb ldr r3, [r7, #12] - 800a2a2: 6093 str r3, [r2, #8] -} - 800a2a4: f107 0714 add.w r7, r7, #20 ; 0x14 - 800a2a8: 46bd mov sp, r7 - 800a2aa: bc80 pop {r7} - 800a2ac: 4770 bx lr - 800a2ae: 46c0 nop (mov r8, r8) - 800a2b0: 40023800 .word 0x40023800 - -0800a2b4 : - * @arg RCC_SYSCLKSource_HSE: HSE selected as system clock source - * @arg RCC_SYSCLKSource_PLLCLK: PLL selected as system clock source - * @retval None - */ -void RCC_SYSCLKConfig(uint32_t RCC_SYSCLKSource) -{ - 800a2b4: b480 push {r7} - 800a2b6: b085 sub sp, #20 - 800a2b8: af00 add r7, sp, #0 - 800a2ba: 6078 str r0, [r7, #4] - uint32_t tmpreg = 0; - 800a2bc: f04f 0300 mov.w r3, #0 ; 0x0 - 800a2c0: 60fb str r3, [r7, #12] - - /* Check the parameters */ - //assert_param(IS_RCC_SYSCLK_SOURCE(RCC_SYSCLKSource)); - - tmpreg = RCC->CFGR; - 800a2c2: 4b0a ldr r3, [pc, #40] (800a2ec ) - 800a2c4: 689b ldr r3, [r3, #8] - 800a2c6: 60fb str r3, [r7, #12] - - /* Clear SW[1:0] bits */ - tmpreg &= ~RCC_CFGR_SW; - 800a2c8: 68fb ldr r3, [r7, #12] - 800a2ca: f023 0303 bic.w r3, r3, #3 ; 0x3 - 800a2ce: 60fb str r3, [r7, #12] - - /* Set SW[1:0] bits according to RCC_SYSCLKSource value */ - tmpreg |= RCC_SYSCLKSource; - 800a2d0: 68fa ldr r2, [r7, #12] - 800a2d2: 687b ldr r3, [r7, #4] - 800a2d4: ea42 0303 orr.w r3, r2, r3 - 800a2d8: 60fb str r3, [r7, #12] - - /* Store the new value */ - RCC->CFGR = tmpreg; - 800a2da: 4a04 ldr r2, [pc, #16] (800a2ec ) - 800a2dc: 68fb ldr r3, [r7, #12] - 800a2de: 6093 str r3, [r2, #8] -} - 800a2e0: f107 0714 add.w r7, r7, #20 ; 0x14 - 800a2e4: 46bd mov sp, r7 - 800a2e6: bc80 pop {r7} - 800a2e8: 4770 bx lr - 800a2ea: 46c0 nop (mov r8, r8) - 800a2ec: 40023800 .word 0x40023800 - -0800a2f0 : - * - 0x00: HSI used as system clock - * - 0x04: HSE used as system clock - * - 0x08: PLL used as system clock - */ -uint8_t RCC_GetSYSCLKSource(void) -{ - 800a2f0: b480 push {r7} - 800a2f2: af00 add r7, sp, #0 - return ((uint8_t)(RCC->CFGR & RCC_CFGR_SWS)); - 800a2f4: 4b04 ldr r3, [pc, #16] (800a308 ) - 800a2f6: 689b ldr r3, [r3, #8] - 800a2f8: b2db uxtb r3, r3 - 800a2fa: f003 030c and.w r3, r3, #12 ; 0xc -} - 800a2fe: 4618 mov r0, r3 - 800a300: 46bd mov sp, r7 - 800a302: bc80 pop {r7} - 800a304: 4770 bx lr - 800a306: 46c0 nop (mov r8, r8) - 800a308: 40023800 .word 0x40023800 - -0800a30c : - * @arg RCC_SYSCLK_Div256: AHB clock = SYSCLK/256 - * @arg RCC_SYSCLK_Div512: AHB clock = SYSCLK/512 - * @retval None - */ -void RCC_HCLKConfig(uint32_t RCC_SYSCLK) -{ - 800a30c: b480 push {r7} - 800a30e: b085 sub sp, #20 - 800a310: af00 add r7, sp, #0 - 800a312: 6078 str r0, [r7, #4] - uint32_t tmpreg = 0; - 800a314: f04f 0300 mov.w r3, #0 ; 0x0 - 800a318: 60fb str r3, [r7, #12] - - /* Check the parameters */ - //assert_param(IS_RCC_HCLK(RCC_SYSCLK)); - - tmpreg = RCC->CFGR; - 800a31a: 4b0a ldr r3, [pc, #40] (800a344 ) - 800a31c: 689b ldr r3, [r3, #8] - 800a31e: 60fb str r3, [r7, #12] - - /* Clear HPRE[3:0] bits */ - tmpreg &= ~RCC_CFGR_HPRE; - 800a320: 68fb ldr r3, [r7, #12] - 800a322: f023 03f0 bic.w r3, r3, #240 ; 0xf0 - 800a326: 60fb str r3, [r7, #12] - - /* Set HPRE[3:0] bits according to RCC_SYSCLK value */ - tmpreg |= RCC_SYSCLK; - 800a328: 68fa ldr r2, [r7, #12] - 800a32a: 687b ldr r3, [r7, #4] - 800a32c: ea42 0303 orr.w r3, r2, r3 - 800a330: 60fb str r3, [r7, #12] - - /* Store the new value */ - RCC->CFGR = tmpreg; - 800a332: 4a04 ldr r2, [pc, #16] (800a344 ) - 800a334: 68fb ldr r3, [r7, #12] - 800a336: 6093 str r3, [r2, #8] -} - 800a338: f107 0714 add.w r7, r7, #20 ; 0x14 - 800a33c: 46bd mov sp, r7 - 800a33e: bc80 pop {r7} - 800a340: 4770 bx lr - 800a342: 46c0 nop (mov r8, r8) - 800a344: 40023800 .word 0x40023800 - -0800a348 : - * @arg RCC_HCLK_Div8: APB1 clock = HCLK/8 - * @arg RCC_HCLK_Div16: APB1 clock = HCLK/16 - * @retval None - */ -void RCC_PCLK1Config(uint32_t RCC_HCLK) -{ - 800a348: b480 push {r7} - 800a34a: b085 sub sp, #20 - 800a34c: af00 add r7, sp, #0 - 800a34e: 6078 str r0, [r7, #4] - uint32_t tmpreg = 0; - 800a350: f04f 0300 mov.w r3, #0 ; 0x0 - 800a354: 60fb str r3, [r7, #12] - - /* Check the parameters */ - //assert_param(IS_RCC_PCLK(RCC_HCLK)); - - tmpreg = RCC->CFGR; - 800a356: 4b0a ldr r3, [pc, #40] (800a380 ) - 800a358: 689b ldr r3, [r3, #8] - 800a35a: 60fb str r3, [r7, #12] - - /* Clear PPRE1[2:0] bits */ - tmpreg &= ~RCC_CFGR_PPRE1; - 800a35c: 68fb ldr r3, [r7, #12] - 800a35e: f423 53e0 bic.w r3, r3, #7168 ; 0x1c00 - 800a362: 60fb str r3, [r7, #12] - - /* Set PPRE1[2:0] bits according to RCC_HCLK value */ - tmpreg |= RCC_HCLK; - 800a364: 68fa ldr r2, [r7, #12] - 800a366: 687b ldr r3, [r7, #4] - 800a368: ea42 0303 orr.w r3, r2, r3 - 800a36c: 60fb str r3, [r7, #12] - - /* Store the new value */ - RCC->CFGR = tmpreg; - 800a36e: 4a04 ldr r2, [pc, #16] (800a380 ) - 800a370: 68fb ldr r3, [r7, #12] - 800a372: 6093 str r3, [r2, #8] -} - 800a374: f107 0714 add.w r7, r7, #20 ; 0x14 - 800a378: 46bd mov sp, r7 - 800a37a: bc80 pop {r7} - 800a37c: 4770 bx lr - 800a37e: 46c0 nop (mov r8, r8) - 800a380: 40023800 .word 0x40023800 - -0800a384 : - * @arg RCC_HCLK_Div8: APB2 clock = HCLK/8 - * @arg RCC_HCLK_Div16: APB2 clock = HCLK/16 - * @retval None - */ -void RCC_PCLK2Config(uint32_t RCC_HCLK) -{ - 800a384: b480 push {r7} - 800a386: b085 sub sp, #20 - 800a388: af00 add r7, sp, #0 - 800a38a: 6078 str r0, [r7, #4] - uint32_t tmpreg = 0; - 800a38c: f04f 0300 mov.w r3, #0 ; 0x0 - 800a390: 60fb str r3, [r7, #12] - - /* Check the parameters */ - //assert_param(IS_RCC_PCLK(RCC_HCLK)); - - tmpreg = RCC->CFGR; - 800a392: 4b0b ldr r3, [pc, #44] (800a3c0 ) - 800a394: 689b ldr r3, [r3, #8] - 800a396: 60fb str r3, [r7, #12] - - /* Clear PPRE2[2:0] bits */ - tmpreg &= ~RCC_CFGR_PPRE2; - 800a398: 68fb ldr r3, [r7, #12] - 800a39a: f423 4360 bic.w r3, r3, #57344 ; 0xe000 - 800a39e: 60fb str r3, [r7, #12] - - /* Set PPRE2[2:0] bits according to RCC_HCLK value */ - tmpreg |= RCC_HCLK << 3; - 800a3a0: 687b ldr r3, [r7, #4] - 800a3a2: ea4f 02c3 mov.w r2, r3, lsl #3 - 800a3a6: 68fb ldr r3, [r7, #12] - 800a3a8: ea43 0302 orr.w r3, r3, r2 - 800a3ac: 60fb str r3, [r7, #12] - - /* Store the new value */ - RCC->CFGR = tmpreg; - 800a3ae: 4a04 ldr r2, [pc, #16] (800a3c0 ) - 800a3b0: 68fb ldr r3, [r7, #12] - 800a3b2: 6093 str r3, [r2, #8] -} - 800a3b4: f107 0714 add.w r7, r7, #20 ; 0x14 - 800a3b8: 46bd mov sp, r7 - 800a3ba: bc80 pop {r7} - 800a3bc: 4770 bx lr - 800a3be: 46c0 nop (mov r8, r8) - 800a3c0: 40023800 .word 0x40023800 - -0800a3c4 : - * configuration based on this function will be incorrect. - * - * @retval None - */ -void RCC_GetClocksFreq(RCC_ClocksTypeDef* RCC_Clocks) -{ - 800a3c4: b480 push {r7} - 800a3c6: b089 sub sp, #36 - 800a3c8: af00 add r7, sp, #0 - 800a3ca: 6078 str r0, [r7, #4] - uint32_t tmp = 0, presc = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - 800a3cc: f04f 0300 mov.w r3, #0 ; 0x0 - 800a3d0: 60bb str r3, [r7, #8] - 800a3d2: f04f 0300 mov.w r3, #0 ; 0x0 - 800a3d6: 60fb str r3, [r7, #12] - 800a3d8: f04f 0300 mov.w r3, #0 ; 0x0 - 800a3dc: 613b str r3, [r7, #16] - 800a3de: f04f 0302 mov.w r3, #2 ; 0x2 - 800a3e2: 617b str r3, [r7, #20] - 800a3e4: f04f 0300 mov.w r3, #0 ; 0x0 - 800a3e8: 61bb str r3, [r7, #24] - 800a3ea: f04f 0302 mov.w r3, #2 ; 0x2 - 800a3ee: 61fb str r3, [r7, #28] - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - 800a3f0: 4b4f ldr r3, [pc, #316] (800a530 ) - 800a3f2: 689b ldr r3, [r3, #8] - 800a3f4: f003 030c and.w r3, r3, #12 ; 0xc - 800a3f8: 60bb str r3, [r7, #8] - - switch (tmp) - 800a3fa: 68bb ldr r3, [r7, #8] - 800a3fc: 603b str r3, [r7, #0] - 800a3fe: 683b ldr r3, [r7, #0] - 800a400: 2b04 cmp r3, #4 - 800a402: d009 beq.n 800a418 - 800a404: 683b ldr r3, [r7, #0] - 800a406: 2b08 cmp r3, #8 - 800a408: d00a beq.n 800a420 - 800a40a: 683b ldr r3, [r7, #0] - 800a40c: 2b00 cmp r3, #0 - 800a40e: d147 bne.n 800a4a0 - { - case 0x00: /* HSI used as system clock source */ - RCC_Clocks->SYSCLK_Frequency = HSI_VALUE; - 800a410: 687a ldr r2, [r7, #4] - 800a412: 4b48 ldr r3, [pc, #288] (800a534 ) - 800a414: 6013 str r3, [r2, #0] - 800a416: e046 b.n 800a4a6 - break; - case 0x04: /* HSE used as system clock source */ - RCC_Clocks->SYSCLK_Frequency = HSE_VALUE; - 800a418: 687a ldr r2, [r7, #4] - 800a41a: 4b47 ldr r3, [pc, #284] (800a538 ) - 800a41c: 6013 str r3, [r2, #0] - 800a41e: e042 b.n 800a4a6 - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLLM) * PLLN - SYSCLK = PLL_VCO / PLLP - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - 800a420: 4b43 ldr r3, [pc, #268] (800a530 ) - 800a422: 685b ldr r3, [r3, #4] - 800a424: f403 0380 and.w r3, r3, #4194304 ; 0x400000 - 800a428: ea4f 5393 mov.w r3, r3, lsr #22 - 800a42c: 61bb str r3, [r7, #24] - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - 800a42e: 4b40 ldr r3, [pc, #256] (800a530 ) - 800a430: 685b ldr r3, [r3, #4] - 800a432: f003 033f and.w r3, r3, #63 ; 0x3f - 800a436: 61fb str r3, [r7, #28] - - if (pllsource != 0) - 800a438: 69bb ldr r3, [r7, #24] - 800a43a: 2b00 cmp r3, #0 - 800a43c: d00f beq.n 800a45e - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - 800a43e: 4a3e ldr r2, [pc, #248] (800a538 ) - 800a440: 69fb ldr r3, [r7, #28] - 800a442: fbb2 f1f3 udiv r1, r2, r3 - 800a446: 4b3a ldr r3, [pc, #232] (800a530 ) - 800a448: 685a ldr r2, [r3, #4] - 800a44a: f647 73c0 movw r3, #32704 ; 0x7fc0 - 800a44e: ea02 0303 and.w r3, r2, r3 - 800a452: ea4f 1393 mov.w r3, r3, lsr #6 - 800a456: fb03 f301 mul.w r3, r3, r1 - 800a45a: 613b str r3, [r7, #16] - 800a45c: e00e b.n 800a47c - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - 800a45e: 4a35 ldr r2, [pc, #212] (800a534 ) - 800a460: 69fb ldr r3, [r7, #28] - 800a462: fbb2 f1f3 udiv r1, r2, r3 - 800a466: 4b32 ldr r3, [pc, #200] (800a530 ) - 800a468: 685a ldr r2, [r3, #4] - 800a46a: f647 73c0 movw r3, #32704 ; 0x7fc0 - 800a46e: ea02 0303 and.w r3, r2, r3 - 800a472: ea4f 1393 mov.w r3, r3, lsr #6 - 800a476: fb03 f301 mul.w r3, r3, r1 - 800a47a: 613b str r3, [r7, #16] - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - 800a47c: 4b2c ldr r3, [pc, #176] (800a530 ) - 800a47e: 685b ldr r3, [r3, #4] - 800a480: f403 3340 and.w r3, r3, #196608 ; 0x30000 - 800a484: ea4f 4313 mov.w r3, r3, lsr #16 - 800a488: f103 0301 add.w r3, r3, #1 ; 0x1 - 800a48c: ea4f 0343 mov.w r3, r3, lsl #1 - 800a490: 617b str r3, [r7, #20] - RCC_Clocks->SYSCLK_Frequency = pllvco/pllp; - 800a492: 693a ldr r2, [r7, #16] - 800a494: 697b ldr r3, [r7, #20] - 800a496: fbb2 f2f3 udiv r2, r2, r3 - 800a49a: 687b ldr r3, [r7, #4] - 800a49c: 601a str r2, [r3, #0] - 800a49e: e002 b.n 800a4a6 - break; - default: - RCC_Clocks->SYSCLK_Frequency = HSI_VALUE; - 800a4a0: 687a ldr r2, [r7, #4] - 800a4a2: 4b24 ldr r3, [pc, #144] (800a534 ) - 800a4a4: 6013 str r3, [r2, #0] - break; - } - /* Compute HCLK, PCLK1 and PCLK2 clocks frequencies ------------------------*/ - - /* Get HCLK prescaler */ - tmp = RCC->CFGR & RCC_CFGR_HPRE; - 800a4a6: 4b22 ldr r3, [pc, #136] (800a530 ) - 800a4a8: 689b ldr r3, [r3, #8] - 800a4aa: f003 03f0 and.w r3, r3, #240 ; 0xf0 - 800a4ae: 60bb str r3, [r7, #8] - tmp = tmp >> 4; - 800a4b0: 68bb ldr r3, [r7, #8] - 800a4b2: ea4f 1313 mov.w r3, r3, lsr #4 - 800a4b6: 60bb str r3, [r7, #8] - presc = APBAHBPrescTable[tmp]; - 800a4b8: 68ba ldr r2, [r7, #8] - 800a4ba: 4b20 ldr r3, [pc, #128] (800a53c ) - 800a4bc: 5c9b ldrb r3, [r3, r2] - 800a4be: b2db uxtb r3, r3 - 800a4c0: 60fb str r3, [r7, #12] - /* HCLK clock frequency */ - RCC_Clocks->HCLK_Frequency = RCC_Clocks->SYSCLK_Frequency >> presc; - 800a4c2: 687b ldr r3, [r7, #4] - 800a4c4: 681a ldr r2, [r3, #0] - 800a4c6: 68fb ldr r3, [r7, #12] - 800a4c8: fa22 f203 lsr.w r2, r2, r3 - 800a4cc: 687b ldr r3, [r7, #4] - 800a4ce: 605a str r2, [r3, #4] - - /* Get PCLK1 prescaler */ - tmp = RCC->CFGR & RCC_CFGR_PPRE1; - 800a4d0: 4b17 ldr r3, [pc, #92] (800a530 ) - 800a4d2: 689b ldr r3, [r3, #8] - 800a4d4: f403 53e0 and.w r3, r3, #7168 ; 0x1c00 - 800a4d8: 60bb str r3, [r7, #8] - tmp = tmp >> 10; - 800a4da: 68bb ldr r3, [r7, #8] - 800a4dc: ea4f 2393 mov.w r3, r3, lsr #10 - 800a4e0: 60bb str r3, [r7, #8] - presc = APBAHBPrescTable[tmp]; - 800a4e2: 68ba ldr r2, [r7, #8] - 800a4e4: 4b15 ldr r3, [pc, #84] (800a53c ) - 800a4e6: 5c9b ldrb r3, [r3, r2] - 800a4e8: b2db uxtb r3, r3 - 800a4ea: 60fb str r3, [r7, #12] - /* PCLK1 clock frequency */ - RCC_Clocks->PCLK1_Frequency = RCC_Clocks->HCLK_Frequency >> presc; - 800a4ec: 687b ldr r3, [r7, #4] - 800a4ee: 685a ldr r2, [r3, #4] - 800a4f0: 68fb ldr r3, [r7, #12] - 800a4f2: fa22 f203 lsr.w r2, r2, r3 - 800a4f6: 687b ldr r3, [r7, #4] - 800a4f8: 609a str r2, [r3, #8] - - /* Get PCLK2 prescaler */ - tmp = RCC->CFGR & RCC_CFGR_PPRE2; - 800a4fa: 4b0d ldr r3, [pc, #52] (800a530 ) - 800a4fc: 689b ldr r3, [r3, #8] - 800a4fe: f403 4360 and.w r3, r3, #57344 ; 0xe000 - 800a502: 60bb str r3, [r7, #8] - tmp = tmp >> 13; - 800a504: 68bb ldr r3, [r7, #8] - 800a506: ea4f 3353 mov.w r3, r3, lsr #13 - 800a50a: 60bb str r3, [r7, #8] - presc = APBAHBPrescTable[tmp]; - 800a50c: 68ba ldr r2, [r7, #8] - 800a50e: 4b0b ldr r3, [pc, #44] (800a53c ) - 800a510: 5c9b ldrb r3, [r3, r2] - 800a512: b2db uxtb r3, r3 - 800a514: 60fb str r3, [r7, #12] - /* PCLK2 clock frequency */ - RCC_Clocks->PCLK2_Frequency = RCC_Clocks->HCLK_Frequency >> presc; - 800a516: 687b ldr r3, [r7, #4] - 800a518: 685a ldr r2, [r3, #4] - 800a51a: 68fb ldr r3, [r7, #12] - 800a51c: fa22 f203 lsr.w r2, r2, r3 - 800a520: 687b ldr r3, [r7, #4] - 800a522: 60da str r2, [r3, #12] -} - 800a524: f107 0724 add.w r7, r7, #36 ; 0x24 - 800a528: 46bd mov sp, r7 - 800a52a: bc80 pop {r7} - 800a52c: 4770 bx lr - 800a52e: 46c0 nop (mov r8, r8) - 800a530: 40023800 .word 0x40023800 - 800a534: 00f42400 .word 0x00f42400 - 800a538: 007a1200 .word 0x007a1200 - 800a53c: 20000014 .word 0x20000014 - -0800a540 : - * RTC clock source). - * - * @retval None - */ -void RCC_RTCCLKConfig(uint32_t RCC_RTCCLKSource) -{ - 800a540: b480 push {r7} - 800a542: b085 sub sp, #20 - 800a544: af00 add r7, sp, #0 - 800a546: 6078 str r0, [r7, #4] - uint32_t tmpreg = 0; - 800a548: f04f 0300 mov.w r3, #0 ; 0x0 - 800a54c: 60fb str r3, [r7, #12] - - /* Check the parameters */ - //assert_param(IS_RCC_RTCCLK_SOURCE(RCC_RTCCLKSource)); - - if ((RCC_RTCCLKSource & 0x00000300) == 0x00000300) - 800a54e: 687b ldr r3, [r7, #4] - 800a550: f403 7340 and.w r3, r3, #768 ; 0x300 - 800a554: f5b3 7f40 cmp.w r3, #768 ; 0x300 - 800a558: d112 bne.n 800a580 - { /* If HSE is selected as RTC clock source, configure HSE division factor for RTC clock */ - tmpreg = RCC->CFGR; - 800a55a: 4b11 ldr r3, [pc, #68] (800a5a0 ) - 800a55c: 689b ldr r3, [r3, #8] - 800a55e: 60fb str r3, [r7, #12] - - /* Clear RTCPRE[4:0] bits */ - tmpreg &= ~RCC_CFGR_RTCPRE; - 800a560: 68fb ldr r3, [r7, #12] - 800a562: f423 13f8 bic.w r3, r3, #2031616 ; 0x1f0000 - 800a566: 60fb str r3, [r7, #12] - - /* Configure HSE division factor for RTC clock */ - tmpreg |= (RCC_RTCCLKSource & 0xFFFFCFF); - 800a568: 687b ldr r3, [r7, #4] - 800a56a: f023 4370 bic.w r3, r3, #4026531840 ; 0xf0000000 - 800a56e: f423 7340 bic.w r3, r3, #768 ; 0x300 - 800a572: 68fa ldr r2, [r7, #12] - 800a574: ea42 0303 orr.w r3, r2, r3 - 800a578: 60fb str r3, [r7, #12] - - /* Store the new value */ - RCC->CFGR = tmpreg; - 800a57a: 4a09 ldr r2, [pc, #36] (800a5a0 ) - 800a57c: 68fb ldr r3, [r7, #12] - 800a57e: 6093 str r3, [r2, #8] - } - - /* Select the RTC clock source */ - RCC->BDCR |= (RCC_RTCCLKSource & 0x00000FFF); - 800a580: 4907 ldr r1, [pc, #28] (800a5a0 ) - 800a582: 4b07 ldr r3, [pc, #28] (800a5a0 ) - 800a584: 6f1a ldr r2, [r3, #112] - 800a586: 687b ldr r3, [r7, #4] - 800a588: ea4f 5303 mov.w r3, r3, lsl #20 - 800a58c: ea4f 5313 mov.w r3, r3, lsr #20 - 800a590: ea42 0303 orr.w r3, r2, r3 - 800a594: 670b str r3, [r1, #112] -} - 800a596: f107 0714 add.w r7, r7, #20 ; 0x14 - 800a59a: 46bd mov sp, r7 - 800a59c: bc80 pop {r7} - 800a59e: 4770 bx lr - 800a5a0: 40023800 .word 0x40023800 - -0800a5a4 : - * using the RCC_RTCCLKConfig function. - * @param NewState: new state of the RTC clock. This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void RCC_RTCCLKCmd(FunctionalState NewState) -{ - 800a5a4: b480 push {r7} - 800a5a6: b083 sub sp, #12 - 800a5a8: af00 add r7, sp, #0 - 800a5aa: 4603 mov r3, r0 - 800a5ac: 71fb strb r3, [r7, #7] - /* Check the parameters */ - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - - *(__IO uint32_t *) BDCR_RTCEN_BB = (uint32_t)NewState; - 800a5ae: 4a04 ldr r2, [pc, #16] (800a5c0 ) - 800a5b0: 79fb ldrb r3, [r7, #7] - 800a5b2: 6013 str r3, [r2, #0] -} - 800a5b4: f107 070c add.w r7, r7, #12 ; 0xc - 800a5b8: 46bd mov sp, r7 - 800a5ba: bc80 pop {r7} - 800a5bc: 4770 bx lr - 800a5be: 46c0 nop (mov r8, r8) - 800a5c0: 42470e3c .word 0x42470e3c - -0800a5c4 : - * @param NewState: new state of the Backup domain reset. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void RCC_BackupResetCmd(FunctionalState NewState) -{ - 800a5c4: b480 push {r7} - 800a5c6: b083 sub sp, #12 - 800a5c8: af00 add r7, sp, #0 - 800a5ca: 4603 mov r3, r0 - 800a5cc: 71fb strb r3, [r7, #7] - /* Check the parameters */ - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - *(__IO uint32_t *) BDCR_BDRST_BB = (uint32_t)NewState; - 800a5ce: 4a04 ldr r2, [pc, #16] (800a5e0 ) - 800a5d0: 79fb ldrb r3, [r7, #7] - 800a5d2: 6013 str r3, [r2, #0] -} - 800a5d4: f107 070c add.w r7, r7, #12 ; 0xc - 800a5d8: 46bd mov sp, r7 - 800a5da: bc80 pop {r7} - 800a5dc: 4770 bx lr - 800a5de: 46c0 nop (mov r8, r8) - 800a5e0: 42470e40 .word 0x42470e40 - -0800a5e4 : - * @arg RCC_I2S2CLKSource_Ext: External clock mapped on the I2S_CKIN pin - * used as I2S clock source - * @retval None - */ -void RCC_I2SCLKConfig(uint32_t RCC_I2SCLKSource) -{ - 800a5e4: b480 push {r7} - 800a5e6: b083 sub sp, #12 - 800a5e8: af00 add r7, sp, #0 - 800a5ea: 6078 str r0, [r7, #4] - /* Check the parameters */ - //assert_param(IS_RCC_I2SCLK_SOURCE(RCC_I2SCLKSource)); - - *(__IO uint32_t *) CFGR_I2SSRC_BB = RCC_I2SCLKSource; - 800a5ec: 4a03 ldr r2, [pc, #12] (800a5fc ) - 800a5ee: 687b ldr r3, [r7, #4] - 800a5f0: 6013 str r3, [r2, #0] -} - 800a5f2: f107 070c add.w r7, r7, #12 ; 0xc - 800a5f6: 46bd mov sp, r7 - 800a5f8: bc80 pop {r7} - 800a5fa: 4770 bx lr - 800a5fc: 4247015c .word 0x4247015c - -0800a600 : - * SAI1 clock frequency = f(PLLI2S_Q) / RCC_PLLI2SDivQ - * - * @retval None - */ -void RCC_SAIPLLI2SClkDivConfig(uint32_t RCC_PLLI2SDivQ) -{ - 800a600: b480 push {r7} - 800a602: b085 sub sp, #20 - 800a604: af00 add r7, sp, #0 - 800a606: 6078 str r0, [r7, #4] - uint32_t tmpreg = 0; - 800a608: f04f 0300 mov.w r3, #0 ; 0x0 - 800a60c: 60fb str r3, [r7, #12] - - /* Check the parameters */ - //assert_param(IS_RCC_PLLI2S_DIVQ_VALUE(RCC_PLLI2SDivQ)); - - tmpreg = RCC->DCKCFGR; - 800a60e: 4b0c ldr r3, [pc, #48] (800a640 ) - 800a610: f8d3 308c ldr.w r3, [r3, #140] - 800a614: 60fb str r3, [r7, #12] - - /* Clear PLLI2SDIVQ[4:0] bits */ - tmpreg &= ~(RCC_DCKCFGR_PLLI2SDIVQ); - 800a616: 68fb ldr r3, [r7, #12] - 800a618: f023 031f bic.w r3, r3, #31 ; 0x1f - 800a61c: 60fb str r3, [r7, #12] - - /* Set PLLI2SDIVQ values */ - tmpreg |= (RCC_PLLI2SDivQ - 1); - 800a61e: 687b ldr r3, [r7, #4] - 800a620: f103 32ff add.w r2, r3, #4294967295 ; 0xffffffff - 800a624: 68fb ldr r3, [r7, #12] - 800a626: ea43 0302 orr.w r3, r3, r2 - 800a62a: 60fb str r3, [r7, #12] - - /* Store the new value */ - RCC->DCKCFGR = tmpreg; - 800a62c: 4a04 ldr r2, [pc, #16] (800a640 ) - 800a62e: 68fb ldr r3, [r7, #12] - 800a630: f8c2 308c str.w r3, [r2, #140] -} - 800a634: f107 0714 add.w r7, r7, #20 ; 0x14 - 800a638: 46bd mov sp, r7 - 800a63a: bc80 pop {r7} - 800a63c: 4770 bx lr - 800a63e: 46c0 nop (mov r8, r8) - 800a640: 40023800 .word 0x40023800 - -0800a644 : - * SAI1 clock frequency = f(PLLSAI_Q) / RCC_PLLSAIDivQ - * - * @retval None - */ -void RCC_SAIPLLSAIClkDivConfig(uint32_t RCC_PLLSAIDivQ) -{ - 800a644: b480 push {r7} - 800a646: b085 sub sp, #20 - 800a648: af00 add r7, sp, #0 - 800a64a: 6078 str r0, [r7, #4] - uint32_t tmpreg = 0; - 800a64c: f04f 0300 mov.w r3, #0 ; 0x0 - 800a650: 60fb str r3, [r7, #12] - - /* Check the parameters */ - //assert_param(IS_RCC_PLLSAI_DIVQ_VALUE(RCC_PLLSAIDivQ)); - - tmpreg = RCC->DCKCFGR; - 800a652: 4b0d ldr r3, [pc, #52] (800a688 ) - 800a654: f8d3 308c ldr.w r3, [r3, #140] - 800a658: 60fb str r3, [r7, #12] - - /* Clear PLLI2SDIVQ[4:0] and PLLSAIDIVQ[4:0] bits */ - tmpreg &= ~(RCC_DCKCFGR_PLLSAIDIVQ); - 800a65a: 68fb ldr r3, [r7, #12] - 800a65c: f423 53f8 bic.w r3, r3, #7936 ; 0x1f00 - 800a660: 60fb str r3, [r7, #12] - - /* Set PLLSAIDIVQ values */ - tmpreg |= ((RCC_PLLSAIDivQ - 1) << 8); - 800a662: 687b ldr r3, [r7, #4] - 800a664: f103 33ff add.w r3, r3, #4294967295 ; 0xffffffff - 800a668: ea4f 2203 mov.w r2, r3, lsl #8 - 800a66c: 68fb ldr r3, [r7, #12] - 800a66e: ea43 0302 orr.w r3, r3, r2 - 800a672: 60fb str r3, [r7, #12] - - /* Store the new value */ - RCC->DCKCFGR = tmpreg; - 800a674: 4a04 ldr r2, [pc, #16] (800a688 ) - 800a676: 68fb ldr r3, [r7, #12] - 800a678: f8c2 308c str.w r3, [r2, #140] -} - 800a67c: f107 0714 add.w r7, r7, #20 ; 0x14 - 800a680: 46bd mov sp, r7 - 800a682: bc80 pop {r7} - 800a684: 4770 bx lr - 800a686: 46c0 nop (mov r8, r8) - 800a688: 40023800 .word 0x40023800 - -0800a68c : - * @arg RCC_SAIACLKSource_Ext: External clock mapped on the I2S_CKIN pin - * used as SAI1 Block A clock - * @retval None - */ -void RCC_SAIBlockACLKConfig(uint32_t RCC_SAIBlockACLKSource) -{ - 800a68c: b480 push {r7} - 800a68e: b085 sub sp, #20 - 800a690: af00 add r7, sp, #0 - 800a692: 6078 str r0, [r7, #4] - uint32_t tmpreg = 0; - 800a694: f04f 0300 mov.w r3, #0 ; 0x0 - 800a698: 60fb str r3, [r7, #12] - - /* Check the parameters */ - //assert_param(IS_RCC_SAIACLK_SOURCE(RCC_SAIBlockACLKSource)); - - tmpreg = RCC->DCKCFGR; - 800a69a: 4b0b ldr r3, [pc, #44] (800a6c8 ) - 800a69c: f8d3 308c ldr.w r3, [r3, #140] - 800a6a0: 60fb str r3, [r7, #12] - - /* Clear RCC_DCKCFGR_SAI1ASRC[1:0] bits */ - tmpreg &= ~RCC_DCKCFGR_SAI1ASRC; - 800a6a2: 68fb ldr r3, [r7, #12] - 800a6a4: f423 1340 bic.w r3, r3, #3145728 ; 0x300000 - 800a6a8: 60fb str r3, [r7, #12] - - /* Set SAI Block A source selection value */ - tmpreg |= RCC_SAIBlockACLKSource; - 800a6aa: 68fa ldr r2, [r7, #12] - 800a6ac: 687b ldr r3, [r7, #4] - 800a6ae: ea42 0303 orr.w r3, r2, r3 - 800a6b2: 60fb str r3, [r7, #12] - - /* Store the new value */ - RCC->DCKCFGR = tmpreg; - 800a6b4: 4a04 ldr r2, [pc, #16] (800a6c8 ) - 800a6b6: 68fb ldr r3, [r7, #12] - 800a6b8: f8c2 308c str.w r3, [r2, #140] -} - 800a6bc: f107 0714 add.w r7, r7, #20 ; 0x14 - 800a6c0: 46bd mov sp, r7 - 800a6c2: bc80 pop {r7} - 800a6c4: 4770 bx lr - 800a6c6: 46c0 nop (mov r8, r8) - 800a6c8: 40023800 .word 0x40023800 - -0800a6cc : - * @arg RCC_SAIBCLKSource_Ext: External clock mapped on the I2S_CKIN pin - * used as SAI1 Block B clock - * @retval None - */ -void RCC_SAIBlockBCLKConfig(uint32_t RCC_SAIBlockBCLKSource) -{ - 800a6cc: b480 push {r7} - 800a6ce: b085 sub sp, #20 - 800a6d0: af00 add r7, sp, #0 - 800a6d2: 6078 str r0, [r7, #4] - uint32_t tmpreg = 0; - 800a6d4: f04f 0300 mov.w r3, #0 ; 0x0 - 800a6d8: 60fb str r3, [r7, #12] - - /* Check the parameters */ - //assert_param(IS_RCC_SAIBCLK_SOURCE(RCC_SAIBlockBCLKSource)); - - tmpreg = RCC->DCKCFGR; - 800a6da: 4b0b ldr r3, [pc, #44] (800a708 ) - 800a6dc: f8d3 308c ldr.w r3, [r3, #140] - 800a6e0: 60fb str r3, [r7, #12] - - /* Clear RCC_DCKCFGR_SAI1BSRC[1:0] bits */ - tmpreg &= ~RCC_DCKCFGR_SAI1BSRC; - 800a6e2: 68fb ldr r3, [r7, #12] - 800a6e4: f423 0340 bic.w r3, r3, #12582912 ; 0xc00000 - 800a6e8: 60fb str r3, [r7, #12] - - /* Set SAI Block B source selection value */ - tmpreg |= RCC_SAIBlockBCLKSource; - 800a6ea: 68fa ldr r2, [r7, #12] - 800a6ec: 687b ldr r3, [r7, #4] - 800a6ee: ea42 0303 orr.w r3, r2, r3 - 800a6f2: 60fb str r3, [r7, #12] - - /* Store the new value */ - RCC->DCKCFGR = tmpreg; - 800a6f4: 4a04 ldr r2, [pc, #16] (800a708 ) - 800a6f6: 68fb ldr r3, [r7, #12] - 800a6f8: f8c2 308c str.w r3, [r2, #140] -} - 800a6fc: f107 0714 add.w r7, r7, #20 ; 0x14 - 800a700: 46bd mov sp, r7 - 800a702: bc80 pop {r7} - 800a704: 4770 bx lr - 800a706: 46c0 nop (mov r8, r8) - 800a708: 40023800 .word 0x40023800 - -0800a70c : - * LTDC clock frequency = f(PLLSAI_R) / RCC_PLLSAIDivR - * - * @retval None - */ -void RCC_LTDCCLKDivConfig(uint32_t RCC_PLLSAIDivR) -{ - 800a70c: b480 push {r7} - 800a70e: b085 sub sp, #20 - 800a710: af00 add r7, sp, #0 - 800a712: 6078 str r0, [r7, #4] - uint32_t tmpreg = 0; - 800a714: f04f 0300 mov.w r3, #0 ; 0x0 - 800a718: 60fb str r3, [r7, #12] - - /* Check the parameters */ - //assert_param(IS_RCC_PLLSAI_DIVR_VALUE(RCC_PLLSAIDivR)); - - tmpreg = RCC->DCKCFGR; - 800a71a: 4b0b ldr r3, [pc, #44] (800a748 ) - 800a71c: f8d3 308c ldr.w r3, [r3, #140] - 800a720: 60fb str r3, [r7, #12] - - /* Clear PLLSAIDIVR[2:0] bits */ - tmpreg &= ~RCC_DCKCFGR_PLLSAIDIVR; - 800a722: 68fb ldr r3, [r7, #12] - 800a724: f423 3340 bic.w r3, r3, #196608 ; 0x30000 - 800a728: 60fb str r3, [r7, #12] - - /* Set PLLSAIDIVR values */ - tmpreg |= RCC_PLLSAIDivR; - 800a72a: 68fa ldr r2, [r7, #12] - 800a72c: 687b ldr r3, [r7, #4] - 800a72e: ea42 0303 orr.w r3, r2, r3 - 800a732: 60fb str r3, [r7, #12] - - /* Store the new value */ - RCC->DCKCFGR = tmpreg; - 800a734: 4a04 ldr r2, [pc, #16] (800a748 ) - 800a736: 68fb ldr r3, [r7, #12] - 800a738: f8c2 308c str.w r3, [r2, #140] -} - 800a73c: f107 0714 add.w r7, r7, #20 ; 0x14 - 800a740: 46bd mov sp, r7 - 800a742: bc80 pop {r7} - 800a744: 4770 bx lr - 800a746: 46c0 nop (mov r8, r8) - 800a748: 40023800 .word 0x40023800 - -0800a74c : - * else it is equal to [(HPRE * PPREx) / 4] if PPREx is corresponding - * to division by 8 or more. - * @retval None - */ -void RCC_TIMCLKPresConfig(uint32_t RCC_TIMCLKPrescaler) -{ - 800a74c: b480 push {r7} - 800a74e: b083 sub sp, #12 - 800a750: af00 add r7, sp, #0 - 800a752: 6078 str r0, [r7, #4] - /* Check the parameters */ - //assert_param(IS_RCC_TIMCLK_PRESCALER(RCC_TIMCLKPrescaler)); - - *(__IO uint32_t *) DCKCFGR_TIMPRE_BB = RCC_TIMCLKPrescaler; - 800a754: 4a03 ldr r2, [pc, #12] (800a764 ) - 800a756: 687b ldr r3, [r7, #4] - 800a758: 6013 str r3, [r2, #0] - -} - 800a75a: f107 070c add.w r7, r7, #12 ; 0xc - 800a75e: 46bd mov sp, r7 - 800a760: bc80 pop {r7} - 800a762: 4770 bx lr - 800a764: 424711e0 .word 0x424711e0 - -0800a768 : - * @param NewState: new state of the specified peripheral clock. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void RCC_AHB1PeriphClockCmd(uint32_t RCC_AHB1Periph, FunctionalState NewState) -{ - 800a768: b480 push {r7} - 800a76a: b083 sub sp, #12 - 800a76c: af00 add r7, sp, #0 - 800a76e: 6078 str r0, [r7, #4] - 800a770: 460b mov r3, r1 - 800a772: 70fb strb r3, [r7, #3] - /* Check the parameters */ - //assert_param(IS_RCC_AHB1_CLOCK_PERIPH(RCC_AHB1Periph)); - - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - 800a774: 78fb ldrb r3, [r7, #3] - 800a776: 2b00 cmp r3, #0 - 800a778: d007 beq.n 800a78a - { - RCC->AHB1ENR |= RCC_AHB1Periph; - 800a77a: 490b ldr r1, [pc, #44] (800a7a8 ) - 800a77c: 4b0a ldr r3, [pc, #40] (800a7a8 ) - 800a77e: 6b1a ldr r2, [r3, #48] - 800a780: 687b ldr r3, [r7, #4] - 800a782: ea42 0303 orr.w r3, r2, r3 - 800a786: 630b str r3, [r1, #48] - 800a788: e008 b.n 800a79c - } - else - { - RCC->AHB1ENR &= ~RCC_AHB1Periph; - 800a78a: 4907 ldr r1, [pc, #28] (800a7a8 ) - 800a78c: 4b06 ldr r3, [pc, #24] (800a7a8 ) - 800a78e: 6b1a ldr r2, [r3, #48] - 800a790: 687b ldr r3, [r7, #4] - 800a792: ea6f 0303 mvn.w r3, r3 - 800a796: ea02 0303 and.w r3, r2, r3 - 800a79a: 630b str r3, [r1, #48] - } -} - 800a79c: f107 070c add.w r7, r7, #12 ; 0xc - 800a7a0: 46bd mov sp, r7 - 800a7a2: bc80 pop {r7} - 800a7a4: 4770 bx lr - 800a7a6: 46c0 nop (mov r8, r8) - 800a7a8: 40023800 .word 0x40023800 - -0800a7ac : - * @param NewState: new state of the specified peripheral clock. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void RCC_AHB2PeriphClockCmd(uint32_t RCC_AHB2Periph, FunctionalState NewState) -{ - 800a7ac: b480 push {r7} - 800a7ae: b083 sub sp, #12 - 800a7b0: af00 add r7, sp, #0 - 800a7b2: 6078 str r0, [r7, #4] - 800a7b4: 460b mov r3, r1 - 800a7b6: 70fb strb r3, [r7, #3] - /* Check the parameters */ - //assert_param(IS_RCC_AHB2_PERIPH(RCC_AHB2Periph)); - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - 800a7b8: 78fb ldrb r3, [r7, #3] - 800a7ba: 2b00 cmp r3, #0 - 800a7bc: d007 beq.n 800a7ce - { - RCC->AHB2ENR |= RCC_AHB2Periph; - 800a7be: 490b ldr r1, [pc, #44] (800a7ec ) - 800a7c0: 4b0a ldr r3, [pc, #40] (800a7ec ) - 800a7c2: 6b5a ldr r2, [r3, #52] - 800a7c4: 687b ldr r3, [r7, #4] - 800a7c6: ea42 0303 orr.w r3, r2, r3 - 800a7ca: 634b str r3, [r1, #52] - 800a7cc: e008 b.n 800a7e0 - } - else - { - RCC->AHB2ENR &= ~RCC_AHB2Periph; - 800a7ce: 4907 ldr r1, [pc, #28] (800a7ec ) - 800a7d0: 4b06 ldr r3, [pc, #24] (800a7ec ) - 800a7d2: 6b5a ldr r2, [r3, #52] - 800a7d4: 687b ldr r3, [r7, #4] - 800a7d6: ea6f 0303 mvn.w r3, r3 - 800a7da: ea02 0303 and.w r3, r2, r3 - 800a7de: 634b str r3, [r1, #52] - } -} - 800a7e0: f107 070c add.w r7, r7, #12 ; 0xc - 800a7e4: 46bd mov sp, r7 - 800a7e6: bc80 pop {r7} - 800a7e8: 4770 bx lr - 800a7ea: 46c0 nop (mov r8, r8) - 800a7ec: 40023800 .word 0x40023800 - -0800a7f0 : - * @param NewState: new state of the specified peripheral clock. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void RCC_AHB3PeriphClockCmd(uint32_t RCC_AHB3Periph, FunctionalState NewState) -{ - 800a7f0: b480 push {r7} - 800a7f2: b083 sub sp, #12 - 800a7f4: af00 add r7, sp, #0 - 800a7f6: 6078 str r0, [r7, #4] - 800a7f8: 460b mov r3, r1 - 800a7fa: 70fb strb r3, [r7, #3] - /* Check the parameters */ - //assert_param(IS_RCC_AHB3_PERIPH(RCC_AHB3Periph)); - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - 800a7fc: 78fb ldrb r3, [r7, #3] - 800a7fe: 2b00 cmp r3, #0 - 800a800: d007 beq.n 800a812 - { - RCC->AHB3ENR |= RCC_AHB3Periph; - 800a802: 490b ldr r1, [pc, #44] (800a830 ) - 800a804: 4b0a ldr r3, [pc, #40] (800a830 ) - 800a806: 6b9a ldr r2, [r3, #56] - 800a808: 687b ldr r3, [r7, #4] - 800a80a: ea42 0303 orr.w r3, r2, r3 - 800a80e: 638b str r3, [r1, #56] - 800a810: e008 b.n 800a824 - } - else - { - RCC->AHB3ENR &= ~RCC_AHB3Periph; - 800a812: 4907 ldr r1, [pc, #28] (800a830 ) - 800a814: 4b06 ldr r3, [pc, #24] (800a830 ) - 800a816: 6b9a ldr r2, [r3, #56] - 800a818: 687b ldr r3, [r7, #4] - 800a81a: ea6f 0303 mvn.w r3, r3 - 800a81e: ea02 0303 and.w r3, r2, r3 - 800a822: 638b str r3, [r1, #56] - } -} - 800a824: f107 070c add.w r7, r7, #12 ; 0xc - 800a828: 46bd mov sp, r7 - 800a82a: bc80 pop {r7} - 800a82c: 4770 bx lr - 800a82e: 46c0 nop (mov r8, r8) - 800a830: 40023800 .word 0x40023800 - -0800a834 : - * @param NewState: new state of the specified peripheral clock. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void RCC_APB1PeriphClockCmd(uint32_t RCC_APB1Periph, FunctionalState NewState) -{ - 800a834: b480 push {r7} - 800a836: b083 sub sp, #12 - 800a838: af00 add r7, sp, #0 - 800a83a: 6078 str r0, [r7, #4] - 800a83c: 460b mov r3, r1 - 800a83e: 70fb strb r3, [r7, #3] - /* Check the parameters */ - //assert_param(IS_RCC_APB1_PERIPH(RCC_APB1Periph)); - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - 800a840: 78fb ldrb r3, [r7, #3] - 800a842: 2b00 cmp r3, #0 - 800a844: d007 beq.n 800a856 - { - RCC->APB1ENR |= RCC_APB1Periph; - 800a846: 490b ldr r1, [pc, #44] (800a874 ) - 800a848: 4b0a ldr r3, [pc, #40] (800a874 ) - 800a84a: 6c1a ldr r2, [r3, #64] - 800a84c: 687b ldr r3, [r7, #4] - 800a84e: ea42 0303 orr.w r3, r2, r3 - 800a852: 640b str r3, [r1, #64] - 800a854: e008 b.n 800a868 - } - else - { - RCC->APB1ENR &= ~RCC_APB1Periph; - 800a856: 4907 ldr r1, [pc, #28] (800a874 ) - 800a858: 4b06 ldr r3, [pc, #24] (800a874 ) - 800a85a: 6c1a ldr r2, [r3, #64] - 800a85c: 687b ldr r3, [r7, #4] - 800a85e: ea6f 0303 mvn.w r3, r3 - 800a862: ea02 0303 and.w r3, r2, r3 - 800a866: 640b str r3, [r1, #64] - } -} - 800a868: f107 070c add.w r7, r7, #12 ; 0xc - 800a86c: 46bd mov sp, r7 - 800a86e: bc80 pop {r7} - 800a870: 4770 bx lr - 800a872: 46c0 nop (mov r8, r8) - 800a874: 40023800 .word 0x40023800 - -0800a878 : - * @param NewState: new state of the specified peripheral clock. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState) -{ - 800a878: b480 push {r7} - 800a87a: b083 sub sp, #12 - 800a87c: af00 add r7, sp, #0 - 800a87e: 6078 str r0, [r7, #4] - 800a880: 460b mov r3, r1 - 800a882: 70fb strb r3, [r7, #3] - /* Check the parameters */ - //assert_param(IS_RCC_APB2_PERIPH(RCC_APB2Periph)); - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - 800a884: 78fb ldrb r3, [r7, #3] - 800a886: 2b00 cmp r3, #0 - 800a888: d007 beq.n 800a89a - { - RCC->APB2ENR |= RCC_APB2Periph; - 800a88a: 490b ldr r1, [pc, #44] (800a8b8 ) - 800a88c: 4b0a ldr r3, [pc, #40] (800a8b8 ) - 800a88e: 6c5a ldr r2, [r3, #68] - 800a890: 687b ldr r3, [r7, #4] - 800a892: ea42 0303 orr.w r3, r2, r3 - 800a896: 644b str r3, [r1, #68] - 800a898: e008 b.n 800a8ac - } - else - { - RCC->APB2ENR &= ~RCC_APB2Periph; - 800a89a: 4907 ldr r1, [pc, #28] (800a8b8 ) - 800a89c: 4b06 ldr r3, [pc, #24] (800a8b8 ) - 800a89e: 6c5a ldr r2, [r3, #68] - 800a8a0: 687b ldr r3, [r7, #4] - 800a8a2: ea6f 0303 mvn.w r3, r3 - 800a8a6: ea02 0303 and.w r3, r2, r3 - 800a8aa: 644b str r3, [r1, #68] - } -} - 800a8ac: f107 070c add.w r7, r7, #12 ; 0xc - 800a8b0: 46bd mov sp, r7 - 800a8b2: bc80 pop {r7} - 800a8b4: 4770 bx lr - 800a8b6: 46c0 nop (mov r8, r8) - 800a8b8: 40023800 .word 0x40023800 - -0800a8bc : - * @param NewState: new state of the specified peripheral reset. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void RCC_AHB1PeriphResetCmd(uint32_t RCC_AHB1Periph, FunctionalState NewState) -{ - 800a8bc: b480 push {r7} - 800a8be: b083 sub sp, #12 - 800a8c0: af00 add r7, sp, #0 - 800a8c2: 6078 str r0, [r7, #4] - 800a8c4: 460b mov r3, r1 - 800a8c6: 70fb strb r3, [r7, #3] - /* Check the parameters */ - //assert_param(IS_RCC_AHB1_RESET_PERIPH(RCC_AHB1Periph)); - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - 800a8c8: 78fb ldrb r3, [r7, #3] - 800a8ca: 2b00 cmp r3, #0 - 800a8cc: d007 beq.n 800a8de - { - RCC->AHB1RSTR |= RCC_AHB1Periph; - 800a8ce: 490b ldr r1, [pc, #44] (800a8fc ) - 800a8d0: 4b0a ldr r3, [pc, #40] (800a8fc ) - 800a8d2: 691a ldr r2, [r3, #16] - 800a8d4: 687b ldr r3, [r7, #4] - 800a8d6: ea42 0303 orr.w r3, r2, r3 - 800a8da: 610b str r3, [r1, #16] - 800a8dc: e008 b.n 800a8f0 - } - else - { - RCC->AHB1RSTR &= ~RCC_AHB1Periph; - 800a8de: 4907 ldr r1, [pc, #28] (800a8fc ) - 800a8e0: 4b06 ldr r3, [pc, #24] (800a8fc ) - 800a8e2: 691a ldr r2, [r3, #16] - 800a8e4: 687b ldr r3, [r7, #4] - 800a8e6: ea6f 0303 mvn.w r3, r3 - 800a8ea: ea02 0303 and.w r3, r2, r3 - 800a8ee: 610b str r3, [r1, #16] - } -} - 800a8f0: f107 070c add.w r7, r7, #12 ; 0xc - 800a8f4: 46bd mov sp, r7 - 800a8f6: bc80 pop {r7} - 800a8f8: 4770 bx lr - 800a8fa: 46c0 nop (mov r8, r8) - 800a8fc: 40023800 .word 0x40023800 - -0800a900 : - * @param NewState: new state of the specified peripheral reset. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void RCC_AHB2PeriphResetCmd(uint32_t RCC_AHB2Periph, FunctionalState NewState) -{ - 800a900: b480 push {r7} - 800a902: b083 sub sp, #12 - 800a904: af00 add r7, sp, #0 - 800a906: 6078 str r0, [r7, #4] - 800a908: 460b mov r3, r1 - 800a90a: 70fb strb r3, [r7, #3] - /* Check the parameters */ - //assert_param(IS_RCC_AHB2_PERIPH(RCC_AHB2Periph)); - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - 800a90c: 78fb ldrb r3, [r7, #3] - 800a90e: 2b00 cmp r3, #0 - 800a910: d007 beq.n 800a922 - { - RCC->AHB2RSTR |= RCC_AHB2Periph; - 800a912: 490b ldr r1, [pc, #44] (800a940 ) - 800a914: 4b0a ldr r3, [pc, #40] (800a940 ) - 800a916: 695a ldr r2, [r3, #20] - 800a918: 687b ldr r3, [r7, #4] - 800a91a: ea42 0303 orr.w r3, r2, r3 - 800a91e: 614b str r3, [r1, #20] - 800a920: e008 b.n 800a934 - } - else - { - RCC->AHB2RSTR &= ~RCC_AHB2Periph; - 800a922: 4907 ldr r1, [pc, #28] (800a940 ) - 800a924: 4b06 ldr r3, [pc, #24] (800a940 ) - 800a926: 695a ldr r2, [r3, #20] - 800a928: 687b ldr r3, [r7, #4] - 800a92a: ea6f 0303 mvn.w r3, r3 - 800a92e: ea02 0303 and.w r3, r2, r3 - 800a932: 614b str r3, [r1, #20] - } -} - 800a934: f107 070c add.w r7, r7, #12 ; 0xc - 800a938: 46bd mov sp, r7 - 800a93a: bc80 pop {r7} - 800a93c: 4770 bx lr - 800a93e: 46c0 nop (mov r8, r8) - 800a940: 40023800 .word 0x40023800 - -0800a944 : - * @param NewState: new state of the specified peripheral reset. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void RCC_AHB3PeriphResetCmd(uint32_t RCC_AHB3Periph, FunctionalState NewState) -{ - 800a944: b480 push {r7} - 800a946: b083 sub sp, #12 - 800a948: af00 add r7, sp, #0 - 800a94a: 6078 str r0, [r7, #4] - 800a94c: 460b mov r3, r1 - 800a94e: 70fb strb r3, [r7, #3] - /* Check the parameters */ - //assert_param(IS_RCC_AHB3_PERIPH(RCC_AHB3Periph)); - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - 800a950: 78fb ldrb r3, [r7, #3] - 800a952: 2b00 cmp r3, #0 - 800a954: d007 beq.n 800a966 - { - RCC->AHB3RSTR |= RCC_AHB3Periph; - 800a956: 490b ldr r1, [pc, #44] (800a984 ) - 800a958: 4b0a ldr r3, [pc, #40] (800a984 ) - 800a95a: 699a ldr r2, [r3, #24] - 800a95c: 687b ldr r3, [r7, #4] - 800a95e: ea42 0303 orr.w r3, r2, r3 - 800a962: 618b str r3, [r1, #24] - 800a964: e008 b.n 800a978 - } - else - { - RCC->AHB3RSTR &= ~RCC_AHB3Periph; - 800a966: 4907 ldr r1, [pc, #28] (800a984 ) - 800a968: 4b06 ldr r3, [pc, #24] (800a984 ) - 800a96a: 699a ldr r2, [r3, #24] - 800a96c: 687b ldr r3, [r7, #4] - 800a96e: ea6f 0303 mvn.w r3, r3 - 800a972: ea02 0303 and.w r3, r2, r3 - 800a976: 618b str r3, [r1, #24] - } -} - 800a978: f107 070c add.w r7, r7, #12 ; 0xc - 800a97c: 46bd mov sp, r7 - 800a97e: bc80 pop {r7} - 800a980: 4770 bx lr - 800a982: 46c0 nop (mov r8, r8) - 800a984: 40023800 .word 0x40023800 - -0800a988 : - * @param NewState: new state of the specified peripheral reset. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void RCC_APB1PeriphResetCmd(uint32_t RCC_APB1Periph, FunctionalState NewState) -{ - 800a988: b480 push {r7} - 800a98a: b083 sub sp, #12 - 800a98c: af00 add r7, sp, #0 - 800a98e: 6078 str r0, [r7, #4] - 800a990: 460b mov r3, r1 - 800a992: 70fb strb r3, [r7, #3] - /* Check the parameters */ - //assert_param(IS_RCC_APB1_PERIPH(RCC_APB1Periph)); - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - 800a994: 78fb ldrb r3, [r7, #3] - 800a996: 2b00 cmp r3, #0 - 800a998: d007 beq.n 800a9aa - { - RCC->APB1RSTR |= RCC_APB1Periph; - 800a99a: 490b ldr r1, [pc, #44] (800a9c8 ) - 800a99c: 4b0a ldr r3, [pc, #40] (800a9c8 ) - 800a99e: 6a1a ldr r2, [r3, #32] - 800a9a0: 687b ldr r3, [r7, #4] - 800a9a2: ea42 0303 orr.w r3, r2, r3 - 800a9a6: 620b str r3, [r1, #32] - 800a9a8: e008 b.n 800a9bc - } - else - { - RCC->APB1RSTR &= ~RCC_APB1Periph; - 800a9aa: 4907 ldr r1, [pc, #28] (800a9c8 ) - 800a9ac: 4b06 ldr r3, [pc, #24] (800a9c8 ) - 800a9ae: 6a1a ldr r2, [r3, #32] - 800a9b0: 687b ldr r3, [r7, #4] - 800a9b2: ea6f 0303 mvn.w r3, r3 - 800a9b6: ea02 0303 and.w r3, r2, r3 - 800a9ba: 620b str r3, [r1, #32] - } -} - 800a9bc: f107 070c add.w r7, r7, #12 ; 0xc - 800a9c0: 46bd mov sp, r7 - 800a9c2: bc80 pop {r7} - 800a9c4: 4770 bx lr - 800a9c6: 46c0 nop (mov r8, r8) - 800a9c8: 40023800 .word 0x40023800 - -0800a9cc : - * @param NewState: new state of the specified peripheral reset. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void RCC_APB2PeriphResetCmd(uint32_t RCC_APB2Periph, FunctionalState NewState) -{ - 800a9cc: b480 push {r7} - 800a9ce: b083 sub sp, #12 - 800a9d0: af00 add r7, sp, #0 - 800a9d2: 6078 str r0, [r7, #4] - 800a9d4: 460b mov r3, r1 - 800a9d6: 70fb strb r3, [r7, #3] - /* Check the parameters */ - //assert_param(IS_RCC_APB2_RESET_PERIPH(RCC_APB2Periph)); - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - 800a9d8: 78fb ldrb r3, [r7, #3] - 800a9da: 2b00 cmp r3, #0 - 800a9dc: d007 beq.n 800a9ee - { - RCC->APB2RSTR |= RCC_APB2Periph; - 800a9de: 490b ldr r1, [pc, #44] (800aa0c ) - 800a9e0: 4b0a ldr r3, [pc, #40] (800aa0c ) - 800a9e2: 6a5a ldr r2, [r3, #36] - 800a9e4: 687b ldr r3, [r7, #4] - 800a9e6: ea42 0303 orr.w r3, r2, r3 - 800a9ea: 624b str r3, [r1, #36] - 800a9ec: e008 b.n 800aa00 - } - else - { - RCC->APB2RSTR &= ~RCC_APB2Periph; - 800a9ee: 4907 ldr r1, [pc, #28] (800aa0c ) - 800a9f0: 4b06 ldr r3, [pc, #24] (800aa0c ) - 800a9f2: 6a5a ldr r2, [r3, #36] - 800a9f4: 687b ldr r3, [r7, #4] - 800a9f6: ea6f 0303 mvn.w r3, r3 - 800a9fa: ea02 0303 and.w r3, r2, r3 - 800a9fe: 624b str r3, [r1, #36] - } -} - 800aa00: f107 070c add.w r7, r7, #12 ; 0xc - 800aa04: 46bd mov sp, r7 - 800aa06: bc80 pop {r7} - 800aa08: 4770 bx lr - 800aa0a: 46c0 nop (mov r8, r8) - 800aa0c: 40023800 .word 0x40023800 - -0800aa10 : - * @param NewState: new state of the specified peripheral clock. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void RCC_AHB1PeriphClockLPModeCmd(uint32_t RCC_AHB1Periph, FunctionalState NewState) -{ - 800aa10: b480 push {r7} - 800aa12: b083 sub sp, #12 - 800aa14: af00 add r7, sp, #0 - 800aa16: 6078 str r0, [r7, #4] - 800aa18: 460b mov r3, r1 - 800aa1a: 70fb strb r3, [r7, #3] - /* Check the parameters */ - //assert_param(IS_RCC_AHB1_LPMODE_PERIPH(RCC_AHB1Periph)); - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - 800aa1c: 78fb ldrb r3, [r7, #3] - 800aa1e: 2b00 cmp r3, #0 - 800aa20: d007 beq.n 800aa32 - { - RCC->AHB1LPENR |= RCC_AHB1Periph; - 800aa22: 490b ldr r1, [pc, #44] (800aa50 ) - 800aa24: 4b0a ldr r3, [pc, #40] (800aa50 ) - 800aa26: 6d1a ldr r2, [r3, #80] - 800aa28: 687b ldr r3, [r7, #4] - 800aa2a: ea42 0303 orr.w r3, r2, r3 - 800aa2e: 650b str r3, [r1, #80] - 800aa30: e008 b.n 800aa44 - } - else - { - RCC->AHB1LPENR &= ~RCC_AHB1Periph; - 800aa32: 4907 ldr r1, [pc, #28] (800aa50 ) - 800aa34: 4b06 ldr r3, [pc, #24] (800aa50 ) - 800aa36: 6d1a ldr r2, [r3, #80] - 800aa38: 687b ldr r3, [r7, #4] - 800aa3a: ea6f 0303 mvn.w r3, r3 - 800aa3e: ea02 0303 and.w r3, r2, r3 - 800aa42: 650b str r3, [r1, #80] - } -} - 800aa44: f107 070c add.w r7, r7, #12 ; 0xc - 800aa48: 46bd mov sp, r7 - 800aa4a: bc80 pop {r7} - 800aa4c: 4770 bx lr - 800aa4e: 46c0 nop (mov r8, r8) - 800aa50: 40023800 .word 0x40023800 - -0800aa54 : - * @param NewState: new state of the specified peripheral clock. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void RCC_AHB2PeriphClockLPModeCmd(uint32_t RCC_AHB2Periph, FunctionalState NewState) -{ - 800aa54: b480 push {r7} - 800aa56: b083 sub sp, #12 - 800aa58: af00 add r7, sp, #0 - 800aa5a: 6078 str r0, [r7, #4] - 800aa5c: 460b mov r3, r1 - 800aa5e: 70fb strb r3, [r7, #3] - /* Check the parameters */ - //assert_param(IS_RCC_AHB2_PERIPH(RCC_AHB2Periph)); - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - 800aa60: 78fb ldrb r3, [r7, #3] - 800aa62: 2b00 cmp r3, #0 - 800aa64: d007 beq.n 800aa76 - { - RCC->AHB2LPENR |= RCC_AHB2Periph; - 800aa66: 490b ldr r1, [pc, #44] (800aa94 ) - 800aa68: 4b0a ldr r3, [pc, #40] (800aa94 ) - 800aa6a: 6d5a ldr r2, [r3, #84] - 800aa6c: 687b ldr r3, [r7, #4] - 800aa6e: ea42 0303 orr.w r3, r2, r3 - 800aa72: 654b str r3, [r1, #84] - 800aa74: e008 b.n 800aa88 - } - else - { - RCC->AHB2LPENR &= ~RCC_AHB2Periph; - 800aa76: 4907 ldr r1, [pc, #28] (800aa94 ) - 800aa78: 4b06 ldr r3, [pc, #24] (800aa94 ) - 800aa7a: 6d5a ldr r2, [r3, #84] - 800aa7c: 687b ldr r3, [r7, #4] - 800aa7e: ea6f 0303 mvn.w r3, r3 - 800aa82: ea02 0303 and.w r3, r2, r3 - 800aa86: 654b str r3, [r1, #84] - } -} - 800aa88: f107 070c add.w r7, r7, #12 ; 0xc - 800aa8c: 46bd mov sp, r7 - 800aa8e: bc80 pop {r7} - 800aa90: 4770 bx lr - 800aa92: 46c0 nop (mov r8, r8) - 800aa94: 40023800 .word 0x40023800 - -0800aa98 : - * @param NewState: new state of the specified peripheral clock. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void RCC_AHB3PeriphClockLPModeCmd(uint32_t RCC_AHB3Periph, FunctionalState NewState) -{ - 800aa98: b480 push {r7} - 800aa9a: b083 sub sp, #12 - 800aa9c: af00 add r7, sp, #0 - 800aa9e: 6078 str r0, [r7, #4] - 800aaa0: 460b mov r3, r1 - 800aaa2: 70fb strb r3, [r7, #3] - /* Check the parameters */ - //assert_param(IS_RCC_AHB3_PERIPH(RCC_AHB3Periph)); - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - 800aaa4: 78fb ldrb r3, [r7, #3] - 800aaa6: 2b00 cmp r3, #0 - 800aaa8: d007 beq.n 800aaba - { - RCC->AHB3LPENR |= RCC_AHB3Periph; - 800aaaa: 490b ldr r1, [pc, #44] (800aad8 ) - 800aaac: 4b0a ldr r3, [pc, #40] (800aad8 ) - 800aaae: 6d9a ldr r2, [r3, #88] - 800aab0: 687b ldr r3, [r7, #4] - 800aab2: ea42 0303 orr.w r3, r2, r3 - 800aab6: 658b str r3, [r1, #88] - 800aab8: e008 b.n 800aacc - } - else - { - RCC->AHB3LPENR &= ~RCC_AHB3Periph; - 800aaba: 4907 ldr r1, [pc, #28] (800aad8 ) - 800aabc: 4b06 ldr r3, [pc, #24] (800aad8 ) - 800aabe: 6d9a ldr r2, [r3, #88] - 800aac0: 687b ldr r3, [r7, #4] - 800aac2: ea6f 0303 mvn.w r3, r3 - 800aac6: ea02 0303 and.w r3, r2, r3 - 800aaca: 658b str r3, [r1, #88] - } -} - 800aacc: f107 070c add.w r7, r7, #12 ; 0xc - 800aad0: 46bd mov sp, r7 - 800aad2: bc80 pop {r7} - 800aad4: 4770 bx lr - 800aad6: 46c0 nop (mov r8, r8) - 800aad8: 40023800 .word 0x40023800 - -0800aadc : - * @param NewState: new state of the specified peripheral clock. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void RCC_APB1PeriphClockLPModeCmd(uint32_t RCC_APB1Periph, FunctionalState NewState) -{ - 800aadc: b480 push {r7} - 800aade: b083 sub sp, #12 - 800aae0: af00 add r7, sp, #0 - 800aae2: 6078 str r0, [r7, #4] - 800aae4: 460b mov r3, r1 - 800aae6: 70fb strb r3, [r7, #3] - /* Check the parameters */ - //assert_param(IS_RCC_APB1_PERIPH(RCC_APB1Periph)); - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - 800aae8: 78fb ldrb r3, [r7, #3] - 800aaea: 2b00 cmp r3, #0 - 800aaec: d007 beq.n 800aafe - { - RCC->APB1LPENR |= RCC_APB1Periph; - 800aaee: 490b ldr r1, [pc, #44] (800ab1c ) - 800aaf0: 4b0a ldr r3, [pc, #40] (800ab1c ) - 800aaf2: 6e1a ldr r2, [r3, #96] - 800aaf4: 687b ldr r3, [r7, #4] - 800aaf6: ea42 0303 orr.w r3, r2, r3 - 800aafa: 660b str r3, [r1, #96] - 800aafc: e008 b.n 800ab10 - } - else - { - RCC->APB1LPENR &= ~RCC_APB1Periph; - 800aafe: 4907 ldr r1, [pc, #28] (800ab1c ) - 800ab00: 4b06 ldr r3, [pc, #24] (800ab1c ) - 800ab02: 6e1a ldr r2, [r3, #96] - 800ab04: 687b ldr r3, [r7, #4] - 800ab06: ea6f 0303 mvn.w r3, r3 - 800ab0a: ea02 0303 and.w r3, r2, r3 - 800ab0e: 660b str r3, [r1, #96] - } -} - 800ab10: f107 070c add.w r7, r7, #12 ; 0xc - 800ab14: 46bd mov sp, r7 - 800ab16: bc80 pop {r7} - 800ab18: 4770 bx lr - 800ab1a: 46c0 nop (mov r8, r8) - 800ab1c: 40023800 .word 0x40023800 - -0800ab20 : - * @param NewState: new state of the specified peripheral clock. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void RCC_APB2PeriphClockLPModeCmd(uint32_t RCC_APB2Periph, FunctionalState NewState) -{ - 800ab20: b480 push {r7} - 800ab22: b083 sub sp, #12 - 800ab24: af00 add r7, sp, #0 - 800ab26: 6078 str r0, [r7, #4] - 800ab28: 460b mov r3, r1 - 800ab2a: 70fb strb r3, [r7, #3] - /* Check the parameters */ - //assert_param(IS_RCC_APB2_PERIPH(RCC_APB2Periph)); - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - 800ab2c: 78fb ldrb r3, [r7, #3] - 800ab2e: 2b00 cmp r3, #0 - 800ab30: d007 beq.n 800ab42 - { - RCC->APB2LPENR |= RCC_APB2Periph; - 800ab32: 490b ldr r1, [pc, #44] (800ab60 ) - 800ab34: 4b0a ldr r3, [pc, #40] (800ab60 ) - 800ab36: 6e5a ldr r2, [r3, #100] - 800ab38: 687b ldr r3, [r7, #4] - 800ab3a: ea42 0303 orr.w r3, r2, r3 - 800ab3e: 664b str r3, [r1, #100] - 800ab40: e008 b.n 800ab54 - } - else - { - RCC->APB2LPENR &= ~RCC_APB2Periph; - 800ab42: 4907 ldr r1, [pc, #28] (800ab60 ) - 800ab44: 4b06 ldr r3, [pc, #24] (800ab60 ) - 800ab46: 6e5a ldr r2, [r3, #100] - 800ab48: 687b ldr r3, [r7, #4] - 800ab4a: ea6f 0303 mvn.w r3, r3 - 800ab4e: ea02 0303 and.w r3, r2, r3 - 800ab52: 664b str r3, [r1, #100] - } -} - 800ab54: f107 070c add.w r7, r7, #12 ; 0xc - 800ab58: 46bd mov sp, r7 - 800ab5a: bc80 pop {r7} - 800ab5c: 4770 bx lr - 800ab5e: 46c0 nop (mov r8, r8) - 800ab60: 40023800 .word 0x40023800 - -0800ab64 : - * @param NewState: new state of the specified RCC interrupts. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void RCC_ITConfig(uint8_t RCC_IT, FunctionalState NewState) -{ - 800ab64: b480 push {r7} - 800ab66: b083 sub sp, #12 - 800ab68: af00 add r7, sp, #0 - 800ab6a: 4603 mov r3, r0 - 800ab6c: 460a mov r2, r1 - 800ab6e: 71fb strb r3, [r7, #7] - 800ab70: 4613 mov r3, r2 - 800ab72: 71bb strb r3, [r7, #6] - /* Check the parameters */ - //assert_param(IS_RCC_IT(RCC_IT)); - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - 800ab74: 79bb ldrb r3, [r7, #6] - 800ab76: 2b00 cmp r3, #0 - 800ab78: d009 beq.n 800ab8e - { - /* Perform Byte access to RCC_CIR[14:8] bits to enable the selected interrupts */ - *(__IO uint8_t *) CIR_BYTE2_ADDRESS |= RCC_IT; - 800ab7a: 490d ldr r1, [pc, #52] (800abb0 ) - 800ab7c: 4b0c ldr r3, [pc, #48] (800abb0 ) - 800ab7e: 781b ldrb r3, [r3, #0] - 800ab80: b2da uxtb r2, r3 - 800ab82: 79fb ldrb r3, [r7, #7] - 800ab84: ea42 0303 orr.w r3, r2, r3 - 800ab88: b2db uxtb r3, r3 - 800ab8a: 700b strb r3, [r1, #0] - 800ab8c: e00b b.n 800aba6 - } - else - { - /* Perform Byte access to RCC_CIR[14:8] bits to disable the selected interrupts */ - *(__IO uint8_t *) CIR_BYTE2_ADDRESS &= (uint8_t)~RCC_IT; - 800ab8e: 4908 ldr r1, [pc, #32] (800abb0 ) - 800ab90: 4b07 ldr r3, [pc, #28] (800abb0 ) - 800ab92: 781b ldrb r3, [r3, #0] - 800ab94: b2da uxtb r2, r3 - 800ab96: 79fb ldrb r3, [r7, #7] - 800ab98: ea6f 0303 mvn.w r3, r3 - 800ab9c: b2db uxtb r3, r3 - 800ab9e: ea02 0303 and.w r3, r2, r3 - 800aba2: b2db uxtb r3, r3 - 800aba4: 700b strb r3, [r1, #0] - } -} - 800aba6: f107 070c add.w r7, r7, #12 ; 0xc - 800abaa: 46bd mov sp, r7 - 800abac: bc80 pop {r7} - 800abae: 4770 bx lr - 800abb0: 4002380d .word 0x4002380d - -0800abb4 : - * @arg RCC_FLAG_WWDGRST: Window Watchdog reset - * @arg RCC_FLAG_LPWRRST: Low Power reset - * @retval The new state of RCC_FLAG (SET or RESET). - */ -FlagStatus RCC_GetFlagStatus(uint8_t RCC_FLAG) -{ - 800abb4: b480 push {r7} - 800abb6: b087 sub sp, #28 - 800abb8: af00 add r7, sp, #0 - 800abba: 4603 mov r3, r0 - 800abbc: 71fb strb r3, [r7, #7] - uint32_t tmp = 0; - 800abbe: f04f 0300 mov.w r3, #0 ; 0x0 - 800abc2: 60fb str r3, [r7, #12] - uint32_t statusreg = 0; - 800abc4: f04f 0300 mov.w r3, #0 ; 0x0 - 800abc8: 613b str r3, [r7, #16] - FlagStatus bitstatus = RESET; - 800abca: f04f 0300 mov.w r3, #0 ; 0x0 - 800abce: 75fb strb r3, [r7, #23] - - /* Check the parameters */ - //assert_param(IS_RCC_FLAG(RCC_FLAG)); - - /* Get the RCC register index */ - tmp = RCC_FLAG >> 5; - 800abd0: 79fb ldrb r3, [r7, #7] - 800abd2: ea4f 1353 mov.w r3, r3, lsr #5 - 800abd6: b2db uxtb r3, r3 - 800abd8: 60fb str r3, [r7, #12] - if (tmp == 1) /* The flag to check is in CR register */ - 800abda: 68fb ldr r3, [r7, #12] - 800abdc: 2b01 cmp r3, #1 - 800abde: d103 bne.n 800abe8 - { - statusreg = RCC->CR; - 800abe0: 4b14 ldr r3, [pc, #80] (800ac34 ) - 800abe2: 681b ldr r3, [r3, #0] - 800abe4: 613b str r3, [r7, #16] - 800abe6: e009 b.n 800abfc - } - else if (tmp == 2) /* The flag to check is in BDCR register */ - 800abe8: 68fb ldr r3, [r7, #12] - 800abea: 2b02 cmp r3, #2 - 800abec: d103 bne.n 800abf6 - { - statusreg = RCC->BDCR; - 800abee: 4b11 ldr r3, [pc, #68] (800ac34 ) - 800abf0: 6f1b ldr r3, [r3, #112] - 800abf2: 613b str r3, [r7, #16] - 800abf4: e002 b.n 800abfc - } - else /* The flag to check is in CSR register */ - { - statusreg = RCC->CSR; - 800abf6: 4b0f ldr r3, [pc, #60] (800ac34 ) - 800abf8: 6f5b ldr r3, [r3, #116] - 800abfa: 613b str r3, [r7, #16] - } - - /* Get the flag position */ - tmp = RCC_FLAG & FLAG_MASK; - 800abfc: 79fb ldrb r3, [r7, #7] - 800abfe: f003 031f and.w r3, r3, #31 ; 0x1f - 800ac02: 60fb str r3, [r7, #12] - if ((statusreg & ((uint32_t)1 << tmp)) != (uint32_t)RESET) - 800ac04: 68fa ldr r2, [r7, #12] - 800ac06: 693b ldr r3, [r7, #16] - 800ac08: fa23 f302 lsr.w r3, r3, r2 - 800ac0c: f003 0301 and.w r3, r3, #1 ; 0x1 - 800ac10: b2db uxtb r3, r3 - 800ac12: 2b00 cmp r3, #0 - 800ac14: d003 beq.n 800ac1e - { - bitstatus = SET; - 800ac16: f04f 0301 mov.w r3, #1 ; 0x1 - 800ac1a: 75fb strb r3, [r7, #23] - 800ac1c: e002 b.n 800ac24 - } - else - { - bitstatus = RESET; - 800ac1e: f04f 0300 mov.w r3, #0 ; 0x0 - 800ac22: 75fb strb r3, [r7, #23] - } - /* Return the flag status */ - return bitstatus; - 800ac24: 7dfb ldrb r3, [r7, #23] -} - 800ac26: 4618 mov r0, r3 - 800ac28: f107 071c add.w r7, r7, #28 ; 0x1c - 800ac2c: 46bd mov sp, r7 - 800ac2e: bc80 pop {r7} - 800ac30: 4770 bx lr - 800ac32: 46c0 nop (mov r8, r8) - 800ac34: 40023800 .word 0x40023800 - -0800ac38 : - * RCC_FLAG_IWDGRST, RCC_FLAG_WWDGRST, RCC_FLAG_LPWRRST - * @param None - * @retval None - */ -void RCC_ClearFlag(void) -{ - 800ac38: b480 push {r7} - 800ac3a: af00 add r7, sp, #0 - /* Set RMVF bit to clear the reset flags */ - RCC->CSR |= RCC_CSR_RMVF; - 800ac3c: 4a04 ldr r2, [pc, #16] (800ac50 ) - 800ac3e: 4b04 ldr r3, [pc, #16] (800ac50 ) - 800ac40: 6f5b ldr r3, [r3, #116] - 800ac42: f043 7380 orr.w r3, r3, #16777216 ; 0x1000000 - 800ac46: 6753 str r3, [r2, #116] -} - 800ac48: 46bd mov sp, r7 - 800ac4a: bc80 pop {r7} - 800ac4c: 4770 bx lr - 800ac4e: 46c0 nop (mov r8, r8) - 800ac50: 40023800 .word 0x40023800 - -0800ac54 : - * @arg RCC_IT_PLLSAIRDY: PLLSAI clock ready interrupt (only for STM32F42xxx/43xxx devices) - * @arg RCC_IT_CSS: Clock Security System interrupt - * @retval The new state of RCC_IT (SET or RESET). - */ -ITStatus RCC_GetITStatus(uint8_t RCC_IT) -{ - 800ac54: b480 push {r7} - 800ac56: b085 sub sp, #20 - 800ac58: af00 add r7, sp, #0 - 800ac5a: 4603 mov r3, r0 - 800ac5c: 71fb strb r3, [r7, #7] - ITStatus bitstatus = RESET; - 800ac5e: f04f 0300 mov.w r3, #0 ; 0x0 - 800ac62: 73fb strb r3, [r7, #15] - - /* Check the parameters */ - //assert_param(IS_RCC_GET_IT(RCC_IT)); - - /* Check the status of the specified RCC interrupt */ - if ((RCC->CIR & RCC_IT) != (uint32_t)RESET) - 800ac64: 4b0a ldr r3, [pc, #40] (800ac90 ) - 800ac66: 68da ldr r2, [r3, #12] - 800ac68: 79fb ldrb r3, [r7, #7] - 800ac6a: ea02 0303 and.w r3, r2, r3 - 800ac6e: 2b00 cmp r3, #0 - 800ac70: d003 beq.n 800ac7a - { - bitstatus = SET; - 800ac72: f04f 0301 mov.w r3, #1 ; 0x1 - 800ac76: 73fb strb r3, [r7, #15] - 800ac78: e002 b.n 800ac80 - } - else - { - bitstatus = RESET; - 800ac7a: f04f 0300 mov.w r3, #0 ; 0x0 - 800ac7e: 73fb strb r3, [r7, #15] - } - /* Return the RCC_IT status */ - return bitstatus; - 800ac80: 7bfb ldrb r3, [r7, #15] -} - 800ac82: 4618 mov r0, r3 - 800ac84: f107 0714 add.w r7, r7, #20 ; 0x14 - 800ac88: 46bd mov sp, r7 - 800ac8a: bc80 pop {r7} - 800ac8c: 4770 bx lr - 800ac8e: 46c0 nop (mov r8, r8) - 800ac90: 40023800 .word 0x40023800 - -0800ac94 : - * @arg RCC_IT_PLLSAIRDY: PLLSAI ready interrupt (only for STM32F42xxx/43xxx devices) - * @arg RCC_IT_CSS: Clock Security System interrupt - * @retval None - */ -void RCC_ClearITPendingBit(uint8_t RCC_IT) -{ - 800ac94: b480 push {r7} - 800ac96: b083 sub sp, #12 - 800ac98: af00 add r7, sp, #0 - 800ac9a: 4603 mov r3, r0 - 800ac9c: 71fb strb r3, [r7, #7] - /* Check the parameters */ - //assert_param(IS_RCC_CLEAR_IT(RCC_IT)); - - /* Perform Byte access to RCC_CIR[23:16] bits to clear the selected interrupt - pending bits */ - *(__IO uint8_t *) CIR_BYTE3_ADDRESS = RCC_IT; - 800ac9e: 4a04 ldr r2, [pc, #16] (800acb0 ) - 800aca0: 79fb ldrb r3, [r7, #7] - 800aca2: 7013 strb r3, [r2, #0] -} - 800aca4: f107 070c add.w r7, r7, #12 ; 0xc - 800aca8: 46bd mov sp, r7 - 800acaa: bc80 pop {r7} - 800acac: 4770 bx lr - 800acae: 46c0 nop (mov r8, r8) - 800acb0: 4002380e .word 0x4002380e - -0800acb4 : - * registers to their default reset values. - * @param None - * @retval None - */ -void SYSCFG_DeInit(void) -{ - 800acb4: b580 push {r7, lr} - 800acb6: af00 add r7, sp, #0 - RCC_APB2PeriphResetCmd(RCC_APB2Periph_SYSCFG, ENABLE); - 800acb8: f44f 4080 mov.w r0, #16384 ; 0x4000 - 800acbc: f04f 0101 mov.w r1, #1 ; 0x1 - 800acc0: f7ff fe84 bl 800a9cc - RCC_APB2PeriphResetCmd(RCC_APB2Periph_SYSCFG, DISABLE); - 800acc4: f44f 4080 mov.w r0, #16384 ; 0x4000 - 800acc8: f04f 0100 mov.w r1, #0 ; 0x0 - 800accc: f7ff fe7e bl 800a9cc -} - 800acd0: 46bd mov sp, r7 - 800acd2: bd80 pop {r7, pc} - -0800acd4 : - * @arg SYSCFG_MemoryRemap_SRAM: Embedded SRAM (112kB) mapped at 0x00000000 - * @arg SYSCFG_MemoryRemap_SDRAM: FMC (External SDRAM) mapped at 0x00000000 for STM32F42xxx/43xxx devices. - * @retval None - */ -void SYSCFG_MemoryRemapConfig(uint8_t SYSCFG_MemoryRemap) -{ - 800acd4: b480 push {r7} - 800acd6: b083 sub sp, #12 - 800acd8: af00 add r7, sp, #0 - 800acda: 4603 mov r3, r0 - 800acdc: 71fb strb r3, [r7, #7] - /* Check the parameters */ - //assert_param(IS_SYSCFG_MEMORY_REMAP_CONFING(SYSCFG_MemoryRemap)); - - SYSCFG->MEMRMP = SYSCFG_MemoryRemap; - 800acde: 4a04 ldr r2, [pc, #16] (800acf0 ) - 800ace0: 79fb ldrb r3, [r7, #7] - 800ace2: 6013 str r3, [r2, #0] -} - 800ace4: f107 070c add.w r7, r7, #12 ; 0xc - 800ace8: 46bd mov sp, r7 - 800acea: bc80 pop {r7} - 800acec: 4770 bx lr - 800acee: 46c0 nop (mov r8, r8) - 800acf0: 40013800 .word 0x40013800 - -0800acf4 : - * @arg DISABLE:(the default state) Flash Bank1 mapped at 0x08000000 (and aliased @0x0000 0000) - and Flash Bank2 mapped at 0x08100000 (and aliased at 0x00100000) - * @retval None - */ -void SYSCFG_MemorySwappingBank(FunctionalState NewState) -{ - 800acf4: b480 push {r7} - 800acf6: b083 sub sp, #12 - 800acf8: af00 add r7, sp, #0 - 800acfa: 4603 mov r3, r0 - 800acfc: 71fb strb r3, [r7, #7] - /* Check the parameters */ - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - - *(__IO uint32_t *) UFB_MODE_BB = (uint32_t)NewState; - 800acfe: 4a04 ldr r2, [pc, #16] (800ad10 ) - 800ad00: 79fb ldrb r3, [r7, #7] - 800ad02: 6013 str r3, [r2, #0] -} - 800ad04: f107 070c add.w r7, r7, #12 ; 0xc - 800ad08: 46bd mov sp, r7 - 800ad0a: bc80 pop {r7} - 800ad0c: 4770 bx lr - 800ad0e: 46c0 nop (mov r8, r8) - 800ad10: 42270020 .word 0x42270020 - -0800ad14 : - * be (0..7) for STM32F42xxx/43xxx devices. - * - * @retval None - */ -void SYSCFG_EXTILineConfig(uint8_t EXTI_PortSourceGPIOx, uint8_t EXTI_PinSourcex) -{ - 800ad14: b480 push {r7} - 800ad16: b085 sub sp, #20 - 800ad18: af00 add r7, sp, #0 - 800ad1a: 4603 mov r3, r0 - 800ad1c: 460a mov r2, r1 - 800ad1e: 71fb strb r3, [r7, #7] - 800ad20: 4613 mov r3, r2 - 800ad22: 71bb strb r3, [r7, #6] - uint32_t tmp = 0x00; - 800ad24: f04f 0300 mov.w r3, #0 ; 0x0 - 800ad28: 60fb str r3, [r7, #12] - - /* Check the parameters */ - //assert_param(IS_EXTI_PORT_SOURCE(EXTI_PortSourceGPIOx)); - //assert_param(IS_EXTI_PIN_SOURCE(EXTI_PinSourcex)); - - tmp = ((uint32_t)0x0F) << (0x04 * (EXTI_PinSourcex & (uint8_t)0x03)); - 800ad2a: 79bb ldrb r3, [r7, #6] - 800ad2c: f003 0303 and.w r3, r3, #3 ; 0x3 - 800ad30: ea4f 0283 mov.w r2, r3, lsl #2 - 800ad34: f04f 030f mov.w r3, #15 ; 0xf - 800ad38: fa03 f302 lsl.w r3, r3, r2 - 800ad3c: 60fb str r3, [r7, #12] - SYSCFG->EXTICR[EXTI_PinSourcex >> 0x02] &= ~tmp; - 800ad3e: 491d ldr r1, [pc, #116] (800adb4 ) - 800ad40: 79bb ldrb r3, [r7, #6] - 800ad42: ea4f 0393 mov.w r3, r3, lsr #2 - 800ad46: b2db uxtb r3, r3 - 800ad48: 4618 mov r0, r3 - 800ad4a: 4a1a ldr r2, [pc, #104] (800adb4 ) - 800ad4c: 79bb ldrb r3, [r7, #6] - 800ad4e: ea4f 0393 mov.w r3, r3, lsr #2 - 800ad52: b2db uxtb r3, r3 - 800ad54: f103 0302 add.w r3, r3, #2 ; 0x2 - 800ad58: f852 2023 ldr.w r2, [r2, r3, lsl #2] - 800ad5c: 68fb ldr r3, [r7, #12] - 800ad5e: ea6f 0303 mvn.w r3, r3 - 800ad62: ea02 0203 and.w r2, r2, r3 - 800ad66: f100 0302 add.w r3, r0, #2 ; 0x2 - 800ad6a: f841 2023 str.w r2, [r1, r3, lsl #2] - SYSCFG->EXTICR[EXTI_PinSourcex >> 0x02] |= (((uint32_t)EXTI_PortSourceGPIOx) << (0x04 * (EXTI_PinSourcex & (uint8_t)0x03))); - 800ad6e: 4811 ldr r0, [pc, #68] (800adb4 ) - 800ad70: 79bb ldrb r3, [r7, #6] - 800ad72: ea4f 0393 mov.w r3, r3, lsr #2 - 800ad76: b2db uxtb r3, r3 - 800ad78: 469c mov ip, r3 - 800ad7a: 4a0e ldr r2, [pc, #56] (800adb4 ) - 800ad7c: 79bb ldrb r3, [r7, #6] - 800ad7e: ea4f 0393 mov.w r3, r3, lsr #2 - 800ad82: b2db uxtb r3, r3 - 800ad84: f103 0302 add.w r3, r3, #2 ; 0x2 - 800ad88: f852 1023 ldr.w r1, [r2, r3, lsl #2] - 800ad8c: 79fa ldrb r2, [r7, #7] - 800ad8e: 79bb ldrb r3, [r7, #6] - 800ad90: f003 0303 and.w r3, r3, #3 ; 0x3 - 800ad94: ea4f 0383 mov.w r3, r3, lsl #2 - 800ad98: fa02 f303 lsl.w r3, r2, r3 - 800ad9c: ea41 0203 orr.w r2, r1, r3 - 800ada0: f10c 0302 add.w r3, ip, #2 ; 0x2 - 800ada4: f840 2023 str.w r2, [r0, r3, lsl #2] -} - 800ada8: f107 0714 add.w r7, r7, #20 ; 0x14 - 800adac: 46bd mov sp, r7 - 800adae: bc80 pop {r7} - 800adb0: 4770 bx lr - 800adb2: 46c0 nop (mov r8, r8) - 800adb4: 40013800 .word 0x40013800 - -0800adb8 : - * @arg SYSCFG_ETH_MediaInterface_MII: MII mode selected - * @arg SYSCFG_ETH_MediaInterface_RMII: RMII mode selected - * @retval None - */ -void SYSCFG_ETH_MediaInterfaceConfig(uint32_t SYSCFG_ETH_MediaInterface) -{ - 800adb8: b480 push {r7} - 800adba: b083 sub sp, #12 - 800adbc: af00 add r7, sp, #0 - 800adbe: 6078 str r0, [r7, #4] - //assert_param(IS_SYSCFG_ETH_MEDIA_INTERFACE(SYSCFG_ETH_MediaInterface)); - /* Configure MII_RMII selection bit */ - *(__IO uint32_t *) PMC_MII_RMII_SEL_BB = SYSCFG_ETH_MediaInterface; - 800adc0: 4a03 ldr r2, [pc, #12] (800add0 ) - 800adc2: 687b ldr r3, [r7, #4] - 800adc4: 6013 str r3, [r2, #0] -} - 800adc6: f107 070c add.w r7, r7, #12 ; 0xc - 800adca: 46bd mov sp, r7 - 800adcc: bc80 pop {r7} - 800adce: 4770 bx lr - 800add0: 422700dc .word 0x422700dc - -0800add4 : - * @arg ENABLE: I/O compensation cell enabled - * @arg DISABLE: I/O compensation cell power-down mode - * @retval None - */ -void SYSCFG_CompensationCellCmd(FunctionalState NewState) -{ - 800add4: b480 push {r7} - 800add6: b083 sub sp, #12 - 800add8: af00 add r7, sp, #0 - 800adda: 4603 mov r3, r0 - 800addc: 71fb strb r3, [r7, #7] - /* Check the parameters */ - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - - *(__IO uint32_t *) CMPCR_CMP_PD_BB = (uint32_t)NewState; - 800adde: 4a04 ldr r2, [pc, #16] (800adf0 ) - 800ade0: 79fb ldrb r3, [r7, #7] - 800ade2: 6013 str r3, [r2, #0] -} - 800ade4: f107 070c add.w r7, r7, #12 ; 0xc - 800ade8: 46bd mov sp, r7 - 800adea: bc80 pop {r7} - 800adec: 4770 bx lr - 800adee: 46c0 nop (mov r8, r8) - 800adf0: 42270400 .word 0x42270400 - -0800adf4 : - * @brief Checks whether the I/O Compensation Cell ready flag is set or not. - * @param None - * @retval The new state of the I/O Compensation Cell ready flag (SET or RESET) - */ -FlagStatus SYSCFG_GetCompensationCellStatus(void) -{ - 800adf4: b480 push {r7} - 800adf6: b083 sub sp, #12 - 800adf8: af00 add r7, sp, #0 - FlagStatus bitstatus = RESET; - 800adfa: f04f 0300 mov.w r3, #0 ; 0x0 - 800adfe: 71fb strb r3, [r7, #7] - - if ((SYSCFG->CMPCR & SYSCFG_CMPCR_READY ) != (uint32_t)RESET) - 800ae00: 4b09 ldr r3, [pc, #36] (800ae28 ) - 800ae02: 6a1b ldr r3, [r3, #32] - 800ae04: f403 7380 and.w r3, r3, #256 ; 0x100 - 800ae08: 2b00 cmp r3, #0 - 800ae0a: d003 beq.n 800ae14 - { - bitstatus = SET; - 800ae0c: f04f 0301 mov.w r3, #1 ; 0x1 - 800ae10: 71fb strb r3, [r7, #7] - 800ae12: e002 b.n 800ae1a - } - else - { - bitstatus = RESET; - 800ae14: f04f 0300 mov.w r3, #0 ; 0x0 - 800ae18: 71fb strb r3, [r7, #7] - } - return bitstatus; - 800ae1a: 79fb ldrb r3, [r7, #7] -} - 800ae1c: 4618 mov r0, r3 - 800ae1e: f107 070c add.w r7, r7, #12 ; 0xc - 800ae22: 46bd mov sp, r7 - 800ae24: bc80 pop {r7} - 800ae26: 4770 bx lr - 800ae28: 40013800 .word 0x40013800 - -0800ae2c : - * @param TIMx: where x can be 1 to 14 to select the TIM peripheral. - * @retval None - - */ -void TIM_DeInit(TIM_TypeDef* TIMx) -{ - 800ae2c: b580 push {r7, lr} - 800ae2e: b082 sub sp, #8 - 800ae30: af00 add r7, sp, #0 - 800ae32: 6078 str r0, [r7, #4] - /* Check the parameters */ - //assert_param(IS_TIM_ALL_PERIPH(TIMx)); - - if (TIMx == TIM1) - 800ae34: 687a ldr r2, [r7, #4] - 800ae36: 4b78 ldr r3, [pc, #480] (800b018 ) - 800ae38: 429a cmp r2, r3 - 800ae3a: d10c bne.n 800ae56 - { - RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM1, ENABLE); - 800ae3c: f04f 0001 mov.w r0, #1 ; 0x1 - 800ae40: f04f 0101 mov.w r1, #1 ; 0x1 - 800ae44: f7ff fdc2 bl 800a9cc - RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM1, DISABLE); - 800ae48: f04f 0001 mov.w r0, #1 ; 0x1 - 800ae4c: f04f 0100 mov.w r1, #0 ; 0x0 - 800ae50: f7ff fdbc bl 800a9cc - 800ae54: e0db b.n 800b00e - } - else if (TIMx == TIM2) - 800ae56: 687b ldr r3, [r7, #4] - 800ae58: f1b3 4f80 cmp.w r3, #1073741824 ; 0x40000000 - 800ae5c: d10c bne.n 800ae78 - { - RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM2, ENABLE); - 800ae5e: f04f 0001 mov.w r0, #1 ; 0x1 - 800ae62: f04f 0101 mov.w r1, #1 ; 0x1 - 800ae66: f7ff fd8f bl 800a988 - RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM2, DISABLE); - 800ae6a: f04f 0001 mov.w r0, #1 ; 0x1 - 800ae6e: f04f 0100 mov.w r1, #0 ; 0x0 - 800ae72: f7ff fd89 bl 800a988 - 800ae76: e0ca b.n 800b00e - } - else if (TIMx == TIM3) - 800ae78: 687a ldr r2, [r7, #4] - 800ae7a: 4b68 ldr r3, [pc, #416] (800b01c ) - 800ae7c: 429a cmp r2, r3 - 800ae7e: d10c bne.n 800ae9a - { - RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM3, ENABLE); - 800ae80: f04f 0002 mov.w r0, #2 ; 0x2 - 800ae84: f04f 0101 mov.w r1, #1 ; 0x1 - 800ae88: f7ff fd7e bl 800a988 - RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM3, DISABLE); - 800ae8c: f04f 0002 mov.w r0, #2 ; 0x2 - 800ae90: f04f 0100 mov.w r1, #0 ; 0x0 - 800ae94: f7ff fd78 bl 800a988 - 800ae98: e0b9 b.n 800b00e - } - else if (TIMx == TIM4) - 800ae9a: 687a ldr r2, [r7, #4] - 800ae9c: 4b60 ldr r3, [pc, #384] (800b020 ) - 800ae9e: 429a cmp r2, r3 - 800aea0: d10c bne.n 800aebc - { - RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM4, ENABLE); - 800aea2: f04f 0004 mov.w r0, #4 ; 0x4 - 800aea6: f04f 0101 mov.w r1, #1 ; 0x1 - 800aeaa: f7ff fd6d bl 800a988 - RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM4, DISABLE); - 800aeae: f04f 0004 mov.w r0, #4 ; 0x4 - 800aeb2: f04f 0100 mov.w r1, #0 ; 0x0 - 800aeb6: f7ff fd67 bl 800a988 - 800aeba: e0a8 b.n 800b00e - } - else if (TIMx == TIM5) - 800aebc: 687a ldr r2, [r7, #4] - 800aebe: 4b59 ldr r3, [pc, #356] (800b024 ) - 800aec0: 429a cmp r2, r3 - 800aec2: d10c bne.n 800aede - { - RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM5, ENABLE); - 800aec4: f04f 0008 mov.w r0, #8 ; 0x8 - 800aec8: f04f 0101 mov.w r1, #1 ; 0x1 - 800aecc: f7ff fd5c bl 800a988 - RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM5, DISABLE); - 800aed0: f04f 0008 mov.w r0, #8 ; 0x8 - 800aed4: f04f 0100 mov.w r1, #0 ; 0x0 - 800aed8: f7ff fd56 bl 800a988 - 800aedc: e097 b.n 800b00e - } - else if (TIMx == TIM6) - 800aede: 687a ldr r2, [r7, #4] - 800aee0: 4b51 ldr r3, [pc, #324] (800b028 ) - 800aee2: 429a cmp r2, r3 - 800aee4: d10c bne.n 800af00 - { - RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM6, ENABLE); - 800aee6: f04f 0010 mov.w r0, #16 ; 0x10 - 800aeea: f04f 0101 mov.w r1, #1 ; 0x1 - 800aeee: f7ff fd4b bl 800a988 - RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM6, DISABLE); - 800aef2: f04f 0010 mov.w r0, #16 ; 0x10 - 800aef6: f04f 0100 mov.w r1, #0 ; 0x0 - 800aefa: f7ff fd45 bl 800a988 - 800aefe: e086 b.n 800b00e - } - else if (TIMx == TIM7) - 800af00: 687a ldr r2, [r7, #4] - 800af02: 4b4a ldr r3, [pc, #296] (800b02c ) - 800af04: 429a cmp r2, r3 - 800af06: d10c bne.n 800af22 - { - RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM7, ENABLE); - 800af08: f04f 0020 mov.w r0, #32 ; 0x20 - 800af0c: f04f 0101 mov.w r1, #1 ; 0x1 - 800af10: f7ff fd3a bl 800a988 - RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM7, DISABLE); - 800af14: f04f 0020 mov.w r0, #32 ; 0x20 - 800af18: f04f 0100 mov.w r1, #0 ; 0x0 - 800af1c: f7ff fd34 bl 800a988 - 800af20: e075 b.n 800b00e - } - else if (TIMx == TIM8) - 800af22: 687a ldr r2, [r7, #4] - 800af24: 4b42 ldr r3, [pc, #264] (800b030 ) - 800af26: 429a cmp r2, r3 - 800af28: d10c bne.n 800af44 - { - RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM8, ENABLE); - 800af2a: f04f 0002 mov.w r0, #2 ; 0x2 - 800af2e: f04f 0101 mov.w r1, #1 ; 0x1 - 800af32: f7ff fd4b bl 800a9cc - RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM8, DISABLE); - 800af36: f04f 0002 mov.w r0, #2 ; 0x2 - 800af3a: f04f 0100 mov.w r1, #0 ; 0x0 - 800af3e: f7ff fd45 bl 800a9cc - 800af42: e064 b.n 800b00e - } - else if (TIMx == TIM9) - 800af44: 687a ldr r2, [r7, #4] - 800af46: 4b3b ldr r3, [pc, #236] (800b034 ) - 800af48: 429a cmp r2, r3 - 800af4a: d10c bne.n 800af66 - { - RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM9, ENABLE); - 800af4c: f44f 3080 mov.w r0, #65536 ; 0x10000 - 800af50: f04f 0101 mov.w r1, #1 ; 0x1 - 800af54: f7ff fd3a bl 800a9cc - RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM9, DISABLE); - 800af58: f44f 3080 mov.w r0, #65536 ; 0x10000 - 800af5c: f04f 0100 mov.w r1, #0 ; 0x0 - 800af60: f7ff fd34 bl 800a9cc - 800af64: e053 b.n 800b00e - } - else if (TIMx == TIM10) - 800af66: 687a ldr r2, [r7, #4] - 800af68: 4b33 ldr r3, [pc, #204] (800b038 ) - 800af6a: 429a cmp r2, r3 - 800af6c: d10c bne.n 800af88 - { - RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM10, ENABLE); - 800af6e: f44f 3000 mov.w r0, #131072 ; 0x20000 - 800af72: f04f 0101 mov.w r1, #1 ; 0x1 - 800af76: f7ff fd29 bl 800a9cc - RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM10, DISABLE); - 800af7a: f44f 3000 mov.w r0, #131072 ; 0x20000 - 800af7e: f04f 0100 mov.w r1, #0 ; 0x0 - 800af82: f7ff fd23 bl 800a9cc - 800af86: e042 b.n 800b00e - } - else if (TIMx == TIM11) - 800af88: 687a ldr r2, [r7, #4] - 800af8a: 4b2c ldr r3, [pc, #176] (800b03c ) - 800af8c: 429a cmp r2, r3 - 800af8e: d10c bne.n 800afaa - { - RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM11, ENABLE); - 800af90: f44f 2080 mov.w r0, #262144 ; 0x40000 - 800af94: f04f 0101 mov.w r1, #1 ; 0x1 - 800af98: f7ff fd18 bl 800a9cc - RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM11, DISABLE); - 800af9c: f44f 2080 mov.w r0, #262144 ; 0x40000 - 800afa0: f04f 0100 mov.w r1, #0 ; 0x0 - 800afa4: f7ff fd12 bl 800a9cc - 800afa8: e031 b.n 800b00e - } - else if (TIMx == TIM12) - 800afaa: 687a ldr r2, [r7, #4] - 800afac: 4b24 ldr r3, [pc, #144] (800b040 ) - 800afae: 429a cmp r2, r3 - 800afb0: d10c bne.n 800afcc - { - RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM12, ENABLE); - 800afb2: f04f 0040 mov.w r0, #64 ; 0x40 - 800afb6: f04f 0101 mov.w r1, #1 ; 0x1 - 800afba: f7ff fce5 bl 800a988 - RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM12, DISABLE); - 800afbe: f04f 0040 mov.w r0, #64 ; 0x40 - 800afc2: f04f 0100 mov.w r1, #0 ; 0x0 - 800afc6: f7ff fcdf bl 800a988 - 800afca: e020 b.n 800b00e - } - else if (TIMx == TIM13) - 800afcc: 687a ldr r2, [r7, #4] - 800afce: 4b1d ldr r3, [pc, #116] (800b044 ) - 800afd0: 429a cmp r2, r3 - 800afd2: d10c bne.n 800afee - { - RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM13, ENABLE); - 800afd4: f04f 0080 mov.w r0, #128 ; 0x80 - 800afd8: f04f 0101 mov.w r1, #1 ; 0x1 - 800afdc: f7ff fcd4 bl 800a988 - RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM13, DISABLE); - 800afe0: f04f 0080 mov.w r0, #128 ; 0x80 - 800afe4: f04f 0100 mov.w r1, #0 ; 0x0 - 800afe8: f7ff fcce bl 800a988 - 800afec: e00f b.n 800b00e - } - else - { - if (TIMx == TIM14) - 800afee: 687a ldr r2, [r7, #4] - 800aff0: 4b15 ldr r3, [pc, #84] (800b048 ) - 800aff2: 429a cmp r2, r3 - 800aff4: d10b bne.n 800b00e - { - RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM14, ENABLE); - 800aff6: f44f 7080 mov.w r0, #256 ; 0x100 - 800affa: f04f 0101 mov.w r1, #1 ; 0x1 - 800affe: f7ff fcc3 bl 800a988 - RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM14, DISABLE); - 800b002: f44f 7080 mov.w r0, #256 ; 0x100 - 800b006: f04f 0100 mov.w r1, #0 ; 0x0 - 800b00a: f7ff fcbd bl 800a988 - } - } -} - 800b00e: f107 0708 add.w r7, r7, #8 ; 0x8 - 800b012: 46bd mov sp, r7 - 800b014: bd80 pop {r7, pc} - 800b016: 46c0 nop (mov r8, r8) - 800b018: 40010000 .word 0x40010000 - 800b01c: 40000400 .word 0x40000400 - 800b020: 40000800 .word 0x40000800 - 800b024: 40000c00 .word 0x40000c00 - 800b028: 40001000 .word 0x40001000 - 800b02c: 40001400 .word 0x40001400 - 800b030: 40010400 .word 0x40010400 - 800b034: 40014000 .word 0x40014000 - 800b038: 40014400 .word 0x40014400 - 800b03c: 40014800 .word 0x40014800 - 800b040: 40001800 .word 0x40001800 - 800b044: 40001c00 .word 0x40001c00 - 800b048: 40002000 .word 0x40002000 - -0800b04c : - * @param TIM_TimeBaseInitStruct: pointer to a TIM_TimeBaseInitTypeDef structure - * that contains the configuration information for the specified TIM peripheral. - * @retval None - */ -void TIM_TimeBaseInit(TIM_TypeDef* TIMx, TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct) -{ - 800b04c: b480 push {r7} - 800b04e: b085 sub sp, #20 - 800b050: af00 add r7, sp, #0 - 800b052: 6078 str r0, [r7, #4] - 800b054: 6039 str r1, [r7, #0] - uint16_t tmpcr1 = 0; - 800b056: f04f 0300 mov.w r3, #0 ; 0x0 - 800b05a: 81fb strh r3, [r7, #14] - /* Check the parameters */ - //assert_param(IS_TIM_ALL_PERIPH(TIMx)); - //assert_param(IS_TIM_COUNTER_MODE(TIM_TimeBaseInitStruct->TIM_CounterMode)); - //assert_param(IS_TIM_CKD_DIV(TIM_TimeBaseInitStruct->TIM_ClockDivision)); - - tmpcr1 = TIMx->CR1; - 800b05c: 687b ldr r3, [r7, #4] - 800b05e: 881b ldrh r3, [r3, #0] - 800b060: 81fb strh r3, [r7, #14] - - if((TIMx == TIM1) || (TIMx == TIM8)|| - 800b062: 687a ldr r2, [r7, #4] - 800b064: 4b29 ldr r3, [pc, #164] (800b10c ) - 800b066: 429a cmp r2, r3 - 800b068: d013 beq.n 800b092 - 800b06a: 687a ldr r2, [r7, #4] - 800b06c: 4b28 ldr r3, [pc, #160] (800b110 ) - 800b06e: 429a cmp r2, r3 - 800b070: d00f beq.n 800b092 - 800b072: 687b ldr r3, [r7, #4] - 800b074: f1b3 4f80 cmp.w r3, #1073741824 ; 0x40000000 - 800b078: d00b beq.n 800b092 - 800b07a: 687a ldr r2, [r7, #4] - 800b07c: 4b25 ldr r3, [pc, #148] (800b114 ) - 800b07e: 429a cmp r2, r3 - 800b080: d007 beq.n 800b092 - 800b082: 687a ldr r2, [r7, #4] - 800b084: 4b24 ldr r3, [pc, #144] (800b118 ) - 800b086: 429a cmp r2, r3 - 800b088: d003 beq.n 800b092 - 800b08a: 687a ldr r2, [r7, #4] - 800b08c: 4b23 ldr r3, [pc, #140] (800b11c ) - 800b08e: 429a cmp r2, r3 - 800b090: d109 bne.n 800b0a6 - (TIMx == TIM2) || (TIMx == TIM3)|| - (TIMx == TIM4) || (TIMx == TIM5)) - { - /* Select the Counter Mode */ - tmpcr1 &= (uint16_t)(~(TIM_CR1_DIR | TIM_CR1_CMS)); - 800b092: 89fb ldrh r3, [r7, #14] - 800b094: f023 0370 bic.w r3, r3, #112 ; 0x70 - 800b098: 81fb strh r3, [r7, #14] - tmpcr1 |= (uint32_t)TIM_TimeBaseInitStruct->TIM_CounterMode; - 800b09a: 683b ldr r3, [r7, #0] - 800b09c: 885a ldrh r2, [r3, #2] - 800b09e: 89fb ldrh r3, [r7, #14] - 800b0a0: ea42 0303 orr.w r3, r2, r3 - 800b0a4: 81fb strh r3, [r7, #14] - } - - if((TIMx != TIM6) && (TIMx != TIM7)) - 800b0a6: 687a ldr r2, [r7, #4] - 800b0a8: 4b1d ldr r3, [pc, #116] (800b120 ) - 800b0aa: 429a cmp r2, r3 - 800b0ac: d00d beq.n 800b0ca - 800b0ae: 687a ldr r2, [r7, #4] - 800b0b0: 4b1c ldr r3, [pc, #112] (800b124 ) - 800b0b2: 429a cmp r2, r3 - 800b0b4: d009 beq.n 800b0ca - { - /* Set the clock division */ - tmpcr1 &= (uint16_t)(~TIM_CR1_CKD); - 800b0b6: 89fb ldrh r3, [r7, #14] - 800b0b8: f423 7340 bic.w r3, r3, #768 ; 0x300 - 800b0bc: 81fb strh r3, [r7, #14] - tmpcr1 |= (uint32_t)TIM_TimeBaseInitStruct->TIM_ClockDivision; - 800b0be: 683b ldr r3, [r7, #0] - 800b0c0: 891a ldrh r2, [r3, #8] - 800b0c2: 89fb ldrh r3, [r7, #14] - 800b0c4: ea42 0303 orr.w r3, r2, r3 - 800b0c8: 81fb strh r3, [r7, #14] - } - - TIMx->CR1 = tmpcr1; - 800b0ca: 687a ldr r2, [r7, #4] - 800b0cc: 89fb ldrh r3, [r7, #14] - 800b0ce: 8013 strh r3, [r2, #0] - - /* Set the Autoreload value */ - TIMx->ARR = TIM_TimeBaseInitStruct->TIM_Period ; - 800b0d0: 683b ldr r3, [r7, #0] - 800b0d2: 685a ldr r2, [r3, #4] - 800b0d4: 687b ldr r3, [r7, #4] - 800b0d6: 62da str r2, [r3, #44] - - /* Set the Prescaler value */ - TIMx->PSC = TIM_TimeBaseInitStruct->TIM_Prescaler; - 800b0d8: 683b ldr r3, [r7, #0] - 800b0da: 881b ldrh r3, [r3, #0] - 800b0dc: 687a ldr r2, [r7, #4] - 800b0de: 8513 strh r3, [r2, #40] - - if ((TIMx == TIM1) || (TIMx == TIM8)) - 800b0e0: 687a ldr r2, [r7, #4] - 800b0e2: 4b0a ldr r3, [pc, #40] (800b10c ) - 800b0e4: 429a cmp r2, r3 - 800b0e6: d003 beq.n 800b0f0 - 800b0e8: 687a ldr r2, [r7, #4] - 800b0ea: 4b09 ldr r3, [pc, #36] (800b110 ) - 800b0ec: 429a cmp r2, r3 - 800b0ee: d103 bne.n 800b0f8 - { - /* Set the Repetition Counter value */ - TIMx->RCR = TIM_TimeBaseInitStruct->TIM_RepetitionCounter; - 800b0f0: 683b ldr r3, [r7, #0] - 800b0f2: 7a9b ldrb r3, [r3, #10] - 800b0f4: 687a ldr r2, [r7, #4] - 800b0f6: 8613 strh r3, [r2, #48] - } - - /* Generate an update event to reload the Prescaler - and the repetition counter(only for TIM1 and TIM8) value immediatly */ - TIMx->EGR = TIM_PSCReloadMode_Immediate; - 800b0f8: 687b ldr r3, [r7, #4] - 800b0fa: f04f 0201 mov.w r2, #1 ; 0x1 - 800b0fe: 829a strh r2, [r3, #20] -} - 800b100: f107 0714 add.w r7, r7, #20 ; 0x14 - 800b104: 46bd mov sp, r7 - 800b106: bc80 pop {r7} - 800b108: 4770 bx lr - 800b10a: 46c0 nop (mov r8, r8) - 800b10c: 40010000 .word 0x40010000 - 800b110: 40010400 .word 0x40010400 - 800b114: 40000400 .word 0x40000400 - 800b118: 40000800 .word 0x40000800 - 800b11c: 40000c00 .word 0x40000c00 - 800b120: 40001000 .word 0x40001000 - 800b124: 40001400 .word 0x40001400 - -0800b128 : - * @param TIM_TimeBaseInitStruct : pointer to a TIM_TimeBaseInitTypeDef - * structure which will be initialized. - * @retval None - */ -void TIM_TimeBaseStructInit(TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct) -{ - 800b128: b480 push {r7} - 800b12a: b083 sub sp, #12 - 800b12c: af00 add r7, sp, #0 - 800b12e: 6078 str r0, [r7, #4] - /* Set the default configuration */ - TIM_TimeBaseInitStruct->TIM_Period = 0xFFFFFFFF; - 800b130: 687a ldr r2, [r7, #4] - 800b132: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 800b136: 6053 str r3, [r2, #4] - TIM_TimeBaseInitStruct->TIM_Prescaler = 0x0000; - 800b138: 687a ldr r2, [r7, #4] - 800b13a: f04f 0300 mov.w r3, #0 ; 0x0 - 800b13e: 8013 strh r3, [r2, #0] - TIM_TimeBaseInitStruct->TIM_ClockDivision = TIM_CKD_DIV1; - 800b140: 687a ldr r2, [r7, #4] - 800b142: f04f 0300 mov.w r3, #0 ; 0x0 - 800b146: 8113 strh r3, [r2, #8] - TIM_TimeBaseInitStruct->TIM_CounterMode = TIM_CounterMode_Up; - 800b148: 687a ldr r2, [r7, #4] - 800b14a: f04f 0300 mov.w r3, #0 ; 0x0 - 800b14e: 8053 strh r3, [r2, #2] - TIM_TimeBaseInitStruct->TIM_RepetitionCounter = 0x0000; - 800b150: 687a ldr r2, [r7, #4] - 800b152: f04f 0300 mov.w r3, #0 ; 0x0 - 800b156: 7293 strb r3, [r2, #10] -} - 800b158: f107 070c add.w r7, r7, #12 ; 0xc - 800b15c: 46bd mov sp, r7 - 800b15e: bc80 pop {r7} - 800b160: 4770 bx lr - 800b162: 46c0 nop (mov r8, r8) - -0800b164 : - * @arg TIM_PSCReloadMode_Update: The Prescaler is loaded at the update event. - * @arg TIM_PSCReloadMode_Immediate: The Prescaler is loaded immediatly. - * @retval None - */ -void TIM_PrescalerConfig(TIM_TypeDef* TIMx, uint16_t Prescaler, uint16_t TIM_PSCReloadMode) -{ - 800b164: b480 push {r7} - 800b166: b083 sub sp, #12 - 800b168: af00 add r7, sp, #0 - 800b16a: 6078 str r0, [r7, #4] - 800b16c: 460b mov r3, r1 - 800b16e: 807b strh r3, [r7, #2] - 800b170: 4613 mov r3, r2 - 800b172: 803b strh r3, [r7, #0] - /* Check the parameters */ - //assert_param(IS_TIM_ALL_PERIPH(TIMx)); - //assert_param(IS_TIM_PRESCALER_RELOAD(TIM_PSCReloadMode)); - /* Set the Prescaler value */ - TIMx->PSC = Prescaler; - 800b174: 687a ldr r2, [r7, #4] - 800b176: 887b ldrh r3, [r7, #2] - 800b178: 8513 strh r3, [r2, #40] - /* Set or reset the UG Bit */ - TIMx->EGR = TIM_PSCReloadMode; - 800b17a: 687a ldr r2, [r7, #4] - 800b17c: 883b ldrh r3, [r7, #0] - 800b17e: 8293 strh r3, [r2, #20] -} - 800b180: f107 070c add.w r7, r7, #12 ; 0xc - 800b184: 46bd mov sp, r7 - 800b186: bc80 pop {r7} - 800b188: 4770 bx lr - 800b18a: 46c0 nop (mov r8, r8) - -0800b18c : - * @arg TIM_CounterMode_CenterAligned2: TIM Center Aligned Mode2 - * @arg TIM_CounterMode_CenterAligned3: TIM Center Aligned Mode3 - * @retval None - */ -void TIM_CounterModeConfig(TIM_TypeDef* TIMx, uint16_t TIM_CounterMode) -{ - 800b18c: b480 push {r7} - 800b18e: b085 sub sp, #20 - 800b190: af00 add r7, sp, #0 - 800b192: 6078 str r0, [r7, #4] - 800b194: 460b mov r3, r1 - 800b196: 807b strh r3, [r7, #2] - uint16_t tmpcr1 = 0; - 800b198: f04f 0300 mov.w r3, #0 ; 0x0 - 800b19c: 81fb strh r3, [r7, #14] - - /* Check the parameters */ - //assert_param(IS_TIM_LIST3_PERIPH(TIMx)); - //assert_param(IS_TIM_COUNTER_MODE(TIM_CounterMode)); - - tmpcr1 = TIMx->CR1; - 800b19e: 687b ldr r3, [r7, #4] - 800b1a0: 881b ldrh r3, [r3, #0] - 800b1a2: 81fb strh r3, [r7, #14] - - /* Reset the CMS and DIR Bits */ - tmpcr1 &= (uint16_t)~(TIM_CR1_DIR | TIM_CR1_CMS); - 800b1a4: 89fb ldrh r3, [r7, #14] - 800b1a6: f023 0370 bic.w r3, r3, #112 ; 0x70 - 800b1aa: 81fb strh r3, [r7, #14] - - /* Set the Counter Mode */ - tmpcr1 |= TIM_CounterMode; - 800b1ac: 89fa ldrh r2, [r7, #14] - 800b1ae: 887b ldrh r3, [r7, #2] - 800b1b0: ea42 0303 orr.w r3, r2, r3 - 800b1b4: 81fb strh r3, [r7, #14] - - /* Write to TIMx CR1 register */ - TIMx->CR1 = tmpcr1; - 800b1b6: 687a ldr r2, [r7, #4] - 800b1b8: 89fb ldrh r3, [r7, #14] - 800b1ba: 8013 strh r3, [r2, #0] -} - 800b1bc: f107 0714 add.w r7, r7, #20 ; 0x14 - 800b1c0: 46bd mov sp, r7 - 800b1c2: bc80 pop {r7} - 800b1c4: 4770 bx lr - 800b1c6: 46c0 nop (mov r8, r8) - -0800b1c8 : - * @param TIMx: where x can be 1 to 14 to select the TIM peripheral. - * @param Counter: specifies the Counter register new value. - * @retval None - */ -void TIM_SetCounter(TIM_TypeDef* TIMx, uint32_t Counter) -{ - 800b1c8: b480 push {r7} - 800b1ca: b083 sub sp, #12 - 800b1cc: af00 add r7, sp, #0 - 800b1ce: 6078 str r0, [r7, #4] - 800b1d0: 6039 str r1, [r7, #0] - /* Check the parameters */ - //assert_param(IS_TIM_ALL_PERIPH(TIMx)); - - /* Set the Counter Register value */ - TIMx->CNT = Counter; - 800b1d2: 687a ldr r2, [r7, #4] - 800b1d4: 683b ldr r3, [r7, #0] - 800b1d6: 6253 str r3, [r2, #36] -} - 800b1d8: f107 070c add.w r7, r7, #12 ; 0xc - 800b1dc: 46bd mov sp, r7 - 800b1de: bc80 pop {r7} - 800b1e0: 4770 bx lr - 800b1e2: 46c0 nop (mov r8, r8) - -0800b1e4 : - * @param TIMx: where x can be 1 to 14 to select the TIM peripheral. - * @param Autoreload: specifies the Autoreload register new value. - * @retval None - */ -void TIM_SetAutoreload(TIM_TypeDef* TIMx, uint32_t Autoreload) -{ - 800b1e4: b480 push {r7} - 800b1e6: b083 sub sp, #12 - 800b1e8: af00 add r7, sp, #0 - 800b1ea: 6078 str r0, [r7, #4] - 800b1ec: 6039 str r1, [r7, #0] - /* Check the parameters */ - //assert_param(IS_TIM_ALL_PERIPH(TIMx)); - - /* Set the Autoreload Register value */ - TIMx->ARR = Autoreload; - 800b1ee: 687a ldr r2, [r7, #4] - 800b1f0: 683b ldr r3, [r7, #0] - 800b1f2: 62d3 str r3, [r2, #44] -} - 800b1f4: f107 070c add.w r7, r7, #12 ; 0xc - 800b1f8: 46bd mov sp, r7 - 800b1fa: bc80 pop {r7} - 800b1fc: 4770 bx lr - 800b1fe: 46c0 nop (mov r8, r8) - -0800b200 : - * @brief Gets the TIMx Counter value. - * @param TIMx: where x can be 1 to 14 to select the TIM peripheral. - * @retval Counter Register value - */ -uint32_t TIM_GetCounter(TIM_TypeDef* TIMx) -{ - 800b200: b480 push {r7} - 800b202: b083 sub sp, #12 - 800b204: af00 add r7, sp, #0 - 800b206: 6078 str r0, [r7, #4] - /* Check the parameters */ - //assert_param(IS_TIM_ALL_PERIPH(TIMx)); - - /* Get the Counter Register value */ - return TIMx->CNT; - 800b208: 687b ldr r3, [r7, #4] - 800b20a: 6a5b ldr r3, [r3, #36] -} - 800b20c: 4618 mov r0, r3 - 800b20e: f107 070c add.w r7, r7, #12 ; 0xc - 800b212: 46bd mov sp, r7 - 800b214: bc80 pop {r7} - 800b216: 4770 bx lr - -0800b218 : - * @brief Gets the TIMx Prescaler value. - * @param TIMx: where x can be 1 to 14 to select the TIM peripheral. - * @retval Prescaler Register value. - */ -uint16_t TIM_GetPrescaler(TIM_TypeDef* TIMx) -{ - 800b218: b480 push {r7} - 800b21a: b083 sub sp, #12 - 800b21c: af00 add r7, sp, #0 - 800b21e: 6078 str r0, [r7, #4] - /* Check the parameters */ - //assert_param(IS_TIM_ALL_PERIPH(TIMx)); - - /* Get the Prescaler Register value */ - return TIMx->PSC; - 800b220: 687b ldr r3, [r7, #4] - 800b222: 8d1b ldrh r3, [r3, #40] - 800b224: b29b uxth r3, r3 -} - 800b226: 4618 mov r0, r3 - 800b228: f107 070c add.w r7, r7, #12 ; 0xc - 800b22c: 46bd mov sp, r7 - 800b22e: bc80 pop {r7} - 800b230: 4770 bx lr - 800b232: 46c0 nop (mov r8, r8) - -0800b234 : - * @param NewState: new state of the TIMx UDIS bit - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void TIM_UpdateDisableConfig(TIM_TypeDef* TIMx, FunctionalState NewState) -{ - 800b234: b480 push {r7} - 800b236: b085 sub sp, #20 - 800b238: af00 add r7, sp, #0 - 800b23a: 60f8 str r0, [r7, #12] - 800b23c: 460b mov r3, r1 - 800b23e: 72fb strb r3, [r7, #11] - /* Check the parameters */ - //assert_param(IS_TIM_ALL_PERIPH(TIMx)); - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - 800b240: 7afb ldrb r3, [r7, #11] - 800b242: 2b00 cmp r3, #0 - 800b244: d008 beq.n 800b258 - { - /* Set the Update Disable Bit */ - TIMx->CR1 |= TIM_CR1_UDIS; - 800b246: 68fb ldr r3, [r7, #12] - 800b248: 881b ldrh r3, [r3, #0] - 800b24a: b29b uxth r3, r3 - 800b24c: f043 0302 orr.w r3, r3, #2 ; 0x2 - 800b250: b29b uxth r3, r3 - 800b252: 68fa ldr r2, [r7, #12] - 800b254: 8013 strh r3, [r2, #0] - 800b256: e00d b.n 800b274 - } - else - { - /* Reset the Update Disable Bit */ - TIMx->CR1 &= (uint16_t)~TIM_CR1_UDIS; - 800b258: 68fb ldr r3, [r7, #12] - 800b25a: 881b ldrh r3, [r3, #0] - 800b25c: b29b uxth r3, r3 - 800b25e: 607b str r3, [r7, #4] - 800b260: f64f 73fd movw r3, #65533 ; 0xfffd - 800b264: 6879 ldr r1, [r7, #4] - 800b266: ea01 0303 and.w r3, r1, r3 - 800b26a: 607b str r3, [r7, #4] - 800b26c: 68fa ldr r2, [r7, #12] - 800b26e: 6879 ldr r1, [r7, #4] - 800b270: 460b mov r3, r1 - 800b272: 8013 strh r3, [r2, #0] - } -} - 800b274: f107 0714 add.w r7, r7, #20 ; 0x14 - 800b278: 46bd mov sp, r7 - 800b27a: bc80 pop {r7} - 800b27c: 4770 bx lr - 800b27e: 46c0 nop (mov r8, r8) - -0800b280 : - * generation through the slave mode controller. - * @arg TIM_UpdateSource_Regular: Source of update is counter overflow/underflow. - * @retval None - */ -void TIM_UpdateRequestConfig(TIM_TypeDef* TIMx, uint16_t TIM_UpdateSource) -{ - 800b280: b480 push {r7} - 800b282: b085 sub sp, #20 - 800b284: af00 add r7, sp, #0 - 800b286: 60f8 str r0, [r7, #12] - 800b288: 460b mov r3, r1 - 800b28a: 817b strh r3, [r7, #10] - /* Check the parameters */ - //assert_param(IS_TIM_ALL_PERIPH(TIMx)); - //assert_param(IS_TIM_UPDATE_SOURCE(TIM_UpdateSource)); - - if (TIM_UpdateSource != TIM_UpdateSource_Global) - 800b28c: 897b ldrh r3, [r7, #10] - 800b28e: 2b00 cmp r3, #0 - 800b290: d008 beq.n 800b2a4 - { - /* Set the URS Bit */ - TIMx->CR1 |= TIM_CR1_URS; - 800b292: 68fb ldr r3, [r7, #12] - 800b294: 881b ldrh r3, [r3, #0] - 800b296: b29b uxth r3, r3 - 800b298: f043 0304 orr.w r3, r3, #4 ; 0x4 - 800b29c: b29b uxth r3, r3 - 800b29e: 68fa ldr r2, [r7, #12] - 800b2a0: 8013 strh r3, [r2, #0] - 800b2a2: e00d b.n 800b2c0 - } - else - { - /* Reset the URS Bit */ - TIMx->CR1 &= (uint16_t)~TIM_CR1_URS; - 800b2a4: 68fb ldr r3, [r7, #12] - 800b2a6: 881b ldrh r3, [r3, #0] - 800b2a8: b29b uxth r3, r3 - 800b2aa: 607b str r3, [r7, #4] - 800b2ac: f64f 73fb movw r3, #65531 ; 0xfffb - 800b2b0: 6879 ldr r1, [r7, #4] - 800b2b2: ea01 0303 and.w r3, r1, r3 - 800b2b6: 607b str r3, [r7, #4] - 800b2b8: 68fa ldr r2, [r7, #12] - 800b2ba: 6879 ldr r1, [r7, #4] - 800b2bc: 460b mov r3, r1 - 800b2be: 8013 strh r3, [r2, #0] - } -} - 800b2c0: f107 0714 add.w r7, r7, #20 ; 0x14 - 800b2c4: 46bd mov sp, r7 - 800b2c6: bc80 pop {r7} - 800b2c8: 4770 bx lr - 800b2ca: 46c0 nop (mov r8, r8) - -0800b2cc : - * @param NewState: new state of the TIMx peripheral Preload register - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void TIM_ARRPreloadConfig(TIM_TypeDef* TIMx, FunctionalState NewState) -{ - 800b2cc: b480 push {r7} - 800b2ce: b085 sub sp, #20 - 800b2d0: af00 add r7, sp, #0 - 800b2d2: 60f8 str r0, [r7, #12] - 800b2d4: 460b mov r3, r1 - 800b2d6: 72fb strb r3, [r7, #11] - /* Check the parameters */ - //assert_param(IS_TIM_ALL_PERIPH(TIMx)); - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - 800b2d8: 7afb ldrb r3, [r7, #11] - 800b2da: 2b00 cmp r3, #0 - 800b2dc: d008 beq.n 800b2f0 - { - /* Set the ARR Preload Bit */ - TIMx->CR1 |= TIM_CR1_ARPE; - 800b2de: 68fb ldr r3, [r7, #12] - 800b2e0: 881b ldrh r3, [r3, #0] - 800b2e2: b29b uxth r3, r3 - 800b2e4: f043 0380 orr.w r3, r3, #128 ; 0x80 - 800b2e8: b29b uxth r3, r3 - 800b2ea: 68fa ldr r2, [r7, #12] - 800b2ec: 8013 strh r3, [r2, #0] - 800b2ee: e00d b.n 800b30c - } - else - { - /* Reset the ARR Preload Bit */ - TIMx->CR1 &= (uint16_t)~TIM_CR1_ARPE; - 800b2f0: 68fb ldr r3, [r7, #12] - 800b2f2: 881b ldrh r3, [r3, #0] - 800b2f4: b29b uxth r3, r3 - 800b2f6: 607b str r3, [r7, #4] - 800b2f8: f64f 737f movw r3, #65407 ; 0xff7f - 800b2fc: 6879 ldr r1, [r7, #4] - 800b2fe: ea01 0303 and.w r3, r1, r3 - 800b302: 607b str r3, [r7, #4] - 800b304: 68fa ldr r2, [r7, #12] - 800b306: 6879 ldr r1, [r7, #4] - 800b308: 460b mov r3, r1 - 800b30a: 8013 strh r3, [r2, #0] - } -} - 800b30c: f107 0714 add.w r7, r7, #20 ; 0x14 - 800b310: 46bd mov sp, r7 - 800b312: bc80 pop {r7} - 800b314: 4770 bx lr - 800b316: 46c0 nop (mov r8, r8) - -0800b318 : - * @arg TIM_OPMode_Single - * @arg TIM_OPMode_Repetitive - * @retval None - */ -void TIM_SelectOnePulseMode(TIM_TypeDef* TIMx, uint16_t TIM_OPMode) -{ - 800b318: b480 push {r7} - 800b31a: b085 sub sp, #20 - 800b31c: af00 add r7, sp, #0 - 800b31e: 60f8 str r0, [r7, #12] - 800b320: 460b mov r3, r1 - 800b322: 817b strh r3, [r7, #10] - /* Check the parameters */ - //assert_param(IS_TIM_ALL_PERIPH(TIMx)); - //assert_param(IS_TIM_OPM_MODE(TIM_OPMode)); - - /* Reset the OPM Bit */ - TIMx->CR1 &= (uint16_t)~TIM_CR1_OPM; - 800b324: 68fb ldr r3, [r7, #12] - 800b326: 881b ldrh r3, [r3, #0] - 800b328: b29b uxth r3, r3 - 800b32a: 607b str r3, [r7, #4] - 800b32c: f64f 73f7 movw r3, #65527 ; 0xfff7 - 800b330: 6879 ldr r1, [r7, #4] - 800b332: ea01 0303 and.w r3, r1, r3 - 800b336: 607b str r3, [r7, #4] - 800b338: 68fa ldr r2, [r7, #12] - 800b33a: 6879 ldr r1, [r7, #4] - 800b33c: 460b mov r3, r1 - 800b33e: 8013 strh r3, [r2, #0] - - /* Configure the OPM Mode */ - TIMx->CR1 |= TIM_OPMode; - 800b340: 68fb ldr r3, [r7, #12] - 800b342: 881b ldrh r3, [r3, #0] - 800b344: b29a uxth r2, r3 - 800b346: 897b ldrh r3, [r7, #10] - 800b348: ea42 0303 orr.w r3, r2, r3 - 800b34c: b29b uxth r3, r3 - 800b34e: 68fa ldr r2, [r7, #12] - 800b350: 8013 strh r3, [r2, #0] -} - 800b352: f107 0714 add.w r7, r7, #20 ; 0x14 - 800b356: 46bd mov sp, r7 - 800b358: bc80 pop {r7} - 800b35a: 4770 bx lr - -0800b35c : - * @arg TIM_CKD_DIV2: TDTS = 2*Tck_tim - * @arg TIM_CKD_DIV4: TDTS = 4*Tck_tim - * @retval None - */ -void TIM_SetClockDivision(TIM_TypeDef* TIMx, uint16_t TIM_CKD) -{ - 800b35c: b480 push {r7} - 800b35e: b085 sub sp, #20 - 800b360: af00 add r7, sp, #0 - 800b362: 60f8 str r0, [r7, #12] - 800b364: 460b mov r3, r1 - 800b366: 817b strh r3, [r7, #10] - /* Check the parameters */ - //assert_param(IS_TIM_LIST1_PERIPH(TIMx)); - //assert_param(IS_TIM_CKD_DIV(TIM_CKD)); - - /* Reset the CKD Bits */ - TIMx->CR1 &= (uint16_t)(~TIM_CR1_CKD); - 800b368: 68fb ldr r3, [r7, #12] - 800b36a: 881b ldrh r3, [r3, #0] - 800b36c: b29b uxth r3, r3 - 800b36e: 607b str r3, [r7, #4] - 800b370: f64f 43ff movw r3, #64767 ; 0xfcff - 800b374: 6879 ldr r1, [r7, #4] - 800b376: ea01 0303 and.w r3, r1, r3 - 800b37a: 607b str r3, [r7, #4] - 800b37c: 68fa ldr r2, [r7, #12] - 800b37e: 6879 ldr r1, [r7, #4] - 800b380: 460b mov r3, r1 - 800b382: 8013 strh r3, [r2, #0] - - /* Set the CKD value */ - TIMx->CR1 |= TIM_CKD; - 800b384: 68fb ldr r3, [r7, #12] - 800b386: 881b ldrh r3, [r3, #0] - 800b388: b29a uxth r2, r3 - 800b38a: 897b ldrh r3, [r7, #10] - 800b38c: ea42 0303 orr.w r3, r2, r3 - 800b390: b29b uxth r3, r3 - 800b392: 68fa ldr r2, [r7, #12] - 800b394: 8013 strh r3, [r2, #0] -} - 800b396: f107 0714 add.w r7, r7, #20 ; 0x14 - 800b39a: 46bd mov sp, r7 - 800b39c: bc80 pop {r7} - 800b39e: 4770 bx lr - -0800b3a0 : - * @param NewState: new state of the TIMx peripheral. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void TIM_Cmd(TIM_TypeDef* TIMx, FunctionalState NewState) -{ - 800b3a0: b480 push {r7} - 800b3a2: b085 sub sp, #20 - 800b3a4: af00 add r7, sp, #0 - 800b3a6: 60f8 str r0, [r7, #12] - 800b3a8: 460b mov r3, r1 - 800b3aa: 72fb strb r3, [r7, #11] - /* Check the parameters */ - //assert_param(IS_TIM_ALL_PERIPH(TIMx)); - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - 800b3ac: 7afb ldrb r3, [r7, #11] - 800b3ae: 2b00 cmp r3, #0 - 800b3b0: d008 beq.n 800b3c4 - { - /* Enable the TIM Counter */ - TIMx->CR1 |= TIM_CR1_CEN; - 800b3b2: 68fb ldr r3, [r7, #12] - 800b3b4: 881b ldrh r3, [r3, #0] - 800b3b6: b29b uxth r3, r3 - 800b3b8: f043 0301 orr.w r3, r3, #1 ; 0x1 - 800b3bc: b29b uxth r3, r3 - 800b3be: 68fa ldr r2, [r7, #12] - 800b3c0: 8013 strh r3, [r2, #0] - 800b3c2: e00d b.n 800b3e0 - } - else - { - /* Disable the TIM Counter */ - TIMx->CR1 &= (uint16_t)~TIM_CR1_CEN; - 800b3c4: 68fb ldr r3, [r7, #12] - 800b3c6: 881b ldrh r3, [r3, #0] - 800b3c8: b29b uxth r3, r3 - 800b3ca: 607b str r3, [r7, #4] - 800b3cc: f64f 73fe movw r3, #65534 ; 0xfffe - 800b3d0: 6879 ldr r1, [r7, #4] - 800b3d2: ea01 0303 and.w r3, r1, r3 - 800b3d6: 607b str r3, [r7, #4] - 800b3d8: 68fa ldr r2, [r7, #12] - 800b3da: 6879 ldr r1, [r7, #4] - 800b3dc: 460b mov r3, r1 - 800b3de: 8013 strh r3, [r2, #0] - } -} - 800b3e0: f107 0714 add.w r7, r7, #20 ; 0x14 - 800b3e4: 46bd mov sp, r7 - 800b3e6: bc80 pop {r7} - 800b3e8: 4770 bx lr - 800b3ea: 46c0 nop (mov r8, r8) - -0800b3ec : - * @param TIM_OCInitStruct: pointer to a TIM_OCInitTypeDef structure that contains - * the configuration information for the specified TIM peripheral. - * @retval None - */ -void TIM_OC1Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct) -{ - 800b3ec: b480 push {r7} - 800b3ee: b087 sub sp, #28 - 800b3f0: af00 add r7, sp, #0 - 800b3f2: 60f8 str r0, [r7, #12] - 800b3f4: 60b9 str r1, [r7, #8] - uint16_t tmpccmrx = 0, tmpccer = 0, tmpcr2 = 0; - 800b3f6: f04f 0300 mov.w r3, #0 ; 0x0 - 800b3fa: 827b strh r3, [r7, #18] - 800b3fc: f04f 0300 mov.w r3, #0 ; 0x0 - 800b400: 82bb strh r3, [r7, #20] - 800b402: f04f 0300 mov.w r3, #0 ; 0x0 - 800b406: 82fb strh r3, [r7, #22] - //assert_param(IS_TIM_OC_MODE(TIM_OCInitStruct->TIM_OCMode)); - //assert_param(IS_TIM_OUTPUT_STATE(TIM_OCInitStruct->TIM_OutputState)); - //assert_param(IS_TIM_OC_POLARITY(TIM_OCInitStruct->TIM_OCPolarity)); - - /* Disable the Channel 1: Reset the CC1E Bit */ - TIMx->CCER &= (uint16_t)~TIM_CCER_CC1E; - 800b408: 68fb ldr r3, [r7, #12] - 800b40a: 8c1b ldrh r3, [r3, #32] - 800b40c: b29b uxth r3, r3 - 800b40e: 607b str r3, [r7, #4] - 800b410: f64f 73fe movw r3, #65534 ; 0xfffe - 800b414: 6879 ldr r1, [r7, #4] - 800b416: ea01 0303 and.w r3, r1, r3 - 800b41a: 607b str r3, [r7, #4] - 800b41c: 68fa ldr r2, [r7, #12] - 800b41e: 6879 ldr r1, [r7, #4] - 800b420: 460b mov r3, r1 - 800b422: 8413 strh r3, [r2, #32] - - /* Get the TIMx CCER register value */ - tmpccer = TIMx->CCER; - 800b424: 68fb ldr r3, [r7, #12] - 800b426: 8c1b ldrh r3, [r3, #32] - 800b428: 82bb strh r3, [r7, #20] - /* Get the TIMx CR2 register value */ - tmpcr2 = TIMx->CR2; - 800b42a: 68fb ldr r3, [r7, #12] - 800b42c: 889b ldrh r3, [r3, #4] - 800b42e: 82fb strh r3, [r7, #22] - - /* Get the TIMx CCMR1 register value */ - tmpccmrx = TIMx->CCMR1; - 800b430: 68fb ldr r3, [r7, #12] - 800b432: 8b1b ldrh r3, [r3, #24] - 800b434: 827b strh r3, [r7, #18] - - /* Reset the Output Compare Mode Bits */ - tmpccmrx &= (uint16_t)~TIM_CCMR1_OC1M; - 800b436: 8a7b ldrh r3, [r7, #18] - 800b438: f023 0370 bic.w r3, r3, #112 ; 0x70 - 800b43c: 827b strh r3, [r7, #18] - tmpccmrx &= (uint16_t)~TIM_CCMR1_CC1S; - 800b43e: 8a7b ldrh r3, [r7, #18] - 800b440: f023 0303 bic.w r3, r3, #3 ; 0x3 - 800b444: 827b strh r3, [r7, #18] - /* Select the Output Compare Mode */ - tmpccmrx |= TIM_OCInitStruct->TIM_OCMode; - 800b446: 68bb ldr r3, [r7, #8] - 800b448: 881a ldrh r2, [r3, #0] - 800b44a: 8a7b ldrh r3, [r7, #18] - 800b44c: ea42 0303 orr.w r3, r2, r3 - 800b450: 827b strh r3, [r7, #18] - - /* Reset the Output Polarity level */ - tmpccer &= (uint16_t)~TIM_CCER_CC1P; - 800b452: 8abb ldrh r3, [r7, #20] - 800b454: f023 0302 bic.w r3, r3, #2 ; 0x2 - 800b458: 82bb strh r3, [r7, #20] - /* Set the Output Compare Polarity */ - tmpccer |= TIM_OCInitStruct->TIM_OCPolarity; - 800b45a: 68bb ldr r3, [r7, #8] - 800b45c: 899a ldrh r2, [r3, #12] - 800b45e: 8abb ldrh r3, [r7, #20] - 800b460: ea42 0303 orr.w r3, r2, r3 - 800b464: 82bb strh r3, [r7, #20] - - /* Set the Output State */ - tmpccer |= TIM_OCInitStruct->TIM_OutputState; - 800b466: 68bb ldr r3, [r7, #8] - 800b468: 885a ldrh r2, [r3, #2] - 800b46a: 8abb ldrh r3, [r7, #20] - 800b46c: ea42 0303 orr.w r3, r2, r3 - 800b470: 82bb strh r3, [r7, #20] - - if((TIMx == TIM1) || (TIMx == TIM8)) - 800b472: 68fa ldr r2, [r7, #12] - 800b474: 4b20 ldr r3, [pc, #128] (800b4f8 ) - 800b476: 429a cmp r2, r3 - 800b478: d003 beq.n 800b482 - 800b47a: 68fa ldr r2, [r7, #12] - 800b47c: 4b1f ldr r3, [pc, #124] (800b4fc ) - 800b47e: 429a cmp r2, r3 - 800b480: d127 bne.n 800b4d2 - //assert_param(IS_TIM_OCN_POLARITY(TIM_OCInitStruct->TIM_OCNPolarity)); - //assert_param(IS_TIM_OCNIDLE_STATE(TIM_OCInitStruct->TIM_OCNIdleState)); - //assert_param(IS_TIM_OCIDLE_STATE(TIM_OCInitStruct->TIM_OCIdleState)); - - /* Reset the Output N Polarity level */ - tmpccer &= (uint16_t)~TIM_CCER_CC1NP; - 800b482: 8abb ldrh r3, [r7, #20] - 800b484: f023 0308 bic.w r3, r3, #8 ; 0x8 - 800b488: 82bb strh r3, [r7, #20] - /* Set the Output N Polarity */ - tmpccer |= TIM_OCInitStruct->TIM_OCNPolarity; - 800b48a: 68bb ldr r3, [r7, #8] - 800b48c: 89da ldrh r2, [r3, #14] - 800b48e: 8abb ldrh r3, [r7, #20] - 800b490: ea42 0303 orr.w r3, r2, r3 - 800b494: 82bb strh r3, [r7, #20] - /* Reset the Output N State */ - tmpccer &= (uint16_t)~TIM_CCER_CC1NE; - 800b496: 8abb ldrh r3, [r7, #20] - 800b498: f023 0304 bic.w r3, r3, #4 ; 0x4 - 800b49c: 82bb strh r3, [r7, #20] - - /* Set the Output N State */ - tmpccer |= TIM_OCInitStruct->TIM_OutputNState; - 800b49e: 68bb ldr r3, [r7, #8] - 800b4a0: 889a ldrh r2, [r3, #4] - 800b4a2: 8abb ldrh r3, [r7, #20] - 800b4a4: ea42 0303 orr.w r3, r2, r3 - 800b4a8: 82bb strh r3, [r7, #20] - /* Reset the Output Compare and Output Compare N IDLE State */ - tmpcr2 &= (uint16_t)~TIM_CR2_OIS1; - 800b4aa: 8afb ldrh r3, [r7, #22] - 800b4ac: f423 7380 bic.w r3, r3, #256 ; 0x100 - 800b4b0: 82fb strh r3, [r7, #22] - tmpcr2 &= (uint16_t)~TIM_CR2_OIS1N; - 800b4b2: 8afb ldrh r3, [r7, #22] - 800b4b4: f423 7300 bic.w r3, r3, #512 ; 0x200 - 800b4b8: 82fb strh r3, [r7, #22] - /* Set the Output Idle state */ - tmpcr2 |= TIM_OCInitStruct->TIM_OCIdleState; - 800b4ba: 68bb ldr r3, [r7, #8] - 800b4bc: 8a1a ldrh r2, [r3, #16] - 800b4be: 8afb ldrh r3, [r7, #22] - 800b4c0: ea42 0303 orr.w r3, r2, r3 - 800b4c4: 82fb strh r3, [r7, #22] - /* Set the Output N Idle state */ - tmpcr2 |= TIM_OCInitStruct->TIM_OCNIdleState; - 800b4c6: 68bb ldr r3, [r7, #8] - 800b4c8: 8a5a ldrh r2, [r3, #18] - 800b4ca: 8afb ldrh r3, [r7, #22] - 800b4cc: ea42 0303 orr.w r3, r2, r3 - 800b4d0: 82fb strh r3, [r7, #22] - } - /* Write to TIMx CR2 */ - TIMx->CR2 = tmpcr2; - 800b4d2: 68fa ldr r2, [r7, #12] - 800b4d4: 8afb ldrh r3, [r7, #22] - 800b4d6: 8093 strh r3, [r2, #4] - - /* Write to TIMx CCMR1 */ - TIMx->CCMR1 = tmpccmrx; - 800b4d8: 68fa ldr r2, [r7, #12] - 800b4da: 8a7b ldrh r3, [r7, #18] - 800b4dc: 8313 strh r3, [r2, #24] - - /* Set the Capture Compare Register value */ - TIMx->CCR1 = TIM_OCInitStruct->TIM_Pulse; - 800b4de: 68bb ldr r3, [r7, #8] - 800b4e0: 689a ldr r2, [r3, #8] - 800b4e2: 68fb ldr r3, [r7, #12] - 800b4e4: 635a str r2, [r3, #52] - - /* Write to TIMx CCER */ - TIMx->CCER = tmpccer; - 800b4e6: 68fa ldr r2, [r7, #12] - 800b4e8: 8abb ldrh r3, [r7, #20] - 800b4ea: 8413 strh r3, [r2, #32] -} - 800b4ec: f107 071c add.w r7, r7, #28 ; 0x1c - 800b4f0: 46bd mov sp, r7 - 800b4f2: bc80 pop {r7} - 800b4f4: 4770 bx lr - 800b4f6: 46c0 nop (mov r8, r8) - 800b4f8: 40010000 .word 0x40010000 - 800b4fc: 40010400 .word 0x40010400 - -0800b500 : - * @param TIM_OCInitStruct: pointer to a TIM_OCInitTypeDef structure that contains - * the configuration information for the specified TIM peripheral. - * @retval None - */ -void TIM_OC2Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct) -{ - 800b500: b480 push {r7} - 800b502: b087 sub sp, #28 - 800b504: af00 add r7, sp, #0 - 800b506: 60f8 str r0, [r7, #12] - 800b508: 60b9 str r1, [r7, #8] - uint16_t tmpccmrx = 0, tmpccer = 0, tmpcr2 = 0; - 800b50a: f04f 0300 mov.w r3, #0 ; 0x0 - 800b50e: 827b strh r3, [r7, #18] - 800b510: f04f 0300 mov.w r3, #0 ; 0x0 - 800b514: 82bb strh r3, [r7, #20] - 800b516: f04f 0300 mov.w r3, #0 ; 0x0 - 800b51a: 82fb strh r3, [r7, #22] - //assert_param(IS_TIM_OC_MODE(TIM_OCInitStruct->TIM_OCMode)); - //assert_param(IS_TIM_OUTPUT_STATE(TIM_OCInitStruct->TIM_OutputState)); - //assert_param(IS_TIM_OC_POLARITY(TIM_OCInitStruct->TIM_OCPolarity)); - - /* Disable the Channel 2: Reset the CC2E Bit */ - TIMx->CCER &= (uint16_t)~TIM_CCER_CC2E; - 800b51c: 68fb ldr r3, [r7, #12] - 800b51e: 8c1b ldrh r3, [r3, #32] - 800b520: b29b uxth r3, r3 - 800b522: 607b str r3, [r7, #4] - 800b524: f64f 73ef movw r3, #65519 ; 0xffef - 800b528: 6879 ldr r1, [r7, #4] - 800b52a: ea01 0303 and.w r3, r1, r3 - 800b52e: 607b str r3, [r7, #4] - 800b530: 68fa ldr r2, [r7, #12] - 800b532: 6879 ldr r1, [r7, #4] - 800b534: 460b mov r3, r1 - 800b536: 8413 strh r3, [r2, #32] - - /* Get the TIMx CCER register value */ - tmpccer = TIMx->CCER; - 800b538: 68fb ldr r3, [r7, #12] - 800b53a: 8c1b ldrh r3, [r3, #32] - 800b53c: 82bb strh r3, [r7, #20] - /* Get the TIMx CR2 register value */ - tmpcr2 = TIMx->CR2; - 800b53e: 68fb ldr r3, [r7, #12] - 800b540: 889b ldrh r3, [r3, #4] - 800b542: 82fb strh r3, [r7, #22] - - /* Get the TIMx CCMR1 register value */ - tmpccmrx = TIMx->CCMR1; - 800b544: 68fb ldr r3, [r7, #12] - 800b546: 8b1b ldrh r3, [r3, #24] - 800b548: 827b strh r3, [r7, #18] - - /* Reset the Output Compare mode and Capture/Compare selection Bits */ - tmpccmrx &= (uint16_t)~TIM_CCMR1_OC2M; - 800b54a: 8a7b ldrh r3, [r7, #18] - 800b54c: f423 43e0 bic.w r3, r3, #28672 ; 0x7000 - 800b550: 827b strh r3, [r7, #18] - tmpccmrx &= (uint16_t)~TIM_CCMR1_CC2S; - 800b552: 8a7b ldrh r3, [r7, #18] - 800b554: f423 7340 bic.w r3, r3, #768 ; 0x300 - 800b558: 827b strh r3, [r7, #18] - - /* Select the Output Compare Mode */ - tmpccmrx |= (uint16_t)(TIM_OCInitStruct->TIM_OCMode << 8); - 800b55a: 68bb ldr r3, [r7, #8] - 800b55c: 881b ldrh r3, [r3, #0] - 800b55e: ea4f 2303 mov.w r3, r3, lsl #8 - 800b562: b29a uxth r2, r3 - 800b564: 8a7b ldrh r3, [r7, #18] - 800b566: ea42 0303 orr.w r3, r2, r3 - 800b56a: 827b strh r3, [r7, #18] - - /* Reset the Output Polarity level */ - tmpccer &= (uint16_t)~TIM_CCER_CC2P; - 800b56c: 8abb ldrh r3, [r7, #20] - 800b56e: f023 0320 bic.w r3, r3, #32 ; 0x20 - 800b572: 82bb strh r3, [r7, #20] - /* Set the Output Compare Polarity */ - tmpccer |= (uint16_t)(TIM_OCInitStruct->TIM_OCPolarity << 4); - 800b574: 68bb ldr r3, [r7, #8] - 800b576: 899b ldrh r3, [r3, #12] - 800b578: ea4f 1303 mov.w r3, r3, lsl #4 - 800b57c: b29a uxth r2, r3 - 800b57e: 8abb ldrh r3, [r7, #20] - 800b580: ea42 0303 orr.w r3, r2, r3 - 800b584: 82bb strh r3, [r7, #20] - - /* Set the Output State */ - tmpccer |= (uint16_t)(TIM_OCInitStruct->TIM_OutputState << 4); - 800b586: 68bb ldr r3, [r7, #8] - 800b588: 885b ldrh r3, [r3, #2] - 800b58a: ea4f 1303 mov.w r3, r3, lsl #4 - 800b58e: b29a uxth r2, r3 - 800b590: 8abb ldrh r3, [r7, #20] - 800b592: ea42 0303 orr.w r3, r2, r3 - 800b596: 82bb strh r3, [r7, #20] - - if((TIMx == TIM1) || (TIMx == TIM8)) - 800b598: 68fa ldr r2, [r7, #12] - 800b59a: 4b26 ldr r3, [pc, #152] (800b634 ) - 800b59c: 429a cmp r2, r3 - 800b59e: d003 beq.n 800b5a8 - 800b5a0: 68fa ldr r2, [r7, #12] - 800b5a2: 4b25 ldr r3, [pc, #148] (800b638 ) - 800b5a4: 429a cmp r2, r3 - 800b5a6: d133 bne.n 800b610 - //assert_param(IS_TIM_OCN_POLARITY(TIM_OCInitStruct->TIM_OCNPolarity)); - //assert_param(IS_TIM_OCNIDLE_STATE(TIM_OCInitStruct->TIM_OCNIdleState)); - //assert_param(IS_TIM_OCIDLE_STATE(TIM_OCInitStruct->TIM_OCIdleState)); - - /* Reset the Output N Polarity level */ - tmpccer &= (uint16_t)~TIM_CCER_CC2NP; - 800b5a8: 8abb ldrh r3, [r7, #20] - 800b5aa: f023 0380 bic.w r3, r3, #128 ; 0x80 - 800b5ae: 82bb strh r3, [r7, #20] - /* Set the Output N Polarity */ - tmpccer |= (uint16_t)(TIM_OCInitStruct->TIM_OCNPolarity << 4); - 800b5b0: 68bb ldr r3, [r7, #8] - 800b5b2: 89db ldrh r3, [r3, #14] - 800b5b4: ea4f 1303 mov.w r3, r3, lsl #4 - 800b5b8: b29a uxth r2, r3 - 800b5ba: 8abb ldrh r3, [r7, #20] - 800b5bc: ea42 0303 orr.w r3, r2, r3 - 800b5c0: 82bb strh r3, [r7, #20] - /* Reset the Output N State */ - tmpccer &= (uint16_t)~TIM_CCER_CC2NE; - 800b5c2: 8abb ldrh r3, [r7, #20] - 800b5c4: f023 0340 bic.w r3, r3, #64 ; 0x40 - 800b5c8: 82bb strh r3, [r7, #20] - - /* Set the Output N State */ - tmpccer |= (uint16_t)(TIM_OCInitStruct->TIM_OutputNState << 4); - 800b5ca: 68bb ldr r3, [r7, #8] - 800b5cc: 889b ldrh r3, [r3, #4] - 800b5ce: ea4f 1303 mov.w r3, r3, lsl #4 - 800b5d2: b29a uxth r2, r3 - 800b5d4: 8abb ldrh r3, [r7, #20] - 800b5d6: ea42 0303 orr.w r3, r2, r3 - 800b5da: 82bb strh r3, [r7, #20] - /* Reset the Output Compare and Output Compare N IDLE State */ - tmpcr2 &= (uint16_t)~TIM_CR2_OIS2; - 800b5dc: 8afb ldrh r3, [r7, #22] - 800b5de: f423 6380 bic.w r3, r3, #1024 ; 0x400 - 800b5e2: 82fb strh r3, [r7, #22] - tmpcr2 &= (uint16_t)~TIM_CR2_OIS2N; - 800b5e4: 8afb ldrh r3, [r7, #22] - 800b5e6: f423 6300 bic.w r3, r3, #2048 ; 0x800 - 800b5ea: 82fb strh r3, [r7, #22] - /* Set the Output Idle state */ - tmpcr2 |= (uint16_t)(TIM_OCInitStruct->TIM_OCIdleState << 2); - 800b5ec: 68bb ldr r3, [r7, #8] - 800b5ee: 8a1b ldrh r3, [r3, #16] - 800b5f0: ea4f 0383 mov.w r3, r3, lsl #2 - 800b5f4: b29a uxth r2, r3 - 800b5f6: 8afb ldrh r3, [r7, #22] - 800b5f8: ea42 0303 orr.w r3, r2, r3 - 800b5fc: 82fb strh r3, [r7, #22] - /* Set the Output N Idle state */ - tmpcr2 |= (uint16_t)(TIM_OCInitStruct->TIM_OCNIdleState << 2); - 800b5fe: 68bb ldr r3, [r7, #8] - 800b600: 8a5b ldrh r3, [r3, #18] - 800b602: ea4f 0383 mov.w r3, r3, lsl #2 - 800b606: b29a uxth r2, r3 - 800b608: 8afb ldrh r3, [r7, #22] - 800b60a: ea42 0303 orr.w r3, r2, r3 - 800b60e: 82fb strh r3, [r7, #22] - } - /* Write to TIMx CR2 */ - TIMx->CR2 = tmpcr2; - 800b610: 68fa ldr r2, [r7, #12] - 800b612: 8afb ldrh r3, [r7, #22] - 800b614: 8093 strh r3, [r2, #4] - - /* Write to TIMx CCMR1 */ - TIMx->CCMR1 = tmpccmrx; - 800b616: 68fa ldr r2, [r7, #12] - 800b618: 8a7b ldrh r3, [r7, #18] - 800b61a: 8313 strh r3, [r2, #24] - - /* Set the Capture Compare Register value */ - TIMx->CCR2 = TIM_OCInitStruct->TIM_Pulse; - 800b61c: 68bb ldr r3, [r7, #8] - 800b61e: 689a ldr r2, [r3, #8] - 800b620: 68fb ldr r3, [r7, #12] - 800b622: 639a str r2, [r3, #56] - - /* Write to TIMx CCER */ - TIMx->CCER = tmpccer; - 800b624: 68fa ldr r2, [r7, #12] - 800b626: 8abb ldrh r3, [r7, #20] - 800b628: 8413 strh r3, [r2, #32] -} - 800b62a: f107 071c add.w r7, r7, #28 ; 0x1c - 800b62e: 46bd mov sp, r7 - 800b630: bc80 pop {r7} - 800b632: 4770 bx lr - 800b634: 40010000 .word 0x40010000 - 800b638: 40010400 .word 0x40010400 - -0800b63c : - * @param TIM_OCInitStruct: pointer to a TIM_OCInitTypeDef structure that contains - * the configuration information for the specified TIM peripheral. - * @retval None - */ -void TIM_OC3Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct) -{ - 800b63c: b480 push {r7} - 800b63e: b087 sub sp, #28 - 800b640: af00 add r7, sp, #0 - 800b642: 60f8 str r0, [r7, #12] - 800b644: 60b9 str r1, [r7, #8] - uint16_t tmpccmrx = 0, tmpccer = 0, tmpcr2 = 0; - 800b646: f04f 0300 mov.w r3, #0 ; 0x0 - 800b64a: 827b strh r3, [r7, #18] - 800b64c: f04f 0300 mov.w r3, #0 ; 0x0 - 800b650: 82bb strh r3, [r7, #20] - 800b652: f04f 0300 mov.w r3, #0 ; 0x0 - 800b656: 82fb strh r3, [r7, #22] - //assert_param(IS_TIM_OC_MODE(TIM_OCInitStruct->TIM_OCMode)); - //assert_param(IS_TIM_OUTPUT_STATE(TIM_OCInitStruct->TIM_OutputState)); - //assert_param(IS_TIM_OC_POLARITY(TIM_OCInitStruct->TIM_OCPolarity)); - - /* Disable the Channel 3: Reset the CC2E Bit */ - TIMx->CCER &= (uint16_t)~TIM_CCER_CC3E; - 800b658: 68fb ldr r3, [r7, #12] - 800b65a: 8c1b ldrh r3, [r3, #32] - 800b65c: b29b uxth r3, r3 - 800b65e: 607b str r3, [r7, #4] - 800b660: f64f 63ff movw r3, #65279 ; 0xfeff - 800b664: 6879 ldr r1, [r7, #4] - 800b666: ea01 0303 and.w r3, r1, r3 - 800b66a: 607b str r3, [r7, #4] - 800b66c: 68fa ldr r2, [r7, #12] - 800b66e: 6879 ldr r1, [r7, #4] - 800b670: 460b mov r3, r1 - 800b672: 8413 strh r3, [r2, #32] - - /* Get the TIMx CCER register value */ - tmpccer = TIMx->CCER; - 800b674: 68fb ldr r3, [r7, #12] - 800b676: 8c1b ldrh r3, [r3, #32] - 800b678: 82bb strh r3, [r7, #20] - /* Get the TIMx CR2 register value */ - tmpcr2 = TIMx->CR2; - 800b67a: 68fb ldr r3, [r7, #12] - 800b67c: 889b ldrh r3, [r3, #4] - 800b67e: 82fb strh r3, [r7, #22] - - /* Get the TIMx CCMR2 register value */ - tmpccmrx = TIMx->CCMR2; - 800b680: 68fb ldr r3, [r7, #12] - 800b682: 8b9b ldrh r3, [r3, #28] - 800b684: 827b strh r3, [r7, #18] - - /* Reset the Output Compare mode and Capture/Compare selection Bits */ - tmpccmrx &= (uint16_t)~TIM_CCMR2_OC3M; - 800b686: 8a7b ldrh r3, [r7, #18] - 800b688: f023 0370 bic.w r3, r3, #112 ; 0x70 - 800b68c: 827b strh r3, [r7, #18] - tmpccmrx &= (uint16_t)~TIM_CCMR2_CC3S; - 800b68e: 8a7b ldrh r3, [r7, #18] - 800b690: f023 0303 bic.w r3, r3, #3 ; 0x3 - 800b694: 827b strh r3, [r7, #18] - /* Select the Output Compare Mode */ - tmpccmrx |= TIM_OCInitStruct->TIM_OCMode; - 800b696: 68bb ldr r3, [r7, #8] - 800b698: 881a ldrh r2, [r3, #0] - 800b69a: 8a7b ldrh r3, [r7, #18] - 800b69c: ea42 0303 orr.w r3, r2, r3 - 800b6a0: 827b strh r3, [r7, #18] - - /* Reset the Output Polarity level */ - tmpccer &= (uint16_t)~TIM_CCER_CC3P; - 800b6a2: 8abb ldrh r3, [r7, #20] - 800b6a4: f423 7300 bic.w r3, r3, #512 ; 0x200 - 800b6a8: 82bb strh r3, [r7, #20] - /* Set the Output Compare Polarity */ - tmpccer |= (uint16_t)(TIM_OCInitStruct->TIM_OCPolarity << 8); - 800b6aa: 68bb ldr r3, [r7, #8] - 800b6ac: 899b ldrh r3, [r3, #12] - 800b6ae: ea4f 2303 mov.w r3, r3, lsl #8 - 800b6b2: b29a uxth r2, r3 - 800b6b4: 8abb ldrh r3, [r7, #20] - 800b6b6: ea42 0303 orr.w r3, r2, r3 - 800b6ba: 82bb strh r3, [r7, #20] - - /* Set the Output State */ - tmpccer |= (uint16_t)(TIM_OCInitStruct->TIM_OutputState << 8); - 800b6bc: 68bb ldr r3, [r7, #8] - 800b6be: 885b ldrh r3, [r3, #2] - 800b6c0: ea4f 2303 mov.w r3, r3, lsl #8 - 800b6c4: b29a uxth r2, r3 - 800b6c6: 8abb ldrh r3, [r7, #20] - 800b6c8: ea42 0303 orr.w r3, r2, r3 - 800b6cc: 82bb strh r3, [r7, #20] - - if((TIMx == TIM1) || (TIMx == TIM8)) - 800b6ce: 68fa ldr r2, [r7, #12] - 800b6d0: 4b26 ldr r3, [pc, #152] (800b76c ) - 800b6d2: 429a cmp r2, r3 - 800b6d4: d003 beq.n 800b6de - 800b6d6: 68fa ldr r2, [r7, #12] - 800b6d8: 4b25 ldr r3, [pc, #148] (800b770 ) - 800b6da: 429a cmp r2, r3 - 800b6dc: d133 bne.n 800b746 - //assert_param(IS_TIM_OCN_POLARITY(TIM_OCInitStruct->TIM_OCNPolarity)); - //assert_param(IS_TIM_OCNIDLE_STATE(TIM_OCInitStruct->TIM_OCNIdleState)); - //assert_param(IS_TIM_OCIDLE_STATE(TIM_OCInitStruct->TIM_OCIdleState)); - - /* Reset the Output N Polarity level */ - tmpccer &= (uint16_t)~TIM_CCER_CC3NP; - 800b6de: 8abb ldrh r3, [r7, #20] - 800b6e0: f423 6300 bic.w r3, r3, #2048 ; 0x800 - 800b6e4: 82bb strh r3, [r7, #20] - /* Set the Output N Polarity */ - tmpccer |= (uint16_t)(TIM_OCInitStruct->TIM_OCNPolarity << 8); - 800b6e6: 68bb ldr r3, [r7, #8] - 800b6e8: 89db ldrh r3, [r3, #14] - 800b6ea: ea4f 2303 mov.w r3, r3, lsl #8 - 800b6ee: b29a uxth r2, r3 - 800b6f0: 8abb ldrh r3, [r7, #20] - 800b6f2: ea42 0303 orr.w r3, r2, r3 - 800b6f6: 82bb strh r3, [r7, #20] - /* Reset the Output N State */ - tmpccer &= (uint16_t)~TIM_CCER_CC3NE; - 800b6f8: 8abb ldrh r3, [r7, #20] - 800b6fa: f423 6380 bic.w r3, r3, #1024 ; 0x400 - 800b6fe: 82bb strh r3, [r7, #20] - - /* Set the Output N State */ - tmpccer |= (uint16_t)(TIM_OCInitStruct->TIM_OutputNState << 8); - 800b700: 68bb ldr r3, [r7, #8] - 800b702: 889b ldrh r3, [r3, #4] - 800b704: ea4f 2303 mov.w r3, r3, lsl #8 - 800b708: b29a uxth r2, r3 - 800b70a: 8abb ldrh r3, [r7, #20] - 800b70c: ea42 0303 orr.w r3, r2, r3 - 800b710: 82bb strh r3, [r7, #20] - /* Reset the Output Compare and Output Compare N IDLE State */ - tmpcr2 &= (uint16_t)~TIM_CR2_OIS3; - 800b712: 8afb ldrh r3, [r7, #22] - 800b714: f423 5380 bic.w r3, r3, #4096 ; 0x1000 - 800b718: 82fb strh r3, [r7, #22] - tmpcr2 &= (uint16_t)~TIM_CR2_OIS3N; - 800b71a: 8afb ldrh r3, [r7, #22] - 800b71c: f423 5300 bic.w r3, r3, #8192 ; 0x2000 - 800b720: 82fb strh r3, [r7, #22] - /* Set the Output Idle state */ - tmpcr2 |= (uint16_t)(TIM_OCInitStruct->TIM_OCIdleState << 4); - 800b722: 68bb ldr r3, [r7, #8] - 800b724: 8a1b ldrh r3, [r3, #16] - 800b726: ea4f 1303 mov.w r3, r3, lsl #4 - 800b72a: b29a uxth r2, r3 - 800b72c: 8afb ldrh r3, [r7, #22] - 800b72e: ea42 0303 orr.w r3, r2, r3 - 800b732: 82fb strh r3, [r7, #22] - /* Set the Output N Idle state */ - tmpcr2 |= (uint16_t)(TIM_OCInitStruct->TIM_OCNIdleState << 4); - 800b734: 68bb ldr r3, [r7, #8] - 800b736: 8a5b ldrh r3, [r3, #18] - 800b738: ea4f 1303 mov.w r3, r3, lsl #4 - 800b73c: b29a uxth r2, r3 - 800b73e: 8afb ldrh r3, [r7, #22] - 800b740: ea42 0303 orr.w r3, r2, r3 - 800b744: 82fb strh r3, [r7, #22] - } - /* Write to TIMx CR2 */ - TIMx->CR2 = tmpcr2; - 800b746: 68fa ldr r2, [r7, #12] - 800b748: 8afb ldrh r3, [r7, #22] - 800b74a: 8093 strh r3, [r2, #4] - - /* Write to TIMx CCMR2 */ - TIMx->CCMR2 = tmpccmrx; - 800b74c: 68fa ldr r2, [r7, #12] - 800b74e: 8a7b ldrh r3, [r7, #18] - 800b750: 8393 strh r3, [r2, #28] - - /* Set the Capture Compare Register value */ - TIMx->CCR3 = TIM_OCInitStruct->TIM_Pulse; - 800b752: 68bb ldr r3, [r7, #8] - 800b754: 689a ldr r2, [r3, #8] - 800b756: 68fb ldr r3, [r7, #12] - 800b758: 63da str r2, [r3, #60] - - /* Write to TIMx CCER */ - TIMx->CCER = tmpccer; - 800b75a: 68fa ldr r2, [r7, #12] - 800b75c: 8abb ldrh r3, [r7, #20] - 800b75e: 8413 strh r3, [r2, #32] -} - 800b760: f107 071c add.w r7, r7, #28 ; 0x1c - 800b764: 46bd mov sp, r7 - 800b766: bc80 pop {r7} - 800b768: 4770 bx lr - 800b76a: 46c0 nop (mov r8, r8) - 800b76c: 40010000 .word 0x40010000 - 800b770: 40010400 .word 0x40010400 - -0800b774 : - * @param TIM_OCInitStruct: pointer to a TIM_OCInitTypeDef structure that contains - * the configuration information for the specified TIM peripheral. - * @retval None - */ -void TIM_OC4Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct) -{ - 800b774: b480 push {r7} - 800b776: b087 sub sp, #28 - 800b778: af00 add r7, sp, #0 - 800b77a: 60f8 str r0, [r7, #12] - 800b77c: 60b9 str r1, [r7, #8] - uint16_t tmpccmrx = 0, tmpccer = 0, tmpcr2 = 0; - 800b77e: f04f 0300 mov.w r3, #0 ; 0x0 - 800b782: 827b strh r3, [r7, #18] - 800b784: f04f 0300 mov.w r3, #0 ; 0x0 - 800b788: 82bb strh r3, [r7, #20] - 800b78a: f04f 0300 mov.w r3, #0 ; 0x0 - 800b78e: 82fb strh r3, [r7, #22] - //assert_param(IS_TIM_OC_MODE(TIM_OCInitStruct->TIM_OCMode)); - //assert_param(IS_TIM_OUTPUT_STATE(TIM_OCInitStruct->TIM_OutputState)); - //assert_param(IS_TIM_OC_POLARITY(TIM_OCInitStruct->TIM_OCPolarity)); - - /* Disable the Channel 4: Reset the CC4E Bit */ - TIMx->CCER &= (uint16_t)~TIM_CCER_CC4E; - 800b790: 68fb ldr r3, [r7, #12] - 800b792: 8c1b ldrh r3, [r3, #32] - 800b794: b29b uxth r3, r3 - 800b796: 607b str r3, [r7, #4] - 800b798: f64e 73ff movw r3, #61439 ; 0xefff - 800b79c: 6879 ldr r1, [r7, #4] - 800b79e: ea01 0303 and.w r3, r1, r3 - 800b7a2: 607b str r3, [r7, #4] - 800b7a4: 68fa ldr r2, [r7, #12] - 800b7a6: 6879 ldr r1, [r7, #4] - 800b7a8: 460b mov r3, r1 - 800b7aa: 8413 strh r3, [r2, #32] - - /* Get the TIMx CCER register value */ - tmpccer = TIMx->CCER; - 800b7ac: 68fb ldr r3, [r7, #12] - 800b7ae: 8c1b ldrh r3, [r3, #32] - 800b7b0: 82bb strh r3, [r7, #20] - /* Get the TIMx CR2 register value */ - tmpcr2 = TIMx->CR2; - 800b7b2: 68fb ldr r3, [r7, #12] - 800b7b4: 889b ldrh r3, [r3, #4] - 800b7b6: 82fb strh r3, [r7, #22] - - /* Get the TIMx CCMR2 register value */ - tmpccmrx = TIMx->CCMR2; - 800b7b8: 68fb ldr r3, [r7, #12] - 800b7ba: 8b9b ldrh r3, [r3, #28] - 800b7bc: 827b strh r3, [r7, #18] - - /* Reset the Output Compare mode and Capture/Compare selection Bits */ - tmpccmrx &= (uint16_t)~TIM_CCMR2_OC4M; - 800b7be: 8a7b ldrh r3, [r7, #18] - 800b7c0: f423 43e0 bic.w r3, r3, #28672 ; 0x7000 - 800b7c4: 827b strh r3, [r7, #18] - tmpccmrx &= (uint16_t)~TIM_CCMR2_CC4S; - 800b7c6: 8a7b ldrh r3, [r7, #18] - 800b7c8: f423 7340 bic.w r3, r3, #768 ; 0x300 - 800b7cc: 827b strh r3, [r7, #18] - - /* Select the Output Compare Mode */ - tmpccmrx |= (uint16_t)(TIM_OCInitStruct->TIM_OCMode << 8); - 800b7ce: 68bb ldr r3, [r7, #8] - 800b7d0: 881b ldrh r3, [r3, #0] - 800b7d2: ea4f 2303 mov.w r3, r3, lsl #8 - 800b7d6: b29a uxth r2, r3 - 800b7d8: 8a7b ldrh r3, [r7, #18] - 800b7da: ea42 0303 orr.w r3, r2, r3 - 800b7de: 827b strh r3, [r7, #18] - - /* Reset the Output Polarity level */ - tmpccer &= (uint16_t)~TIM_CCER_CC4P; - 800b7e0: 8abb ldrh r3, [r7, #20] - 800b7e2: f423 5300 bic.w r3, r3, #8192 ; 0x2000 - 800b7e6: 82bb strh r3, [r7, #20] - /* Set the Output Compare Polarity */ - tmpccer |= (uint16_t)(TIM_OCInitStruct->TIM_OCPolarity << 12); - 800b7e8: 68bb ldr r3, [r7, #8] - 800b7ea: 899b ldrh r3, [r3, #12] - 800b7ec: ea4f 3303 mov.w r3, r3, lsl #12 - 800b7f0: b29a uxth r2, r3 - 800b7f2: 8abb ldrh r3, [r7, #20] - 800b7f4: ea42 0303 orr.w r3, r2, r3 - 800b7f8: 82bb strh r3, [r7, #20] - - /* Set the Output State */ - tmpccer |= (uint16_t)(TIM_OCInitStruct->TIM_OutputState << 12); - 800b7fa: 68bb ldr r3, [r7, #8] - 800b7fc: 885b ldrh r3, [r3, #2] - 800b7fe: ea4f 3303 mov.w r3, r3, lsl #12 - 800b802: b29a uxth r2, r3 - 800b804: 8abb ldrh r3, [r7, #20] - 800b806: ea42 0303 orr.w r3, r2, r3 - 800b80a: 82bb strh r3, [r7, #20] - - if((TIMx == TIM1) || (TIMx == TIM8)) - 800b80c: 68fa ldr r2, [r7, #12] - 800b80e: 4b13 ldr r3, [pc, #76] (800b85c ) - 800b810: 429a cmp r2, r3 - 800b812: d003 beq.n 800b81c - 800b814: 68fa ldr r2, [r7, #12] - 800b816: 4b12 ldr r3, [pc, #72] (800b860 ) - 800b818: 429a cmp r2, r3 - 800b81a: d10c bne.n 800b836 - { - //assert_param(IS_TIM_OCIDLE_STATE(TIM_OCInitStruct->TIM_OCIdleState)); - /* Reset the Output Compare IDLE State */ - tmpcr2 &=(uint16_t) ~TIM_CR2_OIS4; - 800b81c: 8afb ldrh r3, [r7, #22] - 800b81e: f423 4380 bic.w r3, r3, #16384 ; 0x4000 - 800b822: 82fb strh r3, [r7, #22] - /* Set the Output Idle state */ - tmpcr2 |= (uint16_t)(TIM_OCInitStruct->TIM_OCIdleState << 6); - 800b824: 68bb ldr r3, [r7, #8] - 800b826: 8a1b ldrh r3, [r3, #16] - 800b828: ea4f 1383 mov.w r3, r3, lsl #6 - 800b82c: b29a uxth r2, r3 - 800b82e: 8afb ldrh r3, [r7, #22] - 800b830: ea42 0303 orr.w r3, r2, r3 - 800b834: 82fb strh r3, [r7, #22] - } - /* Write to TIMx CR2 */ - TIMx->CR2 = tmpcr2; - 800b836: 68fa ldr r2, [r7, #12] - 800b838: 8afb ldrh r3, [r7, #22] - 800b83a: 8093 strh r3, [r2, #4] - - /* Write to TIMx CCMR2 */ - TIMx->CCMR2 = tmpccmrx; - 800b83c: 68fa ldr r2, [r7, #12] - 800b83e: 8a7b ldrh r3, [r7, #18] - 800b840: 8393 strh r3, [r2, #28] - - /* Set the Capture Compare Register value */ - TIMx->CCR4 = TIM_OCInitStruct->TIM_Pulse; - 800b842: 68bb ldr r3, [r7, #8] - 800b844: 689a ldr r2, [r3, #8] - 800b846: 68fb ldr r3, [r7, #12] - 800b848: 641a str r2, [r3, #64] - - /* Write to TIMx CCER */ - TIMx->CCER = tmpccer; - 800b84a: 68fa ldr r2, [r7, #12] - 800b84c: 8abb ldrh r3, [r7, #20] - 800b84e: 8413 strh r3, [r2, #32] -} - 800b850: f107 071c add.w r7, r7, #28 ; 0x1c - 800b854: 46bd mov sp, r7 - 800b856: bc80 pop {r7} - 800b858: 4770 bx lr - 800b85a: 46c0 nop (mov r8, r8) - 800b85c: 40010000 .word 0x40010000 - 800b860: 40010400 .word 0x40010400 - -0800b864 : - * @param TIM_OCInitStruct: pointer to a TIM_OCInitTypeDef structure which will - * be initialized. - * @retval None - */ -void TIM_OCStructInit(TIM_OCInitTypeDef* TIM_OCInitStruct) -{ - 800b864: b480 push {r7} - 800b866: b083 sub sp, #12 - 800b868: af00 add r7, sp, #0 - 800b86a: 6078 str r0, [r7, #4] - /* Set the default configuration */ - TIM_OCInitStruct->TIM_OCMode = TIM_OCMode_Timing; - 800b86c: 687a ldr r2, [r7, #4] - 800b86e: f04f 0300 mov.w r3, #0 ; 0x0 - 800b872: 8013 strh r3, [r2, #0] - TIM_OCInitStruct->TIM_OutputState = TIM_OutputState_Disable; - 800b874: 687a ldr r2, [r7, #4] - 800b876: f04f 0300 mov.w r3, #0 ; 0x0 - 800b87a: 8053 strh r3, [r2, #2] - TIM_OCInitStruct->TIM_OutputNState = TIM_OutputNState_Disable; - 800b87c: 687a ldr r2, [r7, #4] - 800b87e: f04f 0300 mov.w r3, #0 ; 0x0 - 800b882: 8093 strh r3, [r2, #4] - TIM_OCInitStruct->TIM_Pulse = 0x00000000; - 800b884: 687a ldr r2, [r7, #4] - 800b886: f04f 0300 mov.w r3, #0 ; 0x0 - 800b88a: 6093 str r3, [r2, #8] - TIM_OCInitStruct->TIM_OCPolarity = TIM_OCPolarity_High; - 800b88c: 687a ldr r2, [r7, #4] - 800b88e: f04f 0300 mov.w r3, #0 ; 0x0 - 800b892: 8193 strh r3, [r2, #12] - TIM_OCInitStruct->TIM_OCNPolarity = TIM_OCPolarity_High; - 800b894: 687a ldr r2, [r7, #4] - 800b896: f04f 0300 mov.w r3, #0 ; 0x0 - 800b89a: 81d3 strh r3, [r2, #14] - TIM_OCInitStruct->TIM_OCIdleState = TIM_OCIdleState_Reset; - 800b89c: 687a ldr r2, [r7, #4] - 800b89e: f04f 0300 mov.w r3, #0 ; 0x0 - 800b8a2: 8213 strh r3, [r2, #16] - TIM_OCInitStruct->TIM_OCNIdleState = TIM_OCNIdleState_Reset; - 800b8a4: 687a ldr r2, [r7, #4] - 800b8a6: f04f 0300 mov.w r3, #0 ; 0x0 - 800b8aa: 8253 strh r3, [r2, #18] -} - 800b8ac: f107 070c add.w r7, r7, #12 ; 0xc - 800b8b0: 46bd mov sp, r7 - 800b8b2: bc80 pop {r7} - 800b8b4: 4770 bx lr - 800b8b6: 46c0 nop (mov r8, r8) - -0800b8b8 : - * @arg TIM_ForcedAction_Active - * @arg TIM_ForcedAction_InActive - * @retval None - */ -void TIM_SelectOCxM(TIM_TypeDef* TIMx, uint16_t TIM_Channel, uint16_t TIM_OCMode) -{ - 800b8b8: b480 push {r7} - 800b8ba: b085 sub sp, #20 - 800b8bc: af00 add r7, sp, #0 - 800b8be: 6078 str r0, [r7, #4] - 800b8c0: 460b mov r3, r1 - 800b8c2: 807b strh r3, [r7, #2] - 800b8c4: 4613 mov r3, r2 - 800b8c6: 803b strh r3, [r7, #0] - uint32_t tmp = 0; - 800b8c8: f04f 0300 mov.w r3, #0 ; 0x0 - 800b8cc: 60bb str r3, [r7, #8] - uint16_t tmp1 = 0; - 800b8ce: f04f 0300 mov.w r3, #0 ; 0x0 - 800b8d2: 81fb strh r3, [r7, #14] - /* Check the parameters */ - //assert_param(IS_TIM_LIST1_PERIPH(TIMx)); - //assert_param(IS_TIM_CHANNEL(TIM_Channel)); - //assert_param(IS_TIM_OCM(TIM_OCMode)); - - tmp = (uint32_t) TIMx; - 800b8d4: 687b ldr r3, [r7, #4] - 800b8d6: 60bb str r3, [r7, #8] - tmp += CCMR_OFFSET; - 800b8d8: 68bb ldr r3, [r7, #8] - 800b8da: f103 0318 add.w r3, r3, #24 ; 0x18 - 800b8de: 60bb str r3, [r7, #8] - - tmp1 = CCER_CCE_SET << (uint16_t)TIM_Channel; - 800b8e0: 887a ldrh r2, [r7, #2] - 800b8e2: f04f 0301 mov.w r3, #1 ; 0x1 - 800b8e6: fa03 f302 lsl.w r3, r3, r2 - 800b8ea: 81fb strh r3, [r7, #14] - - /* Disable the Channel: Reset the CCxE Bit */ - TIMx->CCER &= (uint16_t) ~tmp1; - 800b8ec: 687b ldr r3, [r7, #4] - 800b8ee: 8c1b ldrh r3, [r3, #32] - 800b8f0: b29a uxth r2, r3 - 800b8f2: 89fb ldrh r3, [r7, #14] - 800b8f4: ea6f 0303 mvn.w r3, r3 - 800b8f8: b29b uxth r3, r3 - 800b8fa: ea02 0303 and.w r3, r2, r3 - 800b8fe: b29b uxth r3, r3 - 800b900: 687a ldr r2, [r7, #4] - 800b902: 8413 strh r3, [r2, #32] - - if((TIM_Channel == TIM_Channel_1) ||(TIM_Channel == TIM_Channel_3)) - 800b904: 887b ldrh r3, [r7, #2] - 800b906: 2b00 cmp r3, #0 - 800b908: d002 beq.n 800b910 - 800b90a: 887b ldrh r3, [r7, #2] - 800b90c: 2b08 cmp r3, #8 - 800b90e: d117 bne.n 800b940 - { - tmp += (TIM_Channel>>1); - 800b910: 887b ldrh r3, [r7, #2] - 800b912: ea4f 0353 mov.w r3, r3, lsr #1 - 800b916: b29b uxth r3, r3 - 800b918: 461a mov r2, r3 - 800b91a: 68bb ldr r3, [r7, #8] - 800b91c: 4413 add r3, r2 - 800b91e: 60bb str r3, [r7, #8] - - /* Reset the OCxM bits in the CCMRx register */ - *(__IO uint32_t *) tmp &= CCMR_OC13M_MASK; - 800b920: 68b9 ldr r1, [r7, #8] - 800b922: 68bb ldr r3, [r7, #8] - 800b924: 681a ldr r2, [r3, #0] - 800b926: f64f 738f movw r3, #65423 ; 0xff8f - 800b92a: ea02 0303 and.w r3, r2, r3 - 800b92e: 600b str r3, [r1, #0] - - /* Configure the OCxM bits in the CCMRx register */ - *(__IO uint32_t *) tmp |= TIM_OCMode; - 800b930: 68b9 ldr r1, [r7, #8] - 800b932: 68bb ldr r3, [r7, #8] - 800b934: 681a ldr r2, [r3, #0] - 800b936: 883b ldrh r3, [r7, #0] - 800b938: ea42 0303 orr.w r3, r2, r3 - 800b93c: 600b str r3, [r1, #0] - 800b93e: e01c b.n 800b97a - } - else - { - tmp += (uint16_t)(TIM_Channel - (uint16_t)4)>> (uint16_t)1; - 800b940: 887b ldrh r3, [r7, #2] - 800b942: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 800b946: b29b uxth r3, r3 - 800b948: ea4f 0353 mov.w r3, r3, lsr #1 - 800b94c: b29b uxth r3, r3 - 800b94e: 461a mov r2, r3 - 800b950: 68bb ldr r3, [r7, #8] - 800b952: 4413 add r3, r2 - 800b954: 60bb str r3, [r7, #8] - - /* Reset the OCxM bits in the CCMRx register */ - *(__IO uint32_t *) tmp &= CCMR_OC24M_MASK; - 800b956: 68b9 ldr r1, [r7, #8] - 800b958: 68bb ldr r3, [r7, #8] - 800b95a: 681a ldr r2, [r3, #0] - 800b95c: f648 73ff movw r3, #36863 ; 0x8fff - 800b960: ea02 0303 and.w r3, r2, r3 - 800b964: 600b str r3, [r1, #0] - - /* Configure the OCxM bits in the CCMRx register */ - *(__IO uint32_t *) tmp |= (uint16_t)(TIM_OCMode << 8); - 800b966: 68b9 ldr r1, [r7, #8] - 800b968: 68bb ldr r3, [r7, #8] - 800b96a: 681a ldr r2, [r3, #0] - 800b96c: 883b ldrh r3, [r7, #0] - 800b96e: ea4f 2303 mov.w r3, r3, lsl #8 - 800b972: b29b uxth r3, r3 - 800b974: ea42 0303 orr.w r3, r2, r3 - 800b978: 600b str r3, [r1, #0] - } -} - 800b97a: f107 0714 add.w r7, r7, #20 ; 0x14 - 800b97e: 46bd mov sp, r7 - 800b980: bc80 pop {r7} - 800b982: 4770 bx lr - -0800b984 : - * @param TIMx: where x can be 1 to 14 except 6 and 7, to select the TIM peripheral. - * @param Compare1: specifies the Capture Compare1 register new value. - * @retval None - */ -void TIM_SetCompare1(TIM_TypeDef* TIMx, uint32_t Compare1) -{ - 800b984: b480 push {r7} - 800b986: b083 sub sp, #12 - 800b988: af00 add r7, sp, #0 - 800b98a: 6078 str r0, [r7, #4] - 800b98c: 6039 str r1, [r7, #0] - /* Check the parameters */ - //assert_param(IS_TIM_LIST1_PERIPH(TIMx)); - - /* Set the Capture Compare1 Register value */ - TIMx->CCR1 = Compare1; - 800b98e: 687a ldr r2, [r7, #4] - 800b990: 683b ldr r3, [r7, #0] - 800b992: 6353 str r3, [r2, #52] -} - 800b994: f107 070c add.w r7, r7, #12 ; 0xc - 800b998: 46bd mov sp, r7 - 800b99a: bc80 pop {r7} - 800b99c: 4770 bx lr - 800b99e: 46c0 nop (mov r8, r8) - -0800b9a0 : - * peripheral. - * @param Compare2: specifies the Capture Compare2 register new value. - * @retval None - */ -void TIM_SetCompare2(TIM_TypeDef* TIMx, uint32_t Compare2) -{ - 800b9a0: b480 push {r7} - 800b9a2: b083 sub sp, #12 - 800b9a4: af00 add r7, sp, #0 - 800b9a6: 6078 str r0, [r7, #4] - 800b9a8: 6039 str r1, [r7, #0] - /* Check the parameters */ - //assert_param(IS_TIM_LIST2_PERIPH(TIMx)); - - /* Set the Capture Compare2 Register value */ - TIMx->CCR2 = Compare2; - 800b9aa: 687a ldr r2, [r7, #4] - 800b9ac: 683b ldr r3, [r7, #0] - 800b9ae: 6393 str r3, [r2, #56] -} - 800b9b0: f107 070c add.w r7, r7, #12 ; 0xc - 800b9b4: 46bd mov sp, r7 - 800b9b6: bc80 pop {r7} - 800b9b8: 4770 bx lr - 800b9ba: 46c0 nop (mov r8, r8) - -0800b9bc : - * @param TIMx: where x can be 1, 2, 3, 4, 5 or 8 to select the TIM peripheral. - * @param Compare3: specifies the Capture Compare3 register new value. - * @retval None - */ -void TIM_SetCompare3(TIM_TypeDef* TIMx, uint32_t Compare3) -{ - 800b9bc: b480 push {r7} - 800b9be: b083 sub sp, #12 - 800b9c0: af00 add r7, sp, #0 - 800b9c2: 6078 str r0, [r7, #4] - 800b9c4: 6039 str r1, [r7, #0] - /* Check the parameters */ - //assert_param(IS_TIM_LIST3_PERIPH(TIMx)); - - /* Set the Capture Compare3 Register value */ - TIMx->CCR3 = Compare3; - 800b9c6: 687a ldr r2, [r7, #4] - 800b9c8: 683b ldr r3, [r7, #0] - 800b9ca: 63d3 str r3, [r2, #60] -} - 800b9cc: f107 070c add.w r7, r7, #12 ; 0xc - 800b9d0: 46bd mov sp, r7 - 800b9d2: bc80 pop {r7} - 800b9d4: 4770 bx lr - 800b9d6: 46c0 nop (mov r8, r8) - -0800b9d8 : - * @param TIMx: where x can be 1, 2, 3, 4, 5 or 8 to select the TIM peripheral. - * @param Compare4: specifies the Capture Compare4 register new value. - * @retval None - */ -void TIM_SetCompare4(TIM_TypeDef* TIMx, uint32_t Compare4) -{ - 800b9d8: b480 push {r7} - 800b9da: b083 sub sp, #12 - 800b9dc: af00 add r7, sp, #0 - 800b9de: 6078 str r0, [r7, #4] - 800b9e0: 6039 str r1, [r7, #0] - /* Check the parameters */ - //assert_param(IS_TIM_LIST3_PERIPH(TIMx)); - - /* Set the Capture Compare4 Register value */ - TIMx->CCR4 = Compare4; - 800b9e2: 687a ldr r2, [r7, #4] - 800b9e4: 683b ldr r3, [r7, #0] - 800b9e6: 6413 str r3, [r2, #64] -} - 800b9e8: f107 070c add.w r7, r7, #12 ; 0xc - 800b9ec: 46bd mov sp, r7 - 800b9ee: bc80 pop {r7} - 800b9f0: 4770 bx lr - 800b9f2: 46c0 nop (mov r8, r8) - -0800b9f4 : - * @arg TIM_ForcedAction_Active: Force active level on OC1REF - * @arg TIM_ForcedAction_InActive: Force inactive level on OC1REF. - * @retval None - */ -void TIM_ForcedOC1Config(TIM_TypeDef* TIMx, uint16_t TIM_ForcedAction) -{ - 800b9f4: b480 push {r7} - 800b9f6: b085 sub sp, #20 - 800b9f8: af00 add r7, sp, #0 - 800b9fa: 6078 str r0, [r7, #4] - 800b9fc: 460b mov r3, r1 - 800b9fe: 807b strh r3, [r7, #2] - uint16_t tmpccmr1 = 0; - 800ba00: f04f 0300 mov.w r3, #0 ; 0x0 - 800ba04: 81fb strh r3, [r7, #14] - - /* Check the parameters */ - //assert_param(IS_TIM_LIST1_PERIPH(TIMx)); - //assert_param(IS_TIM_FORCED_ACTION(TIM_ForcedAction)); - tmpccmr1 = TIMx->CCMR1; - 800ba06: 687b ldr r3, [r7, #4] - 800ba08: 8b1b ldrh r3, [r3, #24] - 800ba0a: 81fb strh r3, [r7, #14] - - /* Reset the OC1M Bits */ - tmpccmr1 &= (uint16_t)~TIM_CCMR1_OC1M; - 800ba0c: 89fb ldrh r3, [r7, #14] - 800ba0e: f023 0370 bic.w r3, r3, #112 ; 0x70 - 800ba12: 81fb strh r3, [r7, #14] - - /* Configure The Forced output Mode */ - tmpccmr1 |= TIM_ForcedAction; - 800ba14: 89fa ldrh r2, [r7, #14] - 800ba16: 887b ldrh r3, [r7, #2] - 800ba18: ea42 0303 orr.w r3, r2, r3 - 800ba1c: 81fb strh r3, [r7, #14] - - /* Write to TIMx CCMR1 register */ - TIMx->CCMR1 = tmpccmr1; - 800ba1e: 687a ldr r2, [r7, #4] - 800ba20: 89fb ldrh r3, [r7, #14] - 800ba22: 8313 strh r3, [r2, #24] -} - 800ba24: f107 0714 add.w r7, r7, #20 ; 0x14 - 800ba28: 46bd mov sp, r7 - 800ba2a: bc80 pop {r7} - 800ba2c: 4770 bx lr - 800ba2e: 46c0 nop (mov r8, r8) - -0800ba30 : - * @arg TIM_ForcedAction_Active: Force active level on OC2REF - * @arg TIM_ForcedAction_InActive: Force inactive level on OC2REF. - * @retval None - */ -void TIM_ForcedOC2Config(TIM_TypeDef* TIMx, uint16_t TIM_ForcedAction) -{ - 800ba30: b480 push {r7} - 800ba32: b085 sub sp, #20 - 800ba34: af00 add r7, sp, #0 - 800ba36: 6078 str r0, [r7, #4] - 800ba38: 460b mov r3, r1 - 800ba3a: 807b strh r3, [r7, #2] - uint16_t tmpccmr1 = 0; - 800ba3c: f04f 0300 mov.w r3, #0 ; 0x0 - 800ba40: 81fb strh r3, [r7, #14] - - /* Check the parameters */ - //assert_param(IS_TIM_LIST2_PERIPH(TIMx)); - //assert_param(IS_TIM_FORCED_ACTION(TIM_ForcedAction)); - tmpccmr1 = TIMx->CCMR1; - 800ba42: 687b ldr r3, [r7, #4] - 800ba44: 8b1b ldrh r3, [r3, #24] - 800ba46: 81fb strh r3, [r7, #14] - - /* Reset the OC2M Bits */ - tmpccmr1 &= (uint16_t)~TIM_CCMR1_OC2M; - 800ba48: 89fb ldrh r3, [r7, #14] - 800ba4a: f423 43e0 bic.w r3, r3, #28672 ; 0x7000 - 800ba4e: 81fb strh r3, [r7, #14] - - /* Configure The Forced output Mode */ - tmpccmr1 |= (uint16_t)(TIM_ForcedAction << 8); - 800ba50: 887b ldrh r3, [r7, #2] - 800ba52: ea4f 2303 mov.w r3, r3, lsl #8 - 800ba56: b29a uxth r2, r3 - 800ba58: 89fb ldrh r3, [r7, #14] - 800ba5a: ea42 0303 orr.w r3, r2, r3 - 800ba5e: 81fb strh r3, [r7, #14] - - /* Write to TIMx CCMR1 register */ - TIMx->CCMR1 = tmpccmr1; - 800ba60: 687a ldr r2, [r7, #4] - 800ba62: 89fb ldrh r3, [r7, #14] - 800ba64: 8313 strh r3, [r2, #24] -} - 800ba66: f107 0714 add.w r7, r7, #20 ; 0x14 - 800ba6a: 46bd mov sp, r7 - 800ba6c: bc80 pop {r7} - 800ba6e: 4770 bx lr - -0800ba70 : - * @arg TIM_ForcedAction_Active: Force active level on OC3REF - * @arg TIM_ForcedAction_InActive: Force inactive level on OC3REF. - * @retval None - */ -void TIM_ForcedOC3Config(TIM_TypeDef* TIMx, uint16_t TIM_ForcedAction) -{ - 800ba70: b480 push {r7} - 800ba72: b085 sub sp, #20 - 800ba74: af00 add r7, sp, #0 - 800ba76: 6078 str r0, [r7, #4] - 800ba78: 460b mov r3, r1 - 800ba7a: 807b strh r3, [r7, #2] - uint16_t tmpccmr2 = 0; - 800ba7c: f04f 0300 mov.w r3, #0 ; 0x0 - 800ba80: 81fb strh r3, [r7, #14] - - /* Check the parameters */ - //assert_param(IS_TIM_LIST3_PERIPH(TIMx)); - //assert_param(IS_TIM_FORCED_ACTION(TIM_ForcedAction)); - - tmpccmr2 = TIMx->CCMR2; - 800ba82: 687b ldr r3, [r7, #4] - 800ba84: 8b9b ldrh r3, [r3, #28] - 800ba86: 81fb strh r3, [r7, #14] - - /* Reset the OC1M Bits */ - tmpccmr2 &= (uint16_t)~TIM_CCMR2_OC3M; - 800ba88: 89fb ldrh r3, [r7, #14] - 800ba8a: f023 0370 bic.w r3, r3, #112 ; 0x70 - 800ba8e: 81fb strh r3, [r7, #14] - - /* Configure The Forced output Mode */ - tmpccmr2 |= TIM_ForcedAction; - 800ba90: 89fa ldrh r2, [r7, #14] - 800ba92: 887b ldrh r3, [r7, #2] - 800ba94: ea42 0303 orr.w r3, r2, r3 - 800ba98: 81fb strh r3, [r7, #14] - - /* Write to TIMx CCMR2 register */ - TIMx->CCMR2 = tmpccmr2; - 800ba9a: 687a ldr r2, [r7, #4] - 800ba9c: 89fb ldrh r3, [r7, #14] - 800ba9e: 8393 strh r3, [r2, #28] -} - 800baa0: f107 0714 add.w r7, r7, #20 ; 0x14 - 800baa4: 46bd mov sp, r7 - 800baa6: bc80 pop {r7} - 800baa8: 4770 bx lr - 800baaa: 46c0 nop (mov r8, r8) - -0800baac : - * @arg TIM_ForcedAction_Active: Force active level on OC4REF - * @arg TIM_ForcedAction_InActive: Force inactive level on OC4REF. - * @retval None - */ -void TIM_ForcedOC4Config(TIM_TypeDef* TIMx, uint16_t TIM_ForcedAction) -{ - 800baac: b480 push {r7} - 800baae: b085 sub sp, #20 - 800bab0: af00 add r7, sp, #0 - 800bab2: 6078 str r0, [r7, #4] - 800bab4: 460b mov r3, r1 - 800bab6: 807b strh r3, [r7, #2] - uint16_t tmpccmr2 = 0; - 800bab8: f04f 0300 mov.w r3, #0 ; 0x0 - 800babc: 81fb strh r3, [r7, #14] - - /* Check the parameters */ - //assert_param(IS_TIM_LIST3_PERIPH(TIMx)); - //assert_param(IS_TIM_FORCED_ACTION(TIM_ForcedAction)); - tmpccmr2 = TIMx->CCMR2; - 800babe: 687b ldr r3, [r7, #4] - 800bac0: 8b9b ldrh r3, [r3, #28] - 800bac2: 81fb strh r3, [r7, #14] - - /* Reset the OC2M Bits */ - tmpccmr2 &= (uint16_t)~TIM_CCMR2_OC4M; - 800bac4: 89fb ldrh r3, [r7, #14] - 800bac6: f423 43e0 bic.w r3, r3, #28672 ; 0x7000 - 800baca: 81fb strh r3, [r7, #14] - - /* Configure The Forced output Mode */ - tmpccmr2 |= (uint16_t)(TIM_ForcedAction << 8); - 800bacc: 887b ldrh r3, [r7, #2] - 800bace: ea4f 2303 mov.w r3, r3, lsl #8 - 800bad2: b29a uxth r2, r3 - 800bad4: 89fb ldrh r3, [r7, #14] - 800bad6: ea42 0303 orr.w r3, r2, r3 - 800bada: 81fb strh r3, [r7, #14] - - /* Write to TIMx CCMR2 register */ - TIMx->CCMR2 = tmpccmr2; - 800badc: 687a ldr r2, [r7, #4] - 800bade: 89fb ldrh r3, [r7, #14] - 800bae0: 8393 strh r3, [r2, #28] -} - 800bae2: f107 0714 add.w r7, r7, #20 ; 0x14 - 800bae6: 46bd mov sp, r7 - 800bae8: bc80 pop {r7} - 800baea: 4770 bx lr - -0800baec : - * @arg TIM_OCPreload_Enable - * @arg TIM_OCPreload_Disable - * @retval None - */ -void TIM_OC1PreloadConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPreload) -{ - 800baec: b480 push {r7} - 800baee: b085 sub sp, #20 - 800baf0: af00 add r7, sp, #0 - 800baf2: 6078 str r0, [r7, #4] - 800baf4: 460b mov r3, r1 - 800baf6: 807b strh r3, [r7, #2] - uint16_t tmpccmr1 = 0; - 800baf8: f04f 0300 mov.w r3, #0 ; 0x0 - 800bafc: 81fb strh r3, [r7, #14] - - /* Check the parameters */ - //assert_param(IS_TIM_LIST1_PERIPH(TIMx)); - //assert_param(IS_TIM_OCPRELOAD_STATE(TIM_OCPreload)); - - tmpccmr1 = TIMx->CCMR1; - 800bafe: 687b ldr r3, [r7, #4] - 800bb00: 8b1b ldrh r3, [r3, #24] - 800bb02: 81fb strh r3, [r7, #14] - - /* Reset the OC1PE Bit */ - tmpccmr1 &= (uint16_t)(~TIM_CCMR1_OC1PE); - 800bb04: 89fb ldrh r3, [r7, #14] - 800bb06: f023 0308 bic.w r3, r3, #8 ; 0x8 - 800bb0a: 81fb strh r3, [r7, #14] - - /* Enable or Disable the Output Compare Preload feature */ - tmpccmr1 |= TIM_OCPreload; - 800bb0c: 89fa ldrh r2, [r7, #14] - 800bb0e: 887b ldrh r3, [r7, #2] - 800bb10: ea42 0303 orr.w r3, r2, r3 - 800bb14: 81fb strh r3, [r7, #14] - - /* Write to TIMx CCMR1 register */ - TIMx->CCMR1 = tmpccmr1; - 800bb16: 687a ldr r2, [r7, #4] - 800bb18: 89fb ldrh r3, [r7, #14] - 800bb1a: 8313 strh r3, [r2, #24] -} - 800bb1c: f107 0714 add.w r7, r7, #20 ; 0x14 - 800bb20: 46bd mov sp, r7 - 800bb22: bc80 pop {r7} - 800bb24: 4770 bx lr - 800bb26: 46c0 nop (mov r8, r8) - -0800bb28 : - * @arg TIM_OCPreload_Enable - * @arg TIM_OCPreload_Disable - * @retval None - */ -void TIM_OC2PreloadConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPreload) -{ - 800bb28: b480 push {r7} - 800bb2a: b085 sub sp, #20 - 800bb2c: af00 add r7, sp, #0 - 800bb2e: 6078 str r0, [r7, #4] - 800bb30: 460b mov r3, r1 - 800bb32: 807b strh r3, [r7, #2] - uint16_t tmpccmr1 = 0; - 800bb34: f04f 0300 mov.w r3, #0 ; 0x0 - 800bb38: 81fb strh r3, [r7, #14] - - /* Check the parameters */ - //assert_param(IS_TIM_LIST2_PERIPH(TIMx)); - //assert_param(IS_TIM_OCPRELOAD_STATE(TIM_OCPreload)); - - tmpccmr1 = TIMx->CCMR1; - 800bb3a: 687b ldr r3, [r7, #4] - 800bb3c: 8b1b ldrh r3, [r3, #24] - 800bb3e: 81fb strh r3, [r7, #14] - - /* Reset the OC2PE Bit */ - tmpccmr1 &= (uint16_t)(~TIM_CCMR1_OC2PE); - 800bb40: 89fb ldrh r3, [r7, #14] - 800bb42: f423 6300 bic.w r3, r3, #2048 ; 0x800 - 800bb46: 81fb strh r3, [r7, #14] - - /* Enable or Disable the Output Compare Preload feature */ - tmpccmr1 |= (uint16_t)(TIM_OCPreload << 8); - 800bb48: 887b ldrh r3, [r7, #2] - 800bb4a: ea4f 2303 mov.w r3, r3, lsl #8 - 800bb4e: b29a uxth r2, r3 - 800bb50: 89fb ldrh r3, [r7, #14] - 800bb52: ea42 0303 orr.w r3, r2, r3 - 800bb56: 81fb strh r3, [r7, #14] - - /* Write to TIMx CCMR1 register */ - TIMx->CCMR1 = tmpccmr1; - 800bb58: 687a ldr r2, [r7, #4] - 800bb5a: 89fb ldrh r3, [r7, #14] - 800bb5c: 8313 strh r3, [r2, #24] -} - 800bb5e: f107 0714 add.w r7, r7, #20 ; 0x14 - 800bb62: 46bd mov sp, r7 - 800bb64: bc80 pop {r7} - 800bb66: 4770 bx lr - -0800bb68 : - * @arg TIM_OCPreload_Enable - * @arg TIM_OCPreload_Disable - * @retval None - */ -void TIM_OC3PreloadConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPreload) -{ - 800bb68: b480 push {r7} - 800bb6a: b085 sub sp, #20 - 800bb6c: af00 add r7, sp, #0 - 800bb6e: 6078 str r0, [r7, #4] - 800bb70: 460b mov r3, r1 - 800bb72: 807b strh r3, [r7, #2] - uint16_t tmpccmr2 = 0; - 800bb74: f04f 0300 mov.w r3, #0 ; 0x0 - 800bb78: 81fb strh r3, [r7, #14] - - /* Check the parameters */ - //assert_param(IS_TIM_LIST3_PERIPH(TIMx)); - //assert_param(IS_TIM_OCPRELOAD_STATE(TIM_OCPreload)); - - tmpccmr2 = TIMx->CCMR2; - 800bb7a: 687b ldr r3, [r7, #4] - 800bb7c: 8b9b ldrh r3, [r3, #28] - 800bb7e: 81fb strh r3, [r7, #14] - - /* Reset the OC3PE Bit */ - tmpccmr2 &= (uint16_t)(~TIM_CCMR2_OC3PE); - 800bb80: 89fb ldrh r3, [r7, #14] - 800bb82: f023 0308 bic.w r3, r3, #8 ; 0x8 - 800bb86: 81fb strh r3, [r7, #14] - - /* Enable or Disable the Output Compare Preload feature */ - tmpccmr2 |= TIM_OCPreload; - 800bb88: 89fa ldrh r2, [r7, #14] - 800bb8a: 887b ldrh r3, [r7, #2] - 800bb8c: ea42 0303 orr.w r3, r2, r3 - 800bb90: 81fb strh r3, [r7, #14] - - /* Write to TIMx CCMR2 register */ - TIMx->CCMR2 = tmpccmr2; - 800bb92: 687a ldr r2, [r7, #4] - 800bb94: 89fb ldrh r3, [r7, #14] - 800bb96: 8393 strh r3, [r2, #28] -} - 800bb98: f107 0714 add.w r7, r7, #20 ; 0x14 - 800bb9c: 46bd mov sp, r7 - 800bb9e: bc80 pop {r7} - 800bba0: 4770 bx lr - 800bba2: 46c0 nop (mov r8, r8) - -0800bba4 : - * @arg TIM_OCPreload_Enable - * @arg TIM_OCPreload_Disable - * @retval None - */ -void TIM_OC4PreloadConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPreload) -{ - 800bba4: b480 push {r7} - 800bba6: b085 sub sp, #20 - 800bba8: af00 add r7, sp, #0 - 800bbaa: 6078 str r0, [r7, #4] - 800bbac: 460b mov r3, r1 - 800bbae: 807b strh r3, [r7, #2] - uint16_t tmpccmr2 = 0; - 800bbb0: f04f 0300 mov.w r3, #0 ; 0x0 - 800bbb4: 81fb strh r3, [r7, #14] - - /* Check the parameters */ - //assert_param(IS_TIM_LIST3_PERIPH(TIMx)); - //assert_param(IS_TIM_OCPRELOAD_STATE(TIM_OCPreload)); - - tmpccmr2 = TIMx->CCMR2; - 800bbb6: 687b ldr r3, [r7, #4] - 800bbb8: 8b9b ldrh r3, [r3, #28] - 800bbba: 81fb strh r3, [r7, #14] - - /* Reset the OC4PE Bit */ - tmpccmr2 &= (uint16_t)(~TIM_CCMR2_OC4PE); - 800bbbc: 89fb ldrh r3, [r7, #14] - 800bbbe: f423 6300 bic.w r3, r3, #2048 ; 0x800 - 800bbc2: 81fb strh r3, [r7, #14] - - /* Enable or Disable the Output Compare Preload feature */ - tmpccmr2 |= (uint16_t)(TIM_OCPreload << 8); - 800bbc4: 887b ldrh r3, [r7, #2] - 800bbc6: ea4f 2303 mov.w r3, r3, lsl #8 - 800bbca: b29a uxth r2, r3 - 800bbcc: 89fb ldrh r3, [r7, #14] - 800bbce: ea42 0303 orr.w r3, r2, r3 - 800bbd2: 81fb strh r3, [r7, #14] - - /* Write to TIMx CCMR2 register */ - TIMx->CCMR2 = tmpccmr2; - 800bbd4: 687a ldr r2, [r7, #4] - 800bbd6: 89fb ldrh r3, [r7, #14] - 800bbd8: 8393 strh r3, [r2, #28] -} - 800bbda: f107 0714 add.w r7, r7, #20 ; 0x14 - 800bbde: 46bd mov sp, r7 - 800bbe0: bc80 pop {r7} - 800bbe2: 4770 bx lr - -0800bbe4 : - * @arg TIM_OCFast_Enable: TIM output compare fast enable - * @arg TIM_OCFast_Disable: TIM output compare fast disable - * @retval None - */ -void TIM_OC1FastConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCFast) -{ - 800bbe4: b480 push {r7} - 800bbe6: b085 sub sp, #20 - 800bbe8: af00 add r7, sp, #0 - 800bbea: 6078 str r0, [r7, #4] - 800bbec: 460b mov r3, r1 - 800bbee: 807b strh r3, [r7, #2] - uint16_t tmpccmr1 = 0; - 800bbf0: f04f 0300 mov.w r3, #0 ; 0x0 - 800bbf4: 81fb strh r3, [r7, #14] - /* Check the parameters */ - //assert_param(IS_TIM_LIST1_PERIPH(TIMx)); - //assert_param(IS_TIM_OCFAST_STATE(TIM_OCFast)); - - /* Get the TIMx CCMR1 register value */ - tmpccmr1 = TIMx->CCMR1; - 800bbf6: 687b ldr r3, [r7, #4] - 800bbf8: 8b1b ldrh r3, [r3, #24] - 800bbfa: 81fb strh r3, [r7, #14] - - /* Reset the OC1FE Bit */ - tmpccmr1 &= (uint16_t)~TIM_CCMR1_OC1FE; - 800bbfc: 89fb ldrh r3, [r7, #14] - 800bbfe: f023 0304 bic.w r3, r3, #4 ; 0x4 - 800bc02: 81fb strh r3, [r7, #14] - - /* Enable or Disable the Output Compare Fast Bit */ - tmpccmr1 |= TIM_OCFast; - 800bc04: 89fa ldrh r2, [r7, #14] - 800bc06: 887b ldrh r3, [r7, #2] - 800bc08: ea42 0303 orr.w r3, r2, r3 - 800bc0c: 81fb strh r3, [r7, #14] - - /* Write to TIMx CCMR1 */ - TIMx->CCMR1 = tmpccmr1; - 800bc0e: 687a ldr r2, [r7, #4] - 800bc10: 89fb ldrh r3, [r7, #14] - 800bc12: 8313 strh r3, [r2, #24] -} - 800bc14: f107 0714 add.w r7, r7, #20 ; 0x14 - 800bc18: 46bd mov sp, r7 - 800bc1a: bc80 pop {r7} - 800bc1c: 4770 bx lr - 800bc1e: 46c0 nop (mov r8, r8) - -0800bc20 : - * @arg TIM_OCFast_Enable: TIM output compare fast enable - * @arg TIM_OCFast_Disable: TIM output compare fast disable - * @retval None - */ -void TIM_OC2FastConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCFast) -{ - 800bc20: b480 push {r7} - 800bc22: b085 sub sp, #20 - 800bc24: af00 add r7, sp, #0 - 800bc26: 6078 str r0, [r7, #4] - 800bc28: 460b mov r3, r1 - 800bc2a: 807b strh r3, [r7, #2] - uint16_t tmpccmr1 = 0; - 800bc2c: f04f 0300 mov.w r3, #0 ; 0x0 - 800bc30: 81fb strh r3, [r7, #14] - /* Check the parameters */ - //assert_param(IS_TIM_LIST2_PERIPH(TIMx)); - //assert_param(IS_TIM_OCFAST_STATE(TIM_OCFast)); - - /* Get the TIMx CCMR1 register value */ - tmpccmr1 = TIMx->CCMR1; - 800bc32: 687b ldr r3, [r7, #4] - 800bc34: 8b1b ldrh r3, [r3, #24] - 800bc36: 81fb strh r3, [r7, #14] - - /* Reset the OC2FE Bit */ - tmpccmr1 &= (uint16_t)(~TIM_CCMR1_OC2FE); - 800bc38: 89fb ldrh r3, [r7, #14] - 800bc3a: f423 6380 bic.w r3, r3, #1024 ; 0x400 - 800bc3e: 81fb strh r3, [r7, #14] - - /* Enable or Disable the Output Compare Fast Bit */ - tmpccmr1 |= (uint16_t)(TIM_OCFast << 8); - 800bc40: 887b ldrh r3, [r7, #2] - 800bc42: ea4f 2303 mov.w r3, r3, lsl #8 - 800bc46: b29a uxth r2, r3 - 800bc48: 89fb ldrh r3, [r7, #14] - 800bc4a: ea42 0303 orr.w r3, r2, r3 - 800bc4e: 81fb strh r3, [r7, #14] - - /* Write to TIMx CCMR1 */ - TIMx->CCMR1 = tmpccmr1; - 800bc50: 687a ldr r2, [r7, #4] - 800bc52: 89fb ldrh r3, [r7, #14] - 800bc54: 8313 strh r3, [r2, #24] -} - 800bc56: f107 0714 add.w r7, r7, #20 ; 0x14 - 800bc5a: 46bd mov sp, r7 - 800bc5c: bc80 pop {r7} - 800bc5e: 4770 bx lr - -0800bc60 : - * @arg TIM_OCFast_Enable: TIM output compare fast enable - * @arg TIM_OCFast_Disable: TIM output compare fast disable - * @retval None - */ -void TIM_OC3FastConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCFast) -{ - 800bc60: b480 push {r7} - 800bc62: b085 sub sp, #20 - 800bc64: af00 add r7, sp, #0 - 800bc66: 6078 str r0, [r7, #4] - 800bc68: 460b mov r3, r1 - 800bc6a: 807b strh r3, [r7, #2] - uint16_t tmpccmr2 = 0; - 800bc6c: f04f 0300 mov.w r3, #0 ; 0x0 - 800bc70: 81fb strh r3, [r7, #14] - /* Check the parameters */ - //assert_param(IS_TIM_LIST3_PERIPH(TIMx)); - //assert_param(IS_TIM_OCFAST_STATE(TIM_OCFast)); - - /* Get the TIMx CCMR2 register value */ - tmpccmr2 = TIMx->CCMR2; - 800bc72: 687b ldr r3, [r7, #4] - 800bc74: 8b9b ldrh r3, [r3, #28] - 800bc76: 81fb strh r3, [r7, #14] - - /* Reset the OC3FE Bit */ - tmpccmr2 &= (uint16_t)~TIM_CCMR2_OC3FE; - 800bc78: 89fb ldrh r3, [r7, #14] - 800bc7a: f023 0304 bic.w r3, r3, #4 ; 0x4 - 800bc7e: 81fb strh r3, [r7, #14] - - /* Enable or Disable the Output Compare Fast Bit */ - tmpccmr2 |= TIM_OCFast; - 800bc80: 89fa ldrh r2, [r7, #14] - 800bc82: 887b ldrh r3, [r7, #2] - 800bc84: ea42 0303 orr.w r3, r2, r3 - 800bc88: 81fb strh r3, [r7, #14] - - /* Write to TIMx CCMR2 */ - TIMx->CCMR2 = tmpccmr2; - 800bc8a: 687a ldr r2, [r7, #4] - 800bc8c: 89fb ldrh r3, [r7, #14] - 800bc8e: 8393 strh r3, [r2, #28] -} - 800bc90: f107 0714 add.w r7, r7, #20 ; 0x14 - 800bc94: 46bd mov sp, r7 - 800bc96: bc80 pop {r7} - 800bc98: 4770 bx lr - 800bc9a: 46c0 nop (mov r8, r8) - -0800bc9c : - * @arg TIM_OCFast_Enable: TIM output compare fast enable - * @arg TIM_OCFast_Disable: TIM output compare fast disable - * @retval None - */ -void TIM_OC4FastConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCFast) -{ - 800bc9c: b480 push {r7} - 800bc9e: b085 sub sp, #20 - 800bca0: af00 add r7, sp, #0 - 800bca2: 6078 str r0, [r7, #4] - 800bca4: 460b mov r3, r1 - 800bca6: 807b strh r3, [r7, #2] - uint16_t tmpccmr2 = 0; - 800bca8: f04f 0300 mov.w r3, #0 ; 0x0 - 800bcac: 81fb strh r3, [r7, #14] - /* Check the parameters */ - //assert_param(IS_TIM_LIST3_PERIPH(TIMx)); - //assert_param(IS_TIM_OCFAST_STATE(TIM_OCFast)); - - /* Get the TIMx CCMR2 register value */ - tmpccmr2 = TIMx->CCMR2; - 800bcae: 687b ldr r3, [r7, #4] - 800bcb0: 8b9b ldrh r3, [r3, #28] - 800bcb2: 81fb strh r3, [r7, #14] - - /* Reset the OC4FE Bit */ - tmpccmr2 &= (uint16_t)(~TIM_CCMR2_OC4FE); - 800bcb4: 89fb ldrh r3, [r7, #14] - 800bcb6: f423 6380 bic.w r3, r3, #1024 ; 0x400 - 800bcba: 81fb strh r3, [r7, #14] - - /* Enable or Disable the Output Compare Fast Bit */ - tmpccmr2 |= (uint16_t)(TIM_OCFast << 8); - 800bcbc: 887b ldrh r3, [r7, #2] - 800bcbe: ea4f 2303 mov.w r3, r3, lsl #8 - 800bcc2: b29a uxth r2, r3 - 800bcc4: 89fb ldrh r3, [r7, #14] - 800bcc6: ea42 0303 orr.w r3, r2, r3 - 800bcca: 81fb strh r3, [r7, #14] - - /* Write to TIMx CCMR2 */ - TIMx->CCMR2 = tmpccmr2; - 800bccc: 687a ldr r2, [r7, #4] - 800bcce: 89fb ldrh r3, [r7, #14] - 800bcd0: 8393 strh r3, [r2, #28] -} - 800bcd2: f107 0714 add.w r7, r7, #20 ; 0x14 - 800bcd6: 46bd mov sp, r7 - 800bcd8: bc80 pop {r7} - 800bcda: 4770 bx lr - -0800bcdc : - * @arg TIM_OCClear_Enable: TIM Output clear enable - * @arg TIM_OCClear_Disable: TIM Output clear disable - * @retval None - */ -void TIM_ClearOC1Ref(TIM_TypeDef* TIMx, uint16_t TIM_OCClear) -{ - 800bcdc: b480 push {r7} - 800bcde: b085 sub sp, #20 - 800bce0: af00 add r7, sp, #0 - 800bce2: 6078 str r0, [r7, #4] - 800bce4: 460b mov r3, r1 - 800bce6: 807b strh r3, [r7, #2] - uint16_t tmpccmr1 = 0; - 800bce8: f04f 0300 mov.w r3, #0 ; 0x0 - 800bcec: 81fb strh r3, [r7, #14] - - /* Check the parameters */ - //assert_param(IS_TIM_LIST1_PERIPH(TIMx)); - //assert_param(IS_TIM_OCCLEAR_STATE(TIM_OCClear)); - - tmpccmr1 = TIMx->CCMR1; - 800bcee: 687b ldr r3, [r7, #4] - 800bcf0: 8b1b ldrh r3, [r3, #24] - 800bcf2: 81fb strh r3, [r7, #14] - - /* Reset the OC1CE Bit */ - tmpccmr1 &= (uint16_t)~TIM_CCMR1_OC1CE; - 800bcf4: 89fb ldrh r3, [r7, #14] - 800bcf6: f023 0380 bic.w r3, r3, #128 ; 0x80 - 800bcfa: 81fb strh r3, [r7, #14] - - /* Enable or Disable the Output Compare Clear Bit */ - tmpccmr1 |= TIM_OCClear; - 800bcfc: 89fa ldrh r2, [r7, #14] - 800bcfe: 887b ldrh r3, [r7, #2] - 800bd00: ea42 0303 orr.w r3, r2, r3 - 800bd04: 81fb strh r3, [r7, #14] - - /* Write to TIMx CCMR1 register */ - TIMx->CCMR1 = tmpccmr1; - 800bd06: 687a ldr r2, [r7, #4] - 800bd08: 89fb ldrh r3, [r7, #14] - 800bd0a: 8313 strh r3, [r2, #24] -} - 800bd0c: f107 0714 add.w r7, r7, #20 ; 0x14 - 800bd10: 46bd mov sp, r7 - 800bd12: bc80 pop {r7} - 800bd14: 4770 bx lr - 800bd16: 46c0 nop (mov r8, r8) - -0800bd18 : - * @arg TIM_OCClear_Enable: TIM Output clear enable - * @arg TIM_OCClear_Disable: TIM Output clear disable - * @retval None - */ -void TIM_ClearOC2Ref(TIM_TypeDef* TIMx, uint16_t TIM_OCClear) -{ - 800bd18: b480 push {r7} - 800bd1a: b085 sub sp, #20 - 800bd1c: af00 add r7, sp, #0 - 800bd1e: 6078 str r0, [r7, #4] - 800bd20: 460b mov r3, r1 - 800bd22: 807b strh r3, [r7, #2] - uint16_t tmpccmr1 = 0; - 800bd24: f04f 0300 mov.w r3, #0 ; 0x0 - 800bd28: 81fb strh r3, [r7, #14] - - /* Check the parameters */ - //assert_param(IS_TIM_LIST2_PERIPH(TIMx)); - //assert_param(IS_TIM_OCCLEAR_STATE(TIM_OCClear)); - - tmpccmr1 = TIMx->CCMR1; - 800bd2a: 687b ldr r3, [r7, #4] - 800bd2c: 8b1b ldrh r3, [r3, #24] - 800bd2e: 81fb strh r3, [r7, #14] - - /* Reset the OC2CE Bit */ - tmpccmr1 &= (uint16_t)~TIM_CCMR1_OC2CE; - 800bd30: 89fb ldrh r3, [r7, #14] - 800bd32: ea4f 4343 mov.w r3, r3, lsl #17 - 800bd36: ea4f 4353 mov.w r3, r3, lsr #17 - 800bd3a: 81fb strh r3, [r7, #14] - - /* Enable or Disable the Output Compare Clear Bit */ - tmpccmr1 |= (uint16_t)(TIM_OCClear << 8); - 800bd3c: 887b ldrh r3, [r7, #2] - 800bd3e: ea4f 2303 mov.w r3, r3, lsl #8 - 800bd42: b29a uxth r2, r3 - 800bd44: 89fb ldrh r3, [r7, #14] - 800bd46: ea42 0303 orr.w r3, r2, r3 - 800bd4a: 81fb strh r3, [r7, #14] - - /* Write to TIMx CCMR1 register */ - TIMx->CCMR1 = tmpccmr1; - 800bd4c: 687a ldr r2, [r7, #4] - 800bd4e: 89fb ldrh r3, [r7, #14] - 800bd50: 8313 strh r3, [r2, #24] -} - 800bd52: f107 0714 add.w r7, r7, #20 ; 0x14 - 800bd56: 46bd mov sp, r7 - 800bd58: bc80 pop {r7} - 800bd5a: 4770 bx lr - -0800bd5c : - * @arg TIM_OCClear_Enable: TIM Output clear enable - * @arg TIM_OCClear_Disable: TIM Output clear disable - * @retval None - */ -void TIM_ClearOC3Ref(TIM_TypeDef* TIMx, uint16_t TIM_OCClear) -{ - 800bd5c: b480 push {r7} - 800bd5e: b085 sub sp, #20 - 800bd60: af00 add r7, sp, #0 - 800bd62: 6078 str r0, [r7, #4] - 800bd64: 460b mov r3, r1 - 800bd66: 807b strh r3, [r7, #2] - uint16_t tmpccmr2 = 0; - 800bd68: f04f 0300 mov.w r3, #0 ; 0x0 - 800bd6c: 81fb strh r3, [r7, #14] - - /* Check the parameters */ - //assert_param(IS_TIM_LIST3_PERIPH(TIMx)); - //assert_param(IS_TIM_OCCLEAR_STATE(TIM_OCClear)); - - tmpccmr2 = TIMx->CCMR2; - 800bd6e: 687b ldr r3, [r7, #4] - 800bd70: 8b9b ldrh r3, [r3, #28] - 800bd72: 81fb strh r3, [r7, #14] - - /* Reset the OC3CE Bit */ - tmpccmr2 &= (uint16_t)~TIM_CCMR2_OC3CE; - 800bd74: 89fb ldrh r3, [r7, #14] - 800bd76: f023 0380 bic.w r3, r3, #128 ; 0x80 - 800bd7a: 81fb strh r3, [r7, #14] - - /* Enable or Disable the Output Compare Clear Bit */ - tmpccmr2 |= TIM_OCClear; - 800bd7c: 89fa ldrh r2, [r7, #14] - 800bd7e: 887b ldrh r3, [r7, #2] - 800bd80: ea42 0303 orr.w r3, r2, r3 - 800bd84: 81fb strh r3, [r7, #14] - - /* Write to TIMx CCMR2 register */ - TIMx->CCMR2 = tmpccmr2; - 800bd86: 687a ldr r2, [r7, #4] - 800bd88: 89fb ldrh r3, [r7, #14] - 800bd8a: 8393 strh r3, [r2, #28] -} - 800bd8c: f107 0714 add.w r7, r7, #20 ; 0x14 - 800bd90: 46bd mov sp, r7 - 800bd92: bc80 pop {r7} - 800bd94: 4770 bx lr - 800bd96: 46c0 nop (mov r8, r8) - -0800bd98 : - * @arg TIM_OCClear_Enable: TIM Output clear enable - * @arg TIM_OCClear_Disable: TIM Output clear disable - * @retval None - */ -void TIM_ClearOC4Ref(TIM_TypeDef* TIMx, uint16_t TIM_OCClear) -{ - 800bd98: b480 push {r7} - 800bd9a: b085 sub sp, #20 - 800bd9c: af00 add r7, sp, #0 - 800bd9e: 6078 str r0, [r7, #4] - 800bda0: 460b mov r3, r1 - 800bda2: 807b strh r3, [r7, #2] - uint16_t tmpccmr2 = 0; - 800bda4: f04f 0300 mov.w r3, #0 ; 0x0 - 800bda8: 81fb strh r3, [r7, #14] - - /* Check the parameters */ - //assert_param(IS_TIM_LIST3_PERIPH(TIMx)); - //assert_param(IS_TIM_OCCLEAR_STATE(TIM_OCClear)); - - tmpccmr2 = TIMx->CCMR2; - 800bdaa: 687b ldr r3, [r7, #4] - 800bdac: 8b9b ldrh r3, [r3, #28] - 800bdae: 81fb strh r3, [r7, #14] - - /* Reset the OC4CE Bit */ - tmpccmr2 &= (uint16_t)~TIM_CCMR2_OC4CE; - 800bdb0: 89fb ldrh r3, [r7, #14] - 800bdb2: ea4f 4343 mov.w r3, r3, lsl #17 - 800bdb6: ea4f 4353 mov.w r3, r3, lsr #17 - 800bdba: 81fb strh r3, [r7, #14] - - /* Enable or Disable the Output Compare Clear Bit */ - tmpccmr2 |= (uint16_t)(TIM_OCClear << 8); - 800bdbc: 887b ldrh r3, [r7, #2] - 800bdbe: ea4f 2303 mov.w r3, r3, lsl #8 - 800bdc2: b29a uxth r2, r3 - 800bdc4: 89fb ldrh r3, [r7, #14] - 800bdc6: ea42 0303 orr.w r3, r2, r3 - 800bdca: 81fb strh r3, [r7, #14] - - /* Write to TIMx CCMR2 register */ - TIMx->CCMR2 = tmpccmr2; - 800bdcc: 687a ldr r2, [r7, #4] - 800bdce: 89fb ldrh r3, [r7, #14] - 800bdd0: 8393 strh r3, [r2, #28] -} - 800bdd2: f107 0714 add.w r7, r7, #20 ; 0x14 - 800bdd6: 46bd mov sp, r7 - 800bdd8: bc80 pop {r7} - 800bdda: 4770 bx lr - -0800bddc : - * @arg TIM_OCPolarity_High: Output Compare active high - * @arg TIM_OCPolarity_Low: Output Compare active low - * @retval None - */ -void TIM_OC1PolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPolarity) -{ - 800bddc: b480 push {r7} - 800bdde: b085 sub sp, #20 - 800bde0: af00 add r7, sp, #0 - 800bde2: 6078 str r0, [r7, #4] - 800bde4: 460b mov r3, r1 - 800bde6: 807b strh r3, [r7, #2] - uint16_t tmpccer = 0; - 800bde8: f04f 0300 mov.w r3, #0 ; 0x0 - 800bdec: 81fb strh r3, [r7, #14] - - /* Check the parameters */ - //assert_param(IS_TIM_LIST1_PERIPH(TIMx)); - //assert_param(IS_TIM_OC_POLARITY(TIM_OCPolarity)); - - tmpccer = TIMx->CCER; - 800bdee: 687b ldr r3, [r7, #4] - 800bdf0: 8c1b ldrh r3, [r3, #32] - 800bdf2: 81fb strh r3, [r7, #14] - - /* Set or Reset the CC1P Bit */ - tmpccer &= (uint16_t)(~TIM_CCER_CC1P); - 800bdf4: 89fb ldrh r3, [r7, #14] - 800bdf6: f023 0302 bic.w r3, r3, #2 ; 0x2 - 800bdfa: 81fb strh r3, [r7, #14] - tmpccer |= TIM_OCPolarity; - 800bdfc: 89fa ldrh r2, [r7, #14] - 800bdfe: 887b ldrh r3, [r7, #2] - 800be00: ea42 0303 orr.w r3, r2, r3 - 800be04: 81fb strh r3, [r7, #14] - - /* Write to TIMx CCER register */ - TIMx->CCER = tmpccer; - 800be06: 687a ldr r2, [r7, #4] - 800be08: 89fb ldrh r3, [r7, #14] - 800be0a: 8413 strh r3, [r2, #32] -} - 800be0c: f107 0714 add.w r7, r7, #20 ; 0x14 - 800be10: 46bd mov sp, r7 - 800be12: bc80 pop {r7} - 800be14: 4770 bx lr - 800be16: 46c0 nop (mov r8, r8) - -0800be18 : - * @arg TIM_OCNPolarity_High: Output Compare active high - * @arg TIM_OCNPolarity_Low: Output Compare active low - * @retval None - */ -void TIM_OC1NPolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCNPolarity) -{ - 800be18: b480 push {r7} - 800be1a: b085 sub sp, #20 - 800be1c: af00 add r7, sp, #0 - 800be1e: 6078 str r0, [r7, #4] - 800be20: 460b mov r3, r1 - 800be22: 807b strh r3, [r7, #2] - uint16_t tmpccer = 0; - 800be24: f04f 0300 mov.w r3, #0 ; 0x0 - 800be28: 81fb strh r3, [r7, #14] - /* Check the parameters */ - //assert_param(IS_TIM_LIST4_PERIPH(TIMx)); - //assert_param(IS_TIM_OCN_POLARITY(TIM_OCNPolarity)); - - tmpccer = TIMx->CCER; - 800be2a: 687b ldr r3, [r7, #4] - 800be2c: 8c1b ldrh r3, [r3, #32] - 800be2e: 81fb strh r3, [r7, #14] - - /* Set or Reset the CC1NP Bit */ - tmpccer &= (uint16_t)~TIM_CCER_CC1NP; - 800be30: 89fb ldrh r3, [r7, #14] - 800be32: f023 0308 bic.w r3, r3, #8 ; 0x8 - 800be36: 81fb strh r3, [r7, #14] - tmpccer |= TIM_OCNPolarity; - 800be38: 89fa ldrh r2, [r7, #14] - 800be3a: 887b ldrh r3, [r7, #2] - 800be3c: ea42 0303 orr.w r3, r2, r3 - 800be40: 81fb strh r3, [r7, #14] - - /* Write to TIMx CCER register */ - TIMx->CCER = tmpccer; - 800be42: 687a ldr r2, [r7, #4] - 800be44: 89fb ldrh r3, [r7, #14] - 800be46: 8413 strh r3, [r2, #32] -} - 800be48: f107 0714 add.w r7, r7, #20 ; 0x14 - 800be4c: 46bd mov sp, r7 - 800be4e: bc80 pop {r7} - 800be50: 4770 bx lr - 800be52: 46c0 nop (mov r8, r8) - -0800be54 : - * @arg TIM_OCPolarity_High: Output Compare active high - * @arg TIM_OCPolarity_Low: Output Compare active low - * @retval None - */ -void TIM_OC2PolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPolarity) -{ - 800be54: b480 push {r7} - 800be56: b085 sub sp, #20 - 800be58: af00 add r7, sp, #0 - 800be5a: 6078 str r0, [r7, #4] - 800be5c: 460b mov r3, r1 - 800be5e: 807b strh r3, [r7, #2] - uint16_t tmpccer = 0; - 800be60: f04f 0300 mov.w r3, #0 ; 0x0 - 800be64: 81fb strh r3, [r7, #14] - - /* Check the parameters */ - //assert_param(IS_TIM_LIST2_PERIPH(TIMx)); - //assert_param(IS_TIM_OC_POLARITY(TIM_OCPolarity)); - - tmpccer = TIMx->CCER; - 800be66: 687b ldr r3, [r7, #4] - 800be68: 8c1b ldrh r3, [r3, #32] - 800be6a: 81fb strh r3, [r7, #14] - - /* Set or Reset the CC2P Bit */ - tmpccer &= (uint16_t)(~TIM_CCER_CC2P); - 800be6c: 89fb ldrh r3, [r7, #14] - 800be6e: f023 0320 bic.w r3, r3, #32 ; 0x20 - 800be72: 81fb strh r3, [r7, #14] - tmpccer |= (uint16_t)(TIM_OCPolarity << 4); - 800be74: 887b ldrh r3, [r7, #2] - 800be76: ea4f 1303 mov.w r3, r3, lsl #4 - 800be7a: b29a uxth r2, r3 - 800be7c: 89fb ldrh r3, [r7, #14] - 800be7e: ea42 0303 orr.w r3, r2, r3 - 800be82: 81fb strh r3, [r7, #14] - - /* Write to TIMx CCER register */ - TIMx->CCER = tmpccer; - 800be84: 687a ldr r2, [r7, #4] - 800be86: 89fb ldrh r3, [r7, #14] - 800be88: 8413 strh r3, [r2, #32] -} - 800be8a: f107 0714 add.w r7, r7, #20 ; 0x14 - 800be8e: 46bd mov sp, r7 - 800be90: bc80 pop {r7} - 800be92: 4770 bx lr - -0800be94 : - * @arg TIM_OCNPolarity_High: Output Compare active high - * @arg TIM_OCNPolarity_Low: Output Compare active low - * @retval None - */ -void TIM_OC2NPolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCNPolarity) -{ - 800be94: b480 push {r7} - 800be96: b085 sub sp, #20 - 800be98: af00 add r7, sp, #0 - 800be9a: 6078 str r0, [r7, #4] - 800be9c: 460b mov r3, r1 - 800be9e: 807b strh r3, [r7, #2] - uint16_t tmpccer = 0; - 800bea0: f04f 0300 mov.w r3, #0 ; 0x0 - 800bea4: 81fb strh r3, [r7, #14] - - /* Check the parameters */ - //assert_param(IS_TIM_LIST4_PERIPH(TIMx)); - //assert_param(IS_TIM_OCN_POLARITY(TIM_OCNPolarity)); - - tmpccer = TIMx->CCER; - 800bea6: 687b ldr r3, [r7, #4] - 800bea8: 8c1b ldrh r3, [r3, #32] - 800beaa: 81fb strh r3, [r7, #14] - - /* Set or Reset the CC2NP Bit */ - tmpccer &= (uint16_t)~TIM_CCER_CC2NP; - 800beac: 89fb ldrh r3, [r7, #14] - 800beae: f023 0380 bic.w r3, r3, #128 ; 0x80 - 800beb2: 81fb strh r3, [r7, #14] - tmpccer |= (uint16_t)(TIM_OCNPolarity << 4); - 800beb4: 887b ldrh r3, [r7, #2] - 800beb6: ea4f 1303 mov.w r3, r3, lsl #4 - 800beba: b29a uxth r2, r3 - 800bebc: 89fb ldrh r3, [r7, #14] - 800bebe: ea42 0303 orr.w r3, r2, r3 - 800bec2: 81fb strh r3, [r7, #14] - - /* Write to TIMx CCER register */ - TIMx->CCER = tmpccer; - 800bec4: 687a ldr r2, [r7, #4] - 800bec6: 89fb ldrh r3, [r7, #14] - 800bec8: 8413 strh r3, [r2, #32] -} - 800beca: f107 0714 add.w r7, r7, #20 ; 0x14 - 800bece: 46bd mov sp, r7 - 800bed0: bc80 pop {r7} - 800bed2: 4770 bx lr - -0800bed4 : - * @arg TIM_OCPolarity_High: Output Compare active high - * @arg TIM_OCPolarity_Low: Output Compare active low - * @retval None - */ -void TIM_OC3PolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPolarity) -{ - 800bed4: b480 push {r7} - 800bed6: b085 sub sp, #20 - 800bed8: af00 add r7, sp, #0 - 800beda: 6078 str r0, [r7, #4] - 800bedc: 460b mov r3, r1 - 800bede: 807b strh r3, [r7, #2] - uint16_t tmpccer = 0; - 800bee0: f04f 0300 mov.w r3, #0 ; 0x0 - 800bee4: 81fb strh r3, [r7, #14] - - /* Check the parameters */ - //assert_param(IS_TIM_LIST3_PERIPH(TIMx)); - //assert_param(IS_TIM_OC_POLARITY(TIM_OCPolarity)); - - tmpccer = TIMx->CCER; - 800bee6: 687b ldr r3, [r7, #4] - 800bee8: 8c1b ldrh r3, [r3, #32] - 800beea: 81fb strh r3, [r7, #14] - - /* Set or Reset the CC3P Bit */ - tmpccer &= (uint16_t)~TIM_CCER_CC3P; - 800beec: 89fb ldrh r3, [r7, #14] - 800beee: f423 7300 bic.w r3, r3, #512 ; 0x200 - 800bef2: 81fb strh r3, [r7, #14] - tmpccer |= (uint16_t)(TIM_OCPolarity << 8); - 800bef4: 887b ldrh r3, [r7, #2] - 800bef6: ea4f 2303 mov.w r3, r3, lsl #8 - 800befa: b29a uxth r2, r3 - 800befc: 89fb ldrh r3, [r7, #14] - 800befe: ea42 0303 orr.w r3, r2, r3 - 800bf02: 81fb strh r3, [r7, #14] - - /* Write to TIMx CCER register */ - TIMx->CCER = tmpccer; - 800bf04: 687a ldr r2, [r7, #4] - 800bf06: 89fb ldrh r3, [r7, #14] - 800bf08: 8413 strh r3, [r2, #32] -} - 800bf0a: f107 0714 add.w r7, r7, #20 ; 0x14 - 800bf0e: 46bd mov sp, r7 - 800bf10: bc80 pop {r7} - 800bf12: 4770 bx lr - -0800bf14 : - * @arg TIM_OCNPolarity_High: Output Compare active high - * @arg TIM_OCNPolarity_Low: Output Compare active low - * @retval None - */ -void TIM_OC3NPolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCNPolarity) -{ - 800bf14: b480 push {r7} - 800bf16: b085 sub sp, #20 - 800bf18: af00 add r7, sp, #0 - 800bf1a: 6078 str r0, [r7, #4] - 800bf1c: 460b mov r3, r1 - 800bf1e: 807b strh r3, [r7, #2] - uint16_t tmpccer = 0; - 800bf20: f04f 0300 mov.w r3, #0 ; 0x0 - 800bf24: 81fb strh r3, [r7, #14] - - /* Check the parameters */ - //assert_param(IS_TIM_LIST4_PERIPH(TIMx)); - //assert_param(IS_TIM_OCN_POLARITY(TIM_OCNPolarity)); - - tmpccer = TIMx->CCER; - 800bf26: 687b ldr r3, [r7, #4] - 800bf28: 8c1b ldrh r3, [r3, #32] - 800bf2a: 81fb strh r3, [r7, #14] - - /* Set or Reset the CC3NP Bit */ - tmpccer &= (uint16_t)~TIM_CCER_CC3NP; - 800bf2c: 89fb ldrh r3, [r7, #14] - 800bf2e: f423 6300 bic.w r3, r3, #2048 ; 0x800 - 800bf32: 81fb strh r3, [r7, #14] - tmpccer |= (uint16_t)(TIM_OCNPolarity << 8); - 800bf34: 887b ldrh r3, [r7, #2] - 800bf36: ea4f 2303 mov.w r3, r3, lsl #8 - 800bf3a: b29a uxth r2, r3 - 800bf3c: 89fb ldrh r3, [r7, #14] - 800bf3e: ea42 0303 orr.w r3, r2, r3 - 800bf42: 81fb strh r3, [r7, #14] - - /* Write to TIMx CCER register */ - TIMx->CCER = tmpccer; - 800bf44: 687a ldr r2, [r7, #4] - 800bf46: 89fb ldrh r3, [r7, #14] - 800bf48: 8413 strh r3, [r2, #32] -} - 800bf4a: f107 0714 add.w r7, r7, #20 ; 0x14 - 800bf4e: 46bd mov sp, r7 - 800bf50: bc80 pop {r7} - 800bf52: 4770 bx lr - -0800bf54 : - * @arg TIM_OCPolarity_High: Output Compare active high - * @arg TIM_OCPolarity_Low: Output Compare active low - * @retval None - */ -void TIM_OC4PolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPolarity) -{ - 800bf54: b480 push {r7} - 800bf56: b085 sub sp, #20 - 800bf58: af00 add r7, sp, #0 - 800bf5a: 6078 str r0, [r7, #4] - 800bf5c: 460b mov r3, r1 - 800bf5e: 807b strh r3, [r7, #2] - uint16_t tmpccer = 0; - 800bf60: f04f 0300 mov.w r3, #0 ; 0x0 - 800bf64: 81fb strh r3, [r7, #14] - - /* Check the parameters */ - //assert_param(IS_TIM_LIST3_PERIPH(TIMx)); - //assert_param(IS_TIM_OC_POLARITY(TIM_OCPolarity)); - - tmpccer = TIMx->CCER; - 800bf66: 687b ldr r3, [r7, #4] - 800bf68: 8c1b ldrh r3, [r3, #32] - 800bf6a: 81fb strh r3, [r7, #14] - - /* Set or Reset the CC4P Bit */ - tmpccer &= (uint16_t)~TIM_CCER_CC4P; - 800bf6c: 89fb ldrh r3, [r7, #14] - 800bf6e: f423 5300 bic.w r3, r3, #8192 ; 0x2000 - 800bf72: 81fb strh r3, [r7, #14] - tmpccer |= (uint16_t)(TIM_OCPolarity << 12); - 800bf74: 887b ldrh r3, [r7, #2] - 800bf76: ea4f 3303 mov.w r3, r3, lsl #12 - 800bf7a: b29a uxth r2, r3 - 800bf7c: 89fb ldrh r3, [r7, #14] - 800bf7e: ea42 0303 orr.w r3, r2, r3 - 800bf82: 81fb strh r3, [r7, #14] - - /* Write to TIMx CCER register */ - TIMx->CCER = tmpccer; - 800bf84: 687a ldr r2, [r7, #4] - 800bf86: 89fb ldrh r3, [r7, #14] - 800bf88: 8413 strh r3, [r2, #32] -} - 800bf8a: f107 0714 add.w r7, r7, #20 ; 0x14 - 800bf8e: 46bd mov sp, r7 - 800bf90: bc80 pop {r7} - 800bf92: 4770 bx lr - -0800bf94 : - * @param TIM_CCx: specifies the TIM Channel CCxE bit new state. - * This parameter can be: TIM_CCx_Enable or TIM_CCx_Disable. - * @retval None - */ -void TIM_CCxCmd(TIM_TypeDef* TIMx, uint16_t TIM_Channel, uint16_t TIM_CCx) -{ - 800bf94: b480 push {r7} - 800bf96: b085 sub sp, #20 - 800bf98: af00 add r7, sp, #0 - 800bf9a: 6078 str r0, [r7, #4] - 800bf9c: 460b mov r3, r1 - 800bf9e: 807b strh r3, [r7, #2] - 800bfa0: 4613 mov r3, r2 - 800bfa2: 803b strh r3, [r7, #0] - uint16_t tmp = 0; - 800bfa4: f04f 0300 mov.w r3, #0 ; 0x0 - 800bfa8: 81fb strh r3, [r7, #14] - /* Check the parameters */ - //assert_param(IS_TIM_LIST1_PERIPH(TIMx)); - //assert_param(IS_TIM_CHANNEL(TIM_Channel)); - //assert_param(IS_TIM_CCX(TIM_CCx)); - - tmp = CCER_CCE_SET << TIM_Channel; - 800bfaa: 887a ldrh r2, [r7, #2] - 800bfac: f04f 0301 mov.w r3, #1 ; 0x1 - 800bfb0: fa03 f302 lsl.w r3, r3, r2 - 800bfb4: 81fb strh r3, [r7, #14] - - /* Reset the CCxE Bit */ - TIMx->CCER &= (uint16_t)~ tmp; - 800bfb6: 687b ldr r3, [r7, #4] - 800bfb8: 8c1b ldrh r3, [r3, #32] - 800bfba: b29a uxth r2, r3 - 800bfbc: 89fb ldrh r3, [r7, #14] - 800bfbe: ea6f 0303 mvn.w r3, r3 - 800bfc2: b29b uxth r3, r3 - 800bfc4: ea02 0303 and.w r3, r2, r3 - 800bfc8: b29b uxth r3, r3 - 800bfca: 687a ldr r2, [r7, #4] - 800bfcc: 8413 strh r3, [r2, #32] - - /* Set or reset the CCxE Bit */ - TIMx->CCER |= (uint16_t)(TIM_CCx << TIM_Channel); - 800bfce: 687b ldr r3, [r7, #4] - 800bfd0: 8c1b ldrh r3, [r3, #32] - 800bfd2: b299 uxth r1, r3 - 800bfd4: 883a ldrh r2, [r7, #0] - 800bfd6: 887b ldrh r3, [r7, #2] - 800bfd8: fa02 f303 lsl.w r3, r2, r3 - 800bfdc: b29b uxth r3, r3 - 800bfde: ea41 0303 orr.w r3, r1, r3 - 800bfe2: b29b uxth r3, r3 - 800bfe4: 687a ldr r2, [r7, #4] - 800bfe6: 8413 strh r3, [r2, #32] -} - 800bfe8: f107 0714 add.w r7, r7, #20 ; 0x14 - 800bfec: 46bd mov sp, r7 - 800bfee: bc80 pop {r7} - 800bff0: 4770 bx lr - 800bff2: 46c0 nop (mov r8, r8) - -0800bff4 : - * @param TIM_CCxN: specifies the TIM Channel CCxNE bit new state. - * This parameter can be: TIM_CCxN_Enable or TIM_CCxN_Disable. - * @retval None - */ -void TIM_CCxNCmd(TIM_TypeDef* TIMx, uint16_t TIM_Channel, uint16_t TIM_CCxN) -{ - 800bff4: b480 push {r7} - 800bff6: b085 sub sp, #20 - 800bff8: af00 add r7, sp, #0 - 800bffa: 6078 str r0, [r7, #4] - 800bffc: 460b mov r3, r1 - 800bffe: 807b strh r3, [r7, #2] - 800c000: 4613 mov r3, r2 - 800c002: 803b strh r3, [r7, #0] - uint16_t tmp = 0; - 800c004: f04f 0300 mov.w r3, #0 ; 0x0 - 800c008: 81fb strh r3, [r7, #14] - /* Check the parameters */ - //assert_param(IS_TIM_LIST4_PERIPH(TIMx)); - //assert_param(IS_TIM_COMPLEMENTARY_CHANNEL(TIM_Channel)); - //assert_param(IS_TIM_CCXN(TIM_CCxN)); - - tmp = CCER_CCNE_SET << TIM_Channel; - 800c00a: 887a ldrh r2, [r7, #2] - 800c00c: f04f 0304 mov.w r3, #4 ; 0x4 - 800c010: fa03 f302 lsl.w r3, r3, r2 - 800c014: 81fb strh r3, [r7, #14] - - /* Reset the CCxNE Bit */ - TIMx->CCER &= (uint16_t) ~tmp; - 800c016: 687b ldr r3, [r7, #4] - 800c018: 8c1b ldrh r3, [r3, #32] - 800c01a: b29a uxth r2, r3 - 800c01c: 89fb ldrh r3, [r7, #14] - 800c01e: ea6f 0303 mvn.w r3, r3 - 800c022: b29b uxth r3, r3 - 800c024: ea02 0303 and.w r3, r2, r3 - 800c028: b29b uxth r3, r3 - 800c02a: 687a ldr r2, [r7, #4] - 800c02c: 8413 strh r3, [r2, #32] - - /* Set or reset the CCxNE Bit */ - TIMx->CCER |= (uint16_t)(TIM_CCxN << TIM_Channel); - 800c02e: 687b ldr r3, [r7, #4] - 800c030: 8c1b ldrh r3, [r3, #32] - 800c032: b299 uxth r1, r3 - 800c034: 883a ldrh r2, [r7, #0] - 800c036: 887b ldrh r3, [r7, #2] - 800c038: fa02 f303 lsl.w r3, r2, r3 - 800c03c: b29b uxth r3, r3 - 800c03e: ea41 0303 orr.w r3, r1, r3 - 800c042: b29b uxth r3, r3 - 800c044: 687a ldr r2, [r7, #4] - 800c046: 8413 strh r3, [r2, #32] -} - 800c048: f107 0714 add.w r7, r7, #20 ; 0x14 - 800c04c: 46bd mov sp, r7 - 800c04e: bc80 pop {r7} - 800c050: 4770 bx lr - 800c052: 46c0 nop (mov r8, r8) - -0800c054 : - * @param TIM_ICInitStruct: pointer to a TIM_ICInitTypeDef structure that contains - * the configuration information for the specified TIM peripheral. - * @retval None - */ -void TIM_ICInit(TIM_TypeDef* TIMx, TIM_ICInitTypeDef* TIM_ICInitStruct) -{ - 800c054: b580 push {r7, lr} - 800c056: b082 sub sp, #8 - 800c058: af00 add r7, sp, #0 - 800c05a: 6078 str r0, [r7, #4] - 800c05c: 6039 str r1, [r7, #0] - //assert_param(IS_TIM_IC_POLARITY(TIM_ICInitStruct->TIM_ICPolarity)); - //assert_param(IS_TIM_IC_SELECTION(TIM_ICInitStruct->TIM_ICSelection)); - //assert_param(IS_TIM_IC_PRESCALER(TIM_ICInitStruct->TIM_ICPrescaler)); - //assert_param(IS_TIM_IC_FILTER(TIM_ICInitStruct->TIM_ICFilter)); - - if (TIM_ICInitStruct->TIM_Channel == TIM_Channel_1) - 800c05e: 683b ldr r3, [r7, #0] - 800c060: 881b ldrh r3, [r3, #0] - 800c062: 2b00 cmp r3, #0 - 800c064: d10f bne.n 800c086 - { - /* TI1 Configuration */ - TI1_Config(TIMx, TIM_ICInitStruct->TIM_ICPolarity, - 800c066: 683b ldr r3, [r7, #0] - 800c068: 8859 ldrh r1, [r3, #2] - 800c06a: 683b ldr r3, [r7, #0] - 800c06c: 889a ldrh r2, [r3, #4] - 800c06e: 683b ldr r3, [r7, #0] - 800c070: 891b ldrh r3, [r3, #8] - 800c072: 6878 ldr r0, [r7, #4] - 800c074: f000 fd4e bl 800cb14 - TIM_ICInitStruct->TIM_ICSelection, - TIM_ICInitStruct->TIM_ICFilter); - /* Set the Input Capture Prescaler value */ - TIM_SetIC1Prescaler(TIMx, TIM_ICInitStruct->TIM_ICPrescaler); - 800c078: 683b ldr r3, [r7, #0] - 800c07a: 88db ldrh r3, [r3, #6] - 800c07c: 6878 ldr r0, [r7, #4] - 800c07e: 4619 mov r1, r3 - 800c080: f000 f8f2 bl 800c268 - 800c084: e036 b.n 800c0f4 - } - else if (TIM_ICInitStruct->TIM_Channel == TIM_Channel_2) - 800c086: 683b ldr r3, [r7, #0] - 800c088: 881b ldrh r3, [r3, #0] - 800c08a: 2b04 cmp r3, #4 - 800c08c: d10f bne.n 800c0ae - { - /* TI2 Configuration */ - //assert_param(IS_TIM_LIST2_PERIPH(TIMx)); - TI2_Config(TIMx, TIM_ICInitStruct->TIM_ICPolarity, - 800c08e: 683b ldr r3, [r7, #0] - 800c090: 8859 ldrh r1, [r3, #2] - 800c092: 683b ldr r3, [r7, #0] - 800c094: 889a ldrh r2, [r3, #4] - 800c096: 683b ldr r3, [r7, #0] - 800c098: 891b ldrh r3, [r3, #8] - 800c09a: 6878 ldr r0, [r7, #4] - 800c09c: f000 fd86 bl 800cbac - TIM_ICInitStruct->TIM_ICSelection, - TIM_ICInitStruct->TIM_ICFilter); - /* Set the Input Capture Prescaler value */ - TIM_SetIC2Prescaler(TIMx, TIM_ICInitStruct->TIM_ICPrescaler); - 800c0a0: 683b ldr r3, [r7, #0] - 800c0a2: 88db ldrh r3, [r3, #6] - 800c0a4: 6878 ldr r0, [r7, #4] - 800c0a6: 4619 mov r1, r3 - 800c0a8: f000 f900 bl 800c2ac - 800c0ac: e022 b.n 800c0f4 - } - else if (TIM_ICInitStruct->TIM_Channel == TIM_Channel_3) - 800c0ae: 683b ldr r3, [r7, #0] - 800c0b0: 881b ldrh r3, [r3, #0] - 800c0b2: 2b08 cmp r3, #8 - 800c0b4: d10f bne.n 800c0d6 - { - /* TI3 Configuration */ - //assert_param(IS_TIM_LIST3_PERIPH(TIMx)); - TI3_Config(TIMx, TIM_ICInitStruct->TIM_ICPolarity, - 800c0b6: 683b ldr r3, [r7, #0] - 800c0b8: 8859 ldrh r1, [r3, #2] - 800c0ba: 683b ldr r3, [r7, #0] - 800c0bc: 889a ldrh r2, [r3, #4] - 800c0be: 683b ldr r3, [r7, #0] - 800c0c0: 891b ldrh r3, [r3, #8] - 800c0c2: 6878 ldr r0, [r7, #4] - 800c0c4: f000 fdce bl 800cc64 - TIM_ICInitStruct->TIM_ICSelection, - TIM_ICInitStruct->TIM_ICFilter); - /* Set the Input Capture Prescaler value */ - TIM_SetIC3Prescaler(TIMx, TIM_ICInitStruct->TIM_ICPrescaler); - 800c0c8: 683b ldr r3, [r7, #0] - 800c0ca: 88db ldrh r3, [r3, #6] - 800c0cc: 6878 ldr r0, [r7, #4] - 800c0ce: 4619 mov r1, r3 - 800c0d0: f000 f912 bl 800c2f8 - 800c0d4: e00e b.n 800c0f4 - } - else - { - /* TI4 Configuration */ - //assert_param(IS_TIM_LIST3_PERIPH(TIMx)); - TI4_Config(TIMx, TIM_ICInitStruct->TIM_ICPolarity, - 800c0d6: 683b ldr r3, [r7, #0] - 800c0d8: 8859 ldrh r1, [r3, #2] - 800c0da: 683b ldr r3, [r7, #0] - 800c0dc: 889a ldrh r2, [r3, #4] - 800c0de: 683b ldr r3, [r7, #0] - 800c0e0: 891b ldrh r3, [r3, #8] - 800c0e2: 6878 ldr r0, [r7, #4] - 800c0e4: f000 fe12 bl 800cd0c - TIM_ICInitStruct->TIM_ICSelection, - TIM_ICInitStruct->TIM_ICFilter); - /* Set the Input Capture Prescaler value */ - TIM_SetIC4Prescaler(TIMx, TIM_ICInitStruct->TIM_ICPrescaler); - 800c0e8: 683b ldr r3, [r7, #0] - 800c0ea: 88db ldrh r3, [r3, #6] - 800c0ec: 6878 ldr r0, [r7, #4] - 800c0ee: 4619 mov r1, r3 - 800c0f0: f000 f924 bl 800c33c - } -} - 800c0f4: f107 0708 add.w r7, r7, #8 ; 0x8 - 800c0f8: 46bd mov sp, r7 - 800c0fa: bd80 pop {r7, pc} - -0800c0fc : - * @param TIM_ICInitStruct: pointer to a TIM_ICInitTypeDef structure which will - * be initialized. - * @retval None - */ -void TIM_ICStructInit(TIM_ICInitTypeDef* TIM_ICInitStruct) -{ - 800c0fc: b480 push {r7} - 800c0fe: b083 sub sp, #12 - 800c100: af00 add r7, sp, #0 - 800c102: 6078 str r0, [r7, #4] - /* Set the default configuration */ - TIM_ICInitStruct->TIM_Channel = TIM_Channel_1; - 800c104: 687a ldr r2, [r7, #4] - 800c106: f04f 0300 mov.w r3, #0 ; 0x0 - 800c10a: 8013 strh r3, [r2, #0] - TIM_ICInitStruct->TIM_ICPolarity = TIM_ICPolarity_Rising; - 800c10c: 687a ldr r2, [r7, #4] - 800c10e: f04f 0300 mov.w r3, #0 ; 0x0 - 800c112: 8053 strh r3, [r2, #2] - TIM_ICInitStruct->TIM_ICSelection = TIM_ICSelection_DirectTI; - 800c114: 687a ldr r2, [r7, #4] - 800c116: f04f 0301 mov.w r3, #1 ; 0x1 - 800c11a: 8093 strh r3, [r2, #4] - TIM_ICInitStruct->TIM_ICPrescaler = TIM_ICPSC_DIV1; - 800c11c: 687a ldr r2, [r7, #4] - 800c11e: f04f 0300 mov.w r3, #0 ; 0x0 - 800c122: 80d3 strh r3, [r2, #6] - TIM_ICInitStruct->TIM_ICFilter = 0x00; - 800c124: 687a ldr r2, [r7, #4] - 800c126: f04f 0300 mov.w r3, #0 ; 0x0 - 800c12a: 8113 strh r3, [r2, #8] -} - 800c12c: f107 070c add.w r7, r7, #12 ; 0xc - 800c130: 46bd mov sp, r7 - 800c132: bc80 pop {r7} - 800c134: 4770 bx lr - 800c136: 46c0 nop (mov r8, r8) - -0800c138 : - * @param TIM_ICInitStruct: pointer to a TIM_ICInitTypeDef structure that contains - * the configuration information for the specified TIM peripheral. - * @retval None - */ -void TIM_PWMIConfig(TIM_TypeDef* TIMx, TIM_ICInitTypeDef* TIM_ICInitStruct) -{ - 800c138: b580 push {r7, lr} - 800c13a: b084 sub sp, #16 - 800c13c: af00 add r7, sp, #0 - 800c13e: 6078 str r0, [r7, #4] - 800c140: 6039 str r1, [r7, #0] - uint16_t icoppositepolarity = TIM_ICPolarity_Rising; - 800c142: f04f 0300 mov.w r3, #0 ; 0x0 - 800c146: 81bb strh r3, [r7, #12] - uint16_t icoppositeselection = TIM_ICSelection_DirectTI; - 800c148: f04f 0301 mov.w r3, #1 ; 0x1 - 800c14c: 81fb strh r3, [r7, #14] - - /* Check the parameters */ - //assert_param(IS_TIM_LIST2_PERIPH(TIMx)); - - /* Select the Opposite Input Polarity */ - if (TIM_ICInitStruct->TIM_ICPolarity == TIM_ICPolarity_Rising) - 800c14e: 683b ldr r3, [r7, #0] - 800c150: 885b ldrh r3, [r3, #2] - 800c152: 2b00 cmp r3, #0 - 800c154: d103 bne.n 800c15e - { - icoppositepolarity = TIM_ICPolarity_Falling; - 800c156: f04f 0302 mov.w r3, #2 ; 0x2 - 800c15a: 81bb strh r3, [r7, #12] - 800c15c: e002 b.n 800c164 - } - else - { - icoppositepolarity = TIM_ICPolarity_Rising; - 800c15e: f04f 0300 mov.w r3, #0 ; 0x0 - 800c162: 81bb strh r3, [r7, #12] - } - /* Select the Opposite Input */ - if (TIM_ICInitStruct->TIM_ICSelection == TIM_ICSelection_DirectTI) - 800c164: 683b ldr r3, [r7, #0] - 800c166: 889b ldrh r3, [r3, #4] - 800c168: 2b01 cmp r3, #1 - 800c16a: d103 bne.n 800c174 - { - icoppositeselection = TIM_ICSelection_IndirectTI; - 800c16c: f04f 0302 mov.w r3, #2 ; 0x2 - 800c170: 81fb strh r3, [r7, #14] - 800c172: e002 b.n 800c17a - } - else - { - icoppositeselection = TIM_ICSelection_DirectTI; - 800c174: f04f 0301 mov.w r3, #1 ; 0x1 - 800c178: 81fb strh r3, [r7, #14] - } - if (TIM_ICInitStruct->TIM_Channel == TIM_Channel_1) - 800c17a: 683b ldr r3, [r7, #0] - 800c17c: 881b ldrh r3, [r3, #0] - 800c17e: 2b00 cmp r3, #0 - 800c180: d11f bne.n 800c1c2 - { - /* TI1 Configuration */ - TI1_Config(TIMx, TIM_ICInitStruct->TIM_ICPolarity, TIM_ICInitStruct->TIM_ICSelection, - 800c182: 683b ldr r3, [r7, #0] - 800c184: 8859 ldrh r1, [r3, #2] - 800c186: 683b ldr r3, [r7, #0] - 800c188: 889a ldrh r2, [r3, #4] - 800c18a: 683b ldr r3, [r7, #0] - 800c18c: 891b ldrh r3, [r3, #8] - 800c18e: 6878 ldr r0, [r7, #4] - 800c190: f000 fcc0 bl 800cb14 - TIM_ICInitStruct->TIM_ICFilter); - /* Set the Input Capture Prescaler value */ - TIM_SetIC1Prescaler(TIMx, TIM_ICInitStruct->TIM_ICPrescaler); - 800c194: 683b ldr r3, [r7, #0] - 800c196: 88db ldrh r3, [r3, #6] - 800c198: 6878 ldr r0, [r7, #4] - 800c19a: 4619 mov r1, r3 - 800c19c: f000 f864 bl 800c268 - /* TI2 Configuration */ - TI2_Config(TIMx, icoppositepolarity, icoppositeselection, TIM_ICInitStruct->TIM_ICFilter); - 800c1a0: 683b ldr r3, [r7, #0] - 800c1a2: f8b3 c008 ldrh.w ip, [r3, #8] - 800c1a6: 89bb ldrh r3, [r7, #12] - 800c1a8: 89fa ldrh r2, [r7, #14] - 800c1aa: 6878 ldr r0, [r7, #4] - 800c1ac: 4619 mov r1, r3 - 800c1ae: 4663 mov r3, ip - 800c1b0: f000 fcfc bl 800cbac - /* Set the Input Capture Prescaler value */ - TIM_SetIC2Prescaler(TIMx, TIM_ICInitStruct->TIM_ICPrescaler); - 800c1b4: 683b ldr r3, [r7, #0] - 800c1b6: 88db ldrh r3, [r3, #6] - 800c1b8: 6878 ldr r0, [r7, #4] - 800c1ba: 4619 mov r1, r3 - 800c1bc: f000 f876 bl 800c2ac - 800c1c0: e01e b.n 800c200 - } - else - { - /* TI2 Configuration */ - TI2_Config(TIMx, TIM_ICInitStruct->TIM_ICPolarity, TIM_ICInitStruct->TIM_ICSelection, - 800c1c2: 683b ldr r3, [r7, #0] - 800c1c4: 8859 ldrh r1, [r3, #2] - 800c1c6: 683b ldr r3, [r7, #0] - 800c1c8: 889a ldrh r2, [r3, #4] - 800c1ca: 683b ldr r3, [r7, #0] - 800c1cc: 891b ldrh r3, [r3, #8] - 800c1ce: 6878 ldr r0, [r7, #4] - 800c1d0: f000 fcec bl 800cbac - TIM_ICInitStruct->TIM_ICFilter); - /* Set the Input Capture Prescaler value */ - TIM_SetIC2Prescaler(TIMx, TIM_ICInitStruct->TIM_ICPrescaler); - 800c1d4: 683b ldr r3, [r7, #0] - 800c1d6: 88db ldrh r3, [r3, #6] - 800c1d8: 6878 ldr r0, [r7, #4] - 800c1da: 4619 mov r1, r3 - 800c1dc: f000 f866 bl 800c2ac - /* TI1 Configuration */ - TI1_Config(TIMx, icoppositepolarity, icoppositeselection, TIM_ICInitStruct->TIM_ICFilter); - 800c1e0: 683b ldr r3, [r7, #0] - 800c1e2: f8b3 c008 ldrh.w ip, [r3, #8] - 800c1e6: 89bb ldrh r3, [r7, #12] - 800c1e8: 89fa ldrh r2, [r7, #14] - 800c1ea: 6878 ldr r0, [r7, #4] - 800c1ec: 4619 mov r1, r3 - 800c1ee: 4663 mov r3, ip - 800c1f0: f000 fc90 bl 800cb14 - /* Set the Input Capture Prescaler value */ - TIM_SetIC1Prescaler(TIMx, TIM_ICInitStruct->TIM_ICPrescaler); - 800c1f4: 683b ldr r3, [r7, #0] - 800c1f6: 88db ldrh r3, [r3, #6] - 800c1f8: 6878 ldr r0, [r7, #4] - 800c1fa: 4619 mov r1, r3 - 800c1fc: f000 f834 bl 800c268 - } -} - 800c200: f107 0710 add.w r7, r7, #16 ; 0x10 - 800c204: 46bd mov sp, r7 - 800c206: bd80 pop {r7, pc} - -0800c208 : - * @brief Gets the TIMx Input Capture 1 value. - * @param TIMx: where x can be 1 to 14 except 6 and 7, to select the TIM peripheral. - * @retval Capture Compare 1 Register value. - */ -uint32_t TIM_GetCapture1(TIM_TypeDef* TIMx) -{ - 800c208: b480 push {r7} - 800c20a: b083 sub sp, #12 - 800c20c: af00 add r7, sp, #0 - 800c20e: 6078 str r0, [r7, #4] - /* Check the parameters */ - //assert_param(IS_TIM_LIST1_PERIPH(TIMx)); - - /* Get the Capture 1 Register value */ - return TIMx->CCR1; - 800c210: 687b ldr r3, [r7, #4] - 800c212: 6b5b ldr r3, [r3, #52] -} - 800c214: 4618 mov r0, r3 - 800c216: f107 070c add.w r7, r7, #12 ; 0xc - 800c21a: 46bd mov sp, r7 - 800c21c: bc80 pop {r7} - 800c21e: 4770 bx lr - -0800c220 : - * @param TIMx: where x can be 1, 2, 3, 4, 5, 8, 9 or 12 to select the TIM - * peripheral. - * @retval Capture Compare 2 Register value. - */ -uint32_t TIM_GetCapture2(TIM_TypeDef* TIMx) -{ - 800c220: b480 push {r7} - 800c222: b083 sub sp, #12 - 800c224: af00 add r7, sp, #0 - 800c226: 6078 str r0, [r7, #4] - /* Check the parameters */ - //assert_param(IS_TIM_LIST2_PERIPH(TIMx)); - - /* Get the Capture 2 Register value */ - return TIMx->CCR2; - 800c228: 687b ldr r3, [r7, #4] - 800c22a: 6b9b ldr r3, [r3, #56] -} - 800c22c: 4618 mov r0, r3 - 800c22e: f107 070c add.w r7, r7, #12 ; 0xc - 800c232: 46bd mov sp, r7 - 800c234: bc80 pop {r7} - 800c236: 4770 bx lr - -0800c238 : - * @brief Gets the TIMx Input Capture 3 value. - * @param TIMx: where x can be 1, 2, 3, 4, 5 or 8 to select the TIM peripheral. - * @retval Capture Compare 3 Register value. - */ -uint32_t TIM_GetCapture3(TIM_TypeDef* TIMx) -{ - 800c238: b480 push {r7} - 800c23a: b083 sub sp, #12 - 800c23c: af00 add r7, sp, #0 - 800c23e: 6078 str r0, [r7, #4] - /* Check the parameters */ - //assert_param(IS_TIM_LIST3_PERIPH(TIMx)); - - /* Get the Capture 3 Register value */ - return TIMx->CCR3; - 800c240: 687b ldr r3, [r7, #4] - 800c242: 6bdb ldr r3, [r3, #60] -} - 800c244: 4618 mov r0, r3 - 800c246: f107 070c add.w r7, r7, #12 ; 0xc - 800c24a: 46bd mov sp, r7 - 800c24c: bc80 pop {r7} - 800c24e: 4770 bx lr - -0800c250 : - * @brief Gets the TIMx Input Capture 4 value. - * @param TIMx: where x can be 1, 2, 3, 4, 5 or 8 to select the TIM peripheral. - * @retval Capture Compare 4 Register value. - */ -uint32_t TIM_GetCapture4(TIM_TypeDef* TIMx) -{ - 800c250: b480 push {r7} - 800c252: b083 sub sp, #12 - 800c254: af00 add r7, sp, #0 - 800c256: 6078 str r0, [r7, #4] - /* Check the parameters */ - //assert_param(IS_TIM_LIST3_PERIPH(TIMx)); - - /* Get the Capture 4 Register value */ - return TIMx->CCR4; - 800c258: 687b ldr r3, [r7, #4] - 800c25a: 6c1b ldr r3, [r3, #64] -} - 800c25c: 4618 mov r0, r3 - 800c25e: f107 070c add.w r7, r7, #12 ; 0xc - 800c262: 46bd mov sp, r7 - 800c264: bc80 pop {r7} - 800c266: 4770 bx lr - -0800c268 : - * @arg TIM_ICPSC_DIV4: capture is done once every 4 events - * @arg TIM_ICPSC_DIV8: capture is done once every 8 events - * @retval None - */ -void TIM_SetIC1Prescaler(TIM_TypeDef* TIMx, uint16_t TIM_ICPSC) -{ - 800c268: b480 push {r7} - 800c26a: b085 sub sp, #20 - 800c26c: af00 add r7, sp, #0 - 800c26e: 60f8 str r0, [r7, #12] - 800c270: 460b mov r3, r1 - 800c272: 817b strh r3, [r7, #10] - /* Check the parameters */ - //assert_param(IS_TIM_LIST1_PERIPH(TIMx)); - //assert_param(IS_TIM_IC_PRESCALER(TIM_ICPSC)); - - /* Reset the IC1PSC Bits */ - TIMx->CCMR1 &= (uint16_t)~TIM_CCMR1_IC1PSC; - 800c274: 68fb ldr r3, [r7, #12] - 800c276: 8b1b ldrh r3, [r3, #24] - 800c278: b29b uxth r3, r3 - 800c27a: 607b str r3, [r7, #4] - 800c27c: f64f 73f3 movw r3, #65523 ; 0xfff3 - 800c280: 6879 ldr r1, [r7, #4] - 800c282: ea01 0303 and.w r3, r1, r3 - 800c286: 607b str r3, [r7, #4] - 800c288: 68fa ldr r2, [r7, #12] - 800c28a: 6879 ldr r1, [r7, #4] - 800c28c: 460b mov r3, r1 - 800c28e: 8313 strh r3, [r2, #24] - - /* Set the IC1PSC value */ - TIMx->CCMR1 |= TIM_ICPSC; - 800c290: 68fb ldr r3, [r7, #12] - 800c292: 8b1b ldrh r3, [r3, #24] - 800c294: b29a uxth r2, r3 - 800c296: 897b ldrh r3, [r7, #10] - 800c298: ea42 0303 orr.w r3, r2, r3 - 800c29c: b29b uxth r3, r3 - 800c29e: 68fa ldr r2, [r7, #12] - 800c2a0: 8313 strh r3, [r2, #24] -} - 800c2a2: f107 0714 add.w r7, r7, #20 ; 0x14 - 800c2a6: 46bd mov sp, r7 - 800c2a8: bc80 pop {r7} - 800c2aa: 4770 bx lr - -0800c2ac : - * @arg TIM_ICPSC_DIV4: capture is done once every 4 events - * @arg TIM_ICPSC_DIV8: capture is done once every 8 events - * @retval None - */ -void TIM_SetIC2Prescaler(TIM_TypeDef* TIMx, uint16_t TIM_ICPSC) -{ - 800c2ac: b480 push {r7} - 800c2ae: b085 sub sp, #20 - 800c2b0: af00 add r7, sp, #0 - 800c2b2: 60f8 str r0, [r7, #12] - 800c2b4: 460b mov r3, r1 - 800c2b6: 817b strh r3, [r7, #10] - /* Check the parameters */ - //assert_param(IS_TIM_LIST2_PERIPH(TIMx)); - //assert_param(IS_TIM_IC_PRESCALER(TIM_ICPSC)); - - /* Reset the IC2PSC Bits */ - TIMx->CCMR1 &= (uint16_t)~TIM_CCMR1_IC2PSC; - 800c2b8: 68fb ldr r3, [r7, #12] - 800c2ba: 8b1b ldrh r3, [r3, #24] - 800c2bc: b29b uxth r3, r3 - 800c2be: 607b str r3, [r7, #4] - 800c2c0: f24f 33ff movw r3, #62463 ; 0xf3ff - 800c2c4: 6879 ldr r1, [r7, #4] - 800c2c6: ea01 0303 and.w r3, r1, r3 - 800c2ca: 607b str r3, [r7, #4] - 800c2cc: 68fa ldr r2, [r7, #12] - 800c2ce: 6879 ldr r1, [r7, #4] - 800c2d0: 460b mov r3, r1 - 800c2d2: 8313 strh r3, [r2, #24] - - /* Set the IC2PSC value */ - TIMx->CCMR1 |= (uint16_t)(TIM_ICPSC << 8); - 800c2d4: 68fb ldr r3, [r7, #12] - 800c2d6: 8b1b ldrh r3, [r3, #24] - 800c2d8: b29a uxth r2, r3 - 800c2da: 897b ldrh r3, [r7, #10] - 800c2dc: ea4f 2303 mov.w r3, r3, lsl #8 - 800c2e0: b29b uxth r3, r3 - 800c2e2: ea42 0303 orr.w r3, r2, r3 - 800c2e6: b29b uxth r3, r3 - 800c2e8: 68fa ldr r2, [r7, #12] - 800c2ea: 8313 strh r3, [r2, #24] -} - 800c2ec: f107 0714 add.w r7, r7, #20 ; 0x14 - 800c2f0: 46bd mov sp, r7 - 800c2f2: bc80 pop {r7} - 800c2f4: 4770 bx lr - 800c2f6: 46c0 nop (mov r8, r8) - -0800c2f8 : - * @arg TIM_ICPSC_DIV4: capture is done once every 4 events - * @arg TIM_ICPSC_DIV8: capture is done once every 8 events - * @retval None - */ -void TIM_SetIC3Prescaler(TIM_TypeDef* TIMx, uint16_t TIM_ICPSC) -{ - 800c2f8: b480 push {r7} - 800c2fa: b085 sub sp, #20 - 800c2fc: af00 add r7, sp, #0 - 800c2fe: 60f8 str r0, [r7, #12] - 800c300: 460b mov r3, r1 - 800c302: 817b strh r3, [r7, #10] - /* Check the parameters */ - //assert_param(IS_TIM_LIST3_PERIPH(TIMx)); - //assert_param(IS_TIM_IC_PRESCALER(TIM_ICPSC)); - - /* Reset the IC3PSC Bits */ - TIMx->CCMR2 &= (uint16_t)~TIM_CCMR2_IC3PSC; - 800c304: 68fb ldr r3, [r7, #12] - 800c306: 8b9b ldrh r3, [r3, #28] - 800c308: b29b uxth r3, r3 - 800c30a: 607b str r3, [r7, #4] - 800c30c: f64f 73f3 movw r3, #65523 ; 0xfff3 - 800c310: 6879 ldr r1, [r7, #4] - 800c312: ea01 0303 and.w r3, r1, r3 - 800c316: 607b str r3, [r7, #4] - 800c318: 68fa ldr r2, [r7, #12] - 800c31a: 6879 ldr r1, [r7, #4] - 800c31c: 460b mov r3, r1 - 800c31e: 8393 strh r3, [r2, #28] - - /* Set the IC3PSC value */ - TIMx->CCMR2 |= TIM_ICPSC; - 800c320: 68fb ldr r3, [r7, #12] - 800c322: 8b9b ldrh r3, [r3, #28] - 800c324: b29a uxth r2, r3 - 800c326: 897b ldrh r3, [r7, #10] - 800c328: ea42 0303 orr.w r3, r2, r3 - 800c32c: b29b uxth r3, r3 - 800c32e: 68fa ldr r2, [r7, #12] - 800c330: 8393 strh r3, [r2, #28] -} - 800c332: f107 0714 add.w r7, r7, #20 ; 0x14 - 800c336: 46bd mov sp, r7 - 800c338: bc80 pop {r7} - 800c33a: 4770 bx lr - -0800c33c : - * @arg TIM_ICPSC_DIV4: capture is done once every 4 events - * @arg TIM_ICPSC_DIV8: capture is done once every 8 events - * @retval None - */ -void TIM_SetIC4Prescaler(TIM_TypeDef* TIMx, uint16_t TIM_ICPSC) -{ - 800c33c: b480 push {r7} - 800c33e: b085 sub sp, #20 - 800c340: af00 add r7, sp, #0 - 800c342: 60f8 str r0, [r7, #12] - 800c344: 460b mov r3, r1 - 800c346: 817b strh r3, [r7, #10] - /* Check the parameters */ - //assert_param(IS_TIM_LIST3_PERIPH(TIMx)); - //assert_param(IS_TIM_IC_PRESCALER(TIM_ICPSC)); - - /* Reset the IC4PSC Bits */ - TIMx->CCMR2 &= (uint16_t)~TIM_CCMR2_IC4PSC; - 800c348: 68fb ldr r3, [r7, #12] - 800c34a: 8b9b ldrh r3, [r3, #28] - 800c34c: b29b uxth r3, r3 - 800c34e: 607b str r3, [r7, #4] - 800c350: f24f 33ff movw r3, #62463 ; 0xf3ff - 800c354: 6879 ldr r1, [r7, #4] - 800c356: ea01 0303 and.w r3, r1, r3 - 800c35a: 607b str r3, [r7, #4] - 800c35c: 68fa ldr r2, [r7, #12] - 800c35e: 6879 ldr r1, [r7, #4] - 800c360: 460b mov r3, r1 - 800c362: 8393 strh r3, [r2, #28] - - /* Set the IC4PSC value */ - TIMx->CCMR2 |= (uint16_t)(TIM_ICPSC << 8); - 800c364: 68fb ldr r3, [r7, #12] - 800c366: 8b9b ldrh r3, [r3, #28] - 800c368: b29a uxth r2, r3 - 800c36a: 897b ldrh r3, [r7, #10] - 800c36c: ea4f 2303 mov.w r3, r3, lsl #8 - 800c370: b29b uxth r3, r3 - 800c372: ea42 0303 orr.w r3, r2, r3 - 800c376: b29b uxth r3, r3 - 800c378: 68fa ldr r2, [r7, #12] - 800c37a: 8393 strh r3, [r2, #28] -} - 800c37c: f107 0714 add.w r7, r7, #20 ; 0x14 - 800c380: 46bd mov sp, r7 - 800c382: bc80 pop {r7} - 800c384: 4770 bx lr - 800c386: 46c0 nop (mov r8, r8) - -0800c388 : - * @param TIM_BDTRInitStruct: pointer to a TIM_BDTRInitTypeDef structure that - * contains the BDTR Register configuration information for the TIM peripheral. - * @retval None - */ -void TIM_BDTRConfig(TIM_TypeDef* TIMx, TIM_BDTRInitTypeDef *TIM_BDTRInitStruct) -{ - 800c388: b480 push {r7} - 800c38a: b083 sub sp, #12 - 800c38c: af00 add r7, sp, #0 - 800c38e: 6078 str r0, [r7, #4] - 800c390: 6039 str r1, [r7, #0] - //assert_param(IS_TIM_BREAK_POLARITY(TIM_BDTRInitStruct->TIM_BreakPolarity)); - //assert_param(IS_TIM_AUTOMATIC_OUTPUT_STATE(TIM_BDTRInitStruct->TIM_AutomaticOutput)); - - /* Set the Lock level, the Break enable Bit and the Polarity, the OSSR State, - the OSSI State, the dead time value and the Automatic Output Enable Bit */ - TIMx->BDTR = (uint32_t)TIM_BDTRInitStruct->TIM_OSSRState | TIM_BDTRInitStruct->TIM_OSSIState | - 800c392: 683b ldr r3, [r7, #0] - 800c394: 881a ldrh r2, [r3, #0] - 800c396: 683b ldr r3, [r7, #0] - 800c398: 885b ldrh r3, [r3, #2] - 800c39a: ea42 0303 orr.w r3, r2, r3 - 800c39e: b29a uxth r2, r3 - 800c3a0: 683b ldr r3, [r7, #0] - 800c3a2: 889b ldrh r3, [r3, #4] - 800c3a4: ea42 0303 orr.w r3, r2, r3 - 800c3a8: b29a uxth r2, r3 - 800c3aa: 683b ldr r3, [r7, #0] - 800c3ac: 88db ldrh r3, [r3, #6] - 800c3ae: ea42 0303 orr.w r3, r2, r3 - 800c3b2: b29a uxth r2, r3 - 800c3b4: 683b ldr r3, [r7, #0] - 800c3b6: 891b ldrh r3, [r3, #8] - 800c3b8: ea42 0303 orr.w r3, r2, r3 - 800c3bc: b29a uxth r2, r3 - 800c3be: 683b ldr r3, [r7, #0] - 800c3c0: 895b ldrh r3, [r3, #10] - 800c3c2: ea42 0303 orr.w r3, r2, r3 - 800c3c6: b29a uxth r2, r3 - 800c3c8: 683b ldr r3, [r7, #0] - 800c3ca: 899b ldrh r3, [r3, #12] - 800c3cc: ea42 0303 orr.w r3, r2, r3 - 800c3d0: b29b uxth r3, r3 - 800c3d2: 687a ldr r2, [r7, #4] - 800c3d4: f8a2 3044 strh.w r3, [r2, #68] - TIM_BDTRInitStruct->TIM_LOCKLevel | TIM_BDTRInitStruct->TIM_DeadTime | - TIM_BDTRInitStruct->TIM_Break | TIM_BDTRInitStruct->TIM_BreakPolarity | - TIM_BDTRInitStruct->TIM_AutomaticOutput; -} - 800c3d8: f107 070c add.w r7, r7, #12 ; 0xc - 800c3dc: 46bd mov sp, r7 - 800c3de: bc80 pop {r7} - 800c3e0: 4770 bx lr - 800c3e2: 46c0 nop (mov r8, r8) - -0800c3e4 : - * @param TIM_BDTRInitStruct: pointer to a TIM_BDTRInitTypeDef structure which - * will be initialized. - * @retval None - */ -void TIM_BDTRStructInit(TIM_BDTRInitTypeDef* TIM_BDTRInitStruct) -{ - 800c3e4: b480 push {r7} - 800c3e6: b083 sub sp, #12 - 800c3e8: af00 add r7, sp, #0 - 800c3ea: 6078 str r0, [r7, #4] - /* Set the default configuration */ - TIM_BDTRInitStruct->TIM_OSSRState = TIM_OSSRState_Disable; - 800c3ec: 687a ldr r2, [r7, #4] - 800c3ee: f04f 0300 mov.w r3, #0 ; 0x0 - 800c3f2: 8013 strh r3, [r2, #0] - TIM_BDTRInitStruct->TIM_OSSIState = TIM_OSSIState_Disable; - 800c3f4: 687a ldr r2, [r7, #4] - 800c3f6: f04f 0300 mov.w r3, #0 ; 0x0 - 800c3fa: 8053 strh r3, [r2, #2] - TIM_BDTRInitStruct->TIM_LOCKLevel = TIM_LOCKLevel_OFF; - 800c3fc: 687a ldr r2, [r7, #4] - 800c3fe: f04f 0300 mov.w r3, #0 ; 0x0 - 800c402: 8093 strh r3, [r2, #4] - TIM_BDTRInitStruct->TIM_DeadTime = 0x00; - 800c404: 687a ldr r2, [r7, #4] - 800c406: f04f 0300 mov.w r3, #0 ; 0x0 - 800c40a: 80d3 strh r3, [r2, #6] - TIM_BDTRInitStruct->TIM_Break = TIM_Break_Disable; - 800c40c: 687a ldr r2, [r7, #4] - 800c40e: f04f 0300 mov.w r3, #0 ; 0x0 - 800c412: 8113 strh r3, [r2, #8] - TIM_BDTRInitStruct->TIM_BreakPolarity = TIM_BreakPolarity_Low; - 800c414: 687a ldr r2, [r7, #4] - 800c416: f04f 0300 mov.w r3, #0 ; 0x0 - 800c41a: 8153 strh r3, [r2, #10] - TIM_BDTRInitStruct->TIM_AutomaticOutput = TIM_AutomaticOutput_Disable; - 800c41c: 687a ldr r2, [r7, #4] - 800c41e: f04f 0300 mov.w r3, #0 ; 0x0 - 800c422: 8193 strh r3, [r2, #12] -} - 800c424: f107 070c add.w r7, r7, #12 ; 0xc - 800c428: 46bd mov sp, r7 - 800c42a: bc80 pop {r7} - 800c42c: 4770 bx lr - 800c42e: 46c0 nop (mov r8, r8) - -0800c430 : - * @param NewState: new state of the TIM peripheral Main Outputs. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void TIM_CtrlPWMOutputs(TIM_TypeDef* TIMx, FunctionalState NewState) -{ - 800c430: b480 push {r7} - 800c432: b085 sub sp, #20 - 800c434: af00 add r7, sp, #0 - 800c436: 60f8 str r0, [r7, #12] - 800c438: 460b mov r3, r1 - 800c43a: 72fb strb r3, [r7, #11] - /* Check the parameters */ - //assert_param(IS_TIM_LIST4_PERIPH(TIMx)); - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - 800c43c: 7afb ldrb r3, [r7, #11] - 800c43e: 2b00 cmp r3, #0 - 800c440: d00c beq.n 800c45c - { - /* Enable the TIM Main Output */ - TIMx->BDTR |= TIM_BDTR_MOE; - 800c442: 68fb ldr r3, [r7, #12] - 800c444: f8b3 3044 ldrh.w r3, [r3, #68] - 800c448: b29b uxth r3, r3 - 800c44a: ea6f 4343 mvn.w r3, r3, lsl #17 - 800c44e: ea6f 4353 mvn.w r3, r3, lsr #17 - 800c452: b29b uxth r3, r3 - 800c454: 68fa ldr r2, [r7, #12] - 800c456: f8a2 3044 strh.w r3, [r2, #68] - 800c45a: e00f b.n 800c47c - } - else - { - /* Disable the TIM Main Output */ - TIMx->BDTR &= (uint16_t)~TIM_BDTR_MOE; - 800c45c: 68fb ldr r3, [r7, #12] - 800c45e: f8b3 3044 ldrh.w r3, [r3, #68] - 800c462: b29b uxth r3, r3 - 800c464: 607b str r3, [r7, #4] - 800c466: 6879 ldr r1, [r7, #4] - 800c468: ea4f 4341 mov.w r3, r1, lsl #17 - 800c46c: ea4f 4353 mov.w r3, r3, lsr #17 - 800c470: 607b str r3, [r7, #4] - 800c472: 68fa ldr r2, [r7, #12] - 800c474: 6879 ldr r1, [r7, #4] - 800c476: 460b mov r3, r1 - 800c478: f8a2 3044 strh.w r3, [r2, #68] - } -} - 800c47c: f107 0714 add.w r7, r7, #20 ; 0x14 - 800c480: 46bd mov sp, r7 - 800c482: bc80 pop {r7} - 800c484: 4770 bx lr - 800c486: 46c0 nop (mov r8, r8) - -0800c488 : - * @param NewState: new state of the Commutation event. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void TIM_SelectCOM(TIM_TypeDef* TIMx, FunctionalState NewState) -{ - 800c488: b480 push {r7} - 800c48a: b085 sub sp, #20 - 800c48c: af00 add r7, sp, #0 - 800c48e: 60f8 str r0, [r7, #12] - 800c490: 460b mov r3, r1 - 800c492: 72fb strb r3, [r7, #11] - /* Check the parameters */ - //assert_param(IS_TIM_LIST4_PERIPH(TIMx)); - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - 800c494: 7afb ldrb r3, [r7, #11] - 800c496: 2b00 cmp r3, #0 - 800c498: d008 beq.n 800c4ac - { - /* Set the COM Bit */ - TIMx->CR2 |= TIM_CR2_CCUS; - 800c49a: 68fb ldr r3, [r7, #12] - 800c49c: 889b ldrh r3, [r3, #4] - 800c49e: b29b uxth r3, r3 - 800c4a0: f043 0304 orr.w r3, r3, #4 ; 0x4 - 800c4a4: b29b uxth r3, r3 - 800c4a6: 68fa ldr r2, [r7, #12] - 800c4a8: 8093 strh r3, [r2, #4] - 800c4aa: e00d b.n 800c4c8 - } - else - { - /* Reset the COM Bit */ - TIMx->CR2 &= (uint16_t)~TIM_CR2_CCUS; - 800c4ac: 68fb ldr r3, [r7, #12] - 800c4ae: 889b ldrh r3, [r3, #4] - 800c4b0: b29b uxth r3, r3 - 800c4b2: 607b str r3, [r7, #4] - 800c4b4: f64f 73fb movw r3, #65531 ; 0xfffb - 800c4b8: 6879 ldr r1, [r7, #4] - 800c4ba: ea01 0303 and.w r3, r1, r3 - 800c4be: 607b str r3, [r7, #4] - 800c4c0: 68fa ldr r2, [r7, #12] - 800c4c2: 6879 ldr r1, [r7, #4] - 800c4c4: 460b mov r3, r1 - 800c4c6: 8093 strh r3, [r2, #4] - } -} - 800c4c8: f107 0714 add.w r7, r7, #20 ; 0x14 - 800c4cc: 46bd mov sp, r7 - 800c4ce: bc80 pop {r7} - 800c4d0: 4770 bx lr - 800c4d2: 46c0 nop (mov r8, r8) - -0800c4d4 : - * @param NewState: new state of the Capture Compare Preload Control bit - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void TIM_CCPreloadControl(TIM_TypeDef* TIMx, FunctionalState NewState) -{ - 800c4d4: b480 push {r7} - 800c4d6: b085 sub sp, #20 - 800c4d8: af00 add r7, sp, #0 - 800c4da: 60f8 str r0, [r7, #12] - 800c4dc: 460b mov r3, r1 - 800c4de: 72fb strb r3, [r7, #11] - /* Check the parameters */ - //assert_param(IS_TIM_LIST4_PERIPH(TIMx)); - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - 800c4e0: 7afb ldrb r3, [r7, #11] - 800c4e2: 2b00 cmp r3, #0 - 800c4e4: d008 beq.n 800c4f8 - { - /* Set the CCPC Bit */ - TIMx->CR2 |= TIM_CR2_CCPC; - 800c4e6: 68fb ldr r3, [r7, #12] - 800c4e8: 889b ldrh r3, [r3, #4] - 800c4ea: b29b uxth r3, r3 - 800c4ec: f043 0301 orr.w r3, r3, #1 ; 0x1 - 800c4f0: b29b uxth r3, r3 - 800c4f2: 68fa ldr r2, [r7, #12] - 800c4f4: 8093 strh r3, [r2, #4] - 800c4f6: e00d b.n 800c514 - } - else - { - /* Reset the CCPC Bit */ - TIMx->CR2 &= (uint16_t)~TIM_CR2_CCPC; - 800c4f8: 68fb ldr r3, [r7, #12] - 800c4fa: 889b ldrh r3, [r3, #4] - 800c4fc: b29b uxth r3, r3 - 800c4fe: 607b str r3, [r7, #4] - 800c500: f64f 73fe movw r3, #65534 ; 0xfffe - 800c504: 6879 ldr r1, [r7, #4] - 800c506: ea01 0303 and.w r3, r1, r3 - 800c50a: 607b str r3, [r7, #4] - 800c50c: 68fa ldr r2, [r7, #12] - 800c50e: 6879 ldr r1, [r7, #4] - 800c510: 460b mov r3, r1 - 800c512: 8093 strh r3, [r2, #4] - } -} - 800c514: f107 0714 add.w r7, r7, #20 ; 0x14 - 800c518: 46bd mov sp, r7 - 800c51a: bc80 pop {r7} - 800c51c: 4770 bx lr - 800c51e: 46c0 nop (mov r8, r8) - -0800c520 : - * @param NewState: new state of the TIM interrupts. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void TIM_ITConfig(TIM_TypeDef* TIMx, uint16_t TIM_IT, FunctionalState NewState) -{ - 800c520: b480 push {r7} - 800c522: b083 sub sp, #12 - 800c524: af00 add r7, sp, #0 - 800c526: 6078 str r0, [r7, #4] - 800c528: 460b mov r3, r1 - 800c52a: 807b strh r3, [r7, #2] - 800c52c: 4613 mov r3, r2 - 800c52e: 707b strb r3, [r7, #1] - /* Check the parameters */ - //assert_param(IS_TIM_ALL_PERIPH(TIMx)); - //assert_param(IS_TIM_IT(TIM_IT)); - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - 800c530: 787b ldrb r3, [r7, #1] - 800c532: 2b00 cmp r3, #0 - 800c534: d009 beq.n 800c54a - { - /* Enable the Interrupt sources */ - TIMx->DIER |= TIM_IT; - 800c536: 687b ldr r3, [r7, #4] - 800c538: 899b ldrh r3, [r3, #12] - 800c53a: b29a uxth r2, r3 - 800c53c: 887b ldrh r3, [r7, #2] - 800c53e: ea42 0303 orr.w r3, r2, r3 - 800c542: b29b uxth r3, r3 - 800c544: 687a ldr r2, [r7, #4] - 800c546: 8193 strh r3, [r2, #12] - 800c548: e00b b.n 800c562 - } - else - { - /* Disable the Interrupt sources */ - TIMx->DIER &= (uint16_t)~TIM_IT; - 800c54a: 687b ldr r3, [r7, #4] - 800c54c: 899b ldrh r3, [r3, #12] - 800c54e: b29a uxth r2, r3 - 800c550: 887b ldrh r3, [r7, #2] - 800c552: ea6f 0303 mvn.w r3, r3 - 800c556: b29b uxth r3, r3 - 800c558: ea02 0303 and.w r3, r2, r3 - 800c55c: b29b uxth r3, r3 - 800c55e: 687a ldr r2, [r7, #4] - 800c560: 8193 strh r3, [r2, #12] - } -} - 800c562: f107 070c add.w r7, r7, #12 ; 0xc - 800c566: 46bd mov sp, r7 - 800c568: bc80 pop {r7} - 800c56a: 4770 bx lr - -0800c56c : - * @note TIM_EventSource_COM and TIM_EventSource_Break are used only with TIM1 and TIM8. - * - * @retval None - */ -void TIM_GenerateEvent(TIM_TypeDef* TIMx, uint16_t TIM_EventSource) -{ - 800c56c: b480 push {r7} - 800c56e: b083 sub sp, #12 - 800c570: af00 add r7, sp, #0 - 800c572: 6078 str r0, [r7, #4] - 800c574: 460b mov r3, r1 - 800c576: 807b strh r3, [r7, #2] - /* Check the parameters */ - //assert_param(IS_TIM_ALL_PERIPH(TIMx)); - //assert_param(IS_TIM_EVENT_SOURCE(TIM_EventSource)); - - /* Set the event sources */ - TIMx->EGR = TIM_EventSource; - 800c578: 687a ldr r2, [r7, #4] - 800c57a: 887b ldrh r3, [r7, #2] - 800c57c: 8293 strh r3, [r2, #20] -} - 800c57e: f107 070c add.w r7, r7, #12 ; 0xc - 800c582: 46bd mov sp, r7 - 800c584: bc80 pop {r7} - 800c586: 4770 bx lr - -0800c588 : - * @note TIM_FLAG_COM and TIM_FLAG_Break are used only with TIM1 and TIM8. - * - * @retval The new state of TIM_FLAG (SET or RESET). - */ -FlagStatus TIM_GetFlagStatus(TIM_TypeDef* TIMx, uint16_t TIM_FLAG) -{ - 800c588: b480 push {r7} - 800c58a: b085 sub sp, #20 - 800c58c: af00 add r7, sp, #0 - 800c58e: 6078 str r0, [r7, #4] - 800c590: 460b mov r3, r1 - 800c592: 807b strh r3, [r7, #2] - ITStatus bitstatus = RESET; - 800c594: f04f 0300 mov.w r3, #0 ; 0x0 - 800c598: 73fb strb r3, [r7, #15] - /* Check the parameters */ - //assert_param(IS_TIM_ALL_PERIPH(TIMx)); - //assert_param(IS_TIM_GET_FLAG(TIM_FLAG)); - - - if ((TIMx->SR & TIM_FLAG) != (uint16_t)RESET) - 800c59a: 687b ldr r3, [r7, #4] - 800c59c: 8a1b ldrh r3, [r3, #16] - 800c59e: b29a uxth r2, r3 - 800c5a0: 887b ldrh r3, [r7, #2] - 800c5a2: ea02 0303 and.w r3, r2, r3 - 800c5a6: b29b uxth r3, r3 - 800c5a8: 2b00 cmp r3, #0 - 800c5aa: d003 beq.n 800c5b4 - { - bitstatus = SET; - 800c5ac: f04f 0301 mov.w r3, #1 ; 0x1 - 800c5b0: 73fb strb r3, [r7, #15] - 800c5b2: e002 b.n 800c5ba - } - else - { - bitstatus = RESET; - 800c5b4: f04f 0300 mov.w r3, #0 ; 0x0 - 800c5b8: 73fb strb r3, [r7, #15] - } - return bitstatus; - 800c5ba: 7bfb ldrb r3, [r7, #15] -} - 800c5bc: 4618 mov r0, r3 - 800c5be: f107 0714 add.w r7, r7, #20 ; 0x14 - 800c5c2: 46bd mov sp, r7 - 800c5c4: bc80 pop {r7} - 800c5c6: 4770 bx lr - -0800c5c8 : - * @note TIM_FLAG_COM and TIM_FLAG_Break are used only with TIM1 and TIM8. - * - * @retval None - */ -void TIM_ClearFlag(TIM_TypeDef* TIMx, uint16_t TIM_FLAG) -{ - 800c5c8: b480 push {r7} - 800c5ca: b083 sub sp, #12 - 800c5cc: af00 add r7, sp, #0 - 800c5ce: 6078 str r0, [r7, #4] - 800c5d0: 460b mov r3, r1 - 800c5d2: 807b strh r3, [r7, #2] - /* Check the parameters */ - //assert_param(IS_TIM_ALL_PERIPH(TIMx)); - - /* Clear the flags */ - TIMx->SR = (uint16_t)~TIM_FLAG; - 800c5d4: 887b ldrh r3, [r7, #2] - 800c5d6: ea6f 0303 mvn.w r3, r3 - 800c5da: b29b uxth r3, r3 - 800c5dc: 687a ldr r2, [r7, #4] - 800c5de: 8213 strh r3, [r2, #16] -} - 800c5e0: f107 070c add.w r7, r7, #12 ; 0xc - 800c5e4: 46bd mov sp, r7 - 800c5e6: bc80 pop {r7} - 800c5e8: 4770 bx lr - 800c5ea: 46c0 nop (mov r8, r8) - -0800c5ec : - * @note TIM_IT_COM and TIM_IT_Break are used only with TIM1 and TIM8. - * - * @retval The new state of the TIM_IT(SET or RESET). - */ -ITStatus TIM_GetITStatus(TIM_TypeDef* TIMx, uint16_t TIM_IT) -{ - 800c5ec: b480 push {r7} - 800c5ee: b085 sub sp, #20 - 800c5f0: af00 add r7, sp, #0 - 800c5f2: 6078 str r0, [r7, #4] - 800c5f4: 460b mov r3, r1 - 800c5f6: 807b strh r3, [r7, #2] - ITStatus bitstatus = RESET; - 800c5f8: f04f 0300 mov.w r3, #0 ; 0x0 - 800c5fc: 72fb strb r3, [r7, #11] - uint16_t itstatus = 0x0, itenable = 0x0; - 800c5fe: f04f 0300 mov.w r3, #0 ; 0x0 - 800c602: 81bb strh r3, [r7, #12] - 800c604: f04f 0300 mov.w r3, #0 ; 0x0 - 800c608: 81fb strh r3, [r7, #14] - /* Check the parameters */ - //assert_param(IS_TIM_ALL_PERIPH(TIMx)); - //assert_param(IS_TIM_GET_IT(TIM_IT)); - - itstatus = TIMx->SR & TIM_IT; - 800c60a: 687b ldr r3, [r7, #4] - 800c60c: 8a1b ldrh r3, [r3, #16] - 800c60e: b29a uxth r2, r3 - 800c610: 887b ldrh r3, [r7, #2] - 800c612: ea02 0303 and.w r3, r2, r3 - 800c616: 81bb strh r3, [r7, #12] - - itenable = TIMx->DIER & TIM_IT; - 800c618: 687b ldr r3, [r7, #4] - 800c61a: 899b ldrh r3, [r3, #12] - 800c61c: b29a uxth r2, r3 - 800c61e: 887b ldrh r3, [r7, #2] - 800c620: ea02 0303 and.w r3, r2, r3 - 800c624: 81fb strh r3, [r7, #14] - if ((itstatus != (uint16_t)RESET) && (itenable != (uint16_t)RESET)) - 800c626: 89bb ldrh r3, [r7, #12] - 800c628: 2b00 cmp r3, #0 - 800c62a: d006 beq.n 800c63a - 800c62c: 89fb ldrh r3, [r7, #14] - 800c62e: 2b00 cmp r3, #0 - 800c630: d003 beq.n 800c63a - { - bitstatus = SET; - 800c632: f04f 0301 mov.w r3, #1 ; 0x1 - 800c636: 72fb strb r3, [r7, #11] - 800c638: e002 b.n 800c640 - } - else - { - bitstatus = RESET; - 800c63a: f04f 0300 mov.w r3, #0 ; 0x0 - 800c63e: 72fb strb r3, [r7, #11] - } - return bitstatus; - 800c640: 7afb ldrb r3, [r7, #11] -} - 800c642: 4618 mov r0, r3 - 800c644: f107 0714 add.w r7, r7, #20 ; 0x14 - 800c648: 46bd mov sp, r7 - 800c64a: bc80 pop {r7} - 800c64c: 4770 bx lr - 800c64e: 46c0 nop (mov r8, r8) - -0800c650 : - * @note TIM_IT_COM and TIM_IT_Break are used only with TIM1 and TIM8. - * - * @retval None - */ -void TIM_ClearITPendingBit(TIM_TypeDef* TIMx, uint16_t TIM_IT) -{ - 800c650: b480 push {r7} - 800c652: b083 sub sp, #12 - 800c654: af00 add r7, sp, #0 - 800c656: 6078 str r0, [r7, #4] - 800c658: 460b mov r3, r1 - 800c65a: 807b strh r3, [r7, #2] - /* Check the parameters */ - //assert_param(IS_TIM_ALL_PERIPH(TIMx)); - - /* Clear the IT pending Bit */ - TIMx->SR = (uint16_t)~TIM_IT; - 800c65c: 887b ldrh r3, [r7, #2] - 800c65e: ea6f 0303 mvn.w r3, r3 - 800c662: b29b uxth r3, r3 - 800c664: 687a ldr r2, [r7, #4] - 800c666: 8213 strh r3, [r2, #16] -} - 800c668: f107 070c add.w r7, r7, #12 ; 0xc - 800c66c: 46bd mov sp, r7 - 800c66e: bc80 pop {r7} - 800c670: 4770 bx lr - 800c672: 46c0 nop (mov r8, r8) - -0800c674 : - * @param TIM_DMABurstLength: DMA Burst length. This parameter can be one value - * between: TIM_DMABurstLength_1Transfer and TIM_DMABurstLength_18Transfers. - * @retval None - */ -void TIM_DMAConfig(TIM_TypeDef* TIMx, uint16_t TIM_DMABase, uint16_t TIM_DMABurstLength) -{ - 800c674: b480 push {r7} - 800c676: b083 sub sp, #12 - 800c678: af00 add r7, sp, #0 - 800c67a: 6078 str r0, [r7, #4] - 800c67c: 460b mov r3, r1 - 800c67e: 807b strh r3, [r7, #2] - 800c680: 4613 mov r3, r2 - 800c682: 803b strh r3, [r7, #0] - //assert_param(IS_TIM_LIST3_PERIPH(TIMx)); - //assert_param(IS_TIM_DMA_BASE(TIM_DMABase)); - //assert_param(IS_TIM_DMA_LENGTH(TIM_DMABurstLength)); - - /* Set the DMA Base and the DMA Burst Length */ - TIMx->DCR = TIM_DMABase | TIM_DMABurstLength; - 800c684: 887a ldrh r2, [r7, #2] - 800c686: 883b ldrh r3, [r7, #0] - 800c688: ea42 0303 orr.w r3, r2, r3 - 800c68c: b29b uxth r3, r3 - 800c68e: 687a ldr r2, [r7, #4] - 800c690: f8a2 3048 strh.w r3, [r2, #72] -} - 800c694: f107 070c add.w r7, r7, #12 ; 0xc - 800c698: 46bd mov sp, r7 - 800c69a: bc80 pop {r7} - 800c69c: 4770 bx lr - 800c69e: 46c0 nop (mov r8, r8) - -0800c6a0 : - * @param NewState: new state of the DMA Request sources. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void TIM_DMACmd(TIM_TypeDef* TIMx, uint16_t TIM_DMASource, FunctionalState NewState) -{ - 800c6a0: b480 push {r7} - 800c6a2: b083 sub sp, #12 - 800c6a4: af00 add r7, sp, #0 - 800c6a6: 6078 str r0, [r7, #4] - 800c6a8: 460b mov r3, r1 - 800c6aa: 807b strh r3, [r7, #2] - 800c6ac: 4613 mov r3, r2 - 800c6ae: 707b strb r3, [r7, #1] - /* Check the parameters */ - //assert_param(IS_TIM_LIST5_PERIPH(TIMx)); - //assert_param(IS_TIM_DMA_SOURCE(TIM_DMASource)); - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - 800c6b0: 787b ldrb r3, [r7, #1] - 800c6b2: 2b00 cmp r3, #0 - 800c6b4: d009 beq.n 800c6ca - { - /* Enable the DMA sources */ - TIMx->DIER |= TIM_DMASource; - 800c6b6: 687b ldr r3, [r7, #4] - 800c6b8: 899b ldrh r3, [r3, #12] - 800c6ba: b29a uxth r2, r3 - 800c6bc: 887b ldrh r3, [r7, #2] - 800c6be: ea42 0303 orr.w r3, r2, r3 - 800c6c2: b29b uxth r3, r3 - 800c6c4: 687a ldr r2, [r7, #4] - 800c6c6: 8193 strh r3, [r2, #12] - 800c6c8: e00b b.n 800c6e2 - } - else - { - /* Disable the DMA sources */ - TIMx->DIER &= (uint16_t)~TIM_DMASource; - 800c6ca: 687b ldr r3, [r7, #4] - 800c6cc: 899b ldrh r3, [r3, #12] - 800c6ce: b29a uxth r2, r3 - 800c6d0: 887b ldrh r3, [r7, #2] - 800c6d2: ea6f 0303 mvn.w r3, r3 - 800c6d6: b29b uxth r3, r3 - 800c6d8: ea02 0303 and.w r3, r2, r3 - 800c6dc: b29b uxth r3, r3 - 800c6de: 687a ldr r2, [r7, #4] - 800c6e0: 8193 strh r3, [r2, #12] - } -} - 800c6e2: f107 070c add.w r7, r7, #12 ; 0xc - 800c6e6: 46bd mov sp, r7 - 800c6e8: bc80 pop {r7} - 800c6ea: 4770 bx lr - -0800c6ec : - * @param NewState: new state of the Capture Compare DMA source - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void TIM_SelectCCDMA(TIM_TypeDef* TIMx, FunctionalState NewState) -{ - 800c6ec: b480 push {r7} - 800c6ee: b085 sub sp, #20 - 800c6f0: af00 add r7, sp, #0 - 800c6f2: 60f8 str r0, [r7, #12] - 800c6f4: 460b mov r3, r1 - 800c6f6: 72fb strb r3, [r7, #11] - /* Check the parameters */ - //assert_param(IS_TIM_LIST3_PERIPH(TIMx)); - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - 800c6f8: 7afb ldrb r3, [r7, #11] - 800c6fa: 2b00 cmp r3, #0 - 800c6fc: d008 beq.n 800c710 - { - /* Set the CCDS Bit */ - TIMx->CR2 |= TIM_CR2_CCDS; - 800c6fe: 68fb ldr r3, [r7, #12] - 800c700: 889b ldrh r3, [r3, #4] - 800c702: b29b uxth r3, r3 - 800c704: f043 0308 orr.w r3, r3, #8 ; 0x8 - 800c708: b29b uxth r3, r3 - 800c70a: 68fa ldr r2, [r7, #12] - 800c70c: 8093 strh r3, [r2, #4] - 800c70e: e00d b.n 800c72c - } - else - { - /* Reset the CCDS Bit */ - TIMx->CR2 &= (uint16_t)~TIM_CR2_CCDS; - 800c710: 68fb ldr r3, [r7, #12] - 800c712: 889b ldrh r3, [r3, #4] - 800c714: b29b uxth r3, r3 - 800c716: 607b str r3, [r7, #4] - 800c718: f64f 73f7 movw r3, #65527 ; 0xfff7 - 800c71c: 6879 ldr r1, [r7, #4] - 800c71e: ea01 0303 and.w r3, r1, r3 - 800c722: 607b str r3, [r7, #4] - 800c724: 68fa ldr r2, [r7, #12] - 800c726: 6879 ldr r1, [r7, #4] - 800c728: 460b mov r3, r1 - 800c72a: 8093 strh r3, [r2, #4] - } -} - 800c72c: f107 0714 add.w r7, r7, #20 ; 0x14 - 800c730: 46bd mov sp, r7 - 800c732: bc80 pop {r7} - 800c734: 4770 bx lr - 800c736: 46c0 nop (mov r8, r8) - -0800c738 : - * @param TIMx: where x can be 1, 2, 3, 4, 5, 8, 9 or 12 to select the TIM - * peripheral. - * @retval None - */ -void TIM_InternalClockConfig(TIM_TypeDef* TIMx) -{ - 800c738: b480 push {r7} - 800c73a: b083 sub sp, #12 - 800c73c: af00 add r7, sp, #0 - 800c73e: 6078 str r0, [r7, #4] - /* Check the parameters */ - //assert_param(IS_TIM_LIST2_PERIPH(TIMx)); - - /* Disable slave mode to clock the prescaler directly with the internal clock */ - TIMx->SMCR &= (uint16_t)~TIM_SMCR_SMS; - 800c740: 687b ldr r3, [r7, #4] - 800c742: 891b ldrh r3, [r3, #8] - 800c744: b29b uxth r3, r3 - 800c746: 603b str r3, [r7, #0] - 800c748: f64f 73f8 movw r3, #65528 ; 0xfff8 - 800c74c: 6839 ldr r1, [r7, #0] - 800c74e: ea01 0303 and.w r3, r1, r3 - 800c752: 603b str r3, [r7, #0] - 800c754: 687a ldr r2, [r7, #4] - 800c756: 6839 ldr r1, [r7, #0] - 800c758: 460b mov r3, r1 - 800c75a: 8113 strh r3, [r2, #8] -} - 800c75c: f107 070c add.w r7, r7, #12 ; 0xc - 800c760: 46bd mov sp, r7 - 800c762: bc80 pop {r7} - 800c764: 4770 bx lr - 800c766: 46c0 nop (mov r8, r8) - -0800c768 : - * @arg TIM_TS_ITR2: Internal Trigger 2 - * @arg TIM_TS_ITR3: Internal Trigger 3 - * @retval None - */ -void TIM_ITRxExternalClockConfig(TIM_TypeDef* TIMx, uint16_t TIM_InputTriggerSource) -{ - 800c768: b580 push {r7, lr} - 800c76a: b082 sub sp, #8 - 800c76c: af00 add r7, sp, #0 - 800c76e: 6078 str r0, [r7, #4] - 800c770: 460b mov r3, r1 - 800c772: 807b strh r3, [r7, #2] - /* Check the parameters */ - //assert_param(IS_TIM_LIST2_PERIPH(TIMx)); - //assert_param(IS_TIM_INTERNAL_TRIGGER_SELECTION(TIM_InputTriggerSource)); - - /* Select the Internal Trigger */ - TIM_SelectInputTrigger(TIMx, TIM_InputTriggerSource); - 800c774: 887b ldrh r3, [r7, #2] - 800c776: 6878 ldr r0, [r7, #4] - 800c778: 4619 mov r1, r3 - 800c77a: f000 f893 bl 800c8a4 - - /* Select the External clock mode1 */ - TIMx->SMCR |= TIM_SlaveMode_External1; - 800c77e: 687b ldr r3, [r7, #4] - 800c780: 891b ldrh r3, [r3, #8] - 800c782: b29b uxth r3, r3 - 800c784: f043 0307 orr.w r3, r3, #7 ; 0x7 - 800c788: b29b uxth r3, r3 - 800c78a: 687a ldr r2, [r7, #4] - 800c78c: 8113 strh r3, [r2, #8] -} - 800c78e: f107 0708 add.w r7, r7, #8 ; 0x8 - 800c792: 46bd mov sp, r7 - 800c794: bd80 pop {r7, pc} - 800c796: 46c0 nop (mov r8, r8) - -0800c798 : - * This parameter must be a value between 0x0 and 0xF. - * @retval None - */ -void TIM_TIxExternalClockConfig(TIM_TypeDef* TIMx, uint16_t TIM_TIxExternalCLKSource, - uint16_t TIM_ICPolarity, uint16_t ICFilter) -{ - 800c798: b580 push {r7, lr} - 800c79a: b084 sub sp, #16 - 800c79c: af00 add r7, sp, #0 - 800c79e: 60f8 str r0, [r7, #12] - 800c7a0: 4618 mov r0, r3 - 800c7a2: 460b mov r3, r1 - 800c7a4: 817b strh r3, [r7, #10] - 800c7a6: 4613 mov r3, r2 - 800c7a8: 813b strh r3, [r7, #8] - 800c7aa: 4603 mov r3, r0 - 800c7ac: 80fb strh r3, [r7, #6] - //assert_param(IS_TIM_LIST1_PERIPH(TIMx)); - //assert_param(IS_TIM_IC_POLARITY(TIM_ICPolarity)); - //assert_param(IS_TIM_IC_FILTER(ICFilter)); - - /* Configure the Timer Input Clock Source */ - if (TIM_TIxExternalCLKSource == TIM_TIxExternalCLK1Source_TI2) - 800c7ae: 897b ldrh r3, [r7, #10] - 800c7b0: 2b60 cmp r3, #96 - 800c7b2: d10a bne.n 800c7ca - { - TI2_Config(TIMx, TIM_ICPolarity, TIM_ICSelection_DirectTI, ICFilter); - 800c7b4: 893b ldrh r3, [r7, #8] - 800c7b6: f8b7 c006 ldrh.w ip, [r7, #6] - 800c7ba: 68f8 ldr r0, [r7, #12] - 800c7bc: 4619 mov r1, r3 - 800c7be: f04f 0201 mov.w r2, #1 ; 0x1 - 800c7c2: 4663 mov r3, ip - 800c7c4: f000 f9f2 bl 800cbac - 800c7c8: e009 b.n 800c7de - } - else - { - TI1_Config(TIMx, TIM_ICPolarity, TIM_ICSelection_DirectTI, ICFilter); - 800c7ca: 893b ldrh r3, [r7, #8] - 800c7cc: f8b7 c006 ldrh.w ip, [r7, #6] - 800c7d0: 68f8 ldr r0, [r7, #12] - 800c7d2: 4619 mov r1, r3 - 800c7d4: f04f 0201 mov.w r2, #1 ; 0x1 - 800c7d8: 4663 mov r3, ip - 800c7da: f000 f99b bl 800cb14 - } - /* Select the Trigger source */ - TIM_SelectInputTrigger(TIMx, TIM_TIxExternalCLKSource); - 800c7de: 897b ldrh r3, [r7, #10] - 800c7e0: 68f8 ldr r0, [r7, #12] - 800c7e2: 4619 mov r1, r3 - 800c7e4: f000 f85e bl 800c8a4 - /* Select the External clock mode1 */ - TIMx->SMCR |= TIM_SlaveMode_External1; - 800c7e8: 68fb ldr r3, [r7, #12] - 800c7ea: 891b ldrh r3, [r3, #8] - 800c7ec: b29b uxth r3, r3 - 800c7ee: f043 0307 orr.w r3, r3, #7 ; 0x7 - 800c7f2: b29b uxth r3, r3 - 800c7f4: 68fa ldr r2, [r7, #12] - 800c7f6: 8113 strh r3, [r2, #8] -} - 800c7f8: f107 0710 add.w r7, r7, #16 ; 0x10 - 800c7fc: 46bd mov sp, r7 - 800c7fe: bd80 pop {r7, pc} - -0800c800 : - * This parameter must be a value between 0x00 and 0x0F - * @retval None - */ -void TIM_ETRClockMode1Config(TIM_TypeDef* TIMx, uint16_t TIM_ExtTRGPrescaler, - uint16_t TIM_ExtTRGPolarity, uint16_t ExtTRGFilter) -{ - 800c800: b580 push {r7, lr} - 800c802: b086 sub sp, #24 - 800c804: af00 add r7, sp, #0 - 800c806: 60f8 str r0, [r7, #12] - 800c808: 4618 mov r0, r3 - 800c80a: 460b mov r3, r1 - 800c80c: 817b strh r3, [r7, #10] - 800c80e: 4613 mov r3, r2 - 800c810: 813b strh r3, [r7, #8] - 800c812: 4603 mov r3, r0 - 800c814: 80fb strh r3, [r7, #6] - uint16_t tmpsmcr = 0; - 800c816: f04f 0300 mov.w r3, #0 ; 0x0 - 800c81a: 82fb strh r3, [r7, #22] - //assert_param(IS_TIM_LIST3_PERIPH(TIMx)); - //assert_param(IS_TIM_EXT_PRESCALER(TIM_ExtTRGPrescaler)); - //assert_param(IS_TIM_EXT_POLARITY(TIM_ExtTRGPolarity)); - //assert_param(IS_TIM_EXT_FILTER(ExtTRGFilter)); - /* Configure the ETR Clock source */ - TIM_ETRConfig(TIMx, TIM_ExtTRGPrescaler, TIM_ExtTRGPolarity, ExtTRGFilter); - 800c81c: 897b ldrh r3, [r7, #10] - 800c81e: 893a ldrh r2, [r7, #8] - 800c820: f8b7 c006 ldrh.w ip, [r7, #6] - 800c824: 68f8 ldr r0, [r7, #12] - 800c826: 4619 mov r1, r3 - 800c828: 4663 mov r3, ip - 800c82a: f000 f8bf bl 800c9ac - - /* Get the TIMx SMCR register value */ - tmpsmcr = TIMx->SMCR; - 800c82e: 68fb ldr r3, [r7, #12] - 800c830: 891b ldrh r3, [r3, #8] - 800c832: 82fb strh r3, [r7, #22] - - /* Reset the SMS Bits */ - tmpsmcr &= (uint16_t)~TIM_SMCR_SMS; - 800c834: 8afb ldrh r3, [r7, #22] - 800c836: f023 0307 bic.w r3, r3, #7 ; 0x7 - 800c83a: 82fb strh r3, [r7, #22] - - /* Select the External clock mode1 */ - tmpsmcr |= TIM_SlaveMode_External1; - 800c83c: 8afb ldrh r3, [r7, #22] - 800c83e: f043 0307 orr.w r3, r3, #7 ; 0x7 - 800c842: 82fb strh r3, [r7, #22] - - /* Select the Trigger selection : ETRF */ - tmpsmcr &= (uint16_t)~TIM_SMCR_TS; - 800c844: 8afb ldrh r3, [r7, #22] - 800c846: f023 0370 bic.w r3, r3, #112 ; 0x70 - 800c84a: 82fb strh r3, [r7, #22] - tmpsmcr |= TIM_TS_ETRF; - 800c84c: 8afb ldrh r3, [r7, #22] - 800c84e: f043 0370 orr.w r3, r3, #112 ; 0x70 - 800c852: 82fb strh r3, [r7, #22] - - /* Write to TIMx SMCR */ - TIMx->SMCR = tmpsmcr; - 800c854: 68fa ldr r2, [r7, #12] - 800c856: 8afb ldrh r3, [r7, #22] - 800c858: 8113 strh r3, [r2, #8] -} - 800c85a: f107 0718 add.w r7, r7, #24 ; 0x18 - 800c85e: 46bd mov sp, r7 - 800c860: bd80 pop {r7, pc} - 800c862: 46c0 nop (mov r8, r8) - -0800c864 : - * This parameter must be a value between 0x00 and 0x0F - * @retval None - */ -void TIM_ETRClockMode2Config(TIM_TypeDef* TIMx, uint16_t TIM_ExtTRGPrescaler, - uint16_t TIM_ExtTRGPolarity, uint16_t ExtTRGFilter) -{ - 800c864: b580 push {r7, lr} - 800c866: b084 sub sp, #16 - 800c868: af00 add r7, sp, #0 - 800c86a: 60f8 str r0, [r7, #12] - 800c86c: 4618 mov r0, r3 - 800c86e: 460b mov r3, r1 - 800c870: 817b strh r3, [r7, #10] - 800c872: 4613 mov r3, r2 - 800c874: 813b strh r3, [r7, #8] - 800c876: 4603 mov r3, r0 - 800c878: 80fb strh r3, [r7, #6] - //assert_param(IS_TIM_EXT_PRESCALER(TIM_ExtTRGPrescaler)); - //assert_param(IS_TIM_EXT_POLARITY(TIM_ExtTRGPolarity)); - //assert_param(IS_TIM_EXT_FILTER(ExtTRGFilter)); - - /* Configure the ETR Clock source */ - TIM_ETRConfig(TIMx, TIM_ExtTRGPrescaler, TIM_ExtTRGPolarity, ExtTRGFilter); - 800c87a: 897b ldrh r3, [r7, #10] - 800c87c: 893a ldrh r2, [r7, #8] - 800c87e: f8b7 c006 ldrh.w ip, [r7, #6] - 800c882: 68f8 ldr r0, [r7, #12] - 800c884: 4619 mov r1, r3 - 800c886: 4663 mov r3, ip - 800c888: f000 f890 bl 800c9ac - - /* Enable the External clock mode2 */ - TIMx->SMCR |= TIM_SMCR_ECE; - 800c88c: 68fb ldr r3, [r7, #12] - 800c88e: 891b ldrh r3, [r3, #8] - 800c890: b29b uxth r3, r3 - 800c892: f443 4380 orr.w r3, r3, #16384 ; 0x4000 - 800c896: b29b uxth r3, r3 - 800c898: 68fa ldr r2, [r7, #12] - 800c89a: 8113 strh r3, [r2, #8] -} - 800c89c: f107 0710 add.w r7, r7, #16 ; 0x10 - 800c8a0: 46bd mov sp, r7 - 800c8a2: bd80 pop {r7, pc} - -0800c8a4 : - * @arg TIM_TS_TI2FP2: Filtered Timer Input 2 - * @arg TIM_TS_ETRF: External Trigger input - * @retval None - */ -void TIM_SelectInputTrigger(TIM_TypeDef* TIMx, uint16_t TIM_InputTriggerSource) -{ - 800c8a4: b480 push {r7} - 800c8a6: b085 sub sp, #20 - 800c8a8: af00 add r7, sp, #0 - 800c8aa: 6078 str r0, [r7, #4] - 800c8ac: 460b mov r3, r1 - 800c8ae: 807b strh r3, [r7, #2] - uint16_t tmpsmcr = 0; - 800c8b0: f04f 0300 mov.w r3, #0 ; 0x0 - 800c8b4: 81fb strh r3, [r7, #14] - /* Check the parameters */ - //assert_param(IS_TIM_LIST1_PERIPH(TIMx)); - //assert_param(IS_TIM_TRIGGER_SELECTION(TIM_InputTriggerSource)); - - /* Get the TIMx SMCR register value */ - tmpsmcr = TIMx->SMCR; - 800c8b6: 687b ldr r3, [r7, #4] - 800c8b8: 891b ldrh r3, [r3, #8] - 800c8ba: 81fb strh r3, [r7, #14] - - /* Reset the TS Bits */ - tmpsmcr &= (uint16_t)~TIM_SMCR_TS; - 800c8bc: 89fb ldrh r3, [r7, #14] - 800c8be: f023 0370 bic.w r3, r3, #112 ; 0x70 - 800c8c2: 81fb strh r3, [r7, #14] - - /* Set the Input Trigger source */ - tmpsmcr |= TIM_InputTriggerSource; - 800c8c4: 89fa ldrh r2, [r7, #14] - 800c8c6: 887b ldrh r3, [r7, #2] - 800c8c8: ea42 0303 orr.w r3, r2, r3 - 800c8cc: 81fb strh r3, [r7, #14] - - /* Write to TIMx SMCR */ - TIMx->SMCR = tmpsmcr; - 800c8ce: 687a ldr r2, [r7, #4] - 800c8d0: 89fb ldrh r3, [r7, #14] - 800c8d2: 8113 strh r3, [r2, #8] -} - 800c8d4: f107 0714 add.w r7, r7, #20 ; 0x14 - 800c8d8: 46bd mov sp, r7 - 800c8da: bc80 pop {r7} - 800c8dc: 4770 bx lr - 800c8de: 46c0 nop (mov r8, r8) - -0800c8e0 : - * @arg TIM_TRGOSource_OC4Ref: OC4REF signal is used as the trigger output(TRGO) - * - * @retval None - */ -void TIM_SelectOutputTrigger(TIM_TypeDef* TIMx, uint16_t TIM_TRGOSource) -{ - 800c8e0: b480 push {r7} - 800c8e2: b085 sub sp, #20 - 800c8e4: af00 add r7, sp, #0 - 800c8e6: 60f8 str r0, [r7, #12] - 800c8e8: 460b mov r3, r1 - 800c8ea: 817b strh r3, [r7, #10] - /* Check the parameters */ - //assert_param(IS_TIM_LIST5_PERIPH(TIMx)); - //assert_param(IS_TIM_TRGO_SOURCE(TIM_TRGOSource)); - - /* Reset the MMS Bits */ - TIMx->CR2 &= (uint16_t)~TIM_CR2_MMS; - 800c8ec: 68fb ldr r3, [r7, #12] - 800c8ee: 889b ldrh r3, [r3, #4] - 800c8f0: b29b uxth r3, r3 - 800c8f2: 607b str r3, [r7, #4] - 800c8f4: f64f 738f movw r3, #65423 ; 0xff8f - 800c8f8: 6879 ldr r1, [r7, #4] - 800c8fa: ea01 0303 and.w r3, r1, r3 - 800c8fe: 607b str r3, [r7, #4] - 800c900: 68fa ldr r2, [r7, #12] - 800c902: 6879 ldr r1, [r7, #4] - 800c904: 460b mov r3, r1 - 800c906: 8093 strh r3, [r2, #4] - /* Select the TRGO source */ - TIMx->CR2 |= TIM_TRGOSource; - 800c908: 68fb ldr r3, [r7, #12] - 800c90a: 889b ldrh r3, [r3, #4] - 800c90c: b29a uxth r2, r3 - 800c90e: 897b ldrh r3, [r7, #10] - 800c910: ea42 0303 orr.w r3, r2, r3 - 800c914: b29b uxth r3, r3 - 800c916: 68fa ldr r2, [r7, #12] - 800c918: 8093 strh r3, [r2, #4] -} - 800c91a: f107 0714 add.w r7, r7, #20 ; 0x14 - 800c91e: 46bd mov sp, r7 - 800c920: bc80 pop {r7} - 800c922: 4770 bx lr - -0800c924 : - * @arg TIM_SlaveMode_Trigger: The counter starts at a rising edge of the trigger TRGI - * @arg TIM_SlaveMode_External1: Rising edges of the selected trigger (TRGI) clock the counter - * @retval None - */ -void TIM_SelectSlaveMode(TIM_TypeDef* TIMx, uint16_t TIM_SlaveMode) -{ - 800c924: b480 push {r7} - 800c926: b085 sub sp, #20 - 800c928: af00 add r7, sp, #0 - 800c92a: 60f8 str r0, [r7, #12] - 800c92c: 460b mov r3, r1 - 800c92e: 817b strh r3, [r7, #10] - /* Check the parameters */ - //assert_param(IS_TIM_LIST2_PERIPH(TIMx)); - //assert_param(IS_TIM_SLAVE_MODE(TIM_SlaveMode)); - - /* Reset the SMS Bits */ - TIMx->SMCR &= (uint16_t)~TIM_SMCR_SMS; - 800c930: 68fb ldr r3, [r7, #12] - 800c932: 891b ldrh r3, [r3, #8] - 800c934: b29b uxth r3, r3 - 800c936: 607b str r3, [r7, #4] - 800c938: f64f 73f8 movw r3, #65528 ; 0xfff8 - 800c93c: 6879 ldr r1, [r7, #4] - 800c93e: ea01 0303 and.w r3, r1, r3 - 800c942: 607b str r3, [r7, #4] - 800c944: 68fa ldr r2, [r7, #12] - 800c946: 6879 ldr r1, [r7, #4] - 800c948: 460b mov r3, r1 - 800c94a: 8113 strh r3, [r2, #8] - - /* Select the Slave Mode */ - TIMx->SMCR |= TIM_SlaveMode; - 800c94c: 68fb ldr r3, [r7, #12] - 800c94e: 891b ldrh r3, [r3, #8] - 800c950: b29a uxth r2, r3 - 800c952: 897b ldrh r3, [r7, #10] - 800c954: ea42 0303 orr.w r3, r2, r3 - 800c958: b29b uxth r3, r3 - 800c95a: 68fa ldr r2, [r7, #12] - 800c95c: 8113 strh r3, [r2, #8] -} - 800c95e: f107 0714 add.w r7, r7, #20 ; 0x14 - 800c962: 46bd mov sp, r7 - 800c964: bc80 pop {r7} - 800c966: 4770 bx lr - -0800c968 : - * and its slaves (through TRGO) - * @arg TIM_MasterSlaveMode_Disable: No action - * @retval None - */ -void TIM_SelectMasterSlaveMode(TIM_TypeDef* TIMx, uint16_t TIM_MasterSlaveMode) -{ - 800c968: b480 push {r7} - 800c96a: b085 sub sp, #20 - 800c96c: af00 add r7, sp, #0 - 800c96e: 60f8 str r0, [r7, #12] - 800c970: 460b mov r3, r1 - 800c972: 817b strh r3, [r7, #10] - /* Check the parameters */ - //assert_param(IS_TIM_LIST2_PERIPH(TIMx)); - //assert_param(IS_TIM_MSM_STATE(TIM_MasterSlaveMode)); - - /* Reset the MSM Bit */ - TIMx->SMCR &= (uint16_t)~TIM_SMCR_MSM; - 800c974: 68fb ldr r3, [r7, #12] - 800c976: 891b ldrh r3, [r3, #8] - 800c978: b29b uxth r3, r3 - 800c97a: 607b str r3, [r7, #4] - 800c97c: f64f 737f movw r3, #65407 ; 0xff7f - 800c980: 6879 ldr r1, [r7, #4] - 800c982: ea01 0303 and.w r3, r1, r3 - 800c986: 607b str r3, [r7, #4] - 800c988: 68fa ldr r2, [r7, #12] - 800c98a: 6879 ldr r1, [r7, #4] - 800c98c: 460b mov r3, r1 - 800c98e: 8113 strh r3, [r2, #8] - - /* Set or Reset the MSM Bit */ - TIMx->SMCR |= TIM_MasterSlaveMode; - 800c990: 68fb ldr r3, [r7, #12] - 800c992: 891b ldrh r3, [r3, #8] - 800c994: b29a uxth r2, r3 - 800c996: 897b ldrh r3, [r7, #10] - 800c998: ea42 0303 orr.w r3, r2, r3 - 800c99c: b29b uxth r3, r3 - 800c99e: 68fa ldr r2, [r7, #12] - 800c9a0: 8113 strh r3, [r2, #8] -} - 800c9a2: f107 0714 add.w r7, r7, #20 ; 0x14 - 800c9a6: 46bd mov sp, r7 - 800c9a8: bc80 pop {r7} - 800c9aa: 4770 bx lr - -0800c9ac : - * This parameter must be a value between 0x00 and 0x0F - * @retval None - */ -void TIM_ETRConfig(TIM_TypeDef* TIMx, uint16_t TIM_ExtTRGPrescaler, - uint16_t TIM_ExtTRGPolarity, uint16_t ExtTRGFilter) -{ - 800c9ac: b480 push {r7} - 800c9ae: b087 sub sp, #28 - 800c9b0: af00 add r7, sp, #0 - 800c9b2: 60f8 str r0, [r7, #12] - 800c9b4: 4618 mov r0, r3 - 800c9b6: 460b mov r3, r1 - 800c9b8: 817b strh r3, [r7, #10] - 800c9ba: 4613 mov r3, r2 - 800c9bc: 813b strh r3, [r7, #8] - 800c9be: 4603 mov r3, r0 - 800c9c0: 80fb strh r3, [r7, #6] - uint16_t tmpsmcr = 0; - 800c9c2: f04f 0300 mov.w r3, #0 ; 0x0 - 800c9c6: 82fb strh r3, [r7, #22] - //assert_param(IS_TIM_LIST3_PERIPH(TIMx)); - //assert_param(IS_TIM_EXT_PRESCALER(TIM_ExtTRGPrescaler)); - //assert_param(IS_TIM_EXT_POLARITY(TIM_ExtTRGPolarity)); - //assert_param(IS_TIM_EXT_FILTER(ExtTRGFilter)); - - tmpsmcr = TIMx->SMCR; - 800c9c8: 68fb ldr r3, [r7, #12] - 800c9ca: 891b ldrh r3, [r3, #8] - 800c9cc: 82fb strh r3, [r7, #22] - - /* Reset the ETR Bits */ - tmpsmcr &= SMCR_ETR_MASK; - 800c9ce: 8afb ldrh r3, [r7, #22] - 800c9d0: f003 03ff and.w r3, r3, #255 ; 0xff - 800c9d4: 82fb strh r3, [r7, #22] - - /* Set the Prescaler, the Filter value and the Polarity */ - tmpsmcr |= (uint16_t)(TIM_ExtTRGPrescaler | (uint16_t)(TIM_ExtTRGPolarity | (uint16_t)(ExtTRGFilter << (uint16_t)8))); - 800c9d6: 88fb ldrh r3, [r7, #6] - 800c9d8: ea4f 2303 mov.w r3, r3, lsl #8 - 800c9dc: b29a uxth r2, r3 - 800c9de: 893b ldrh r3, [r7, #8] - 800c9e0: ea42 0303 orr.w r3, r2, r3 - 800c9e4: b29a uxth r2, r3 - 800c9e6: 897b ldrh r3, [r7, #10] - 800c9e8: ea42 0303 orr.w r3, r2, r3 - 800c9ec: b29a uxth r2, r3 - 800c9ee: 8afb ldrh r3, [r7, #22] - 800c9f0: ea42 0303 orr.w r3, r2, r3 - 800c9f4: 82fb strh r3, [r7, #22] - - /* Write to TIMx SMCR */ - TIMx->SMCR = tmpsmcr; - 800c9f6: 68fa ldr r2, [r7, #12] - 800c9f8: 8afb ldrh r3, [r7, #22] - 800c9fa: 8113 strh r3, [r2, #8] -} - 800c9fc: f107 071c add.w r7, r7, #28 ; 0x1c - 800ca00: 46bd mov sp, r7 - 800ca02: bc80 pop {r7} - 800ca04: 4770 bx lr - 800ca06: 46c0 nop (mov r8, r8) - -0800ca08 : - * @arg TIM_ICPolarity_Rising: IC Rising edge. - * @retval None - */ -void TIM_EncoderInterfaceConfig(TIM_TypeDef* TIMx, uint16_t TIM_EncoderMode, - uint16_t TIM_IC1Polarity, uint16_t TIM_IC2Polarity) -{ - 800ca08: b480 push {r7} - 800ca0a: b087 sub sp, #28 - 800ca0c: af00 add r7, sp, #0 - 800ca0e: 60f8 str r0, [r7, #12] - 800ca10: 4618 mov r0, r3 - 800ca12: 460b mov r3, r1 - 800ca14: 817b strh r3, [r7, #10] - 800ca16: 4613 mov r3, r2 - 800ca18: 813b strh r3, [r7, #8] - 800ca1a: 4603 mov r3, r0 - 800ca1c: 80fb strh r3, [r7, #6] - uint16_t tmpsmcr = 0; - 800ca1e: f04f 0300 mov.w r3, #0 ; 0x0 - 800ca22: 827b strh r3, [r7, #18] - uint16_t tmpccmr1 = 0; - 800ca24: f04f 0300 mov.w r3, #0 ; 0x0 - 800ca28: 82bb strh r3, [r7, #20] - uint16_t tmpccer = 0; - 800ca2a: f04f 0300 mov.w r3, #0 ; 0x0 - 800ca2e: 82fb strh r3, [r7, #22] - //assert_param(IS_TIM_ENCODER_MODE(TIM_EncoderMode)); - //assert_param(IS_TIM_IC_POLARITY(TIM_IC1Polarity)); - //assert_param(IS_TIM_IC_POLARITY(TIM_IC2Polarity)); - - /* Get the TIMx SMCR register value */ - tmpsmcr = TIMx->SMCR; - 800ca30: 68fb ldr r3, [r7, #12] - 800ca32: 891b ldrh r3, [r3, #8] - 800ca34: 827b strh r3, [r7, #18] - - /* Get the TIMx CCMR1 register value */ - tmpccmr1 = TIMx->CCMR1; - 800ca36: 68fb ldr r3, [r7, #12] - 800ca38: 8b1b ldrh r3, [r3, #24] - 800ca3a: 82bb strh r3, [r7, #20] - - /* Get the TIMx CCER register value */ - tmpccer = TIMx->CCER; - 800ca3c: 68fb ldr r3, [r7, #12] - 800ca3e: 8c1b ldrh r3, [r3, #32] - 800ca40: 82fb strh r3, [r7, #22] - - /* Set the encoder Mode */ - tmpsmcr &= (uint16_t)~TIM_SMCR_SMS; - 800ca42: 8a7b ldrh r3, [r7, #18] - 800ca44: f023 0307 bic.w r3, r3, #7 ; 0x7 - 800ca48: 827b strh r3, [r7, #18] - tmpsmcr |= TIM_EncoderMode; - 800ca4a: 8a7a ldrh r2, [r7, #18] - 800ca4c: 897b ldrh r3, [r7, #10] - 800ca4e: ea42 0303 orr.w r3, r2, r3 - 800ca52: 827b strh r3, [r7, #18] - - /* Select the Capture Compare 1 and the Capture Compare 2 as input */ - tmpccmr1 &= ((uint16_t)~TIM_CCMR1_CC1S) & ((uint16_t)~TIM_CCMR1_CC2S); - 800ca54: 8abb ldrh r3, [r7, #20] - 800ca56: f423 7340 bic.w r3, r3, #768 ; 0x300 - 800ca5a: f023 0303 bic.w r3, r3, #3 ; 0x3 - 800ca5e: 82bb strh r3, [r7, #20] - tmpccmr1 |= TIM_CCMR1_CC1S_0 | TIM_CCMR1_CC2S_0; - 800ca60: 8abb ldrh r3, [r7, #20] - 800ca62: f443 7380 orr.w r3, r3, #256 ; 0x100 - 800ca66: f043 0301 orr.w r3, r3, #1 ; 0x1 - 800ca6a: 82bb strh r3, [r7, #20] - - /* Set the TI1 and the TI2 Polarities */ - tmpccer &= ((uint16_t)~TIM_CCER_CC1P) & ((uint16_t)~TIM_CCER_CC2P); - 800ca6c: 8afb ldrh r3, [r7, #22] - 800ca6e: f023 0322 bic.w r3, r3, #34 ; 0x22 - 800ca72: 82fb strh r3, [r7, #22] - tmpccer |= (uint16_t)(TIM_IC1Polarity | (uint16_t)(TIM_IC2Polarity << (uint16_t)4)); - 800ca74: 88fb ldrh r3, [r7, #6] - 800ca76: ea4f 1303 mov.w r3, r3, lsl #4 - 800ca7a: b29a uxth r2, r3 - 800ca7c: 893b ldrh r3, [r7, #8] - 800ca7e: ea42 0303 orr.w r3, r2, r3 - 800ca82: b29a uxth r2, r3 - 800ca84: 8afb ldrh r3, [r7, #22] - 800ca86: ea42 0303 orr.w r3, r2, r3 - 800ca8a: 82fb strh r3, [r7, #22] - - /* Write to TIMx SMCR */ - TIMx->SMCR = tmpsmcr; - 800ca8c: 68fa ldr r2, [r7, #12] - 800ca8e: 8a7b ldrh r3, [r7, #18] - 800ca90: 8113 strh r3, [r2, #8] - - /* Write to TIMx CCMR1 */ - TIMx->CCMR1 = tmpccmr1; - 800ca92: 68fa ldr r2, [r7, #12] - 800ca94: 8abb ldrh r3, [r7, #20] - 800ca96: 8313 strh r3, [r2, #24] - - /* Write to TIMx CCER */ - TIMx->CCER = tmpccer; - 800ca98: 68fa ldr r2, [r7, #12] - 800ca9a: 8afb ldrh r3, [r7, #22] - 800ca9c: 8413 strh r3, [r2, #32] -} - 800ca9e: f107 071c add.w r7, r7, #28 ; 0x1c - 800caa2: 46bd mov sp, r7 - 800caa4: bc80 pop {r7} - 800caa6: 4770 bx lr - -0800caa8 : - * @param NewState: new state of the TIMx Hall sensor interface. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void TIM_SelectHallSensor(TIM_TypeDef* TIMx, FunctionalState NewState) -{ - 800caa8: b480 push {r7} - 800caaa: b085 sub sp, #20 - 800caac: af00 add r7, sp, #0 - 800caae: 60f8 str r0, [r7, #12] - 800cab0: 460b mov r3, r1 - 800cab2: 72fb strb r3, [r7, #11] - /* Check the parameters */ - //assert_param(IS_TIM_LIST2_PERIPH(TIMx)); - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - 800cab4: 7afb ldrb r3, [r7, #11] - 800cab6: 2b00 cmp r3, #0 - 800cab8: d008 beq.n 800cacc - { - /* Set the TI1S Bit */ - TIMx->CR2 |= TIM_CR2_TI1S; - 800caba: 68fb ldr r3, [r7, #12] - 800cabc: 889b ldrh r3, [r3, #4] - 800cabe: b29b uxth r3, r3 - 800cac0: f043 0380 orr.w r3, r3, #128 ; 0x80 - 800cac4: b29b uxth r3, r3 - 800cac6: 68fa ldr r2, [r7, #12] - 800cac8: 8093 strh r3, [r2, #4] - 800caca: e00d b.n 800cae8 - } - else - { - /* Reset the TI1S Bit */ - TIMx->CR2 &= (uint16_t)~TIM_CR2_TI1S; - 800cacc: 68fb ldr r3, [r7, #12] - 800cace: 889b ldrh r3, [r3, #4] - 800cad0: b29b uxth r3, r3 - 800cad2: 607b str r3, [r7, #4] - 800cad4: f64f 737f movw r3, #65407 ; 0xff7f - 800cad8: 6879 ldr r1, [r7, #4] - 800cada: ea01 0303 and.w r3, r1, r3 - 800cade: 607b str r3, [r7, #4] - 800cae0: 68fa ldr r2, [r7, #12] - 800cae2: 6879 ldr r1, [r7, #4] - 800cae4: 460b mov r3, r1 - 800cae6: 8093 strh r3, [r2, #4] - } -} - 800cae8: f107 0714 add.w r7, r7, #20 ; 0x14 - 800caec: 46bd mov sp, r7 - 800caee: bc80 pop {r7} - 800caf0: 4770 bx lr - 800caf2: 46c0 nop (mov r8, r8) - -0800caf4 : - * @arg TIM11_HSE: TIM11 CH4 input is connected to HSE_RTC clock - * (HSE divided by a programmable prescaler) - * @retval None - */ -void TIM_RemapConfig(TIM_TypeDef* TIMx, uint16_t TIM_Remap) -{ - 800caf4: b480 push {r7} - 800caf6: b083 sub sp, #12 - 800caf8: af00 add r7, sp, #0 - 800cafa: 6078 str r0, [r7, #4] - 800cafc: 460b mov r3, r1 - 800cafe: 807b strh r3, [r7, #2] - /* Check the parameters */ - //assert_param(IS_TIM_LIST6_PERIPH(TIMx)); - //assert_param(IS_TIM_REMAP(TIM_Remap)); - - /* Set the Timer remapping configuration */ - TIMx->OR = TIM_Remap; - 800cb00: 687a ldr r2, [r7, #4] - 800cb02: 887b ldrh r3, [r7, #2] - 800cb04: f8a2 3050 strh.w r3, [r2, #80] -} - 800cb08: f107 070c add.w r7, r7, #12 ; 0xc - 800cb0c: 46bd mov sp, r7 - 800cb0e: bc80 pop {r7} - 800cb10: 4770 bx lr - 800cb12: 46c0 nop (mov r8, r8) - -0800cb14 : - * This parameter must be a value between 0x00 and 0x0F. - * @retval None - */ -static void TI1_Config(TIM_TypeDef* TIMx, uint16_t TIM_ICPolarity, uint16_t TIM_ICSelection, - uint16_t TIM_ICFilter) -{ - 800cb14: b480 push {r7} - 800cb16: b087 sub sp, #28 - 800cb18: af00 add r7, sp, #0 - 800cb1a: 60f8 str r0, [r7, #12] - 800cb1c: 4618 mov r0, r3 - 800cb1e: 460b mov r3, r1 - 800cb20: 817b strh r3, [r7, #10] - 800cb22: 4613 mov r3, r2 - 800cb24: 813b strh r3, [r7, #8] - 800cb26: 4603 mov r3, r0 - 800cb28: 80fb strh r3, [r7, #6] - uint16_t tmpccmr1 = 0, tmpccer = 0; - 800cb2a: f04f 0300 mov.w r3, #0 ; 0x0 - 800cb2e: 82bb strh r3, [r7, #20] - 800cb30: f04f 0300 mov.w r3, #0 ; 0x0 - 800cb34: 82fb strh r3, [r7, #22] - - /* Disable the Channel 1: Reset the CC1E Bit */ - TIMx->CCER &= (uint16_t)~TIM_CCER_CC1E; - 800cb36: 68fb ldr r3, [r7, #12] - 800cb38: 8c1b ldrh r3, [r3, #32] - 800cb3a: b29b uxth r3, r3 - 800cb3c: 603b str r3, [r7, #0] - 800cb3e: f64f 73fe movw r3, #65534 ; 0xfffe - 800cb42: 6839 ldr r1, [r7, #0] - 800cb44: ea01 0303 and.w r3, r1, r3 - 800cb48: 603b str r3, [r7, #0] - 800cb4a: 68fa ldr r2, [r7, #12] - 800cb4c: 6839 ldr r1, [r7, #0] - 800cb4e: 460b mov r3, r1 - 800cb50: 8413 strh r3, [r2, #32] - tmpccmr1 = TIMx->CCMR1; - 800cb52: 68fb ldr r3, [r7, #12] - 800cb54: 8b1b ldrh r3, [r3, #24] - 800cb56: 82bb strh r3, [r7, #20] - tmpccer = TIMx->CCER; - 800cb58: 68fb ldr r3, [r7, #12] - 800cb5a: 8c1b ldrh r3, [r3, #32] - 800cb5c: 82fb strh r3, [r7, #22] - - /* Select the Input and set the filter */ - tmpccmr1 &= ((uint16_t)~TIM_CCMR1_CC1S) & ((uint16_t)~TIM_CCMR1_IC1F); - 800cb5e: 8abb ldrh r3, [r7, #20] - 800cb60: f023 03f3 bic.w r3, r3, #243 ; 0xf3 - 800cb64: 82bb strh r3, [r7, #20] - tmpccmr1 |= (uint16_t)(TIM_ICSelection | (uint16_t)(TIM_ICFilter << (uint16_t)4)); - 800cb66: 88fb ldrh r3, [r7, #6] - 800cb68: ea4f 1303 mov.w r3, r3, lsl #4 - 800cb6c: b29a uxth r2, r3 - 800cb6e: 893b ldrh r3, [r7, #8] - 800cb70: ea42 0303 orr.w r3, r2, r3 - 800cb74: b29a uxth r2, r3 - 800cb76: 8abb ldrh r3, [r7, #20] - 800cb78: ea42 0303 orr.w r3, r2, r3 - 800cb7c: 82bb strh r3, [r7, #20] - - /* Select the Polarity and set the CC1E Bit */ - tmpccer &= (uint16_t)~(TIM_CCER_CC1P | TIM_CCER_CC1NP); - 800cb7e: 8afb ldrh r3, [r7, #22] - 800cb80: f023 030a bic.w r3, r3, #10 ; 0xa - 800cb84: 82fb strh r3, [r7, #22] - tmpccer |= (uint16_t)(TIM_ICPolarity | (uint16_t)TIM_CCER_CC1E); - 800cb86: 897a ldrh r2, [r7, #10] - 800cb88: 8afb ldrh r3, [r7, #22] - 800cb8a: ea42 0303 orr.w r3, r2, r3 - 800cb8e: b29b uxth r3, r3 - 800cb90: f043 0301 orr.w r3, r3, #1 ; 0x1 - 800cb94: 82fb strh r3, [r7, #22] - - /* Write to TIMx CCMR1 and CCER registers */ - TIMx->CCMR1 = tmpccmr1; - 800cb96: 68fa ldr r2, [r7, #12] - 800cb98: 8abb ldrh r3, [r7, #20] - 800cb9a: 8313 strh r3, [r2, #24] - TIMx->CCER = tmpccer; - 800cb9c: 68fa ldr r2, [r7, #12] - 800cb9e: 8afb ldrh r3, [r7, #22] - 800cba0: 8413 strh r3, [r2, #32] -} - 800cba2: f107 071c add.w r7, r7, #28 ; 0x1c - 800cba6: 46bd mov sp, r7 - 800cba8: bc80 pop {r7} - 800cbaa: 4770 bx lr - -0800cbac : - * This parameter must be a value between 0x00 and 0x0F. - * @retval None - */ -static void TI2_Config(TIM_TypeDef* TIMx, uint16_t TIM_ICPolarity, uint16_t TIM_ICSelection, - uint16_t TIM_ICFilter) -{ - 800cbac: b480 push {r7} - 800cbae: b087 sub sp, #28 - 800cbb0: af00 add r7, sp, #0 - 800cbb2: 60f8 str r0, [r7, #12] - 800cbb4: 4618 mov r0, r3 - 800cbb6: 460b mov r3, r1 - 800cbb8: 817b strh r3, [r7, #10] - 800cbba: 4613 mov r3, r2 - 800cbbc: 813b strh r3, [r7, #8] - 800cbbe: 4603 mov r3, r0 - 800cbc0: 80fb strh r3, [r7, #6] - uint16_t tmpccmr1 = 0, tmpccer = 0, tmp = 0; - 800cbc2: f04f 0300 mov.w r3, #0 ; 0x0 - 800cbc6: 827b strh r3, [r7, #18] - 800cbc8: f04f 0300 mov.w r3, #0 ; 0x0 - 800cbcc: 82bb strh r3, [r7, #20] - 800cbce: f04f 0300 mov.w r3, #0 ; 0x0 - 800cbd2: 82fb strh r3, [r7, #22] - - /* Disable the Channel 2: Reset the CC2E Bit */ - TIMx->CCER &= (uint16_t)~TIM_CCER_CC2E; - 800cbd4: 68fb ldr r3, [r7, #12] - 800cbd6: 8c1b ldrh r3, [r3, #32] - 800cbd8: b29b uxth r3, r3 - 800cbda: 603b str r3, [r7, #0] - 800cbdc: f64f 73ef movw r3, #65519 ; 0xffef - 800cbe0: 6839 ldr r1, [r7, #0] - 800cbe2: ea01 0303 and.w r3, r1, r3 - 800cbe6: 603b str r3, [r7, #0] - 800cbe8: 68fa ldr r2, [r7, #12] - 800cbea: 6839 ldr r1, [r7, #0] - 800cbec: 460b mov r3, r1 - 800cbee: 8413 strh r3, [r2, #32] - tmpccmr1 = TIMx->CCMR1; - 800cbf0: 68fb ldr r3, [r7, #12] - 800cbf2: 8b1b ldrh r3, [r3, #24] - 800cbf4: 827b strh r3, [r7, #18] - tmpccer = TIMx->CCER; - 800cbf6: 68fb ldr r3, [r7, #12] - 800cbf8: 8c1b ldrh r3, [r3, #32] - 800cbfa: 82bb strh r3, [r7, #20] - tmp = (uint16_t)(TIM_ICPolarity << 4); - 800cbfc: 897b ldrh r3, [r7, #10] - 800cbfe: ea4f 1303 mov.w r3, r3, lsl #4 - 800cc02: 82fb strh r3, [r7, #22] - - /* Select the Input and set the filter */ - tmpccmr1 &= ((uint16_t)~TIM_CCMR1_CC2S) & ((uint16_t)~TIM_CCMR1_IC2F); - 800cc04: 8a7b ldrh r3, [r7, #18] - 800cc06: f423 7340 bic.w r3, r3, #768 ; 0x300 - 800cc0a: ea4f 5303 mov.w r3, r3, lsl #20 - 800cc0e: ea4f 5313 mov.w r3, r3, lsr #20 - 800cc12: 827b strh r3, [r7, #18] - tmpccmr1 |= (uint16_t)(TIM_ICFilter << 12); - 800cc14: 88fb ldrh r3, [r7, #6] - 800cc16: ea4f 3303 mov.w r3, r3, lsl #12 - 800cc1a: b29a uxth r2, r3 - 800cc1c: 8a7b ldrh r3, [r7, #18] - 800cc1e: ea42 0303 orr.w r3, r2, r3 - 800cc22: 827b strh r3, [r7, #18] - tmpccmr1 |= (uint16_t)(TIM_ICSelection << 8); - 800cc24: 893b ldrh r3, [r7, #8] - 800cc26: ea4f 2303 mov.w r3, r3, lsl #8 - 800cc2a: b29a uxth r2, r3 - 800cc2c: 8a7b ldrh r3, [r7, #18] - 800cc2e: ea42 0303 orr.w r3, r2, r3 - 800cc32: 827b strh r3, [r7, #18] - - /* Select the Polarity and set the CC2E Bit */ - tmpccer &= (uint16_t)~(TIM_CCER_CC2P | TIM_CCER_CC2NP); - 800cc34: 8abb ldrh r3, [r7, #20] - 800cc36: f023 03a0 bic.w r3, r3, #160 ; 0xa0 - 800cc3a: 82bb strh r3, [r7, #20] - tmpccer |= (uint16_t)(tmp | (uint16_t)TIM_CCER_CC2E); - 800cc3c: 8afa ldrh r2, [r7, #22] - 800cc3e: 8abb ldrh r3, [r7, #20] - 800cc40: ea42 0303 orr.w r3, r2, r3 - 800cc44: b29b uxth r3, r3 - 800cc46: f043 0310 orr.w r3, r3, #16 ; 0x10 - 800cc4a: 82bb strh r3, [r7, #20] - - /* Write to TIMx CCMR1 and CCER registers */ - TIMx->CCMR1 = tmpccmr1 ; - 800cc4c: 68fa ldr r2, [r7, #12] - 800cc4e: 8a7b ldrh r3, [r7, #18] - 800cc50: 8313 strh r3, [r2, #24] - TIMx->CCER = tmpccer; - 800cc52: 68fa ldr r2, [r7, #12] - 800cc54: 8abb ldrh r3, [r7, #20] - 800cc56: 8413 strh r3, [r2, #32] -} - 800cc58: f107 071c add.w r7, r7, #28 ; 0x1c - 800cc5c: 46bd mov sp, r7 - 800cc5e: bc80 pop {r7} - 800cc60: 4770 bx lr - 800cc62: 46c0 nop (mov r8, r8) - -0800cc64 : - * This parameter must be a value between 0x00 and 0x0F. - * @retval None - */ -static void TI3_Config(TIM_TypeDef* TIMx, uint16_t TIM_ICPolarity, uint16_t TIM_ICSelection, - uint16_t TIM_ICFilter) -{ - 800cc64: b480 push {r7} - 800cc66: b087 sub sp, #28 - 800cc68: af00 add r7, sp, #0 - 800cc6a: 60f8 str r0, [r7, #12] - 800cc6c: 4618 mov r0, r3 - 800cc6e: 460b mov r3, r1 - 800cc70: 817b strh r3, [r7, #10] - 800cc72: 4613 mov r3, r2 - 800cc74: 813b strh r3, [r7, #8] - 800cc76: 4603 mov r3, r0 - 800cc78: 80fb strh r3, [r7, #6] - uint16_t tmpccmr2 = 0, tmpccer = 0, tmp = 0; - 800cc7a: f04f 0300 mov.w r3, #0 ; 0x0 - 800cc7e: 827b strh r3, [r7, #18] - 800cc80: f04f 0300 mov.w r3, #0 ; 0x0 - 800cc84: 82bb strh r3, [r7, #20] - 800cc86: f04f 0300 mov.w r3, #0 ; 0x0 - 800cc8a: 82fb strh r3, [r7, #22] - - /* Disable the Channel 3: Reset the CC3E Bit */ - TIMx->CCER &= (uint16_t)~TIM_CCER_CC3E; - 800cc8c: 68fb ldr r3, [r7, #12] - 800cc8e: 8c1b ldrh r3, [r3, #32] - 800cc90: b29b uxth r3, r3 - 800cc92: 603b str r3, [r7, #0] - 800cc94: f64f 63ff movw r3, #65279 ; 0xfeff - 800cc98: 6839 ldr r1, [r7, #0] - 800cc9a: ea01 0303 and.w r3, r1, r3 - 800cc9e: 603b str r3, [r7, #0] - 800cca0: 68fa ldr r2, [r7, #12] - 800cca2: 6839 ldr r1, [r7, #0] - 800cca4: 460b mov r3, r1 - 800cca6: 8413 strh r3, [r2, #32] - tmpccmr2 = TIMx->CCMR2; - 800cca8: 68fb ldr r3, [r7, #12] - 800ccaa: 8b9b ldrh r3, [r3, #28] - 800ccac: 827b strh r3, [r7, #18] - tmpccer = TIMx->CCER; - 800ccae: 68fb ldr r3, [r7, #12] - 800ccb0: 8c1b ldrh r3, [r3, #32] - 800ccb2: 82bb strh r3, [r7, #20] - tmp = (uint16_t)(TIM_ICPolarity << 8); - 800ccb4: 897b ldrh r3, [r7, #10] - 800ccb6: ea4f 2303 mov.w r3, r3, lsl #8 - 800ccba: 82fb strh r3, [r7, #22] - - /* Select the Input and set the filter */ - tmpccmr2 &= ((uint16_t)~TIM_CCMR1_CC1S) & ((uint16_t)~TIM_CCMR2_IC3F); - 800ccbc: 8a7b ldrh r3, [r7, #18] - 800ccbe: f023 03f3 bic.w r3, r3, #243 ; 0xf3 - 800ccc2: 827b strh r3, [r7, #18] - tmpccmr2 |= (uint16_t)(TIM_ICSelection | (uint16_t)(TIM_ICFilter << (uint16_t)4)); - 800ccc4: 88fb ldrh r3, [r7, #6] - 800ccc6: ea4f 1303 mov.w r3, r3, lsl #4 - 800ccca: b29a uxth r2, r3 - 800cccc: 893b ldrh r3, [r7, #8] - 800ccce: ea42 0303 orr.w r3, r2, r3 - 800ccd2: b29a uxth r2, r3 - 800ccd4: 8a7b ldrh r3, [r7, #18] - 800ccd6: ea42 0303 orr.w r3, r2, r3 - 800ccda: 827b strh r3, [r7, #18] - - /* Select the Polarity and set the CC3E Bit */ - tmpccer &= (uint16_t)~(TIM_CCER_CC3P | TIM_CCER_CC3NP); - 800ccdc: 8abb ldrh r3, [r7, #20] - 800ccde: f423 6320 bic.w r3, r3, #2560 ; 0xa00 - 800cce2: 82bb strh r3, [r7, #20] - tmpccer |= (uint16_t)(tmp | (uint16_t)TIM_CCER_CC3E); - 800cce4: 8afa ldrh r2, [r7, #22] - 800cce6: 8abb ldrh r3, [r7, #20] - 800cce8: ea42 0303 orr.w r3, r2, r3 - 800ccec: b29b uxth r3, r3 - 800ccee: f443 7380 orr.w r3, r3, #256 ; 0x100 - 800ccf2: 82bb strh r3, [r7, #20] - - /* Write to TIMx CCMR2 and CCER registers */ - TIMx->CCMR2 = tmpccmr2; - 800ccf4: 68fa ldr r2, [r7, #12] - 800ccf6: 8a7b ldrh r3, [r7, #18] - 800ccf8: 8393 strh r3, [r2, #28] - TIMx->CCER = tmpccer; - 800ccfa: 68fa ldr r2, [r7, #12] - 800ccfc: 8abb ldrh r3, [r7, #20] - 800ccfe: 8413 strh r3, [r2, #32] -} - 800cd00: f107 071c add.w r7, r7, #28 ; 0x1c - 800cd04: 46bd mov sp, r7 - 800cd06: bc80 pop {r7} - 800cd08: 4770 bx lr - 800cd0a: 46c0 nop (mov r8, r8) - -0800cd0c : - * This parameter must be a value between 0x00 and 0x0F. - * @retval None - */ -static void TI4_Config(TIM_TypeDef* TIMx, uint16_t TIM_ICPolarity, uint16_t TIM_ICSelection, - uint16_t TIM_ICFilter) -{ - 800cd0c: b480 push {r7} - 800cd0e: b087 sub sp, #28 - 800cd10: af00 add r7, sp, #0 - 800cd12: 60f8 str r0, [r7, #12] - 800cd14: 4618 mov r0, r3 - 800cd16: 460b mov r3, r1 - 800cd18: 817b strh r3, [r7, #10] - 800cd1a: 4613 mov r3, r2 - 800cd1c: 813b strh r3, [r7, #8] - 800cd1e: 4603 mov r3, r0 - 800cd20: 80fb strh r3, [r7, #6] - uint16_t tmpccmr2 = 0, tmpccer = 0, tmp = 0; - 800cd22: f04f 0300 mov.w r3, #0 ; 0x0 - 800cd26: 827b strh r3, [r7, #18] - 800cd28: f04f 0300 mov.w r3, #0 ; 0x0 - 800cd2c: 82bb strh r3, [r7, #20] - 800cd2e: f04f 0300 mov.w r3, #0 ; 0x0 - 800cd32: 82fb strh r3, [r7, #22] - - /* Disable the Channel 4: Reset the CC4E Bit */ - TIMx->CCER &= (uint16_t)~TIM_CCER_CC4E; - 800cd34: 68fb ldr r3, [r7, #12] - 800cd36: 8c1b ldrh r3, [r3, #32] - 800cd38: b29b uxth r3, r3 - 800cd3a: 603b str r3, [r7, #0] - 800cd3c: f64e 73ff movw r3, #61439 ; 0xefff - 800cd40: 6839 ldr r1, [r7, #0] - 800cd42: ea01 0303 and.w r3, r1, r3 - 800cd46: 603b str r3, [r7, #0] - 800cd48: 68fa ldr r2, [r7, #12] - 800cd4a: 6839 ldr r1, [r7, #0] - 800cd4c: 460b mov r3, r1 - 800cd4e: 8413 strh r3, [r2, #32] - tmpccmr2 = TIMx->CCMR2; - 800cd50: 68fb ldr r3, [r7, #12] - 800cd52: 8b9b ldrh r3, [r3, #28] - 800cd54: 827b strh r3, [r7, #18] - tmpccer = TIMx->CCER; - 800cd56: 68fb ldr r3, [r7, #12] - 800cd58: 8c1b ldrh r3, [r3, #32] - 800cd5a: 82bb strh r3, [r7, #20] - tmp = (uint16_t)(TIM_ICPolarity << 12); - 800cd5c: 897b ldrh r3, [r7, #10] - 800cd5e: ea4f 3303 mov.w r3, r3, lsl #12 - 800cd62: 82fb strh r3, [r7, #22] - - /* Select the Input and set the filter */ - tmpccmr2 &= ((uint16_t)~TIM_CCMR1_CC2S) & ((uint16_t)~TIM_CCMR1_IC2F); - 800cd64: 8a7b ldrh r3, [r7, #18] - 800cd66: f423 7340 bic.w r3, r3, #768 ; 0x300 - 800cd6a: ea4f 5303 mov.w r3, r3, lsl #20 - 800cd6e: ea4f 5313 mov.w r3, r3, lsr #20 - 800cd72: 827b strh r3, [r7, #18] - tmpccmr2 |= (uint16_t)(TIM_ICSelection << 8); - 800cd74: 893b ldrh r3, [r7, #8] - 800cd76: ea4f 2303 mov.w r3, r3, lsl #8 - 800cd7a: b29a uxth r2, r3 - 800cd7c: 8a7b ldrh r3, [r7, #18] - 800cd7e: ea42 0303 orr.w r3, r2, r3 - 800cd82: 827b strh r3, [r7, #18] - tmpccmr2 |= (uint16_t)(TIM_ICFilter << 12); - 800cd84: 88fb ldrh r3, [r7, #6] - 800cd86: ea4f 3303 mov.w r3, r3, lsl #12 - 800cd8a: b29a uxth r2, r3 - 800cd8c: 8a7b ldrh r3, [r7, #18] - 800cd8e: ea42 0303 orr.w r3, r2, r3 - 800cd92: 827b strh r3, [r7, #18] - - /* Select the Polarity and set the CC4E Bit */ - tmpccer &= (uint16_t)~(TIM_CCER_CC4P | TIM_CCER_CC4NP); - 800cd94: 8abb ldrh r3, [r7, #20] - 800cd96: f423 5300 bic.w r3, r3, #8192 ; 0x2000 - 800cd9a: ea4f 4343 mov.w r3, r3, lsl #17 - 800cd9e: ea4f 4353 mov.w r3, r3, lsr #17 - 800cda2: 82bb strh r3, [r7, #20] - tmpccer |= (uint16_t)(tmp | (uint16_t)TIM_CCER_CC4E); - 800cda4: 8afa ldrh r2, [r7, #22] - 800cda6: 8abb ldrh r3, [r7, #20] - 800cda8: ea42 0303 orr.w r3, r2, r3 - 800cdac: b29b uxth r3, r3 - 800cdae: f443 5380 orr.w r3, r3, #4096 ; 0x1000 - 800cdb2: 82bb strh r3, [r7, #20] - - /* Write to TIMx CCMR2 and CCER registers */ - TIMx->CCMR2 = tmpccmr2; - 800cdb4: 68fa ldr r2, [r7, #12] - 800cdb6: 8a7b ldrh r3, [r7, #18] - 800cdb8: 8393 strh r3, [r2, #28] - TIMx->CCER = tmpccer ; - 800cdba: 68fa ldr r2, [r7, #12] - 800cdbc: 8abb ldrh r3, [r7, #20] - 800cdbe: 8413 strh r3, [r2, #32] -} - 800cdc0: f107 071c add.w r7, r7, #28 ; 0x1c - 800cdc4: 46bd mov sp, r7 - 800cdc6: bc80 pop {r7} - 800cdc8: 4770 bx lr - 800cdca: 46c0 nop (mov r8, r8) - -0800cdcc : - * @param USARTx: where x can be 1, 2, 3, 4, 5, 6, 7 or 8 to select the USART or - * UART peripheral. - * @retval None - */ -void USART_DeInit(USART_TypeDef* USARTx) -{ - 800cdcc: b580 push {r7, lr} - 800cdce: b082 sub sp, #8 - 800cdd0: af00 add r7, sp, #0 - 800cdd2: 6078 str r0, [r7, #4] - /* Check the parameters */ - //assert_param(IS_USART_ALL_PERIPH(USARTx)); - - if (USARTx == USART1) - 800cdd4: 687a ldr r2, [r7, #4] - 800cdd6: 4b45 ldr r3, [pc, #276] (800ceec ) - 800cdd8: 429a cmp r2, r3 - 800cdda: d10c bne.n 800cdf6 - { - RCC_APB2PeriphResetCmd(RCC_APB2Periph_USART1, ENABLE); - 800cddc: f04f 0010 mov.w r0, #16 ; 0x10 - 800cde0: f04f 0101 mov.w r1, #1 ; 0x1 - 800cde4: f7fd fdf2 bl 800a9cc - RCC_APB2PeriphResetCmd(RCC_APB2Periph_USART1, DISABLE); - 800cde8: f04f 0010 mov.w r0, #16 ; 0x10 - 800cdec: f04f 0100 mov.w r1, #0 ; 0x0 - 800cdf0: f7fd fdec bl 800a9cc - 800cdf4: e075 b.n 800cee2 - } - else if (USARTx == USART2) - 800cdf6: 687a ldr r2, [r7, #4] - 800cdf8: 4b3d ldr r3, [pc, #244] (800cef0 ) - 800cdfa: 429a cmp r2, r3 - 800cdfc: d10c bne.n 800ce18 - { - RCC_APB1PeriphResetCmd(RCC_APB1Periph_USART2, ENABLE); - 800cdfe: f44f 3000 mov.w r0, #131072 ; 0x20000 - 800ce02: f04f 0101 mov.w r1, #1 ; 0x1 - 800ce06: f7fd fdbf bl 800a988 - RCC_APB1PeriphResetCmd(RCC_APB1Periph_USART2, DISABLE); - 800ce0a: f44f 3000 mov.w r0, #131072 ; 0x20000 - 800ce0e: f04f 0100 mov.w r1, #0 ; 0x0 - 800ce12: f7fd fdb9 bl 800a988 - 800ce16: e064 b.n 800cee2 - } - else if (USARTx == USART3) - 800ce18: 687a ldr r2, [r7, #4] - 800ce1a: 4b36 ldr r3, [pc, #216] (800cef4 ) - 800ce1c: 429a cmp r2, r3 - 800ce1e: d10c bne.n 800ce3a - { - RCC_APB1PeriphResetCmd(RCC_APB1Periph_USART3, ENABLE); - 800ce20: f44f 2080 mov.w r0, #262144 ; 0x40000 - 800ce24: f04f 0101 mov.w r1, #1 ; 0x1 - 800ce28: f7fd fdae bl 800a988 - RCC_APB1PeriphResetCmd(RCC_APB1Periph_USART3, DISABLE); - 800ce2c: f44f 2080 mov.w r0, #262144 ; 0x40000 - 800ce30: f04f 0100 mov.w r1, #0 ; 0x0 - 800ce34: f7fd fda8 bl 800a988 - 800ce38: e053 b.n 800cee2 - } - else if (USARTx == UART4) - 800ce3a: 687a ldr r2, [r7, #4] - 800ce3c: 4b2e ldr r3, [pc, #184] (800cef8 ) - 800ce3e: 429a cmp r2, r3 - 800ce40: d10c bne.n 800ce5c - { - RCC_APB1PeriphResetCmd(RCC_APB1Periph_UART4, ENABLE); - 800ce42: f44f 2000 mov.w r0, #524288 ; 0x80000 - 800ce46: f04f 0101 mov.w r1, #1 ; 0x1 - 800ce4a: f7fd fd9d bl 800a988 - RCC_APB1PeriphResetCmd(RCC_APB1Periph_UART4, DISABLE); - 800ce4e: f44f 2000 mov.w r0, #524288 ; 0x80000 - 800ce52: f04f 0100 mov.w r1, #0 ; 0x0 - 800ce56: f7fd fd97 bl 800a988 - 800ce5a: e042 b.n 800cee2 - } - else if (USARTx == UART5) - 800ce5c: 687a ldr r2, [r7, #4] - 800ce5e: 4b27 ldr r3, [pc, #156] (800cefc ) - 800ce60: 429a cmp r2, r3 - 800ce62: d10c bne.n 800ce7e - { - RCC_APB1PeriphResetCmd(RCC_APB1Periph_UART5, ENABLE); - 800ce64: f44f 1080 mov.w r0, #1048576 ; 0x100000 - 800ce68: f04f 0101 mov.w r1, #1 ; 0x1 - 800ce6c: f7fd fd8c bl 800a988 - RCC_APB1PeriphResetCmd(RCC_APB1Periph_UART5, DISABLE); - 800ce70: f44f 1080 mov.w r0, #1048576 ; 0x100000 - 800ce74: f04f 0100 mov.w r1, #0 ; 0x0 - 800ce78: f7fd fd86 bl 800a988 - 800ce7c: e031 b.n 800cee2 - } - else if (USARTx == USART6) - 800ce7e: 687a ldr r2, [r7, #4] - 800ce80: 4b1f ldr r3, [pc, #124] (800cf00 ) - 800ce82: 429a cmp r2, r3 - 800ce84: d10c bne.n 800cea0 - { - RCC_APB2PeriphResetCmd(RCC_APB2Periph_USART6, ENABLE); - 800ce86: f04f 0020 mov.w r0, #32 ; 0x20 - 800ce8a: f04f 0101 mov.w r1, #1 ; 0x1 - 800ce8e: f7fd fd9d bl 800a9cc - RCC_APB2PeriphResetCmd(RCC_APB2Periph_USART6, DISABLE); - 800ce92: f04f 0020 mov.w r0, #32 ; 0x20 - 800ce96: f04f 0100 mov.w r1, #0 ; 0x0 - 800ce9a: f7fd fd97 bl 800a9cc - 800ce9e: e020 b.n 800cee2 - } - else if (USARTx == UART7) - 800cea0: 687a ldr r2, [r7, #4] - 800cea2: 4b18 ldr r3, [pc, #96] (800cf04 ) - 800cea4: 429a cmp r2, r3 - 800cea6: d10c bne.n 800cec2 - { - RCC_APB1PeriphResetCmd(RCC_APB1Periph_UART7, ENABLE); - 800cea8: f04f 4080 mov.w r0, #1073741824 ; 0x40000000 - 800ceac: f04f 0101 mov.w r1, #1 ; 0x1 - 800ceb0: f7fd fd6a bl 800a988 - RCC_APB1PeriphResetCmd(RCC_APB1Periph_UART7, DISABLE); - 800ceb4: f04f 4080 mov.w r0, #1073741824 ; 0x40000000 - 800ceb8: f04f 0100 mov.w r1, #0 ; 0x0 - 800cebc: f7fd fd64 bl 800a988 - 800cec0: e00f b.n 800cee2 - } - else - { - if (USARTx == UART8) - 800cec2: 687a ldr r2, [r7, #4] - 800cec4: 4b10 ldr r3, [pc, #64] (800cf08 ) - 800cec6: 429a cmp r2, r3 - 800cec8: d10b bne.n 800cee2 - { - RCC_APB1PeriphResetCmd(RCC_APB1Periph_UART8, ENABLE); - 800ceca: f04f 4000 mov.w r0, #2147483648 ; 0x80000000 - 800cece: f04f 0101 mov.w r1, #1 ; 0x1 - 800ced2: f7fd fd59 bl 800a988 - RCC_APB1PeriphResetCmd(RCC_APB1Periph_UART8, DISABLE); - 800ced6: f04f 4000 mov.w r0, #2147483648 ; 0x80000000 - 800ceda: f04f 0100 mov.w r1, #0 ; 0x0 - 800cede: f7fd fd53 bl 800a988 - } - } -} - 800cee2: f107 0708 add.w r7, r7, #8 ; 0x8 - 800cee6: 46bd mov sp, r7 - 800cee8: bd80 pop {r7, pc} - 800ceea: 46c0 nop (mov r8, r8) - 800ceec: 40011000 .word 0x40011000 - 800cef0: 40004400 .word 0x40004400 - 800cef4: 40004800 .word 0x40004800 - 800cef8: 40004c00 .word 0x40004c00 - 800cefc: 40005000 .word 0x40005000 - 800cf00: 40011400 .word 0x40011400 - 800cf04: 40007800 .word 0x40007800 - 800cf08: 40007c00 .word 0x40007c00 - -0800cf0c : - * @param USART_InitStruct: pointer to a USART_InitTypeDef structure that contains - * the configuration information for the specified USART peripheral. - * @retval None - */ -void USART_Init(USART_TypeDef* USARTx, USART_InitTypeDef* USART_InitStruct) -{ - 800cf0c: b580 push {r7, lr} - 800cf0e: b08a sub sp, #40 - 800cf10: af00 add r7, sp, #0 - 800cf12: 6078 str r0, [r7, #4] - 800cf14: 6039 str r1, [r7, #0] - uint32_t tmpreg = 0x00, apbclock = 0x00; - 800cf16: f04f 0300 mov.w r3, #0 ; 0x0 - 800cf1a: 61bb str r3, [r7, #24] - 800cf1c: f04f 0300 mov.w r3, #0 ; 0x0 - 800cf20: 61fb str r3, [r7, #28] - uint32_t integerdivider = 0x00; - 800cf22: f04f 0300 mov.w r3, #0 ; 0x0 - 800cf26: 623b str r3, [r7, #32] - uint32_t fractionaldivider = 0x00; - 800cf28: f04f 0300 mov.w r3, #0 ; 0x0 - 800cf2c: 627b str r3, [r7, #36] - { - //assert_param(IS_USART_1236_PERIPH(USARTx)); - } - -/*---------------------------- USART CR2 Configuration -----------------------*/ - tmpreg = USARTx->CR2; - 800cf2e: 687b ldr r3, [r7, #4] - 800cf30: 8a1b ldrh r3, [r3, #16] - 800cf32: b29b uxth r3, r3 - 800cf34: 61bb str r3, [r7, #24] - - /* Clear STOP[13:12] bits */ - tmpreg &= (uint32_t)~((uint32_t)USART_CR2_STOP); - 800cf36: 69bb ldr r3, [r7, #24] - 800cf38: f423 5340 bic.w r3, r3, #12288 ; 0x3000 - 800cf3c: 61bb str r3, [r7, #24] - - /* Configure the USART Stop Bits, Clock, CPOL, CPHA and LastBit : - Set STOP[13:12] bits according to USART_StopBits value */ - tmpreg |= (uint32_t)USART_InitStruct->USART_StopBits; - 800cf3e: 683b ldr r3, [r7, #0] - 800cf40: 88db ldrh r3, [r3, #6] - 800cf42: 461a mov r2, r3 - 800cf44: 69bb ldr r3, [r7, #24] - 800cf46: ea43 0302 orr.w r3, r3, r2 - 800cf4a: 61bb str r3, [r7, #24] - - /* Write to USART CR2 */ - USARTx->CR2 = (uint16_t)tmpreg; - 800cf4c: 69bb ldr r3, [r7, #24] - 800cf4e: b29b uxth r3, r3 - 800cf50: 687a ldr r2, [r7, #4] - 800cf52: 8213 strh r3, [r2, #16] - -/*---------------------------- USART CR1 Configuration -----------------------*/ - tmpreg = USARTx->CR1; - 800cf54: 687b ldr r3, [r7, #4] - 800cf56: 899b ldrh r3, [r3, #12] - 800cf58: b29b uxth r3, r3 - 800cf5a: 61bb str r3, [r7, #24] - - /* Clear M, PCE, PS, TE and RE bits */ - tmpreg &= (uint32_t)~((uint32_t)CR1_CLEAR_MASK); - 800cf5c: 69bb ldr r3, [r7, #24] - 800cf5e: f423 53b0 bic.w r3, r3, #5632 ; 0x1600 - 800cf62: f023 030c bic.w r3, r3, #12 ; 0xc - 800cf66: 61bb str r3, [r7, #24] - - /* Configure the USART Word Length, Parity and mode: - Set the M bits according to USART_WordLength value - Set PCE and PS bits according to USART_Parity value - Set TE and RE bits according to USART_Mode value */ - tmpreg |= (uint32_t)USART_InitStruct->USART_WordLength | USART_InitStruct->USART_Parity | - 800cf68: 683b ldr r3, [r7, #0] - 800cf6a: 889a ldrh r2, [r3, #4] - 800cf6c: 683b ldr r3, [r7, #0] - 800cf6e: 891b ldrh r3, [r3, #8] - 800cf70: ea42 0303 orr.w r3, r2, r3 - 800cf74: b29a uxth r2, r3 - 800cf76: 683b ldr r3, [r7, #0] - 800cf78: 895b ldrh r3, [r3, #10] - 800cf7a: ea42 0303 orr.w r3, r2, r3 - 800cf7e: b29b uxth r3, r3 - 800cf80: 461a mov r2, r3 - 800cf82: 69bb ldr r3, [r7, #24] - 800cf84: ea43 0302 orr.w r3, r3, r2 - 800cf88: 61bb str r3, [r7, #24] - USART_InitStruct->USART_Mode; - - /* Write to USART CR1 */ - USARTx->CR1 = (uint16_t)tmpreg; - 800cf8a: 69bb ldr r3, [r7, #24] - 800cf8c: b29b uxth r3, r3 - 800cf8e: 687a ldr r2, [r7, #4] - 800cf90: 8193 strh r3, [r2, #12] - -/*---------------------------- USART CR3 Configuration -----------------------*/ - tmpreg = USARTx->CR3; - 800cf92: 687b ldr r3, [r7, #4] - 800cf94: 8a9b ldrh r3, [r3, #20] - 800cf96: b29b uxth r3, r3 - 800cf98: 61bb str r3, [r7, #24] - - /* Clear CTSE and RTSE bits */ - tmpreg &= (uint32_t)~((uint32_t)CR3_CLEAR_MASK); - 800cf9a: 69bb ldr r3, [r7, #24] - 800cf9c: f423 7340 bic.w r3, r3, #768 ; 0x300 - 800cfa0: 61bb str r3, [r7, #24] - - /* Configure the USART HFC : - Set CTSE and RTSE bits according to USART_HardwareFlowControl value */ - tmpreg |= USART_InitStruct->USART_HardwareFlowControl; - 800cfa2: 683b ldr r3, [r7, #0] - 800cfa4: 899b ldrh r3, [r3, #12] - 800cfa6: 461a mov r2, r3 - 800cfa8: 69bb ldr r3, [r7, #24] - 800cfaa: ea43 0302 orr.w r3, r3, r2 - 800cfae: 61bb str r3, [r7, #24] - - /* Write to USART CR3 */ - USARTx->CR3 = (uint16_t)tmpreg; - 800cfb0: 69bb ldr r3, [r7, #24] - 800cfb2: b29b uxth r3, r3 - 800cfb4: 687a ldr r2, [r7, #4] - 800cfb6: 8293 strh r3, [r2, #20] - -/*---------------------------- USART BRR Configuration -----------------------*/ - /* Configure the USART Baud Rate */ - RCC_GetClocksFreq(&RCC_ClocksStatus); - 800cfb8: f107 0308 add.w r3, r7, #8 ; 0x8 - 800cfbc: 4618 mov r0, r3 - 800cfbe: f7fd fa01 bl 800a3c4 - - if ((USARTx == USART1) || (USARTx == USART6)) - 800cfc2: 687a ldr r2, [r7, #4] - 800cfc4: 4b3d ldr r3, [pc, #244] (800d0bc ) - 800cfc6: 429a cmp r2, r3 - 800cfc8: d003 beq.n 800cfd2 - 800cfca: 687a ldr r2, [r7, #4] - 800cfcc: 4b3c ldr r3, [pc, #240] (800d0c0 ) - 800cfce: 429a cmp r2, r3 - 800cfd0: d102 bne.n 800cfd8 - { - apbclock = RCC_ClocksStatus.PCLK2_Frequency; - 800cfd2: 697b ldr r3, [r7, #20] - 800cfd4: 61fb str r3, [r7, #28] - 800cfd6: e001 b.n 800cfdc - } - else - { - apbclock = RCC_ClocksStatus.PCLK1_Frequency; - 800cfd8: 693b ldr r3, [r7, #16] - 800cfda: 61fb str r3, [r7, #28] - } - - /* Determine the integer part */ - if ((USARTx->CR1 & USART_CR1_OVER8) != 0) - 800cfdc: 687b ldr r3, [r7, #4] - 800cfde: 899b ldrh r3, [r3, #12] - 800cfe0: b29b uxth r3, r3 - 800cfe2: b21b sxth r3, r3 - 800cfe4: 2b00 cmp r3, #0 - 800cfe6: da11 bge.n 800d00c - { - /* Integer part computing in case Oversampling mode is 8 Samples */ - integerdivider = ((25 * apbclock) / (2 * (USART_InitStruct->USART_BaudRate))); - 800cfe8: 69f9 ldr r1, [r7, #28] - 800cfea: 460b mov r3, r1 - 800cfec: ea4f 02c3 mov.w r2, r3, lsl #3 - 800cff0: ea4f 0382 mov.w r3, r2, lsl #2 - 800cff4: ebc2 0303 rsb r3, r2, r3 - 800cff8: eb03 0201 add.w r2, r3, r1 - 800cffc: 683b ldr r3, [r7, #0] - 800cffe: 681b ldr r3, [r3, #0] - 800d000: ea4f 0343 mov.w r3, r3, lsl #1 - 800d004: fbb2 f3f3 udiv r3, r2, r3 - 800d008: 623b str r3, [r7, #32] - 800d00a: e010 b.n 800d02e - } - else /* if ((USARTx->CR1 & USART_CR1_OVER8) == 0) */ - { - /* Integer part computing in case Oversampling mode is 16 Samples */ - integerdivider = ((25 * apbclock) / (4 * (USART_InitStruct->USART_BaudRate))); - 800d00c: 69f9 ldr r1, [r7, #28] - 800d00e: 460b mov r3, r1 - 800d010: ea4f 02c3 mov.w r2, r3, lsl #3 - 800d014: ea4f 0382 mov.w r3, r2, lsl #2 - 800d018: ebc2 0303 rsb r3, r2, r3 - 800d01c: eb03 0201 add.w r2, r3, r1 - 800d020: 683b ldr r3, [r7, #0] - 800d022: 681b ldr r3, [r3, #0] - 800d024: ea4f 0383 mov.w r3, r3, lsl #2 - 800d028: fbb2 f3f3 udiv r3, r2, r3 - 800d02c: 623b str r3, [r7, #32] - } - tmpreg = (integerdivider / 100) << 4; - 800d02e: 6a3a ldr r2, [r7, #32] - 800d030: 4b24 ldr r3, [pc, #144] (800d0c4 ) - 800d032: fba3 1302 umull r1, r3, r3, r2 - 800d036: ea4f 1353 mov.w r3, r3, lsr #5 - 800d03a: ea4f 1303 mov.w r3, r3, lsl #4 - 800d03e: 61bb str r3, [r7, #24] - - /* Determine the fractional part */ - fractionaldivider = integerdivider - (100 * (tmpreg >> 4)); - 800d040: 69bb ldr r3, [r7, #24] - 800d042: ea4f 1313 mov.w r3, r3, lsr #4 - 800d046: ea4f 0383 mov.w r3, r3, lsl #2 - 800d04a: ea4f 0283 mov.w r2, r3, lsl #2 - 800d04e: 4413 add r3, r2 - 800d050: ea4f 0283 mov.w r2, r3, lsl #2 - 800d054: 441a add r2, r3 - 800d056: 6a3b ldr r3, [r7, #32] - 800d058: ebc2 0303 rsb r3, r2, r3 - 800d05c: 627b str r3, [r7, #36] - - /* Implement the fractional part in the register */ - if ((USARTx->CR1 & USART_CR1_OVER8) != 0) - 800d05e: 687b ldr r3, [r7, #4] - 800d060: 899b ldrh r3, [r3, #12] - 800d062: b29b uxth r3, r3 - 800d064: b21b sxth r3, r3 - 800d066: 2b00 cmp r3, #0 - 800d068: da10 bge.n 800d08c - { - tmpreg |= ((((fractionaldivider * 8) + 50) / 100)) & ((uint8_t)0x07); - 800d06a: 6a7b ldr r3, [r7, #36] - 800d06c: ea4f 03c3 mov.w r3, r3, lsl #3 - 800d070: f103 0232 add.w r2, r3, #50 ; 0x32 - 800d074: 4b13 ldr r3, [pc, #76] (800d0c4 ) - 800d076: fba3 1302 umull r1, r3, r3, r2 - 800d07a: ea4f 1353 mov.w r3, r3, lsr #5 - 800d07e: f003 0207 and.w r2, r3, #7 ; 0x7 - 800d082: 69bb ldr r3, [r7, #24] - 800d084: ea43 0302 orr.w r3, r3, r2 - 800d088: 61bb str r3, [r7, #24] - 800d08a: e00f b.n 800d0ac - } - else /* if ((USARTx->CR1 & USART_CR1_OVER8) == 0) */ - { - tmpreg |= ((((fractionaldivider * 16) + 50) / 100)) & ((uint8_t)0x0F); - 800d08c: 6a7b ldr r3, [r7, #36] - 800d08e: ea4f 1303 mov.w r3, r3, lsl #4 - 800d092: f103 0232 add.w r2, r3, #50 ; 0x32 - 800d096: 4b0b ldr r3, [pc, #44] (800d0c4 ) - 800d098: fba3 1302 umull r1, r3, r3, r2 - 800d09c: ea4f 1353 mov.w r3, r3, lsr #5 - 800d0a0: f003 020f and.w r2, r3, #15 ; 0xf - 800d0a4: 69bb ldr r3, [r7, #24] - 800d0a6: ea43 0302 orr.w r3, r3, r2 - 800d0aa: 61bb str r3, [r7, #24] - } - - /* Write to USART BRR register */ - USARTx->BRR = (uint16_t)tmpreg; - 800d0ac: 69bb ldr r3, [r7, #24] - 800d0ae: b29b uxth r3, r3 - 800d0b0: 687a ldr r2, [r7, #4] - 800d0b2: 8113 strh r3, [r2, #8] -} - 800d0b4: f107 0728 add.w r7, r7, #40 ; 0x28 - 800d0b8: 46bd mov sp, r7 - 800d0ba: bd80 pop {r7, pc} - 800d0bc: 40011000 .word 0x40011000 - 800d0c0: 40011400 .word 0x40011400 - 800d0c4: 51eb851f .word 0x51eb851f - -0800d0c8 : - * @param USART_InitStruct: pointer to a USART_InitTypeDef structure which will - * be initialized. - * @retval None - */ -void USART_StructInit(USART_InitTypeDef* USART_InitStruct) -{ - 800d0c8: b480 push {r7} - 800d0ca: b083 sub sp, #12 - 800d0cc: af00 add r7, sp, #0 - 800d0ce: 6078 str r0, [r7, #4] - /* USART_InitStruct members default value */ - USART_InitStruct->USART_BaudRate = 9600; - 800d0d0: 687a ldr r2, [r7, #4] - 800d0d2: f44f 5316 mov.w r3, #9600 ; 0x2580 - 800d0d6: 6013 str r3, [r2, #0] - USART_InitStruct->USART_WordLength = USART_WordLength_8b; - 800d0d8: 687a ldr r2, [r7, #4] - 800d0da: f04f 0300 mov.w r3, #0 ; 0x0 - 800d0de: 8093 strh r3, [r2, #4] - USART_InitStruct->USART_StopBits = USART_StopBits_1; - 800d0e0: 687a ldr r2, [r7, #4] - 800d0e2: f04f 0300 mov.w r3, #0 ; 0x0 - 800d0e6: 80d3 strh r3, [r2, #6] - USART_InitStruct->USART_Parity = USART_Parity_No ; - 800d0e8: 687a ldr r2, [r7, #4] - 800d0ea: f04f 0300 mov.w r3, #0 ; 0x0 - 800d0ee: 8113 strh r3, [r2, #8] - USART_InitStruct->USART_Mode = USART_Mode_Rx | USART_Mode_Tx; - 800d0f0: 687a ldr r2, [r7, #4] - 800d0f2: f04f 030c mov.w r3, #12 ; 0xc - 800d0f6: 8153 strh r3, [r2, #10] - USART_InitStruct->USART_HardwareFlowControl = USART_HardwareFlowControl_None; - 800d0f8: 687a ldr r2, [r7, #4] - 800d0fa: f04f 0300 mov.w r3, #0 ; 0x0 - 800d0fe: 8193 strh r3, [r2, #12] -} - 800d100: f107 070c add.w r7, r7, #12 ; 0xc - 800d104: 46bd mov sp, r7 - 800d106: bc80 pop {r7} - 800d108: 4770 bx lr - 800d10a: 46c0 nop (mov r8, r8) - -0800d10c : - * contains the configuration information for the specified USART peripheral. - * @note The Smart Card and Synchronous modes are not available for UART4 and UART5. - * @retval None - */ -void USART_ClockInit(USART_TypeDef* USARTx, USART_ClockInitTypeDef* USART_ClockInitStruct) -{ - 800d10c: b480 push {r7} - 800d10e: b085 sub sp, #20 - 800d110: af00 add r7, sp, #0 - 800d112: 6078 str r0, [r7, #4] - 800d114: 6039 str r1, [r7, #0] - uint32_t tmpreg = 0x00; - 800d116: f04f 0300 mov.w r3, #0 ; 0x0 - 800d11a: 60fb str r3, [r7, #12] - //assert_param(IS_USART_CPOL(USART_ClockInitStruct->USART_CPOL)); - //assert_param(IS_USART_CPHA(USART_ClockInitStruct->USART_CPHA)); - //assert_param(IS_USART_LASTBIT(USART_ClockInitStruct->USART_LastBit)); - -/*---------------------------- USART CR2 Configuration -----------------------*/ - tmpreg = USARTx->CR2; - 800d11c: 687b ldr r3, [r7, #4] - 800d11e: 8a1b ldrh r3, [r3, #16] - 800d120: b29b uxth r3, r3 - 800d122: 60fb str r3, [r7, #12] - /* Clear CLKEN, CPOL, CPHA and LBCL bits */ - tmpreg &= (uint32_t)~((uint32_t)CR2_CLOCK_CLEAR_MASK); - 800d124: 68fb ldr r3, [r7, #12] - 800d126: f423 6370 bic.w r3, r3, #3840 ; 0xf00 - 800d12a: 60fb str r3, [r7, #12] - /* Configure the USART Clock, CPOL, CPHA and LastBit ------------*/ - /* Set CLKEN bit according to USART_Clock value */ - /* Set CPOL bit according to USART_CPOL value */ - /* Set CPHA bit according to USART_CPHA value */ - /* Set LBCL bit according to USART_LastBit value */ - tmpreg |= (uint32_t)USART_ClockInitStruct->USART_Clock | USART_ClockInitStruct->USART_CPOL | - 800d12c: 683b ldr r3, [r7, #0] - 800d12e: 881a ldrh r2, [r3, #0] - 800d130: 683b ldr r3, [r7, #0] - 800d132: 885b ldrh r3, [r3, #2] - 800d134: ea42 0303 orr.w r3, r2, r3 - 800d138: b29a uxth r2, r3 - 800d13a: 683b ldr r3, [r7, #0] - 800d13c: 889b ldrh r3, [r3, #4] - 800d13e: ea42 0303 orr.w r3, r2, r3 - 800d142: b29a uxth r2, r3 - 800d144: 683b ldr r3, [r7, #0] - 800d146: 88db ldrh r3, [r3, #6] - 800d148: ea42 0303 orr.w r3, r2, r3 - 800d14c: b29b uxth r3, r3 - 800d14e: 461a mov r2, r3 - 800d150: 68fb ldr r3, [r7, #12] - 800d152: ea43 0302 orr.w r3, r3, r2 - 800d156: 60fb str r3, [r7, #12] - USART_ClockInitStruct->USART_CPHA | USART_ClockInitStruct->USART_LastBit; - /* Write to USART CR2 */ - USARTx->CR2 = (uint16_t)tmpreg; - 800d158: 68fb ldr r3, [r7, #12] - 800d15a: b29b uxth r3, r3 - 800d15c: 687a ldr r2, [r7, #4] - 800d15e: 8213 strh r3, [r2, #16] -} - 800d160: f107 0714 add.w r7, r7, #20 ; 0x14 - 800d164: 46bd mov sp, r7 - 800d166: bc80 pop {r7} - 800d168: 4770 bx lr - 800d16a: 46c0 nop (mov r8, r8) - -0800d16c : - * @param USART_ClockInitStruct: pointer to a USART_ClockInitTypeDef structure - * which will be initialized. - * @retval None - */ -void USART_ClockStructInit(USART_ClockInitTypeDef* USART_ClockInitStruct) -{ - 800d16c: b480 push {r7} - 800d16e: b083 sub sp, #12 - 800d170: af00 add r7, sp, #0 - 800d172: 6078 str r0, [r7, #4] - /* USART_ClockInitStruct members default value */ - USART_ClockInitStruct->USART_Clock = USART_Clock_Disable; - 800d174: 687a ldr r2, [r7, #4] - 800d176: f04f 0300 mov.w r3, #0 ; 0x0 - 800d17a: 8013 strh r3, [r2, #0] - USART_ClockInitStruct->USART_CPOL = USART_CPOL_Low; - 800d17c: 687a ldr r2, [r7, #4] - 800d17e: f04f 0300 mov.w r3, #0 ; 0x0 - 800d182: 8053 strh r3, [r2, #2] - USART_ClockInitStruct->USART_CPHA = USART_CPHA_1Edge; - 800d184: 687a ldr r2, [r7, #4] - 800d186: f04f 0300 mov.w r3, #0 ; 0x0 - 800d18a: 8093 strh r3, [r2, #4] - USART_ClockInitStruct->USART_LastBit = USART_LastBit_Disable; - 800d18c: 687a ldr r2, [r7, #4] - 800d18e: f04f 0300 mov.w r3, #0 ; 0x0 - 800d192: 80d3 strh r3, [r2, #6] -} - 800d194: f107 070c add.w r7, r7, #12 ; 0xc - 800d198: 46bd mov sp, r7 - 800d19a: bc80 pop {r7} - 800d19c: 4770 bx lr - 800d19e: 46c0 nop (mov r8, r8) - -0800d1a0 : - * @param NewState: new state of the USARTx peripheral. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void USART_Cmd(USART_TypeDef* USARTx, FunctionalState NewState) -{ - 800d1a0: b480 push {r7} - 800d1a2: b085 sub sp, #20 - 800d1a4: af00 add r7, sp, #0 - 800d1a6: 60f8 str r0, [r7, #12] - 800d1a8: 460b mov r3, r1 - 800d1aa: 72fb strb r3, [r7, #11] - /* Check the parameters */ - //assert_param(IS_USART_ALL_PERIPH(USARTx)); - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - 800d1ac: 7afb ldrb r3, [r7, #11] - 800d1ae: 2b00 cmp r3, #0 - 800d1b0: d008 beq.n 800d1c4 - { - /* Enable the selected USART by setting the UE bit in the CR1 register */ - USARTx->CR1 |= USART_CR1_UE; - 800d1b2: 68fb ldr r3, [r7, #12] - 800d1b4: 899b ldrh r3, [r3, #12] - 800d1b6: b29b uxth r3, r3 - 800d1b8: f443 5300 orr.w r3, r3, #8192 ; 0x2000 - 800d1bc: b29b uxth r3, r3 - 800d1be: 68fa ldr r2, [r7, #12] - 800d1c0: 8193 strh r3, [r2, #12] - 800d1c2: e00d b.n 800d1e0 - } - else - { - /* Disable the selected USART by clearing the UE bit in the CR1 register */ - USARTx->CR1 &= (uint16_t)~((uint16_t)USART_CR1_UE); - 800d1c4: 68fb ldr r3, [r7, #12] - 800d1c6: 899b ldrh r3, [r3, #12] - 800d1c8: b29b uxth r3, r3 - 800d1ca: 607b str r3, [r7, #4] - 800d1cc: f64d 73ff movw r3, #57343 ; 0xdfff - 800d1d0: 6879 ldr r1, [r7, #4] - 800d1d2: ea01 0303 and.w r3, r1, r3 - 800d1d6: 607b str r3, [r7, #4] - 800d1d8: 68fa ldr r2, [r7, #12] - 800d1da: 6879 ldr r1, [r7, #4] - 800d1dc: 460b mov r3, r1 - 800d1de: 8193 strh r3, [r2, #12] - } -} - 800d1e0: f107 0714 add.w r7, r7, #20 ; 0x14 - 800d1e4: 46bd mov sp, r7 - 800d1e6: bc80 pop {r7} - 800d1e8: 4770 bx lr - 800d1ea: 46c0 nop (mov r8, r8) - -0800d1ec : - * @param USART_Prescaler: specifies the prescaler clock. - * @note The function is used for IrDA mode with UART4 and UART5. - * @retval None - */ -void USART_SetPrescaler(USART_TypeDef* USARTx, uint8_t USART_Prescaler) -{ - 800d1ec: b480 push {r7} - 800d1ee: b083 sub sp, #12 - 800d1f0: af00 add r7, sp, #0 - 800d1f2: 6078 str r0, [r7, #4] - 800d1f4: 460b mov r3, r1 - 800d1f6: 70fb strb r3, [r7, #3] - /* Check the parameters */ - //assert_param(IS_USART_ALL_PERIPH(USARTx)); - - /* Clear the USART prescaler */ - USARTx->GTPR &= USART_GTPR_GT; - 800d1f8: 687b ldr r3, [r7, #4] - 800d1fa: 8b1b ldrh r3, [r3, #24] - 800d1fc: b29b uxth r3, r3 - 800d1fe: f403 437f and.w r3, r3, #65280 ; 0xff00 - 800d202: 687a ldr r2, [r7, #4] - 800d204: 8313 strh r3, [r2, #24] - /* Set the USART prescaler */ - USARTx->GTPR |= USART_Prescaler; - 800d206: 687b ldr r3, [r7, #4] - 800d208: 8b1b ldrh r3, [r3, #24] - 800d20a: b29a uxth r2, r3 - 800d20c: 78fb ldrb r3, [r7, #3] - 800d20e: ea42 0303 orr.w r3, r2, r3 - 800d212: b29b uxth r3, r3 - 800d214: 687a ldr r2, [r7, #4] - 800d216: 8313 strh r3, [r2, #24] -} - 800d218: f107 070c add.w r7, r7, #12 ; 0xc - 800d21c: 46bd mov sp, r7 - 800d21e: bc80 pop {r7} - 800d220: 4770 bx lr - 800d222: 46c0 nop (mov r8, r8) - -0800d224 : - * @param NewState: new state of the USART 8x oversampling mode. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void USART_OverSampling8Cmd(USART_TypeDef* USARTx, FunctionalState NewState) -{ - 800d224: b480 push {r7} - 800d226: b085 sub sp, #20 - 800d228: af00 add r7, sp, #0 - 800d22a: 60f8 str r0, [r7, #12] - 800d22c: 460b mov r3, r1 - 800d22e: 72fb strb r3, [r7, #11] - /* Check the parameters */ - //assert_param(IS_USART_ALL_PERIPH(USARTx)); - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - 800d230: 7afb ldrb r3, [r7, #11] - 800d232: 2b00 cmp r3, #0 - 800d234: d00a beq.n 800d24c - { - /* Enable the 8x Oversampling mode by setting the OVER8 bit in the CR1 register */ - USARTx->CR1 |= USART_CR1_OVER8; - 800d236: 68fb ldr r3, [r7, #12] - 800d238: 899b ldrh r3, [r3, #12] - 800d23a: b29b uxth r3, r3 - 800d23c: ea6f 4343 mvn.w r3, r3, lsl #17 - 800d240: ea6f 4353 mvn.w r3, r3, lsr #17 - 800d244: b29b uxth r3, r3 - 800d246: 68fa ldr r2, [r7, #12] - 800d248: 8193 strh r3, [r2, #12] - 800d24a: e00d b.n 800d268 - } - else - { - /* Disable the 8x Oversampling mode by clearing the OVER8 bit in the CR1 register */ - USARTx->CR1 &= (uint16_t)~((uint16_t)USART_CR1_OVER8); - 800d24c: 68fb ldr r3, [r7, #12] - 800d24e: 899b ldrh r3, [r3, #12] - 800d250: b29b uxth r3, r3 - 800d252: 607b str r3, [r7, #4] - 800d254: 6879 ldr r1, [r7, #4] - 800d256: ea4f 4341 mov.w r3, r1, lsl #17 - 800d25a: ea4f 4353 mov.w r3, r3, lsr #17 - 800d25e: 607b str r3, [r7, #4] - 800d260: 68fa ldr r2, [r7, #12] - 800d262: 6879 ldr r1, [r7, #4] - 800d264: 460b mov r3, r1 - 800d266: 8193 strh r3, [r2, #12] - } -} - 800d268: f107 0714 add.w r7, r7, #20 ; 0x14 - 800d26c: 46bd mov sp, r7 - 800d26e: bc80 pop {r7} - 800d270: 4770 bx lr - 800d272: 46c0 nop (mov r8, r8) - -0800d274 : - * @param NewState: new state of the USART one bit sampling method. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void USART_OneBitMethodCmd(USART_TypeDef* USARTx, FunctionalState NewState) -{ - 800d274: b480 push {r7} - 800d276: b085 sub sp, #20 - 800d278: af00 add r7, sp, #0 - 800d27a: 60f8 str r0, [r7, #12] - 800d27c: 460b mov r3, r1 - 800d27e: 72fb strb r3, [r7, #11] - /* Check the parameters */ - //assert_param(IS_USART_ALL_PERIPH(USARTx)); - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - 800d280: 7afb ldrb r3, [r7, #11] - 800d282: 2b00 cmp r3, #0 - 800d284: d008 beq.n 800d298 - { - /* Enable the one bit method by setting the ONEBITE bit in the CR3 register */ - USARTx->CR3 |= USART_CR3_ONEBIT; - 800d286: 68fb ldr r3, [r7, #12] - 800d288: 8a9b ldrh r3, [r3, #20] - 800d28a: b29b uxth r3, r3 - 800d28c: f443 6300 orr.w r3, r3, #2048 ; 0x800 - 800d290: b29b uxth r3, r3 - 800d292: 68fa ldr r2, [r7, #12] - 800d294: 8293 strh r3, [r2, #20] - 800d296: e00d b.n 800d2b4 - } - else - { - /* Disable the one bit method by clearing the ONEBITE bit in the CR3 register */ - USARTx->CR3 &= (uint16_t)~((uint16_t)USART_CR3_ONEBIT); - 800d298: 68fb ldr r3, [r7, #12] - 800d29a: 8a9b ldrh r3, [r3, #20] - 800d29c: b29b uxth r3, r3 - 800d29e: 607b str r3, [r7, #4] - 800d2a0: f24f 73ff movw r3, #63487 ; 0xf7ff - 800d2a4: 6879 ldr r1, [r7, #4] - 800d2a6: ea01 0303 and.w r3, r1, r3 - 800d2aa: 607b str r3, [r7, #4] - 800d2ac: 68fa ldr r2, [r7, #12] - 800d2ae: 6879 ldr r1, [r7, #4] - 800d2b0: 460b mov r3, r1 - 800d2b2: 8293 strh r3, [r2, #20] - } -} - 800d2b4: f107 0714 add.w r7, r7, #20 ; 0x14 - 800d2b8: 46bd mov sp, r7 - 800d2ba: bc80 pop {r7} - 800d2bc: 4770 bx lr - 800d2be: 46c0 nop (mov r8, r8) - -0800d2c0 : - * UART peripheral. - * @param Data: the data to transmit. - * @retval None - */ -void USART_SendData(USART_TypeDef* USARTx, uint16_t Data) -{ - 800d2c0: b480 push {r7} - 800d2c2: b085 sub sp, #20 - 800d2c4: af00 add r7, sp, #0 - 800d2c6: 60f8 str r0, [r7, #12] - 800d2c8: 460b mov r3, r1 - 800d2ca: 817b strh r3, [r7, #10] - /* Check the parameters */ - //assert_param(IS_USART_ALL_PERIPH(USARTx)); - //assert_param(IS_USART_DATA(Data)); - - /* Transmit Data */ - USARTx->DR = (Data & (uint16_t)0x01FF); - 800d2cc: 8979 ldrh r1, [r7, #10] - 800d2ce: 6079 str r1, [r7, #4] - 800d2d0: 687a ldr r2, [r7, #4] - 800d2d2: ea4f 53c2 mov.w r3, r2, lsl #23 - 800d2d6: ea4f 53d3 mov.w r3, r3, lsr #23 - 800d2da: 607b str r3, [r7, #4] - 800d2dc: 68fa ldr r2, [r7, #12] - 800d2de: 6879 ldr r1, [r7, #4] - 800d2e0: 460b mov r3, r1 - 800d2e2: 8093 strh r3, [r2, #4] -} - 800d2e4: f107 0714 add.w r7, r7, #20 ; 0x14 - 800d2e8: 46bd mov sp, r7 - 800d2ea: bc80 pop {r7} - 800d2ec: 4770 bx lr - 800d2ee: 46c0 nop (mov r8, r8) - -0800d2f0 : - * @param USARTx: where x can be 1, 2, 3, 4, 5, 6, 7 or 8 to select the USART or - * UART peripheral. - * @retval The received data. - */ -uint16_t USART_ReceiveData(USART_TypeDef* USARTx) -{ - 800d2f0: b480 push {r7} - 800d2f2: b083 sub sp, #12 - 800d2f4: af00 add r7, sp, #0 - 800d2f6: 6078 str r0, [r7, #4] - /* Check the parameters */ - //assert_param(IS_USART_ALL_PERIPH(USARTx)); - - /* Receive Data */ - return (uint16_t)(USARTx->DR & (uint16_t)0x01FF); - 800d2f8: 687b ldr r3, [r7, #4] - 800d2fa: 889b ldrh r3, [r3, #4] - 800d2fc: b29b uxth r3, r3 - 800d2fe: 603b str r3, [r7, #0] - 800d300: 683a ldr r2, [r7, #0] - 800d302: ea4f 53c2 mov.w r3, r2, lsl #23 - 800d306: ea4f 53d3 mov.w r3, r3, lsr #23 - 800d30a: 603b str r3, [r7, #0] - 800d30c: 683b ldr r3, [r7, #0] -} - 800d30e: 4618 mov r0, r3 - 800d310: f107 070c add.w r7, r7, #12 ; 0xc - 800d314: 46bd mov sp, r7 - 800d316: bc80 pop {r7} - 800d318: 4770 bx lr - 800d31a: 46c0 nop (mov r8, r8) - -0800d31c : - * UART peripheral. - * @param USART_Address: Indicates the address of the USART node. - * @retval None - */ -void USART_SetAddress(USART_TypeDef* USARTx, uint8_t USART_Address) -{ - 800d31c: b480 push {r7} - 800d31e: b085 sub sp, #20 - 800d320: af00 add r7, sp, #0 - 800d322: 60f8 str r0, [r7, #12] - 800d324: 460b mov r3, r1 - 800d326: 72fb strb r3, [r7, #11] - /* Check the parameters */ - //assert_param(IS_USART_ALL_PERIPH(USARTx)); - //assert_param(IS_USART_ADDRESS(USART_Address)); - - /* Clear the USART address */ - USARTx->CR2 &= (uint16_t)~((uint16_t)USART_CR2_ADD); - 800d328: 68fb ldr r3, [r7, #12] - 800d32a: 8a1b ldrh r3, [r3, #16] - 800d32c: b29b uxth r3, r3 - 800d32e: 607b str r3, [r7, #4] - 800d330: f64f 73f0 movw r3, #65520 ; 0xfff0 - 800d334: 6879 ldr r1, [r7, #4] - 800d336: ea01 0303 and.w r3, r1, r3 - 800d33a: 607b str r3, [r7, #4] - 800d33c: 68fa ldr r2, [r7, #12] - 800d33e: 6879 ldr r1, [r7, #4] - 800d340: 460b mov r3, r1 - 800d342: 8213 strh r3, [r2, #16] - /* Set the USART address node */ - USARTx->CR2 |= USART_Address; - 800d344: 68fb ldr r3, [r7, #12] - 800d346: 8a1b ldrh r3, [r3, #16] - 800d348: b29a uxth r2, r3 - 800d34a: 7afb ldrb r3, [r7, #11] - 800d34c: ea42 0303 orr.w r3, r2, r3 - 800d350: b29b uxth r3, r3 - 800d352: 68fa ldr r2, [r7, #12] - 800d354: 8213 strh r3, [r2, #16] -} - 800d356: f107 0714 add.w r7, r7, #20 ; 0x14 - 800d35a: 46bd mov sp, r7 - 800d35c: bc80 pop {r7} - 800d35e: 4770 bx lr - -0800d360 : - * @param NewState: new state of the USART mute mode. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void USART_ReceiverWakeUpCmd(USART_TypeDef* USARTx, FunctionalState NewState) -{ - 800d360: b480 push {r7} - 800d362: b085 sub sp, #20 - 800d364: af00 add r7, sp, #0 - 800d366: 60f8 str r0, [r7, #12] - 800d368: 460b mov r3, r1 - 800d36a: 72fb strb r3, [r7, #11] - /* Check the parameters */ - //assert_param(IS_USART_ALL_PERIPH(USARTx)); - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - 800d36c: 7afb ldrb r3, [r7, #11] - 800d36e: 2b00 cmp r3, #0 - 800d370: d008 beq.n 800d384 - { - /* Enable the USART mute mode by setting the RWU bit in the CR1 register */ - USARTx->CR1 |= USART_CR1_RWU; - 800d372: 68fb ldr r3, [r7, #12] - 800d374: 899b ldrh r3, [r3, #12] - 800d376: b29b uxth r3, r3 - 800d378: f043 0302 orr.w r3, r3, #2 ; 0x2 - 800d37c: b29b uxth r3, r3 - 800d37e: 68fa ldr r2, [r7, #12] - 800d380: 8193 strh r3, [r2, #12] - 800d382: e00d b.n 800d3a0 - } - else - { - /* Disable the USART mute mode by clearing the RWU bit in the CR1 register */ - USARTx->CR1 &= (uint16_t)~((uint16_t)USART_CR1_RWU); - 800d384: 68fb ldr r3, [r7, #12] - 800d386: 899b ldrh r3, [r3, #12] - 800d388: b29b uxth r3, r3 - 800d38a: 607b str r3, [r7, #4] - 800d38c: f64f 73fd movw r3, #65533 ; 0xfffd - 800d390: 6879 ldr r1, [r7, #4] - 800d392: ea01 0303 and.w r3, r1, r3 - 800d396: 607b str r3, [r7, #4] - 800d398: 68fa ldr r2, [r7, #12] - 800d39a: 6879 ldr r1, [r7, #4] - 800d39c: 460b mov r3, r1 - 800d39e: 8193 strh r3, [r2, #12] - } -} - 800d3a0: f107 0714 add.w r7, r7, #20 ; 0x14 - 800d3a4: 46bd mov sp, r7 - 800d3a6: bc80 pop {r7} - 800d3a8: 4770 bx lr - 800d3aa: 46c0 nop (mov r8, r8) - -0800d3ac : - * @arg USART_WakeUp_IdleLine: WakeUp by an idle line detection - * @arg USART_WakeUp_AddressMark: WakeUp by an address mark - * @retval None - */ -void USART_WakeUpConfig(USART_TypeDef* USARTx, uint16_t USART_WakeUp) -{ - 800d3ac: b480 push {r7} - 800d3ae: b085 sub sp, #20 - 800d3b0: af00 add r7, sp, #0 - 800d3b2: 60f8 str r0, [r7, #12] - 800d3b4: 460b mov r3, r1 - 800d3b6: 817b strh r3, [r7, #10] - /* Check the parameters */ - //assert_param(IS_USART_ALL_PERIPH(USARTx)); - //assert_param(IS_USART_WAKEUP(USART_WakeUp)); - - USARTx->CR1 &= (uint16_t)~((uint16_t)USART_CR1_WAKE); - 800d3b8: 68fb ldr r3, [r7, #12] - 800d3ba: 899b ldrh r3, [r3, #12] - 800d3bc: b29b uxth r3, r3 - 800d3be: 607b str r3, [r7, #4] - 800d3c0: f24f 73ff movw r3, #63487 ; 0xf7ff - 800d3c4: 6879 ldr r1, [r7, #4] - 800d3c6: ea01 0303 and.w r3, r1, r3 - 800d3ca: 607b str r3, [r7, #4] - 800d3cc: 68fa ldr r2, [r7, #12] - 800d3ce: 6879 ldr r1, [r7, #4] - 800d3d0: 460b mov r3, r1 - 800d3d2: 8193 strh r3, [r2, #12] - USARTx->CR1 |= USART_WakeUp; - 800d3d4: 68fb ldr r3, [r7, #12] - 800d3d6: 899b ldrh r3, [r3, #12] - 800d3d8: b29a uxth r2, r3 - 800d3da: 897b ldrh r3, [r7, #10] - 800d3dc: ea42 0303 orr.w r3, r2, r3 - 800d3e0: b29b uxth r3, r3 - 800d3e2: 68fa ldr r2, [r7, #12] - 800d3e4: 8193 strh r3, [r2, #12] -} - 800d3e6: f107 0714 add.w r7, r7, #20 ; 0x14 - 800d3ea: 46bd mov sp, r7 - 800d3ec: bc80 pop {r7} - 800d3ee: 4770 bx lr - -0800d3f0 : - * @arg USART_LINBreakDetectLength_10b: 10-bit break detection - * @arg USART_LINBreakDetectLength_11b: 11-bit break detection - * @retval None - */ -void USART_LINBreakDetectLengthConfig(USART_TypeDef* USARTx, uint16_t USART_LINBreakDetectLength) -{ - 800d3f0: b480 push {r7} - 800d3f2: b085 sub sp, #20 - 800d3f4: af00 add r7, sp, #0 - 800d3f6: 60f8 str r0, [r7, #12] - 800d3f8: 460b mov r3, r1 - 800d3fa: 817b strh r3, [r7, #10] - /* Check the parameters */ - //assert_param(IS_USART_ALL_PERIPH(USARTx)); - //assert_param(IS_USART_LIN_BREAK_DETECT_LENGTH(USART_LINBreakDetectLength)); - - USARTx->CR2 &= (uint16_t)~((uint16_t)USART_CR2_LBDL); - 800d3fc: 68fb ldr r3, [r7, #12] - 800d3fe: 8a1b ldrh r3, [r3, #16] - 800d400: b29b uxth r3, r3 - 800d402: 607b str r3, [r7, #4] - 800d404: f64f 73df movw r3, #65503 ; 0xffdf - 800d408: 6879 ldr r1, [r7, #4] - 800d40a: ea01 0303 and.w r3, r1, r3 - 800d40e: 607b str r3, [r7, #4] - 800d410: 68fa ldr r2, [r7, #12] - 800d412: 6879 ldr r1, [r7, #4] - 800d414: 460b mov r3, r1 - 800d416: 8213 strh r3, [r2, #16] - USARTx->CR2 |= USART_LINBreakDetectLength; - 800d418: 68fb ldr r3, [r7, #12] - 800d41a: 8a1b ldrh r3, [r3, #16] - 800d41c: b29a uxth r2, r3 - 800d41e: 897b ldrh r3, [r7, #10] - 800d420: ea42 0303 orr.w r3, r2, r3 - 800d424: b29b uxth r3, r3 - 800d426: 68fa ldr r2, [r7, #12] - 800d428: 8213 strh r3, [r2, #16] -} - 800d42a: f107 0714 add.w r7, r7, #20 ; 0x14 - 800d42e: 46bd mov sp, r7 - 800d430: bc80 pop {r7} - 800d432: 4770 bx lr - -0800d434 : - * @param NewState: new state of the USART LIN mode. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void USART_LINCmd(USART_TypeDef* USARTx, FunctionalState NewState) -{ - 800d434: b480 push {r7} - 800d436: b085 sub sp, #20 - 800d438: af00 add r7, sp, #0 - 800d43a: 60f8 str r0, [r7, #12] - 800d43c: 460b mov r3, r1 - 800d43e: 72fb strb r3, [r7, #11] - /* Check the parameters */ - //assert_param(IS_USART_ALL_PERIPH(USARTx)); - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - 800d440: 7afb ldrb r3, [r7, #11] - 800d442: 2b00 cmp r3, #0 - 800d444: d008 beq.n 800d458 - { - /* Enable the LIN mode by setting the LINEN bit in the CR2 register */ - USARTx->CR2 |= USART_CR2_LINEN; - 800d446: 68fb ldr r3, [r7, #12] - 800d448: 8a1b ldrh r3, [r3, #16] - 800d44a: b29b uxth r3, r3 - 800d44c: f443 4380 orr.w r3, r3, #16384 ; 0x4000 - 800d450: b29b uxth r3, r3 - 800d452: 68fa ldr r2, [r7, #12] - 800d454: 8213 strh r3, [r2, #16] - 800d456: e00d b.n 800d474 - } - else - { - /* Disable the LIN mode by clearing the LINEN bit in the CR2 register */ - USARTx->CR2 &= (uint16_t)~((uint16_t)USART_CR2_LINEN); - 800d458: 68fb ldr r3, [r7, #12] - 800d45a: 8a1b ldrh r3, [r3, #16] - 800d45c: b29b uxth r3, r3 - 800d45e: 607b str r3, [r7, #4] - 800d460: f64b 73ff movw r3, #49151 ; 0xbfff - 800d464: 6879 ldr r1, [r7, #4] - 800d466: ea01 0303 and.w r3, r1, r3 - 800d46a: 607b str r3, [r7, #4] - 800d46c: 68fa ldr r2, [r7, #12] - 800d46e: 6879 ldr r1, [r7, #4] - 800d470: 460b mov r3, r1 - 800d472: 8213 strh r3, [r2, #16] - } -} - 800d474: f107 0714 add.w r7, r7, #20 ; 0x14 - 800d478: 46bd mov sp, r7 - 800d47a: bc80 pop {r7} - 800d47c: 4770 bx lr - 800d47e: 46c0 nop (mov r8, r8) - -0800d480 : - * @param USARTx: where x can be 1, 2, 3, 4, 5, 6, 7 or 8 to select the USART or - * UART peripheral. - * @retval None - */ -void USART_SendBreak(USART_TypeDef* USARTx) -{ - 800d480: b480 push {r7} - 800d482: b083 sub sp, #12 - 800d484: af00 add r7, sp, #0 - 800d486: 6078 str r0, [r7, #4] - /* Check the parameters */ - //assert_param(IS_USART_ALL_PERIPH(USARTx)); - - /* Send break characters */ - USARTx->CR1 |= USART_CR1_SBK; - 800d488: 687b ldr r3, [r7, #4] - 800d48a: 899b ldrh r3, [r3, #12] - 800d48c: b29b uxth r3, r3 - 800d48e: f043 0301 orr.w r3, r3, #1 ; 0x1 - 800d492: b29b uxth r3, r3 - 800d494: 687a ldr r2, [r7, #4] - 800d496: 8193 strh r3, [r2, #12] -} - 800d498: f107 070c add.w r7, r7, #12 ; 0xc - 800d49c: 46bd mov sp, r7 - 800d49e: bc80 pop {r7} - 800d4a0: 4770 bx lr - 800d4a2: 46c0 nop (mov r8, r8) - -0800d4a4 : - * @param NewState: new state of the USART Communication. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void USART_HalfDuplexCmd(USART_TypeDef* USARTx, FunctionalState NewState) -{ - 800d4a4: b480 push {r7} - 800d4a6: b085 sub sp, #20 - 800d4a8: af00 add r7, sp, #0 - 800d4aa: 60f8 str r0, [r7, #12] - 800d4ac: 460b mov r3, r1 - 800d4ae: 72fb strb r3, [r7, #11] - /* Check the parameters */ - //assert_param(IS_USART_ALL_PERIPH(USARTx)); - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - 800d4b0: 7afb ldrb r3, [r7, #11] - 800d4b2: 2b00 cmp r3, #0 - 800d4b4: d008 beq.n 800d4c8 - { - /* Enable the Half-Duplex mode by setting the HDSEL bit in the CR3 register */ - USARTx->CR3 |= USART_CR3_HDSEL; - 800d4b6: 68fb ldr r3, [r7, #12] - 800d4b8: 8a9b ldrh r3, [r3, #20] - 800d4ba: b29b uxth r3, r3 - 800d4bc: f043 0308 orr.w r3, r3, #8 ; 0x8 - 800d4c0: b29b uxth r3, r3 - 800d4c2: 68fa ldr r2, [r7, #12] - 800d4c4: 8293 strh r3, [r2, #20] - 800d4c6: e00d b.n 800d4e4 - } - else - { - /* Disable the Half-Duplex mode by clearing the HDSEL bit in the CR3 register */ - USARTx->CR3 &= (uint16_t)~((uint16_t)USART_CR3_HDSEL); - 800d4c8: 68fb ldr r3, [r7, #12] - 800d4ca: 8a9b ldrh r3, [r3, #20] - 800d4cc: b29b uxth r3, r3 - 800d4ce: 607b str r3, [r7, #4] - 800d4d0: f64f 73f7 movw r3, #65527 ; 0xfff7 - 800d4d4: 6879 ldr r1, [r7, #4] - 800d4d6: ea01 0303 and.w r3, r1, r3 - 800d4da: 607b str r3, [r7, #4] - 800d4dc: 68fa ldr r2, [r7, #12] - 800d4de: 6879 ldr r1, [r7, #4] - 800d4e0: 460b mov r3, r1 - 800d4e2: 8293 strh r3, [r2, #20] - } -} - 800d4e4: f107 0714 add.w r7, r7, #20 ; 0x14 - 800d4e8: 46bd mov sp, r7 - 800d4ea: bc80 pop {r7} - 800d4ec: 4770 bx lr - 800d4ee: 46c0 nop (mov r8, r8) - -0800d4f0 : - * UART peripheral. - * @param USART_GuardTime: specifies the guard time. - * @retval None - */ -void USART_SetGuardTime(USART_TypeDef* USARTx, uint8_t USART_GuardTime) -{ - 800d4f0: b480 push {r7} - 800d4f2: b083 sub sp, #12 - 800d4f4: af00 add r7, sp, #0 - 800d4f6: 6078 str r0, [r7, #4] - 800d4f8: 460b mov r3, r1 - 800d4fa: 70fb strb r3, [r7, #3] - /* Check the parameters */ - //assert_param(IS_USART_1236_PERIPH(USARTx)); - - /* Clear the USART Guard time */ - USARTx->GTPR &= USART_GTPR_PSC; - 800d4fc: 687b ldr r3, [r7, #4] - 800d4fe: 8b1b ldrh r3, [r3, #24] - 800d500: b29b uxth r3, r3 - 800d502: f003 03ff and.w r3, r3, #255 ; 0xff - 800d506: 687a ldr r2, [r7, #4] - 800d508: 8313 strh r3, [r2, #24] - /* Set the USART guard time */ - USARTx->GTPR |= (uint16_t)((uint16_t)USART_GuardTime << 0x08); - 800d50a: 687b ldr r3, [r7, #4] - 800d50c: 8b1b ldrh r3, [r3, #24] - 800d50e: b29a uxth r2, r3 - 800d510: 78fb ldrb r3, [r7, #3] - 800d512: ea4f 2303 mov.w r3, r3, lsl #8 - 800d516: b29b uxth r3, r3 - 800d518: ea42 0303 orr.w r3, r2, r3 - 800d51c: b29b uxth r3, r3 - 800d51e: 687a ldr r2, [r7, #4] - 800d520: 8313 strh r3, [r2, #24] -} - 800d522: f107 070c add.w r7, r7, #12 ; 0xc - 800d526: 46bd mov sp, r7 - 800d528: bc80 pop {r7} - 800d52a: 4770 bx lr - -0800d52c : - * @param NewState: new state of the Smart Card mode. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void USART_SmartCardCmd(USART_TypeDef* USARTx, FunctionalState NewState) -{ - 800d52c: b480 push {r7} - 800d52e: b085 sub sp, #20 - 800d530: af00 add r7, sp, #0 - 800d532: 60f8 str r0, [r7, #12] - 800d534: 460b mov r3, r1 - 800d536: 72fb strb r3, [r7, #11] - /* Check the parameters */ - //assert_param(IS_USART_1236_PERIPH(USARTx)); - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - 800d538: 7afb ldrb r3, [r7, #11] - 800d53a: 2b00 cmp r3, #0 - 800d53c: d008 beq.n 800d550 - { - /* Enable the SC mode by setting the SCEN bit in the CR3 register */ - USARTx->CR3 |= USART_CR3_SCEN; - 800d53e: 68fb ldr r3, [r7, #12] - 800d540: 8a9b ldrh r3, [r3, #20] - 800d542: b29b uxth r3, r3 - 800d544: f043 0320 orr.w r3, r3, #32 ; 0x20 - 800d548: b29b uxth r3, r3 - 800d54a: 68fa ldr r2, [r7, #12] - 800d54c: 8293 strh r3, [r2, #20] - 800d54e: e00d b.n 800d56c - } - else - { - /* Disable the SC mode by clearing the SCEN bit in the CR3 register */ - USARTx->CR3 &= (uint16_t)~((uint16_t)USART_CR3_SCEN); - 800d550: 68fb ldr r3, [r7, #12] - 800d552: 8a9b ldrh r3, [r3, #20] - 800d554: b29b uxth r3, r3 - 800d556: 607b str r3, [r7, #4] - 800d558: f64f 73df movw r3, #65503 ; 0xffdf - 800d55c: 6879 ldr r1, [r7, #4] - 800d55e: ea01 0303 and.w r3, r1, r3 - 800d562: 607b str r3, [r7, #4] - 800d564: 68fa ldr r2, [r7, #12] - 800d566: 6879 ldr r1, [r7, #4] - 800d568: 460b mov r3, r1 - 800d56a: 8293 strh r3, [r2, #20] - } -} - 800d56c: f107 0714 add.w r7, r7, #20 ; 0x14 - 800d570: 46bd mov sp, r7 - 800d572: bc80 pop {r7} - 800d574: 4770 bx lr - 800d576: 46c0 nop (mov r8, r8) - -0800d578 : - * @param NewState: new state of the NACK transmission. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void USART_SmartCardNACKCmd(USART_TypeDef* USARTx, FunctionalState NewState) -{ - 800d578: b480 push {r7} - 800d57a: b085 sub sp, #20 - 800d57c: af00 add r7, sp, #0 - 800d57e: 60f8 str r0, [r7, #12] - 800d580: 460b mov r3, r1 - 800d582: 72fb strb r3, [r7, #11] - /* Check the parameters */ - //assert_param(IS_USART_1236_PERIPH(USARTx)); - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - if (NewState != DISABLE) - 800d584: 7afb ldrb r3, [r7, #11] - 800d586: 2b00 cmp r3, #0 - 800d588: d008 beq.n 800d59c - { - /* Enable the NACK transmission by setting the NACK bit in the CR3 register */ - USARTx->CR3 |= USART_CR3_NACK; - 800d58a: 68fb ldr r3, [r7, #12] - 800d58c: 8a9b ldrh r3, [r3, #20] - 800d58e: b29b uxth r3, r3 - 800d590: f043 0310 orr.w r3, r3, #16 ; 0x10 - 800d594: b29b uxth r3, r3 - 800d596: 68fa ldr r2, [r7, #12] - 800d598: 8293 strh r3, [r2, #20] - 800d59a: e00d b.n 800d5b8 - } - else - { - /* Disable the NACK transmission by clearing the NACK bit in the CR3 register */ - USARTx->CR3 &= (uint16_t)~((uint16_t)USART_CR3_NACK); - 800d59c: 68fb ldr r3, [r7, #12] - 800d59e: 8a9b ldrh r3, [r3, #20] - 800d5a0: b29b uxth r3, r3 - 800d5a2: 607b str r3, [r7, #4] - 800d5a4: f64f 73ef movw r3, #65519 ; 0xffef - 800d5a8: 6879 ldr r1, [r7, #4] - 800d5aa: ea01 0303 and.w r3, r1, r3 - 800d5ae: 607b str r3, [r7, #4] - 800d5b0: 68fa ldr r2, [r7, #12] - 800d5b2: 6879 ldr r1, [r7, #4] - 800d5b4: 460b mov r3, r1 - 800d5b6: 8293 strh r3, [r2, #20] - } -} - 800d5b8: f107 0714 add.w r7, r7, #20 ; 0x14 - 800d5bc: 46bd mov sp, r7 - 800d5be: bc80 pop {r7} - 800d5c0: 4770 bx lr - 800d5c2: 46c0 nop (mov r8, r8) - -0800d5c4 : - * @arg USART_IrDAMode_LowPower - * @arg USART_IrDAMode_Normal - * @retval None - */ -void USART_IrDAConfig(USART_TypeDef* USARTx, uint16_t USART_IrDAMode) -{ - 800d5c4: b480 push {r7} - 800d5c6: b085 sub sp, #20 - 800d5c8: af00 add r7, sp, #0 - 800d5ca: 60f8 str r0, [r7, #12] - 800d5cc: 460b mov r3, r1 - 800d5ce: 817b strh r3, [r7, #10] - /* Check the parameters */ - //assert_param(IS_USART_ALL_PERIPH(USARTx)); - //assert_param(IS_USART_IRDA_MODE(USART_IrDAMode)); - - USARTx->CR3 &= (uint16_t)~((uint16_t)USART_CR3_IRLP); - 800d5d0: 68fb ldr r3, [r7, #12] - 800d5d2: 8a9b ldrh r3, [r3, #20] - 800d5d4: b29b uxth r3, r3 - 800d5d6: 607b str r3, [r7, #4] - 800d5d8: f64f 73fb movw r3, #65531 ; 0xfffb - 800d5dc: 6879 ldr r1, [r7, #4] - 800d5de: ea01 0303 and.w r3, r1, r3 - 800d5e2: 607b str r3, [r7, #4] - 800d5e4: 68fa ldr r2, [r7, #12] - 800d5e6: 6879 ldr r1, [r7, #4] - 800d5e8: 460b mov r3, r1 - 800d5ea: 8293 strh r3, [r2, #20] - USARTx->CR3 |= USART_IrDAMode; - 800d5ec: 68fb ldr r3, [r7, #12] - 800d5ee: 8a9b ldrh r3, [r3, #20] - 800d5f0: b29a uxth r2, r3 - 800d5f2: 897b ldrh r3, [r7, #10] - 800d5f4: ea42 0303 orr.w r3, r2, r3 - 800d5f8: b29b uxth r3, r3 - 800d5fa: 68fa ldr r2, [r7, #12] - 800d5fc: 8293 strh r3, [r2, #20] -} - 800d5fe: f107 0714 add.w r7, r7, #20 ; 0x14 - 800d602: 46bd mov sp, r7 - 800d604: bc80 pop {r7} - 800d606: 4770 bx lr - -0800d608 : - * @param NewState: new state of the IrDA mode. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void USART_IrDACmd(USART_TypeDef* USARTx, FunctionalState NewState) -{ - 800d608: b480 push {r7} - 800d60a: b085 sub sp, #20 - 800d60c: af00 add r7, sp, #0 - 800d60e: 60f8 str r0, [r7, #12] - 800d610: 460b mov r3, r1 - 800d612: 72fb strb r3, [r7, #11] - /* Check the parameters */ - //assert_param(IS_USART_ALL_PERIPH(USARTx)); - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - 800d614: 7afb ldrb r3, [r7, #11] - 800d616: 2b00 cmp r3, #0 - 800d618: d008 beq.n 800d62c - { - /* Enable the IrDA mode by setting the IREN bit in the CR3 register */ - USARTx->CR3 |= USART_CR3_IREN; - 800d61a: 68fb ldr r3, [r7, #12] - 800d61c: 8a9b ldrh r3, [r3, #20] - 800d61e: b29b uxth r3, r3 - 800d620: f043 0302 orr.w r3, r3, #2 ; 0x2 - 800d624: b29b uxth r3, r3 - 800d626: 68fa ldr r2, [r7, #12] - 800d628: 8293 strh r3, [r2, #20] - 800d62a: e00d b.n 800d648 - } - else - { - /* Disable the IrDA mode by clearing the IREN bit in the CR3 register */ - USARTx->CR3 &= (uint16_t)~((uint16_t)USART_CR3_IREN); - 800d62c: 68fb ldr r3, [r7, #12] - 800d62e: 8a9b ldrh r3, [r3, #20] - 800d630: b29b uxth r3, r3 - 800d632: 607b str r3, [r7, #4] - 800d634: f64f 73fd movw r3, #65533 ; 0xfffd - 800d638: 6879 ldr r1, [r7, #4] - 800d63a: ea01 0303 and.w r3, r1, r3 - 800d63e: 607b str r3, [r7, #4] - 800d640: 68fa ldr r2, [r7, #12] - 800d642: 6879 ldr r1, [r7, #4] - 800d644: 460b mov r3, r1 - 800d646: 8293 strh r3, [r2, #20] - } -} - 800d648: f107 0714 add.w r7, r7, #20 ; 0x14 - 800d64c: 46bd mov sp, r7 - 800d64e: bc80 pop {r7} - 800d650: 4770 bx lr - 800d652: 46c0 nop (mov r8, r8) - -0800d654 : - * @param NewState: new state of the DMA Request sources. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void USART_DMACmd(USART_TypeDef* USARTx, uint16_t USART_DMAReq, FunctionalState NewState) -{ - 800d654: b480 push {r7} - 800d656: b083 sub sp, #12 - 800d658: af00 add r7, sp, #0 - 800d65a: 6078 str r0, [r7, #4] - 800d65c: 460b mov r3, r1 - 800d65e: 807b strh r3, [r7, #2] - 800d660: 4613 mov r3, r2 - 800d662: 707b strb r3, [r7, #1] - /* Check the parameters */ - //assert_param(IS_USART_ALL_PERIPH(USARTx)); - //assert_param(IS_USART_DMAREQ(USART_DMAReq)); - //assert_param(IS_FUNCTIONAL_STATE(NewState)); - - if (NewState != DISABLE) - 800d664: 787b ldrb r3, [r7, #1] - 800d666: 2b00 cmp r3, #0 - 800d668: d009 beq.n 800d67e - { - /* Enable the DMA transfer for selected requests by setting the DMAT and/or - DMAR bits in the USART CR3 register */ - USARTx->CR3 |= USART_DMAReq; - 800d66a: 687b ldr r3, [r7, #4] - 800d66c: 8a9b ldrh r3, [r3, #20] - 800d66e: b29a uxth r2, r3 - 800d670: 887b ldrh r3, [r7, #2] - 800d672: ea42 0303 orr.w r3, r2, r3 - 800d676: b29b uxth r3, r3 - 800d678: 687a ldr r2, [r7, #4] - 800d67a: 8293 strh r3, [r2, #20] - 800d67c: e00b b.n 800d696 - } - else - { - /* Disable the DMA transfer for selected requests by clearing the DMAT and/or - DMAR bits in the USART CR3 register */ - USARTx->CR3 &= (uint16_t)~USART_DMAReq; - 800d67e: 687b ldr r3, [r7, #4] - 800d680: 8a9b ldrh r3, [r3, #20] - 800d682: b29a uxth r2, r3 - 800d684: 887b ldrh r3, [r7, #2] - 800d686: ea6f 0303 mvn.w r3, r3 - 800d68a: b29b uxth r3, r3 - 800d68c: ea02 0303 and.w r3, r2, r3 - 800d690: b29b uxth r3, r3 - 800d692: 687a ldr r2, [r7, #4] - 800d694: 8293 strh r3, [r2, #20] - } -} - 800d696: f107 070c add.w r7, r7, #12 ; 0xc - 800d69a: 46bd mov sp, r7 - 800d69c: bc80 pop {r7} - 800d69e: 4770 bx lr - -0800d6a0 : - * @param NewState: new state of the specified USARTx interrupts. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void USART_ITConfig(USART_TypeDef* USARTx, uint16_t USART_IT, FunctionalState NewState) -{ - 800d6a0: b480 push {r7} - 800d6a2: b087 sub sp, #28 - 800d6a4: af00 add r7, sp, #0 - 800d6a6: 6078 str r0, [r7, #4] - 800d6a8: 460b mov r3, r1 - 800d6aa: 807b strh r3, [r7, #2] - 800d6ac: 4613 mov r3, r2 - 800d6ae: 707b strb r3, [r7, #1] - uint32_t usartreg = 0x00, itpos = 0x00, itmask = 0x00; - 800d6b0: f04f 0300 mov.w r3, #0 ; 0x0 - 800d6b4: 60bb str r3, [r7, #8] - 800d6b6: f04f 0300 mov.w r3, #0 ; 0x0 - 800d6ba: 60fb str r3, [r7, #12] - 800d6bc: f04f 0300 mov.w r3, #0 ; 0x0 - 800d6c0: 613b str r3, [r7, #16] - uint32_t usartxbase = 0x00; - 800d6c2: f04f 0300 mov.w r3, #0 ; 0x0 - 800d6c6: 617b str r3, [r7, #20] - if (USART_IT == USART_IT_CTS) - { - //assert_param(IS_USART_1236_PERIPH(USARTx)); - } - - usartxbase = (uint32_t)USARTx; - 800d6c8: 687b ldr r3, [r7, #4] - 800d6ca: 617b str r3, [r7, #20] - - /* Get the USART register index */ - usartreg = (((uint8_t)USART_IT) >> 0x05); - 800d6cc: 887b ldrh r3, [r7, #2] - 800d6ce: b2db uxtb r3, r3 - 800d6d0: ea4f 1353 mov.w r3, r3, lsr #5 - 800d6d4: b2db uxtb r3, r3 - 800d6d6: 60bb str r3, [r7, #8] - - /* Get the interrupt position */ - itpos = USART_IT & IT_MASK; - 800d6d8: 887b ldrh r3, [r7, #2] - 800d6da: f003 031f and.w r3, r3, #31 ; 0x1f - 800d6de: 60fb str r3, [r7, #12] - itmask = (((uint32_t)0x01) << itpos); - 800d6e0: 68fa ldr r2, [r7, #12] - 800d6e2: f04f 0301 mov.w r3, #1 ; 0x1 - 800d6e6: fa03 f302 lsl.w r3, r3, r2 - 800d6ea: 613b str r3, [r7, #16] - - if (usartreg == 0x01) /* The IT is in CR1 register */ - 800d6ec: 68bb ldr r3, [r7, #8] - 800d6ee: 2b01 cmp r3, #1 - 800d6f0: d104 bne.n 800d6fc - { - usartxbase += 0x0C; - 800d6f2: 697b ldr r3, [r7, #20] - 800d6f4: f103 030c add.w r3, r3, #12 ; 0xc - 800d6f8: 617b str r3, [r7, #20] - 800d6fa: e00b b.n 800d714 - } - else if (usartreg == 0x02) /* The IT is in CR2 register */ - 800d6fc: 68bb ldr r3, [r7, #8] - 800d6fe: 2b02 cmp r3, #2 - 800d700: d104 bne.n 800d70c - { - usartxbase += 0x10; - 800d702: 697b ldr r3, [r7, #20] - 800d704: f103 0310 add.w r3, r3, #16 ; 0x10 - 800d708: 617b str r3, [r7, #20] - 800d70a: e003 b.n 800d714 - } - else /* The IT is in CR3 register */ - { - usartxbase += 0x14; - 800d70c: 697b ldr r3, [r7, #20] - 800d70e: f103 0314 add.w r3, r3, #20 ; 0x14 - 800d712: 617b str r3, [r7, #20] - } - if (NewState != DISABLE) - 800d714: 787b ldrb r3, [r7, #1] - 800d716: 2b00 cmp r3, #0 - 800d718: d007 beq.n 800d72a - { - *(__IO uint32_t*)usartxbase |= itmask; - 800d71a: 6979 ldr r1, [r7, #20] - 800d71c: 697b ldr r3, [r7, #20] - 800d71e: 681a ldr r2, [r3, #0] - 800d720: 693b ldr r3, [r7, #16] - 800d722: ea42 0303 orr.w r3, r2, r3 - 800d726: 600b str r3, [r1, #0] - 800d728: e008 b.n 800d73c - } - else - { - *(__IO uint32_t*)usartxbase &= ~itmask; - 800d72a: 6979 ldr r1, [r7, #20] - 800d72c: 697b ldr r3, [r7, #20] - 800d72e: 681a ldr r2, [r3, #0] - 800d730: 693b ldr r3, [r7, #16] - 800d732: ea6f 0303 mvn.w r3, r3 - 800d736: ea02 0303 and.w r3, r2, r3 - 800d73a: 600b str r3, [r1, #0] - } -} - 800d73c: f107 071c add.w r7, r7, #28 ; 0x1c - 800d740: 46bd mov sp, r7 - 800d742: bc80 pop {r7} - 800d744: 4770 bx lr - 800d746: 46c0 nop (mov r8, r8) - -0800d748 : - * @arg USART_FLAG_FE: Framing Error flag - * @arg USART_FLAG_PE: Parity Error flag - * @retval The new state of USART_FLAG (SET or RESET). - */ -FlagStatus USART_GetFlagStatus(USART_TypeDef* USARTx, uint16_t USART_FLAG) -{ - 800d748: b480 push {r7} - 800d74a: b085 sub sp, #20 - 800d74c: af00 add r7, sp, #0 - 800d74e: 6078 str r0, [r7, #4] - 800d750: 460b mov r3, r1 - 800d752: 807b strh r3, [r7, #2] - FlagStatus bitstatus = RESET; - 800d754: f04f 0300 mov.w r3, #0 ; 0x0 - 800d758: 73fb strb r3, [r7, #15] - if (USART_FLAG == USART_FLAG_CTS) - { - //assert_param(IS_USART_1236_PERIPH(USARTx)); - } - - if ((USARTx->SR & USART_FLAG) != (uint16_t)RESET) - 800d75a: 687b ldr r3, [r7, #4] - 800d75c: 881b ldrh r3, [r3, #0] - 800d75e: b29a uxth r2, r3 - 800d760: 887b ldrh r3, [r7, #2] - 800d762: ea02 0303 and.w r3, r2, r3 - 800d766: b29b uxth r3, r3 - 800d768: 2b00 cmp r3, #0 - 800d76a: d003 beq.n 800d774 - { - bitstatus = SET; - 800d76c: f04f 0301 mov.w r3, #1 ; 0x1 - 800d770: 73fb strb r3, [r7, #15] - 800d772: e002 b.n 800d77a - } - else - { - bitstatus = RESET; - 800d774: f04f 0300 mov.w r3, #0 ; 0x0 - 800d778: 73fb strb r3, [r7, #15] - } - return bitstatus; - 800d77a: 7bfb ldrb r3, [r7, #15] -} - 800d77c: 4618 mov r0, r3 - 800d77e: f107 0714 add.w r7, r7, #20 ; 0x14 - 800d782: 46bd mov sp, r7 - 800d784: bc80 pop {r7} - 800d786: 4770 bx lr - -0800d788 : - * (USART_SendData()). - * - * @retval None - */ -void USART_ClearFlag(USART_TypeDef* USARTx, uint16_t USART_FLAG) -{ - 800d788: b480 push {r7} - 800d78a: b083 sub sp, #12 - 800d78c: af00 add r7, sp, #0 - 800d78e: 6078 str r0, [r7, #4] - 800d790: 460b mov r3, r1 - 800d792: 807b strh r3, [r7, #2] - if ((USART_FLAG & USART_FLAG_CTS) == USART_FLAG_CTS) - { - //assert_param(IS_USART_1236_PERIPH(USARTx)); - } - - USARTx->SR = (uint16_t)~USART_FLAG; - 800d794: 887b ldrh r3, [r7, #2] - 800d796: ea6f 0303 mvn.w r3, r3 - 800d79a: b29b uxth r3, r3 - 800d79c: 687a ldr r2, [r7, #4] - 800d79e: 8013 strh r3, [r2, #0] -} - 800d7a0: f107 070c add.w r7, r7, #12 ; 0xc - 800d7a4: 46bd mov sp, r7 - 800d7a6: bc80 pop {r7} - 800d7a8: 4770 bx lr - 800d7aa: 46c0 nop (mov r8, r8) - -0800d7ac : - * @arg USART_IT_FE: Framing Error interrupt - * @arg USART_IT_PE: Parity Error interrupt - * @retval The new state of USART_IT (SET or RESET). - */ -ITStatus USART_GetITStatus(USART_TypeDef* USARTx, uint16_t USART_IT) -{ - 800d7ac: b480 push {r7} - 800d7ae: b087 sub sp, #28 - 800d7b0: af00 add r7, sp, #0 - 800d7b2: 6078 str r0, [r7, #4] - 800d7b4: 460b mov r3, r1 - 800d7b6: 807b strh r3, [r7, #2] - uint32_t bitpos = 0x00, itmask = 0x00, usartreg = 0x00; - 800d7b8: f04f 0300 mov.w r3, #0 ; 0x0 - 800d7bc: 60bb str r3, [r7, #8] - 800d7be: f04f 0300 mov.w r3, #0 ; 0x0 - 800d7c2: 60fb str r3, [r7, #12] - 800d7c4: f04f 0300 mov.w r3, #0 ; 0x0 - 800d7c8: 613b str r3, [r7, #16] - ITStatus bitstatus = RESET; - 800d7ca: f04f 0300 mov.w r3, #0 ; 0x0 - 800d7ce: 75fb strb r3, [r7, #23] - { - //assert_param(IS_USART_1236_PERIPH(USARTx)); - } - - /* Get the USART register index */ - usartreg = (((uint8_t)USART_IT) >> 0x05); - 800d7d0: 887b ldrh r3, [r7, #2] - 800d7d2: b2db uxtb r3, r3 - 800d7d4: ea4f 1353 mov.w r3, r3, lsr #5 - 800d7d8: b2db uxtb r3, r3 - 800d7da: 613b str r3, [r7, #16] - /* Get the interrupt position */ - itmask = USART_IT & IT_MASK; - 800d7dc: 887b ldrh r3, [r7, #2] - 800d7de: f003 031f and.w r3, r3, #31 ; 0x1f - 800d7e2: 60fb str r3, [r7, #12] - itmask = (uint32_t)0x01 << itmask; - 800d7e4: 68fa ldr r2, [r7, #12] - 800d7e6: f04f 0301 mov.w r3, #1 ; 0x1 - 800d7ea: fa03 f302 lsl.w r3, r3, r2 - 800d7ee: 60fb str r3, [r7, #12] - - if (usartreg == 0x01) /* The IT is in CR1 register */ - 800d7f0: 693b ldr r3, [r7, #16] - 800d7f2: 2b01 cmp r3, #1 - 800d7f4: d108 bne.n 800d808 - { - itmask &= USARTx->CR1; - 800d7f6: 687b ldr r3, [r7, #4] - 800d7f8: 899b ldrh r3, [r3, #12] - 800d7fa: b29b uxth r3, r3 - 800d7fc: 461a mov r2, r3 - 800d7fe: 68fb ldr r3, [r7, #12] - 800d800: ea03 0302 and.w r3, r3, r2 - 800d804: 60fb str r3, [r7, #12] - 800d806: e013 b.n 800d830 - } - else if (usartreg == 0x02) /* The IT is in CR2 register */ - 800d808: 693b ldr r3, [r7, #16] - 800d80a: 2b02 cmp r3, #2 - 800d80c: d108 bne.n 800d820 - { - itmask &= USARTx->CR2; - 800d80e: 687b ldr r3, [r7, #4] - 800d810: 8a1b ldrh r3, [r3, #16] - 800d812: b29b uxth r3, r3 - 800d814: 461a mov r2, r3 - 800d816: 68fb ldr r3, [r7, #12] - 800d818: ea03 0302 and.w r3, r3, r2 - 800d81c: 60fb str r3, [r7, #12] - 800d81e: e007 b.n 800d830 - } - else /* The IT is in CR3 register */ - { - itmask &= USARTx->CR3; - 800d820: 687b ldr r3, [r7, #4] - 800d822: 8a9b ldrh r3, [r3, #20] - 800d824: b29b uxth r3, r3 - 800d826: 461a mov r2, r3 - 800d828: 68fb ldr r3, [r7, #12] - 800d82a: ea03 0302 and.w r3, r3, r2 - 800d82e: 60fb str r3, [r7, #12] - } - - bitpos = USART_IT >> 0x08; - 800d830: 887b ldrh r3, [r7, #2] - 800d832: ea4f 2313 mov.w r3, r3, lsr #8 - 800d836: b29b uxth r3, r3 - 800d838: 60bb str r3, [r7, #8] - bitpos = (uint32_t)0x01 << bitpos; - 800d83a: 68ba ldr r2, [r7, #8] - 800d83c: f04f 0301 mov.w r3, #1 ; 0x1 - 800d840: fa03 f302 lsl.w r3, r3, r2 - 800d844: 60bb str r3, [r7, #8] - bitpos &= USARTx->SR; - 800d846: 687b ldr r3, [r7, #4] - 800d848: 881b ldrh r3, [r3, #0] - 800d84a: b29b uxth r3, r3 - 800d84c: 461a mov r2, r3 - 800d84e: 68bb ldr r3, [r7, #8] - 800d850: ea03 0302 and.w r3, r3, r2 - 800d854: 60bb str r3, [r7, #8] - if ((itmask != (uint16_t)RESET)&&(bitpos != (uint16_t)RESET)) - 800d856: 68fb ldr r3, [r7, #12] - 800d858: 2b00 cmp r3, #0 - 800d85a: d006 beq.n 800d86a - 800d85c: 68bb ldr r3, [r7, #8] - 800d85e: 2b00 cmp r3, #0 - 800d860: d003 beq.n 800d86a - { - bitstatus = SET; - 800d862: f04f 0301 mov.w r3, #1 ; 0x1 - 800d866: 75fb strb r3, [r7, #23] - 800d868: e002 b.n 800d870 - } - else - { - bitstatus = RESET; - 800d86a: f04f 0300 mov.w r3, #0 ; 0x0 - 800d86e: 75fb strb r3, [r7, #23] - } - - return bitstatus; - 800d870: 7dfb ldrb r3, [r7, #23] -} - 800d872: 4618 mov r0, r3 - 800d874: f107 071c add.w r7, r7, #28 ; 0x1c - 800d878: 46bd mov sp, r7 - 800d87a: bc80 pop {r7} - 800d87c: 4770 bx lr - 800d87e: 46c0 nop (mov r8, r8) - -0800d880 : - * (USART_SendData()). - * - * @retval None - */ -void USART_ClearITPendingBit(USART_TypeDef* USARTx, uint16_t USART_IT) -{ - 800d880: b480 push {r7} - 800d882: b085 sub sp, #20 - 800d884: af00 add r7, sp, #0 - 800d886: 6078 str r0, [r7, #4] - 800d888: 460b mov r3, r1 - 800d88a: 807b strh r3, [r7, #2] - uint16_t bitpos = 0x00, itmask = 0x00; - 800d88c: f04f 0300 mov.w r3, #0 ; 0x0 - 800d890: 81bb strh r3, [r7, #12] - 800d892: f04f 0300 mov.w r3, #0 ; 0x0 - 800d896: 81fb strh r3, [r7, #14] - if (USART_IT == USART_IT_CTS) - { - //assert_param(IS_USART_1236_PERIPH(USARTx)); - } - - bitpos = USART_IT >> 0x08; - 800d898: 887b ldrh r3, [r7, #2] - 800d89a: ea4f 2313 mov.w r3, r3, lsr #8 - 800d89e: 81bb strh r3, [r7, #12] - itmask = ((uint16_t)0x01 << (uint16_t)bitpos); - 800d8a0: 89ba ldrh r2, [r7, #12] - 800d8a2: f04f 0301 mov.w r3, #1 ; 0x1 - 800d8a6: fa03 f302 lsl.w r3, r3, r2 - 800d8aa: 81fb strh r3, [r7, #14] - USARTx->SR = (uint16_t)~itmask; - 800d8ac: 89fb ldrh r3, [r7, #14] - 800d8ae: ea6f 0303 mvn.w r3, r3 - 800d8b2: b29b uxth r3, r3 - 800d8b4: 687a ldr r2, [r7, #4] - 800d8b6: 8013 strh r3, [r2, #0] -} - 800d8b8: f107 0714 add.w r7, r7, #20 ; 0x14 - 800d8bc: 46bd mov sp, r7 - 800d8be: bc80 pop {r7} - 800d8c0: 4770 bx lr - 800d8c2: 46c0 nop (mov r8, r8) - -0800d8c4 <_ZN9AscenseurD2Ev>: - vis->tourne(0.0f); - m_ascenseur = this; -} - -// destructeur -Ascenseur::~Ascenseur() - 800d8c4: b480 push {r7} - 800d8c6: b083 sub sp, #12 - 800d8c8: af00 add r7, sp, #0 - 800d8ca: 6078 str r0, [r7, #4] -{ - if (m_ascenseur == this) - 800d8cc: 4b07 ldr r3, [pc, #28] (800d8ec <_ZN9AscenseurD2Ev+0x28>) - 800d8ce: 681a ldr r2, [r3, #0] - 800d8d0: 687b ldr r3, [r7, #4] - 800d8d2: 429a cmp r2, r3 - 800d8d4: d103 bne.n 800d8de <_ZN9AscenseurD2Ev+0x1a> - m_ascenseur = NULL; - 800d8d6: 4a05 ldr r2, [pc, #20] (800d8ec <_ZN9AscenseurD2Ev+0x28>) - 800d8d8: f04f 0300 mov.w r3, #0 ; 0x0 - 800d8dc: 6013 str r3, [r2, #0] -} - 800d8de: 687b ldr r3, [r7, #4] - 800d8e0: 4618 mov r0, r3 - 800d8e2: f107 070c add.w r7, r7, #12 ; 0xc - 800d8e6: 46bd mov sp, r7 - 800d8e8: bc80 pop {r7} - 800d8ea: 4770 bx lr - 800d8ec: 20000558 .word 0x20000558 - -0800d8f0 <_ZN9AscenseurD1Ev>: - vis->tourne(0.0f); - m_ascenseur = this; -} - -// destructeur -Ascenseur::~Ascenseur() - 800d8f0: b480 push {r7} - 800d8f2: b083 sub sp, #12 - 800d8f4: af00 add r7, sp, #0 - 800d8f6: 6078 str r0, [r7, #4] -{ - if (m_ascenseur == this) - 800d8f8: 4b07 ldr r3, [pc, #28] (800d918 <_ZN9AscenseurD1Ev+0x28>) - 800d8fa: 681a ldr r2, [r3, #0] - 800d8fc: 687b ldr r3, [r7, #4] - 800d8fe: 429a cmp r2, r3 - 800d900: d103 bne.n 800d90a <_ZN9AscenseurD1Ev+0x1a> - m_ascenseur = NULL; - 800d902: 4a05 ldr r2, [pc, #20] (800d918 <_ZN9AscenseurD1Ev+0x28>) - 800d904: f04f 0300 mov.w r3, #0 ; 0x0 - 800d908: 6013 str r3, [r2, #0] -} - 800d90a: 687b ldr r3, [r7, #4] - 800d90c: 4618 mov r0, r3 - 800d90e: f107 070c add.w r7, r7, #12 ; 0xc - 800d912: 46bd mov sp, r7 - 800d914: bc80 pop {r7} - 800d916: 4770 bx lr - 800d918: 20000558 .word 0x20000558 - -0800d91c <_ZNK9Ascenseur5aFiniEv>: - } - } -} - -// est ce que l'ascenseur a fini sa montée/descente -bool Ascenseur::aFini() const - 800d91c: b480 push {r7} - 800d91e: b083 sub sp, #12 - 800d920: af00 add r7, sp, #0 - 800d922: 6078 str r0, [r7, #4] -{ - return !m_tourne; - 800d924: 687b ldr r3, [r7, #4] - 800d926: 781b ldrb r3, [r3, #0] - 800d928: f083 0301 eor.w r3, r3, #1 ; 0x1 - 800d92c: b2db uxtb r3, r3 -} - 800d92e: 4618 mov r0, r3 - 800d930: f107 070c add.w r7, r7, #12 ; 0xc - 800d934: 46bd mov sp, r7 - 800d936: bc80 pop {r7} - 800d938: 4770 bx lr - 800d93a: 46c0 nop (mov r8, r8) - -0800d93c <_ZNK9Ascenseur8vaEnHautEv>: - -// est ce que l'ascenseur va/est en haut ? -bool Ascenseur::vaEnHaut() const - 800d93c: b480 push {r7} - 800d93e: b083 sub sp, #12 - 800d940: af00 add r7, sp, #0 - 800d942: 6078 str r0, [r7, #4] -{ - return m_vaEnHaut; - 800d944: 687b ldr r3, [r7, #4] - 800d946: 785b ldrb r3, [r3, #1] -} - 800d948: 4618 mov r0, r3 - 800d94a: f107 070c add.w r7, r7, #12 ; 0xc - 800d94e: 46bd mov sp, r7 - 800d950: bc80 pop {r7} - 800d952: 4770 bx lr - -0800d954 <_ZNK9Ascenseur10toutEnHautEv>: - -// est ce que les fdc sont activés ? -bool Ascenseur::toutEnHaut() const - 800d954: b580 push {r7, lr} - 800d956: b086 sub sp, #24 - 800d958: af00 add r7, sp, #0 - 800d95a: 6078 str r0, [r7, #4] -{ - return m_fdcHaut->getValue().b; - 800d95c: 687b ldr r3, [r7, #4] - 800d95e: 689b ldr r3, [r3, #8] - 800d960: 681b ldr r3, [r3, #0] - 800d962: f103 0308 add.w r3, r3, #8 ; 0x8 - 800d966: f8d3 c000 ldr.w ip, [r3] - 800d96a: 687b ldr r3, [r7, #4] - 800d96c: 689a ldr r2, [r3, #8] - 800d96e: f107 030c add.w r3, r7, #12 ; 0xc - 800d972: 4618 mov r0, r3 - 800d974: 4611 mov r1, r2 - 800d976: 47e0 blx ip - 800d978: 7d3b ldrb r3, [r7, #20] -} - 800d97a: 4618 mov r0, r3 - 800d97c: f107 0718 add.w r7, r7, #24 ; 0x18 - 800d980: 46bd mov sp, r7 - 800d982: bd80 pop {r7, pc} - -0800d984 <_ZNK9Ascenseur9toutEnBasEv>: - -bool Ascenseur::toutEnBas() const - 800d984: b580 push {r7, lr} - 800d986: b086 sub sp, #24 - 800d988: af00 add r7, sp, #0 - 800d98a: 6078 str r0, [r7, #4] -{ - return m_fdcBas->getValue().b; - 800d98c: 687b ldr r3, [r7, #4] - 800d98e: 68db ldr r3, [r3, #12] - 800d990: 681b ldr r3, [r3, #0] - 800d992: f103 0308 add.w r3, r3, #8 ; 0x8 - 800d996: f8d3 c000 ldr.w ip, [r3] - 800d99a: 687b ldr r3, [r7, #4] - 800d99c: 68da ldr r2, [r3, #12] - 800d99e: f107 030c add.w r3, r7, #12 ; 0xc - 800d9a2: 4618 mov r0, r3 - 800d9a4: 4611 mov r1, r2 - 800d9a6: 47e0 blx ip - 800d9a8: 7d3b ldrb r3, [r7, #20] -} - 800d9aa: 4618 mov r0, r3 - 800d9ac: f107 0718 add.w r7, r7, #24 ; 0x18 - 800d9b0: 46bd mov sp, r7 - 800d9b2: bd80 pop {r7, pc} - -0800d9b4 <_ZN9Ascenseur3getEv>: - -// renvoit l'ascenseur -Ascenseur* Ascenseur::get() - 800d9b4: b480 push {r7} - 800d9b6: af00 add r7, sp, #0 -{ - return m_ascenseur; - 800d9b8: 4b02 ldr r3, [pc, #8] (800d9c4 <_ZN9Ascenseur3getEv+0x10>) - 800d9ba: 681b ldr r3, [r3, #0] -} - 800d9bc: 4618 mov r0, r3 - 800d9be: 46bd mov sp, r7 - 800d9c0: bc80 pop {r7} - 800d9c2: 4770 bx lr - 800d9c4: 20000558 .word 0x20000558 - -0800d9c8 <_ZN9Ascenseur6updateEv>: - m_vis->tourne(-0.5f); - } -} - -// met à jour l'état de l'ascenseur pour l'arreter si il est arrivé à son but -void Ascenseur::update() - 800d9c8: b580 push {r7, lr} - 800d9ca: b082 sub sp, #8 - 800d9cc: af00 add r7, sp, #0 - 800d9ce: 6078 str r0, [r7, #4] -{ - if (m_tourne) - 800d9d0: 687b ldr r3, [r7, #4] - 800d9d2: 781b ldrb r3, [r3, #0] - 800d9d4: 2b00 cmp r3, #0 - 800d9d6: d01b beq.n 800da10 <_ZN9Ascenseur6updateEv+0x48> - { - if (m_vaEnHaut ? toutEnHaut() : toutEnBas()) - 800d9d8: 687b ldr r3, [r7, #4] - 800d9da: 785b ldrb r3, [r3, #1] - 800d9dc: 2b00 cmp r3, #0 - 800d9de: d005 beq.n 800d9ec <_ZN9Ascenseur6updateEv+0x24> - 800d9e0: 6878 ldr r0, [r7, #4] - 800d9e2: f7ff ffb7 bl 800d954 <_ZNK9Ascenseur10toutEnHautEv> - 800d9e6: 4603 mov r3, r0 - 800d9e8: 603b str r3, [r7, #0] - 800d9ea: e004 b.n 800d9f6 <_ZN9Ascenseur6updateEv+0x2e> - 800d9ec: 6878 ldr r0, [r7, #4] - 800d9ee: f7ff ffc9 bl 800d984 <_ZNK9Ascenseur9toutEnBasEv> - 800d9f2: 4603 mov r3, r0 - 800d9f4: 603b str r3, [r7, #0] - 800d9f6: 683b ldr r3, [r7, #0] - 800d9f8: 2b00 cmp r3, #0 - 800d9fa: d009 beq.n 800da10 <_ZN9Ascenseur6updateEv+0x48> - { - m_tourne = false; - 800d9fc: 687a ldr r2, [r7, #4] - 800d9fe: f04f 0300 mov.w r3, #0 ; 0x0 - 800da02: 7013 strb r3, [r2, #0] - m_vis->tourne(0.0f); - 800da04: 687b ldr r3, [r7, #4] - 800da06: 685b ldr r3, [r3, #4] - 800da08: 4618 mov r0, r3 - 800da0a: 4903 ldr r1, [pc, #12] (800da18 <_ZN9Ascenseur6updateEv+0x50>) - 800da0c: f008 fa88 bl 8015f20 <_ZN4Roue6tourneEf> - } - } -} - 800da10: f107 0708 add.w r7, r7, #8 ; 0x8 - 800da14: 46bd mov sp, r7 - 800da16: bd80 pop {r7, pc} - 800da18: 00000000 .word 0x00000000 - -0800da1c <_ZN9Ascenseur9descendreEv>: - m_vis->tourne(0.5f); - } -} - -// l'ascenseur descend tout en bas -void Ascenseur::descendre() - 800da1c: b580 push {r7, lr} - 800da1e: b082 sub sp, #8 - 800da20: af00 add r7, sp, #0 - 800da22: 6078 str r0, [r7, #4] -{ - m_vaEnHaut = false; - 800da24: 687a ldr r2, [r7, #4] - 800da26: f04f 0300 mov.w r3, #0 ; 0x0 - 800da2a: 7053 strb r3, [r2, #1] - - if (!toutEnHaut()) - 800da2c: 6878 ldr r0, [r7, #4] - 800da2e: f7ff ff91 bl 800d954 <_ZNK9Ascenseur10toutEnHautEv> - 800da32: 4603 mov r3, r0 - 800da34: f083 0301 eor.w r3, r3, #1 ; 0x1 - 800da38: b2db uxtb r3, r3 - 800da3a: 2b00 cmp r3, #0 - 800da3c: d009 beq.n 800da52 <_ZN9Ascenseur9descendreEv+0x36> - { - m_tourne = true; - 800da3e: 687a ldr r2, [r7, #4] - 800da40: f04f 0301 mov.w r3, #1 ; 0x1 - 800da44: 7013 strb r3, [r2, #0] - m_vis->tourne(-0.5f); - 800da46: 687b ldr r3, [r7, #4] - 800da48: 685b ldr r3, [r3, #4] - 800da4a: 4618 mov r0, r3 - 800da4c: 4903 ldr r1, [pc, #12] (800da5c <_ZN9Ascenseur9descendreEv+0x40>) - 800da4e: f008 fa67 bl 8015f20 <_ZN4Roue6tourneEf> - } -} - 800da52: f107 0708 add.w r7, r7, #8 ; 0x8 - 800da56: 46bd mov sp, r7 - 800da58: bd80 pop {r7, pc} - 800da5a: 46c0 nop (mov r8, r8) - 800da5c: bf000000 .word 0xbf000000 - -0800da60 <_ZN9Ascenseur6monterEv>: - if (m_ascenseur == this) - m_ascenseur = NULL; -} - -// l'ascenseur monte tout en haut -void Ascenseur::monter() - 800da60: b580 push {r7, lr} - 800da62: b082 sub sp, #8 - 800da64: af00 add r7, sp, #0 - 800da66: 6078 str r0, [r7, #4] -{ - m_vaEnHaut = true; - 800da68: 687a ldr r2, [r7, #4] - 800da6a: f04f 0301 mov.w r3, #1 ; 0x1 - 800da6e: 7053 strb r3, [r2, #1] - - if (!toutEnHaut()) - 800da70: 6878 ldr r0, [r7, #4] - 800da72: f7ff ff6f bl 800d954 <_ZNK9Ascenseur10toutEnHautEv> - 800da76: 4603 mov r3, r0 - 800da78: f083 0301 eor.w r3, r3, #1 ; 0x1 - 800da7c: b2db uxtb r3, r3 - 800da7e: 2b00 cmp r3, #0 - 800da80: d009 beq.n 800da96 <_ZN9Ascenseur6monterEv+0x36> - { - m_tourne = true; - 800da82: 687a ldr r2, [r7, #4] - 800da84: f04f 0301 mov.w r3, #1 ; 0x1 - 800da88: 7013 strb r3, [r2, #0] - m_vis->tourne(0.5f); - 800da8a: 687b ldr r3, [r7, #4] - 800da8c: 685b ldr r3, [r3, #4] - 800da8e: 4618 mov r0, r3 - 800da90: 4903 ldr r1, [pc, #12] (800daa0 <_ZN9Ascenseur6monterEv+0x40>) - 800da92: f008 fa45 bl 8015f20 <_ZN4Roue6tourneEf> - } -} - 800da96: f107 0708 add.w r7, r7, #8 ; 0x8 - 800da9a: 46bd mov sp, r7 - 800da9c: bd80 pop {r7, pc} - 800da9e: 46c0 nop (mov r8, r8) - 800daa0: 3f000000 .word 0x3f000000 - -0800daa4 <_ZN9AscenseurC1EP4RoueP17LimitSwitchSensorS3_>: -#include "ascenseur.h" - -Ascenseur* Ascenseur::m_ascenseur = NULL; - -// Constructeur -Ascenseur::Ascenseur(Roue* vis, LimitSwitchSensor* fdcHaut, LimitSwitchSensor* fdcBas) - 800daa4: b580 push {r7, lr} - 800daa6: b084 sub sp, #16 - 800daa8: af00 add r7, sp, #0 - 800daaa: 60f8 str r0, [r7, #12] - 800daac: 60b9 str r1, [r7, #8] - 800daae: 607a str r2, [r7, #4] - 800dab0: 603b str r3, [r7, #0] - : m_tourne(false), m_vaEnHaut(true), m_vis(vis), m_fdcHaut(fdcHaut), m_fdcBas(fdcBas) - 800dab2: 68fa ldr r2, [r7, #12] - 800dab4: f04f 0300 mov.w r3, #0 ; 0x0 - 800dab8: 7013 strb r3, [r2, #0] - 800daba: 68fa ldr r2, [r7, #12] - 800dabc: f04f 0301 mov.w r3, #1 ; 0x1 - 800dac0: 7053 strb r3, [r2, #1] - 800dac2: 68fa ldr r2, [r7, #12] - 800dac4: 68bb ldr r3, [r7, #8] - 800dac6: 6053 str r3, [r2, #4] - 800dac8: 68fa ldr r2, [r7, #12] - 800daca: 687b ldr r3, [r7, #4] - 800dacc: 6093 str r3, [r2, #8] - 800dace: 68fa ldr r2, [r7, #12] - 800dad0: 683b ldr r3, [r7, #0] - 800dad2: 60d3 str r3, [r2, #12] -{ - vis->tourne(0.0f); - 800dad4: 68b8 ldr r0, [r7, #8] - 800dad6: 4906 ldr r1, [pc, #24] (800daf0 <_ZN9AscenseurC1EP4RoueP17LimitSwitchSensorS3_+0x4c>) - 800dad8: f008 fa22 bl 8015f20 <_ZN4Roue6tourneEf> - m_ascenseur = this; - 800dadc: 4a05 ldr r2, [pc, #20] (800daf4 <_ZN9AscenseurC1EP4RoueP17LimitSwitchSensorS3_+0x50>) - 800dade: 68fb ldr r3, [r7, #12] - 800dae0: 6013 str r3, [r2, #0] -} - 800dae2: 68fb ldr r3, [r7, #12] - 800dae4: 4618 mov r0, r3 - 800dae6: f107 0710 add.w r7, r7, #16 ; 0x10 - 800daea: 46bd mov sp, r7 - 800daec: bd80 pop {r7, pc} - 800daee: 46c0 nop (mov r8, r8) - 800daf0: 00000000 .word 0x00000000 - 800daf4: 20000558 .word 0x20000558 - -0800daf8 <_ZN9AscenseurC2EP4RoueP17LimitSwitchSensorS3_>: -#include "ascenseur.h" - -Ascenseur* Ascenseur::m_ascenseur = NULL; - -// Constructeur -Ascenseur::Ascenseur(Roue* vis, LimitSwitchSensor* fdcHaut, LimitSwitchSensor* fdcBas) - 800daf8: b580 push {r7, lr} - 800dafa: b084 sub sp, #16 - 800dafc: af00 add r7, sp, #0 - 800dafe: 60f8 str r0, [r7, #12] - 800db00: 60b9 str r1, [r7, #8] - 800db02: 607a str r2, [r7, #4] - 800db04: 603b str r3, [r7, #0] - : m_tourne(false), m_vaEnHaut(true), m_vis(vis), m_fdcHaut(fdcHaut), m_fdcBas(fdcBas) - 800db06: 68fa ldr r2, [r7, #12] - 800db08: f04f 0300 mov.w r3, #0 ; 0x0 - 800db0c: 7013 strb r3, [r2, #0] - 800db0e: 68fa ldr r2, [r7, #12] - 800db10: f04f 0301 mov.w r3, #1 ; 0x1 - 800db14: 7053 strb r3, [r2, #1] - 800db16: 68fa ldr r2, [r7, #12] - 800db18: 68bb ldr r3, [r7, #8] - 800db1a: 6053 str r3, [r2, #4] - 800db1c: 68fa ldr r2, [r7, #12] - 800db1e: 687b ldr r3, [r7, #4] - 800db20: 6093 str r3, [r2, #8] - 800db22: 68fa ldr r2, [r7, #12] - 800db24: 683b ldr r3, [r7, #0] - 800db26: 60d3 str r3, [r2, #12] -{ - vis->tourne(0.0f); - 800db28: 68b8 ldr r0, [r7, #8] - 800db2a: 4906 ldr r1, [pc, #24] (800db44 <_ZN9AscenseurC2EP4RoueP17LimitSwitchSensorS3_+0x4c>) - 800db2c: f008 f9f8 bl 8015f20 <_ZN4Roue6tourneEf> - m_ascenseur = this; - 800db30: 4a05 ldr r2, [pc, #20] (800db48 <_ZN9AscenseurC2EP4RoueP17LimitSwitchSensorS3_+0x50>) - 800db32: 68fb ldr r3, [r7, #12] - 800db34: 6013 str r3, [r2, #0] -} - 800db36: 68fb ldr r3, [r7, #12] - 800db38: 4618 mov r0, r3 - 800db3a: f107 0710 add.w r7, r7, #16 ; 0x10 - 800db3e: 46bd mov sp, r7 - 800db40: bd80 pop {r7, pc} - 800db42: 46c0 nop (mov r8, r8) - 800db44: 00000000 .word 0x00000000 - 800db48: 20000558 .word 0x20000558 - -0800db4c <_ZN4Brak12orienterHautEv>: -#ifndef ROBOTHW - qDebug() << "bracquemart retourné vers haut"; -#endif -} - -void Brak::orienterHaut() - 800db4c: b580 push {r7, lr} - 800db4e: b084 sub sp, #16 - 800db50: af00 add r7, sp, #0 - 800db52: 6078 str r0, [r7, #4] -{ -#ifdef ROBOTHW - for(int i = 0; i<10; i++) - 800db54: f04f 0300 mov.w r3, #0 ; 0x0 - 800db58: 60fb str r3, [r7, #12] - 800db5a: e00f b.n 800db7c <_ZN4Brak12orienterHautEv+0x30> - ServosNumeriques::moveToAtSpeed(VENTOUSE_VERS_HAUT, 0x03ff, MOTEUR_BAS); - 800db5c: 687b ldr r3, [r7, #4] - 800db5e: 6a1b ldr r3, [r3, #32] - 800db60: b29a uxth r2, r3 - 800db62: 687b ldr r3, [r7, #4] - 800db64: 6a5b ldr r3, [r3, #36] - 800db66: b2db uxtb r3, r3 - 800db68: 4610 mov r0, r2 - 800db6a: f240 31ff movw r1, #1023 ; 0x3ff - 800db6e: 461a mov r2, r3 - 800db70: f009 fad4 bl 801711c <_ZN16ServosNumeriques13moveToAtSpeedEtth> -} - -void Brak::orienterHaut() -{ -#ifdef ROBOTHW - for(int i = 0; i<10; i++) - 800db74: 68fb ldr r3, [r7, #12] - 800db76: f103 0301 add.w r3, r3, #1 ; 0x1 - 800db7a: 60fb str r3, [r7, #12] - 800db7c: 68fb ldr r3, [r7, #12] - 800db7e: 2b09 cmp r3, #9 - 800db80: ddec ble.n 800db5c <_ZN4Brak12orienterHautEv+0x10> - ServosNumeriques::moveToAtSpeed(VENTOUSE_VERS_HAUT, 0x03ff, MOTEUR_BAS); -#endif -#ifndef ROBOTHW - qDebug() << "bracquemart retourné vers bas"; -#endif -} - 800db82: f107 0710 add.w r7, r7, #16 ; 0x10 - 800db86: 46bd mov sp, r7 - 800db88: bd80 pop {r7, pc} - 800db8a: 46c0 nop (mov r8, r8) - -0800db8c <_ZN4Brak11orienterBasEv>: -#ifndef ROBOTHW - qDebug() << "relachage de feu"; -#endif -} - -void Brak::orienterBas() - 800db8c: b580 push {r7, lr} - 800db8e: b084 sub sp, #16 - 800db90: af00 add r7, sp, #0 - 800db92: 6078 str r0, [r7, #4] -{ -#ifdef ROBOTHW - for(int i = 0; i<10; i++) - 800db94: f04f 0300 mov.w r3, #0 ; 0x0 - 800db98: 60fb str r3, [r7, #12] - 800db9a: e00d b.n 800dbb8 <_ZN4Brak11orienterBasEv+0x2c> - ServosNumeriques::moveTo(VENTOUSE_VERS_BAS, MOTEUR_BAS); - 800db9c: 687b ldr r3, [r7, #4] - 800db9e: 69db ldr r3, [r3, #28] - 800dba0: b29a uxth r2, r3 - 800dba2: 687b ldr r3, [r7, #4] - 800dba4: 6a5b ldr r3, [r3, #36] - 800dba6: b2db uxtb r3, r3 - 800dba8: 4610 mov r0, r2 - 800dbaa: 4619 mov r1, r3 - 800dbac: f009 fa86 bl 80170bc <_ZN16ServosNumeriques6moveToEth> -} - -void Brak::orienterBas() -{ -#ifdef ROBOTHW - for(int i = 0; i<10; i++) - 800dbb0: 68fb ldr r3, [r7, #12] - 800dbb2: f103 0301 add.w r3, r3, #1 ; 0x1 - 800dbb6: 60fb str r3, [r7, #12] - 800dbb8: 68fb ldr r3, [r7, #12] - 800dbba: 2b09 cmp r3, #9 - 800dbbc: ddee ble.n 800db9c <_ZN4Brak11orienterBasEv+0x10> - ServosNumeriques::moveTo(VENTOUSE_VERS_BAS, MOTEUR_BAS); -#endif -#ifndef ROBOTHW - qDebug() << "bracquemart retourné vers haut"; -#endif -} - 800dbbe: f107 0710 add.w r7, r7, #16 ; 0x10 - 800dbc2: 46bd mov sp, r7 - 800dbc4: bd80 pop {r7, pc} - 800dbc6: 46c0 nop (mov r8, r8) - -0800dbc8 <_ZN4Brak21positionBasseRetourneEv>: -#ifndef ROBOTHW - qDebug() << "bracquemart position feu en bas de torche"; -#endif -} - -void Brak::positionBasseRetourne() - 800dbc8: b580 push {r7, lr} - 800dbca: b084 sub sp, #16 - 800dbcc: af00 add r7, sp, #0 - 800dbce: 6078 str r0, [r7, #4] -{ -#ifdef ROBOTHW - for(int i = 0; i<10; i++) - 800dbd0: f04f 0300 mov.w r3, #0 ; 0x0 - 800dbd4: 60fb str r3, [r7, #12] - 800dbd6: e00d b.n 800dbf4 <_ZN4Brak21positionBasseRetourneEv+0x2c> - ServosNumeriques::moveTo(POSITION_RETOURNEE, MOTEUR_HAUT); - 800dbd8: 687b ldr r3, [r7, #4] - 800dbda: 699b ldr r3, [r3, #24] - 800dbdc: b29a uxth r2, r3 - 800dbde: 687b ldr r3, [r7, #4] - 800dbe0: 6a9b ldr r3, [r3, #40] - 800dbe2: b2db uxtb r3, r3 - 800dbe4: 4610 mov r0, r2 - 800dbe6: 4619 mov r1, r3 - 800dbe8: f009 fa68 bl 80170bc <_ZN16ServosNumeriques6moveToEth> -} - -void Brak::positionBasseRetourne() -{ -#ifdef ROBOTHW - for(int i = 0; i<10; i++) - 800dbec: 68fb ldr r3, [r7, #12] - 800dbee: f103 0301 add.w r3, r3, #1 ; 0x1 - 800dbf2: 60fb str r3, [r7, #12] - 800dbf4: 68fb ldr r3, [r7, #12] - 800dbf6: 2b09 cmp r3, #9 - 800dbf8: ddee ble.n 800dbd8 <_ZN4Brak21positionBasseRetourneEv+0x10> - ServosNumeriques::moveTo(POSITION_RETOURNEE, MOTEUR_HAUT); -#endif -#ifndef ROBOTHW - qDebug() << "bracquemart en position basse et retourné"; -#endif -} - 800dbfa: f107 0710 add.w r7, r7, #16 ; 0x10 - 800dbfe: 46bd mov sp, r7 - 800dc00: bd80 pop {r7, pc} - 800dc02: 46c0 nop (mov r8, r8) - -0800dc04 <_ZN4Brak20positionFeuBasTorcheEv>: -#ifndef ROBOTHW - qDebug() << "bracquemart position feu en milieu de torche"; -#endif -} - -void Brak::positionFeuBasTorche() - 800dc04: b580 push {r7, lr} - 800dc06: b084 sub sp, #16 - 800dc08: af00 add r7, sp, #0 - 800dc0a: 6078 str r0, [r7, #4] -{ -#ifdef ROBOTHW - for(int i = 0; i<10; i++) - 800dc0c: f04f 0300 mov.w r3, #0 ; 0x0 - 800dc10: 60fb str r3, [r7, #12] - 800dc12: e00d b.n 800dc30 <_ZN4Brak20positionFeuBasTorcheEv+0x2c> - ServosNumeriques::moveTo(POSITION_FEU_BAS_TORCHE, MOTEUR_HAUT); - 800dc14: 687b ldr r3, [r7, #4] - 800dc16: 691b ldr r3, [r3, #16] - 800dc18: b29a uxth r2, r3 - 800dc1a: 687b ldr r3, [r7, #4] - 800dc1c: 6a9b ldr r3, [r3, #40] - 800dc1e: b2db uxtb r3, r3 - 800dc20: 4610 mov r0, r2 - 800dc22: 4619 mov r1, r3 - 800dc24: f009 fa4a bl 80170bc <_ZN16ServosNumeriques6moveToEth> -} - -void Brak::positionFeuBasTorche() -{ -#ifdef ROBOTHW - for(int i = 0; i<10; i++) - 800dc28: 68fb ldr r3, [r7, #12] - 800dc2a: f103 0301 add.w r3, r3, #1 ; 0x1 - 800dc2e: 60fb str r3, [r7, #12] - 800dc30: 68fb ldr r3, [r7, #12] - 800dc32: 2b09 cmp r3, #9 - 800dc34: ddee ble.n 800dc14 <_ZN4Brak20positionFeuBasTorcheEv+0x10> - ServosNumeriques::moveTo(POSITION_FEU_BAS_TORCHE, MOTEUR_HAUT); -#endif -#ifndef ROBOTHW - qDebug() << "bracquemart position feu en bas de torche"; -#endif -} - 800dc36: f107 0710 add.w r7, r7, #16 ; 0x10 - 800dc3a: 46bd mov sp, r7 - 800dc3c: bd80 pop {r7, pc} - 800dc3e: 46c0 nop (mov r8, r8) - -0800dc40 <_ZN4Brak23positionFeuMilieuTorcheEv>: -#ifndef ROBOTHW - qDebug() << "bracquemart position feu en haut de torche"; -#endif -} - -void Brak::positionFeuMilieuTorche() - 800dc40: b580 push {r7, lr} - 800dc42: b084 sub sp, #16 - 800dc44: af00 add r7, sp, #0 - 800dc46: 6078 str r0, [r7, #4] -{ -#ifdef ROBOTHW - for(int i = 0; i<10; i++) - 800dc48: f04f 0300 mov.w r3, #0 ; 0x0 - 800dc4c: 60fb str r3, [r7, #12] - 800dc4e: e00d b.n 800dc6c <_ZN4Brak23positionFeuMilieuTorcheEv+0x2c> - ServosNumeriques::moveTo(POSITION_FEU_MILIEU_TORCHE, MOTEUR_HAUT); - 800dc50: 687b ldr r3, [r7, #4] - 800dc52: 68db ldr r3, [r3, #12] - 800dc54: b29a uxth r2, r3 - 800dc56: 687b ldr r3, [r7, #4] - 800dc58: 6a9b ldr r3, [r3, #40] - 800dc5a: b2db uxtb r3, r3 - 800dc5c: 4610 mov r0, r2 - 800dc5e: 4619 mov r1, r3 - 800dc60: f009 fa2c bl 80170bc <_ZN16ServosNumeriques6moveToEth> -} - -void Brak::positionFeuMilieuTorche() -{ -#ifdef ROBOTHW - for(int i = 0; i<10; i++) - 800dc64: 68fb ldr r3, [r7, #12] - 800dc66: f103 0301 add.w r3, r3, #1 ; 0x1 - 800dc6a: 60fb str r3, [r7, #12] - 800dc6c: 68fb ldr r3, [r7, #12] - 800dc6e: 2b09 cmp r3, #9 - 800dc70: ddee ble.n 800dc50 <_ZN4Brak23positionFeuMilieuTorcheEv+0x10> - ServosNumeriques::moveTo(POSITION_FEU_MILIEU_TORCHE, MOTEUR_HAUT); -#endif -#ifndef ROBOTHW - qDebug() << "bracquemart position feu en milieu de torche"; -#endif -} - 800dc72: f107 0710 add.w r7, r7, #16 ; 0x10 - 800dc76: 46bd mov sp, r7 - 800dc78: bd80 pop {r7, pc} - 800dc7a: 46c0 nop (mov r8, r8) - -0800dc7c <_ZN4Brak21positionFeuHautTorcheEv>: -#ifndef ROBOTHW - qDebug() << "bracquemart position haute"; -#endif -} - -void Brak::positionFeuHautTorche() - 800dc7c: b580 push {r7, lr} - 800dc7e: b084 sub sp, #16 - 800dc80: af00 add r7, sp, #0 - 800dc82: 6078 str r0, [r7, #4] -{ -#ifdef ROBOTHW - for(int i = 0; i<10; i++) - 800dc84: f04f 0300 mov.w r3, #0 ; 0x0 - 800dc88: 60fb str r3, [r7, #12] - 800dc8a: e00d b.n 800dca8 <_ZN4Brak21positionFeuHautTorcheEv+0x2c> - ServosNumeriques::moveTo(POSITION_FEU_HAUT_TORCHE, MOTEUR_HAUT); - 800dc8c: 687b ldr r3, [r7, #4] - 800dc8e: 689b ldr r3, [r3, #8] - 800dc90: b29a uxth r2, r3 - 800dc92: 687b ldr r3, [r7, #4] - 800dc94: 6a9b ldr r3, [r3, #40] - 800dc96: b2db uxtb r3, r3 - 800dc98: 4610 mov r0, r2 - 800dc9a: 4619 mov r1, r3 - 800dc9c: f009 fa0e bl 80170bc <_ZN16ServosNumeriques6moveToEth> -} - -void Brak::positionFeuHautTorche() -{ -#ifdef ROBOTHW - for(int i = 0; i<10; i++) - 800dca0: 68fb ldr r3, [r7, #12] - 800dca2: f103 0301 add.w r3, r3, #1 ; 0x1 - 800dca6: 60fb str r3, [r7, #12] - 800dca8: 68fb ldr r3, [r7, #12] - 800dcaa: 2b09 cmp r3, #9 - 800dcac: ddee ble.n 800dc8c <_ZN4Brak21positionFeuHautTorcheEv+0x10> - ServosNumeriques::moveTo(POSITION_FEU_HAUT_TORCHE, MOTEUR_HAUT); -#endif -#ifndef ROBOTHW - qDebug() << "bracquemart position feu en haut de torche"; -#endif -} - 800dcae: f107 0710 add.w r7, r7, #16 ; 0x10 - 800dcb2: 46bd mov sp, r7 - 800dcb4: bd80 pop {r7, pc} - 800dcb6: 46c0 nop (mov r8, r8) - -0800dcb8 <_ZN4Brak13positionHauteEv>: -#ifndef ROBOTHW - qDebug() << "bracquemart position intermediaire"; -#endif -} - -void Brak::positionHaute() - 800dcb8: b580 push {r7, lr} - 800dcba: b084 sub sp, #16 - 800dcbc: af00 add r7, sp, #0 - 800dcbe: 6078 str r0, [r7, #4] -{ -#ifdef ROBOTHW - for(int i = 0; i<10; i++) - 800dcc0: f04f 0300 mov.w r3, #0 ; 0x0 - 800dcc4: 60fb str r3, [r7, #12] - 800dcc6: e00d b.n 800dce4 <_ZN4Brak13positionHauteEv+0x2c> - ServosNumeriques::moveTo(POSITION_RANGE, MOTEUR_HAUT); - 800dcc8: 687b ldr r3, [r7, #4] - 800dcca: 681b ldr r3, [r3, #0] - 800dccc: b29a uxth r2, r3 - 800dcce: 687b ldr r3, [r7, #4] - 800dcd0: 6a9b ldr r3, [r3, #40] - 800dcd2: b2db uxtb r3, r3 - 800dcd4: 4610 mov r0, r2 - 800dcd6: 4619 mov r1, r3 - 800dcd8: f009 f9f0 bl 80170bc <_ZN16ServosNumeriques6moveToEth> -} - -void Brak::positionHaute() -{ -#ifdef ROBOTHW - for(int i = 0; i<10; i++) - 800dcdc: 68fb ldr r3, [r7, #12] - 800dcde: f103 0301 add.w r3, r3, #1 ; 0x1 - 800dce2: 60fb str r3, [r7, #12] - 800dce4: 68fb ldr r3, [r7, #12] - 800dce6: 2b09 cmp r3, #9 - 800dce8: ddee ble.n 800dcc8 <_ZN4Brak13positionHauteEv+0x10> - ServosNumeriques::moveTo(POSITION_RANGE, MOTEUR_HAUT); -#endif -#ifndef ROBOTHW - qDebug() << "bracquemart position haute"; -#endif -} - 800dcea: f107 0710 add.w r7, r7, #16 ; 0x10 - 800dcee: 46bd mov sp, r7 - 800dcf0: bd80 pop {r7, pc} - 800dcf2: 46c0 nop (mov r8, r8) - -0800dcf4 <_ZN4Brak21positionIntermediaireEv>: -#ifndef ROBOTHW - qDebug() << "bracquemart position basse"; -#endif -} - -void Brak::positionIntermediaire() - 800dcf4: b580 push {r7, lr} - 800dcf6: b084 sub sp, #16 - 800dcf8: af00 add r7, sp, #0 - 800dcfa: 6078 str r0, [r7, #4] -{ -#ifdef ROBOTHW - for(int i = 0; i<10; i++) - 800dcfc: f04f 0300 mov.w r3, #0 ; 0x0 - 800dd00: 60fb str r3, [r7, #12] - 800dd02: e00d b.n 800dd20 <_ZN4Brak21positionIntermediaireEv+0x2c> - ServosNumeriques::moveTo(Brak::POSITION_INTERMEDIAIRE, MOTEUR_HAUT); - 800dd04: 687b ldr r3, [r7, #4] - 800dd06: 685b ldr r3, [r3, #4] - 800dd08: b29a uxth r2, r3 - 800dd0a: 687b ldr r3, [r7, #4] - 800dd0c: 6a9b ldr r3, [r3, #40] - 800dd0e: b2db uxtb r3, r3 - 800dd10: 4610 mov r0, r2 - 800dd12: 4619 mov r1, r3 - 800dd14: f009 f9d2 bl 80170bc <_ZN16ServosNumeriques6moveToEth> -} - -void Brak::positionIntermediaire() -{ -#ifdef ROBOTHW - for(int i = 0; i<10; i++) - 800dd18: 68fb ldr r3, [r7, #12] - 800dd1a: f103 0301 add.w r3, r3, #1 ; 0x1 - 800dd1e: 60fb str r3, [r7, #12] - 800dd20: 68fb ldr r3, [r7, #12] - 800dd22: 2b09 cmp r3, #9 - 800dd24: ddee ble.n 800dd04 <_ZN4Brak21positionIntermediaireEv+0x10> - ServosNumeriques::moveTo(Brak::POSITION_INTERMEDIAIRE, MOTEUR_HAUT); -#endif -#ifndef ROBOTHW - qDebug() << "bracquemart position intermediaire"; -#endif -} - 800dd26: f107 0710 add.w r7, r7, #16 ; 0x10 - 800dd2a: 46bd mov sp, r7 - 800dd2c: bd80 pop {r7, pc} - 800dd2e: 46c0 nop (mov r8, r8) - -0800dd30 <_ZN4Brak13positionBasseEv>: - ServosNumeriques::setTorqueLimite(0x03ff, MOTEUR_HAUT); - ServosNumeriques::setTorqueLimite(0x03ff, MOTEUR_BAS); -#endif -} - -void Brak::positionBasse() - 800dd30: b580 push {r7, lr} - 800dd32: b084 sub sp, #16 - 800dd34: af00 add r7, sp, #0 - 800dd36: 6078 str r0, [r7, #4] -{ -#ifdef ROBOTHW - for(int i = 0; i<10; i++) - 800dd38: f04f 0300 mov.w r3, #0 ; 0x0 - 800dd3c: 60fb str r3, [r7, #12] - 800dd3e: e00d b.n 800dd5c <_ZN4Brak13positionBasseEv+0x2c> - ServosNumeriques::moveTo(POSITION_FEU_TABLE, MOTEUR_HAUT); - 800dd40: 687b ldr r3, [r7, #4] - 800dd42: 695b ldr r3, [r3, #20] - 800dd44: b29a uxth r2, r3 - 800dd46: 687b ldr r3, [r7, #4] - 800dd48: 6a9b ldr r3, [r3, #40] - 800dd4a: b2db uxtb r3, r3 - 800dd4c: 4610 mov r0, r2 - 800dd4e: 4619 mov r1, r3 - 800dd50: f009 f9b4 bl 80170bc <_ZN16ServosNumeriques6moveToEth> -} - -void Brak::positionBasse() -{ -#ifdef ROBOTHW - for(int i = 0; i<10; i++) - 800dd54: 68fb ldr r3, [r7, #12] - 800dd56: f103 0301 add.w r3, r3, #1 ; 0x1 - 800dd5a: 60fb str r3, [r7, #12] - 800dd5c: 68fb ldr r3, [r7, #12] - 800dd5e: 2b09 cmp r3, #9 - 800dd60: ddee ble.n 800dd40 <_ZN4Brak13positionBasseEv+0x10> - ServosNumeriques::moveTo(POSITION_FEU_TABLE, MOTEUR_HAUT); -#endif -#ifndef ROBOTHW - qDebug() << "bracquemart position basse"; -#endif -} - 800dd62: f107 0710 add.w r7, r7, #16 ; 0x10 - 800dd66: 46bd mov sp, r7 - 800dd68: bd80 pop {r7, pc} - 800dd6a: 46c0 nop (mov r8, r8) - -0800dd6c <_ZN4Brak11relacherFeuEv>: -#ifndef ROBOTHW - qDebug() << "attrapage de feu"; -#endif -} - -void Brak::relacherFeu() - 800dd6c: b580 push {r7, lr} - 800dd6e: b082 sub sp, #8 - 800dd70: af00 add r7, sp, #0 - 800dd72: 6078 str r0, [r7, #4] -{ - #ifdef ROBOTHW - GPIO_WriteBit(GPIOD, GPIO_Pin_14, Bit_RESET); //désactivation de la pompe à vide - 800dd74: 4805 ldr r0, [pc, #20] (800dd8c <_ZN4Brak11relacherFeuEv+0x20>) - 800dd76: f44f 4180 mov.w r1, #16384 ; 0x4000 - 800dd7a: f04f 0200 mov.w r2, #0 ; 0x0 - 800dd7e: f7fc f845 bl 8009e0c - #endif -#ifndef ROBOTHW - qDebug() << "relachage de feu"; -#endif -} - 800dd82: f107 0708 add.w r7, r7, #8 ; 0x8 - 800dd86: 46bd mov sp, r7 - 800dd88: bd80 pop {r7, pc} - 800dd8a: 46c0 nop (mov r8, r8) - 800dd8c: 40020c00 .word 0x40020c00 - -0800dd90 <_ZN4Brak11attraperFeuEv>: -#ifndef ROBOTHW - qDebug() << "bracquemart en position basse et retourné"; -#endif -} - -void Brak::attraperFeu() - 800dd90: b580 push {r7, lr} - 800dd92: b082 sub sp, #8 - 800dd94: af00 add r7, sp, #0 - 800dd96: 6078 str r0, [r7, #4] -{ - #ifdef ROBOTHW - GPIO_WriteBit(GPIOD, GPIO_Pin_14, Bit_SET); //activation de la pompe à vide - 800dd98: 4805 ldr r0, [pc, #20] (800ddb0 <_ZN4Brak11attraperFeuEv+0x20>) - 800dd9a: f44f 4180 mov.w r1, #16384 ; 0x4000 - 800dd9e: f04f 0201 mov.w r2, #1 ; 0x1 - 800dda2: f7fc f833 bl 8009e0c - #endif -#ifndef ROBOTHW - qDebug() << "attrapage de feu"; -#endif -} - 800dda6: f107 0708 add.w r7, r7, #8 ; 0x8 - 800ddaa: 46bd mov sp, r7 - 800ddac: bd80 pop {r7, pc} - 800ddae: 46c0 nop (mov r8, r8) - 800ddb0: 40020c00 .word 0x40020c00 - -0800ddb4 <_ZN4BrakC1Ev>: - } - - return singleton; -} - -Brak::Brak() - 800ddb4: b580 push {r7, lr} - 800ddb6: b082 sub sp, #8 - 800ddb8: af00 add r7, sp, #0 - 800ddba: 6078 str r0, [r7, #4] -{ - POSITION_RANGE = 0x0100; - 800ddbc: 687a ldr r2, [r7, #4] - 800ddbe: f44f 7380 mov.w r3, #256 ; 0x100 - 800ddc2: 6013 str r3, [r2, #0] - POSITION_INTERMEDIAIRE = 0x01a0; - 800ddc4: 687a ldr r2, [r7, #4] - 800ddc6: f44f 73d0 mov.w r3, #416 ; 0x1a0 - 800ddca: 6053 str r3, [r2, #4] - POSITION_FEU_HAUT_TORCHE = 0x0215; - 800ddcc: 687a ldr r2, [r7, #4] - 800ddce: f240 2315 movw r3, #533 ; 0x215 - 800ddd2: 6093 str r3, [r2, #8] - POSITION_FEU_MILIEU_TORCHE = 0x0230; - 800ddd4: 687a ldr r2, [r7, #4] - 800ddd6: f44f 730c mov.w r3, #560 ; 0x230 - 800ddda: 60d3 str r3, [r2, #12] - POSITION_FEU_BAS_TORCHE = 0x025a; - 800dddc: 687a ldr r2, [r7, #4] - 800ddde: f240 235a movw r3, #602 ; 0x25a - 800dde2: 6113 str r3, [r2, #16] - POSITION_FEU_TABLE = 0x0280; - 800dde4: 687a ldr r2, [r7, #4] - 800dde6: f44f 7320 mov.w r3, #640 ; 0x280 - 800ddea: 6153 str r3, [r2, #20] - POSITION_RETOURNEE = 0x00d0; - 800ddec: 687a ldr r2, [r7, #4] - 800ddee: f04f 03d0 mov.w r3, #208 ; 0xd0 - 800ddf2: 6193 str r3, [r2, #24] - - VENTOUSE_VERS_BAS = 0x0110; - 800ddf4: 687a ldr r2, [r7, #4] - 800ddf6: f44f 7388 mov.w r3, #272 ; 0x110 - 800ddfa: 61d3 str r3, [r2, #28] - VENTOUSE_VERS_HAUT = 0x0310; - 800ddfc: 687a ldr r2, [r7, #4] - 800ddfe: f44f 7344 mov.w r3, #784 ; 0x310 - 800de02: 6213 str r3, [r2, #32] - - MOTEUR_BAS = 10; - 800de04: 687a ldr r2, [r7, #4] - 800de06: f04f 030a mov.w r3, #10 ; 0xa - 800de0a: 6253 str r3, [r2, #36] - MOTEUR_HAUT = 12; - 800de0c: 687a ldr r2, [r7, #4] - 800de0e: f04f 030c mov.w r3, #12 ; 0xc - 800de12: 6293 str r3, [r2, #40] -#ifdef ROBOTHW - ServosNumeriques::setTorqueLimite(0x03ff, MOTEUR_HAUT); - 800de14: 687b ldr r3, [r7, #4] - 800de16: 6a9b ldr r3, [r3, #40] - 800de18: b2db uxtb r3, r3 - 800de1a: f240 30ff movw r0, #1023 ; 0x3ff - 800de1e: 4619 mov r1, r3 - 800de20: f009 f82c bl 8016e7c <_ZN16ServosNumeriques15setTorqueLimiteEth> - ServosNumeriques::setTorqueLimite(0x03ff, MOTEUR_BAS); - 800de24: 687b ldr r3, [r7, #4] - 800de26: 6a5b ldr r3, [r3, #36] - 800de28: b2db uxtb r3, r3 - 800de2a: f240 30ff movw r0, #1023 ; 0x3ff - 800de2e: 4619 mov r1, r3 - 800de30: f009 f824 bl 8016e7c <_ZN16ServosNumeriques15setTorqueLimiteEth> -#endif -} - 800de34: 687b ldr r3, [r7, #4] - 800de36: 4618 mov r0, r3 - 800de38: f107 0708 add.w r7, r7, #8 ; 0x8 - 800de3c: 46bd mov sp, r7 - 800de3e: bd80 pop {r7, pc} - -0800de40 <_ZN4BrakC2Ev>: - } - - return singleton; -} - -Brak::Brak() - 800de40: b580 push {r7, lr} - 800de42: b082 sub sp, #8 - 800de44: af00 add r7, sp, #0 - 800de46: 6078 str r0, [r7, #4] -{ - POSITION_RANGE = 0x0100; - 800de48: 687a ldr r2, [r7, #4] - 800de4a: f44f 7380 mov.w r3, #256 ; 0x100 - 800de4e: 6013 str r3, [r2, #0] - POSITION_INTERMEDIAIRE = 0x01a0; - 800de50: 687a ldr r2, [r7, #4] - 800de52: f44f 73d0 mov.w r3, #416 ; 0x1a0 - 800de56: 6053 str r3, [r2, #4] - POSITION_FEU_HAUT_TORCHE = 0x0215; - 800de58: 687a ldr r2, [r7, #4] - 800de5a: f240 2315 movw r3, #533 ; 0x215 - 800de5e: 6093 str r3, [r2, #8] - POSITION_FEU_MILIEU_TORCHE = 0x0230; - 800de60: 687a ldr r2, [r7, #4] - 800de62: f44f 730c mov.w r3, #560 ; 0x230 - 800de66: 60d3 str r3, [r2, #12] - POSITION_FEU_BAS_TORCHE = 0x025a; - 800de68: 687a ldr r2, [r7, #4] - 800de6a: f240 235a movw r3, #602 ; 0x25a - 800de6e: 6113 str r3, [r2, #16] - POSITION_FEU_TABLE = 0x0280; - 800de70: 687a ldr r2, [r7, #4] - 800de72: f44f 7320 mov.w r3, #640 ; 0x280 - 800de76: 6153 str r3, [r2, #20] - POSITION_RETOURNEE = 0x00d0; - 800de78: 687a ldr r2, [r7, #4] - 800de7a: f04f 03d0 mov.w r3, #208 ; 0xd0 - 800de7e: 6193 str r3, [r2, #24] - - VENTOUSE_VERS_BAS = 0x0110; - 800de80: 687a ldr r2, [r7, #4] - 800de82: f44f 7388 mov.w r3, #272 ; 0x110 - 800de86: 61d3 str r3, [r2, #28] - VENTOUSE_VERS_HAUT = 0x0310; - 800de88: 687a ldr r2, [r7, #4] - 800de8a: f44f 7344 mov.w r3, #784 ; 0x310 - 800de8e: 6213 str r3, [r2, #32] - - MOTEUR_BAS = 10; - 800de90: 687a ldr r2, [r7, #4] - 800de92: f04f 030a mov.w r3, #10 ; 0xa - 800de96: 6253 str r3, [r2, #36] - MOTEUR_HAUT = 12; - 800de98: 687a ldr r2, [r7, #4] - 800de9a: f04f 030c mov.w r3, #12 ; 0xc - 800de9e: 6293 str r3, [r2, #40] -#ifdef ROBOTHW - ServosNumeriques::setTorqueLimite(0x03ff, MOTEUR_HAUT); - 800dea0: 687b ldr r3, [r7, #4] - 800dea2: 6a9b ldr r3, [r3, #40] - 800dea4: b2db uxtb r3, r3 - 800dea6: f240 30ff movw r0, #1023 ; 0x3ff - 800deaa: 4619 mov r1, r3 - 800deac: f008 ffe6 bl 8016e7c <_ZN16ServosNumeriques15setTorqueLimiteEth> - ServosNumeriques::setTorqueLimite(0x03ff, MOTEUR_BAS); - 800deb0: 687b ldr r3, [r7, #4] - 800deb2: 6a5b ldr r3, [r3, #36] - 800deb4: b2db uxtb r3, r3 - 800deb6: f240 30ff movw r0, #1023 ; 0x3ff - 800deba: 4619 mov r1, r3 - 800debc: f008 ffde bl 8016e7c <_ZN16ServosNumeriques15setTorqueLimiteEth> -#endif -} - 800dec0: 687b ldr r3, [r7, #4] - 800dec2: 4618 mov r0, r3 - 800dec4: f107 0708 add.w r7, r7, #8 ; 0x8 - 800dec8: 46bd mov sp, r7 - 800deca: bd80 pop {r7, pc} - -0800decc <_ZN4Brak12getSingletonEv>: -#include -#endif - -Brak* Brak::singleton = 0; - -Brak* Brak::getSingleton() - 800decc: b580 push {r7, lr} - 800dece: b082 sub sp, #8 - 800ded0: af00 add r7, sp, #0 -{ - if (singleton == 0) - 800ded2: 4b0f ldr r3, [pc, #60] (800df10 <_ZN4Brak12getSingletonEv+0x44>) - 800ded4: 681b ldr r3, [r3, #0] - 800ded6: 2b00 cmp r3, #0 - 800ded8: d113 bne.n 800df02 <_ZN4Brak12getSingletonEv+0x36> - { - singleton = new Brak; - 800deda: f04f 002c mov.w r0, #44 ; 0x2c - 800dede: f009 faef bl 80174c0 <_Znwj> - 800dee2: 4603 mov r3, r0 - 800dee4: 603b str r3, [r7, #0] - 800dee6: 683a ldr r2, [r7, #0] - 800dee8: 2a00 cmp r2, #0 - 800deea: d005 beq.n 800def8 <_ZN4Brak12getSingletonEv+0x2c> - 800deec: 6838 ldr r0, [r7, #0] - 800deee: f7ff ff61 bl 800ddb4 <_ZN4BrakC1Ev> - 800def2: 683b ldr r3, [r7, #0] - 800def4: 607b str r3, [r7, #4] - 800def6: e001 b.n 800defc <_ZN4Brak12getSingletonEv+0x30> - 800def8: 683a ldr r2, [r7, #0] - 800defa: 607a str r2, [r7, #4] - 800defc: 4b04 ldr r3, [pc, #16] (800df10 <_ZN4Brak12getSingletonEv+0x44>) - 800defe: 687a ldr r2, [r7, #4] - 800df00: 601a str r2, [r3, #0] - } - - return singleton; - 800df02: 4b03 ldr r3, [pc, #12] (800df10 <_ZN4Brak12getSingletonEv+0x44>) - 800df04: 681b ldr r3, [r3, #0] -} - 800df06: 4618 mov r0, r3 - 800df08: f107 0708 add.w r7, r7, #8 ; 0x8 - 800df0c: 46bd mov sp, r7 - 800df0e: bd80 pop {r7, pc} - 800df10: 2000055c .word 0x2000055c - -0800df14 <_ZN4BrasC2Ev>: - -Bras* Bras::bras = NULL; - -#ifdef ROBOTHW - -Bras::Bras() - 800df14: b480 push {r7} - 800df16: b083 sub sp, #12 - 800df18: af00 add r7, sp, #0 - 800df1a: 6078 str r0, [r7, #4] - 800df1c: 687a ldr r2, [r7, #4] - 800df1e: 4b06 ldr r3, [pc, #24] (800df38 <_ZN4BrasC2Ev+0x24>) - 800df20: 6013 str r3, [r2, #0] -{ - Bras::bras = this; - 800df22: 4a06 ldr r2, [pc, #24] (800df3c <_ZN4BrasC2Ev+0x28>) - 800df24: 687b ldr r3, [r7, #4] - 800df26: 6013 str r3, [r2, #0] - balaiDroite = new Servo(2); - balaiDroite->goToAngle(BALAI_D_CLOSED); - - rateau = new Servo(4); - rateau->goToAngle(RATEAU_HAUT);*/ -} - 800df28: 687b ldr r3, [r7, #4] - 800df2a: 4618 mov r0, r3 - 800df2c: f107 070c add.w r7, r7, #12 ; 0xc - 800df30: 46bd mov sp, r7 - 800df32: bc80 pop {r7} - 800df34: 4770 bx lr - 800df36: 46c0 nop (mov r8, r8) - 800df38: 08033d68 .word 0x08033d68 - 800df3c: 20000560 .word 0x20000560 - -0800df40 <_ZN4BrasC1Ev>: - -Bras* Bras::bras = NULL; - -#ifdef ROBOTHW - -Bras::Bras() - 800df40: b480 push {r7} - 800df42: b083 sub sp, #12 - 800df44: af00 add r7, sp, #0 - 800df46: 6078 str r0, [r7, #4] - 800df48: 687a ldr r2, [r7, #4] - 800df4a: 4b06 ldr r3, [pc, #24] (800df64 <_ZN4BrasC1Ev+0x24>) - 800df4c: 6013 str r3, [r2, #0] -{ - Bras::bras = this; - 800df4e: 4a06 ldr r2, [pc, #24] (800df68 <_ZN4BrasC1Ev+0x28>) - 800df50: 687b ldr r3, [r7, #4] - 800df52: 6013 str r3, [r2, #0] - balaiDroite = new Servo(2); - balaiDroite->goToAngle(BALAI_D_CLOSED); - - rateau = new Servo(4); - rateau->goToAngle(RATEAU_HAUT);*/ -} - 800df54: 687b ldr r3, [r7, #4] - 800df56: 4618 mov r0, r3 - 800df58: f107 070c add.w r7, r7, #12 ; 0xc - 800df5c: 46bd mov sp, r7 - 800df5e: bc80 pop {r7} - 800df60: 4770 bx lr - 800df62: 46c0 nop (mov r8, r8) - 800df64: 08033d68 .word 0x08033d68 - 800df68: 20000560 .word 0x20000560 - -0800df6c <_ZN4Bras7getBrasEv>: - -void Bras::arretUrgence(){} - -#endif // ROBOTHW - -Bras* Bras::getBras() - 800df6c: b480 push {r7} - 800df6e: af00 add r7, sp, #0 -{ - return Bras::bras; - 800df70: 4b02 ldr r3, [pc, #8] (800df7c <_ZN4Bras7getBrasEv+0x10>) - 800df72: 681b ldr r3, [r3, #0] -} - 800df74: 4618 mov r0, r3 - 800df76: 46bd mov sp, r7 - 800df78: bc80 pop {r7} - 800df7a: 4770 bx lr - 800df7c: 20000560 .word 0x20000560 - -0800df80 <_ZN4Bras12arretUrgenceEv>: -void Bras::monterRateau() -{ - rateau->goToAngle(RATEAU_HAUT); -} - -void Bras::arretUrgence() - 800df80: b580 push {r7, lr} - 800df82: b082 sub sp, #8 - 800df84: af00 add r7, sp, #0 - 800df86: 6078 str r0, [r7, #4] -{ - rateau->shutDownServo(); - 800df88: 687b ldr r3, [r7, #4] - 800df8a: 68db ldr r3, [r3, #12] - 800df8c: 4618 mov r0, r3 - 800df8e: f002 f967 bl 8010260 <_ZN5Servo13shutDownServoEv> - balaiDroite->shutDownServo(); - 800df92: 687b ldr r3, [r7, #4] - 800df94: 689b ldr r3, [r3, #8] - 800df96: 4618 mov r0, r3 - 800df98: f002 f962 bl 8010260 <_ZN5Servo13shutDownServoEv> - balaiGauche->shutDownServo(); - 800df9c: 687b ldr r3, [r7, #4] - 800df9e: 685b ldr r3, [r3, #4] - 800dfa0: 4618 mov r0, r3 - 800dfa2: f002 f95d bl 8010260 <_ZN5Servo13shutDownServoEv> -} - 800dfa6: f107 0708 add.w r7, r7, #8 ; 0x8 - 800dfaa: 46bd mov sp, r7 - 800dfac: bd80 pop {r7, pc} - 800dfae: 46c0 nop (mov r8, r8) - -0800dfb0 <_ZN4Bras10dropRateauEv>: -void Bras::descendreRateau() -{ - rateau->goToAngle(RATEAU_BAS); -} - -void Bras::dropRateau() - 800dfb0: b580 push {r7, lr} - 800dfb2: b082 sub sp, #8 - 800dfb4: af00 add r7, sp, #0 - 800dfb6: 6078 str r0, [r7, #4] -{ - rateau->shutDownServo(); - 800dfb8: 687b ldr r3, [r7, #4] - 800dfba: 68db ldr r3, [r3, #12] - 800dfbc: 4618 mov r0, r3 - 800dfbe: f002 f94f bl 8010260 <_ZN5Servo13shutDownServoEv> -} - 800dfc2: f107 0708 add.w r7, r7, #8 ; 0x8 - 800dfc6: 46bd mov sp, r7 - 800dfc8: bd80 pop {r7, pc} - 800dfca: 46c0 nop (mov r8, r8) - -0800dfcc <_ZN4Bras12monterRateauEv>: - -void Bras::monterRateau() - 800dfcc: b580 push {r7, lr} - 800dfce: b082 sub sp, #8 - 800dfd0: af00 add r7, sp, #0 - 800dfd2: 6078 str r0, [r7, #4] -{ - rateau->goToAngle(RATEAU_HAUT); - 800dfd4: 687b ldr r3, [r7, #4] - 800dfd6: 68db ldr r3, [r3, #12] - 800dfd8: 4618 mov r0, r3 - 800dfda: 4903 ldr r1, [pc, #12] (800dfe8 <_ZN4Bras12monterRateauEv+0x1c>) - 800dfdc: f002 f94e bl 801027c <_ZN5Servo9goToAngleEf> -} - 800dfe0: f107 0708 add.w r7, r7, #8 ; 0x8 - 800dfe4: 46bd mov sp, r7 - 800dfe6: bd80 pop {r7, pc} - 800dfe8: c3870000 .word 0xc3870000 - -0800dfec <_ZN4Bras15descendreRateauEv>: -{ - balaiDroite->goToAngle(BALAI_D_OPEN); - balaiGauche->goToAngle(BALAI_G_OPEN); -} - -void Bras::descendreRateau() - 800dfec: b580 push {r7, lr} - 800dfee: b082 sub sp, #8 - 800dff0: af00 add r7, sp, #0 - 800dff2: 6078 str r0, [r7, #4] -{ - rateau->goToAngle(RATEAU_BAS); - 800dff4: 687b ldr r3, [r7, #4] - 800dff6: 68db ldr r3, [r3, #12] - 800dff8: 4618 mov r0, r3 - 800dffa: 4903 ldr r1, [pc, #12] (800e008 <_ZN4Bras15descendreRateauEv+0x1c>) - 800dffc: f002 f93e bl 801027c <_ZN5Servo9goToAngleEf> -} - 800e000: f107 0708 add.w r7, r7, #8 ; 0x8 - 800e004: 46bd mov sp, r7 - 800e006: bd80 pop {r7, pc} - 800e008: c3340000 .word 0xc3340000 - -0800e00c <_ZN4Bras12ouvrirBalaisEv>: -{ - balaiDroite->goToAngle(BALAI_D_CLOSED); - balaiGauche->goToAngle(BALAI_G_CLOSED); -} - -void Bras::ouvrirBalais() - 800e00c: b580 push {r7, lr} - 800e00e: b082 sub sp, #8 - 800e010: af00 add r7, sp, #0 - 800e012: 6078 str r0, [r7, #4] -{ - balaiDroite->goToAngle(BALAI_D_OPEN); - 800e014: 687b ldr r3, [r7, #4] - 800e016: 689b ldr r3, [r3, #8] - 800e018: 4618 mov r0, r3 - 800e01a: 4906 ldr r1, [pc, #24] (800e034 <_ZN4Bras12ouvrirBalaisEv+0x28>) - 800e01c: f002 f92e bl 801027c <_ZN5Servo9goToAngleEf> - balaiGauche->goToAngle(BALAI_G_OPEN); - 800e020: 687b ldr r3, [r7, #4] - 800e022: 685b ldr r3, [r3, #4] - 800e024: 4618 mov r0, r3 - 800e026: 4904 ldr r1, [pc, #16] (800e038 <_ZN4Bras12ouvrirBalaisEv+0x2c>) - 800e028: f002 f928 bl 801027c <_ZN5Servo9goToAngleEf> -} - 800e02c: f107 0708 add.w r7, r7, #8 ; 0x8 - 800e030: 46bd mov sp, r7 - 800e032: bd80 pop {r7, pc} - 800e034: c3160000 .word 0xc3160000 - 800e038: 42dc0000 .word 0x42dc0000 - -0800e03c <_ZN4Bras12fermerBalaisEv>: -void Bras::fermerBalaiGauche() -{ - balaiGauche->goToAngle(BALAI_G_CLOSED); -} - -void Bras::fermerBalais() - 800e03c: b580 push {r7, lr} - 800e03e: b082 sub sp, #8 - 800e040: af00 add r7, sp, #0 - 800e042: 6078 str r0, [r7, #4] -{ - balaiDroite->goToAngle(BALAI_D_CLOSED); - 800e044: 687b ldr r3, [r7, #4] - 800e046: 689b ldr r3, [r3, #8] - 800e048: 4618 mov r0, r3 - 800e04a: 4906 ldr r1, [pc, #24] (800e064 <_ZN4Bras12fermerBalaisEv+0x28>) - 800e04c: f002 f916 bl 801027c <_ZN5Servo9goToAngleEf> - balaiGauche->goToAngle(BALAI_G_CLOSED); - 800e050: 687b ldr r3, [r7, #4] - 800e052: 685b ldr r3, [r3, #4] - 800e054: 4618 mov r0, r3 - 800e056: 4904 ldr r1, [pc, #16] (800e068 <_ZN4Bras12fermerBalaisEv+0x2c>) - 800e058: f002 f910 bl 801027c <_ZN5Servo9goToAngleEf> -} - 800e05c: f107 0708 add.w r7, r7, #8 ; 0x8 - 800e060: 46bd mov sp, r7 - 800e062: bd80 pop {r7, pc} - 800e064: 42dc0000 .word 0x42dc0000 - 800e068: c3160000 .word 0xc3160000 - -0800e06c <_ZN4Bras17fermerBalaiGaucheEv>: -void Bras::fermerBalaiDroit() -{ - balaiDroite->goToAngle(BALAI_D_CLOSED); -} - -void Bras::fermerBalaiGauche() - 800e06c: b580 push {r7, lr} - 800e06e: b082 sub sp, #8 - 800e070: af00 add r7, sp, #0 - 800e072: 6078 str r0, [r7, #4] -{ - balaiGauche->goToAngle(BALAI_G_CLOSED); - 800e074: 687b ldr r3, [r7, #4] - 800e076: 685b ldr r3, [r3, #4] - 800e078: 4618 mov r0, r3 - 800e07a: 4903 ldr r1, [pc, #12] (800e088 <_ZN4Bras17fermerBalaiGaucheEv+0x1c>) - 800e07c: f002 f8fe bl 801027c <_ZN5Servo9goToAngleEf> -} - 800e080: f107 0708 add.w r7, r7, #8 ; 0x8 - 800e084: 46bd mov sp, r7 - 800e086: bd80 pop {r7, pc} - 800e088: c3160000 .word 0xc3160000 - -0800e08c <_ZN4Bras16fermerBalaiDroitEv>: -void Bras::ouvrirBalaiGauche() -{ - balaiGauche->goToAngle(BALAI_G_OPEN); -} - -void Bras::fermerBalaiDroit() - 800e08c: b580 push {r7, lr} - 800e08e: b082 sub sp, #8 - 800e090: af00 add r7, sp, #0 - 800e092: 6078 str r0, [r7, #4] -{ - balaiDroite->goToAngle(BALAI_D_CLOSED); - 800e094: 687b ldr r3, [r7, #4] - 800e096: 689b ldr r3, [r3, #8] - 800e098: 4618 mov r0, r3 - 800e09a: 4903 ldr r1, [pc, #12] (800e0a8 <_ZN4Bras16fermerBalaiDroitEv+0x1c>) - 800e09c: f002 f8ee bl 801027c <_ZN5Servo9goToAngleEf> -} - 800e0a0: f107 0708 add.w r7, r7, #8 ; 0x8 - 800e0a4: 46bd mov sp, r7 - 800e0a6: bd80 pop {r7, pc} - 800e0a8: 42dc0000 .word 0x42dc0000 - -0800e0ac <_ZN4Bras17ouvrirBalaiGaucheEv>: -void Bras::ouvrirBalaiDroit() -{ - balaiDroite->goToAngle(BALAI_D_OPEN); -} - -void Bras::ouvrirBalaiGauche() - 800e0ac: b580 push {r7, lr} - 800e0ae: b082 sub sp, #8 - 800e0b0: af00 add r7, sp, #0 - 800e0b2: 6078 str r0, [r7, #4] -{ - balaiGauche->goToAngle(BALAI_G_OPEN); - 800e0b4: 687b ldr r3, [r7, #4] - 800e0b6: 685b ldr r3, [r3, #4] - 800e0b8: 4618 mov r0, r3 - 800e0ba: 4903 ldr r1, [pc, #12] (800e0c8 <_ZN4Bras17ouvrirBalaiGaucheEv+0x1c>) - 800e0bc: f002 f8de bl 801027c <_ZN5Servo9goToAngleEf> -} - 800e0c0: f107 0708 add.w r7, r7, #8 ; 0x8 - 800e0c4: 46bd mov sp, r7 - 800e0c6: bd80 pop {r7, pc} - 800e0c8: 42dc0000 .word 0x42dc0000 - -0800e0cc <_ZN4Bras16ouvrirBalaiDroitEv>: - delete balaiDroite; - delete balaiGauche; - delete rateau; -} - -void Bras::ouvrirBalaiDroit() - 800e0cc: b580 push {r7, lr} - 800e0ce: b082 sub sp, #8 - 800e0d0: af00 add r7, sp, #0 - 800e0d2: 6078 str r0, [r7, #4] -{ - balaiDroite->goToAngle(BALAI_D_OPEN); - 800e0d4: 687b ldr r3, [r7, #4] - 800e0d6: 689b ldr r3, [r3, #8] - 800e0d8: 4618 mov r0, r3 - 800e0da: 4903 ldr r1, [pc, #12] (800e0e8 <_ZN4Bras16ouvrirBalaiDroitEv+0x1c>) - 800e0dc: f002 f8ce bl 801027c <_ZN5Servo9goToAngleEf> -} - 800e0e0: f107 0708 add.w r7, r7, #8 ; 0x8 - 800e0e4: 46bd mov sp, r7 - 800e0e6: bd80 pop {r7, pc} - 800e0e8: c3160000 .word 0xc3160000 - -0800e0ec <_ZN4BrasD0Ev>: - - rateau = new Servo(4); - rateau->goToAngle(RATEAU_HAUT);*/ -} - -Bras::~Bras() - 800e0ec: b580 push {r7, lr} - 800e0ee: b084 sub sp, #16 - 800e0f0: af00 add r7, sp, #0 - 800e0f2: 60f8 str r0, [r7, #12] - 800e0f4: 68fb ldr r3, [r7, #12] - 800e0f6: 4a1a ldr r2, [pc, #104] (800e160 <_ZN4BrasD0Ev+0x74>) - 800e0f8: 601a str r2, [r3, #0] -{ - delete balaiDroite; - 800e0fa: 68fb ldr r3, [r7, #12] - 800e0fc: 689b ldr r3, [r3, #8] - 800e0fe: 603b str r3, [r7, #0] - 800e100: 683b ldr r3, [r7, #0] - 800e102: 2b00 cmp r3, #0 - 800e104: d005 beq.n 800e112 <_ZN4BrasD0Ev+0x26> - 800e106: 6838 ldr r0, [r7, #0] - 800e108: f002 f908 bl 801031c <_ZN5ServoD1Ev> - 800e10c: 6838 ldr r0, [r7, #0] - 800e10e: f009 fa7d bl 801760c <_ZdlPv> - delete balaiGauche; - 800e112: 68fb ldr r3, [r7, #12] - 800e114: 685b ldr r3, [r3, #4] - 800e116: 607b str r3, [r7, #4] - 800e118: 687b ldr r3, [r7, #4] - 800e11a: 2b00 cmp r3, #0 - 800e11c: d005 beq.n 800e12a <_ZN4BrasD0Ev+0x3e> - 800e11e: 6878 ldr r0, [r7, #4] - 800e120: f002 f8fc bl 801031c <_ZN5ServoD1Ev> - 800e124: 6878 ldr r0, [r7, #4] - 800e126: f009 fa71 bl 801760c <_ZdlPv> - delete rateau; - 800e12a: 68fb ldr r3, [r7, #12] - 800e12c: 68db ldr r3, [r3, #12] - 800e12e: 60bb str r3, [r7, #8] - 800e130: 68bb ldr r3, [r7, #8] - 800e132: 2b00 cmp r3, #0 - 800e134: d005 beq.n 800e142 <_ZN4BrasD0Ev+0x56> - 800e136: 68b8 ldr r0, [r7, #8] - 800e138: f002 f8f0 bl 801031c <_ZN5ServoD1Ev> - 800e13c: 68b8 ldr r0, [r7, #8] - 800e13e: f009 fa65 bl 801760c <_ZdlPv> -} - 800e142: f04f 0301 mov.w r3, #1 ; 0x1 - 800e146: b2db uxtb r3, r3 - 800e148: 2b00 cmp r3, #0 - 800e14a: d002 beq.n 800e152 <_ZN4BrasD0Ev+0x66> - 800e14c: 68f8 ldr r0, [r7, #12] - 800e14e: f009 fa5d bl 801760c <_ZdlPv> - 800e152: 68fb ldr r3, [r7, #12] - 800e154: 4618 mov r0, r3 - 800e156: f107 0710 add.w r7, r7, #16 ; 0x10 - 800e15a: 46bd mov sp, r7 - 800e15c: bd80 pop {r7, pc} - 800e15e: 46c0 nop (mov r8, r8) - 800e160: 08033d68 .word 0x08033d68 - -0800e164 <_ZN4BrasD1Ev>: - - rateau = new Servo(4); - rateau->goToAngle(RATEAU_HAUT);*/ -} - -Bras::~Bras() - 800e164: b580 push {r7, lr} - 800e166: b084 sub sp, #16 - 800e168: af00 add r7, sp, #0 - 800e16a: 60f8 str r0, [r7, #12] - 800e16c: 68fb ldr r3, [r7, #12] - 800e16e: 4a1a ldr r2, [pc, #104] (800e1d8 <_ZN4BrasD1Ev+0x74>) - 800e170: 601a str r2, [r3, #0] -{ - delete balaiDroite; - 800e172: 68fb ldr r3, [r7, #12] - 800e174: 689b ldr r3, [r3, #8] - 800e176: 603b str r3, [r7, #0] - 800e178: 683b ldr r3, [r7, #0] - 800e17a: 2b00 cmp r3, #0 - 800e17c: d005 beq.n 800e18a <_ZN4BrasD1Ev+0x26> - 800e17e: 6838 ldr r0, [r7, #0] - 800e180: f002 f8cc bl 801031c <_ZN5ServoD1Ev> - 800e184: 6838 ldr r0, [r7, #0] - 800e186: f009 fa41 bl 801760c <_ZdlPv> - delete balaiGauche; - 800e18a: 68fb ldr r3, [r7, #12] - 800e18c: 685b ldr r3, [r3, #4] - 800e18e: 607b str r3, [r7, #4] - 800e190: 687b ldr r3, [r7, #4] - 800e192: 2b00 cmp r3, #0 - 800e194: d005 beq.n 800e1a2 <_ZN4BrasD1Ev+0x3e> - 800e196: 6878 ldr r0, [r7, #4] - 800e198: f002 f8c0 bl 801031c <_ZN5ServoD1Ev> - 800e19c: 6878 ldr r0, [r7, #4] - 800e19e: f009 fa35 bl 801760c <_ZdlPv> - delete rateau; - 800e1a2: 68fb ldr r3, [r7, #12] - 800e1a4: 68db ldr r3, [r3, #12] - 800e1a6: 60bb str r3, [r7, #8] - 800e1a8: 68bb ldr r3, [r7, #8] - 800e1aa: 2b00 cmp r3, #0 - 800e1ac: d005 beq.n 800e1ba <_ZN4BrasD1Ev+0x56> - 800e1ae: 68b8 ldr r0, [r7, #8] - 800e1b0: f002 f8b4 bl 801031c <_ZN5ServoD1Ev> - 800e1b4: 68b8 ldr r0, [r7, #8] - 800e1b6: f009 fa29 bl 801760c <_ZdlPv> -} - 800e1ba: f04f 0300 mov.w r3, #0 ; 0x0 - 800e1be: b2db uxtb r3, r3 - 800e1c0: 2b00 cmp r3, #0 - 800e1c2: d002 beq.n 800e1ca <_ZN4BrasD1Ev+0x66> - 800e1c4: 68f8 ldr r0, [r7, #12] - 800e1c6: f009 fa21 bl 801760c <_ZdlPv> - 800e1ca: 68fb ldr r3, [r7, #12] - 800e1cc: 4618 mov r0, r3 - 800e1ce: f107 0710 add.w r7, r7, #16 ; 0x10 - 800e1d2: 46bd mov sp, r7 - 800e1d4: bd80 pop {r7, pc} - 800e1d6: 46c0 nop (mov r8, r8) - 800e1d8: 08033d68 .word 0x08033d68 - -0800e1dc <_ZN4BrasD2Ev>: - - rateau = new Servo(4); - rateau->goToAngle(RATEAU_HAUT);*/ -} - -Bras::~Bras() - 800e1dc: b580 push {r7, lr} - 800e1de: b084 sub sp, #16 - 800e1e0: af00 add r7, sp, #0 - 800e1e2: 60f8 str r0, [r7, #12] - 800e1e4: 68fb ldr r3, [r7, #12] - 800e1e6: 4a1a ldr r2, [pc, #104] (800e250 <_ZN4BrasD2Ev+0x74>) - 800e1e8: 601a str r2, [r3, #0] -{ - delete balaiDroite; - 800e1ea: 68fb ldr r3, [r7, #12] - 800e1ec: 689b ldr r3, [r3, #8] - 800e1ee: 603b str r3, [r7, #0] - 800e1f0: 683b ldr r3, [r7, #0] - 800e1f2: 2b00 cmp r3, #0 - 800e1f4: d005 beq.n 800e202 <_ZN4BrasD2Ev+0x26> - 800e1f6: 6838 ldr r0, [r7, #0] - 800e1f8: f002 f890 bl 801031c <_ZN5ServoD1Ev> - 800e1fc: 6838 ldr r0, [r7, #0] - 800e1fe: f009 fa05 bl 801760c <_ZdlPv> - delete balaiGauche; - 800e202: 68fb ldr r3, [r7, #12] - 800e204: 685b ldr r3, [r3, #4] - 800e206: 607b str r3, [r7, #4] - 800e208: 687b ldr r3, [r7, #4] - 800e20a: 2b00 cmp r3, #0 - 800e20c: d005 beq.n 800e21a <_ZN4BrasD2Ev+0x3e> - 800e20e: 6878 ldr r0, [r7, #4] - 800e210: f002 f884 bl 801031c <_ZN5ServoD1Ev> - 800e214: 6878 ldr r0, [r7, #4] - 800e216: f009 f9f9 bl 801760c <_ZdlPv> - delete rateau; - 800e21a: 68fb ldr r3, [r7, #12] - 800e21c: 68db ldr r3, [r3, #12] - 800e21e: 60bb str r3, [r7, #8] - 800e220: 68bb ldr r3, [r7, #8] - 800e222: 2b00 cmp r3, #0 - 800e224: d005 beq.n 800e232 <_ZN4BrasD2Ev+0x56> - 800e226: 68b8 ldr r0, [r7, #8] - 800e228: f002 f878 bl 801031c <_ZN5ServoD1Ev> - 800e22c: 68b8 ldr r0, [r7, #8] - 800e22e: f009 f9ed bl 801760c <_ZdlPv> -} - 800e232: f04f 0300 mov.w r3, #0 ; 0x0 - 800e236: b2db uxtb r3, r3 - 800e238: 2b00 cmp r3, #0 - 800e23a: d002 beq.n 800e242 <_ZN4BrasD2Ev+0x66> - 800e23c: 68f8 ldr r0, [r7, #12] - 800e23e: f009 f9e5 bl 801760c <_ZdlPv> - 800e242: 68fb ldr r3, [r7, #12] - 800e244: 4618 mov r0, r3 - 800e246: f107 0710 add.w r7, r7, #16 ; 0x10 - 800e24a: 46bd mov sp, r7 - 800e24c: bd80 pop {r7, pc} - 800e24e: 46c0 nop (mov r8, r8) - 800e250: 08033d68 .word 0x08033d68 - -0800e254 <_ZN11BrasLateral5frontEv>: - void BrasLateral::collapse() - { - servo->goToAngle(angleCollapsed); - } - - void BrasLateral::front() - 800e254: b580 push {r7, lr} - 800e256: b082 sub sp, #8 - 800e258: af00 add r7, sp, #0 - 800e25a: 6078 str r0, [r7, #4] - { - servo->goToAngle(angleFront); - 800e25c: 687b ldr r3, [r7, #4] - 800e25e: 681a ldr r2, [r3, #0] - 800e260: 687b ldr r3, [r7, #4] - 800e262: 68db ldr r3, [r3, #12] - 800e264: 4610 mov r0, r2 - 800e266: 4619 mov r1, r3 - 800e268: f002 f808 bl 801027c <_ZN5Servo9goToAngleEf> - } - 800e26c: f107 0708 add.w r7, r7, #8 ; 0x8 - 800e270: 46bd mov sp, r7 - 800e272: bd80 pop {r7, pc} - -0800e274 <_ZN11BrasLateral8collapseEv>: - void BrasLateral::expand() - { - servo->goToAngle(angleExpanded); - } - - void BrasLateral::collapse() - 800e274: b580 push {r7, lr} - 800e276: b082 sub sp, #8 - 800e278: af00 add r7, sp, #0 - 800e27a: 6078 str r0, [r7, #4] - { - servo->goToAngle(angleCollapsed); - 800e27c: 687b ldr r3, [r7, #4] - 800e27e: 681a ldr r2, [r3, #0] - 800e280: 687b ldr r3, [r7, #4] - 800e282: 685b ldr r3, [r3, #4] - 800e284: 4610 mov r0, r2 - 800e286: 4619 mov r1, r3 - 800e288: f001 fff8 bl 801027c <_ZN5Servo9goToAngleEf> - } - 800e28c: f107 0708 add.w r7, r7, #8 ; 0x8 - 800e290: 46bd mov sp, r7 - 800e292: bd80 pop {r7, pc} - -0800e294 <_ZN11BrasLateral6expandEv>: - : angleCollapsed(angleCollapsed), angleExpanded(angleExpanded), angleFront(angleFront) - { - servo = new Servo(timer, OCx, RC0degre, RC180degres); - } - - void BrasLateral::expand() - 800e294: b580 push {r7, lr} - 800e296: b082 sub sp, #8 - 800e298: af00 add r7, sp, #0 - 800e29a: 6078 str r0, [r7, #4] - { - servo->goToAngle(angleExpanded); - 800e29c: 687b ldr r3, [r7, #4] - 800e29e: 681a ldr r2, [r3, #0] - 800e2a0: 687b ldr r3, [r7, #4] - 800e2a2: 689b ldr r3, [r3, #8] - 800e2a4: 4610 mov r0, r2 - 800e2a6: 4619 mov r1, r3 - 800e2a8: f001 ffe8 bl 801027c <_ZN5Servo9goToAngleEf> - } - 800e2ac: f107 0708 add.w r7, r7, #8 ; 0x8 - 800e2b0: 46bd mov sp, r7 - 800e2b2: bd80 pop {r7, pc} - -0800e2b4 <_ZN11BrasLateralC1EP5Timerhfffff>: -BrasLateral* BrasLateral::left = 0; -BrasLateral* BrasLateral::right = 0; - -#ifdef ROBOTHW - - BrasLateral::BrasLateral(Timer* timer, unsigned char OCx, float RC0degre, float RC180degres, float angleCollapsed, float angleExpanded, float angleFront) - 800e2b4: b580 push {r7, lr} - 800e2b6: b088 sub sp, #32 - 800e2b8: af02 add r7, sp, #8 - 800e2ba: 6178 str r0, [r7, #20] - 800e2bc: 6139 str r1, [r7, #16] - 800e2be: 60bb str r3, [r7, #8] - 800e2c0: 4613 mov r3, r2 - 800e2c2: 73fb strb r3, [r7, #15] - : angleCollapsed(angleCollapsed), angleExpanded(angleExpanded), angleFront(angleFront) - 800e2c4: 697a ldr r2, [r7, #20] - 800e2c6: 6a7b ldr r3, [r7, #36] - 800e2c8: 6053 str r3, [r2, #4] - 800e2ca: 697a ldr r2, [r7, #20] - 800e2cc: 6abb ldr r3, [r7, #40] - 800e2ce: 6093 str r3, [r2, #8] - 800e2d0: 697a ldr r2, [r7, #20] - 800e2d2: 6afb ldr r3, [r7, #44] - 800e2d4: 60d3 str r3, [r2, #12] - { - servo = new Servo(timer, OCx, RC0degre, RC180degres); - 800e2d6: f04f 0014 mov.w r0, #20 ; 0x14 - 800e2da: f009 f8f1 bl 80174c0 <_Znwj> - 800e2de: 4603 mov r3, r0 - 800e2e0: 603b str r3, [r7, #0] - 800e2e2: 683a ldr r2, [r7, #0] - 800e2e4: 2a00 cmp r2, #0 - 800e2e6: d00a beq.n 800e2fe <_ZN11BrasLateralC1EP5Timerhfffff+0x4a> - 800e2e8: 7bfa ldrb r2, [r7, #15] - 800e2ea: 6a3b ldr r3, [r7, #32] - 800e2ec: 9300 str r3, [sp, #0] - 800e2ee: 6838 ldr r0, [r7, #0] - 800e2f0: 6939 ldr r1, [r7, #16] - 800e2f2: 68bb ldr r3, [r7, #8] - 800e2f4: f002 f836 bl 8010364 <_ZN5ServoC1EP5Timerhff> - 800e2f8: 683b ldr r3, [r7, #0] - 800e2fa: 607b str r3, [r7, #4] - 800e2fc: e001 b.n 800e302 <_ZN11BrasLateralC1EP5Timerhfffff+0x4e> - 800e2fe: 683a ldr r2, [r7, #0] - 800e300: 607a str r2, [r7, #4] - 800e302: 697b ldr r3, [r7, #20] - 800e304: 687a ldr r2, [r7, #4] - 800e306: 601a str r2, [r3, #0] - } - 800e308: 697b ldr r3, [r7, #20] - 800e30a: 4618 mov r0, r3 - 800e30c: f107 0718 add.w r7, r7, #24 ; 0x18 - 800e310: 46bd mov sp, r7 - 800e312: bd80 pop {r7, pc} - -0800e314 <_ZN11BrasLateral16initBrasLaterauxEv>: - void BrasLateral::front() - { - servo->goToAngle(angleFront); - } - - void BrasLateral::initBrasLateraux() - 800e314: b580 push {r7, lr} - 800e316: b08c sub sp, #48 - 800e318: af04 add r7, sp, #16 - { - #if defined(STM32F40_41xxx) || defined(STM32F10X_MD) // Krabi Jr - STM32 H405 / STM32 H103 - Timer* timer = new Timer(TIM3, PERIOD_TIMER_SERVO, PRESCALER_TIMER_SERVO, CLOCK_TIMER_SERVO); - 800e31a: f04f 000c mov.w r0, #12 ; 0xc - 800e31e: f009 f8cf bl 80174c0 <_Znwj> - 800e322: 4603 mov r3, r0 - 800e324: 603b str r3, [r7, #0] - 800e326: 683a ldr r2, [r7, #0] - 800e328: 2a00 cmp r2, #0 - 800e32a: d00d beq.n 800e348 <_ZN11BrasLateral16initBrasLaterauxEv+0x34> - 800e32c: f04f 0300 mov.w r3, #0 ; 0x0 - 800e330: 9300 str r3, [sp, #0] - 800e332: 6838 ldr r0, [r7, #0] - 800e334: 4930 ldr r1, [pc, #192] (800e3f8 <_ZN11BrasLateral16initBrasLaterauxEv+0xe4>) - 800e336: f644 6220 movw r2, #20000 ; 0x4e20 - 800e33a: f04f 03a7 mov.w r3, #167 ; 0xa7 - 800e33e: f008 f8a7 bl 8016490 <_ZN5TimerC1EP11TIM_TypeDefttNS_11ClkDivisionE> - 800e342: 683b ldr r3, [r7, #0] - 800e344: 607b str r3, [r7, #4] - 800e346: e001 b.n 800e34c <_ZN11BrasLateral16initBrasLaterauxEv+0x38> - 800e348: 683a ldr r2, [r7, #0] - 800e34a: 607a str r2, [r7, #4] - 800e34c: 687b ldr r3, [r7, #4] - 800e34e: 61fb str r3, [r7, #28] - TIM_CtrlPWMOutputs(TIM3, ENABLE); - 800e350: 4829 ldr r0, [pc, #164] (800e3f8 <_ZN11BrasLateral16initBrasLaterauxEv+0xe4>) - 800e352: f04f 0101 mov.w r1, #1 ; 0x1 - 800e356: f7fe f86b bl 800c430 - - left = new BrasLateral(timer, 1, 0.01f, 0.11f, 87.f, 51.f, 15.f); - 800e35a: f04f 0010 mov.w r0, #16 ; 0x10 - 800e35e: f009 f8af bl 80174c0 <_Znwj> - 800e362: 4603 mov r3, r0 - 800e364: 60bb str r3, [r7, #8] - 800e366: 68ba ldr r2, [r7, #8] - 800e368: 2a00 cmp r2, #0 - 800e36a: d011 beq.n 800e390 <_ZN11BrasLateral16initBrasLaterauxEv+0x7c> - 800e36c: 4b23 ldr r3, [pc, #140] (800e3fc <_ZN11BrasLateral16initBrasLaterauxEv+0xe8>) - 800e36e: 9300 str r3, [sp, #0] - 800e370: 4b23 ldr r3, [pc, #140] (800e400 <_ZN11BrasLateral16initBrasLaterauxEv+0xec>) - 800e372: 9301 str r3, [sp, #4] - 800e374: 4b23 ldr r3, [pc, #140] (800e404 <_ZN11BrasLateral16initBrasLaterauxEv+0xf0>) - 800e376: 9302 str r3, [sp, #8] - 800e378: 4b23 ldr r3, [pc, #140] (800e408 <_ZN11BrasLateral16initBrasLaterauxEv+0xf4>) - 800e37a: 9303 str r3, [sp, #12] - 800e37c: 68b8 ldr r0, [r7, #8] - 800e37e: 69f9 ldr r1, [r7, #28] - 800e380: f04f 0201 mov.w r2, #1 ; 0x1 - 800e384: 4b21 ldr r3, [pc, #132] (800e40c <_ZN11BrasLateral16initBrasLaterauxEv+0xf8>) - 800e386: f7ff ff95 bl 800e2b4 <_ZN11BrasLateralC1EP5Timerhfffff> - 800e38a: 68bb ldr r3, [r7, #8] - 800e38c: 60fb str r3, [r7, #12] - 800e38e: e001 b.n 800e394 <_ZN11BrasLateral16initBrasLaterauxEv+0x80> - 800e390: 68ba ldr r2, [r7, #8] - 800e392: 60fa str r2, [r7, #12] - 800e394: 4b1e ldr r3, [pc, #120] (800e410 <_ZN11BrasLateral16initBrasLaterauxEv+0xfc>) - 800e396: 68fa ldr r2, [r7, #12] - 800e398: 601a str r2, [r3, #0] - right = new BrasLateral(timer, 3, 0.01f, 0.11f, 0.f, 40.f, 77.f); - 800e39a: f04f 0010 mov.w r0, #16 ; 0x10 - 800e39e: f009 f88f bl 80174c0 <_Znwj> - 800e3a2: 4603 mov r3, r0 - 800e3a4: 613b str r3, [r7, #16] - 800e3a6: 693b ldr r3, [r7, #16] - 800e3a8: 2b00 cmp r3, #0 - 800e3aa: d011 beq.n 800e3d0 <_ZN11BrasLateral16initBrasLaterauxEv+0xbc> - 800e3ac: 4b13 ldr r3, [pc, #76] (800e3fc <_ZN11BrasLateral16initBrasLaterauxEv+0xe8>) - 800e3ae: 9300 str r3, [sp, #0] - 800e3b0: 4b18 ldr r3, [pc, #96] (800e414 <_ZN11BrasLateral16initBrasLaterauxEv+0x100>) - 800e3b2: 9301 str r3, [sp, #4] - 800e3b4: 4b18 ldr r3, [pc, #96] (800e418 <_ZN11BrasLateral16initBrasLaterauxEv+0x104>) - 800e3b6: 9302 str r3, [sp, #8] - 800e3b8: 4b18 ldr r3, [pc, #96] (800e41c <_ZN11BrasLateral16initBrasLaterauxEv+0x108>) - 800e3ba: 9303 str r3, [sp, #12] - 800e3bc: 6938 ldr r0, [r7, #16] - 800e3be: 69f9 ldr r1, [r7, #28] - 800e3c0: f04f 0203 mov.w r2, #3 ; 0x3 - 800e3c4: 4b11 ldr r3, [pc, #68] (800e40c <_ZN11BrasLateral16initBrasLaterauxEv+0xf8>) - 800e3c6: f7ff ff75 bl 800e2b4 <_ZN11BrasLateralC1EP5Timerhfffff> - 800e3ca: 693a ldr r2, [r7, #16] - 800e3cc: 617a str r2, [r7, #20] - 800e3ce: e001 b.n 800e3d4 <_ZN11BrasLateral16initBrasLaterauxEv+0xc0> - 800e3d0: 693b ldr r3, [r7, #16] - 800e3d2: 617b str r3, [r7, #20] - 800e3d4: 4b12 ldr r3, [pc, #72] (800e420 <_ZN11BrasLateral16initBrasLaterauxEv+0x10c>) - 800e3d6: 697a ldr r2, [r7, #20] - 800e3d8: 601a str r2, [r3, #0] - left = new BrasLateral(timer, 3, 0.01f, 0.11f, 120.f, 36.f, 1.f); - - - #endif - - left->collapse(); - 800e3da: 4b0d ldr r3, [pc, #52] (800e410 <_ZN11BrasLateral16initBrasLaterauxEv+0xfc>) - 800e3dc: 681b ldr r3, [r3, #0] - 800e3de: 4618 mov r0, r3 - 800e3e0: f7ff ff48 bl 800e274 <_ZN11BrasLateral8collapseEv> - right->collapse(); - 800e3e4: 4b0e ldr r3, [pc, #56] (800e420 <_ZN11BrasLateral16initBrasLaterauxEv+0x10c>) - 800e3e6: 681b ldr r3, [r3, #0] - 800e3e8: 4618 mov r0, r3 - 800e3ea: f7ff ff43 bl 800e274 <_ZN11BrasLateral8collapseEv> - } - 800e3ee: f107 0720 add.w r7, r7, #32 ; 0x20 - 800e3f2: 46bd mov sp, r7 - 800e3f4: bd80 pop {r7, pc} - 800e3f6: 46c0 nop (mov r8, r8) - 800e3f8: 40000400 .word 0x40000400 - 800e3fc: 3de147ae .word 0x3de147ae - 800e400: 42ae0000 .word 0x42ae0000 - 800e404: 424c0000 .word 0x424c0000 - 800e408: 41700000 .word 0x41700000 - 800e40c: 3c23d70a .word 0x3c23d70a - 800e410: 20000564 .word 0x20000564 - 800e414: 00000000 .word 0x00000000 - 800e418: 42200000 .word 0x42200000 - 800e41c: 429a0000 .word 0x429a0000 - 800e420: 20000568 .word 0x20000568 - -0800e424 <_ZN11BrasLateral8getRightEv>: - initBrasLateraux(); - - return left; -} - -BrasLateral* BrasLateral::getRight() - 800e424: b580 push {r7, lr} - 800e426: af00 add r7, sp, #0 -{ - if (right==0) - 800e428: 4b05 ldr r3, [pc, #20] (800e440 <_ZN11BrasLateral8getRightEv+0x1c>) - 800e42a: 681b ldr r3, [r3, #0] - 800e42c: 2b00 cmp r3, #0 - 800e42e: d101 bne.n 800e434 <_ZN11BrasLateral8getRightEv+0x10> - initBrasLateraux(); - 800e430: f7ff ff70 bl 800e314 <_ZN11BrasLateral16initBrasLaterauxEv> - - return right; - 800e434: 4b02 ldr r3, [pc, #8] (800e440 <_ZN11BrasLateral8getRightEv+0x1c>) - 800e436: 681b ldr r3, [r3, #0] -} - 800e438: 4618 mov r0, r3 - 800e43a: 46bd mov sp, r7 - 800e43c: bd80 pop {r7, pc} - 800e43e: 46c0 nop (mov r8, r8) - 800e440: 20000568 .word 0x20000568 - -0800e444 <_ZN11BrasLateral7getLeftEv>: - right = new BrasLateral(); - } - -#endif - -BrasLateral* BrasLateral::getLeft() - 800e444: b580 push {r7, lr} - 800e446: af00 add r7, sp, #0 -{ - if (left==0) - 800e448: 4b05 ldr r3, [pc, #20] (800e460 <_ZN11BrasLateral7getLeftEv+0x1c>) - 800e44a: 681b ldr r3, [r3, #0] - 800e44c: 2b00 cmp r3, #0 - 800e44e: d101 bne.n 800e454 <_ZN11BrasLateral7getLeftEv+0x10> - initBrasLateraux(); - 800e450: f7ff ff60 bl 800e314 <_ZN11BrasLateral16initBrasLaterauxEv> - - return left; - 800e454: 4b02 ldr r3, [pc, #8] (800e460 <_ZN11BrasLateral7getLeftEv+0x1c>) - 800e456: 681b ldr r3, [r3, #0] -} - 800e458: 4618 mov r0, r3 - 800e45a: 46bd mov sp, r7 - 800e45c: bd80 pop {r7, pc} - 800e45e: 46c0 nop (mov r8, r8) - 800e460: 20000564 .word 0x20000564 - -0800e464 <_ZN11BrasLateralC2EP5Timerhfffff>: -BrasLateral* BrasLateral::left = 0; -BrasLateral* BrasLateral::right = 0; - -#ifdef ROBOTHW - - BrasLateral::BrasLateral(Timer* timer, unsigned char OCx, float RC0degre, float RC180degres, float angleCollapsed, float angleExpanded, float angleFront) - 800e464: b580 push {r7, lr} - 800e466: b088 sub sp, #32 - 800e468: af02 add r7, sp, #8 - 800e46a: 6178 str r0, [r7, #20] - 800e46c: 6139 str r1, [r7, #16] - 800e46e: 60bb str r3, [r7, #8] - 800e470: 4613 mov r3, r2 - 800e472: 73fb strb r3, [r7, #15] - : angleCollapsed(angleCollapsed), angleExpanded(angleExpanded), angleFront(angleFront) - 800e474: 697a ldr r2, [r7, #20] - 800e476: 6a7b ldr r3, [r7, #36] - 800e478: 6053 str r3, [r2, #4] - 800e47a: 697a ldr r2, [r7, #20] - 800e47c: 6abb ldr r3, [r7, #40] - 800e47e: 6093 str r3, [r2, #8] - 800e480: 697a ldr r2, [r7, #20] - 800e482: 6afb ldr r3, [r7, #44] - 800e484: 60d3 str r3, [r2, #12] - { - servo = new Servo(timer, OCx, RC0degre, RC180degres); - 800e486: f04f 0014 mov.w r0, #20 ; 0x14 - 800e48a: f009 f819 bl 80174c0 <_Znwj> - 800e48e: 4603 mov r3, r0 - 800e490: 603b str r3, [r7, #0] - 800e492: 683a ldr r2, [r7, #0] - 800e494: 2a00 cmp r2, #0 - 800e496: d00a beq.n 800e4ae <_ZN11BrasLateralC2EP5Timerhfffff+0x4a> - 800e498: 7bfa ldrb r2, [r7, #15] - 800e49a: 6a3b ldr r3, [r7, #32] - 800e49c: 9300 str r3, [sp, #0] - 800e49e: 6838 ldr r0, [r7, #0] - 800e4a0: 6939 ldr r1, [r7, #16] - 800e4a2: 68bb ldr r3, [r7, #8] - 800e4a4: f001 ff5e bl 8010364 <_ZN5ServoC1EP5Timerhff> - 800e4a8: 683b ldr r3, [r7, #0] - 800e4aa: 607b str r3, [r7, #4] - 800e4ac: e001 b.n 800e4b2 <_ZN11BrasLateralC2EP5Timerhfffff+0x4e> - 800e4ae: 683a ldr r2, [r7, #0] - 800e4b0: 607a str r2, [r7, #4] - 800e4b2: 697b ldr r3, [r7, #20] - 800e4b4: 687a ldr r2, [r7, #4] - 800e4b6: 601a str r2, [r3, #0] - } - 800e4b8: 697b ldr r3, [r7, #20] - 800e4ba: 4618 mov r0, r3 - 800e4bc: f107 0718 add.w r7, r7, #24 ; 0x18 - 800e4c0: 46bd mov sp, r7 - 800e4c2: bd80 pop {r7, pc} - -0800e4c4 <_ZN10CanonFilet5shootEv>: -#else - qDebug() << "repositionnement filet"; -#endif -} - -void CanonFilet::shoot() - 800e4c4: b580 push {r7, lr} - 800e4c6: b082 sub sp, #8 - 800e4c8: af00 add r7, sp, #0 - 800e4ca: 6078 str r0, [r7, #4] -{ -#ifdef ROBOTHW - ServosNumeriques::moveTo(POSITION_TIR, MOTEUR); - 800e4cc: 687b ldr r3, [r7, #4] - 800e4ce: 689b ldr r3, [r3, #8] - 800e4d0: b29a uxth r2, r3 - 800e4d2: 687b ldr r3, [r7, #4] - 800e4d4: 681b ldr r3, [r3, #0] - 800e4d6: b2db uxtb r3, r3 - 800e4d8: 4610 mov r0, r2 - 800e4da: 4619 mov r1, r3 - 800e4dc: f008 fdee bl 80170bc <_ZN16ServosNumeriques6moveToEth> -#else - qDebug() << "FILET !!!"; - //ressort->goToAngle(POSITION_TIR); -#endif -} - 800e4e0: f107 0708 add.w r7, r7, #8 ; 0x8 - 800e4e4: 46bd mov sp, r7 - 800e4e6: bd80 pop {r7, pc} - -0800e4e8 <_ZN10CanonFilet7attenteEv>: -// ressort->shutDownServo(); -// delete ressort; -// delete canonFilet; -//} - -void CanonFilet::attente() - 800e4e8: b580 push {r7, lr} - 800e4ea: b082 sub sp, #8 - 800e4ec: af00 add r7, sp, #0 - 800e4ee: 6078 str r0, [r7, #4] -{ -#ifdef ROBOTHW - ServosNumeriques::moveTo(POSITION_ATTENTE, MOTEUR); - 800e4f0: 687b ldr r3, [r7, #4] - 800e4f2: 685b ldr r3, [r3, #4] - 800e4f4: b29a uxth r2, r3 - 800e4f6: 687b ldr r3, [r7, #4] - 800e4f8: 681b ldr r3, [r3, #0] - 800e4fa: b2db uxtb r3, r3 - 800e4fc: 4610 mov r0, r2 - 800e4fe: 4619 mov r1, r3 - 800e500: f008 fddc bl 80170bc <_ZN16ServosNumeriques6moveToEth> -//ressort->goToAngle(POSITION_ATTENTE); -#else - qDebug() << "repositionnement filet"; -#endif -} - 800e504: f107 0708 add.w r7, r7, #8 ; 0x8 - 800e508: 46bd mov sp, r7 - 800e50a: bd80 pop {r7, pc} - -0800e50c <_ZN10CanonFiletC1Ev>: - singleton = new CanonFilet(); - - return singleton; -} - -CanonFilet::CanonFilet() - 800e50c: b580 push {r7, lr} - 800e50e: b082 sub sp, #8 - 800e510: af00 add r7, sp, #0 - 800e512: 6078 str r0, [r7, #4] -{ -#ifdef ROBOTHW - POSITION_ATTENTE = 0x0370;//0x0384;//@TODO 700 ou 900 - 800e514: 687a ldr r2, [r7, #4] - 800e516: f44f 735c mov.w r3, #880 ; 0x370 - 800e51a: 6053 str r3, [r2, #4] - POSITION_TIR = 0x02B0;//0x02BC;//0x0384;//@TODO 700 ou 900 - 800e51c: 687a ldr r2, [r7, #4] - 800e51e: f44f 732c mov.w r3, #688 ; 0x2b0 - 800e522: 6093 str r3, [r2, #8] -// POSITION_RETOURNEE = 0x00d0; - - //VENTOUSE_VERS_BAS = 0x0110; - //VENTOUSE_VERS_HAUT = 0x0310; - - MOTEUR = 11;//TOTO trouver l'ID, 18 ou 20 priori - 800e524: 687a ldr r2, [r7, #4] - 800e526: f04f 030b mov.w r3, #11 ; 0xb - 800e52a: 6013 str r3, [r2, #0] - //MOTEUR_HAUT = 12; -#ifdef ROBOTHW - ServosNumeriques::setTorqueLimite(0x03ff, MOTEUR); - 800e52c: 687b ldr r3, [r7, #4] - 800e52e: 681b ldr r3, [r3, #0] - 800e530: b2db uxtb r3, r3 - 800e532: f240 30ff movw r0, #1023 ; 0x3ff - 800e536: 4619 mov r1, r3 - 800e538: f008 fca0 bl 8016e7c <_ZN16ServosNumeriques15setTorqueLimiteEth> -// TIM_CtrlPWMOutputs(TIM3, ENABLE); - -// ressort = new Servo(timer3,4,0.01f, 0.11f); - -#endif -} - 800e53c: 687b ldr r3, [r7, #4] - 800e53e: 4618 mov r0, r3 - 800e540: f107 0708 add.w r7, r7, #8 ; 0x8 - 800e544: 46bd mov sp, r7 - 800e546: bd80 pop {r7, pc} - -0800e548 <_ZN10CanonFiletC2Ev>: - singleton = new CanonFilet(); - - return singleton; -} - -CanonFilet::CanonFilet() - 800e548: b580 push {r7, lr} - 800e54a: b082 sub sp, #8 - 800e54c: af00 add r7, sp, #0 - 800e54e: 6078 str r0, [r7, #4] -{ -#ifdef ROBOTHW - POSITION_ATTENTE = 0x0370;//0x0384;//@TODO 700 ou 900 - 800e550: 687a ldr r2, [r7, #4] - 800e552: f44f 735c mov.w r3, #880 ; 0x370 - 800e556: 6053 str r3, [r2, #4] - POSITION_TIR = 0x02B0;//0x02BC;//0x0384;//@TODO 700 ou 900 - 800e558: 687a ldr r2, [r7, #4] - 800e55a: f44f 732c mov.w r3, #688 ; 0x2b0 - 800e55e: 6093 str r3, [r2, #8] -// POSITION_RETOURNEE = 0x00d0; - - //VENTOUSE_VERS_BAS = 0x0110; - //VENTOUSE_VERS_HAUT = 0x0310; - - MOTEUR = 11;//TOTO trouver l'ID, 18 ou 20 priori - 800e560: 687a ldr r2, [r7, #4] - 800e562: f04f 030b mov.w r3, #11 ; 0xb - 800e566: 6013 str r3, [r2, #0] - //MOTEUR_HAUT = 12; -#ifdef ROBOTHW - ServosNumeriques::setTorqueLimite(0x03ff, MOTEUR); - 800e568: 687b ldr r3, [r7, #4] - 800e56a: 681b ldr r3, [r3, #0] - 800e56c: b2db uxtb r3, r3 - 800e56e: f240 30ff movw r0, #1023 ; 0x3ff - 800e572: 4619 mov r1, r3 - 800e574: f008 fc82 bl 8016e7c <_ZN16ServosNumeriques15setTorqueLimiteEth> -// TIM_CtrlPWMOutputs(TIM3, ENABLE); - -// ressort = new Servo(timer3,4,0.01f, 0.11f); - -#endif -} - 800e578: 687b ldr r3, [r7, #4] - 800e57a: 4618 mov r0, r3 - 800e57c: f107 0708 add.w r7, r7, #8 ; 0x8 - 800e580: 46bd mov sp, r7 - 800e582: bd80 pop {r7, pc} - -0800e584 <_ZN10CanonFilet12getSingletonEv>: - -#define RESSORT_DEBLOQUE 0 - -CanonFilet* CanonFilet::singleton = 0; - -CanonFilet* CanonFilet::getSingleton() - 800e584: b580 push {r7, lr} - 800e586: b082 sub sp, #8 - 800e588: af00 add r7, sp, #0 -{ - if (singleton==0) - 800e58a: 4b0f ldr r3, [pc, #60] (800e5c8 <_ZN10CanonFilet12getSingletonEv+0x44>) - 800e58c: 681b ldr r3, [r3, #0] - 800e58e: 2b00 cmp r3, #0 - 800e590: d113 bne.n 800e5ba <_ZN10CanonFilet12getSingletonEv+0x36> - singleton = new CanonFilet(); - 800e592: f04f 000c mov.w r0, #12 ; 0xc - 800e596: f008 ff93 bl 80174c0 <_Znwj> - 800e59a: 4603 mov r3, r0 - 800e59c: 603b str r3, [r7, #0] - 800e59e: 683a ldr r2, [r7, #0] - 800e5a0: 2a00 cmp r2, #0 - 800e5a2: d005 beq.n 800e5b0 <_ZN10CanonFilet12getSingletonEv+0x2c> - 800e5a4: 6838 ldr r0, [r7, #0] - 800e5a6: f7ff ffb1 bl 800e50c <_ZN10CanonFiletC1Ev> - 800e5aa: 683b ldr r3, [r7, #0] - 800e5ac: 607b str r3, [r7, #4] - 800e5ae: e001 b.n 800e5b4 <_ZN10CanonFilet12getSingletonEv+0x30> - 800e5b0: 683a ldr r2, [r7, #0] - 800e5b2: 607a str r2, [r7, #4] - 800e5b4: 4b04 ldr r3, [pc, #16] (800e5c8 <_ZN10CanonFilet12getSingletonEv+0x44>) - 800e5b6: 687a ldr r2, [r7, #4] - 800e5b8: 601a str r2, [r3, #0] - - return singleton; - 800e5ba: 4b03 ldr r3, [pc, #12] (800e5c8 <_ZN10CanonFilet12getSingletonEv+0x44>) - 800e5bc: 681b ldr r3, [r3, #0] -} - 800e5be: 4618 mov r0, r3 - 800e5c0: f107 0708 add.w r7, r7, #8 ; 0x8 - 800e5c4: 46bd mov sp, r7 - 800e5c6: bd80 pop {r7, pc} - 800e5c8: 2000056c .word 0x2000056c - -0800e5cc <_ZN11CanonLances4fireEv>: -#else - qDebug() << "CanonLances arm"; -#endif -} - -void CanonLances::fire() - 800e5cc: b580 push {r7, lr} - 800e5ce: b082 sub sp, #8 - 800e5d0: af00 add r7, sp, #0 - 800e5d2: 6078 str r0, [r7, #4] -{ -#ifdef ROBOTHW - servoCharge->goToAngle(LOADER_ANGLE_SHOOT); - 800e5d4: 687b ldr r3, [r7, #4] - 800e5d6: 685b ldr r3, [r3, #4] - 800e5d8: 4618 mov r0, r3 - 800e5da: 4903 ldr r1, [pc, #12] (800e5e8 <_ZN11CanonLances4fireEv+0x1c>) - 800e5dc: f001 fe4e bl 801027c <_ZN5Servo9goToAngleEf> -#else - qDebug() << "CanonLances fire"; -#endif -} - 800e5e0: f107 0708 add.w r7, r7, #8 ; 0x8 - 800e5e4: 46bd mov sp, r7 - 800e5e6: bd80 pop {r7, pc} - 800e5e8: 428c0000 .word 0x428c0000 - -0800e5ec <_ZN11CanonLances3armEv>: -#else - qDebug() << "CanonLances stopShootAtWill"; -#endif -} - -void CanonLances::arm() - 800e5ec: b580 push {r7, lr} - 800e5ee: b082 sub sp, #8 - 800e5f0: af00 add r7, sp, #0 - 800e5f2: 6078 str r0, [r7, #4] -{ -#ifdef ROBOTHW - servoCharge->goToAngle(LOADER_ANGLE_PRECHARGE); - 800e5f4: 687b ldr r3, [r7, #4] - 800e5f6: 685b ldr r3, [r3, #4] - 800e5f8: 4618 mov r0, r3 - 800e5fa: 4903 ldr r1, [pc, #12] (800e608 <_ZN11CanonLances3armEv+0x1c>) - 800e5fc: f001 fe3e bl 801027c <_ZN5Servo9goToAngleEf> -#else - qDebug() << "CanonLances arm"; -#endif -} - 800e600: f107 0708 add.w r7, r7, #8 ; 0x8 - 800e604: 46bd mov sp, r7 - 800e606: bd80 pop {r7, pc} - 800e608: 43250000 .word 0x43250000 - -0800e60c <_ZN11CanonLances15stopShootAtWillEv>: -#else - qDebug() << "CanonLances shootAtWillLow"; -#endif -} - -void CanonLances::stopShootAtWill() - 800e60c: b580 push {r7, lr} - 800e60e: b082 sub sp, #8 - 800e610: af00 add r7, sp, #0 - 800e612: 6078 str r0, [r7, #4] -{ -#ifdef ROBOTHW - moteurTir->tourne(0); - 800e614: 687b ldr r3, [r7, #4] - 800e616: 681b ldr r3, [r3, #0] - 800e618: 4618 mov r0, r3 - 800e61a: 4903 ldr r1, [pc, #12] (800e628 <_ZN11CanonLances15stopShootAtWillEv+0x1c>) - 800e61c: f000 faf2 bl 800ec04 <_ZN6Moteur6tourneEf> -#else - qDebug() << "CanonLances stopShootAtWill"; -#endif -} - 800e620: f107 0708 add.w r7, r7, #8 ; 0x8 - 800e624: 46bd mov sp, r7 - 800e626: bd80 pop {r7, pc} - 800e628: 00000000 .word 0x00000000 - -0800e62c <_ZN11CanonLances14shootAtWillLowEv>: -#else - qDebug() << "CanonLances shootAtWill"; -#endif -} - -void CanonLances::shootAtWillLow() - 800e62c: b580 push {r7, lr} - 800e62e: b082 sub sp, #8 - 800e630: af00 add r7, sp, #0 - 800e632: 6078 str r0, [r7, #4] -{ -#ifdef ROBOTHW - moteurTir->tourne(RAPPORT_TIR_LOW); - 800e634: 687b ldr r3, [r7, #4] - 800e636: 681b ldr r3, [r3, #0] - 800e638: 4618 mov r0, r3 - 800e63a: 4903 ldr r1, [pc, #12] (800e648 <_ZN11CanonLances14shootAtWillLowEv+0x1c>) - 800e63c: f000 fae2 bl 800ec04 <_ZN6Moteur6tourneEf> -#else - qDebug() << "CanonLances shootAtWillLow"; -#endif -} - 800e640: f107 0708 add.w r7, r7, #8 ; 0x8 - 800e644: 46bd mov sp, r7 - 800e646: bd80 pop {r7, pc} - 800e648: 3eb33333 .word 0x3eb33333 - -0800e64c <_ZN11CanonLances11shootAtWillEv>: - arm(); -#endif -} - - -void CanonLances::shootAtWill() - 800e64c: b580 push {r7, lr} - 800e64e: b082 sub sp, #8 - 800e650: af00 add r7, sp, #0 - 800e652: 6078 str r0, [r7, #4] -{ -#ifdef ROBOTHW - moteurTir->tourne(RAPPORT_TIR); - 800e654: 687b ldr r3, [r7, #4] - 800e656: 681b ldr r3, [r3, #0] - 800e658: 4618 mov r0, r3 - 800e65a: 4903 ldr r1, [pc, #12] (800e668 <_ZN11CanonLances11shootAtWillEv+0x1c>) - 800e65c: f000 fad2 bl 800ec04 <_ZN6Moteur6tourneEf> -#else - qDebug() << "CanonLances shootAtWill"; -#endif -} - 800e660: f107 0708 add.w r7, r7, #8 ; 0x8 - 800e664: 46bd mov sp, r7 - 800e666: bd80 pop {r7, pc} - 800e668: 3eb33333 .word 0x3eb33333 - -0800e66c <_ZN11CanonLancesC1Ev>: -// delete moteurTir; -// delete servoCharge; -// delete canonLances; -//} - -CanonLances::CanonLances() - 800e66c: b580 push {r7, lr} - 800e66e: b08c sub sp, #48 - 800e670: af02 add r7, sp, #8 - 800e672: 61f8 str r0, [r7, #28] -{ -#ifdef ROBOTHW - Timer* timer1 = new Timer(TIM1, PERIOD_TIMER_SERVO, PRESCALER_TIMER_SERVO, CLOCK_TIMER_SERVO); - 800e674: f04f 000c mov.w r0, #12 ; 0xc - 800e678: f008 ff22 bl 80174c0 <_Znwj> - 800e67c: 4603 mov r3, r0 - 800e67e: 607b str r3, [r7, #4] - 800e680: 687a ldr r2, [r7, #4] - 800e682: 2a00 cmp r2, #0 - 800e684: d00d beq.n 800e6a2 <_ZN11CanonLancesC1Ev+0x36> - 800e686: f04f 0300 mov.w r3, #0 ; 0x0 - 800e68a: 9300 str r3, [sp, #0] - 800e68c: 6878 ldr r0, [r7, #4] - 800e68e: 4928 ldr r1, [pc, #160] (800e730 <_ZN11CanonLancesC1Ev+0xc4>) - 800e690: f644 6220 movw r2, #20000 ; 0x4e20 - 800e694: f04f 03a7 mov.w r3, #167 ; 0xa7 - 800e698: f007 fefa bl 8016490 <_ZN5TimerC1EP11TIM_TypeDefttNS_11ClkDivisionE> - 800e69c: 687b ldr r3, [r7, #4] - 800e69e: 60bb str r3, [r7, #8] - 800e6a0: e001 b.n 800e6a6 <_ZN11CanonLancesC1Ev+0x3a> - 800e6a2: 687a ldr r2, [r7, #4] - 800e6a4: 60ba str r2, [r7, #8] - 800e6a6: 68bb ldr r3, [r7, #8] - 800e6a8: 627b str r3, [r7, #36] - TIM_CtrlPWMOutputs(TIM1, ENABLE); - 800e6aa: 4821 ldr r0, [pc, #132] (800e730 <_ZN11CanonLancesC1Ev+0xc4>) - 800e6ac: f04f 0101 mov.w r1, #1 ; 0x1 - 800e6b0: f7fd febe bl 800c430 - - moteurTir = new Moteur(TIM5,3,GPIOA,GPIO_Pin_2); - 800e6b4: f04f 0008 mov.w r0, #8 ; 0x8 - 800e6b8: f008 ff02 bl 80174c0 <_Znwj> - 800e6bc: 4603 mov r3, r0 - 800e6be: 60fb str r3, [r7, #12] - 800e6c0: 68fa ldr r2, [r7, #12] - 800e6c2: 2a00 cmp r2, #0 - 800e6c4: d00c beq.n 800e6e0 <_ZN11CanonLancesC1Ev+0x74> - 800e6c6: f04f 0304 mov.w r3, #4 ; 0x4 - 800e6ca: 9300 str r3, [sp, #0] - 800e6cc: 68f8 ldr r0, [r7, #12] - 800e6ce: 4919 ldr r1, [pc, #100] (800e734 <_ZN11CanonLancesC1Ev+0xc8>) - 800e6d0: f04f 0203 mov.w r2, #3 ; 0x3 - 800e6d4: 4b18 ldr r3, [pc, #96] (800e738 <_ZN11CanonLancesC1Ev+0xcc>) - 800e6d6: f000 faa3 bl 800ec20 <_ZN6MoteurC1EP11TIM_TypeDefhP12GPIO_TypeDeft> - 800e6da: 68fb ldr r3, [r7, #12] - 800e6dc: 613b str r3, [r7, #16] - 800e6de: e001 b.n 800e6e4 <_ZN11CanonLancesC1Ev+0x78> - 800e6e0: 68fa ldr r2, [r7, #12] - 800e6e2: 613a str r2, [r7, #16] - 800e6e4: 69fb ldr r3, [r7, #28] - 800e6e6: 693a ldr r2, [r7, #16] - 800e6e8: 601a str r2, [r3, #0] - //NOUVEAU CONSTRUCTEUR DE MOTEUR A DEFINIR, SANS LE PIN DE SENS (ici le sens est tjs le même) - servoCharge = new Servo(timer1,1,0.01f, 0.11f); - 800e6ea: f04f 0014 mov.w r0, #20 ; 0x14 - 800e6ee: f008 fee7 bl 80174c0 <_Znwj> - 800e6f2: 4603 mov r3, r0 - 800e6f4: 617b str r3, [r7, #20] - 800e6f6: 697b ldr r3, [r7, #20] - 800e6f8: 2b00 cmp r3, #0 - 800e6fa: d00b beq.n 800e714 <_ZN11CanonLancesC1Ev+0xa8> - 800e6fc: 4b0f ldr r3, [pc, #60] (800e73c <_ZN11CanonLancesC1Ev+0xd0>) - 800e6fe: 9300 str r3, [sp, #0] - 800e700: 6978 ldr r0, [r7, #20] - 800e702: 6a79 ldr r1, [r7, #36] - 800e704: f04f 0201 mov.w r2, #1 ; 0x1 - 800e708: 4b0d ldr r3, [pc, #52] (800e740 <_ZN11CanonLancesC1Ev+0xd4>) - 800e70a: f001 fe2b bl 8010364 <_ZN5ServoC1EP5Timerhff> - 800e70e: 697a ldr r2, [r7, #20] - 800e710: 61ba str r2, [r7, #24] - 800e712: e001 b.n 800e718 <_ZN11CanonLancesC1Ev+0xac> - 800e714: 697b ldr r3, [r7, #20] - 800e716: 61bb str r3, [r7, #24] - 800e718: 69fb ldr r3, [r7, #28] - 800e71a: 69ba ldr r2, [r7, #24] - 800e71c: 605a str r2, [r3, #4] - - arm(); - 800e71e: 69f8 ldr r0, [r7, #28] - 800e720: f7ff ff64 bl 800e5ec <_ZN11CanonLances3armEv> -#endif -} - 800e724: 69fb ldr r3, [r7, #28] - 800e726: 4618 mov r0, r3 - 800e728: f107 0728 add.w r7, r7, #40 ; 0x28 - 800e72c: 46bd mov sp, r7 - 800e72e: bd80 pop {r7, pc} - 800e730: 40010000 .word 0x40010000 - 800e734: 40000c00 .word 0x40000c00 - 800e738: 40020000 .word 0x40020000 - 800e73c: 3de147ae .word 0x3de147ae - 800e740: 3c23d70a .word 0x3c23d70a - -0800e744 <_ZN11CanonLances12getSingletonEv>: - #include -#endif - -CanonLances* CanonLances::singleton = 0; - -CanonLances* CanonLances::getSingleton() - 800e744: b580 push {r7, lr} - 800e746: b082 sub sp, #8 - 800e748: af00 add r7, sp, #0 -{ - if (singleton==0) - 800e74a: 4b0f ldr r3, [pc, #60] (800e788 <_ZN11CanonLances12getSingletonEv+0x44>) - 800e74c: 681b ldr r3, [r3, #0] - 800e74e: 2b00 cmp r3, #0 - 800e750: d113 bne.n 800e77a <_ZN11CanonLances12getSingletonEv+0x36> - singleton = new CanonLances(); - 800e752: f04f 0008 mov.w r0, #8 ; 0x8 - 800e756: f008 feb3 bl 80174c0 <_Znwj> - 800e75a: 4603 mov r3, r0 - 800e75c: 603b str r3, [r7, #0] - 800e75e: 683a ldr r2, [r7, #0] - 800e760: 2a00 cmp r2, #0 - 800e762: d005 beq.n 800e770 <_ZN11CanonLances12getSingletonEv+0x2c> - 800e764: 6838 ldr r0, [r7, #0] - 800e766: f7ff ff81 bl 800e66c <_ZN11CanonLancesC1Ev> - 800e76a: 683b ldr r3, [r7, #0] - 800e76c: 607b str r3, [r7, #4] - 800e76e: e001 b.n 800e774 <_ZN11CanonLances12getSingletonEv+0x30> - 800e770: 683a ldr r2, [r7, #0] - 800e772: 607a str r2, [r7, #4] - 800e774: 4b04 ldr r3, [pc, #16] (800e788 <_ZN11CanonLances12getSingletonEv+0x44>) - 800e776: 687a ldr r2, [r7, #4] - 800e778: 601a str r2, [r3, #0] - - return singleton; - 800e77a: 4b03 ldr r3, [pc, #12] (800e788 <_ZN11CanonLances12getSingletonEv+0x44>) - 800e77c: 681b ldr r3, [r3, #0] -} - 800e77e: 4618 mov r0, r3 - 800e780: f107 0708 add.w r7, r7, #8 ; 0x8 - 800e784: 46bd mov sp, r7 - 800e786: bd80 pop {r7, pc} - 800e788: 20000570 .word 0x20000570 - -0800e78c <_ZN11CanonLancesC2Ev>: -// delete moteurTir; -// delete servoCharge; -// delete canonLances; -//} - -CanonLances::CanonLances() - 800e78c: b580 push {r7, lr} - 800e78e: b08c sub sp, #48 - 800e790: af02 add r7, sp, #8 - 800e792: 61f8 str r0, [r7, #28] -{ -#ifdef ROBOTHW - Timer* timer1 = new Timer(TIM1, PERIOD_TIMER_SERVO, PRESCALER_TIMER_SERVO, CLOCK_TIMER_SERVO); - 800e794: f04f 000c mov.w r0, #12 ; 0xc - 800e798: f008 fe92 bl 80174c0 <_Znwj> - 800e79c: 4603 mov r3, r0 - 800e79e: 607b str r3, [r7, #4] - 800e7a0: 687a ldr r2, [r7, #4] - 800e7a2: 2a00 cmp r2, #0 - 800e7a4: d00d beq.n 800e7c2 <_ZN11CanonLancesC2Ev+0x36> - 800e7a6: f04f 0300 mov.w r3, #0 ; 0x0 - 800e7aa: 9300 str r3, [sp, #0] - 800e7ac: 6878 ldr r0, [r7, #4] - 800e7ae: 4928 ldr r1, [pc, #160] (800e850 <_ZN11CanonLancesC2Ev+0xc4>) - 800e7b0: f644 6220 movw r2, #20000 ; 0x4e20 - 800e7b4: f04f 03a7 mov.w r3, #167 ; 0xa7 - 800e7b8: f007 fe6a bl 8016490 <_ZN5TimerC1EP11TIM_TypeDefttNS_11ClkDivisionE> - 800e7bc: 687b ldr r3, [r7, #4] - 800e7be: 60bb str r3, [r7, #8] - 800e7c0: e001 b.n 800e7c6 <_ZN11CanonLancesC2Ev+0x3a> - 800e7c2: 687a ldr r2, [r7, #4] - 800e7c4: 60ba str r2, [r7, #8] - 800e7c6: 68bb ldr r3, [r7, #8] - 800e7c8: 627b str r3, [r7, #36] - TIM_CtrlPWMOutputs(TIM1, ENABLE); - 800e7ca: 4821 ldr r0, [pc, #132] (800e850 <_ZN11CanonLancesC2Ev+0xc4>) - 800e7cc: f04f 0101 mov.w r1, #1 ; 0x1 - 800e7d0: f7fd fe2e bl 800c430 - - moteurTir = new Moteur(TIM5,3,GPIOA,GPIO_Pin_2); - 800e7d4: f04f 0008 mov.w r0, #8 ; 0x8 - 800e7d8: f008 fe72 bl 80174c0 <_Znwj> - 800e7dc: 4603 mov r3, r0 - 800e7de: 60fb str r3, [r7, #12] - 800e7e0: 68fa ldr r2, [r7, #12] - 800e7e2: 2a00 cmp r2, #0 - 800e7e4: d00c beq.n 800e800 <_ZN11CanonLancesC2Ev+0x74> - 800e7e6: f04f 0304 mov.w r3, #4 ; 0x4 - 800e7ea: 9300 str r3, [sp, #0] - 800e7ec: 68f8 ldr r0, [r7, #12] - 800e7ee: 4919 ldr r1, [pc, #100] (800e854 <_ZN11CanonLancesC2Ev+0xc8>) - 800e7f0: f04f 0203 mov.w r2, #3 ; 0x3 - 800e7f4: 4b18 ldr r3, [pc, #96] (800e858 <_ZN11CanonLancesC2Ev+0xcc>) - 800e7f6: f000 fa13 bl 800ec20 <_ZN6MoteurC1EP11TIM_TypeDefhP12GPIO_TypeDeft> - 800e7fa: 68fb ldr r3, [r7, #12] - 800e7fc: 613b str r3, [r7, #16] - 800e7fe: e001 b.n 800e804 <_ZN11CanonLancesC2Ev+0x78> - 800e800: 68fa ldr r2, [r7, #12] - 800e802: 613a str r2, [r7, #16] - 800e804: 69fb ldr r3, [r7, #28] - 800e806: 693a ldr r2, [r7, #16] - 800e808: 601a str r2, [r3, #0] - //NOUVEAU CONSTRUCTEUR DE MOTEUR A DEFINIR, SANS LE PIN DE SENS (ici le sens est tjs le même) - servoCharge = new Servo(timer1,1,0.01f, 0.11f); - 800e80a: f04f 0014 mov.w r0, #20 ; 0x14 - 800e80e: f008 fe57 bl 80174c0 <_Znwj> - 800e812: 4603 mov r3, r0 - 800e814: 617b str r3, [r7, #20] - 800e816: 697b ldr r3, [r7, #20] - 800e818: 2b00 cmp r3, #0 - 800e81a: d00b beq.n 800e834 <_ZN11CanonLancesC2Ev+0xa8> - 800e81c: 4b0f ldr r3, [pc, #60] (800e85c <_ZN11CanonLancesC2Ev+0xd0>) - 800e81e: 9300 str r3, [sp, #0] - 800e820: 6978 ldr r0, [r7, #20] - 800e822: 6a79 ldr r1, [r7, #36] - 800e824: f04f 0201 mov.w r2, #1 ; 0x1 - 800e828: 4b0d ldr r3, [pc, #52] (800e860 <_ZN11CanonLancesC2Ev+0xd4>) - 800e82a: f001 fd9b bl 8010364 <_ZN5ServoC1EP5Timerhff> - 800e82e: 697a ldr r2, [r7, #20] - 800e830: 61ba str r2, [r7, #24] - 800e832: e001 b.n 800e838 <_ZN11CanonLancesC2Ev+0xac> - 800e834: 697b ldr r3, [r7, #20] - 800e836: 61bb str r3, [r7, #24] - 800e838: 69fb ldr r3, [r7, #28] - 800e83a: 69ba ldr r2, [r7, #24] - 800e83c: 605a str r2, [r3, #4] - - arm(); - 800e83e: 69f8 ldr r0, [r7, #28] - 800e840: f7ff fed4 bl 800e5ec <_ZN11CanonLances3armEv> -#endif -} - 800e844: 69fb ldr r3, [r7, #28] - 800e846: 4618 mov r0, r3 - 800e848: f107 0728 add.w r7, r7, #40 ; 0x28 - 800e84c: 46bd mov sp, r7 - 800e84e: bd80 pop {r7, pc} - 800e850: 40010000 .word 0x40010000 - 800e854: 40000c00 .word 0x40000c00 - 800e858: 40020000 .word 0x40020000 - 800e85c: 3de147ae .word 0x3de147ae - 800e860: 3c23d70a .word 0x3c23d70a - -0800e864 <_ZN9Container5closeEv>: -#else - qDebug() << "Ouvre Conteneur"; -#endif -} - -void Container::close() - 800e864: b580 push {r7, lr} - 800e866: b082 sub sp, #8 - 800e868: af00 add r7, sp, #0 - 800e86a: 6078 str r0, [r7, #4] -{ -#ifdef ROBOTHW - servo->goToAngle(CONTAINER_ANGLE_CLOSE); - 800e86c: 687b ldr r3, [r7, #4] - 800e86e: 681b ldr r3, [r3, #0] - 800e870: 4618 mov r0, r3 - 800e872: 4903 ldr r1, [pc, #12] (800e880 <_ZN9Container5closeEv+0x1c>) - 800e874: f001 fd02 bl 801027c <_ZN5Servo9goToAngleEf> -#else - qDebug() << "Ferme Conteneur"; -#endif -} - 800e878: f107 0708 add.w r7, r7, #8 ; 0x8 - 800e87c: 46bd mov sp, r7 - 800e87e: bd80 pop {r7, pc} - 800e880: 41200000 .word 0x41200000 - -0800e884 <_ZN9Container4openEv>: - servo = new Servo(timer3, 2, 0.01f, 0.11f); - close(); -#endif -} - -void Container::open() - 800e884: b580 push {r7, lr} - 800e886: b082 sub sp, #8 - 800e888: af00 add r7, sp, #0 - 800e88a: 6078 str r0, [r7, #4] -{ -#ifdef ROBOTHW - servo->goToAngle(CONTAINER_ANGLE_OPEN); - 800e88c: 687b ldr r3, [r7, #4] - 800e88e: 681b ldr r3, [r3, #0] - 800e890: 4618 mov r0, r3 - 800e892: 4903 ldr r1, [pc, #12] (800e8a0 <_ZN9Container4openEv+0x1c>) - 800e894: f001 fcf2 bl 801027c <_ZN5Servo9goToAngleEf> -#else - qDebug() << "Ouvre Conteneur"; -#endif -} - 800e898: f107 0708 add.w r7, r7, #8 ; 0x8 - 800e89c: 46bd mov sp, r7 - 800e89e: bd80 pop {r7, pc} - 800e8a0: 42a00000 .word 0x42a00000 - -0800e8a4 <_ZN9ContainerC1Ev>: - singleton = new Container(); - - return singleton; -} - -Container::Container() - 800e8a4: b580 push {r7, lr} - 800e8a6: b08a sub sp, #40 - 800e8a8: af02 add r7, sp, #8 - 800e8aa: 6178 str r0, [r7, #20] -{ -#ifdef ROBOTHW - Timer* timer3 = new Timer(TIM3, PERIOD_TIMER_SERVO, PRESCALER_TIMER_SERVO, CLOCK_TIMER_SERVO); - 800e8ac: f04f 000c mov.w r0, #12 ; 0xc - 800e8b0: f008 fe06 bl 80174c0 <_Znwj> - 800e8b4: 4603 mov r3, r0 - 800e8b6: 607b str r3, [r7, #4] - 800e8b8: 687a ldr r2, [r7, #4] - 800e8ba: 2a00 cmp r2, #0 - 800e8bc: d00d beq.n 800e8da <_ZN9ContainerC1Ev+0x36> - 800e8be: f04f 0300 mov.w r3, #0 ; 0x0 - 800e8c2: 9300 str r3, [sp, #0] - 800e8c4: 6878 ldr r0, [r7, #4] - 800e8c6: 491b ldr r1, [pc, #108] (800e934 <_ZN9ContainerC1Ev+0x90>) - 800e8c8: f644 6220 movw r2, #20000 ; 0x4e20 - 800e8cc: f04f 03a7 mov.w r3, #167 ; 0xa7 - 800e8d0: f007 fdde bl 8016490 <_ZN5TimerC1EP11TIM_TypeDefttNS_11ClkDivisionE> - 800e8d4: 687b ldr r3, [r7, #4] - 800e8d6: 60bb str r3, [r7, #8] - 800e8d8: e001 b.n 800e8de <_ZN9ContainerC1Ev+0x3a> - 800e8da: 687a ldr r2, [r7, #4] - 800e8dc: 60ba str r2, [r7, #8] - 800e8de: 68bb ldr r3, [r7, #8] - 800e8e0: 61fb str r3, [r7, #28] - TIM_CtrlPWMOutputs(TIM3, ENABLE); - 800e8e2: 4814 ldr r0, [pc, #80] (800e934 <_ZN9ContainerC1Ev+0x90>) - 800e8e4: f04f 0101 mov.w r1, #1 ; 0x1 - 800e8e8: f7fd fda2 bl 800c430 - - servo = new Servo(timer3, 2, 0.01f, 0.11f); - 800e8ec: f04f 0014 mov.w r0, #20 ; 0x14 - 800e8f0: f008 fde6 bl 80174c0 <_Znwj> - 800e8f4: 4603 mov r3, r0 - 800e8f6: 60fb str r3, [r7, #12] - 800e8f8: 68fa ldr r2, [r7, #12] - 800e8fa: 2a00 cmp r2, #0 - 800e8fc: d00b beq.n 800e916 <_ZN9ContainerC1Ev+0x72> - 800e8fe: 4b0e ldr r3, [pc, #56] (800e938 <_ZN9ContainerC1Ev+0x94>) - 800e900: 9300 str r3, [sp, #0] - 800e902: 68f8 ldr r0, [r7, #12] - 800e904: 69f9 ldr r1, [r7, #28] - 800e906: f04f 0202 mov.w r2, #2 ; 0x2 - 800e90a: 4b0c ldr r3, [pc, #48] (800e93c <_ZN9ContainerC1Ev+0x98>) - 800e90c: f001 fd2a bl 8010364 <_ZN5ServoC1EP5Timerhff> - 800e910: 68fb ldr r3, [r7, #12] - 800e912: 613b str r3, [r7, #16] - 800e914: e001 b.n 800e91a <_ZN9ContainerC1Ev+0x76> - 800e916: 68fa ldr r2, [r7, #12] - 800e918: 613a str r2, [r7, #16] - 800e91a: 697b ldr r3, [r7, #20] - 800e91c: 693a ldr r2, [r7, #16] - 800e91e: 601a str r2, [r3, #0] - close(); - 800e920: 6978 ldr r0, [r7, #20] - 800e922: f7ff ff9f bl 800e864 <_ZN9Container5closeEv> -#endif -} - 800e926: 697b ldr r3, [r7, #20] - 800e928: 4618 mov r0, r3 - 800e92a: f107 0720 add.w r7, r7, #32 ; 0x20 - 800e92e: 46bd mov sp, r7 - 800e930: bd80 pop {r7, pc} - 800e932: 46c0 nop (mov r8, r8) - 800e934: 40000400 .word 0x40000400 - 800e938: 3de147ae .word 0x3de147ae - 800e93c: 3c23d70a .word 0x3c23d70a - -0800e940 <_ZN9Container12getSingletonEv>: -#define CONTAINER_ANGLE_OPEN 80. -#define CONTAINER_ANGLE_CLOSE 10. - -Container* Container::singleton = 0; - -Container* Container::getSingleton() - 800e940: b580 push {r7, lr} - 800e942: b082 sub sp, #8 - 800e944: af00 add r7, sp, #0 -{ - if (singleton==0) - 800e946: 4b0f ldr r3, [pc, #60] (800e984 <_ZN9Container12getSingletonEv+0x44>) - 800e948: 681b ldr r3, [r3, #0] - 800e94a: 2b00 cmp r3, #0 - 800e94c: d113 bne.n 800e976 <_ZN9Container12getSingletonEv+0x36> - singleton = new Container(); - 800e94e: f04f 0004 mov.w r0, #4 ; 0x4 - 800e952: f008 fdb5 bl 80174c0 <_Znwj> - 800e956: 4603 mov r3, r0 - 800e958: 603b str r3, [r7, #0] - 800e95a: 683a ldr r2, [r7, #0] - 800e95c: 2a00 cmp r2, #0 - 800e95e: d005 beq.n 800e96c <_ZN9Container12getSingletonEv+0x2c> - 800e960: 6838 ldr r0, [r7, #0] - 800e962: f7ff ff9f bl 800e8a4 <_ZN9ContainerC1Ev> - 800e966: 683b ldr r3, [r7, #0] - 800e968: 607b str r3, [r7, #4] - 800e96a: e001 b.n 800e970 <_ZN9Container12getSingletonEv+0x30> - 800e96c: 683a ldr r2, [r7, #0] - 800e96e: 607a str r2, [r7, #4] - 800e970: 4b04 ldr r3, [pc, #16] (800e984 <_ZN9Container12getSingletonEv+0x44>) - 800e972: 687a ldr r2, [r7, #4] - 800e974: 601a str r2, [r3, #0] - - return singleton; - 800e976: 4b03 ldr r3, [pc, #12] (800e984 <_ZN9Container12getSingletonEv+0x44>) - 800e978: 681b ldr r3, [r3, #0] -} - 800e97a: 4618 mov r0, r3 - 800e97c: f107 0708 add.w r7, r7, #8 ; 0x8 - 800e980: 46bd mov sp, r7 - 800e982: bd80 pop {r7, pc} - 800e984: 20000574 .word 0x20000574 - -0800e988 <_ZN9ContainerC2Ev>: - -Container::Container() - 800e988: b580 push {r7, lr} - 800e98a: b08a sub sp, #40 - 800e98c: af02 add r7, sp, #8 - 800e98e: 6178 str r0, [r7, #20] -{ -#ifdef ROBOTHW - Timer* timer3 = new Timer(TIM3, PERIOD_TIMER_SERVO, PRESCALER_TIMER_SERVO, CLOCK_TIMER_SERVO); - 800e990: f04f 000c mov.w r0, #12 ; 0xc - 800e994: f008 fd94 bl 80174c0 <_Znwj> - 800e998: 4603 mov r3, r0 - 800e99a: 607b str r3, [r7, #4] - 800e99c: 687a ldr r2, [r7, #4] - 800e99e: 2a00 cmp r2, #0 - 800e9a0: d00d beq.n 800e9be <_ZN9ContainerC2Ev+0x36> - 800e9a2: f04f 0300 mov.w r3, #0 ; 0x0 - 800e9a6: 9300 str r3, [sp, #0] - 800e9a8: 6878 ldr r0, [r7, #4] - 800e9aa: 491b ldr r1, [pc, #108] (800ea18 <_ZN9ContainerC2Ev+0x90>) - 800e9ac: f644 6220 movw r2, #20000 ; 0x4e20 - 800e9b0: f04f 03a7 mov.w r3, #167 ; 0xa7 - 800e9b4: f007 fd6c bl 8016490 <_ZN5TimerC1EP11TIM_TypeDefttNS_11ClkDivisionE> - 800e9b8: 687b ldr r3, [r7, #4] - 800e9ba: 60bb str r3, [r7, #8] - 800e9bc: e001 b.n 800e9c2 <_ZN9ContainerC2Ev+0x3a> - 800e9be: 687a ldr r2, [r7, #4] - 800e9c0: 60ba str r2, [r7, #8] - 800e9c2: 68bb ldr r3, [r7, #8] - 800e9c4: 61fb str r3, [r7, #28] - TIM_CtrlPWMOutputs(TIM3, ENABLE); - 800e9c6: 4814 ldr r0, [pc, #80] (800ea18 <_ZN9ContainerC2Ev+0x90>) - 800e9c8: f04f 0101 mov.w r1, #1 ; 0x1 - 800e9cc: f7fd fd30 bl 800c430 - - servo = new Servo(timer3, 2, 0.01f, 0.11f); - 800e9d0: f04f 0014 mov.w r0, #20 ; 0x14 - 800e9d4: f008 fd74 bl 80174c0 <_Znwj> - 800e9d8: 4603 mov r3, r0 - 800e9da: 60fb str r3, [r7, #12] - 800e9dc: 68fa ldr r2, [r7, #12] - 800e9de: 2a00 cmp r2, #0 - 800e9e0: d00b beq.n 800e9fa <_ZN9ContainerC2Ev+0x72> - 800e9e2: 4b0e ldr r3, [pc, #56] (800ea1c <_ZN9ContainerC2Ev+0x94>) - 800e9e4: 9300 str r3, [sp, #0] - 800e9e6: 68f8 ldr r0, [r7, #12] - 800e9e8: 69f9 ldr r1, [r7, #28] - 800e9ea: f04f 0202 mov.w r2, #2 ; 0x2 - 800e9ee: 4b0c ldr r3, [pc, #48] (800ea20 <_ZN9ContainerC2Ev+0x98>) - 800e9f0: f001 fcb8 bl 8010364 <_ZN5ServoC1EP5Timerhff> - 800e9f4: 68fb ldr r3, [r7, #12] - 800e9f6: 613b str r3, [r7, #16] - 800e9f8: e001 b.n 800e9fe <_ZN9ContainerC2Ev+0x76> - 800e9fa: 68fa ldr r2, [r7, #12] - 800e9fc: 613a str r2, [r7, #16] - 800e9fe: 697b ldr r3, [r7, #20] - 800ea00: 693a ldr r2, [r7, #16] - 800ea02: 601a str r2, [r3, #0] - close(); - 800ea04: 6978 ldr r0, [r7, #20] - 800ea06: f7ff ff2d bl 800e864 <_ZN9Container5closeEv> -#endif -} - 800ea0a: 697b ldr r3, [r7, #20] - 800ea0c: 4618 mov r0, r3 - 800ea0e: f107 0720 add.w r7, r7, #32 ; 0x20 - 800ea12: 46bd mov sp, r7 - 800ea14: bd80 pop {r7, pc} - 800ea16: 46c0 nop (mov r8, r8) - 800ea18: 40000400 .word 0x40000400 - 800ea1c: 3de147ae .word 0x3de147ae - 800ea20: 3c23d70a .word 0x3c23d70a - -0800ea24 <_ZN8Marteaux14rangerBasDroitEv>: - } - void releverBasDroit() - { - ServosNumeriques::moveToAtSpeed(MBD_RELEVE, MBD_VITESSE_MONTEE, MBD_ID); - } - void rangerBasDroit() - 800ea24: b580 push {r7, lr} - 800ea26: af00 add r7, sp, #0 - { - ServosNumeriques::moveToAtSpeed(MBD_RANGE, MBD_VITESSE_RANGEMENT, MBD_ID); - 800ea28: f240 10ff movw r0, #511 ; 0x1ff - 800ea2c: f44f 7180 mov.w r1, #256 ; 0x100 - 800ea30: f04f 020a mov.w r2, #10 ; 0xa - 800ea34: f008 fb72 bl 801711c <_ZN16ServosNumeriques13moveToAtSpeedEtth> - } - 800ea38: 46bd mov sp, r7 - 800ea3a: bd80 pop {r7, pc} - -0800ea3c <_ZN8Marteaux15releverBasDroitEv>: - - void enfoncerBasDroit() - { - ServosNumeriques::moveToAtSpeed(MBD_ENFONCE, MBD_VITESSE_DESCENTE, MBD_ID); - } - void releverBasDroit() - 800ea3c: b580 push {r7, lr} - 800ea3e: af00 add r7, sp, #0 - { - ServosNumeriques::moveToAtSpeed(MBD_RELEVE, MBD_VITESSE_MONTEE, MBD_ID); - 800ea40: f44f 70a0 mov.w r0, #320 ; 0x140 - 800ea44: f44f 7100 mov.w r1, #512 ; 0x200 - 800ea48: f04f 020a mov.w r2, #10 ; 0xa - 800ea4c: f008 fb66 bl 801711c <_ZN16ServosNumeriques13moveToAtSpeedEtth> - } - 800ea50: 46bd mov sp, r7 - 800ea52: bd80 pop {r7, pc} - -0800ea54 <_ZN8Marteaux16enfoncerBasDroitEv>: - void rangerHautDroit() - { - ServosNumeriques::moveToAtSpeed(MHD_RANGE, MHD_VITESSE_RANGEMENT, MHD_ID); - } - - void enfoncerBasDroit() - 800ea54: b580 push {r7, lr} - 800ea56: af00 add r7, sp, #0 - { - ServosNumeriques::moveToAtSpeed(MBD_ENFONCE, MBD_VITESSE_DESCENTE, MBD_ID); - 800ea58: f04f 0090 mov.w r0, #144 ; 0x90 - 800ea5c: f240 71ff movw r1, #2047 ; 0x7ff - 800ea60: f04f 020a mov.w r2, #10 ; 0xa - 800ea64: f008 fb5a bl 801711c <_ZN16ServosNumeriques13moveToAtSpeedEtth> - } - 800ea68: 46bd mov sp, r7 - 800ea6a: bd80 pop {r7, pc} - -0800ea6c <_ZN8Marteaux15rangerHautDroitEv>: - } - void releverHautDroit() - { - ServosNumeriques::moveToAtSpeed(MHD_RELEVE, MHD_VITESSE_MONTEE, MHD_ID); - } - void rangerHautDroit() - 800ea6c: b580 push {r7, lr} - 800ea6e: af00 add r7, sp, #0 - { - ServosNumeriques::moveToAtSpeed(MHD_RANGE, MHD_VITESSE_RANGEMENT, MHD_ID); - 800ea70: f44f 7010 mov.w r0, #576 ; 0x240 - 800ea74: f44f 61a0 mov.w r1, #1280 ; 0x500 - 800ea78: f04f 020b mov.w r2, #11 ; 0xb - 800ea7c: f008 fb4e bl 801711c <_ZN16ServosNumeriques13moveToAtSpeedEtth> - } - 800ea80: 46bd mov sp, r7 - 800ea82: bd80 pop {r7, pc} - -0800ea84 <_ZN8Marteaux16releverHautDroitEv>: - - void enfoncerHautDroit() - { - ServosNumeriques::moveToAtSpeed(MHD_ENFONCE, MHD_VITESSE_DESCENTE, MHD_ID); - } - void releverHautDroit() - 800ea84: b580 push {r7, lr} - 800ea86: af00 add r7, sp, #0 - { - ServosNumeriques::moveToAtSpeed(MHD_RELEVE, MHD_VITESSE_MONTEE, MHD_ID); - 800ea88: f44f 7068 mov.w r0, #928 ; 0x3a0 - 800ea8c: f44f 7100 mov.w r1, #512 ; 0x200 - 800ea90: f04f 020b mov.w r2, #11 ; 0xb - 800ea94: f008 fb42 bl 801711c <_ZN16ServosNumeriques13moveToAtSpeedEtth> - } - 800ea98: 46bd mov sp, r7 - 800ea9a: bd80 pop {r7, pc} - -0800ea9c <_ZN8Marteaux17enfoncerHautDroitEv>: - void rangerBasGauche() - { - ServosNumeriques::moveToAtSpeed(MBG_RANGE, MBG_VITESSE_RANGEMENT, MBG_ID); - } - - void enfoncerHautDroit() - 800ea9c: b580 push {r7, lr} - 800ea9e: af00 add r7, sp, #0 - { - ServosNumeriques::moveToAtSpeed(MHD_ENFONCE, MHD_VITESSE_DESCENTE, MHD_ID); - 800eaa0: f44f 704c mov.w r0, #816 ; 0x330 - 800eaa4: f240 71ff movw r1, #2047 ; 0x7ff - 800eaa8: f04f 020b mov.w r2, #11 ; 0xb - 800eaac: f008 fb36 bl 801711c <_ZN16ServosNumeriques13moveToAtSpeedEtth> - } - 800eab0: 46bd mov sp, r7 - 800eab2: bd80 pop {r7, pc} - -0800eab4 <_ZN8Marteaux15rangerBasGaucheEv>: - } - void releverBasGauche() - { - ServosNumeriques::moveToAtSpeed(MBG_RELEVE, MBG_VITESSE_MONTEE, MBG_ID); - } - void rangerBasGauche() - 800eab4: b580 push {r7, lr} - 800eab6: af00 add r7, sp, #0 - { - ServosNumeriques::moveToAtSpeed(MBG_RANGE, MBG_VITESSE_RANGEMENT, MBG_ID); - 800eab8: f44f 7004 mov.w r0, #528 ; 0x210 - 800eabc: f44f 61a0 mov.w r1, #1280 ; 0x500 - 800eac0: f04f 020d mov.w r2, #13 ; 0xd - 800eac4: f008 fb2a bl 801711c <_ZN16ServosNumeriques13moveToAtSpeedEtth> - } - 800eac8: 46bd mov sp, r7 - 800eaca: bd80 pop {r7, pc} - -0800eacc <_ZN8Marteaux16releverBasGaucheEv>: - - void enfoncerBasGauche() - { - ServosNumeriques::moveToAtSpeed(MBG_ENFONCE, MBG_VITESSE_DESCENTE, MBG_ID); - } - void releverBasGauche() - 800eacc: b580 push {r7, lr} - 800eace: af00 add r7, sp, #0 - { - ServosNumeriques::moveToAtSpeed(MBG_RELEVE, MBG_VITESSE_MONTEE, MBG_ID); - 800ead0: f44f 7030 mov.w r0, #704 ; 0x2c0 - 800ead4: f44f 61c0 mov.w r1, #1536 ; 0x600 - 800ead8: f04f 020d mov.w r2, #13 ; 0xd - 800eadc: f008 fb1e bl 801711c <_ZN16ServosNumeriques13moveToAtSpeedEtth> - } - 800eae0: 46bd mov sp, r7 - 800eae2: bd80 pop {r7, pc} - -0800eae4 <_ZN8Marteaux17enfoncerBasGaucheEv>: - void rangerHautGauche() - { - ServosNumeriques::moveToAtSpeed(MHG_RANGE, MHG_VITESSE_RANGEMENT, MHG_ID); - } - - void enfoncerBasGauche() - 800eae4: b580 push {r7, lr} - 800eae6: af00 add r7, sp, #0 - { - ServosNumeriques::moveToAtSpeed(MBG_ENFONCE, MBG_VITESSE_DESCENTE, MBG_ID); - 800eae8: f44f 7058 mov.w r0, #864 ; 0x360 - 800eaec: f240 31ff movw r1, #1023 ; 0x3ff - 800eaf0: f04f 020d mov.w r2, #13 ; 0xd - 800eaf4: f008 fb12 bl 801711c <_ZN16ServosNumeriques13moveToAtSpeedEtth> - } - 800eaf8: 46bd mov sp, r7 - 800eafa: bd80 pop {r7, pc} - -0800eafc <_ZN8Marteaux16rangerHautGaucheEv>: - } - void releverHautGauche() - { - ServosNumeriques::moveToAtSpeed(MHG_RELEVE, MHG_VITESSE_MONTEE, MHG_ID); - } - void rangerHautGauche() - 800eafc: b580 push {r7, lr} - 800eafe: af00 add r7, sp, #0 - { - ServosNumeriques::moveToAtSpeed(MHG_RANGE, MHG_VITESSE_RANGEMENT, MHG_ID); - 800eb00: f44f 70f0 mov.w r0, #480 ; 0x1e0 - 800eb04: f44f 7180 mov.w r1, #256 ; 0x100 - 800eb08: f04f 020c mov.w r2, #12 ; 0xc - 800eb0c: f008 fb06 bl 801711c <_ZN16ServosNumeriques13moveToAtSpeedEtth> - } - 800eb10: 46bd mov sp, r7 - 800eb12: bd80 pop {r7, pc} - -0800eb14 <_ZN8Marteaux13rangerMarteauEbb>: - releverHautGauche(); - else - releverHautDroit(); - } - } - void rangerMarteau(bool bas, bool gauche) - 800eb14: b580 push {r7, lr} - 800eb16: b082 sub sp, #8 - 800eb18: af00 add r7, sp, #0 - 800eb1a: 4603 mov r3, r0 - 800eb1c: 460a mov r2, r1 - 800eb1e: 71fb strb r3, [r7, #7] - 800eb20: 4613 mov r3, r2 - 800eb22: 71bb strb r3, [r7, #6] - { - if (bas) - 800eb24: 79fb ldrb r3, [r7, #7] - 800eb26: 2b00 cmp r3, #0 - 800eb28: d008 beq.n 800eb3c <_ZN8Marteaux13rangerMarteauEbb+0x28> - { - if (gauche) - 800eb2a: 79bb ldrb r3, [r7, #6] - 800eb2c: 2b00 cmp r3, #0 - 800eb2e: d002 beq.n 800eb36 <_ZN8Marteaux13rangerMarteauEbb+0x22> - rangerBasGauche(); - 800eb30: f7ff ffc0 bl 800eab4 <_ZN8Marteaux15rangerBasGaucheEv> - 800eb34: e00a b.n 800eb4c <_ZN8Marteaux13rangerMarteauEbb+0x38> - else - rangerBasDroit(); - 800eb36: f7ff ff75 bl 800ea24 <_ZN8Marteaux14rangerBasDroitEv> - 800eb3a: e007 b.n 800eb4c <_ZN8Marteaux13rangerMarteauEbb+0x38> - } - else - { - if (gauche) - 800eb3c: 79bb ldrb r3, [r7, #6] - 800eb3e: 2b00 cmp r3, #0 - 800eb40: d002 beq.n 800eb48 <_ZN8Marteaux13rangerMarteauEbb+0x34> - rangerHautGauche(); - 800eb42: f7ff ffdb bl 800eafc <_ZN8Marteaux16rangerHautGaucheEv> - 800eb46: e001 b.n 800eb4c <_ZN8Marteaux13rangerMarteauEbb+0x38> - else - rangerHautDroit(); - 800eb48: f7ff ff90 bl 800ea6c <_ZN8Marteaux15rangerHautDroitEv> - } - } - 800eb4c: f107 0708 add.w r7, r7, #8 ; 0x8 - 800eb50: 46bd mov sp, r7 - 800eb52: bd80 pop {r7, pc} - -0800eb54 <_ZN8Marteaux17releverHautGaucheEv>: -#ifdef ROBOTHW - void enfoncerHautGauche() - { - ServosNumeriques::moveToAtSpeed(MHG_ENFONCE, MHG_VITESSE_DESCENTE, MHG_ID); - } - void releverHautGauche() - 800eb54: b580 push {r7, lr} - 800eb56: af00 add r7, sp, #0 - { - ServosNumeriques::moveToAtSpeed(MHG_RELEVE, MHG_VITESSE_MONTEE, MHG_ID); - 800eb58: f04f 0090 mov.w r0, #144 ; 0x90 - 800eb5c: f44f 61c0 mov.w r1, #1536 ; 0x600 - 800eb60: f04f 020c mov.w r2, #12 ; 0xc - 800eb64: f008 fada bl 801711c <_ZN16ServosNumeriques13moveToAtSpeedEtth> - } - 800eb68: 46bd mov sp, r7 - 800eb6a: bd80 pop {r7, pc} - -0800eb6c <_ZN8Marteaux14releverMarteauEbb>: - enfoncerHautGauche(); - else - enfoncerHautDroit(); - } - } - void releverMarteau(bool bas, bool gauche) - 800eb6c: b580 push {r7, lr} - 800eb6e: b082 sub sp, #8 - 800eb70: af00 add r7, sp, #0 - 800eb72: 4603 mov r3, r0 - 800eb74: 460a mov r2, r1 - 800eb76: 71fb strb r3, [r7, #7] - 800eb78: 4613 mov r3, r2 - 800eb7a: 71bb strb r3, [r7, #6] - { - if (bas) - 800eb7c: 79fb ldrb r3, [r7, #7] - 800eb7e: 2b00 cmp r3, #0 - 800eb80: d008 beq.n 800eb94 <_ZN8Marteaux14releverMarteauEbb+0x28> - { - if (gauche) - 800eb82: 79bb ldrb r3, [r7, #6] - 800eb84: 2b00 cmp r3, #0 - 800eb86: d002 beq.n 800eb8e <_ZN8Marteaux14releverMarteauEbb+0x22> - releverBasGauche(); - 800eb88: f7ff ffa0 bl 800eacc <_ZN8Marteaux16releverBasGaucheEv> - 800eb8c: e00a b.n 800eba4 <_ZN8Marteaux14releverMarteauEbb+0x38> - else - releverBasDroit(); - 800eb8e: f7ff ff55 bl 800ea3c <_ZN8Marteaux15releverBasDroitEv> - 800eb92: e007 b.n 800eba4 <_ZN8Marteaux14releverMarteauEbb+0x38> - } - else - { - if (gauche) - 800eb94: 79bb ldrb r3, [r7, #6] - 800eb96: 2b00 cmp r3, #0 - 800eb98: d002 beq.n 800eba0 <_ZN8Marteaux14releverMarteauEbb+0x34> - releverHautGauche(); - 800eb9a: f7ff ffdb bl 800eb54 <_ZN8Marteaux17releverHautGaucheEv> - 800eb9e: e001 b.n 800eba4 <_ZN8Marteaux14releverMarteauEbb+0x38> - else - releverHautDroit(); - 800eba0: f7ff ff70 bl 800ea84 <_ZN8Marteaux16releverHautDroitEv> - } - } - 800eba4: f107 0708 add.w r7, r7, #8 ; 0x8 - 800eba8: 46bd mov sp, r7 - 800ebaa: bd80 pop {r7, pc} - -0800ebac <_ZN8Marteaux18enfoncerHautGaucheEv>: -#include "interfaceServosNumeriques.h" - -namespace Marteaux -{ -#ifdef ROBOTHW - void enfoncerHautGauche() - 800ebac: b580 push {r7, lr} - 800ebae: af00 add r7, sp, #0 - { - ServosNumeriques::moveToAtSpeed(MHG_ENFONCE, MHG_VITESSE_DESCENTE, MHG_ID); - 800ebb0: f44f 7080 mov.w r0, #256 ; 0x100 - 800ebb4: f240 31ff movw r1, #1023 ; 0x3ff - 800ebb8: f04f 020c mov.w r2, #12 ; 0xc - 800ebbc: f008 faae bl 801711c <_ZN16ServosNumeriques13moveToAtSpeedEtth> - } - 800ebc0: 46bd mov sp, r7 - 800ebc2: bd80 pop {r7, pc} - -0800ebc4 <_ZN8Marteaux15enfoncerMarteauEbb>: - - void enfoncerBasDroit() {} - void releverBasDroit() {} - void rangerBasDroit() {} -#endif - void enfoncerMarteau(bool bas, bool gauche) - 800ebc4: b580 push {r7, lr} - 800ebc6: b082 sub sp, #8 - 800ebc8: af00 add r7, sp, #0 - 800ebca: 4603 mov r3, r0 - 800ebcc: 460a mov r2, r1 - 800ebce: 71fb strb r3, [r7, #7] - 800ebd0: 4613 mov r3, r2 - 800ebd2: 71bb strb r3, [r7, #6] - { - if (bas) - 800ebd4: 79fb ldrb r3, [r7, #7] - 800ebd6: 2b00 cmp r3, #0 - 800ebd8: d008 beq.n 800ebec <_ZN8Marteaux15enfoncerMarteauEbb+0x28> - { - if (gauche) - 800ebda: 79bb ldrb r3, [r7, #6] - 800ebdc: 2b00 cmp r3, #0 - 800ebde: d002 beq.n 800ebe6 <_ZN8Marteaux15enfoncerMarteauEbb+0x22> - enfoncerBasGauche(); - 800ebe0: f7ff ff80 bl 800eae4 <_ZN8Marteaux17enfoncerBasGaucheEv> - 800ebe4: e00a b.n 800ebfc <_ZN8Marteaux15enfoncerMarteauEbb+0x38> - else - enfoncerBasDroit(); - 800ebe6: f7ff ff35 bl 800ea54 <_ZN8Marteaux16enfoncerBasDroitEv> - 800ebea: e007 b.n 800ebfc <_ZN8Marteaux15enfoncerMarteauEbb+0x38> - } - else - { - if (gauche) - 800ebec: 79bb ldrb r3, [r7, #6] - 800ebee: 2b00 cmp r3, #0 - 800ebf0: d002 beq.n 800ebf8 <_ZN8Marteaux15enfoncerMarteauEbb+0x34> - enfoncerHautGauche(); - 800ebf2: f7ff ffdb bl 800ebac <_ZN8Marteaux18enfoncerHautGaucheEv> - 800ebf6: e001 b.n 800ebfc <_ZN8Marteaux15enfoncerMarteauEbb+0x38> - else - enfoncerHautDroit(); - 800ebf8: f7ff ff50 bl 800ea9c <_ZN8Marteaux17enfoncerHautDroitEv> - } - } - 800ebfc: f107 0708 add.w r7, r7, #8 ; 0x8 - 800ec00: 46bd mov sp, r7 - 800ec02: bd80 pop {r7, pc} - -0800ec04 <_ZN6Moteur6tourneEf>: - #endif - GPIO_InitStructureSortie.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_Init(GPIOx_pwm, &GPIO_InitStructureSortie); -} - -void Moteur::tourne(float rapport) - 800ec04: b580 push {r7, lr} - 800ec06: b082 sub sp, #8 - 800ec08: af00 add r7, sp, #0 - 800ec0a: 6078 str r0, [r7, #4] - 800ec0c: 6039 str r1, [r7, #0] -{ - pwm.setDutyCycle(rapport); - 800ec0e: 687b ldr r3, [r7, #4] - 800ec10: 4618 mov r0, r3 - 800ec12: 6839 ldr r1, [r7, #0] - 800ec14: f006 fcc0 bl 8015598 <_ZN10PWMHandler12setDutyCycleEf> -} - 800ec18: f107 0708 add.w r7, r7, #8 ; 0x8 - 800ec1c: 46bd mov sp, r7 - 800ec1e: bd80 pop {r7, pc} - -0800ec20 <_ZN6MoteurC1EP11TIM_TypeDefhP12GPIO_TypeDeft>: - #include "stm32f4xx_gpio.h" -#elif defined(STM32F10X_MD) || defined(STM32F10X_CL) - #include "stm32f10x_gpio.h" -#endif - -Moteur::Moteur(TIM_TypeDef* TIMx, unsigned char OCx, GPIO_TypeDef* GPIOx_pwm, uint16_t GPIO_Pin_pwm) - 800ec20: b5b0 push {r4, r5, r7, lr} - 800ec22: b088 sub sp, #32 - 800ec24: af02 add r7, sp, #8 - 800ec26: 60f8 str r0, [r7, #12] - 800ec28: 60b9 str r1, [r7, #8] - 800ec2a: 603b str r3, [r7, #0] - 800ec2c: 4613 mov r3, r2 - 800ec2e: 71fb strb r3, [r7, #7] - : pwm(new Timer(TIMx, PERIOD_TIMER_MOTEUR, PRESCALER_TIMER_MOTEUR, CLOCK_TIMER_MOTEUR), OCx) - 800ec30: 68fd ldr r5, [r7, #12] - 800ec32: f04f 000c mov.w r0, #12 ; 0xc - 800ec36: f008 fc43 bl 80174c0 <_Znwj> - 800ec3a: 4603 mov r3, r0 - 800ec3c: 461c mov r4, r3 - 800ec3e: f04f 0300 mov.w r3, #0 ; 0x0 - 800ec42: 9300 str r3, [sp, #0] - 800ec44: 4620 mov r0, r4 - 800ec46: 68b9 ldr r1, [r7, #8] - 800ec48: f240 628f movw r2, #1679 ; 0x68f - 800ec4c: f04f 0301 mov.w r3, #1 ; 0x1 - 800ec50: f007 fc1e bl 8016490 <_ZN5TimerC1EP11TIM_TypeDefttNS_11ClkDivisionE> - 800ec54: 79fb ldrb r3, [r7, #7] - 800ec56: 4628 mov r0, r5 - 800ec58: 4621 mov r1, r4 - 800ec5a: 461a mov r2, r3 - 800ec5c: f006 fcbe bl 80155dc <_ZN10PWMHandlerC1EP5Timerh> -{ - GPIO_InitTypeDef GPIO_InitStructureSortie; - GPIO_InitStructureSortie.GPIO_Pin = GPIO_Pin_pwm; - 800ec60: 8d3b ldrh r3, [r7, #40] - 800ec62: 613b str r3, [r7, #16] - #ifdef STM32F40_41xxx - GPIO_InitStructureSortie.GPIO_Mode = GPIO_Mode_AF; - 800ec64: f04f 0302 mov.w r3, #2 ; 0x2 - 800ec68: 753b strb r3, [r7, #20] - GPIO_InitStructureSortie.GPIO_OType = GPIO_OType_PP; - 800ec6a: f04f 0300 mov.w r3, #0 ; 0x0 - 800ec6e: 75bb strb r3, [r7, #22] - #elif defined(STM32F10X_MD) || defined(STM32F10X_CL) - GPIO_InitStructureSortie.GPIO_Mode = GPIO_Mode_AF_PP; - #endif - GPIO_InitStructureSortie.GPIO_Speed = GPIO_Speed_50MHz; - 800ec70: f04f 0302 mov.w r3, #2 ; 0x2 - 800ec74: 757b strb r3, [r7, #21] - GPIO_Init(GPIOx_pwm, &GPIO_InitStructureSortie); - 800ec76: f107 0310 add.w r3, r7, #16 ; 0x10 - 800ec7a: 6838 ldr r0, [r7, #0] - 800ec7c: 4619 mov r1, r3 - 800ec7e: f7fa ff63 bl 8009b48 -} - 800ec82: 68fb ldr r3, [r7, #12] - 800ec84: 4618 mov r0, r3 - 800ec86: f107 0718 add.w r7, r7, #24 ; 0x18 - 800ec8a: 46bd mov sp, r7 - 800ec8c: bdb0 pop {r4, r5, r7, pc} - 800ec8e: 46c0 nop (mov r8, r8) - -0800ec90 <_ZN6MoteurC2EP11TIM_TypeDefhP12GPIO_TypeDeft>: - #include "stm32f4xx_gpio.h" -#elif defined(STM32F10X_MD) || defined(STM32F10X_CL) - #include "stm32f10x_gpio.h" -#endif - -Moteur::Moteur(TIM_TypeDef* TIMx, unsigned char OCx, GPIO_TypeDef* GPIOx_pwm, uint16_t GPIO_Pin_pwm) - 800ec90: b5b0 push {r4, r5, r7, lr} - 800ec92: b088 sub sp, #32 - 800ec94: af02 add r7, sp, #8 - 800ec96: 60f8 str r0, [r7, #12] - 800ec98: 60b9 str r1, [r7, #8] - 800ec9a: 603b str r3, [r7, #0] - 800ec9c: 4613 mov r3, r2 - 800ec9e: 71fb strb r3, [r7, #7] - : pwm(new Timer(TIMx, PERIOD_TIMER_MOTEUR, PRESCALER_TIMER_MOTEUR, CLOCK_TIMER_MOTEUR), OCx) - 800eca0: 68fd ldr r5, [r7, #12] - 800eca2: f04f 000c mov.w r0, #12 ; 0xc - 800eca6: f008 fc0b bl 80174c0 <_Znwj> - 800ecaa: 4603 mov r3, r0 - 800ecac: 461c mov r4, r3 - 800ecae: f04f 0300 mov.w r3, #0 ; 0x0 - 800ecb2: 9300 str r3, [sp, #0] - 800ecb4: 4620 mov r0, r4 - 800ecb6: 68b9 ldr r1, [r7, #8] - 800ecb8: f240 628f movw r2, #1679 ; 0x68f - 800ecbc: f04f 0301 mov.w r3, #1 ; 0x1 - 800ecc0: f007 fbe6 bl 8016490 <_ZN5TimerC1EP11TIM_TypeDefttNS_11ClkDivisionE> - 800ecc4: 79fb ldrb r3, [r7, #7] - 800ecc6: 4628 mov r0, r5 - 800ecc8: 4621 mov r1, r4 - 800ecca: 461a mov r2, r3 - 800eccc: f006 fc86 bl 80155dc <_ZN10PWMHandlerC1EP5Timerh> -{ - GPIO_InitTypeDef GPIO_InitStructureSortie; - GPIO_InitStructureSortie.GPIO_Pin = GPIO_Pin_pwm; - 800ecd0: 8d3b ldrh r3, [r7, #40] - 800ecd2: 613b str r3, [r7, #16] - #ifdef STM32F40_41xxx - GPIO_InitStructureSortie.GPIO_Mode = GPIO_Mode_AF; - 800ecd4: f04f 0302 mov.w r3, #2 ; 0x2 - 800ecd8: 753b strb r3, [r7, #20] - GPIO_InitStructureSortie.GPIO_OType = GPIO_OType_PP; - 800ecda: f04f 0300 mov.w r3, #0 ; 0x0 - 800ecde: 75bb strb r3, [r7, #22] - #elif defined(STM32F10X_MD) || defined(STM32F10X_CL) - GPIO_InitStructureSortie.GPIO_Mode = GPIO_Mode_AF_PP; - #endif - GPIO_InitStructureSortie.GPIO_Speed = GPIO_Speed_50MHz; - 800ece0: f04f 0302 mov.w r3, #2 ; 0x2 - 800ece4: 757b strb r3, [r7, #21] - GPIO_Init(GPIOx_pwm, &GPIO_InitStructureSortie); - 800ece6: f107 0310 add.w r3, r7, #16 ; 0x10 - 800ecea: 6838 ldr r0, [r7, #0] - 800ecec: 4619 mov r1, r3 - 800ecee: f7fa ff2b bl 8009b48 -} - 800ecf2: 68fb ldr r3, [r7, #12] - 800ecf4: 4618 mov r0, r3 - 800ecf6: f107 0718 add.w r7, r7, #24 ; 0x18 - 800ecfa: 46bd mov sp, r7 - 800ecfc: bdb0 pop {r4, r5, r7, pc} - 800ecfe: 46c0 nop (mov r8, r8) - -0800ed00 <_ZN5RouesC1Ev>: -#include "roues.h" - -Roues::Roues() - 800ed00: b580 push {r7, lr} - 800ed02: b086 sub sp, #24 - 800ed04: af04 add r7, sp, #16 - 800ed06: 6078 str r0, [r7, #4] -#endif -#ifdef STM32F10X_CL // pour la STM32 H107 2013 v2 : - : droite(TIM5, 4, GPIOA, GPIO_Pin_3, GPIOD, GPIO_Pin_4), gauche(TIM5, 2, GPIOA, GPIO_Pin_1, GPIOD, GPIO_Pin_6) -#endif -#ifdef STM32F40_41xxx // pour la STM32 H405 2014 v1 : - : droite(TIM2, 2, GPIOA, GPIO_Pin_0, GPIOA, GPIO_Pin_4), gauche(TIM2, 1, GPIOA, GPIO_Pin_1, GPIOC, GPIO_Pin_4) - 800ed08: 687a ldr r2, [r7, #4] - 800ed0a: f04f 0302 mov.w r3, #2 ; 0x2 - 800ed0e: 9300 str r3, [sp, #0] - 800ed10: 4b12 ldr r3, [pc, #72] (800ed5c <_ZN5RouesC1Ev+0x5c>) - 800ed12: 9301 str r3, [sp, #4] - 800ed14: f04f 0310 mov.w r3, #16 ; 0x10 - 800ed18: 9302 str r3, [sp, #8] - 800ed1a: 4610 mov r0, r2 - 800ed1c: f04f 4180 mov.w r1, #1073741824 ; 0x40000000 - 800ed20: f04f 0201 mov.w r2, #1 ; 0x1 - 800ed24: 4b0e ldr r3, [pc, #56] (800ed60 <_ZN5RouesC1Ev+0x60>) - 800ed26: f007 f92f bl 8015f88 <_ZN4RoueC1EP11TIM_TypeDefhP12GPIO_TypeDeftS3_t> - 800ed2a: 687b ldr r3, [r7, #4] - 800ed2c: f103 0210 add.w r2, r3, #16 ; 0x10 - 800ed30: f04f 0301 mov.w r3, #1 ; 0x1 - 800ed34: 9300 str r3, [sp, #0] - 800ed36: 4b0a ldr r3, [pc, #40] (800ed60 <_ZN5RouesC1Ev+0x60>) - 800ed38: 9301 str r3, [sp, #4] - 800ed3a: f04f 0310 mov.w r3, #16 ; 0x10 - 800ed3e: 9302 str r3, [sp, #8] - 800ed40: 4610 mov r0, r2 - 800ed42: f04f 4180 mov.w r1, #1073741824 ; 0x40000000 - 800ed46: f04f 0202 mov.w r2, #2 ; 0x2 - 800ed4a: 4b05 ldr r3, [pc, #20] (800ed60 <_ZN5RouesC1Ev+0x60>) - 800ed4c: f007 f91c bl 8015f88 <_ZN4RoueC1EP11TIM_TypeDefhP12GPIO_TypeDeftS3_t> -#endif - -{ -} - 800ed50: 687b ldr r3, [r7, #4] - 800ed52: 4618 mov r0, r3 - 800ed54: f107 0708 add.w r7, r7, #8 ; 0x8 - 800ed58: 46bd mov sp, r7 - 800ed5a: bd80 pop {r7, pc} - 800ed5c: 40020800 .word 0x40020800 - 800ed60: 40020000 .word 0x40020000 - -0800ed64 <_ZN5RouesC2Ev>: -#include "roues.h" - -Roues::Roues() - 800ed64: b580 push {r7, lr} - 800ed66: b086 sub sp, #24 - 800ed68: af04 add r7, sp, #16 - 800ed6a: 6078 str r0, [r7, #4] -#endif -#ifdef STM32F10X_CL // pour la STM32 H107 2013 v2 : - : droite(TIM5, 4, GPIOA, GPIO_Pin_3, GPIOD, GPIO_Pin_4), gauche(TIM5, 2, GPIOA, GPIO_Pin_1, GPIOD, GPIO_Pin_6) -#endif -#ifdef STM32F40_41xxx // pour la STM32 H405 2014 v1 : - : droite(TIM2, 2, GPIOA, GPIO_Pin_0, GPIOA, GPIO_Pin_4), gauche(TIM2, 1, GPIOA, GPIO_Pin_1, GPIOC, GPIO_Pin_4) - 800ed6c: 687a ldr r2, [r7, #4] - 800ed6e: f04f 0302 mov.w r3, #2 ; 0x2 - 800ed72: 9300 str r3, [sp, #0] - 800ed74: 4b12 ldr r3, [pc, #72] (800edc0 <_ZN5RouesC2Ev+0x5c>) - 800ed76: 9301 str r3, [sp, #4] - 800ed78: f04f 0310 mov.w r3, #16 ; 0x10 - 800ed7c: 9302 str r3, [sp, #8] - 800ed7e: 4610 mov r0, r2 - 800ed80: f04f 4180 mov.w r1, #1073741824 ; 0x40000000 - 800ed84: f04f 0201 mov.w r2, #1 ; 0x1 - 800ed88: 4b0e ldr r3, [pc, #56] (800edc4 <_ZN5RouesC2Ev+0x60>) - 800ed8a: f007 f8fd bl 8015f88 <_ZN4RoueC1EP11TIM_TypeDefhP12GPIO_TypeDeftS3_t> - 800ed8e: 687b ldr r3, [r7, #4] - 800ed90: f103 0210 add.w r2, r3, #16 ; 0x10 - 800ed94: f04f 0301 mov.w r3, #1 ; 0x1 - 800ed98: 9300 str r3, [sp, #0] - 800ed9a: 4b0a ldr r3, [pc, #40] (800edc4 <_ZN5RouesC2Ev+0x60>) - 800ed9c: 9301 str r3, [sp, #4] - 800ed9e: f04f 0310 mov.w r3, #16 ; 0x10 - 800eda2: 9302 str r3, [sp, #8] - 800eda4: 4610 mov r0, r2 - 800eda6: f04f 4180 mov.w r1, #1073741824 ; 0x40000000 - 800edaa: f04f 0202 mov.w r2, #2 ; 0x2 - 800edae: 4b05 ldr r3, [pc, #20] (800edc4 <_ZN5RouesC2Ev+0x60>) - 800edb0: f007 f8ea bl 8015f88 <_ZN4RoueC1EP11TIM_TypeDefhP12GPIO_TypeDeftS3_t> -#endif - -{ -} - 800edb4: 687b ldr r3, [r7, #4] - 800edb6: 4618 mov r0, r3 - 800edb8: f107 0708 add.w r7, r7, #8 ; 0x8 - 800edbc: 46bd mov sp, r7 - 800edbe: bd80 pop {r7, pc} - 800edc0: 40020800 .word 0x40020800 - 800edc4: 40020000 .word 0x40020000 - -0800edc8 <_ZN6SensorC2Ev>: -#include "sensor.h" - -Sensor::Sensor() - 800edc8: b480 push {r7} - 800edca: b083 sub sp, #12 - 800edcc: af00 add r7, sp, #0 - 800edce: 6078 str r0, [r7, #4] - 800edd0: 687a ldr r2, [r7, #4] - 800edd2: 4b04 ldr r3, [pc, #16] (800ede4 <_ZN6SensorC2Ev+0x1c>) - 800edd4: 6013 str r3, [r2, #0] -{ -} - 800edd6: 687b ldr r3, [r7, #4] - 800edd8: 4618 mov r0, r3 - 800edda: f107 070c add.w r7, r7, #12 ; 0xc - 800edde: 46bd mov sp, r7 - 800ede0: bc80 pop {r7} - 800ede2: 4770 bx lr - 800ede4: 08033d78 .word 0x08033d78 - -0800ede8 <_ZN6SensorC1Ev>: -#include "sensor.h" - -Sensor::Sensor() - 800ede8: b480 push {r7} - 800edea: b083 sub sp, #12 - 800edec: af00 add r7, sp, #0 - 800edee: 6078 str r0, [r7, #4] - 800edf0: 687a ldr r2, [r7, #4] - 800edf2: 4b04 ldr r3, [pc, #16] (800ee04 <_ZN6SensorC1Ev+0x1c>) - 800edf4: 6013 str r3, [r2, #0] -{ -} - 800edf6: 687b ldr r3, [r7, #4] - 800edf8: 4618 mov r0, r3 - 800edfa: f107 070c add.w r7, r7, #12 ; 0xc - 800edfe: 46bd mov sp, r7 - 800ee00: bc80 pop {r7} - 800ee02: 4770 bx lr - 800ee04: 08033d78 .word 0x08033d78 - -0800ee08 <_ZN6SensorD0Ev>: - -Sensor::~Sensor() - 800ee08: b580 push {r7, lr} - 800ee0a: b082 sub sp, #8 - 800ee0c: af00 add r7, sp, #0 - 800ee0e: 6078 str r0, [r7, #4] - 800ee10: 687a ldr r2, [r7, #4] - 800ee12: 4b08 ldr r3, [pc, #32] (800ee34 <_ZN6SensorD0Ev+0x2c>) - 800ee14: 6013 str r3, [r2, #0] -{ -} - 800ee16: f04f 0301 mov.w r3, #1 ; 0x1 - 800ee1a: b2db uxtb r3, r3 - 800ee1c: 2b00 cmp r3, #0 - 800ee1e: d002 beq.n 800ee26 <_ZN6SensorD0Ev+0x1e> - 800ee20: 6878 ldr r0, [r7, #4] - 800ee22: f008 fbf3 bl 801760c <_ZdlPv> - 800ee26: 687b ldr r3, [r7, #4] - 800ee28: 4618 mov r0, r3 - 800ee2a: f107 0708 add.w r7, r7, #8 ; 0x8 - 800ee2e: 46bd mov sp, r7 - 800ee30: bd80 pop {r7, pc} - 800ee32: 46c0 nop (mov r8, r8) - 800ee34: 08033d78 .word 0x08033d78 - -0800ee38 <_ZN6SensorD1Ev>: - -Sensor::Sensor() -{ -} - -Sensor::~Sensor() - 800ee38: b580 push {r7, lr} - 800ee3a: b082 sub sp, #8 - 800ee3c: af00 add r7, sp, #0 - 800ee3e: 6078 str r0, [r7, #4] - 800ee40: 687a ldr r2, [r7, #4] - 800ee42: 4b08 ldr r3, [pc, #32] (800ee64 <_ZN6SensorD1Ev+0x2c>) - 800ee44: 6013 str r3, [r2, #0] -{ -} - 800ee46: f04f 0300 mov.w r3, #0 ; 0x0 - 800ee4a: b2db uxtb r3, r3 - 800ee4c: 2b00 cmp r3, #0 - 800ee4e: d002 beq.n 800ee56 <_ZN6SensorD1Ev+0x1e> - 800ee50: 6878 ldr r0, [r7, #4] - 800ee52: f008 fbdb bl 801760c <_ZdlPv> - 800ee56: 687b ldr r3, [r7, #4] - 800ee58: 4618 mov r0, r3 - 800ee5a: f107 0708 add.w r7, r7, #8 ; 0x8 - 800ee5e: 46bd mov sp, r7 - 800ee60: bd80 pop {r7, pc} - 800ee62: 46c0 nop (mov r8, r8) - 800ee64: 08033d78 .word 0x08033d78 - -0800ee68 <_ZN6SensorD2Ev>: - -Sensor::Sensor() -{ -} - -Sensor::~Sensor() - 800ee68: b580 push {r7, lr} - 800ee6a: b082 sub sp, #8 - 800ee6c: af00 add r7, sp, #0 - 800ee6e: 6078 str r0, [r7, #4] - 800ee70: 687a ldr r2, [r7, #4] - 800ee72: 4b08 ldr r3, [pc, #32] (800ee94 <_ZN6SensorD2Ev+0x2c>) - 800ee74: 6013 str r3, [r2, #0] -{ -} - 800ee76: f04f 0300 mov.w r3, #0 ; 0x0 - 800ee7a: b2db uxtb r3, r3 - 800ee7c: 2b00 cmp r3, #0 - 800ee7e: d002 beq.n 800ee86 <_ZN6SensorD2Ev+0x1e> - 800ee80: 6878 ldr r0, [r7, #4] - 800ee82: f008 fbc3 bl 801760c <_ZdlPv> - 800ee86: 687b ldr r3, [r7, #4] - 800ee88: 4618 mov r0, r3 - 800ee8a: f107 0708 add.w r7, r7, #8 ; 0x8 - 800ee8e: 46bd mov sp, r7 - 800ee90: bd80 pop {r7, pc} - 800ee92: 46c0 nop (mov r8, r8) - 800ee94: 08033d78 .word 0x08033d78 - -0800ee98 <_ZN7Sensors11sharpDetectEv>: - } - // sharpNameVector->resize(); - return sharpNameVector; -} -#include "leds.h" -bool Sensors::sharpDetect() - 800ee98: b580 push {r7, lr} - 800ee9a: b086 sub sp, #24 - 800ee9c: af00 add r7, sp, #0 - 800ee9e: 6078 str r0, [r7, #4] -{ - for (int i = 0; i< nbSharp; i++) - 800eea0: f04f 0300 mov.w r3, #0 ; 0x0 - 800eea4: 617b str r3, [r7, #20] - 800eea6: e022 b.n 800eeee <_ZN7Sensors11sharpDetectEv+0x56> - { - if (sharps[i]->getValue().b == true) - 800eea8: 687b ldr r3, [r7, #4] - 800eeaa: 685a ldr r2, [r3, #4] - 800eeac: 697b ldr r3, [r7, #20] - 800eeae: ea4f 0383 mov.w r3, r3, lsl #2 - 800eeb2: 4413 add r3, r2 - 800eeb4: 681b ldr r3, [r3, #0] - 800eeb6: 681b ldr r3, [r3, #0] - 800eeb8: f103 0308 add.w r3, r3, #8 ; 0x8 - 800eebc: f8d3 c000 ldr.w ip, [r3] - 800eec0: 687b ldr r3, [r7, #4] - 800eec2: 685a ldr r2, [r3, #4] - 800eec4: 697b ldr r3, [r7, #20] - 800eec6: ea4f 0383 mov.w r3, r3, lsl #2 - 800eeca: 4413 add r3, r2 - 800eecc: 681a ldr r2, [r3, #0] - 800eece: f107 0308 add.w r3, r7, #8 ; 0x8 - 800eed2: 4618 mov r0, r3 - 800eed4: 4611 mov r1, r2 - 800eed6: 47e0 blx ip - 800eed8: 7c3b ldrb r3, [r7, #16] - 800eeda: 2b00 cmp r3, #0 - 800eedc: d003 beq.n 800eee6 <_ZN7Sensors11sharpDetectEv+0x4e> - { - return true; - 800eede: f04f 0301 mov.w r3, #1 ; 0x1 - 800eee2: 603b str r3, [r7, #0] - 800eee4: e00b b.n 800eefe <_ZN7Sensors11sharpDetectEv+0x66> - return sharpNameVector; -} -#include "leds.h" -bool Sensors::sharpDetect() -{ - for (int i = 0; i< nbSharp; i++) - 800eee6: 697b ldr r3, [r7, #20] - 800eee8: f103 0301 add.w r3, r3, #1 ; 0x1 - 800eeec: 617b str r3, [r7, #20] - 800eeee: 687b ldr r3, [r7, #4] - 800eef0: 689a ldr r2, [r3, #8] - 800eef2: 697b ldr r3, [r7, #20] - 800eef4: 429a cmp r2, r3 - 800eef6: dcd7 bgt.n 800eea8 <_ZN7Sensors11sharpDetectEv+0x10> - if (sharps[i]->getValue().b == true) - { - return true; - } - } - return false; // Si aucun capteur n'a ce nom (exemple NONE) - 800eef8: f04f 0300 mov.w r3, #0 ; 0x0 - 800eefc: 603b str r3, [r7, #0] - 800eefe: 683b ldr r3, [r7, #0] -} - 800ef00: 4618 mov r0, r3 - 800ef02: f107 0718 add.w r7, r7, #24 ; 0x18 - 800ef06: 46bd mov sp, r7 - 800ef08: bd80 pop {r7, pc} - 800ef0a: 46c0 nop (mov r8, r8) - -0800ef0c <_ZN7Sensors10getSensorsEv>: - return outputSensorVector; -} - -#endif - -Sensors* Sensors::getSensors() - 800ef0c: b480 push {r7} - 800ef0e: af00 add r7, sp, #0 -{ - return Sensors::sensors; - 800ef10: 4b02 ldr r3, [pc, #8] (800ef1c <_ZN7Sensors10getSensorsEv+0x10>) - 800ef12: 681b ldr r3, [r3, #0] -} - 800ef14: 4618 mov r0, r3 - 800ef16: 46bd mov sp, r7 - 800ef18: bc80 pop {r7} - 800ef1a: 4770 bx lr - 800ef1c: 20000578 .word 0x20000578 - -0800ef20 <_ZN7Sensors19getSharpSensorsListEv>: - sharps[i]->setActif(); - } -} - - -SharpSensor** Sensors::getSharpSensorsList() - 800ef20: b480 push {r7} - 800ef22: b083 sub sp, #12 - 800ef24: af00 add r7, sp, #0 - 800ef26: 6078 str r0, [r7, #4] -{ - return Sensors::sharps; - 800ef28: 687b ldr r3, [r7, #4] - 800ef2a: 685b ldr r3, [r3, #4] -} - 800ef2c: 4618 mov r0, r3 - 800ef2e: f107 070c add.w r7, r7, #12 ; 0xc - 800ef32: 46bd mov sp, r7 - 800ef34: bc80 pop {r7} - 800ef36: 4770 bx lr - -0800ef38 <_ZN7Sensors14activeAllSharpEv>: - sharps[i]->unsetActif(); - break; - } - } -} -void Sensors::activeAllSharp() - 800ef38: b580 push {r7, lr} - 800ef3a: b084 sub sp, #16 - 800ef3c: af00 add r7, sp, #0 - 800ef3e: 6078 str r0, [r7, #4] -{ - for (int i=0; i - { - sharps[i]->setActif(); - 800ef48: 687b ldr r3, [r7, #4] - 800ef4a: 685a ldr r2, [r3, #4] - 800ef4c: 68fb ldr r3, [r7, #12] - 800ef4e: ea4f 0383 mov.w r3, r3, lsl #2 - 800ef52: 4413 add r3, r2 - 800ef54: 681b ldr r3, [r3, #0] - 800ef56: 4618 mov r0, r3 - 800ef58: f007 f8b2 bl 80160c0 <_ZN11SharpSensor8setActifEv> - } - } -} -void Sensors::activeAllSharp() -{ - for (int i=0; i - { - sharps[i]->setActif(); - } -} - 800ef6e: f107 0710 add.w r7, r7, #16 ; 0x10 - 800ef72: 46bd mov sp, r7 - 800ef74: bd80 pop {r7, pc} - 800ef76: 46c0 nop (mov r8, r8) - -0800ef78 <_ZN7Sensors11activeSharpEN11SharpSensor9SharpNameE>: - } - return false; -} -#endif - -void Sensors::activeSharp(SharpSensor::SharpName name) - 800ef78: b580 push {r7, lr} - 800ef7a: b084 sub sp, #16 - 800ef7c: af00 add r7, sp, #0 - 800ef7e: 6078 str r0, [r7, #4] - 800ef80: 460b mov r3, r1 - 800ef82: 70fb strb r3, [r7, #3] -{ - for (int i=0; i - { - if (sharps[i]->getName() == name) - 800ef8c: 687b ldr r3, [r7, #4] - 800ef8e: 685a ldr r2, [r3, #4] - 800ef90: 68fb ldr r3, [r7, #12] - 800ef92: ea4f 0383 mov.w r3, r3, lsl #2 - 800ef96: 4413 add r3, r2 - 800ef98: 681b ldr r3, [r3, #0] - 800ef9a: 4618 mov r0, r3 - 800ef9c: f007 f884 bl 80160a8 <_ZN11SharpSensor7getNameEv> - 800efa0: 4603 mov r3, r0 - 800efa2: 461a mov r2, r3 - 800efa4: 78fb ldrb r3, [r7, #3] - 800efa6: 4293 cmp r3, r2 - 800efa8: bf14 ite ne - 800efaa: 2300 movne r3, #0 - 800efac: 2301 moveq r3, #1 - 800efae: b2db uxtb r3, r3 - 800efb0: 2b00 cmp r3, #0 - 800efb2: d00a beq.n 800efca <_ZN7Sensors11activeSharpEN11SharpSensor9SharpNameE+0x52> - { - sharps[i]->setActif(); - 800efb4: 687b ldr r3, [r7, #4] - 800efb6: 685a ldr r2, [r3, #4] - 800efb8: 68fb ldr r3, [r7, #12] - 800efba: ea4f 0383 mov.w r3, r3, lsl #2 - 800efbe: 4413 add r3, r2 - 800efc0: 681b ldr r3, [r3, #0] - 800efc2: 4618 mov r0, r3 - 800efc4: f007 f87c bl 80160c0 <_ZN11SharpSensor8setActifEv> - 800efc8: e008 b.n 800efdc <_ZN7Sensors11activeSharpEN11SharpSensor9SharpNameE+0x64> -} -#endif - -void Sensors::activeSharp(SharpSensor::SharpName name) -{ - for (int i=0; i - { - sharps[i]->setActif(); - break; - } - } -} - 800efdc: f107 0710 add.w r7, r7, #16 ; 0x10 - 800efe0: 46bd mov sp, r7 - 800efe2: bd80 pop {r7, pc} - -0800efe4 <_ZN7Sensors13detectedSharpEN11SharpSensor9SharpNameE>: - } - } - return false; // Si aucun capteur n'a ce nom (exemple NONE) -} - -bool Sensors::detectedSharp(SharpSensor::SharpName name) - 800efe4: b580 push {r7, lr} - 800efe6: b088 sub sp, #32 - 800efe8: af00 add r7, sp, #0 - 800efea: 60f8 str r0, [r7, #12] - 800efec: 460b mov r3, r1 - 800efee: 72fb strb r3, [r7, #11] -{ - for (int i = 0; i< nbSharp; i++) - 800eff0: f04f 0300 mov.w r3, #0 ; 0x0 - 800eff4: 61fb str r3, [r7, #28] - 800eff6: e032 b.n 800f05e <_ZN7Sensors13detectedSharpEN11SharpSensor9SharpNameE+0x7a> - { - if (sharps[i]->getName() == name) - 800eff8: 68fb ldr r3, [r7, #12] - 800effa: 685a ldr r2, [r3, #4] - 800effc: 69fb ldr r3, [r7, #28] - 800effe: ea4f 0383 mov.w r3, r3, lsl #2 - 800f002: 4413 add r3, r2 - 800f004: 681b ldr r3, [r3, #0] - 800f006: 4618 mov r0, r3 - 800f008: f007 f84e bl 80160a8 <_ZN11SharpSensor7getNameEv> - 800f00c: 4603 mov r3, r0 - 800f00e: 461a mov r2, r3 - 800f010: 7afb ldrb r3, [r7, #11] - 800f012: 4293 cmp r3, r2 - 800f014: bf14 ite ne - 800f016: 2300 movne r3, #0 - 800f018: 2301 moveq r3, #1 - 800f01a: b2db uxtb r3, r3 - 800f01c: 2b00 cmp r3, #0 - 800f01e: d01a beq.n 800f056 <_ZN7Sensors13detectedSharpEN11SharpSensor9SharpNameE+0x72> - return sharps[i]->getValue().b; - 800f020: 68fb ldr r3, [r7, #12] - 800f022: 685a ldr r2, [r3, #4] - 800f024: 69fb ldr r3, [r7, #28] - 800f026: ea4f 0383 mov.w r3, r3, lsl #2 - 800f02a: 4413 add r3, r2 - 800f02c: 681b ldr r3, [r3, #0] - 800f02e: 681b ldr r3, [r3, #0] - 800f030: f103 0308 add.w r3, r3, #8 ; 0x8 - 800f034: f8d3 c000 ldr.w ip, [r3] - 800f038: 68fb ldr r3, [r7, #12] - 800f03a: 685a ldr r2, [r3, #4] - 800f03c: 69fb ldr r3, [r7, #28] - 800f03e: ea4f 0383 mov.w r3, r3, lsl #2 - 800f042: 4413 add r3, r2 - 800f044: 681a ldr r2, [r3, #0] - 800f046: f107 0310 add.w r3, r7, #16 ; 0x10 - 800f04a: 4618 mov r0, r3 - 800f04c: 4611 mov r1, r2 - 800f04e: 47e0 blx ip - 800f050: 7e3b ldrb r3, [r7, #24] - 800f052: 607b str r3, [r7, #4] - 800f054: e00b b.n 800f06e <_ZN7Sensors13detectedSharpEN11SharpSensor9SharpNameE+0x8a> - return false; // Si aucun capteur n'a ce nom (exemple NONE) -} - -bool Sensors::detectedSharp(SharpSensor::SharpName name) -{ - for (int i = 0; i< nbSharp; i++) - 800f056: 69fb ldr r3, [r7, #28] - 800f058: f103 0301 add.w r3, r3, #1 ; 0x1 - 800f05c: 61fb str r3, [r7, #28] - 800f05e: 68fb ldr r3, [r7, #12] - 800f060: 689a ldr r2, [r3, #8] - 800f062: 69fb ldr r3, [r7, #28] - 800f064: 429a cmp r2, r3 - 800f066: dcc7 bgt.n 800eff8 <_ZN7Sensors13detectedSharpEN11SharpSensor9SharpNameE+0x14> - { - if (sharps[i]->getName() == name) - return sharps[i]->getValue().b; - } - return false; // Si aucun capteur n'a ce nom (exemple NONE) - 800f068: f04f 0300 mov.w r3, #0 ; 0x0 - 800f06c: 607b str r3, [r7, #4] - 800f06e: 687b ldr r3, [r7, #4] -} - 800f070: 4618 mov r0, r3 - 800f072: f107 0720 add.w r7, r7, #32 ; 0x20 - 800f076: 46bd mov sp, r7 - 800f078: bd80 pop {r7, pc} - 800f07a: 46c0 nop (mov r8, r8) - -0800f07c <_ZN7Sensors14desactiveSharpEN11SharpSensor9SharpNameE>: - break; - } - } -} - -void Sensors::desactiveSharp(SharpSensor::SharpName name) - 800f07c: b580 push {r7, lr} - 800f07e: b084 sub sp, #16 - 800f080: af00 add r7, sp, #0 - 800f082: 6078 str r0, [r7, #4] - 800f084: 460b mov r3, r1 - 800f086: 70fb strb r3, [r7, #3] -{ - for (int i=0; i - { - if (sharps[i]->getName() == name) - 800f090: 687b ldr r3, [r7, #4] - 800f092: 685a ldr r2, [r3, #4] - 800f094: 68fb ldr r3, [r7, #12] - 800f096: ea4f 0383 mov.w r3, r3, lsl #2 - 800f09a: 4413 add r3, r2 - 800f09c: 681b ldr r3, [r3, #0] - 800f09e: 4618 mov r0, r3 - 800f0a0: f007 f802 bl 80160a8 <_ZN11SharpSensor7getNameEv> - 800f0a4: 4603 mov r3, r0 - 800f0a6: 461a mov r2, r3 - 800f0a8: 78fb ldrb r3, [r7, #3] - 800f0aa: 4293 cmp r3, r2 - 800f0ac: bf14 ite ne - 800f0ae: 2300 movne r3, #0 - 800f0b0: 2301 moveq r3, #1 - 800f0b2: b2db uxtb r3, r3 - 800f0b4: 2b00 cmp r3, #0 - 800f0b6: d00a beq.n 800f0ce <_ZN7Sensors14desactiveSharpEN11SharpSensor9SharpNameE+0x52> - { - sharps[i]->unsetActif(); - 800f0b8: 687b ldr r3, [r7, #4] - 800f0ba: 685a ldr r2, [r3, #4] - 800f0bc: 68fb ldr r3, [r7, #12] - 800f0be: ea4f 0383 mov.w r3, r3, lsl #2 - 800f0c2: 4413 add r3, r2 - 800f0c4: 681b ldr r3, [r3, #0] - 800f0c6: 4618 mov r0, r3 - 800f0c8: f007 f808 bl 80160dc <_ZN11SharpSensor10unsetActifEv> - 800f0cc: e008 b.n 800f0e0 <_ZN7Sensors14desactiveSharpEN11SharpSensor9SharpNameE+0x64> - } -} - -void Sensors::desactiveSharp(SharpSensor::SharpName name) -{ - for (int i=0; i - { - sharps[i]->unsetActif(); - break; - } - } -} - 800f0e0: f107 0710 add.w r7, r7, #16 ; 0x10 - 800f0e4: 46bd mov sp, r7 - 800f0e6: bd80 pop {r7, pc} - -0800f0e8 <_ZN7Sensors19detectedLimitSwitchEN17LimitSwitchSensor15LimitSwitchNameE>: -#endif - // Les autres n'ont pas besoin d'être mis à jour car on obtient la valeur directement en lisant la valeur de la pin -} - -#ifdef ROBOTHW -bool Sensors::detectedLimitSwitch(LimitSwitchSensor::LimitSwitchName limitSwitchName) - 800f0e8: b580 push {r7, lr} - 800f0ea: b088 sub sp, #32 - 800f0ec: af00 add r7, sp, #0 - 800f0ee: 60f8 str r0, [r7, #12] - 800f0f0: 460b mov r3, r1 - 800f0f2: 72fb strb r3, [r7, #11] -{ - for (int i = 0; i - { - if (limitSwitchs[i]->getName() == limitSwitchName) - 800f0fc: 68fb ldr r3, [r7, #12] - 800f0fe: 69da ldr r2, [r3, #28] - 800f100: 69fb ldr r3, [r7, #28] - 800f102: ea4f 0383 mov.w r3, r3, lsl #2 - 800f106: 4413 add r3, r2 - 800f108: 681b ldr r3, [r3, #0] - 800f10a: 4618 mov r0, r3 - 800f10c: f006 f8f0 bl 80152f0 <_ZN17LimitSwitchSensor7getNameEv> - 800f110: 4603 mov r3, r0 - 800f112: 461a mov r2, r3 - 800f114: 7afb ldrb r3, [r7, #11] - 800f116: 4293 cmp r3, r2 - 800f118: bf14 ite ne - 800f11a: 2300 movne r3, #0 - 800f11c: 2301 moveq r3, #1 - 800f11e: b2db uxtb r3, r3 - 800f120: 2b00 cmp r3, #0 - 800f122: d01a beq.n 800f15a <_ZN7Sensors19detectedLimitSwitchEN17LimitSwitchSensor15LimitSwitchNameE+0x72> - { - return limitSwitchs[i]->getValue().b; - 800f124: 68fb ldr r3, [r7, #12] - 800f126: 69da ldr r2, [r3, #28] - 800f128: 69fb ldr r3, [r7, #28] - 800f12a: ea4f 0383 mov.w r3, r3, lsl #2 - 800f12e: 4413 add r3, r2 - 800f130: 681b ldr r3, [r3, #0] - 800f132: 681b ldr r3, [r3, #0] - 800f134: f103 0308 add.w r3, r3, #8 ; 0x8 - 800f138: f8d3 c000 ldr.w ip, [r3] - 800f13c: 68fb ldr r3, [r7, #12] - 800f13e: 69da ldr r2, [r3, #28] - 800f140: 69fb ldr r3, [r7, #28] - 800f142: ea4f 0383 mov.w r3, r3, lsl #2 - 800f146: 4413 add r3, r2 - 800f148: 681a ldr r2, [r3, #0] - 800f14a: f107 0310 add.w r3, r7, #16 ; 0x10 - 800f14e: 4618 mov r0, r3 - 800f150: 4611 mov r1, r2 - 800f152: 47e0 blx ip - 800f154: 7e3b ldrb r3, [r7, #24] - 800f156: 607b str r3, [r7, #4] - 800f158: e00b b.n 800f172 <_ZN7Sensors19detectedLimitSwitchEN17LimitSwitchSensor15LimitSwitchNameE+0x8a> -} - -#ifdef ROBOTHW -bool Sensors::detectedLimitSwitch(LimitSwitchSensor::LimitSwitchName limitSwitchName) -{ - for (int i = 0; i - if (limitSwitchs[i]->getName() == limitSwitchName) - { - return limitSwitchs[i]->getValue().b; - } - } - return false; - 800f16c: f04f 0300 mov.w r3, #0 ; 0x0 - 800f170: 607b str r3, [r7, #4] - 800f172: 687b ldr r3, [r7, #4] -} - 800f174: 4618 mov r0, r3 - 800f176: f107 0720 add.w r7, r7, #32 ; 0x20 - 800f17a: 46bd mov sp, r7 - 800f17c: bd80 pop {r7, pc} - 800f17e: 46c0 nop (mov r8, r8) - -0800f180 <_ZN7Sensors6updateEv>: - return false; // Si aucun capteur n'a ce nom (exemple NONE) -} - -#endif - -void Sensors::update() - 800f180: b580 push {r7, lr} - 800f182: b086 sub sp, #24 - 800f184: af00 add r7, sp, #0 - 800f186: 6078 str r0, [r7, #4] -{ - for (int i=0; i - { - sharps[i]->updateValue(); - 800f190: 687b ldr r3, [r7, #4] - 800f192: 685a ldr r2, [r3, #4] - 800f194: 68fb ldr r3, [r7, #12] - 800f196: ea4f 0383 mov.w r3, r3, lsl #2 - 800f19a: 4413 add r3, r2 - 800f19c: 681b ldr r3, [r3, #0] - 800f19e: 4618 mov r0, r3 - 800f1a0: f006 ffaa bl 80160f8 <_ZN11SharpSensor11updateValueEv> - -#endif - -void Sensors::update() -{ - for (int i=0; i - { - sharps[i]->updateValue(); - } -#ifdef ROBOTHW - for (int i=0; i - { - ligthBarriers[i]->updateValue(); - 800f1be: 687b ldr r3, [r7, #4] - 800f1c0: 695a ldr r2, [r3, #20] - 800f1c2: 693b ldr r3, [r7, #16] - 800f1c4: ea4f 0383 mov.w r3, r3, lsl #2 - 800f1c8: 4413 add r3, r2 - 800f1ca: 681b ldr r3, [r3, #0] - 800f1cc: 4618 mov r0, r3 - 800f1ce: f005 ff6d bl 80150ac <_ZN18LigthBarrierSensor11updateValueEv> - for (int i=0; iupdateValue(); - } -#ifdef ROBOTHW - for (int i=0; i - { - ligthBarriers[i]->updateValue(); - } - for (int i=0; i - { - limitSwitchs[i]->updateValue(); - 800f1ec: 687b ldr r3, [r7, #4] - 800f1ee: 69da ldr r2, [r3, #28] - 800f1f0: 697b ldr r3, [r7, #20] - 800f1f2: ea4f 0383 mov.w r3, r3, lsl #2 - 800f1f6: 4413 add r3, r2 - 800f1f8: 681b ldr r3, [r3, #0] - 800f1fa: 4618 mov r0, r3 - 800f1fc: f006 f884 bl 8015308 <_ZN17LimitSwitchSensor11updateValueEv> -#ifdef ROBOTHW - for (int i=0; iupdateValue(); - } - for (int i=0; i - { - limitSwitchs[i]->updateValue(); - } -#endif - // Les autres n'ont pas besoin d'être mis à jour car on obtient la valeur directement en lisant la valeur de la pin -} - 800f212: f107 0718 add.w r7, r7, #24 ; 0x18 - 800f216: 46bd mov sp, r7 - 800f218: bd80 pop {r7, pc} - 800f21a: 46c0 nop (mov r8, r8) - -0800f21c <_ZN7Sensors20detectedLigthBarrierEN18LigthBarrierSensor16LigthBarrierNameE>: - } -// ligthBarrierNameVector->resize(); - return ligthBarrierNameVector; -} - -bool Sensors::detectedLigthBarrier(LigthBarrierSensor::LigthBarrierName name) - 800f21c: b580 push {r7, lr} - 800f21e: b088 sub sp, #32 - 800f220: af00 add r7, sp, #0 - 800f222: 60f8 str r0, [r7, #12] - 800f224: 460b mov r3, r1 - 800f226: 72fb strb r3, [r7, #11] -{ - for (int i=0; i - { - if(ligthBarriers[i]->getName() == name) - 800f230: 68fb ldr r3, [r7, #12] - 800f232: 695a ldr r2, [r3, #20] - 800f234: 69fb ldr r3, [r7, #28] - 800f236: ea4f 0383 mov.w r3, r3, lsl #2 - 800f23a: 4413 add r3, r2 - 800f23c: 681b ldr r3, [r3, #0] - 800f23e: 4618 mov r0, r3 - 800f240: f005 ff28 bl 8015094 <_ZN18LigthBarrierSensor7getNameEv> - 800f244: 4603 mov r3, r0 - 800f246: 461a mov r2, r3 - 800f248: 7afb ldrb r3, [r7, #11] - 800f24a: 4293 cmp r3, r2 - 800f24c: bf14 ite ne - 800f24e: 2300 movne r3, #0 - 800f250: 2301 moveq r3, #1 - 800f252: b2db uxtb r3, r3 - 800f254: 2b00 cmp r3, #0 - 800f256: d01a beq.n 800f28e <_ZN7Sensors20detectedLigthBarrierEN18LigthBarrierSensor16LigthBarrierNameE+0x72> - { - return ligthBarriers[i]->getValue().b; - 800f258: 68fb ldr r3, [r7, #12] - 800f25a: 695a ldr r2, [r3, #20] - 800f25c: 69fb ldr r3, [r7, #28] - 800f25e: ea4f 0383 mov.w r3, r3, lsl #2 - 800f262: 4413 add r3, r2 - 800f264: 681b ldr r3, [r3, #0] - 800f266: 681b ldr r3, [r3, #0] - 800f268: f103 0308 add.w r3, r3, #8 ; 0x8 - 800f26c: f8d3 c000 ldr.w ip, [r3] - 800f270: 68fb ldr r3, [r7, #12] - 800f272: 695a ldr r2, [r3, #20] - 800f274: 69fb ldr r3, [r7, #28] - 800f276: ea4f 0383 mov.w r3, r3, lsl #2 - 800f27a: 4413 add r3, r2 - 800f27c: 681a ldr r2, [r3, #0] - 800f27e: f107 0310 add.w r3, r7, #16 ; 0x10 - 800f282: 4618 mov r0, r3 - 800f284: 4611 mov r1, r2 - 800f286: 47e0 blx ip - 800f288: 7e3b ldrb r3, [r7, #24] - 800f28a: 607b str r3, [r7, #4] - 800f28c: e00b b.n 800f2a6 <_ZN7Sensors20detectedLigthBarrierEN18LigthBarrierSensor16LigthBarrierNameE+0x8a> - return ligthBarrierNameVector; -} - -bool Sensors::detectedLigthBarrier(LigthBarrierSensor::LigthBarrierName name) -{ - for (int i=0; i - if(ligthBarriers[i]->getName() == name) - { - return ligthBarriers[i]->getValue().b; - } - } - return false; // Si aucun capteur n'a ce nom (exemple NONE) - 800f2a0: f04f 0300 mov.w r3, #0 ; 0x0 - 800f2a4: 607b str r3, [r7, #4] - 800f2a6: 687b ldr r3, [r7, #4] -} - 800f2a8: 4618 mov r0, r3 - 800f2aa: f107 0720 add.w r7, r7, #32 ; 0x20 - 800f2ae: 46bd mov sp, r7 - 800f2b0: bd80 pop {r7, pc} - 800f2b2: 46c0 nop (mov r8, r8) - -0800f2b4 <_ZN7Sensors20detectedLigthBarrierEv>: - } - return -1; -} - -#ifdef ROBOTHW -Sensors::LigthBarrierNameVector* Sensors::detectedLigthBarrier() - 800f2b4: b590 push {r4, r7, lr} - 800f2b6: b089 sub sp, #36 - 800f2b8: af00 add r7, sp, #0 - 800f2ba: 6078 str r0, [r7, #4] -{ - ligthBarrierNameVector->reset(); - 800f2bc: 687b ldr r3, [r7, #4] - 800f2be: 6adb ldr r3, [r3, #44] - 800f2c0: 4618 mov r0, r3 - 800f2c2: f01f f8b3 bl 802e42c <_ZN6vectorIN18LigthBarrierSensor16LigthBarrierNameEE5resetEv> - for (int i=0; i - { - if(ligthBarriers[i]->getValue().b) - 800f2ce: 687b ldr r3, [r7, #4] - 800f2d0: 695a ldr r2, [r3, #20] - 800f2d2: 69fb ldr r3, [r7, #28] - 800f2d4: ea4f 0383 mov.w r3, r3, lsl #2 - 800f2d8: 4413 add r3, r2 - 800f2da: 681b ldr r3, [r3, #0] - 800f2dc: 681b ldr r3, [r3, #0] - 800f2de: f103 0308 add.w r3, r3, #8 ; 0x8 - 800f2e2: f8d3 c000 ldr.w ip, [r3] - 800f2e6: 687b ldr r3, [r7, #4] - 800f2e8: 695a ldr r2, [r3, #20] - 800f2ea: 69fb ldr r3, [r7, #28] - 800f2ec: ea4f 0383 mov.w r3, r3, lsl #2 - 800f2f0: 4413 add r3, r2 - 800f2f2: 681a ldr r2, [r3, #0] - 800f2f4: f107 030c add.w r3, r7, #12 ; 0xc - 800f2f8: 4618 mov r0, r3 - 800f2fa: 4611 mov r1, r2 - 800f2fc: 47e0 blx ip - 800f2fe: 7d3b ldrb r3, [r7, #20] - 800f300: 2b00 cmp r3, #0 - 800f302: d013 beq.n 800f32c <_ZN7Sensors20detectedLigthBarrierEv+0x78> - { - ligthBarrierNameVector->push_back(ligthBarriers[i]->getName()); - 800f304: 687b ldr r3, [r7, #4] - 800f306: 6adc ldr r4, [r3, #44] - 800f308: 687b ldr r3, [r7, #4] - 800f30a: 695a ldr r2, [r3, #20] - 800f30c: 69fb ldr r3, [r7, #28] - 800f30e: ea4f 0383 mov.w r3, r3, lsl #2 - 800f312: 4413 add r3, r2 - 800f314: 681b ldr r3, [r3, #0] - 800f316: 4618 mov r0, r3 - 800f318: f005 febc bl 8015094 <_ZN18LigthBarrierSensor7getNameEv> - 800f31c: 4603 mov r3, r0 - 800f31e: 76fb strb r3, [r7, #27] - 800f320: f107 031b add.w r3, r7, #27 ; 0x1b - 800f324: 4620 mov r0, r4 - 800f326: 4619 mov r1, r3 - 800f328: f01f f8f4 bl 802e514 <_ZN6vectorIN18LigthBarrierSensor16LigthBarrierNameEE9push_backERKS1_> - -#ifdef ROBOTHW -Sensors::LigthBarrierNameVector* Sensors::detectedLigthBarrier() -{ - ligthBarrierNameVector->reset(); - for (int i=0; i - { - ligthBarrierNameVector->push_back(ligthBarriers[i]->getName()); - } - } -// ligthBarrierNameVector->resize(); - return ligthBarrierNameVector; - 800f33e: 687b ldr r3, [r7, #4] - 800f340: 6adb ldr r3, [r3, #44] -} - 800f342: 4618 mov r0, r3 - 800f344: f107 0724 add.w r7, r7, #36 ; 0x24 - 800f348: 46bd mov sp, r7 - 800f34a: bd90 pop {r4, r7, pc} - -0800f34c <_ZN7Sensors18getValueUltrasoundEt>: - return Sensors::sensors; -} - - - -Sensors::OutputSensorVector* Sensors::getValueUltrasound(uint16_t distance) - 800f34c: b590 push {r4, r7, lr} - 800f34e: b087 sub sp, #28 - 800f350: af00 add r7, sp, #0 - 800f352: 6078 str r0, [r7, #4] - 800f354: 460b mov r3, r1 - 800f356: 807b strh r3, [r7, #2] -{ - outputSensorVector->reset(); - 800f358: 687b ldr r3, [r7, #4] - 800f35a: 6b1b ldr r3, [r3, #48] - 800f35c: 4618 mov r0, r3 - 800f35e: f01f f857 bl 802e410 <_ZN6vectorIN6Sensor12OutputSensorEE5resetEv> - for (int i = 0; i < nbUltrasound; i++) - 800f362: f04f 0300 mov.w r3, #0 ; 0x0 - 800f366: 617b str r3, [r7, #20] - 800f368: e030 b.n 800f3cc <_ZN7Sensors18getValueUltrasoundEt+0x80> - { - Sensor::OutputSensor v = ultrasounds[i]->getValue(); - 800f36a: 687b ldr r3, [r7, #4] - 800f36c: 68da ldr r2, [r3, #12] - 800f36e: 697b ldr r3, [r7, #20] - 800f370: ea4f 0383 mov.w r3, r3, lsl #2 - 800f374: 4413 add r3, r2 - 800f376: 681b ldr r3, [r3, #0] - 800f378: 681b ldr r3, [r3, #0] - 800f37a: f103 0308 add.w r3, r3, #8 ; 0x8 - 800f37e: f8d3 c000 ldr.w ip, [r3] - 800f382: 687b ldr r3, [r7, #4] - 800f384: 68da ldr r2, [r3, #12] - 800f386: 697b ldr r3, [r7, #20] - 800f388: ea4f 0383 mov.w r3, r3, lsl #2 - 800f38c: 4413 add r3, r2 - 800f38e: 681a ldr r2, [r3, #0] - 800f390: f107 0308 add.w r3, r7, #8 ; 0x8 - 800f394: 4618 mov r0, r3 - 800f396: 4611 mov r1, r2 - 800f398: 47e0 blx ip - if (v.f < distance) - 800f39a: 68fc ldr r4, [r7, #12] - 800f39c: 887b ldrh r3, [r7, #2] - 800f39e: 4618 mov r0, r3 - 800f3a0: f01d fdb6 bl 802cf10 <__aeabi_i2f> - 800f3a4: 4603 mov r3, r0 - 800f3a6: 4620 mov r0, r4 - 800f3a8: 4619 mov r1, r3 - 800f3aa: f01d ffa1 bl 802d2f0 <__aeabi_fcmplt> - 800f3ae: 4603 mov r3, r0 - 800f3b0: 2b00 cmp r3, #0 - 800f3b2: d007 beq.n 800f3c4 <_ZN7Sensors18getValueUltrasoundEt+0x78> - { - outputSensorVector->push_back(v); - 800f3b4: 687b ldr r3, [r7, #4] - 800f3b6: 6b1b ldr r3, [r3, #48] - 800f3b8: f107 0208 add.w r2, r7, #8 ; 0x8 - 800f3bc: 4618 mov r0, r3 - 800f3be: 4611 mov r1, r2 - 800f3c0: f01f f904 bl 802e5cc <_ZN6vectorIN6Sensor12OutputSensorEE9push_backERKS1_> - - -Sensors::OutputSensorVector* Sensors::getValueUltrasound(uint16_t distance) -{ - outputSensorVector->reset(); - for (int i = 0; i < nbUltrasound; i++) - 800f3c4: 697b ldr r3, [r7, #20] - 800f3c6: f103 0301 add.w r3, r3, #1 ; 0x1 - 800f3ca: 617b str r3, [r7, #20] - 800f3cc: 687b ldr r3, [r7, #4] - 800f3ce: 691a ldr r2, [r3, #16] - 800f3d0: 697b ldr r3, [r7, #20] - 800f3d2: 429a cmp r2, r3 - 800f3d4: dcc9 bgt.n 800f36a <_ZN7Sensors18getValueUltrasoundEt+0x1e> - { - outputSensorVector->push_back(v); - } - } -// outputSensorVector->resize(); - return outputSensorVector; - 800f3d6: 687b ldr r3, [r7, #4] - 800f3d8: 6b1b ldr r3, [r3, #48] -} - 800f3da: 4618 mov r0, r3 - 800f3dc: f107 071c add.w r7, r7, #28 ; 0x1c - 800f3e0: 46bd mov sp, r7 - 800f3e2: bd90 pop {r4, r7, pc} - -0800f3e4 <_ZN7Sensors18getValueUltrasoundEv>: -// limitSwitchNameVector->resize(); - return limitSwitchNameVector; -} - - -Sensors::OutputSensorVector* Sensors::getValueUltrasound() - 800f3e4: b590 push {r4, r7, lr} - 800f3e6: b087 sub sp, #28 - 800f3e8: af00 add r7, sp, #0 - 800f3ea: 6078 str r0, [r7, #4] -{ - outputSensorVector->reset(); - 800f3ec: 687b ldr r3, [r7, #4] - 800f3ee: 6b1b ldr r3, [r3, #48] - 800f3f0: 4618 mov r0, r3 - 800f3f2: f01f f80d bl 802e410 <_ZN6vectorIN6Sensor12OutputSensorEE5resetEv> - for (int i = 0; i < nbUltrasound; i++) - 800f3f6: f04f 0300 mov.w r3, #0 ; 0x0 - 800f3fa: 617b str r3, [r7, #20] - 800f3fc: e023 b.n 800f446 <_ZN7Sensors18getValueUltrasoundEv+0x62> - { - outputSensorVector->push_back(ultrasounds[i]->getValue()); - 800f3fe: 687b ldr r3, [r7, #4] - 800f400: 6b1c ldr r4, [r3, #48] - 800f402: 687b ldr r3, [r7, #4] - 800f404: 68da ldr r2, [r3, #12] - 800f406: 697b ldr r3, [r7, #20] - 800f408: ea4f 0383 mov.w r3, r3, lsl #2 - 800f40c: 4413 add r3, r2 - 800f40e: 681b ldr r3, [r3, #0] - 800f410: 681b ldr r3, [r3, #0] - 800f412: f103 0308 add.w r3, r3, #8 ; 0x8 - 800f416: f8d3 c000 ldr.w ip, [r3] - 800f41a: 687b ldr r3, [r7, #4] - 800f41c: 68da ldr r2, [r3, #12] - 800f41e: 697b ldr r3, [r7, #20] - 800f420: ea4f 0383 mov.w r3, r3, lsl #2 - 800f424: 4413 add r3, r2 - 800f426: 681a ldr r2, [r3, #0] - 800f428: f107 0308 add.w r3, r7, #8 ; 0x8 - 800f42c: 4618 mov r0, r3 - 800f42e: 4611 mov r1, r2 - 800f430: 47e0 blx ip - 800f432: f107 0308 add.w r3, r7, #8 ; 0x8 - 800f436: 4620 mov r0, r4 - 800f438: 4619 mov r1, r3 - 800f43a: f01f f8c7 bl 802e5cc <_ZN6vectorIN6Sensor12OutputSensorEE9push_backERKS1_> - - -Sensors::OutputSensorVector* Sensors::getValueUltrasound() -{ - outputSensorVector->reset(); - for (int i = 0; i < nbUltrasound; i++) - 800f43e: 697b ldr r3, [r7, #20] - 800f440: f103 0301 add.w r3, r3, #1 ; 0x1 - 800f444: 617b str r3, [r7, #20] - 800f446: 687b ldr r3, [r7, #4] - 800f448: 691a ldr r2, [r3, #16] - 800f44a: 697b ldr r3, [r7, #20] - 800f44c: 429a cmp r2, r3 - 800f44e: dcd6 bgt.n 800f3fe <_ZN7Sensors18getValueUltrasoundEv+0x1a> - { - outputSensorVector->push_back(ultrasounds[i]->getValue()); - } -// outputSensorVector->resize(); - return outputSensorVector; - 800f450: 687b ldr r3, [r7, #4] - 800f452: 6b1b ldr r3, [r3, #48] -} - 800f454: 4618 mov r0, r3 - 800f456: f107 071c add.w r7, r7, #28 ; 0x1c - 800f45a: 46bd mov sp, r7 - 800f45c: bd90 pop {r4, r7, pc} - 800f45e: 46c0 nop (mov r8, r8) - -0800f460 <_ZN7Sensors19detectedLimitSwitchEv>: - } - return false; // Si aucun capteur n'a ce nom (exemple NONE) -} - -#ifdef ROBOTHW -Sensors::LimitSwitchNameVector* Sensors::detectedLimitSwitch() - 800f460: b590 push {r4, r7, lr} - 800f462: b089 sub sp, #36 - 800f464: af00 add r7, sp, #0 - 800f466: 6078 str r0, [r7, #4] -{ - limitSwitchNameVector->reset(); - 800f468: 687b ldr r3, [r7, #4] - 800f46a: 6a9b ldr r3, [r3, #40] - 800f46c: 4618 mov r0, r3 - 800f46e: f01e ffc1 bl 802e3f4 <_ZN6vectorIN17LimitSwitchSensor15LimitSwitchNameEE5resetEv> - for (int i = 0; i - { - if (limitSwitchs[i]->getValue().b) - 800f47a: 687b ldr r3, [r7, #4] - 800f47c: 69da ldr r2, [r3, #28] - 800f47e: 69fb ldr r3, [r7, #28] - 800f480: ea4f 0383 mov.w r3, r3, lsl #2 - 800f484: 4413 add r3, r2 - 800f486: 681b ldr r3, [r3, #0] - 800f488: 681b ldr r3, [r3, #0] - 800f48a: f103 0308 add.w r3, r3, #8 ; 0x8 - 800f48e: f8d3 c000 ldr.w ip, [r3] - 800f492: 687b ldr r3, [r7, #4] - 800f494: 69da ldr r2, [r3, #28] - 800f496: 69fb ldr r3, [r7, #28] - 800f498: ea4f 0383 mov.w r3, r3, lsl #2 - 800f49c: 4413 add r3, r2 - 800f49e: 681a ldr r2, [r3, #0] - 800f4a0: f107 030c add.w r3, r7, #12 ; 0xc - 800f4a4: 4618 mov r0, r3 - 800f4a6: 4611 mov r1, r2 - 800f4a8: 47e0 blx ip - 800f4aa: 7d3b ldrb r3, [r7, #20] - 800f4ac: 2b00 cmp r3, #0 - 800f4ae: d013 beq.n 800f4d8 <_ZN7Sensors19detectedLimitSwitchEv+0x78> - { - limitSwitchNameVector->push_back(limitSwitchs[i]->getName()); - 800f4b0: 687b ldr r3, [r7, #4] - 800f4b2: 6a9c ldr r4, [r3, #40] - 800f4b4: 687b ldr r3, [r7, #4] - 800f4b6: 69da ldr r2, [r3, #28] - 800f4b8: 69fb ldr r3, [r7, #28] - 800f4ba: ea4f 0383 mov.w r3, r3, lsl #2 - 800f4be: 4413 add r3, r2 - 800f4c0: 681b ldr r3, [r3, #0] - 800f4c2: 4618 mov r0, r3 - 800f4c4: f005 ff14 bl 80152f0 <_ZN17LimitSwitchSensor7getNameEv> - 800f4c8: 4603 mov r3, r0 - 800f4ca: 76fb strb r3, [r7, #27] - 800f4cc: f107 031b add.w r3, r7, #27 ; 0x1b - 800f4d0: 4620 mov r0, r4 - 800f4d2: 4619 mov r1, r3 - 800f4d4: f01f f8fe bl 802e6d4 <_ZN6vectorIN17LimitSwitchSensor15LimitSwitchNameEE9push_backERKS1_> - -#ifdef ROBOTHW -Sensors::LimitSwitchNameVector* Sensors::detectedLimitSwitch() -{ - limitSwitchNameVector->reset(); - for (int i = 0; i - { - limitSwitchNameVector->push_back(limitSwitchs[i]->getName()); - } - } -// limitSwitchNameVector->resize(); - return limitSwitchNameVector; - 800f4ea: 687b ldr r3, [r7, #4] - 800f4ec: 6a9b ldr r3, [r3, #40] -} - 800f4ee: 4618 mov r0, r3 - 800f4f0: f107 0724 add.w r7, r7, #36 ; 0x24 - 800f4f4: 46bd mov sp, r7 - 800f4f6: bd90 pop {r4, r7, pc} - -0800f4f8 <_ZN7Sensors13detectedSharpEv>: - #endif - if (outputSensorVector) - delete outputSensorVector; -} - -Sensors::SharpNameVector* Sensors::detectedSharp() - 800f4f8: b590 push {r4, r7, lr} - 800f4fa: b089 sub sp, #36 - 800f4fc: af00 add r7, sp, #0 - 800f4fe: 6078 str r0, [r7, #4] -{ - sharpNameVector->reset(); - 800f500: 687b ldr r3, [r7, #4] - 800f502: 6a5b ldr r3, [r3, #36] - 800f504: 4618 mov r0, r3 - 800f506: f01e ff67 bl 802e3d8 <_ZN6vectorIN11SharpSensor9SharpNameEE5resetEv> - for (int i = 0; i< nbSharp; i++) - 800f50a: f04f 0300 mov.w r3, #0 ; 0x0 - 800f50e: 61fb str r3, [r7, #28] - 800f510: e032 b.n 800f578 <_ZN7Sensors13detectedSharpEv+0x80> - { - if (sharps[i]->getValue().b) - 800f512: 687b ldr r3, [r7, #4] - 800f514: 685a ldr r2, [r3, #4] - 800f516: 69fb ldr r3, [r7, #28] - 800f518: ea4f 0383 mov.w r3, r3, lsl #2 - 800f51c: 4413 add r3, r2 - 800f51e: 681b ldr r3, [r3, #0] - 800f520: 681b ldr r3, [r3, #0] - 800f522: f103 0308 add.w r3, r3, #8 ; 0x8 - 800f526: f8d3 c000 ldr.w ip, [r3] - 800f52a: 687b ldr r3, [r7, #4] - 800f52c: 685a ldr r2, [r3, #4] - 800f52e: 69fb ldr r3, [r7, #28] - 800f530: ea4f 0383 mov.w r3, r3, lsl #2 - 800f534: 4413 add r3, r2 - 800f536: 681a ldr r2, [r3, #0] - 800f538: f107 030c add.w r3, r7, #12 ; 0xc - 800f53c: 4618 mov r0, r3 - 800f53e: 4611 mov r1, r2 - 800f540: 47e0 blx ip - 800f542: 7d3b ldrb r3, [r7, #20] - 800f544: 2b00 cmp r3, #0 - 800f546: d013 beq.n 800f570 <_ZN7Sensors13detectedSharpEv+0x78> - { - sharpNameVector->push_back(sharps[i]->getName()); - 800f548: 687b ldr r3, [r7, #4] - 800f54a: 6a5c ldr r4, [r3, #36] - 800f54c: 687b ldr r3, [r7, #4] - 800f54e: 685a ldr r2, [r3, #4] - 800f550: 69fb ldr r3, [r7, #28] - 800f552: ea4f 0383 mov.w r3, r3, lsl #2 - 800f556: 4413 add r3, r2 - 800f558: 681b ldr r3, [r3, #0] - 800f55a: 4618 mov r0, r3 - 800f55c: f006 fda4 bl 80160a8 <_ZN11SharpSensor7getNameEv> - 800f560: 4603 mov r3, r0 - 800f562: 76fb strb r3, [r7, #27] - 800f564: f107 031b add.w r3, r7, #27 ; 0x1b - 800f568: 4620 mov r0, r4 - 800f56a: 4619 mov r1, r3 - 800f56c: f01f f90e bl 802e78c <_ZN6vectorIN11SharpSensor9SharpNameEE9push_backERKS1_> -} - -Sensors::SharpNameVector* Sensors::detectedSharp() -{ - sharpNameVector->reset(); - for (int i = 0; i< nbSharp; i++) - 800f570: 69fb ldr r3, [r7, #28] - 800f572: f103 0301 add.w r3, r3, #1 ; 0x1 - 800f576: 61fb str r3, [r7, #28] - 800f578: 687b ldr r3, [r7, #4] - 800f57a: 689a ldr r2, [r3, #8] - 800f57c: 69fb ldr r3, [r7, #28] - 800f57e: 429a cmp r2, r3 - 800f580: dcc7 bgt.n 800f512 <_ZN7Sensors13detectedSharpEv+0x1a> - { - sharpNameVector->push_back(sharps[i]->getName()); - } - } - // sharpNameVector->resize(); - return sharpNameVector; - 800f582: 687b ldr r3, [r7, #4] - 800f584: 6a5b ldr r3, [r3, #36] -} - 800f586: 4618 mov r0, r3 - 800f588: f107 0724 add.w r7, r7, #36 ; 0x24 - 800f58c: 46bd mov sp, r7 - 800f58e: bd90 pop {r4, r7, pc} - -0800f590 <_ZN7Sensors18getValueUltrasoundEN16UltrasoundSensor14UltrasoundNameE>: -// outputSensorVector->resize(); - return outputSensorVector; -} - - -float Sensors::getValueUltrasound(UltrasoundSensor::UltrasoundName name) - 800f590: b580 push {r7, lr} - 800f592: b08c sub sp, #48 - 800f594: af00 add r7, sp, #0 - 800f596: 60f8 str r0, [r7, #12] - 800f598: 460b mov r3, r1 - 800f59a: 72fb strb r3, [r7, #11] -{ - for (int i = 0; i < nbUltrasound; i++) - 800f59c: f04f 0300 mov.w r3, #0 ; 0x0 - 800f5a0: 62fb str r3, [r7, #44] - 800f5a2: e04a b.n 800f63a <_ZN7Sensors18getValueUltrasoundEN16UltrasoundSensor14UltrasoundNameE+0xaa> - { - ultrasounds[i]->getValue(); - 800f5a4: 68fb ldr r3, [r7, #12] - 800f5a6: 68da ldr r2, [r3, #12] - 800f5a8: 6afb ldr r3, [r7, #44] - 800f5aa: ea4f 0383 mov.w r3, r3, lsl #2 - 800f5ae: 4413 add r3, r2 - 800f5b0: 681b ldr r3, [r3, #0] - 800f5b2: 681b ldr r3, [r3, #0] - 800f5b4: f103 0308 add.w r3, r3, #8 ; 0x8 - 800f5b8: f8d3 c000 ldr.w ip, [r3] - 800f5bc: 68fb ldr r3, [r7, #12] - 800f5be: 68da ldr r2, [r3, #12] - 800f5c0: 6afb ldr r3, [r7, #44] - 800f5c2: ea4f 0383 mov.w r3, r3, lsl #2 - 800f5c6: 4413 add r3, r2 - 800f5c8: 681a ldr r2, [r3, #0] - 800f5ca: f107 0314 add.w r3, r7, #20 ; 0x14 - 800f5ce: 4618 mov r0, r3 - 800f5d0: 4611 mov r1, r2 - 800f5d2: 47e0 blx ip - if (ultrasounds[i]->getName() == name) - 800f5d4: 68fb ldr r3, [r7, #12] - 800f5d6: 68da ldr r2, [r3, #12] - 800f5d8: 6afb ldr r3, [r7, #44] - 800f5da: ea4f 0383 mov.w r3, r3, lsl #2 - 800f5de: 4413 add r3, r2 - 800f5e0: 681b ldr r3, [r3, #0] - 800f5e2: 4618 mov r0, r3 - 800f5e4: f007 f95a bl 801689c <_ZN16UltrasoundSensor7getNameEv> - 800f5e8: 4603 mov r3, r0 - 800f5ea: 461a mov r2, r3 - 800f5ec: 7afb ldrb r3, [r7, #11] - 800f5ee: 4293 cmp r3, r2 - 800f5f0: bf14 ite ne - 800f5f2: 2300 movne r3, #0 - 800f5f4: 2301 moveq r3, #1 - 800f5f6: b2db uxtb r3, r3 - 800f5f8: 2b00 cmp r3, #0 - 800f5fa: d01a beq.n 800f632 <_ZN7Sensors18getValueUltrasoundEN16UltrasoundSensor14UltrasoundNameE+0xa2> - { - return ultrasounds[i]->getValue().f; - 800f5fc: 68fb ldr r3, [r7, #12] - 800f5fe: 68da ldr r2, [r3, #12] - 800f600: 6afb ldr r3, [r7, #44] - 800f602: ea4f 0383 mov.w r3, r3, lsl #2 - 800f606: 4413 add r3, r2 - 800f608: 681b ldr r3, [r3, #0] - 800f60a: 681b ldr r3, [r3, #0] - 800f60c: f103 0308 add.w r3, r3, #8 ; 0x8 - 800f610: f8d3 c000 ldr.w ip, [r3] - 800f614: 68fb ldr r3, [r7, #12] - 800f616: 68da ldr r2, [r3, #12] - 800f618: 6afb ldr r3, [r7, #44] - 800f61a: ea4f 0383 mov.w r3, r3, lsl #2 - 800f61e: 4413 add r3, r2 - 800f620: 681a ldr r2, [r3, #0] - 800f622: f107 0320 add.w r3, r7, #32 ; 0x20 - 800f626: 4618 mov r0, r3 - 800f628: 4611 mov r1, r2 - 800f62a: 47e0 blx ip - 800f62c: 6a7b ldr r3, [r7, #36] - 800f62e: 607b str r3, [r7, #4] - 800f630: e00a b.n 800f648 <_ZN7Sensors18getValueUltrasoundEN16UltrasoundSensor14UltrasoundNameE+0xb8> -} - - -float Sensors::getValueUltrasound(UltrasoundSensor::UltrasoundName name) -{ - for (int i = 0; i < nbUltrasound; i++) - 800f632: 6afb ldr r3, [r7, #44] - 800f634: f103 0301 add.w r3, r3, #1 ; 0x1 - 800f638: 62fb str r3, [r7, #44] - 800f63a: 68fb ldr r3, [r7, #12] - 800f63c: 691a ldr r2, [r3, #16] - 800f63e: 6afb ldr r3, [r7, #44] - 800f640: 429a cmp r2, r3 - 800f642: dcaf bgt.n 800f5a4 <_ZN7Sensors18getValueUltrasoundEN16UltrasoundSensor14UltrasoundNameE+0x14> - if (ultrasounds[i]->getName() == name) - { - return ultrasounds[i]->getValue().f; - } - } - return -1; - 800f644: 4b03 ldr r3, [pc, #12] (800f654 <_ZN7Sensors18getValueUltrasoundEN16UltrasoundSensor14UltrasoundNameE+0xc4>) - 800f646: 607b str r3, [r7, #4] - 800f648: 687b ldr r3, [r7, #4] -} - 800f64a: 4618 mov r0, r3 - 800f64c: f107 0730 add.w r7, r7, #48 ; 0x30 - 800f650: 46bd mov sp, r7 - 800f652: bd80 pop {r7, pc} - 800f654: bf800000 .word 0xbf800000 - -0800f658 <_ZN7SensorsD0Ev>: -*/ - // AnalogSensor::initialiserADC_Fin(data, NB_CAPTEUR_A_ADC); - #endif //ROBOTHW -} - -Sensors::~Sensors() - 800f658: b580 push {r7, lr} - 800f65a: b086 sub sp, #24 - 800f65c: af00 add r7, sp, #0 - 800f65e: 6078 str r0, [r7, #4] - 800f660: 687b ldr r3, [r7, #4] - 800f662: 4a92 ldr r2, [pc, #584] (800f8ac <_ZN7SensorsD0Ev+0x254>) - 800f664: 601a str r2, [r3, #0] -{ - for (int i = 0; i< nbSharp; i++) - 800f666: f04f 0300 mov.w r3, #0 ; 0x0 - 800f66a: 60bb str r3, [r7, #8] - 800f66c: e020 b.n 800f6b0 <_ZN7SensorsD0Ev+0x58> - delete sharps[i]; - 800f66e: 687b ldr r3, [r7, #4] - 800f670: 685a ldr r2, [r3, #4] - 800f672: 68bb ldr r3, [r7, #8] - 800f674: ea4f 0383 mov.w r3, r3, lsl #2 - 800f678: 4413 add r3, r2 - 800f67a: 681b ldr r3, [r3, #0] - 800f67c: 2b00 cmp r3, #0 - 800f67e: d013 beq.n 800f6a8 <_ZN7SensorsD0Ev+0x50> - 800f680: 687b ldr r3, [r7, #4] - 800f682: 685a ldr r2, [r3, #4] - 800f684: 68bb ldr r3, [r7, #8] - 800f686: ea4f 0383 mov.w r3, r3, lsl #2 - 800f68a: 4413 add r3, r2 - 800f68c: 681b ldr r3, [r3, #0] - 800f68e: 681b ldr r3, [r3, #0] - 800f690: f103 0304 add.w r3, r3, #4 ; 0x4 - 800f694: 6819 ldr r1, [r3, #0] - 800f696: 687b ldr r3, [r7, #4] - 800f698: 685a ldr r2, [r3, #4] - 800f69a: 68bb ldr r3, [r7, #8] - 800f69c: ea4f 0383 mov.w r3, r3, lsl #2 - 800f6a0: 4413 add r3, r2 - 800f6a2: 681b ldr r3, [r3, #0] - 800f6a4: 4618 mov r0, r3 - 800f6a6: 4788 blx r1 - #endif //ROBOTHW -} - -Sensors::~Sensors() -{ - for (int i = 0; i< nbSharp; i++) - 800f6a8: 68bb ldr r3, [r7, #8] - 800f6aa: f103 0301 add.w r3, r3, #1 ; 0x1 - 800f6ae: 60bb str r3, [r7, #8] - 800f6b0: 687b ldr r3, [r7, #4] - 800f6b2: 689a ldr r2, [r3, #8] - 800f6b4: 68bb ldr r3, [r7, #8] - 800f6b6: 429a cmp r2, r3 - 800f6b8: dcd9 bgt.n 800f66e <_ZN7SensorsD0Ev+0x16> - delete sharps[i]; - for (int i = 0; i< nbUltrasound; i++) - 800f6ba: f04f 0300 mov.w r3, #0 ; 0x0 - 800f6be: 60fb str r3, [r7, #12] - 800f6c0: e020 b.n 800f704 <_ZN7SensorsD0Ev+0xac> - delete ultrasounds[i]; - 800f6c2: 687b ldr r3, [r7, #4] - 800f6c4: 68da ldr r2, [r3, #12] - 800f6c6: 68fb ldr r3, [r7, #12] - 800f6c8: ea4f 0383 mov.w r3, r3, lsl #2 - 800f6cc: 4413 add r3, r2 - 800f6ce: 681b ldr r3, [r3, #0] - 800f6d0: 2b00 cmp r3, #0 - 800f6d2: d013 beq.n 800f6fc <_ZN7SensorsD0Ev+0xa4> - 800f6d4: 687b ldr r3, [r7, #4] - 800f6d6: 68da ldr r2, [r3, #12] - 800f6d8: 68fb ldr r3, [r7, #12] - 800f6da: ea4f 0383 mov.w r3, r3, lsl #2 - 800f6de: 4413 add r3, r2 - 800f6e0: 681b ldr r3, [r3, #0] - 800f6e2: 681b ldr r3, [r3, #0] - 800f6e4: f103 0304 add.w r3, r3, #4 ; 0x4 - 800f6e8: 6819 ldr r1, [r3, #0] - 800f6ea: 687b ldr r3, [r7, #4] - 800f6ec: 68da ldr r2, [r3, #12] - 800f6ee: 68fb ldr r3, [r7, #12] - 800f6f0: ea4f 0383 mov.w r3, r3, lsl #2 - 800f6f4: 4413 add r3, r2 - 800f6f6: 681b ldr r3, [r3, #0] - 800f6f8: 4618 mov r0, r3 - 800f6fa: 4788 blx r1 - -Sensors::~Sensors() -{ - for (int i = 0; i< nbSharp; i++) - delete sharps[i]; - for (int i = 0; i< nbUltrasound; i++) - 800f6fc: 68fb ldr r3, [r7, #12] - 800f6fe: f103 0301 add.w r3, r3, #1 ; 0x1 - 800f702: 60fb str r3, [r7, #12] - 800f704: 687b ldr r3, [r7, #4] - 800f706: 691a ldr r2, [r3, #16] - 800f708: 68fb ldr r3, [r7, #12] - 800f70a: 429a cmp r2, r3 - 800f70c: dcd9 bgt.n 800f6c2 <_ZN7SensorsD0Ev+0x6a> - delete ultrasounds[i]; - #ifdef ROBOTHW - for (int i = 0; i< nbLimitSwitch; i++) - 800f70e: f04f 0300 mov.w r3, #0 ; 0x0 - 800f712: 613b str r3, [r7, #16] - 800f714: e020 b.n 800f758 <_ZN7SensorsD0Ev+0x100> - delete limitSwitchs[i]; - 800f716: 687b ldr r3, [r7, #4] - 800f718: 69da ldr r2, [r3, #28] - 800f71a: 693b ldr r3, [r7, #16] - 800f71c: ea4f 0383 mov.w r3, r3, lsl #2 - 800f720: 4413 add r3, r2 - 800f722: 681b ldr r3, [r3, #0] - 800f724: 2b00 cmp r3, #0 - 800f726: d013 beq.n 800f750 <_ZN7SensorsD0Ev+0xf8> - 800f728: 687b ldr r3, [r7, #4] - 800f72a: 69da ldr r2, [r3, #28] - 800f72c: 693b ldr r3, [r7, #16] - 800f72e: ea4f 0383 mov.w r3, r3, lsl #2 - 800f732: 4413 add r3, r2 - 800f734: 681b ldr r3, [r3, #0] - 800f736: 681b ldr r3, [r3, #0] - 800f738: f103 0304 add.w r3, r3, #4 ; 0x4 - 800f73c: 6819 ldr r1, [r3, #0] - 800f73e: 687b ldr r3, [r7, #4] - 800f740: 69da ldr r2, [r3, #28] - 800f742: 693b ldr r3, [r7, #16] - 800f744: ea4f 0383 mov.w r3, r3, lsl #2 - 800f748: 4413 add r3, r2 - 800f74a: 681b ldr r3, [r3, #0] - 800f74c: 4618 mov r0, r3 - 800f74e: 4788 blx r1 - for (int i = 0; i< nbSharp; i++) - delete sharps[i]; - for (int i = 0; i< nbUltrasound; i++) - delete ultrasounds[i]; - #ifdef ROBOTHW - for (int i = 0; i< nbLimitSwitch; i++) - 800f750: 693b ldr r3, [r7, #16] - 800f752: f103 0301 add.w r3, r3, #1 ; 0x1 - 800f756: 613b str r3, [r7, #16] - 800f758: 687b ldr r3, [r7, #4] - 800f75a: 6a1a ldr r2, [r3, #32] - 800f75c: 693b ldr r3, [r7, #16] - 800f75e: 429a cmp r2, r3 - 800f760: dcd9 bgt.n 800f716 <_ZN7SensorsD0Ev+0xbe> - delete limitSwitchs[i]; - for (int i = 0; i< nbLigthBarrier; i++) - 800f762: f04f 0300 mov.w r3, #0 ; 0x0 - 800f766: 617b str r3, [r7, #20] - 800f768: e020 b.n 800f7ac <_ZN7SensorsD0Ev+0x154> - delete ligthBarriers[i]; - 800f76a: 687b ldr r3, [r7, #4] - 800f76c: 695a ldr r2, [r3, #20] - 800f76e: 697b ldr r3, [r7, #20] - 800f770: ea4f 0383 mov.w r3, r3, lsl #2 - 800f774: 4413 add r3, r2 - 800f776: 681b ldr r3, [r3, #0] - 800f778: 2b00 cmp r3, #0 - 800f77a: d013 beq.n 800f7a4 <_ZN7SensorsD0Ev+0x14c> - 800f77c: 687b ldr r3, [r7, #4] - 800f77e: 695a ldr r2, [r3, #20] - 800f780: 697b ldr r3, [r7, #20] - 800f782: ea4f 0383 mov.w r3, r3, lsl #2 - 800f786: 4413 add r3, r2 - 800f788: 681b ldr r3, [r3, #0] - 800f78a: 681b ldr r3, [r3, #0] - 800f78c: f103 0304 add.w r3, r3, #4 ; 0x4 - 800f790: 6819 ldr r1, [r3, #0] - 800f792: 687b ldr r3, [r7, #4] - 800f794: 695a ldr r2, [r3, #20] - 800f796: 697b ldr r3, [r7, #20] - 800f798: ea4f 0383 mov.w r3, r3, lsl #2 - 800f79c: 4413 add r3, r2 - 800f79e: 681b ldr r3, [r3, #0] - 800f7a0: 4618 mov r0, r3 - 800f7a2: 4788 blx r1 - for (int i = 0; i< nbUltrasound; i++) - delete ultrasounds[i]; - #ifdef ROBOTHW - for (int i = 0; i< nbLimitSwitch; i++) - delete limitSwitchs[i]; - for (int i = 0; i< nbLigthBarrier; i++) - 800f7a4: 697b ldr r3, [r7, #20] - 800f7a6: f103 0301 add.w r3, r3, #1 ; 0x1 - 800f7aa: 617b str r3, [r7, #20] - 800f7ac: 687b ldr r3, [r7, #4] - 800f7ae: 699a ldr r2, [r3, #24] - 800f7b0: 697b ldr r3, [r7, #20] - 800f7b2: 429a cmp r2, r3 - 800f7b4: dcd9 bgt.n 800f76a <_ZN7SensorsD0Ev+0x112> - delete ligthBarriers[i]; - #endif - delete[] sharps; - 800f7b6: 687b ldr r3, [r7, #4] - 800f7b8: 685b ldr r3, [r3, #4] - 800f7ba: 2b00 cmp r3, #0 - 800f7bc: d004 beq.n 800f7c8 <_ZN7SensorsD0Ev+0x170> - 800f7be: 687b ldr r3, [r7, #4] - 800f7c0: 685b ldr r3, [r3, #4] - 800f7c2: 4618 mov r0, r3 - 800f7c4: f007 ff9a bl 80176fc <_ZdaPv> - delete[] ultrasounds; - 800f7c8: 687b ldr r3, [r7, #4] - 800f7ca: 68db ldr r3, [r3, #12] - 800f7cc: 2b00 cmp r3, #0 - 800f7ce: d004 beq.n 800f7da <_ZN7SensorsD0Ev+0x182> - 800f7d0: 687b ldr r3, [r7, #4] - 800f7d2: 68db ldr r3, [r3, #12] - 800f7d4: 4618 mov r0, r3 - 800f7d6: f007 ff91 bl 80176fc <_ZdaPv> - #ifdef ROBOTHW - delete[] limitSwitchs; - 800f7da: 687b ldr r3, [r7, #4] - 800f7dc: 69db ldr r3, [r3, #28] - 800f7de: 2b00 cmp r3, #0 - 800f7e0: d004 beq.n 800f7ec <_ZN7SensorsD0Ev+0x194> - 800f7e2: 687b ldr r3, [r7, #4] - 800f7e4: 69db ldr r3, [r3, #28] - 800f7e6: 4618 mov r0, r3 - 800f7e8: f007 ff88 bl 80176fc <_ZdaPv> - delete[] ligthBarriers; - 800f7ec: 687b ldr r3, [r7, #4] - 800f7ee: 695b ldr r3, [r3, #20] - 800f7f0: 2b00 cmp r3, #0 - 800f7f2: d004 beq.n 800f7fe <_ZN7SensorsD0Ev+0x1a6> - 800f7f4: 687b ldr r3, [r7, #4] - 800f7f6: 695b ldr r3, [r3, #20] - 800f7f8: 4618 mov r0, r3 - 800f7fa: f007 ff7f bl 80176fc <_ZdaPv> - #endif - - if (sharpNameVector) - 800f7fe: 687b ldr r3, [r7, #4] - 800f800: 6a5b ldr r3, [r3, #36] - 800f802: 2b00 cmp r3, #0 - 800f804: d00d beq.n 800f822 <_ZN7SensorsD0Ev+0x1ca> - delete sharpNameVector; - 800f806: 687b ldr r3, [r7, #4] - 800f808: 6a5b ldr r3, [r3, #36] - 800f80a: 2b00 cmp r3, #0 - 800f80c: d009 beq.n 800f822 <_ZN7SensorsD0Ev+0x1ca> - 800f80e: 687b ldr r3, [r7, #4] - 800f810: 6a5b ldr r3, [r3, #36] - 800f812: 681b ldr r3, [r3, #0] - 800f814: f103 0304 add.w r3, r3, #4 ; 0x4 - 800f818: 681a ldr r2, [r3, #0] - 800f81a: 687b ldr r3, [r7, #4] - 800f81c: 6a5b ldr r3, [r3, #36] - 800f81e: 4618 mov r0, r3 - 800f820: 4790 blx r2 - #ifdef ROBOTHW - if (ligthBarrierNameVector) - 800f822: 687b ldr r3, [r7, #4] - 800f824: 6adb ldr r3, [r3, #44] - 800f826: 2b00 cmp r3, #0 - 800f828: d00d beq.n 800f846 <_ZN7SensorsD0Ev+0x1ee> - delete ligthBarrierNameVector; - 800f82a: 687b ldr r3, [r7, #4] - 800f82c: 6adb ldr r3, [r3, #44] - 800f82e: 2b00 cmp r3, #0 - 800f830: d009 beq.n 800f846 <_ZN7SensorsD0Ev+0x1ee> - 800f832: 687b ldr r3, [r7, #4] - 800f834: 6adb ldr r3, [r3, #44] - 800f836: 681b ldr r3, [r3, #0] - 800f838: f103 0304 add.w r3, r3, #4 ; 0x4 - 800f83c: 681a ldr r2, [r3, #0] - 800f83e: 687b ldr r3, [r7, #4] - 800f840: 6adb ldr r3, [r3, #44] - 800f842: 4618 mov r0, r3 - 800f844: 4790 blx r2 - if (limitSwitchNameVector) - 800f846: 687b ldr r3, [r7, #4] - 800f848: 6a9b ldr r3, [r3, #40] - 800f84a: 2b00 cmp r3, #0 - 800f84c: d00d beq.n 800f86a <_ZN7SensorsD0Ev+0x212> - delete limitSwitchNameVector; - 800f84e: 687b ldr r3, [r7, #4] - 800f850: 6a9b ldr r3, [r3, #40] - 800f852: 2b00 cmp r3, #0 - 800f854: d009 beq.n 800f86a <_ZN7SensorsD0Ev+0x212> - 800f856: 687b ldr r3, [r7, #4] - 800f858: 6a9b ldr r3, [r3, #40] - 800f85a: 681b ldr r3, [r3, #0] - 800f85c: f103 0304 add.w r3, r3, #4 ; 0x4 - 800f860: 681a ldr r2, [r3, #0] - 800f862: 687b ldr r3, [r7, #4] - 800f864: 6a9b ldr r3, [r3, #40] - 800f866: 4618 mov r0, r3 - 800f868: 4790 blx r2 - #endif - if (outputSensorVector) - 800f86a: 687b ldr r3, [r7, #4] - 800f86c: 6b1b ldr r3, [r3, #48] - 800f86e: 2b00 cmp r3, #0 - 800f870: d00d beq.n 800f88e <_ZN7SensorsD0Ev+0x236> - delete outputSensorVector; - 800f872: 687b ldr r3, [r7, #4] - 800f874: 6b1b ldr r3, [r3, #48] - 800f876: 2b00 cmp r3, #0 - 800f878: d009 beq.n 800f88e <_ZN7SensorsD0Ev+0x236> - 800f87a: 687b ldr r3, [r7, #4] - 800f87c: 6b1b ldr r3, [r3, #48] - 800f87e: 681b ldr r3, [r3, #0] - 800f880: f103 0304 add.w r3, r3, #4 ; 0x4 - 800f884: 681a ldr r2, [r3, #0] - 800f886: 687b ldr r3, [r7, #4] - 800f888: 6b1b ldr r3, [r3, #48] - 800f88a: 4618 mov r0, r3 - 800f88c: 4790 blx r2 -} - 800f88e: f04f 0301 mov.w r3, #1 ; 0x1 - 800f892: b2db uxtb r3, r3 - 800f894: 2b00 cmp r3, #0 - 800f896: d002 beq.n 800f89e <_ZN7SensorsD0Ev+0x246> - 800f898: 6878 ldr r0, [r7, #4] - 800f89a: f007 feb7 bl 801760c <_ZdlPv> - 800f89e: 687b ldr r3, [r7, #4] - 800f8a0: 4618 mov r0, r3 - 800f8a2: f107 0718 add.w r7, r7, #24 ; 0x18 - 800f8a6: 46bd mov sp, r7 - 800f8a8: bd80 pop {r7, pc} - 800f8aa: 46c0 nop (mov r8, r8) - 800f8ac: 08033d90 .word 0x08033d90 - -0800f8b0 <_ZN7SensorsD1Ev>: -*/ - // AnalogSensor::initialiserADC_Fin(data, NB_CAPTEUR_A_ADC); - #endif //ROBOTHW -} - -Sensors::~Sensors() - 800f8b0: b580 push {r7, lr} - 800f8b2: b086 sub sp, #24 - 800f8b4: af00 add r7, sp, #0 - 800f8b6: 6078 str r0, [r7, #4] - 800f8b8: 687b ldr r3, [r7, #4] - 800f8ba: 4a92 ldr r2, [pc, #584] (800fb04 <_ZN7SensorsD1Ev+0x254>) - 800f8bc: 601a str r2, [r3, #0] -{ - for (int i = 0; i< nbSharp; i++) - 800f8be: f04f 0300 mov.w r3, #0 ; 0x0 - 800f8c2: 60bb str r3, [r7, #8] - 800f8c4: e020 b.n 800f908 <_ZN7SensorsD1Ev+0x58> - delete sharps[i]; - 800f8c6: 687b ldr r3, [r7, #4] - 800f8c8: 685a ldr r2, [r3, #4] - 800f8ca: 68bb ldr r3, [r7, #8] - 800f8cc: ea4f 0383 mov.w r3, r3, lsl #2 - 800f8d0: 4413 add r3, r2 - 800f8d2: 681b ldr r3, [r3, #0] - 800f8d4: 2b00 cmp r3, #0 - 800f8d6: d013 beq.n 800f900 <_ZN7SensorsD1Ev+0x50> - 800f8d8: 687b ldr r3, [r7, #4] - 800f8da: 685a ldr r2, [r3, #4] - 800f8dc: 68bb ldr r3, [r7, #8] - 800f8de: ea4f 0383 mov.w r3, r3, lsl #2 - 800f8e2: 4413 add r3, r2 - 800f8e4: 681b ldr r3, [r3, #0] - 800f8e6: 681b ldr r3, [r3, #0] - 800f8e8: f103 0304 add.w r3, r3, #4 ; 0x4 - 800f8ec: 6819 ldr r1, [r3, #0] - 800f8ee: 687b ldr r3, [r7, #4] - 800f8f0: 685a ldr r2, [r3, #4] - 800f8f2: 68bb ldr r3, [r7, #8] - 800f8f4: ea4f 0383 mov.w r3, r3, lsl #2 - 800f8f8: 4413 add r3, r2 - 800f8fa: 681b ldr r3, [r3, #0] - 800f8fc: 4618 mov r0, r3 - 800f8fe: 4788 blx r1 - #endif //ROBOTHW -} - -Sensors::~Sensors() -{ - for (int i = 0; i< nbSharp; i++) - 800f900: 68bb ldr r3, [r7, #8] - 800f902: f103 0301 add.w r3, r3, #1 ; 0x1 - 800f906: 60bb str r3, [r7, #8] - 800f908: 687b ldr r3, [r7, #4] - 800f90a: 689a ldr r2, [r3, #8] - 800f90c: 68bb ldr r3, [r7, #8] - 800f90e: 429a cmp r2, r3 - 800f910: dcd9 bgt.n 800f8c6 <_ZN7SensorsD1Ev+0x16> - delete sharps[i]; - for (int i = 0; i< nbUltrasound; i++) - 800f912: f04f 0300 mov.w r3, #0 ; 0x0 - 800f916: 60fb str r3, [r7, #12] - 800f918: e020 b.n 800f95c <_ZN7SensorsD1Ev+0xac> - delete ultrasounds[i]; - 800f91a: 687b ldr r3, [r7, #4] - 800f91c: 68da ldr r2, [r3, #12] - 800f91e: 68fb ldr r3, [r7, #12] - 800f920: ea4f 0383 mov.w r3, r3, lsl #2 - 800f924: 4413 add r3, r2 - 800f926: 681b ldr r3, [r3, #0] - 800f928: 2b00 cmp r3, #0 - 800f92a: d013 beq.n 800f954 <_ZN7SensorsD1Ev+0xa4> - 800f92c: 687b ldr r3, [r7, #4] - 800f92e: 68da ldr r2, [r3, #12] - 800f930: 68fb ldr r3, [r7, #12] - 800f932: ea4f 0383 mov.w r3, r3, lsl #2 - 800f936: 4413 add r3, r2 - 800f938: 681b ldr r3, [r3, #0] - 800f93a: 681b ldr r3, [r3, #0] - 800f93c: f103 0304 add.w r3, r3, #4 ; 0x4 - 800f940: 6819 ldr r1, [r3, #0] - 800f942: 687b ldr r3, [r7, #4] - 800f944: 68da ldr r2, [r3, #12] - 800f946: 68fb ldr r3, [r7, #12] - 800f948: ea4f 0383 mov.w r3, r3, lsl #2 - 800f94c: 4413 add r3, r2 - 800f94e: 681b ldr r3, [r3, #0] - 800f950: 4618 mov r0, r3 - 800f952: 4788 blx r1 - -Sensors::~Sensors() -{ - for (int i = 0; i< nbSharp; i++) - delete sharps[i]; - for (int i = 0; i< nbUltrasound; i++) - 800f954: 68fb ldr r3, [r7, #12] - 800f956: f103 0301 add.w r3, r3, #1 ; 0x1 - 800f95a: 60fb str r3, [r7, #12] - 800f95c: 687b ldr r3, [r7, #4] - 800f95e: 691a ldr r2, [r3, #16] - 800f960: 68fb ldr r3, [r7, #12] - 800f962: 429a cmp r2, r3 - 800f964: dcd9 bgt.n 800f91a <_ZN7SensorsD1Ev+0x6a> - delete ultrasounds[i]; - #ifdef ROBOTHW - for (int i = 0; i< nbLimitSwitch; i++) - 800f966: f04f 0300 mov.w r3, #0 ; 0x0 - 800f96a: 613b str r3, [r7, #16] - 800f96c: e020 b.n 800f9b0 <_ZN7SensorsD1Ev+0x100> - delete limitSwitchs[i]; - 800f96e: 687b ldr r3, [r7, #4] - 800f970: 69da ldr r2, [r3, #28] - 800f972: 693b ldr r3, [r7, #16] - 800f974: ea4f 0383 mov.w r3, r3, lsl #2 - 800f978: 4413 add r3, r2 - 800f97a: 681b ldr r3, [r3, #0] - 800f97c: 2b00 cmp r3, #0 - 800f97e: d013 beq.n 800f9a8 <_ZN7SensorsD1Ev+0xf8> - 800f980: 687b ldr r3, [r7, #4] - 800f982: 69da ldr r2, [r3, #28] - 800f984: 693b ldr r3, [r7, #16] - 800f986: ea4f 0383 mov.w r3, r3, lsl #2 - 800f98a: 4413 add r3, r2 - 800f98c: 681b ldr r3, [r3, #0] - 800f98e: 681b ldr r3, [r3, #0] - 800f990: f103 0304 add.w r3, r3, #4 ; 0x4 - 800f994: 6819 ldr r1, [r3, #0] - 800f996: 687b ldr r3, [r7, #4] - 800f998: 69da ldr r2, [r3, #28] - 800f99a: 693b ldr r3, [r7, #16] - 800f99c: ea4f 0383 mov.w r3, r3, lsl #2 - 800f9a0: 4413 add r3, r2 - 800f9a2: 681b ldr r3, [r3, #0] - 800f9a4: 4618 mov r0, r3 - 800f9a6: 4788 blx r1 - for (int i = 0; i< nbSharp; i++) - delete sharps[i]; - for (int i = 0; i< nbUltrasound; i++) - delete ultrasounds[i]; - #ifdef ROBOTHW - for (int i = 0; i< nbLimitSwitch; i++) - 800f9a8: 693b ldr r3, [r7, #16] - 800f9aa: f103 0301 add.w r3, r3, #1 ; 0x1 - 800f9ae: 613b str r3, [r7, #16] - 800f9b0: 687b ldr r3, [r7, #4] - 800f9b2: 6a1a ldr r2, [r3, #32] - 800f9b4: 693b ldr r3, [r7, #16] - 800f9b6: 429a cmp r2, r3 - 800f9b8: dcd9 bgt.n 800f96e <_ZN7SensorsD1Ev+0xbe> - delete limitSwitchs[i]; - for (int i = 0; i< nbLigthBarrier; i++) - 800f9ba: f04f 0300 mov.w r3, #0 ; 0x0 - 800f9be: 617b str r3, [r7, #20] - 800f9c0: e020 b.n 800fa04 <_ZN7SensorsD1Ev+0x154> - delete ligthBarriers[i]; - 800f9c2: 687b ldr r3, [r7, #4] - 800f9c4: 695a ldr r2, [r3, #20] - 800f9c6: 697b ldr r3, [r7, #20] - 800f9c8: ea4f 0383 mov.w r3, r3, lsl #2 - 800f9cc: 4413 add r3, r2 - 800f9ce: 681b ldr r3, [r3, #0] - 800f9d0: 2b00 cmp r3, #0 - 800f9d2: d013 beq.n 800f9fc <_ZN7SensorsD1Ev+0x14c> - 800f9d4: 687b ldr r3, [r7, #4] - 800f9d6: 695a ldr r2, [r3, #20] - 800f9d8: 697b ldr r3, [r7, #20] - 800f9da: ea4f 0383 mov.w r3, r3, lsl #2 - 800f9de: 4413 add r3, r2 - 800f9e0: 681b ldr r3, [r3, #0] - 800f9e2: 681b ldr r3, [r3, #0] - 800f9e4: f103 0304 add.w r3, r3, #4 ; 0x4 - 800f9e8: 6819 ldr r1, [r3, #0] - 800f9ea: 687b ldr r3, [r7, #4] - 800f9ec: 695a ldr r2, [r3, #20] - 800f9ee: 697b ldr r3, [r7, #20] - 800f9f0: ea4f 0383 mov.w r3, r3, lsl #2 - 800f9f4: 4413 add r3, r2 - 800f9f6: 681b ldr r3, [r3, #0] - 800f9f8: 4618 mov r0, r3 - 800f9fa: 4788 blx r1 - for (int i = 0; i< nbUltrasound; i++) - delete ultrasounds[i]; - #ifdef ROBOTHW - for (int i = 0; i< nbLimitSwitch; i++) - delete limitSwitchs[i]; - for (int i = 0; i< nbLigthBarrier; i++) - 800f9fc: 697b ldr r3, [r7, #20] - 800f9fe: f103 0301 add.w r3, r3, #1 ; 0x1 - 800fa02: 617b str r3, [r7, #20] - 800fa04: 687b ldr r3, [r7, #4] - 800fa06: 699a ldr r2, [r3, #24] - 800fa08: 697b ldr r3, [r7, #20] - 800fa0a: 429a cmp r2, r3 - 800fa0c: dcd9 bgt.n 800f9c2 <_ZN7SensorsD1Ev+0x112> - delete ligthBarriers[i]; - #endif - delete[] sharps; - 800fa0e: 687b ldr r3, [r7, #4] - 800fa10: 685b ldr r3, [r3, #4] - 800fa12: 2b00 cmp r3, #0 - 800fa14: d004 beq.n 800fa20 <_ZN7SensorsD1Ev+0x170> - 800fa16: 687b ldr r3, [r7, #4] - 800fa18: 685b ldr r3, [r3, #4] - 800fa1a: 4618 mov r0, r3 - 800fa1c: f007 fe6e bl 80176fc <_ZdaPv> - delete[] ultrasounds; - 800fa20: 687b ldr r3, [r7, #4] - 800fa22: 68db ldr r3, [r3, #12] - 800fa24: 2b00 cmp r3, #0 - 800fa26: d004 beq.n 800fa32 <_ZN7SensorsD1Ev+0x182> - 800fa28: 687b ldr r3, [r7, #4] - 800fa2a: 68db ldr r3, [r3, #12] - 800fa2c: 4618 mov r0, r3 - 800fa2e: f007 fe65 bl 80176fc <_ZdaPv> - #ifdef ROBOTHW - delete[] limitSwitchs; - 800fa32: 687b ldr r3, [r7, #4] - 800fa34: 69db ldr r3, [r3, #28] - 800fa36: 2b00 cmp r3, #0 - 800fa38: d004 beq.n 800fa44 <_ZN7SensorsD1Ev+0x194> - 800fa3a: 687b ldr r3, [r7, #4] - 800fa3c: 69db ldr r3, [r3, #28] - 800fa3e: 4618 mov r0, r3 - 800fa40: f007 fe5c bl 80176fc <_ZdaPv> - delete[] ligthBarriers; - 800fa44: 687b ldr r3, [r7, #4] - 800fa46: 695b ldr r3, [r3, #20] - 800fa48: 2b00 cmp r3, #0 - 800fa4a: d004 beq.n 800fa56 <_ZN7SensorsD1Ev+0x1a6> - 800fa4c: 687b ldr r3, [r7, #4] - 800fa4e: 695b ldr r3, [r3, #20] - 800fa50: 4618 mov r0, r3 - 800fa52: f007 fe53 bl 80176fc <_ZdaPv> - #endif - - if (sharpNameVector) - 800fa56: 687b ldr r3, [r7, #4] - 800fa58: 6a5b ldr r3, [r3, #36] - 800fa5a: 2b00 cmp r3, #0 - 800fa5c: d00d beq.n 800fa7a <_ZN7SensorsD1Ev+0x1ca> - delete sharpNameVector; - 800fa5e: 687b ldr r3, [r7, #4] - 800fa60: 6a5b ldr r3, [r3, #36] - 800fa62: 2b00 cmp r3, #0 - 800fa64: d009 beq.n 800fa7a <_ZN7SensorsD1Ev+0x1ca> - 800fa66: 687b ldr r3, [r7, #4] - 800fa68: 6a5b ldr r3, [r3, #36] - 800fa6a: 681b ldr r3, [r3, #0] - 800fa6c: f103 0304 add.w r3, r3, #4 ; 0x4 - 800fa70: 681a ldr r2, [r3, #0] - 800fa72: 687b ldr r3, [r7, #4] - 800fa74: 6a5b ldr r3, [r3, #36] - 800fa76: 4618 mov r0, r3 - 800fa78: 4790 blx r2 - #ifdef ROBOTHW - if (ligthBarrierNameVector) - 800fa7a: 687b ldr r3, [r7, #4] - 800fa7c: 6adb ldr r3, [r3, #44] - 800fa7e: 2b00 cmp r3, #0 - 800fa80: d00d beq.n 800fa9e <_ZN7SensorsD1Ev+0x1ee> - delete ligthBarrierNameVector; - 800fa82: 687b ldr r3, [r7, #4] - 800fa84: 6adb ldr r3, [r3, #44] - 800fa86: 2b00 cmp r3, #0 - 800fa88: d009 beq.n 800fa9e <_ZN7SensorsD1Ev+0x1ee> - 800fa8a: 687b ldr r3, [r7, #4] - 800fa8c: 6adb ldr r3, [r3, #44] - 800fa8e: 681b ldr r3, [r3, #0] - 800fa90: f103 0304 add.w r3, r3, #4 ; 0x4 - 800fa94: 681a ldr r2, [r3, #0] - 800fa96: 687b ldr r3, [r7, #4] - 800fa98: 6adb ldr r3, [r3, #44] - 800fa9a: 4618 mov r0, r3 - 800fa9c: 4790 blx r2 - if (limitSwitchNameVector) - 800fa9e: 687b ldr r3, [r7, #4] - 800faa0: 6a9b ldr r3, [r3, #40] - 800faa2: 2b00 cmp r3, #0 - 800faa4: d00d beq.n 800fac2 <_ZN7SensorsD1Ev+0x212> - delete limitSwitchNameVector; - 800faa6: 687b ldr r3, [r7, #4] - 800faa8: 6a9b ldr r3, [r3, #40] - 800faaa: 2b00 cmp r3, #0 - 800faac: d009 beq.n 800fac2 <_ZN7SensorsD1Ev+0x212> - 800faae: 687b ldr r3, [r7, #4] - 800fab0: 6a9b ldr r3, [r3, #40] - 800fab2: 681b ldr r3, [r3, #0] - 800fab4: f103 0304 add.w r3, r3, #4 ; 0x4 - 800fab8: 681a ldr r2, [r3, #0] - 800faba: 687b ldr r3, [r7, #4] - 800fabc: 6a9b ldr r3, [r3, #40] - 800fabe: 4618 mov r0, r3 - 800fac0: 4790 blx r2 - #endif - if (outputSensorVector) - 800fac2: 687b ldr r3, [r7, #4] - 800fac4: 6b1b ldr r3, [r3, #48] - 800fac6: 2b00 cmp r3, #0 - 800fac8: d00d beq.n 800fae6 <_ZN7SensorsD1Ev+0x236> - delete outputSensorVector; - 800faca: 687b ldr r3, [r7, #4] - 800facc: 6b1b ldr r3, [r3, #48] - 800face: 2b00 cmp r3, #0 - 800fad0: d009 beq.n 800fae6 <_ZN7SensorsD1Ev+0x236> - 800fad2: 687b ldr r3, [r7, #4] - 800fad4: 6b1b ldr r3, [r3, #48] - 800fad6: 681b ldr r3, [r3, #0] - 800fad8: f103 0304 add.w r3, r3, #4 ; 0x4 - 800fadc: 681a ldr r2, [r3, #0] - 800fade: 687b ldr r3, [r7, #4] - 800fae0: 6b1b ldr r3, [r3, #48] - 800fae2: 4618 mov r0, r3 - 800fae4: 4790 blx r2 -} - 800fae6: f04f 0300 mov.w r3, #0 ; 0x0 - 800faea: b2db uxtb r3, r3 - 800faec: 2b00 cmp r3, #0 - 800faee: d002 beq.n 800faf6 <_ZN7SensorsD1Ev+0x246> - 800faf0: 6878 ldr r0, [r7, #4] - 800faf2: f007 fd8b bl 801760c <_ZdlPv> - 800faf6: 687b ldr r3, [r7, #4] - 800faf8: 4618 mov r0, r3 - 800fafa: f107 0718 add.w r7, r7, #24 ; 0x18 - 800fafe: 46bd mov sp, r7 - 800fb00: bd80 pop {r7, pc} - 800fb02: 46c0 nop (mov r8, r8) - 800fb04: 08033d90 .word 0x08033d90 - -0800fb08 <_ZN7SensorsD2Ev>: -*/ - // AnalogSensor::initialiserADC_Fin(data, NB_CAPTEUR_A_ADC); - #endif //ROBOTHW -} - -Sensors::~Sensors() - 800fb08: b580 push {r7, lr} - 800fb0a: b086 sub sp, #24 - 800fb0c: af00 add r7, sp, #0 - 800fb0e: 6078 str r0, [r7, #4] - 800fb10: 687b ldr r3, [r7, #4] - 800fb12: 4a92 ldr r2, [pc, #584] (800fd5c <_ZN7SensorsD2Ev+0x254>) - 800fb14: 601a str r2, [r3, #0] -{ - for (int i = 0; i< nbSharp; i++) - 800fb16: f04f 0300 mov.w r3, #0 ; 0x0 - 800fb1a: 60bb str r3, [r7, #8] - 800fb1c: e020 b.n 800fb60 <_ZN7SensorsD2Ev+0x58> - delete sharps[i]; - 800fb1e: 687b ldr r3, [r7, #4] - 800fb20: 685a ldr r2, [r3, #4] - 800fb22: 68bb ldr r3, [r7, #8] - 800fb24: ea4f 0383 mov.w r3, r3, lsl #2 - 800fb28: 4413 add r3, r2 - 800fb2a: 681b ldr r3, [r3, #0] - 800fb2c: 2b00 cmp r3, #0 - 800fb2e: d013 beq.n 800fb58 <_ZN7SensorsD2Ev+0x50> - 800fb30: 687b ldr r3, [r7, #4] - 800fb32: 685a ldr r2, [r3, #4] - 800fb34: 68bb ldr r3, [r7, #8] - 800fb36: ea4f 0383 mov.w r3, r3, lsl #2 - 800fb3a: 4413 add r3, r2 - 800fb3c: 681b ldr r3, [r3, #0] - 800fb3e: 681b ldr r3, [r3, #0] - 800fb40: f103 0304 add.w r3, r3, #4 ; 0x4 - 800fb44: 6819 ldr r1, [r3, #0] - 800fb46: 687b ldr r3, [r7, #4] - 800fb48: 685a ldr r2, [r3, #4] - 800fb4a: 68bb ldr r3, [r7, #8] - 800fb4c: ea4f 0383 mov.w r3, r3, lsl #2 - 800fb50: 4413 add r3, r2 - 800fb52: 681b ldr r3, [r3, #0] - 800fb54: 4618 mov r0, r3 - 800fb56: 4788 blx r1 - #endif //ROBOTHW -} - -Sensors::~Sensors() -{ - for (int i = 0; i< nbSharp; i++) - 800fb58: 68bb ldr r3, [r7, #8] - 800fb5a: f103 0301 add.w r3, r3, #1 ; 0x1 - 800fb5e: 60bb str r3, [r7, #8] - 800fb60: 687b ldr r3, [r7, #4] - 800fb62: 689a ldr r2, [r3, #8] - 800fb64: 68bb ldr r3, [r7, #8] - 800fb66: 429a cmp r2, r3 - 800fb68: dcd9 bgt.n 800fb1e <_ZN7SensorsD2Ev+0x16> - delete sharps[i]; - for (int i = 0; i< nbUltrasound; i++) - 800fb6a: f04f 0300 mov.w r3, #0 ; 0x0 - 800fb6e: 60fb str r3, [r7, #12] - 800fb70: e020 b.n 800fbb4 <_ZN7SensorsD2Ev+0xac> - delete ultrasounds[i]; - 800fb72: 687b ldr r3, [r7, #4] - 800fb74: 68da ldr r2, [r3, #12] - 800fb76: 68fb ldr r3, [r7, #12] - 800fb78: ea4f 0383 mov.w r3, r3, lsl #2 - 800fb7c: 4413 add r3, r2 - 800fb7e: 681b ldr r3, [r3, #0] - 800fb80: 2b00 cmp r3, #0 - 800fb82: d013 beq.n 800fbac <_ZN7SensorsD2Ev+0xa4> - 800fb84: 687b ldr r3, [r7, #4] - 800fb86: 68da ldr r2, [r3, #12] - 800fb88: 68fb ldr r3, [r7, #12] - 800fb8a: ea4f 0383 mov.w r3, r3, lsl #2 - 800fb8e: 4413 add r3, r2 - 800fb90: 681b ldr r3, [r3, #0] - 800fb92: 681b ldr r3, [r3, #0] - 800fb94: f103 0304 add.w r3, r3, #4 ; 0x4 - 800fb98: 6819 ldr r1, [r3, #0] - 800fb9a: 687b ldr r3, [r7, #4] - 800fb9c: 68da ldr r2, [r3, #12] - 800fb9e: 68fb ldr r3, [r7, #12] - 800fba0: ea4f 0383 mov.w r3, r3, lsl #2 - 800fba4: 4413 add r3, r2 - 800fba6: 681b ldr r3, [r3, #0] - 800fba8: 4618 mov r0, r3 - 800fbaa: 4788 blx r1 - -Sensors::~Sensors() -{ - for (int i = 0; i< nbSharp; i++) - delete sharps[i]; - for (int i = 0; i< nbUltrasound; i++) - 800fbac: 68fb ldr r3, [r7, #12] - 800fbae: f103 0301 add.w r3, r3, #1 ; 0x1 - 800fbb2: 60fb str r3, [r7, #12] - 800fbb4: 687b ldr r3, [r7, #4] - 800fbb6: 691a ldr r2, [r3, #16] - 800fbb8: 68fb ldr r3, [r7, #12] - 800fbba: 429a cmp r2, r3 - 800fbbc: dcd9 bgt.n 800fb72 <_ZN7SensorsD2Ev+0x6a> - delete ultrasounds[i]; - #ifdef ROBOTHW - for (int i = 0; i< nbLimitSwitch; i++) - 800fbbe: f04f 0300 mov.w r3, #0 ; 0x0 - 800fbc2: 613b str r3, [r7, #16] - 800fbc4: e020 b.n 800fc08 <_ZN7SensorsD2Ev+0x100> - delete limitSwitchs[i]; - 800fbc6: 687b ldr r3, [r7, #4] - 800fbc8: 69da ldr r2, [r3, #28] - 800fbca: 693b ldr r3, [r7, #16] - 800fbcc: ea4f 0383 mov.w r3, r3, lsl #2 - 800fbd0: 4413 add r3, r2 - 800fbd2: 681b ldr r3, [r3, #0] - 800fbd4: 2b00 cmp r3, #0 - 800fbd6: d013 beq.n 800fc00 <_ZN7SensorsD2Ev+0xf8> - 800fbd8: 687b ldr r3, [r7, #4] - 800fbda: 69da ldr r2, [r3, #28] - 800fbdc: 693b ldr r3, [r7, #16] - 800fbde: ea4f 0383 mov.w r3, r3, lsl #2 - 800fbe2: 4413 add r3, r2 - 800fbe4: 681b ldr r3, [r3, #0] - 800fbe6: 681b ldr r3, [r3, #0] - 800fbe8: f103 0304 add.w r3, r3, #4 ; 0x4 - 800fbec: 6819 ldr r1, [r3, #0] - 800fbee: 687b ldr r3, [r7, #4] - 800fbf0: 69da ldr r2, [r3, #28] - 800fbf2: 693b ldr r3, [r7, #16] - 800fbf4: ea4f 0383 mov.w r3, r3, lsl #2 - 800fbf8: 4413 add r3, r2 - 800fbfa: 681b ldr r3, [r3, #0] - 800fbfc: 4618 mov r0, r3 - 800fbfe: 4788 blx r1 - for (int i = 0; i< nbSharp; i++) - delete sharps[i]; - for (int i = 0; i< nbUltrasound; i++) - delete ultrasounds[i]; - #ifdef ROBOTHW - for (int i = 0; i< nbLimitSwitch; i++) - 800fc00: 693b ldr r3, [r7, #16] - 800fc02: f103 0301 add.w r3, r3, #1 ; 0x1 - 800fc06: 613b str r3, [r7, #16] - 800fc08: 687b ldr r3, [r7, #4] - 800fc0a: 6a1a ldr r2, [r3, #32] - 800fc0c: 693b ldr r3, [r7, #16] - 800fc0e: 429a cmp r2, r3 - 800fc10: dcd9 bgt.n 800fbc6 <_ZN7SensorsD2Ev+0xbe> - delete limitSwitchs[i]; - for (int i = 0; i< nbLigthBarrier; i++) - 800fc12: f04f 0300 mov.w r3, #0 ; 0x0 - 800fc16: 617b str r3, [r7, #20] - 800fc18: e020 b.n 800fc5c <_ZN7SensorsD2Ev+0x154> - delete ligthBarriers[i]; - 800fc1a: 687b ldr r3, [r7, #4] - 800fc1c: 695a ldr r2, [r3, #20] - 800fc1e: 697b ldr r3, [r7, #20] - 800fc20: ea4f 0383 mov.w r3, r3, lsl #2 - 800fc24: 4413 add r3, r2 - 800fc26: 681b ldr r3, [r3, #0] - 800fc28: 2b00 cmp r3, #0 - 800fc2a: d013 beq.n 800fc54 <_ZN7SensorsD2Ev+0x14c> - 800fc2c: 687b ldr r3, [r7, #4] - 800fc2e: 695a ldr r2, [r3, #20] - 800fc30: 697b ldr r3, [r7, #20] - 800fc32: ea4f 0383 mov.w r3, r3, lsl #2 - 800fc36: 4413 add r3, r2 - 800fc38: 681b ldr r3, [r3, #0] - 800fc3a: 681b ldr r3, [r3, #0] - 800fc3c: f103 0304 add.w r3, r3, #4 ; 0x4 - 800fc40: 6819 ldr r1, [r3, #0] - 800fc42: 687b ldr r3, [r7, #4] - 800fc44: 695a ldr r2, [r3, #20] - 800fc46: 697b ldr r3, [r7, #20] - 800fc48: ea4f 0383 mov.w r3, r3, lsl #2 - 800fc4c: 4413 add r3, r2 - 800fc4e: 681b ldr r3, [r3, #0] - 800fc50: 4618 mov r0, r3 - 800fc52: 4788 blx r1 - for (int i = 0; i< nbUltrasound; i++) - delete ultrasounds[i]; - #ifdef ROBOTHW - for (int i = 0; i< nbLimitSwitch; i++) - delete limitSwitchs[i]; - for (int i = 0; i< nbLigthBarrier; i++) - 800fc54: 697b ldr r3, [r7, #20] - 800fc56: f103 0301 add.w r3, r3, #1 ; 0x1 - 800fc5a: 617b str r3, [r7, #20] - 800fc5c: 687b ldr r3, [r7, #4] - 800fc5e: 699a ldr r2, [r3, #24] - 800fc60: 697b ldr r3, [r7, #20] - 800fc62: 429a cmp r2, r3 - 800fc64: dcd9 bgt.n 800fc1a <_ZN7SensorsD2Ev+0x112> - delete ligthBarriers[i]; - #endif - delete[] sharps; - 800fc66: 687b ldr r3, [r7, #4] - 800fc68: 685b ldr r3, [r3, #4] - 800fc6a: 2b00 cmp r3, #0 - 800fc6c: d004 beq.n 800fc78 <_ZN7SensorsD2Ev+0x170> - 800fc6e: 687b ldr r3, [r7, #4] - 800fc70: 685b ldr r3, [r3, #4] - 800fc72: 4618 mov r0, r3 - 800fc74: f007 fd42 bl 80176fc <_ZdaPv> - delete[] ultrasounds; - 800fc78: 687b ldr r3, [r7, #4] - 800fc7a: 68db ldr r3, [r3, #12] - 800fc7c: 2b00 cmp r3, #0 - 800fc7e: d004 beq.n 800fc8a <_ZN7SensorsD2Ev+0x182> - 800fc80: 687b ldr r3, [r7, #4] - 800fc82: 68db ldr r3, [r3, #12] - 800fc84: 4618 mov r0, r3 - 800fc86: f007 fd39 bl 80176fc <_ZdaPv> - #ifdef ROBOTHW - delete[] limitSwitchs; - 800fc8a: 687b ldr r3, [r7, #4] - 800fc8c: 69db ldr r3, [r3, #28] - 800fc8e: 2b00 cmp r3, #0 - 800fc90: d004 beq.n 800fc9c <_ZN7SensorsD2Ev+0x194> - 800fc92: 687b ldr r3, [r7, #4] - 800fc94: 69db ldr r3, [r3, #28] - 800fc96: 4618 mov r0, r3 - 800fc98: f007 fd30 bl 80176fc <_ZdaPv> - delete[] ligthBarriers; - 800fc9c: 687b ldr r3, [r7, #4] - 800fc9e: 695b ldr r3, [r3, #20] - 800fca0: 2b00 cmp r3, #0 - 800fca2: d004 beq.n 800fcae <_ZN7SensorsD2Ev+0x1a6> - 800fca4: 687b ldr r3, [r7, #4] - 800fca6: 695b ldr r3, [r3, #20] - 800fca8: 4618 mov r0, r3 - 800fcaa: f007 fd27 bl 80176fc <_ZdaPv> - #endif - - if (sharpNameVector) - 800fcae: 687b ldr r3, [r7, #4] - 800fcb0: 6a5b ldr r3, [r3, #36] - 800fcb2: 2b00 cmp r3, #0 - 800fcb4: d00d beq.n 800fcd2 <_ZN7SensorsD2Ev+0x1ca> - delete sharpNameVector; - 800fcb6: 687b ldr r3, [r7, #4] - 800fcb8: 6a5b ldr r3, [r3, #36] - 800fcba: 2b00 cmp r3, #0 - 800fcbc: d009 beq.n 800fcd2 <_ZN7SensorsD2Ev+0x1ca> - 800fcbe: 687b ldr r3, [r7, #4] - 800fcc0: 6a5b ldr r3, [r3, #36] - 800fcc2: 681b ldr r3, [r3, #0] - 800fcc4: f103 0304 add.w r3, r3, #4 ; 0x4 - 800fcc8: 681a ldr r2, [r3, #0] - 800fcca: 687b ldr r3, [r7, #4] - 800fccc: 6a5b ldr r3, [r3, #36] - 800fcce: 4618 mov r0, r3 - 800fcd0: 4790 blx r2 - #ifdef ROBOTHW - if (ligthBarrierNameVector) - 800fcd2: 687b ldr r3, [r7, #4] - 800fcd4: 6adb ldr r3, [r3, #44] - 800fcd6: 2b00 cmp r3, #0 - 800fcd8: d00d beq.n 800fcf6 <_ZN7SensorsD2Ev+0x1ee> - delete ligthBarrierNameVector; - 800fcda: 687b ldr r3, [r7, #4] - 800fcdc: 6adb ldr r3, [r3, #44] - 800fcde: 2b00 cmp r3, #0 - 800fce0: d009 beq.n 800fcf6 <_ZN7SensorsD2Ev+0x1ee> - 800fce2: 687b ldr r3, [r7, #4] - 800fce4: 6adb ldr r3, [r3, #44] - 800fce6: 681b ldr r3, [r3, #0] - 800fce8: f103 0304 add.w r3, r3, #4 ; 0x4 - 800fcec: 681a ldr r2, [r3, #0] - 800fcee: 687b ldr r3, [r7, #4] - 800fcf0: 6adb ldr r3, [r3, #44] - 800fcf2: 4618 mov r0, r3 - 800fcf4: 4790 blx r2 - if (limitSwitchNameVector) - 800fcf6: 687b ldr r3, [r7, #4] - 800fcf8: 6a9b ldr r3, [r3, #40] - 800fcfa: 2b00 cmp r3, #0 - 800fcfc: d00d beq.n 800fd1a <_ZN7SensorsD2Ev+0x212> - delete limitSwitchNameVector; - 800fcfe: 687b ldr r3, [r7, #4] - 800fd00: 6a9b ldr r3, [r3, #40] - 800fd02: 2b00 cmp r3, #0 - 800fd04: d009 beq.n 800fd1a <_ZN7SensorsD2Ev+0x212> - 800fd06: 687b ldr r3, [r7, #4] - 800fd08: 6a9b ldr r3, [r3, #40] - 800fd0a: 681b ldr r3, [r3, #0] - 800fd0c: f103 0304 add.w r3, r3, #4 ; 0x4 - 800fd10: 681a ldr r2, [r3, #0] - 800fd12: 687b ldr r3, [r7, #4] - 800fd14: 6a9b ldr r3, [r3, #40] - 800fd16: 4618 mov r0, r3 - 800fd18: 4790 blx r2 - #endif - if (outputSensorVector) - 800fd1a: 687b ldr r3, [r7, #4] - 800fd1c: 6b1b ldr r3, [r3, #48] - 800fd1e: 2b00 cmp r3, #0 - 800fd20: d00d beq.n 800fd3e <_ZN7SensorsD2Ev+0x236> - delete outputSensorVector; - 800fd22: 687b ldr r3, [r7, #4] - 800fd24: 6b1b ldr r3, [r3, #48] - 800fd26: 2b00 cmp r3, #0 - 800fd28: d009 beq.n 800fd3e <_ZN7SensorsD2Ev+0x236> - 800fd2a: 687b ldr r3, [r7, #4] - 800fd2c: 6b1b ldr r3, [r3, #48] - 800fd2e: 681b ldr r3, [r3, #0] - 800fd30: f103 0304 add.w r3, r3, #4 ; 0x4 - 800fd34: 681a ldr r2, [r3, #0] - 800fd36: 687b ldr r3, [r7, #4] - 800fd38: 6b1b ldr r3, [r3, #48] - 800fd3a: 4618 mov r0, r3 - 800fd3c: 4790 blx r2 -} - 800fd3e: f04f 0300 mov.w r3, #0 ; 0x0 - 800fd42: b2db uxtb r3, r3 - 800fd44: 2b00 cmp r3, #0 - 800fd46: d002 beq.n 800fd4e <_ZN7SensorsD2Ev+0x246> - 800fd48: 6878 ldr r0, [r7, #4] - 800fd4a: f007 fc5f bl 801760c <_ZdlPv> - 800fd4e: 687b ldr r3, [r7, #4] - 800fd50: 4618 mov r0, r3 - 800fd52: f107 0718 add.w r7, r7, #24 ; 0x18 - 800fd56: 46bd mov sp, r7 - 800fd58: bd80 pop {r7, pc} - 800fd5a: 46c0 nop (mov r8, r8) - 800fd5c: 08033d90 .word 0x08033d90 - -0800fd60 <_ZN7SensorsC1Ev>: - singleton = new Sensors; - } - return singleton; -} - -Sensors::Sensors() - 800fd60: b5b0 push {r4, r5, r7, lr} - 800fd62: b088 sub sp, #32 - 800fd64: af02 add r7, sp, #8 - 800fd66: 6078 str r0, [r7, #4] - 800fd68: 687a ldr r2, [r7, #4] - 800fd6a: 4b93 ldr r3, [pc, #588] (800ffb8 <_ZN7SensorsC1Ev+0x258>) - 800fd6c: 6013 str r3, [r2, #0] -{ - - Sensors::sensors = this; - 800fd6e: 4a93 ldr r2, [pc, #588] (800ffbc <_ZN7SensorsC1Ev+0x25c>) - 800fd70: 687b ldr r3, [r7, #4] - 800fd72: 6013 str r3, [r2, #0] - - /* Les capteurs analogique doivent être définie dans le même ordre que les canaux dans - * ce tableau car sinon on ne récupérera pas les données dans le bon emplacement dans la mémoire - */ - #if defined(STM32F10X_MD) || defined(STM32F40_41xxx) // KJ - H405 - uint8_t channels[NB_CAPTEUR_A_ADC] = {9,7,11,6,8,10,13,15}; // D2,G2,AG(AD?),F2,D1,G1,AD(AG?),F1 //{10,11,12,13,14,15}; // - 800fd74: 4b92 ldr r3, [pc, #584] (800ffc0 <_ZN7SensorsC1Ev+0x260>) - 800fd76: f107 020c add.w r2, r7, #12 ; 0xc - 800fd7a: f04f 0c08 mov.w ip, #8 ; 0x8 - 800fd7e: 4610 mov r0, r2 - 800fd80: 4619 mov r1, r3 - 800fd82: 4662 mov r2, ip - 800fd84: f022 fe6a bl 8032a5c - #else // K - H107 - uint8_t channels[NB_CAPTEUR_A_ADC] = {9,14,13,11,5,4,15,12,8,10}; - #endif - - - DMA_MEMORY_TYPE* data = AnalogSensor::initialiserADC(NB_CAPTEUR_A_ADC, channels); - 800fd88: f107 030c add.w r3, r7, #12 ; 0xc - 800fd8c: f04f 0008 mov.w r0, #8 ; 0x8 - 800fd90: 4619 mov r1, r3 - 800fd92: f003 fff9 bl 8013d88 <_ZN12AnalogSensor14initialiserADCEhPh> - 800fd96: 4603 mov r3, r0 - 800fd98: 617b str r3, [r7, #20] - /// @warning ATTENTION, on doit avoir NB_CAPTEUR_A_ADC = nbSharp + nbUltrasound - - // On initialise le nombre de capteur de chaque type - #if defined(STM32F10X_MD) || defined(STM32F40_41xxx) // KJ - H405 - nbSharp = 8; - 800fd9a: 687a ldr r2, [r7, #4] - 800fd9c: f04f 0308 mov.w r3, #8 ; 0x8 - 800fda0: 6093 str r3, [r2, #8] - #else // K - H107 - nbSharp = 10; - #endif - - #ifdef ROBOTHW - nbUltrasound = 0; - 800fda2: 687a ldr r2, [r7, #4] - 800fda4: f04f 0300 mov.w r3, #0 ; 0x0 - 800fda8: 6113 str r3, [r2, #16] - nbLimitSwitch = 0; - 800fdaa: 687a ldr r2, [r7, #4] - 800fdac: f04f 0300 mov.w r3, #0 ; 0x0 - 800fdb0: 6213 str r3, [r2, #32] - nbLigthBarrier = 0; - 800fdb2: 687a ldr r2, [r7, #4] - 800fdb4: f04f 0300 mov.w r3, #0 ; 0x0 - 800fdb8: 6193 str r3, [r2, #24] - #endif - - //sharpNameVector = new SharpNameVector(nbSharp); -#ifdef ROBOTHW - outputSensorVector = new OutputSensorVector(nbUltrasound); - 800fdba: f04f 0010 mov.w r0, #16 ; 0x10 - 800fdbe: f007 fb7f bl 80174c0 <_Znwj> - 800fdc2: 4603 mov r3, r0 - 800fdc4: 461c mov r4, r3 - 800fdc6: 687b ldr r3, [r7, #4] - 800fdc8: 691b ldr r3, [r3, #16] - 800fdca: 4620 mov r0, r4 - 800fdcc: 4619 mov r1, r3 - 800fdce: f01e fb3b bl 802e448 <_ZN6vectorIN6Sensor12OutputSensorEEC1Ei> - 800fdd2: 687b ldr r3, [r7, #4] - 800fdd4: 631c str r4, [r3, #48] - limitSwitchNameVector = new LimitSwitchNameVector(nbLimitSwitch); - 800fdd6: f04f 0010 mov.w r0, #16 ; 0x10 - 800fdda: f007 fb71 bl 80174c0 <_Znwj> - 800fdde: 4603 mov r3, r0 - 800fde0: 461c mov r4, r3 - 800fde2: 687b ldr r3, [r7, #4] - 800fde4: 6a1b ldr r3, [r3, #32] - 800fde6: 4620 mov r0, r4 - 800fde8: 4619 mov r1, r3 - 800fdea: f01e fb53 bl 802e494 <_ZN6vectorIN17LimitSwitchSensor15LimitSwitchNameEEC1Ei> - 800fdee: 687b ldr r3, [r7, #4] - 800fdf0: 629c str r4, [r3, #40] - ligthBarrierNameVector = new LigthBarrierNameVector(nbLigthBarrier); - 800fdf2: f04f 0010 mov.w r0, #16 ; 0x10 - 800fdf6: f007 fb63 bl 80174c0 <_Znwj> - 800fdfa: 4603 mov r3, r0 - 800fdfc: 461c mov r4, r3 - 800fdfe: 687b ldr r3, [r7, #4] - 800fe00: 699b ldr r3, [r3, #24] - 800fe02: 4620 mov r0, r4 - 800fe04: 4619 mov r1, r3 - 800fe06: f01e fb65 bl 802e4d4 <_ZN6vectorIN18LigthBarrierSensor16LigthBarrierNameEEC1Ei> - 800fe0a: 687b ldr r3, [r7, #4] - 800fe0c: 62dc str r4, [r3, #44] -#endif - - // On initialise les tableaux de pointeur qui contiendront les capteurs - sharps = new SharpSensor*[nbSharp]; - 800fe0e: 687b ldr r3, [r7, #4] - 800fe10: 689b ldr r3, [r3, #8] - 800fe12: ea4f 0383 mov.w r3, r3, lsl #2 - 800fe16: 4618 mov r0, r3 - 800fe18: f007 fbea bl 80175f0 <_Znaj> - 800fe1c: 4603 mov r3, r0 - 800fe1e: 461a mov r2, r3 - 800fe20: 687b ldr r3, [r7, #4] - 800fe22: 605a str r2, [r3, #4] - #if defined(STM32F10X_MD) || defined(STM32F40_41xxx) // Pin pour le stm32 h103 - sharps[0] = new SharpSensor(SharpSensor::FRONT_LEFT, 9, data); // - 10 - 800fe24: 687b ldr r3, [r7, #4] - 800fe26: 685d ldr r5, [r3, #4] - 800fe28: f04f 0018 mov.w r0, #24 ; 0x18 - 800fe2c: f007 fb48 bl 80174c0 <_Znwj> - 800fe30: 4603 mov r3, r0 - 800fe32: 461c mov r4, r3 - 800fe34: f640 13c4 movw r3, #2500 ; 0x9c4 - 800fe38: 9300 str r3, [sp, #0] - 800fe3a: 4620 mov r0, r4 - 800fe3c: f04f 0104 mov.w r1, #4 ; 0x4 - 800fe40: f04f 0209 mov.w r2, #9 ; 0x9 - 800fe44: 697b ldr r3, [r7, #20] - 800fe46: f006 f9fb bl 8016240 <_ZN11SharpSensorC1ENS_9SharpNameEhPmi> - 800fe4a: 602c str r4, [r5, #0] - sharps[1] = new SharpSensor(SharpSensor::FRONT_MIDDLE, 7, data); // - 11 - 800fe4c: 687b ldr r3, [r7, #4] - 800fe4e: 685b ldr r3, [r3, #4] - 800fe50: f103 0504 add.w r5, r3, #4 ; 0x4 - 800fe54: f04f 0018 mov.w r0, #24 ; 0x18 - 800fe58: f007 fb32 bl 80174c0 <_Znwj> - 800fe5c: 4603 mov r3, r0 - 800fe5e: 461c mov r4, r3 - 800fe60: f640 13c4 movw r3, #2500 ; 0x9c4 - 800fe64: 9300 str r3, [sp, #0] - 800fe66: 4620 mov r0, r4 - 800fe68: f04f 0105 mov.w r1, #5 ; 0x5 - 800fe6c: f04f 0207 mov.w r2, #7 ; 0x7 - 800fe70: 697b ldr r3, [r7, #20] - 800fe72: f006 f9e5 bl 8016240 <_ZN11SharpSensorC1ENS_9SharpNameEhPmi> - 800fe76: 602c str r4, [r5, #0] - sharps[2] = new SharpSensor(SharpSensor::FRONT_RIGHT, 11, data); // - 12 - 800fe78: 687b ldr r3, [r7, #4] - 800fe7a: 685b ldr r3, [r3, #4] - 800fe7c: f103 0508 add.w r5, r3, #8 ; 0x8 - 800fe80: f04f 0018 mov.w r0, #24 ; 0x18 - 800fe84: f007 fb1c bl 80174c0 <_Znwj> - 800fe88: 4603 mov r3, r0 - 800fe8a: 461c mov r4, r3 - 800fe8c: f640 13c4 movw r3, #2500 ; 0x9c4 - 800fe90: 9300 str r3, [sp, #0] - 800fe92: 4620 mov r0, r4 - 800fe94: f04f 0103 mov.w r1, #3 ; 0x3 - 800fe98: f04f 020b mov.w r2, #11 ; 0xb - 800fe9c: 697b ldr r3, [r7, #20] - 800fe9e: f006 f9cf bl 8016240 <_ZN11SharpSensorC1ENS_9SharpNameEhPmi> - 800fea2: 602c str r4, [r5, #0] - sharps[3] = new SharpSensor(SharpSensor::BACK_LEFT, 6, data); // - 13 - 800fea4: 687b ldr r3, [r7, #4] - 800fea6: 685b ldr r3, [r3, #4] - 800fea8: f103 050c add.w r5, r3, #12 ; 0xc - 800feac: f04f 0018 mov.w r0, #24 ; 0x18 - 800feb0: f007 fb06 bl 80174c0 <_Znwj> - 800feb4: 4603 mov r3, r0 - 800feb6: 461c mov r4, r3 - 800feb8: f640 13c4 movw r3, #2500 ; 0x9c4 - 800febc: 9300 str r3, [sp, #0] - 800febe: 4620 mov r0, r4 - 800fec0: f04f 0101 mov.w r1, #1 ; 0x1 - 800fec4: f04f 0206 mov.w r2, #6 ; 0x6 - 800fec8: 697b ldr r3, [r7, #20] - 800feca: f006 f9b9 bl 8016240 <_ZN11SharpSensorC1ENS_9SharpNameEhPmi> - 800fece: 602c str r4, [r5, #0] - sharps[4] = new SharpSensor(SharpSensor::BACK_MIDDLE, 8, data); // - 14 - 800fed0: 687b ldr r3, [r7, #4] - 800fed2: 685b ldr r3, [r3, #4] - 800fed4: f103 0510 add.w r5, r3, #16 ; 0x10 - 800fed8: f04f 0018 mov.w r0, #24 ; 0x18 - 800fedc: f007 faf0 bl 80174c0 <_Znwj> - 800fee0: 4603 mov r3, r0 - 800fee2: 461c mov r4, r3 - 800fee4: f640 13c4 movw r3, #2500 ; 0x9c4 - 800fee8: 9300 str r3, [sp, #0] - 800feea: 4620 mov r0, r4 - 800feec: f04f 0102 mov.w r1, #2 ; 0x2 - 800fef0: f04f 0208 mov.w r2, #8 ; 0x8 - 800fef4: 697b ldr r3, [r7, #20] - 800fef6: f006 f9a3 bl 8016240 <_ZN11SharpSensorC1ENS_9SharpNameEhPmi> - 800fefa: 602c str r4, [r5, #0] - sharps[5] = new SharpSensor(SharpSensor::BACK_RIGHT, 10, data); // - 15 - 800fefc: 687b ldr r3, [r7, #4] - 800fefe: 685b ldr r3, [r3, #4] - 800ff00: f103 0514 add.w r5, r3, #20 ; 0x14 - 800ff04: f04f 0018 mov.w r0, #24 ; 0x18 - 800ff08: f007 fada bl 80174c0 <_Znwj> - 800ff0c: 4603 mov r3, r0 - 800ff0e: 461c mov r4, r3 - 800ff10: f640 13c4 movw r3, #2500 ; 0x9c4 - 800ff14: 9300 str r3, [sp, #0] - 800ff16: 4620 mov r0, r4 - 800ff18: f04f 0100 mov.w r1, #0 ; 0x0 - 800ff1c: f04f 020a mov.w r2, #10 ; 0xa - 800ff20: 697b ldr r3, [r7, #20] - 800ff22: f006 f98d bl 8016240 <_ZN11SharpSensorC1ENS_9SharpNameEhPmi> - 800ff26: 602c str r4, [r5, #0] - sharps[6] = new SharpSensor(SharpSensor::NONE, 13, data); // rien - 800ff28: 687b ldr r3, [r7, #4] - 800ff2a: 685b ldr r3, [r3, #4] - 800ff2c: f103 0518 add.w r5, r3, #24 ; 0x18 - 800ff30: f04f 0018 mov.w r0, #24 ; 0x18 - 800ff34: f007 fac4 bl 80174c0 <_Znwj> - 800ff38: 4603 mov r3, r0 - 800ff3a: 461c mov r4, r3 - 800ff3c: f640 13c4 movw r3, #2500 ; 0x9c4 - 800ff40: 9300 str r3, [sp, #0] - 800ff42: 4620 mov r0, r4 - 800ff44: f04f 0107 mov.w r1, #7 ; 0x7 - 800ff48: f04f 020d mov.w r2, #13 ; 0xd - 800ff4c: 697b ldr r3, [r7, #20] - 800ff4e: f006 f977 bl 8016240 <_ZN11SharpSensorC1ENS_9SharpNameEhPmi> - 800ff52: 602c str r4, [r5, #0] - sharps[7] = new SharpSensor(SharpSensor::NONE, 15, data); // rien - 800ff54: 687b ldr r3, [r7, #4] - 800ff56: 685b ldr r3, [r3, #4] - 800ff58: f103 051c add.w r5, r3, #28 ; 0x1c - 800ff5c: f04f 0018 mov.w r0, #24 ; 0x18 - 800ff60: f007 faae bl 80174c0 <_Znwj> - 800ff64: 4603 mov r3, r0 - 800ff66: 461c mov r4, r3 - 800ff68: f640 13c4 movw r3, #2500 ; 0x9c4 - 800ff6c: 9300 str r3, [sp, #0] - 800ff6e: 4620 mov r0, r4 - 800ff70: f04f 0107 mov.w r1, #7 ; 0x7 - 800ff74: f04f 020f mov.w r2, #15 ; 0xf - 800ff78: 697b ldr r3, [r7, #20] - 800ff7a: f006 f961 bl 8016240 <_ZN11SharpSensorC1ENS_9SharpNameEhPmi> - 800ff7e: 602c str r4, [r5, #0] - sharps[8] = new SharpSensor(SharpSensor::NONE, 14, data); // capteur bas ascenseur 14 - sharps[9] = new SharpSensor(SharpSensor::NONE, 15, data); // rien - #endif - //activeAllSharp(); -#ifdef ROBOTHW - ultrasounds = new UltrasoundSensor*[nbUltrasound]; - 800ff80: 687b ldr r3, [r7, #4] - 800ff82: 691b ldr r3, [r3, #16] - 800ff84: ea4f 0383 mov.w r3, r3, lsl #2 - 800ff88: 4618 mov r0, r3 - 800ff8a: f007 fb31 bl 80175f0 <_Znaj> - 800ff8e: 4603 mov r3, r0 - 800ff90: 461a mov r2, r3 - 800ff92: 687b ldr r3, [r7, #4] - 800ff94: 60da str r2, [r3, #12] - limitSwitchs = new LimitSwitchSensor*[nbLimitSwitch]; - 800ff96: 687b ldr r3, [r7, #4] - 800ff98: 6a1b ldr r3, [r3, #32] - 800ff9a: ea4f 0383 mov.w r3, r3, lsl #2 - 800ff9e: 4618 mov r0, r3 - 800ffa0: f007 fb26 bl 80175f0 <_Znaj> - 800ffa4: 4603 mov r3, r0 - 800ffa6: 461a mov r2, r3 - 800ffa8: 687b ldr r3, [r7, #4] - 800ffaa: 61da str r2, [r3, #28] - limitSwitchs[2] = new LimitSwitchSensor(LimitSwitchSensor::FRONT, GPIO_Pin_11, GPIOC); -#endif -*/ - // AnalogSensor::initialiserADC_Fin(data, NB_CAPTEUR_A_ADC); - #endif //ROBOTHW -} - 800ffac: 687b ldr r3, [r7, #4] - 800ffae: 4618 mov r0, r3 - 800ffb0: f107 0718 add.w r7, r7, #24 ; 0x18 - 800ffb4: 46bd mov sp, r7 - 800ffb6: bdb0 pop {r4, r5, r7, pc} - 800ffb8: 08033d90 .word 0x08033d90 - 800ffbc: 20000578 .word 0x20000578 - 800ffc0: 08033d98 .word 0x08033d98 - -0800ffc4 <_ZN7Sensors12getSingletonEv>: -#include "sensors.h" - -Sensors* Sensors::sensors = NULL; -Sensors* Sensors::singleton = 0; - -Sensors* Sensors::getSingleton() - 800ffc4: b590 push {r4, r7, lr} - 800ffc6: b081 sub sp, #4 - 800ffc8: af00 add r7, sp, #0 -{ - if(singleton == 0) - 800ffca: 4b0b ldr r3, [pc, #44] (800fff8 <_ZN7Sensors12getSingletonEv+0x34>) - 800ffcc: 681b ldr r3, [r3, #0] - 800ffce: 2b00 cmp r3, #0 - 800ffd0: d10a bne.n 800ffe8 <_ZN7Sensors12getSingletonEv+0x24> - { - singleton = new Sensors; - 800ffd2: f04f 0034 mov.w r0, #52 ; 0x34 - 800ffd6: f007 fa73 bl 80174c0 <_Znwj> - 800ffda: 4603 mov r3, r0 - 800ffdc: 461c mov r4, r3 - 800ffde: 4620 mov r0, r4 - 800ffe0: f7ff febe bl 800fd60 <_ZN7SensorsC1Ev> - 800ffe4: 4b04 ldr r3, [pc, #16] (800fff8 <_ZN7Sensors12getSingletonEv+0x34>) - 800ffe6: 601c str r4, [r3, #0] - } - return singleton; - 800ffe8: 4b03 ldr r3, [pc, #12] (800fff8 <_ZN7Sensors12getSingletonEv+0x34>) - 800ffea: 681b ldr r3, [r3, #0] -} - 800ffec: 4618 mov r0, r3 - 800ffee: f107 0704 add.w r7, r7, #4 ; 0x4 - 800fff2: 46bd mov sp, r7 - 800fff4: bd90 pop {r4, r7, pc} - 800fff6: 46c0 nop (mov r8, r8) - 800fff8: 2000057c .word 0x2000057c - -0800fffc <_ZN7SensorsC2Ev>: - -Sensors::Sensors() - 800fffc: b5b0 push {r4, r5, r7, lr} - 800fffe: b088 sub sp, #32 - 8010000: af02 add r7, sp, #8 - 8010002: 6078 str r0, [r7, #4] - 8010004: 687a ldr r2, [r7, #4] - 8010006: 4b93 ldr r3, [pc, #588] (8010254 <_ZN7SensorsC2Ev+0x258>) - 8010008: 6013 str r3, [r2, #0] -{ - - Sensors::sensors = this; - 801000a: 4a93 ldr r2, [pc, #588] (8010258 <_ZN7SensorsC2Ev+0x25c>) - 801000c: 687b ldr r3, [r7, #4] - 801000e: 6013 str r3, [r2, #0] - - /* Les capteurs analogique doivent être définie dans le même ordre que les canaux dans - * ce tableau car sinon on ne récupérera pas les données dans le bon emplacement dans la mémoire - */ - #if defined(STM32F10X_MD) || defined(STM32F40_41xxx) // KJ - H405 - uint8_t channels[NB_CAPTEUR_A_ADC] = {9,7,11,6,8,10,13,15}; // D2,G2,AG(AD?),F2,D1,G1,AD(AG?),F1 //{10,11,12,13,14,15}; // - 8010010: 4b92 ldr r3, [pc, #584] (801025c <_ZN7SensorsC2Ev+0x260>) - 8010012: f107 020c add.w r2, r7, #12 ; 0xc - 8010016: f04f 0c08 mov.w ip, #8 ; 0x8 - 801001a: 4610 mov r0, r2 - 801001c: 4619 mov r1, r3 - 801001e: 4662 mov r2, ip - 8010020: f022 fd1c bl 8032a5c - #else // K - H107 - uint8_t channels[NB_CAPTEUR_A_ADC] = {9,14,13,11,5,4,15,12,8,10}; - #endif - - - DMA_MEMORY_TYPE* data = AnalogSensor::initialiserADC(NB_CAPTEUR_A_ADC, channels); - 8010024: f107 030c add.w r3, r7, #12 ; 0xc - 8010028: f04f 0008 mov.w r0, #8 ; 0x8 - 801002c: 4619 mov r1, r3 - 801002e: f003 feab bl 8013d88 <_ZN12AnalogSensor14initialiserADCEhPh> - 8010032: 4603 mov r3, r0 - 8010034: 617b str r3, [r7, #20] - /// @warning ATTENTION, on doit avoir NB_CAPTEUR_A_ADC = nbSharp + nbUltrasound - - // On initialise le nombre de capteur de chaque type - #if defined(STM32F10X_MD) || defined(STM32F40_41xxx) // KJ - H405 - nbSharp = 8; - 8010036: 687a ldr r2, [r7, #4] - 8010038: f04f 0308 mov.w r3, #8 ; 0x8 - 801003c: 6093 str r3, [r2, #8] - #else // K - H107 - nbSharp = 10; - #endif - - #ifdef ROBOTHW - nbUltrasound = 0; - 801003e: 687a ldr r2, [r7, #4] - 8010040: f04f 0300 mov.w r3, #0 ; 0x0 - 8010044: 6113 str r3, [r2, #16] - nbLimitSwitch = 0; - 8010046: 687a ldr r2, [r7, #4] - 8010048: f04f 0300 mov.w r3, #0 ; 0x0 - 801004c: 6213 str r3, [r2, #32] - nbLigthBarrier = 0; - 801004e: 687a ldr r2, [r7, #4] - 8010050: f04f 0300 mov.w r3, #0 ; 0x0 - 8010054: 6193 str r3, [r2, #24] - #endif - - //sharpNameVector = new SharpNameVector(nbSharp); -#ifdef ROBOTHW - outputSensorVector = new OutputSensorVector(nbUltrasound); - 8010056: f04f 0010 mov.w r0, #16 ; 0x10 - 801005a: f007 fa31 bl 80174c0 <_Znwj> - 801005e: 4603 mov r3, r0 - 8010060: 461c mov r4, r3 - 8010062: 687b ldr r3, [r7, #4] - 8010064: 691b ldr r3, [r3, #16] - 8010066: 4620 mov r0, r4 - 8010068: 4619 mov r1, r3 - 801006a: f01e f9ed bl 802e448 <_ZN6vectorIN6Sensor12OutputSensorEEC1Ei> - 801006e: 687b ldr r3, [r7, #4] - 8010070: 631c str r4, [r3, #48] - limitSwitchNameVector = new LimitSwitchNameVector(nbLimitSwitch); - 8010072: f04f 0010 mov.w r0, #16 ; 0x10 - 8010076: f007 fa23 bl 80174c0 <_Znwj> - 801007a: 4603 mov r3, r0 - 801007c: 461c mov r4, r3 - 801007e: 687b ldr r3, [r7, #4] - 8010080: 6a1b ldr r3, [r3, #32] - 8010082: 4620 mov r0, r4 - 8010084: 4619 mov r1, r3 - 8010086: f01e fa05 bl 802e494 <_ZN6vectorIN17LimitSwitchSensor15LimitSwitchNameEEC1Ei> - 801008a: 687b ldr r3, [r7, #4] - 801008c: 629c str r4, [r3, #40] - ligthBarrierNameVector = new LigthBarrierNameVector(nbLigthBarrier); - 801008e: f04f 0010 mov.w r0, #16 ; 0x10 - 8010092: f007 fa15 bl 80174c0 <_Znwj> - 8010096: 4603 mov r3, r0 - 8010098: 461c mov r4, r3 - 801009a: 687b ldr r3, [r7, #4] - 801009c: 699b ldr r3, [r3, #24] - 801009e: 4620 mov r0, r4 - 80100a0: 4619 mov r1, r3 - 80100a2: f01e fa17 bl 802e4d4 <_ZN6vectorIN18LigthBarrierSensor16LigthBarrierNameEEC1Ei> - 80100a6: 687b ldr r3, [r7, #4] - 80100a8: 62dc str r4, [r3, #44] -#endif - - // On initialise les tableaux de pointeur qui contiendront les capteurs - sharps = new SharpSensor*[nbSharp]; - 80100aa: 687b ldr r3, [r7, #4] - 80100ac: 689b ldr r3, [r3, #8] - 80100ae: ea4f 0383 mov.w r3, r3, lsl #2 - 80100b2: 4618 mov r0, r3 - 80100b4: f007 fa9c bl 80175f0 <_Znaj> - 80100b8: 4603 mov r3, r0 - 80100ba: 461a mov r2, r3 - 80100bc: 687b ldr r3, [r7, #4] - 80100be: 605a str r2, [r3, #4] - #if defined(STM32F10X_MD) || defined(STM32F40_41xxx) // Pin pour le stm32 h103 - sharps[0] = new SharpSensor(SharpSensor::FRONT_LEFT, 9, data); // - 10 - 80100c0: 687b ldr r3, [r7, #4] - 80100c2: 685d ldr r5, [r3, #4] - 80100c4: f04f 0018 mov.w r0, #24 ; 0x18 - 80100c8: f007 f9fa bl 80174c0 <_Znwj> - 80100cc: 4603 mov r3, r0 - 80100ce: 461c mov r4, r3 - 80100d0: f640 13c4 movw r3, #2500 ; 0x9c4 - 80100d4: 9300 str r3, [sp, #0] - 80100d6: 4620 mov r0, r4 - 80100d8: f04f 0104 mov.w r1, #4 ; 0x4 - 80100dc: f04f 0209 mov.w r2, #9 ; 0x9 - 80100e0: 697b ldr r3, [r7, #20] - 80100e2: f006 f8ad bl 8016240 <_ZN11SharpSensorC1ENS_9SharpNameEhPmi> - 80100e6: 602c str r4, [r5, #0] - sharps[1] = new SharpSensor(SharpSensor::FRONT_MIDDLE, 7, data); // - 11 - 80100e8: 687b ldr r3, [r7, #4] - 80100ea: 685b ldr r3, [r3, #4] - 80100ec: f103 0504 add.w r5, r3, #4 ; 0x4 - 80100f0: f04f 0018 mov.w r0, #24 ; 0x18 - 80100f4: f007 f9e4 bl 80174c0 <_Znwj> - 80100f8: 4603 mov r3, r0 - 80100fa: 461c mov r4, r3 - 80100fc: f640 13c4 movw r3, #2500 ; 0x9c4 - 8010100: 9300 str r3, [sp, #0] - 8010102: 4620 mov r0, r4 - 8010104: f04f 0105 mov.w r1, #5 ; 0x5 - 8010108: f04f 0207 mov.w r2, #7 ; 0x7 - 801010c: 697b ldr r3, [r7, #20] - 801010e: f006 f897 bl 8016240 <_ZN11SharpSensorC1ENS_9SharpNameEhPmi> - 8010112: 602c str r4, [r5, #0] - sharps[2] = new SharpSensor(SharpSensor::FRONT_RIGHT, 11, data); // - 12 - 8010114: 687b ldr r3, [r7, #4] - 8010116: 685b ldr r3, [r3, #4] - 8010118: f103 0508 add.w r5, r3, #8 ; 0x8 - 801011c: f04f 0018 mov.w r0, #24 ; 0x18 - 8010120: f007 f9ce bl 80174c0 <_Znwj> - 8010124: 4603 mov r3, r0 - 8010126: 461c mov r4, r3 - 8010128: f640 13c4 movw r3, #2500 ; 0x9c4 - 801012c: 9300 str r3, [sp, #0] - 801012e: 4620 mov r0, r4 - 8010130: f04f 0103 mov.w r1, #3 ; 0x3 - 8010134: f04f 020b mov.w r2, #11 ; 0xb - 8010138: 697b ldr r3, [r7, #20] - 801013a: f006 f881 bl 8016240 <_ZN11SharpSensorC1ENS_9SharpNameEhPmi> - 801013e: 602c str r4, [r5, #0] - sharps[3] = new SharpSensor(SharpSensor::BACK_LEFT, 6, data); // - 13 - 8010140: 687b ldr r3, [r7, #4] - 8010142: 685b ldr r3, [r3, #4] - 8010144: f103 050c add.w r5, r3, #12 ; 0xc - 8010148: f04f 0018 mov.w r0, #24 ; 0x18 - 801014c: f007 f9b8 bl 80174c0 <_Znwj> - 8010150: 4603 mov r3, r0 - 8010152: 461c mov r4, r3 - 8010154: f640 13c4 movw r3, #2500 ; 0x9c4 - 8010158: 9300 str r3, [sp, #0] - 801015a: 4620 mov r0, r4 - 801015c: f04f 0101 mov.w r1, #1 ; 0x1 - 8010160: f04f 0206 mov.w r2, #6 ; 0x6 - 8010164: 697b ldr r3, [r7, #20] - 8010166: f006 f86b bl 8016240 <_ZN11SharpSensorC1ENS_9SharpNameEhPmi> - 801016a: 602c str r4, [r5, #0] - sharps[4] = new SharpSensor(SharpSensor::BACK_MIDDLE, 8, data); // - 14 - 801016c: 687b ldr r3, [r7, #4] - 801016e: 685b ldr r3, [r3, #4] - 8010170: f103 0510 add.w r5, r3, #16 ; 0x10 - 8010174: f04f 0018 mov.w r0, #24 ; 0x18 - 8010178: f007 f9a2 bl 80174c0 <_Znwj> - 801017c: 4603 mov r3, r0 - 801017e: 461c mov r4, r3 - 8010180: f640 13c4 movw r3, #2500 ; 0x9c4 - 8010184: 9300 str r3, [sp, #0] - 8010186: 4620 mov r0, r4 - 8010188: f04f 0102 mov.w r1, #2 ; 0x2 - 801018c: f04f 0208 mov.w r2, #8 ; 0x8 - 8010190: 697b ldr r3, [r7, #20] - 8010192: f006 f855 bl 8016240 <_ZN11SharpSensorC1ENS_9SharpNameEhPmi> - 8010196: 602c str r4, [r5, #0] - sharps[5] = new SharpSensor(SharpSensor::BACK_RIGHT, 10, data); // - 15 - 8010198: 687b ldr r3, [r7, #4] - 801019a: 685b ldr r3, [r3, #4] - 801019c: f103 0514 add.w r5, r3, #20 ; 0x14 - 80101a0: f04f 0018 mov.w r0, #24 ; 0x18 - 80101a4: f007 f98c bl 80174c0 <_Znwj> - 80101a8: 4603 mov r3, r0 - 80101aa: 461c mov r4, r3 - 80101ac: f640 13c4 movw r3, #2500 ; 0x9c4 - 80101b0: 9300 str r3, [sp, #0] - 80101b2: 4620 mov r0, r4 - 80101b4: f04f 0100 mov.w r1, #0 ; 0x0 - 80101b8: f04f 020a mov.w r2, #10 ; 0xa - 80101bc: 697b ldr r3, [r7, #20] - 80101be: f006 f83f bl 8016240 <_ZN11SharpSensorC1ENS_9SharpNameEhPmi> - 80101c2: 602c str r4, [r5, #0] - sharps[6] = new SharpSensor(SharpSensor::NONE, 13, data); // rien - 80101c4: 687b ldr r3, [r7, #4] - 80101c6: 685b ldr r3, [r3, #4] - 80101c8: f103 0518 add.w r5, r3, #24 ; 0x18 - 80101cc: f04f 0018 mov.w r0, #24 ; 0x18 - 80101d0: f007 f976 bl 80174c0 <_Znwj> - 80101d4: 4603 mov r3, r0 - 80101d6: 461c mov r4, r3 - 80101d8: f640 13c4 movw r3, #2500 ; 0x9c4 - 80101dc: 9300 str r3, [sp, #0] - 80101de: 4620 mov r0, r4 - 80101e0: f04f 0107 mov.w r1, #7 ; 0x7 - 80101e4: f04f 020d mov.w r2, #13 ; 0xd - 80101e8: 697b ldr r3, [r7, #20] - 80101ea: f006 f829 bl 8016240 <_ZN11SharpSensorC1ENS_9SharpNameEhPmi> - 80101ee: 602c str r4, [r5, #0] - sharps[7] = new SharpSensor(SharpSensor::NONE, 15, data); // rien - 80101f0: 687b ldr r3, [r7, #4] - 80101f2: 685b ldr r3, [r3, #4] - 80101f4: f103 051c add.w r5, r3, #28 ; 0x1c - 80101f8: f04f 0018 mov.w r0, #24 ; 0x18 - 80101fc: f007 f960 bl 80174c0 <_Znwj> - 8010200: 4603 mov r3, r0 - 8010202: 461c mov r4, r3 - 8010204: f640 13c4 movw r3, #2500 ; 0x9c4 - 8010208: 9300 str r3, [sp, #0] - 801020a: 4620 mov r0, r4 - 801020c: f04f 0107 mov.w r1, #7 ; 0x7 - 8010210: f04f 020f mov.w r2, #15 ; 0xf - 8010214: 697b ldr r3, [r7, #20] - 8010216: f006 f813 bl 8016240 <_ZN11SharpSensorC1ENS_9SharpNameEhPmi> - 801021a: 602c str r4, [r5, #0] - sharps[8] = new SharpSensor(SharpSensor::NONE, 14, data); // capteur bas ascenseur 14 - sharps[9] = new SharpSensor(SharpSensor::NONE, 15, data); // rien - #endif - //activeAllSharp(); -#ifdef ROBOTHW - ultrasounds = new UltrasoundSensor*[nbUltrasound]; - 801021c: 687b ldr r3, [r7, #4] - 801021e: 691b ldr r3, [r3, #16] - 8010220: ea4f 0383 mov.w r3, r3, lsl #2 - 8010224: 4618 mov r0, r3 - 8010226: f007 f9e3 bl 80175f0 <_Znaj> - 801022a: 4603 mov r3, r0 - 801022c: 461a mov r2, r3 - 801022e: 687b ldr r3, [r7, #4] - 8010230: 60da str r2, [r3, #12] - limitSwitchs = new LimitSwitchSensor*[nbLimitSwitch]; - 8010232: 687b ldr r3, [r7, #4] - 8010234: 6a1b ldr r3, [r3, #32] - 8010236: ea4f 0383 mov.w r3, r3, lsl #2 - 801023a: 4618 mov r0, r3 - 801023c: f007 f9d8 bl 80175f0 <_Znaj> - 8010240: 4603 mov r3, r0 - 8010242: 461a mov r2, r3 - 8010244: 687b ldr r3, [r7, #4] - 8010246: 61da str r2, [r3, #28] - limitSwitchs[2] = new LimitSwitchSensor(LimitSwitchSensor::FRONT, GPIO_Pin_11, GPIOC); -#endif -*/ - // AnalogSensor::initialiserADC_Fin(data, NB_CAPTEUR_A_ADC); - #endif //ROBOTHW -} - 8010248: 687b ldr r3, [r7, #4] - 801024a: 4618 mov r0, r3 - 801024c: f107 0718 add.w r7, r7, #24 ; 0x18 - 8010250: 46bd mov sp, r7 - 8010252: bdb0 pop {r4, r5, r7, pc} - 8010254: 08033d90 .word 0x08033d90 - 8010258: 20000578 .word 0x20000578 - 801025c: 08033d98 .word 0x08033d98 - -08010260 <_ZN5Servo13shutDownServoEv>: - - float rc = m_RC0degre + m_coefRC * angle; - pwm_handler.setDutyCycle(rc); -} - -void Servo::shutDownServo() - 8010260: b580 push {r7, lr} - 8010262: b082 sub sp, #8 - 8010264: af00 add r7, sp, #0 - 8010266: 6078 str r0, [r7, #4] -{ - pwm_handler.setPulseWidth(0); - 8010268: 687b ldr r3, [r7, #4] - 801026a: 4618 mov r0, r3 - 801026c: f04f 0100 mov.w r1, #0 ; 0x0 - 8010270: f005 f942 bl 80154f8 <_ZN10PWMHandler13setPulseWidthEt> -} - 8010274: f107 0708 add.w r7, r7, #8 ; 0x8 - 8010278: 46bd mov sp, r7 - 801027a: bd80 pop {r7, pc} - -0801027c <_ZN5Servo9goToAngleEf>: - #endif - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_Init(GPIOx, &GPIO_InitStructure); -} - -void Servo::goToAngle(Angle angle) - 801027c: b590 push {r4, r7, lr} - 801027e: b085 sub sp, #20 - 8010280: af00 add r7, sp, #0 - 8010282: 6078 str r0, [r7, #4] - 8010284: 6039 str r1, [r7, #0] - float pulseWidth = angle*19.5f+1200.0f; // pour le servo ES 539 made in malaysia - - // Donner la rapport au PWM - pwm_handler.setPulseWidth(pulseWidth);*/ - - if (angle < 0.0) - 8010286: 6838 ldr r0, [r7, #0] - 8010288: 4914 ldr r1, [pc, #80] (80102dc <_ZN5Servo9goToAngleEf+0x60>) - 801028a: f01d f831 bl 802d2f0 <__aeabi_fcmplt> - 801028e: 4603 mov r3, r0 - 8010290: 2b00 cmp r3, #0 - 8010292: d002 beq.n 801029a <_ZN5Servo9goToAngleEf+0x1e> - angle = 0.0f; - 8010294: 4b11 ldr r3, [pc, #68] (80102dc <_ZN5Servo9goToAngleEf+0x60>) - 8010296: 603b str r3, [r7, #0] - 8010298: e008 b.n 80102ac <_ZN5Servo9goToAngleEf+0x30> - else if (angle > 180.0f) - 801029a: 6838 ldr r0, [r7, #0] - 801029c: 4910 ldr r1, [pc, #64] (80102e0 <_ZN5Servo9goToAngleEf+0x64>) - 801029e: f01d f845 bl 802d32c <__aeabi_fcmpgt> - 80102a2: 4603 mov r3, r0 - 80102a4: 2b00 cmp r3, #0 - 80102a6: d001 beq.n 80102ac <_ZN5Servo9goToAngleEf+0x30> - angle = 180.0f; - 80102a8: 4b0d ldr r3, [pc, #52] (80102e0 <_ZN5Servo9goToAngleEf+0x64>) - 80102aa: 603b str r3, [r7, #0] - - float rc = m_RC0degre + m_coefRC * angle; - 80102ac: 687b ldr r3, [r7, #4] - 80102ae: 68dc ldr r4, [r3, #12] - 80102b0: 687b ldr r3, [r7, #4] - 80102b2: 691b ldr r3, [r3, #16] - 80102b4: 4618 mov r0, r3 - 80102b6: 6839 ldr r1, [r7, #0] - 80102b8: f01c fe7e bl 802cfb8 <__aeabi_fmul> - 80102bc: 4603 mov r3, r0 - 80102be: 4620 mov r0, r4 - 80102c0: 4619 mov r1, r3 - 80102c2: f01c fd71 bl 802cda8 <__addsf3> - 80102c6: 4603 mov r3, r0 - 80102c8: 60fb str r3, [r7, #12] - pwm_handler.setDutyCycle(rc); - 80102ca: 687b ldr r3, [r7, #4] - 80102cc: 4618 mov r0, r3 - 80102ce: 68f9 ldr r1, [r7, #12] - 80102d0: f005 f962 bl 8015598 <_ZN10PWMHandler12setDutyCycleEf> -} - 80102d4: f107 0714 add.w r7, r7, #20 ; 0x14 - 80102d8: 46bd mov sp, r7 - 80102da: bd90 pop {r4, r7, pc} - 80102dc: 00000000 .word 0x00000000 - 80102e0: 43340000 .word 0x43340000 - -080102e4 <_ZN5Servo7initPinEP12GPIO_TypeDeft>: -{ - shutDownServo(); -} - -// initialise la pin du servo -void Servo::initPin(GPIO_TypeDef* GPIOx, uint16_t pinX) - 80102e4: b580 push {r7, lr} - 80102e6: b084 sub sp, #16 - 80102e8: af00 add r7, sp, #0 - 80102ea: 6078 str r0, [r7, #4] - 80102ec: 460b mov r3, r1 - 80102ee: 807b strh r3, [r7, #2] -{ - GPIO_InitTypeDef GPIO_InitStructure; - GPIO_InitStructure.GPIO_Pin = pinX; - 80102f0: 887b ldrh r3, [r7, #2] - 80102f2: 60bb str r3, [r7, #8] - - #ifdef STM32F40_41xxx - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - 80102f4: f04f 0302 mov.w r3, #2 ; 0x2 - 80102f8: 733b strb r3, [r7, #12] - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - 80102fa: f04f 0300 mov.w r3, #0 ; 0x0 - 80102fe: 73bb strb r3, [r7, #14] - #elif defined(STM32F10X_MD) || defined(STM32F10X_CL) - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; - #endif - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - 8010300: f04f 0302 mov.w r3, #2 ; 0x2 - 8010304: 737b strb r3, [r7, #13] - GPIO_Init(GPIOx, &GPIO_InitStructure); - 8010306: f107 0308 add.w r3, r7, #8 ; 0x8 - 801030a: 6878 ldr r0, [r7, #4] - 801030c: 4619 mov r1, r3 - 801030e: f7f9 fc1b bl 8009b48 -} - 8010312: f107 0710 add.w r7, r7, #16 ; 0x10 - 8010316: 46bd mov sp, r7 - 8010318: bd80 pop {r7, pc} - 801031a: 46c0 nop (mov r8, r8) - -0801031c <_ZN5ServoD1Ev>: -Servo::Servo(Timer* timer, unsigned char OCx, float RC0degre, float RC180degres) - : pwm_handler(timer, OCx), m_timer(timer), m_RC0degre(RC0degre), m_coefRC((RC180degres-RC0degre)/180.0f) -{ -} - -Servo::~Servo() - 801031c: b580 push {r7, lr} - 801031e: b082 sub sp, #8 - 8010320: af00 add r7, sp, #0 - 8010322: 6078 str r0, [r7, #4] -{ - shutDownServo(); - 8010324: 6878 ldr r0, [r7, #4] - 8010326: f7ff ff9b bl 8010260 <_ZN5Servo13shutDownServoEv> -} - 801032a: 687b ldr r3, [r7, #4] - 801032c: 4618 mov r0, r3 - 801032e: f005 f913 bl 8015558 <_ZN10PWMHandlerD1Ev> - 8010332: 687b ldr r3, [r7, #4] - 8010334: 4618 mov r0, r3 - 8010336: f107 0708 add.w r7, r7, #8 ; 0x8 - 801033a: 46bd mov sp, r7 - 801033c: bd80 pop {r7, pc} - 801033e: 46c0 nop (mov r8, r8) - -08010340 <_ZN5ServoD2Ev>: -Servo::Servo(Timer* timer, unsigned char OCx, float RC0degre, float RC180degres) - : pwm_handler(timer, OCx), m_timer(timer), m_RC0degre(RC0degre), m_coefRC((RC180degres-RC0degre)/180.0f) -{ -} - -Servo::~Servo() - 8010340: b580 push {r7, lr} - 8010342: b082 sub sp, #8 - 8010344: af00 add r7, sp, #0 - 8010346: 6078 str r0, [r7, #4] -{ - shutDownServo(); - 8010348: 6878 ldr r0, [r7, #4] - 801034a: f7ff ff89 bl 8010260 <_ZN5Servo13shutDownServoEv> -} - 801034e: 687b ldr r3, [r7, #4] - 8010350: 4618 mov r0, r3 - 8010352: f005 f901 bl 8015558 <_ZN10PWMHandlerD1Ev> - 8010356: 687b ldr r3, [r7, #4] - 8010358: 4618 mov r0, r3 - 801035a: f107 0708 add.w r7, r7, #8 ; 0x8 - 801035e: 46bd mov sp, r7 - 8010360: bd80 pop {r7, pc} - 8010362: 46c0 nop (mov r8, r8) - -08010364 <_ZN5ServoC1EP5Timerhff>: -#include "servo.h" - -#ifdef ROBOTHW - -// on donne le rapport cyclique de l'angle minimal (0 degré) et celui de l'angle maximal (180 degrés) -Servo::Servo(Timer* timer, unsigned char OCx, float RC0degre, float RC180degres) - 8010364: b580 push {r7, lr} - 8010366: b084 sub sp, #16 - 8010368: af00 add r7, sp, #0 - 801036a: 60f8 str r0, [r7, #12] - 801036c: 60b9 str r1, [r7, #8] - 801036e: 603b str r3, [r7, #0] - 8010370: 4613 mov r3, r2 - 8010372: 71fb strb r3, [r7, #7] - : pwm_handler(timer, OCx), m_timer(timer), m_RC0degre(RC0degre), m_coefRC((RC180degres-RC0degre)/180.0f) - 8010374: 68fb ldr r3, [r7, #12] - 8010376: 79fa ldrb r2, [r7, #7] - 8010378: 4618 mov r0, r3 - 801037a: 68b9 ldr r1, [r7, #8] - 801037c: f005 f92e bl 80155dc <_ZN10PWMHandlerC1EP5Timerh> - 8010380: 68fa ldr r2, [r7, #12] - 8010382: 68bb ldr r3, [r7, #8] - 8010384: 6093 str r3, [r2, #8] - 8010386: 68fa ldr r2, [r7, #12] - 8010388: 683b ldr r3, [r7, #0] - 801038a: 60d3 str r3, [r2, #12] - 801038c: 69b8 ldr r0, [r7, #24] - 801038e: 6839 ldr r1, [r7, #0] - 8010390: f01c fd08 bl 802cda4 <__aeabi_fsub> - 8010394: 4603 mov r3, r0 - 8010396: 4618 mov r0, r3 - 8010398: 4906 ldr r1, [pc, #24] (80103b4 <_ZN5ServoC1EP5Timerhff+0x50>) - 801039a: f01c fec1 bl 802d120 <__aeabi_fdiv> - 801039e: 4603 mov r3, r0 - 80103a0: 461a mov r2, r3 - 80103a2: 68fb ldr r3, [r7, #12] - 80103a4: 611a str r2, [r3, #16] -{ -} - 80103a6: 68fb ldr r3, [r7, #12] - 80103a8: 4618 mov r0, r3 - 80103aa: f107 0710 add.w r7, r7, #16 ; 0x10 - 80103ae: 46bd mov sp, r7 - 80103b0: bd80 pop {r7, pc} - 80103b2: 46c0 nop (mov r8, r8) - 80103b4: 43340000 .word 0x43340000 - -080103b8 <_ZN5ServoC2EP5Timerhff>: -#include "servo.h" - -#ifdef ROBOTHW - -// on donne le rapport cyclique de l'angle minimal (0 degré) et celui de l'angle maximal (180 degrés) -Servo::Servo(Timer* timer, unsigned char OCx, float RC0degre, float RC180degres) - 80103b8: b580 push {r7, lr} - 80103ba: b084 sub sp, #16 - 80103bc: af00 add r7, sp, #0 - 80103be: 60f8 str r0, [r7, #12] - 80103c0: 60b9 str r1, [r7, #8] - 80103c2: 603b str r3, [r7, #0] - 80103c4: 4613 mov r3, r2 - 80103c6: 71fb strb r3, [r7, #7] - : pwm_handler(timer, OCx), m_timer(timer), m_RC0degre(RC0degre), m_coefRC((RC180degres-RC0degre)/180.0f) - 80103c8: 68fb ldr r3, [r7, #12] - 80103ca: 79fa ldrb r2, [r7, #7] - 80103cc: 4618 mov r0, r3 - 80103ce: 68b9 ldr r1, [r7, #8] - 80103d0: f005 f904 bl 80155dc <_ZN10PWMHandlerC1EP5Timerh> - 80103d4: 68fa ldr r2, [r7, #12] - 80103d6: 68bb ldr r3, [r7, #8] - 80103d8: 6093 str r3, [r2, #8] - 80103da: 68fa ldr r2, [r7, #12] - 80103dc: 683b ldr r3, [r7, #0] - 80103de: 60d3 str r3, [r2, #12] - 80103e0: 69b8 ldr r0, [r7, #24] - 80103e2: 6839 ldr r1, [r7, #0] - 80103e4: f01c fcde bl 802cda4 <__aeabi_fsub> - 80103e8: 4603 mov r3, r0 - 80103ea: 4618 mov r0, r3 - 80103ec: 4906 ldr r1, [pc, #24] (8010408 <_ZN5ServoC2EP5Timerhff+0x50>) - 80103ee: f01c fe97 bl 802d120 <__aeabi_fdiv> - 80103f2: 4603 mov r3, r0 - 80103f4: 461a mov r2, r3 - 80103f6: 68fb ldr r3, [r7, #12] - 80103f8: 611a str r2, [r3, #16] -{ -} - 80103fa: 68fb ldr r3, [r7, #12] - 80103fc: 4618 mov r0, r3 - 80103fe: f107 0710 add.w r7, r7, #16 ; 0x10 - 8010402: 46bd mov sp, r7 - 8010404: bd80 pop {r7, pc} - 8010406: 46c0 nop (mov r8, r8) - 8010408: 43340000 .word 0x43340000 - 801040c: 00000000 .word 0x00000000 - -08010410 <_Z9wrapAnglef>: -#include "angle.h" -#include - -// Retourne la valeur de l'angle dans un float entre -PI et PI. -Angle wrapAngle(Angle angle) - 8010410: b580 push {r7, lr} - 8010412: b082 sub sp, #8 - 8010414: af00 add r7, sp, #0 - 8010416: 6078 str r0, [r7, #4] -{ - static const Angle M_2PI = 6.283185307179586476925; - - if (angle > 0) - 8010418: 6878 ldr r0, [r7, #4] - 801041a: 491f ldr r1, [pc, #124] (8010498 <_Z9wrapAnglef+0x88>) - 801041c: f01c ff86 bl 802d32c <__aeabi_fcmpgt> - 8010420: 4603 mov r3, r0 - 8010422: 2b00 cmp r3, #0 - 8010424: d106 bne.n 8010434 <_Z9wrapAnglef+0x24> - 8010426: e01a b.n 801045e <_Z9wrapAnglef+0x4e> - { - while (angle > M_PI) - angle -= M_2PI; - 8010428: 6878 ldr r0, [r7, #4] - 801042a: 491c ldr r1, [pc, #112] (801049c <_Z9wrapAnglef+0x8c>) - 801042c: f01c fcba bl 802cda4 <__aeabi_fsub> - 8010430: 4603 mov r3, r0 - 8010432: 607b str r3, [r7, #4] -{ - static const Angle M_2PI = 6.283185307179586476925; - - if (angle > 0) - { - while (angle > M_PI) - 8010434: 6878 ldr r0, [r7, #4] - 8010436: f01c f94d bl 802c6d4 <__aeabi_f2d> - 801043a: 4602 mov r2, r0 - 801043c: 460b mov r3, r1 - 801043e: 4610 mov r0, r2 - 8010440: 4619 mov r1, r3 - 8010442: a211 add r2, pc, #68 (adr r2, 8010488 <_Z9wrapAnglef+0x78>) - 8010444: ca0c ldmia r2!, {r2, r3} - 8010446: f01c fc27 bl 802cc98 <__aeabi_dcmpgt> - 801044a: 4603 mov r3, r0 - 801044c: 2b00 cmp r3, #0 - 801044e: d1eb bne.n 8010428 <_Z9wrapAnglef+0x18> - 8010450: e013 b.n 801047a <_Z9wrapAnglef+0x6a> - angle -= M_2PI; - } - else - { - while (angle < -M_PI) - angle += M_2PI; - 8010452: 6878 ldr r0, [r7, #4] - 8010454: 4911 ldr r1, [pc, #68] (801049c <_Z9wrapAnglef+0x8c>) - 8010456: f01c fca7 bl 802cda8 <__addsf3> - 801045a: 4603 mov r3, r0 - 801045c: 607b str r3, [r7, #4] - while (angle > M_PI) - angle -= M_2PI; - } - else - { - while (angle < -M_PI) - 801045e: 6878 ldr r0, [r7, #4] - 8010460: f01c f938 bl 802c6d4 <__aeabi_f2d> - 8010464: 4602 mov r2, r0 - 8010466: 460b mov r3, r1 - 8010468: 4610 mov r0, r2 - 801046a: 4619 mov r1, r3 - 801046c: a208 add r2, pc, #32 (adr r2, 8010490 <_Z9wrapAnglef+0x80>) - 801046e: ca0c ldmia r2!, {r2, r3} - 8010470: f01c fbf4 bl 802cc5c <__aeabi_dcmplt> - 8010474: 4603 mov r3, r0 - 8010476: 2b00 cmp r3, #0 - 8010478: d1eb bne.n 8010452 <_Z9wrapAnglef+0x42> - angle += M_2PI; - } - return angle; - 801047a: 687b ldr r3, [r7, #4] -} - 801047c: 4618 mov r0, r3 - 801047e: f107 0708 add.w r7, r7, #8 ; 0x8 - 8010482: 46bd mov sp, r7 - 8010484: bd80 pop {r7, pc} - 8010486: 46c0 nop (mov r8, r8) - 8010488: 54442d18 .word 0x54442d18 - 801048c: 400921fb .word 0x400921fb - 8010490: 54442d18 .word 0x54442d18 - 8010494: c00921fb .word 0xc00921fb - 8010498: 00000000 .word 0x00000000 - 801049c: 40c90fdb .word 0x40c90fdb - -080104a0 <_Z7angleEqff>: - -// Vérifie s'il y a égalité ou presque entre deux angles. -bool angleEq(Angle a1, Angle a2) - 80104a0: b580 push {r7, lr} - 80104a2: b084 sub sp, #16 - 80104a4: af00 add r7, sp, #0 - 80104a6: 60f8 str r0, [r7, #12] - 80104a8: 60b9 str r1, [r7, #8] -{ - static const Angle epsilon = 0.1; - return (fabs(wrapAngle(a1 - a2)) < epsilon); - 80104aa: 68f8 ldr r0, [r7, #12] - 80104ac: 68b9 ldr r1, [r7, #8] - 80104ae: f01c fc79 bl 802cda4 <__aeabi_fsub> - 80104b2: 4603 mov r3, r0 - 80104b4: 4618 mov r0, r3 - 80104b6: f7ff ffab bl 8010410 <_Z9wrapAnglef> - 80104ba: 4603 mov r3, r0 - 80104bc: f023 4200 bic.w r2, r3, #2147483648 ; 0x80000000 - 80104c0: f04f 0300 mov.w r3, #0 ; 0x0 - 80104c4: 71fb strb r3, [r7, #7] - 80104c6: 4610 mov r0, r2 - 80104c8: 4907 ldr r1, [pc, #28] (80104e8 <_Z7angleEqff+0x48>) - 80104ca: f01c ff11 bl 802d2f0 <__aeabi_fcmplt> - 80104ce: 4603 mov r3, r0 - 80104d0: 2b00 cmp r3, #0 - 80104d2: d002 beq.n 80104da <_Z7angleEqff+0x3a> - 80104d4: f04f 0301 mov.w r3, #1 ; 0x1 - 80104d8: 71fb strb r3, [r7, #7] - 80104da: 79fb ldrb r3, [r7, #7] -} - 80104dc: 4618 mov r0, r3 - 80104de: f107 0710 add.w r7, r7, #16 ; 0x10 - 80104e2: 46bd mov sp, r7 - 80104e4: bd80 pop {r7, pc} - 80104e6: 46c0 nop (mov r8, r8) - 80104e8: 3dcccccd .word 0x3dcccccd - 80104ec: 46c046c0 .word 0x46c046c0 - -080104f0 <_ZN14Asservissement14setLinearSpeedEf>: - SysTick_IRQ.NVIC_IRQChannelSubPriority = 1; - NVIC_Init(&SysTick_IRQ); -#endif -} - -void Asservissement::setLinearSpeed(Vitesse vitesse) - 80104f0: b480 push {r7} - 80104f2: b083 sub sp, #12 - 80104f4: af00 add r7, sp, #0 - 80104f6: 6078 str r0, [r7, #4] - 80104f8: 6039 str r1, [r7, #0] -{ - vitesseLineaire = vitesse; - 80104fa: 687a ldr r2, [r7, #4] - 80104fc: 683b ldr r3, [r7, #0] - 80104fe: 64d3 str r3, [r2, #76] - //setEnabledPIDDistance(true); -} - 8010500: f107 070c add.w r7, r7, #12 ; 0xc - 8010504: 46bd mov sp, r7 - 8010506: bc80 pop {r7} - 8010508: 4770 bx lr - 801050a: 46c0 nop (mov r8, r8) - -0801050c <_ZN14Asservissement15setAngularSpeedEf>: - -void Asservissement::setAngularSpeed(VitesseAngulaire vitesse) - 801050c: b480 push {r7} - 801050e: b083 sub sp, #12 - 8010510: af00 add r7, sp, #0 - 8010512: 6078 str r0, [r7, #4] - 8010514: 6039 str r1, [r7, #0] -{ - vitesseAngulaire = vitesse; - 8010516: 687a ldr r2, [r7, #4] - 8010518: 683b ldr r3, [r7, #0] - 801051a: 6513 str r3, [r2, #80] - //setEnabledPIDAngle(true); -} - 801051c: f107 070c add.w r7, r7, #12 ; 0xc - 8010520: 46bd mov sp, r7 - 8010522: bc80 pop {r7} - 8010524: 4770 bx lr - 8010526: 46c0 nop (mov r8, r8) - -08010528 <_ZN14Asservissement16setCommandSpeedsEP7Command>: - -void Asservissement::setCommandSpeeds(Command* command) - 8010528: b580 push {r7, lr} - 801052a: b082 sub sp, #8 - 801052c: af00 add r7, sp, #0 - 801052e: 6078 str r0, [r7, #4] - 8010530: 6039 str r1, [r7, #0] -{ - if (command != NULL) - 8010532: 683b ldr r3, [r7, #0] - 8010534: 2b00 cmp r3, #0 - 8010536: d018 beq.n 801056a <_ZN14Asservissement16setCommandSpeedsEP7Command+0x42> - { - setLinearSpeed(command->getLinearSpeed()); - 8010538: 683b ldr r3, [r7, #0] - 801053a: 681b ldr r3, [r3, #0] - 801053c: f103 0310 add.w r3, r3, #16 ; 0x10 - 8010540: 681b ldr r3, [r3, #0] - 8010542: 6838 ldr r0, [r7, #0] - 8010544: 4798 blx r3 - 8010546: 4603 mov r3, r0 - 8010548: 6878 ldr r0, [r7, #4] - 801054a: 4619 mov r1, r3 - 801054c: f7ff ffd0 bl 80104f0 <_ZN14Asservissement14setLinearSpeedEf> - setAngularSpeed(command->getAngularSpeed()); - 8010550: 683b ldr r3, [r7, #0] - 8010552: 681b ldr r3, [r3, #0] - 8010554: f103 0314 add.w r3, r3, #20 ; 0x14 - 8010558: 681b ldr r3, [r3, #0] - 801055a: 6838 ldr r0, [r7, #0] - 801055c: 4798 blx r3 - 801055e: 4603 mov r3, r0 - 8010560: 6878 ldr r0, [r7, #4] - 8010562: 4619 mov r1, r3 - 8010564: f7ff ffd2 bl 801050c <_ZN14Asservissement15setAngularSpeedEf> - 8010568: e007 b.n 801057a <_ZN14Asservissement16setCommandSpeedsEP7Command+0x52> - } - else - { - setLinearSpeed(0.0f); - 801056a: 6878 ldr r0, [r7, #4] - 801056c: 4905 ldr r1, [pc, #20] (8010584 <_ZN14Asservissement16setCommandSpeedsEP7Command+0x5c>) - 801056e: f7ff ffbf bl 80104f0 <_ZN14Asservissement14setLinearSpeedEf> - setAngularSpeed(0.0f); - 8010572: 6878 ldr r0, [r7, #4] - 8010574: 4903 ldr r1, [pc, #12] (8010584 <_ZN14Asservissement16setCommandSpeedsEP7Command+0x5c>) - 8010576: f7ff ffc9 bl 801050c <_ZN14Asservissement15setAngularSpeedEf> - } - - /*setEnabledPIDDistance(true); - setEnabledPIDAngle(true); - resetFixedDuty();*/ -} - 801057a: f107 0708 add.w r7, r7, #8 ; 0x8 - 801057e: 46bd mov sp, r7 - 8010580: bd80 pop {r7, pc} - 8010582: 46c0 nop (mov r8, r8) - 8010584: 00000000 .word 0x00000000 - -08010588 <_ZN14Asservissement8finMatchEv>: - Asservissement::asservissement->update(); -} - -#endif - -void Asservissement::finMatch() - 8010588: b480 push {r7} - 801058a: af00 add r7, sp, #0 -{ - Asservissement::matchFini = true; - 801058c: 4b03 ldr r3, [pc, #12] (801059c <_ZN14Asservissement8finMatchEv+0x14>) - 801058e: f04f 0201 mov.w r2, #1 ; 0x1 - 8010592: 701a strb r2, [r3, #0] - #ifdef ROBOTHW - - - #endif -} - 8010594: 46bd mov sp, r7 - 8010596: bc80 pop {r7} - 8010598: 4770 bx lr - 801059a: 46c0 nop (mov r8, r8) - 801059c: 20000584 .word 0x20000584 - -080105a0 <_ZN14Asservissement21setEnabledPIDDistanceEb>: - -void Asservissement::setEnabledPIDDistance(bool enabled) - 80105a0: b480 push {r7} - 80105a2: b083 sub sp, #12 - 80105a4: af00 add r7, sp, #0 - 80105a6: 6078 str r0, [r7, #4] - 80105a8: 460b mov r3, r1 - 80105aa: 70fb strb r3, [r7, #3] -{ - activePIDDistance = enabled; - 80105ac: 687a ldr r2, [r7, #4] - 80105ae: 78fb ldrb r3, [r7, #3] - 80105b0: f882 3054 strb.w r3, [r2, #84] -} - 80105b4: f107 070c add.w r7, r7, #12 ; 0xc - 80105b8: 46bd mov sp, r7 - 80105ba: bc80 pop {r7} - 80105bc: 4770 bx lr - 80105be: 46c0 nop (mov r8, r8) - -080105c0 <_ZN14Asservissement18setEnabledPIDAngleEb>: - -void Asservissement::setEnabledPIDAngle(bool enabled) - 80105c0: b480 push {r7} - 80105c2: b083 sub sp, #12 - 80105c4: af00 add r7, sp, #0 - 80105c6: 6078 str r0, [r7, #4] - 80105c8: 460b mov r3, r1 - 80105ca: 70fb strb r3, [r7, #3] -{ - activePIDAngle = enabled; - 80105cc: 687a ldr r2, [r7, #4] - 80105ce: 78fb ldrb r3, [r7, #3] - 80105d0: f882 3055 strb.w r3, [r2, #85] -} - 80105d4: f107 070c add.w r7, r7, #12 ; 0xc - 80105d8: 46bd mov sp, r7 - 80105da: bc80 pop {r7} - 80105dc: 4770 bx lr - 80105de: 46c0 nop (mov r8, r8) - -080105e0 <_ZN14Asservissement13setLinearDutyEf>: - -void Asservissement::setLinearDuty(float duty) - 80105e0: b580 push {r7, lr} - 80105e2: b086 sub sp, #24 - 80105e4: af00 add r7, sp, #0 - 80105e6: 6178 str r0, [r7, #20] - 80105e8: 6139 str r1, [r7, #16] -{ - setEnabledPIDDistance(false); - 80105ea: 6978 ldr r0, [r7, #20] - 80105ec: f04f 0100 mov.w r1, #0 ; 0x0 - 80105f0: f7ff ffd6 bl 80105a0 <_ZN14Asservissement21setEnabledPIDDistanceEb> - fixedLinearDuty = MAX( MIN( duty, FIXED_LINEAR_DUTY_MAX), -FIXED_LINEAR_DUTY_MAX); - 80105f4: 6938 ldr r0, [r7, #16] - 80105f6: f01c f86d bl 802c6d4 <__aeabi_f2d> - 80105fa: 4602 mov r2, r0 - 80105fc: 460b mov r3, r1 - 80105fe: 4610 mov r0, r2 - 8010600: 4619 mov r1, r3 - 8010602: a221 add r2, pc, #132 (adr r2, 8010688 <_ZN14Asservissement13setLinearDutyEf+0xa8>) - 8010604: ca0c ldmia r2!, {r2, r3} - 8010606: f01c fb47 bl 802cc98 <__aeabi_dcmpgt> - 801060a: 4603 mov r3, r0 - 801060c: 2b00 cmp r3, #0 - 801060e: d003 beq.n 8010618 <_ZN14Asservissement13setLinearDutyEf+0x38> - 8010610: f04f 0200 mov.w r2, #0 ; 0x0 - 8010614: 60ba str r2, [r7, #8] - 8010616: e015 b.n 8010644 <_ZN14Asservissement13setLinearDutyEf+0x64> - 8010618: 6938 ldr r0, [r7, #16] - 801061a: f01c f85b bl 802c6d4 <__aeabi_f2d> - 801061e: 4602 mov r2, r0 - 8010620: 460b mov r3, r1 - 8010622: f04f 0100 mov.w r1, #0 ; 0x0 - 8010626: 70f9 strb r1, [r7, #3] - 8010628: 4610 mov r0, r2 - 801062a: 4619 mov r1, r3 - 801062c: a218 add r2, pc, #96 (adr r2, 8010690 <_ZN14Asservissement13setLinearDutyEf+0xb0>) - 801062e: ca0c ldmia r2!, {r2, r3} - 8010630: f01c fb14 bl 802cc5c <__aeabi_dcmplt> - 8010634: 4603 mov r3, r0 - 8010636: 2b00 cmp r3, #0 - 8010638: d002 beq.n 8010640 <_ZN14Asservissement13setLinearDutyEf+0x60> - 801063a: f04f 0301 mov.w r3, #1 ; 0x1 - 801063e: 70fb strb r3, [r7, #3] - 8010640: 78fb ldrb r3, [r7, #3] - 8010642: 60bb str r3, [r7, #8] - 8010644: 68ba ldr r2, [r7, #8] - 8010646: 2a00 cmp r2, #0 - 8010648: d002 beq.n 8010650 <_ZN14Asservissement13setLinearDutyEf+0x70> - 801064a: 4b13 ldr r3, [pc, #76] (8010698 <_ZN14Asservissement13setLinearDutyEf+0xb8>) - 801064c: 607b str r3, [r7, #4] - 801064e: e014 b.n 801067a <_ZN14Asservissement13setLinearDutyEf+0x9a> - 8010650: 6938 ldr r0, [r7, #16] - 8010652: f01c f83f bl 802c6d4 <__aeabi_f2d> - 8010656: 4602 mov r2, r0 - 8010658: 460b mov r3, r1 - 801065a: 4610 mov r0, r2 - 801065c: 4619 mov r1, r3 - 801065e: a20a add r2, pc, #40 (adr r2, 8010688 <_ZN14Asservissement13setLinearDutyEf+0xa8>) - 8010660: ca0c ldmia r2!, {r2, r3} - 8010662: f01c fb19 bl 802cc98 <__aeabi_dcmpgt> - 8010666: 4603 mov r3, r0 - 8010668: 2b00 cmp r3, #0 - 801066a: d002 beq.n 8010672 <_ZN14Asservissement13setLinearDutyEf+0x92> - 801066c: 4a0b ldr r2, [pc, #44] (801069c <_ZN14Asservissement13setLinearDutyEf+0xbc>) - 801066e: 60fa str r2, [r7, #12] - 8010670: e001 b.n 8010676 <_ZN14Asservissement13setLinearDutyEf+0x96> - 8010672: 693b ldr r3, [r7, #16] - 8010674: 60fb str r3, [r7, #12] - 8010676: 68fa ldr r2, [r7, #12] - 8010678: 607a str r2, [r7, #4] - 801067a: 697b ldr r3, [r7, #20] - 801067c: 687a ldr r2, [r7, #4] - 801067e: 659a str r2, [r3, #88] -} - 8010680: f107 0718 add.w r7, r7, #24 ; 0x18 - 8010684: 46bd mov sp, r7 - 8010686: bd80 pop {r7, pc} - 8010688: 9999999a .word 0x9999999a - 801068c: 3fc99999 .word 0x3fc99999 - 8010690: 9999999a .word 0x9999999a - 8010694: bfc99999 .word 0xbfc99999 - 8010698: be4ccccd .word 0xbe4ccccd - 801069c: 3e4ccccd .word 0x3e4ccccd - -080106a0 <_ZN14Asservissement14setAngularDutyEf>: - -void Asservissement::setAngularDuty(float duty) - 80106a0: b580 push {r7, lr} - 80106a2: b086 sub sp, #24 - 80106a4: af00 add r7, sp, #0 - 80106a6: 6178 str r0, [r7, #20] - 80106a8: 6139 str r1, [r7, #16] -{ - setEnabledPIDAngle(false); - 80106aa: 6978 ldr r0, [r7, #20] - 80106ac: f04f 0100 mov.w r1, #0 ; 0x0 - 80106b0: f7ff ff86 bl 80105c0 <_ZN14Asservissement18setEnabledPIDAngleEb> - fixedAngularDuty = MAX( MIN( duty, FIXED_ANGULAR_DUTY_MAX), -FIXED_ANGULAR_DUTY_MAX); - 80106b4: 6938 ldr r0, [r7, #16] - 80106b6: f01c f80d bl 802c6d4 <__aeabi_f2d> - 80106ba: 4602 mov r2, r0 - 80106bc: 460b mov r3, r1 - 80106be: 4610 mov r0, r2 - 80106c0: 4619 mov r1, r3 - 80106c2: a221 add r2, pc, #132 (adr r2, 8010748 <_ZN14Asservissement14setAngularDutyEf+0xa8>) - 80106c4: ca0c ldmia r2!, {r2, r3} - 80106c6: f01c fae7 bl 802cc98 <__aeabi_dcmpgt> - 80106ca: 4603 mov r3, r0 - 80106cc: 2b00 cmp r3, #0 - 80106ce: d003 beq.n 80106d8 <_ZN14Asservissement14setAngularDutyEf+0x38> - 80106d0: f04f 0200 mov.w r2, #0 ; 0x0 - 80106d4: 60ba str r2, [r7, #8] - 80106d6: e015 b.n 8010704 <_ZN14Asservissement14setAngularDutyEf+0x64> - 80106d8: 6938 ldr r0, [r7, #16] - 80106da: f01b fffb bl 802c6d4 <__aeabi_f2d> - 80106de: 4602 mov r2, r0 - 80106e0: 460b mov r3, r1 - 80106e2: f04f 0100 mov.w r1, #0 ; 0x0 - 80106e6: 70f9 strb r1, [r7, #3] - 80106e8: 4610 mov r0, r2 - 80106ea: 4619 mov r1, r3 - 80106ec: a218 add r2, pc, #96 (adr r2, 8010750 <_ZN14Asservissement14setAngularDutyEf+0xb0>) - 80106ee: ca0c ldmia r2!, {r2, r3} - 80106f0: f01c fab4 bl 802cc5c <__aeabi_dcmplt> - 80106f4: 4603 mov r3, r0 - 80106f6: 2b00 cmp r3, #0 - 80106f8: d002 beq.n 8010700 <_ZN14Asservissement14setAngularDutyEf+0x60> - 80106fa: f04f 0301 mov.w r3, #1 ; 0x1 - 80106fe: 70fb strb r3, [r7, #3] - 8010700: 78fb ldrb r3, [r7, #3] - 8010702: 60bb str r3, [r7, #8] - 8010704: 68ba ldr r2, [r7, #8] - 8010706: 2a00 cmp r2, #0 - 8010708: d002 beq.n 8010710 <_ZN14Asservissement14setAngularDutyEf+0x70> - 801070a: 4b13 ldr r3, [pc, #76] (8010758 <_ZN14Asservissement14setAngularDutyEf+0xb8>) - 801070c: 607b str r3, [r7, #4] - 801070e: e014 b.n 801073a <_ZN14Asservissement14setAngularDutyEf+0x9a> - 8010710: 6938 ldr r0, [r7, #16] - 8010712: f01b ffdf bl 802c6d4 <__aeabi_f2d> - 8010716: 4602 mov r2, r0 - 8010718: 460b mov r3, r1 - 801071a: 4610 mov r0, r2 - 801071c: 4619 mov r1, r3 - 801071e: a20a add r2, pc, #40 (adr r2, 8010748 <_ZN14Asservissement14setAngularDutyEf+0xa8>) - 8010720: ca0c ldmia r2!, {r2, r3} - 8010722: f01c fab9 bl 802cc98 <__aeabi_dcmpgt> - 8010726: 4603 mov r3, r0 - 8010728: 2b00 cmp r3, #0 - 801072a: d002 beq.n 8010732 <_ZN14Asservissement14setAngularDutyEf+0x92> - 801072c: 4a0b ldr r2, [pc, #44] (801075c <_ZN14Asservissement14setAngularDutyEf+0xbc>) - 801072e: 60fa str r2, [r7, #12] - 8010730: e001 b.n 8010736 <_ZN14Asservissement14setAngularDutyEf+0x96> - 8010732: 693b ldr r3, [r7, #16] - 8010734: 60fb str r3, [r7, #12] - 8010736: 68fa ldr r2, [r7, #12] - 8010738: 607a str r2, [r7, #4] - 801073a: 697b ldr r3, [r7, #20] - 801073c: 687a ldr r2, [r7, #4] - 801073e: 65da str r2, [r3, #92] -} - 8010740: f107 0718 add.w r7, r7, #24 ; 0x18 - 8010744: 46bd mov sp, r7 - 8010746: bd80 pop {r7, pc} - 8010748: 9999999a .word 0x9999999a - 801074c: 3fc99999 .word 0x3fc99999 - 8010750: 9999999a .word 0x9999999a - 8010754: bfc99999 .word 0xbfc99999 - 8010758: be4ccccd .word 0xbe4ccccd - 801075c: 3e4ccccd .word 0x3e4ccccd - -08010760 <_ZN14Asservissement14resetFixedDutyEv>: - -void Asservissement::resetFixedDuty() - 8010760: b480 push {r7} - 8010762: b083 sub sp, #12 - 8010764: af00 add r7, sp, #0 - 8010766: 6078 str r0, [r7, #4] -{ - fixedLinearDuty = 0.; - 8010768: 687a ldr r2, [r7, #4] - 801076a: 4b05 ldr r3, [pc, #20] (8010780 <_ZN14Asservissement14resetFixedDutyEv+0x20>) - 801076c: 6593 str r3, [r2, #88] - fixedAngularDuty = 0.; - 801076e: 687a ldr r2, [r7, #4] - 8010770: 4b03 ldr r3, [pc, #12] (8010780 <_ZN14Asservissement14resetFixedDutyEv+0x20>) - 8010772: 65d3 str r3, [r2, #92] -} - 8010774: f107 070c add.w r7, r7, #12 ; 0xc - 8010778: 46bd mov sp, r7 - 801077a: bc80 pop {r7} - 801077c: 4770 bx lr - 801077e: 46c0 nop (mov r8, r8) - 8010780: 00000000 .word 0x00000000 - -08010784 <_ZN14Asservissement15getAngularSpeedEv>: - return Remote::getSingleton()->getLeftPWM(); - else - return vitesseLineaire; -} - -Angle Asservissement::getAngularSpeed() - 8010784: b580 push {r7, lr} - 8010786: b082 sub sp, #8 - 8010788: af00 add r7, sp, #0 - 801078a: 6078 str r0, [r7, #4] -{ - if (Remote::getSingleton()->isRemoteMode()) - 801078c: f005 fa5e bl 8015c4c <_ZN6Remote12getSingletonEv> - 8010790: 4603 mov r3, r0 - 8010792: 4618 mov r0, r3 - 8010794: f005 f92e bl 80159f4 <_ZN6Remote12isRemoteModeEv> - 8010798: 4603 mov r3, r0 - 801079a: 2b00 cmp r3, #0 - 801079c: d008 beq.n 80107b0 <_ZN14Asservissement15getAngularSpeedEv+0x2c> - return Remote::getSingleton()->getRightPWM(); - 801079e: f005 fa55 bl 8015c4c <_ZN6Remote12getSingletonEv> - 80107a2: 4603 mov r3, r0 - 80107a4: 4618 mov r0, r3 - 80107a6: f005 f93d bl 8015a24 <_ZN6Remote11getRightPWMEv> - 80107aa: 4603 mov r3, r0 - 80107ac: 603b str r3, [r7, #0] - 80107ae: e002 b.n 80107b6 <_ZN14Asservissement15getAngularSpeedEv+0x32> - else - return vitesseAngulaire; - 80107b0: 687b ldr r3, [r7, #4] - 80107b2: 6d1b ldr r3, [r3, #80] - 80107b4: 603b str r3, [r7, #0] - 80107b6: 683b ldr r3, [r7, #0] -} - 80107b8: 4618 mov r0, r3 - 80107ba: f107 0708 add.w r7, r7, #8 ; 0x8 - 80107be: 46bd mov sp, r7 - 80107c0: bd80 pop {r7, pc} - 80107c2: 46c0 nop (mov r8, r8) - -080107c4 <_ZN14Asservissement14getLinearSpeedEv>: - /*setEnabledPIDDistance(true); - setEnabledPIDAngle(true); - resetFixedDuty();*/ -} - -Distance Asservissement::getLinearSpeed() - 80107c4: b580 push {r7, lr} - 80107c6: b082 sub sp, #8 - 80107c8: af00 add r7, sp, #0 - 80107ca: 6078 str r0, [r7, #4] -{ - if (Remote::getSingleton()->isRemoteMode()) - 80107cc: f005 fa3e bl 8015c4c <_ZN6Remote12getSingletonEv> - 80107d0: 4603 mov r3, r0 - 80107d2: 4618 mov r0, r3 - 80107d4: f005 f90e bl 80159f4 <_ZN6Remote12isRemoteModeEv> - 80107d8: 4603 mov r3, r0 - 80107da: 2b00 cmp r3, #0 - 80107dc: d008 beq.n 80107f0 <_ZN14Asservissement14getLinearSpeedEv+0x2c> - return Remote::getSingleton()->getLeftPWM(); - 80107de: f005 fa35 bl 8015c4c <_ZN6Remote12getSingletonEv> - 80107e2: 4603 mov r3, r0 - 80107e4: 4618 mov r0, r3 - 80107e6: f005 f911 bl 8015a0c <_ZN6Remote10getLeftPWMEv> - 80107ea: 4603 mov r3, r0 - 80107ec: 603b str r3, [r7, #0] - 80107ee: e002 b.n 80107f6 <_ZN14Asservissement14getLinearSpeedEv+0x32> - else - return vitesseLineaire; - 80107f0: 687b ldr r3, [r7, #4] - 80107f2: 6cdb ldr r3, [r3, #76] - 80107f4: 603b str r3, [r7, #0] - 80107f6: 683b ldr r3, [r7, #0] -} - 80107f8: 4618 mov r0, r3 - 80107fa: f107 0708 add.w r7, r7, #8 ; 0x8 - 80107fe: 46bd mov sp, r7 - 8010800: bd80 pop {r7, pc} - 8010802: 46c0 nop (mov r8, r8) - -08010804 <_ZN14Asservissement6updateEv>: - return Remote::getSingleton()->getRightPWM(); - else - return vitesseAngulaire; -} - -void Asservissement::update(void) - 8010804: b590 push {r4, r7, lr} - 8010806: b09f sub sp, #124 - 8010808: af00 add r7, sp, #0 - 801080a: 6478 str r0, [r7, #68] -{ - asserCount++; - 801080c: 6c7b ldr r3, [r7, #68] - 801080e: 6c9b ldr r3, [r3, #72] - 8010810: f103 0201 add.w r2, r3, #1 ; 0x1 - 8010814: 6c7b ldr r3, [r7, #68] - 8010816: 649a str r2, [r3, #72] - if(true)//asserCount%5==0) - { -#ifdef ROBOTHW - #if DEBUG_ODOMEDTRIE == 1 - PositionPlusAngle pos = Odometrie::odometrie->getPos(); - 8010818: 4bd7 ldr r3, [pc, #860] (8010b78 <_ZN14Asservissement6updateEv+0x374>) - 801081a: 681a ldr r2, [r3, #0] - 801081c: f107 0354 add.w r3, r7, #84 ; 0x54 - 8010820: 4618 mov r0, r3 - 8010822: 4611 mov r1, r2 - 8010824: f002 f9bc bl 8012ba0 <_ZNK9Odometrie6getPosEv> - Angle absAngle = Odometrie::odometrie->getAbsoluteAngle(); - 8010828: 4bd3 ldr r3, [pc, #844] (8010b78 <_ZN14Asservissement6updateEv+0x374>) - 801082a: 681b ldr r3, [r3, #0] - 801082c: 4618 mov r0, r3 - 801082e: f002 f9ab bl 8012b88 <_ZNK9Odometrie16getAbsoluteAngleEv> - 8010832: 4603 mov r3, r0 - 8010834: 663b str r3, [r7, #96] - if ( pos.position.x > 400. /* absAngle > 3.14159265358979323846*2.*/) - 8010836: 6d7b ldr r3, [r7, #84] - 8010838: 4618 mov r0, r3 - 801083a: 49d0 ldr r1, [pc, #832] (8010b7c <_ZN14Asservissement6updateEv+0x378>) - 801083c: f01c fd76 bl 802d32c <__aeabi_fcmpgt> - 8010840: 4603 mov r3, r0 - 8010842: 2b00 cmp r3, #0 - 8010844: d004 beq.n 8010850 <_ZN14Asservissement6updateEv+0x4c> - Led::setOn(0); - 8010846: f04f 0000 mov.w r0, #0 ; 0x0 - 801084a: f004 fbbf bl 8014fcc <_ZN3Led5setOnEi> - 801084e: e003 b.n 8010858 <_ZN14Asservissement6updateEv+0x54> - else - Led::setOff(0); - 8010850: f04f 0000 mov.w r0, #0 ; 0x0 - 8010854: f004 fb88 bl 8014f68 <_ZN3Led6setOffEi> - - - if (true) - { - - PositionPlusAngle positionPlusAngleActuelle = odometrie->getPos(); //Variable juste pour avoir un code plus lisible par la suite - 8010858: 6c7b ldr r3, [r7, #68] - 801085a: 6c5a ldr r2, [r3, #68] - 801085c: f107 0348 add.w r3, r7, #72 ; 0x48 - 8010860: 4618 mov r0, r3 - 8010862: 4611 mov r1, r2 - 8010864: f002 f99c bl 8012ba0 <_ZNK9Odometrie6getPosEv> - Angle vitesse_angulaire_atteinte = odometrie->getVitesseAngulaire(); //idem - 8010868: 6c7b ldr r3, [r7, #68] - 801086a: 6c5b ldr r3, [r3, #68] - 801086c: 4618 mov r0, r3 - 801086e: f002 f973 bl 8012b58 <_ZNK9Odometrie19getVitesseAngulaireEv> - 8010872: 4603 mov r3, r0 - 8010874: 667b str r3, [r7, #100] - Distance vitesse_lineaire_atteinte = odometrie->getVitesseLineaire(); //idem - 8010876: 6c7b ldr r3, [r7, #68] - 8010878: 6c5b ldr r3, [r3, #68] - 801087a: 4618 mov r0, r3 - 801087c: f002 f978 bl 8012b70 <_ZNK9Odometrie18getVitesseLineaireEv> - 8010880: 4603 mov r3, r0 - 8010882: 66bb str r3, [r7, #104] - - //Puis on les récupéres - - float vitesse_lineaire_a_atteindre = getLinearSpeed();//1.5;// - 8010884: 6c78 ldr r0, [r7, #68] - 8010886: f7ff ff9d bl 80107c4 <_ZN14Asservissement14getLinearSpeedEv> - 801088a: 4603 mov r3, r0 - 801088c: 66fb str r3, [r7, #108] - float vitesse_angulaire_a_atteindre = getAngularSpeed(); - 801088e: 6c78 ldr r0, [r7, #68] - 8010890: f7ff ff78 bl 8010784 <_ZN14Asservissement15getAngularSpeedEv> - 8010894: 4603 mov r3, r0 - 8010896: 673b str r3, [r7, #112] - -#ifdef ROUES - - - //on filtre l'erreur de vitesse lineaire et angulaire - linearDutySent = activePIDDistance ? pid_filter_distance.getFilteredValue(vitesse_lineaire_a_atteindre-vitesse_lineaire_atteinte) : fixedLinearDuty; - 8010898: 6c7b ldr r3, [r7, #68] - 801089a: f893 3054 ldrb.w r3, [r3, #84] - 801089e: 2b00 cmp r3, #0 - 80108a0: d00e beq.n 80108c0 <_ZN14Asservissement6updateEv+0xbc> - 80108a2: 6c7b ldr r3, [r7, #68] - 80108a4: f103 0408 add.w r4, r3, #8 ; 0x8 - 80108a8: 6ef8 ldr r0, [r7, #108] - 80108aa: 6eb9 ldr r1, [r7, #104] - 80108ac: f01c fa7a bl 802cda4 <__aeabi_fsub> - 80108b0: 4603 mov r3, r0 - 80108b2: 4620 mov r0, r4 - 80108b4: 4619 mov r1, r3 - 80108b6: f002 febd bl 8013634 <_ZN17PIDFilterDistance16getFilteredValueEf> - 80108ba: 4603 mov r3, r0 - 80108bc: 607b str r3, [r7, #4] - 80108be: e002 b.n 80108c6 <_ZN14Asservissement6updateEv+0xc2> - 80108c0: 6c7b ldr r3, [r7, #68] - 80108c2: 6d9b ldr r3, [r3, #88] - 80108c4: 607b str r3, [r7, #4] - 80108c6: 6c7b ldr r3, [r7, #68] - 80108c8: 687a ldr r2, [r7, #4] - 80108ca: 601a str r2, [r3, #0] - angularDutySent = activePIDAngle ? pid_filter_angle.getFilteredValue(vitesse_angulaire_a_atteindre-vitesse_angulaire_atteinte) : fixedAngularDuty; - 80108cc: 6c7b ldr r3, [r7, #68] - 80108ce: f893 3055 ldrb.w r3, [r3, #85] - 80108d2: 2b00 cmp r3, #0 - 80108d4: d00e beq.n 80108f4 <_ZN14Asservissement6updateEv+0xf0> - 80108d6: 6c7b ldr r3, [r7, #68] - 80108d8: f103 0410 add.w r4, r3, #16 ; 0x10 - 80108dc: 6f38 ldr r0, [r7, #112] - 80108de: 6e79 ldr r1, [r7, #100] - 80108e0: f01c fa60 bl 802cda4 <__aeabi_fsub> - 80108e4: 4603 mov r3, r0 - 80108e6: 4620 mov r0, r4 - 80108e8: 4619 mov r1, r3 - 80108ea: f002 fe3d bl 8013568 <_ZN14PIDFilterAngle16getFilteredValueEf> - 80108ee: 4603 mov r3, r0 - 80108f0: 60bb str r3, [r7, #8] - 80108f2: e002 b.n 80108fa <_ZN14Asservissement6updateEv+0xf6> - 80108f4: 6c7b ldr r3, [r7, #68] - 80108f6: 6ddb ldr r3, [r3, #92] - 80108f8: 60bb str r3, [r7, #8] - 80108fa: 6c7b ldr r3, [r7, #68] - 80108fc: 68ba ldr r2, [r7, #8] - 80108fe: 605a str r2, [r3, #4] - - //Et on borne la somme de ces valeurs filtrée entre -> voir ci dessous - #ifdef RRD2 - float limit = 0.35f; - #else - float limit = 1.0f; - 8010900: 4b9f ldr r3, [pc, #636] (8010b80 <_ZN14Asservissement6updateEv+0x37c>) - 8010902: 677b str r3, [r7, #116] - #endif - - linearDutySent = MIN(MAX(linearDutySent, -limit),limit); - 8010904: 6c7b ldr r3, [r7, #68] - 8010906: 681a ldr r2, [r3, #0] - 8010908: 6f7b ldr r3, [r7, #116] - 801090a: f083 4300 eor.w r3, r3, #2147483648 ; 0x80000000 - 801090e: 4610 mov r0, r2 - 8010910: 4619 mov r1, r3 - 8010912: f01c fced bl 802d2f0 <__aeabi_fcmplt> - 8010916: 4603 mov r3, r0 - 8010918: 2b00 cmp r3, #0 - 801091a: d004 beq.n 8010926 <_ZN14Asservissement6updateEv+0x122> - 801091c: 6f7b ldr r3, [r7, #116] - 801091e: f083 4300 eor.w r3, r3, #2147483648 ; 0x80000000 - 8010922: 613b str r3, [r7, #16] - 8010924: e002 b.n 801092c <_ZN14Asservissement6updateEv+0x128> - 8010926: 6c7b ldr r3, [r7, #68] - 8010928: 681b ldr r3, [r3, #0] - 801092a: 613b str r3, [r7, #16] - 801092c: 6938 ldr r0, [r7, #16] - 801092e: 6f79 ldr r1, [r7, #116] - 8010930: f01c fcfc bl 802d32c <__aeabi_fcmpgt> - 8010934: 4603 mov r3, r0 - 8010936: 2b00 cmp r3, #0 - 8010938: d002 beq.n 8010940 <_ZN14Asservissement6updateEv+0x13c> - 801093a: 6f7b ldr r3, [r7, #116] - 801093c: 60fb str r3, [r7, #12] - 801093e: e015 b.n 801096c <_ZN14Asservissement6updateEv+0x168> - 8010940: 6c7b ldr r3, [r7, #68] - 8010942: 681a ldr r2, [r3, #0] - 8010944: 6f7b ldr r3, [r7, #116] - 8010946: f083 4300 eor.w r3, r3, #2147483648 ; 0x80000000 - 801094a: 4610 mov r0, r2 - 801094c: 4619 mov r1, r3 - 801094e: f01c fccf bl 802d2f0 <__aeabi_fcmplt> - 8010952: 4603 mov r3, r0 - 8010954: 2b00 cmp r3, #0 - 8010956: d004 beq.n 8010962 <_ZN14Asservissement6updateEv+0x15e> - 8010958: 6f7b ldr r3, [r7, #116] - 801095a: f083 4300 eor.w r3, r3, #2147483648 ; 0x80000000 - 801095e: 617b str r3, [r7, #20] - 8010960: e002 b.n 8010968 <_ZN14Asservissement6updateEv+0x164> - 8010962: 6c7b ldr r3, [r7, #68] - 8010964: 681b ldr r3, [r3, #0] - 8010966: 617b str r3, [r7, #20] - 8010968: 697a ldr r2, [r7, #20] - 801096a: 60fa str r2, [r7, #12] - 801096c: 6c7b ldr r3, [r7, #68] - 801096e: 68fa ldr r2, [r7, #12] - 8010970: 601a str r2, [r3, #0] - angularDutySent = MIN(MAX(angularDutySent, -limit),limit); - 8010972: 6c7b ldr r3, [r7, #68] - 8010974: 685a ldr r2, [r3, #4] - 8010976: 6f7b ldr r3, [r7, #116] - 8010978: f083 4300 eor.w r3, r3, #2147483648 ; 0x80000000 - 801097c: 4610 mov r0, r2 - 801097e: 4619 mov r1, r3 - 8010980: f01c fcb6 bl 802d2f0 <__aeabi_fcmplt> - 8010984: 4603 mov r3, r0 - 8010986: 2b00 cmp r3, #0 - 8010988: d004 beq.n 8010994 <_ZN14Asservissement6updateEv+0x190> - 801098a: 6f7b ldr r3, [r7, #116] - 801098c: f083 4300 eor.w r3, r3, #2147483648 ; 0x80000000 - 8010990: 61fb str r3, [r7, #28] - 8010992: e002 b.n 801099a <_ZN14Asservissement6updateEv+0x196> - 8010994: 6c7b ldr r3, [r7, #68] - 8010996: 685b ldr r3, [r3, #4] - 8010998: 61fb str r3, [r7, #28] - 801099a: 69f8 ldr r0, [r7, #28] - 801099c: 6f79 ldr r1, [r7, #116] - 801099e: f01c fcc5 bl 802d32c <__aeabi_fcmpgt> - 80109a2: 4603 mov r3, r0 - 80109a4: 2b00 cmp r3, #0 - 80109a6: d002 beq.n 80109ae <_ZN14Asservissement6updateEv+0x1aa> - 80109a8: 6f7b ldr r3, [r7, #116] - 80109aa: 61bb str r3, [r7, #24] - 80109ac: e015 b.n 80109da <_ZN14Asservissement6updateEv+0x1d6> - 80109ae: 6c7b ldr r3, [r7, #68] - 80109b0: 685a ldr r2, [r3, #4] - 80109b2: 6f7b ldr r3, [r7, #116] - 80109b4: f083 4300 eor.w r3, r3, #2147483648 ; 0x80000000 - 80109b8: 4610 mov r0, r2 - 80109ba: 4619 mov r1, r3 - 80109bc: f01c fc98 bl 802d2f0 <__aeabi_fcmplt> - 80109c0: 4603 mov r3, r0 - 80109c2: 2b00 cmp r3, #0 - 80109c4: d004 beq.n 80109d0 <_ZN14Asservissement6updateEv+0x1cc> - 80109c6: 6f7b ldr r3, [r7, #116] - 80109c8: f083 4300 eor.w r3, r3, #2147483648 ; 0x80000000 - 80109cc: 623b str r3, [r7, #32] - 80109ce: e002 b.n 80109d6 <_ZN14Asservissement6updateEv+0x1d2> - 80109d0: 6c7b ldr r3, [r7, #68] - 80109d2: 685b ldr r3, [r3, #4] - 80109d4: 623b str r3, [r7, #32] - 80109d6: 6a3a ldr r2, [r7, #32] - 80109d8: 61ba str r2, [r7, #24] - 80109da: 6c7b ldr r3, [r7, #68] - 80109dc: 69ba ldr r2, [r7, #24] - 80109de: 605a str r2, [r3, #4] - // linearDutySent = fabs(linearDutySent) > 0.05 || vitesse_lineaire_a_atteindre > 0.01 ? linearDutySent : 0; - // angularDutySent = fabs(angularDutySent) > 0.05 || vitesse_angulaire_a_atteindre > 0.0001 ? angularDutySent : 0; -//angularDutySent = 0.0f;//Réglage de l'asservissement linéaire - - // test d'arret complet si c'est l'ordre qu'on lui donne - if (vitesse_lineaire_a_atteindre == 0.0f && vitesse_angulaire_a_atteindre == 0.0f) - 80109e0: 6ef8 ldr r0, [r7, #108] - 80109e2: 4968 ldr r1, [pc, #416] (8010b84 <_ZN14Asservissement6updateEv+0x380>) - 80109e4: f01c fc7a bl 802d2dc <__aeabi_fcmpeq> - 80109e8: 4603 mov r3, r0 - 80109ea: 2b00 cmp r3, #0 - 80109ec: d00c beq.n 8010a08 <_ZN14Asservissement6updateEv+0x204> - 80109ee: 6f38 ldr r0, [r7, #112] - 80109f0: 4964 ldr r1, [pc, #400] (8010b84 <_ZN14Asservissement6updateEv+0x380>) - 80109f2: f01c fc73 bl 802d2dc <__aeabi_fcmpeq> - 80109f6: 4603 mov r3, r0 - 80109f8: 2b00 cmp r3, #0 - 80109fa: d005 beq.n 8010a08 <_ZN14Asservissement6updateEv+0x204> - { - linearDutySent = 0.0f; - 80109fc: 6c7a ldr r2, [r7, #68] - 80109fe: 4b61 ldr r3, [pc, #388] (8010b84 <_ZN14Asservissement6updateEv+0x380>) - 8010a00: 6013 str r3, [r2, #0] - angularDutySent = 0.0f; - 8010a02: 6c7a ldr r2, [r7, #68] - 8010a04: 4b5f ldr r3, [pc, #380] (8010b84 <_ZN14Asservissement6updateEv+0x380>) - 8010a06: 6053 str r3, [r2, #4] - roues.gauche.tourne(Remote::getSingleton()->getLeftPWM()); - } - else*/ - { - #if defined(STM32F40_41xxx) || defined(STM32F10X_MD) - roues.droite.tourne(MIN(MAX(+linearDutySent-angularDutySent, -limit),limit)); - 8010a08: 6c7b ldr r3, [r7, #68] - 8010a0a: f103 0328 add.w r3, r3, #40 ; 0x28 - 8010a0e: 627b str r3, [r7, #36] - 8010a10: 6c7b ldr r3, [r7, #68] - 8010a12: 681a ldr r2, [r3, #0] - 8010a14: 6c7b ldr r3, [r7, #68] - 8010a16: 685b ldr r3, [r3, #4] - 8010a18: 4610 mov r0, r2 - 8010a1a: 4619 mov r1, r3 - 8010a1c: f01c f9c2 bl 802cda4 <__aeabi_fsub> - 8010a20: 4603 mov r3, r0 - 8010a22: 461a mov r2, r3 - 8010a24: 6f7b ldr r3, [r7, #116] - 8010a26: f083 4300 eor.w r3, r3, #2147483648 ; 0x80000000 - 8010a2a: 4610 mov r0, r2 - 8010a2c: 4619 mov r1, r3 - 8010a2e: f01c fc5f bl 802d2f0 <__aeabi_fcmplt> - 8010a32: 4603 mov r3, r0 - 8010a34: 2b00 cmp r3, #0 - 8010a36: d004 beq.n 8010a42 <_ZN14Asservissement6updateEv+0x23e> - 8010a38: 6f7b ldr r3, [r7, #116] - 8010a3a: f083 4300 eor.w r3, r3, #2147483648 ; 0x80000000 - 8010a3e: 62fb str r3, [r7, #44] - 8010a40: e009 b.n 8010a56 <_ZN14Asservissement6updateEv+0x252> - 8010a42: 6c7b ldr r3, [r7, #68] - 8010a44: 681a ldr r2, [r3, #0] - 8010a46: 6c7b ldr r3, [r7, #68] - 8010a48: 685b ldr r3, [r3, #4] - 8010a4a: 4610 mov r0, r2 - 8010a4c: 4619 mov r1, r3 - 8010a4e: f01c f9a9 bl 802cda4 <__aeabi_fsub> - 8010a52: 4603 mov r3, r0 - 8010a54: 62fb str r3, [r7, #44] - 8010a56: 6af8 ldr r0, [r7, #44] - 8010a58: 6f79 ldr r1, [r7, #116] - 8010a5a: f01c fc67 bl 802d32c <__aeabi_fcmpgt> - 8010a5e: 4603 mov r3, r0 - 8010a60: 2b00 cmp r3, #0 - 8010a62: d002 beq.n 8010a6a <_ZN14Asservissement6updateEv+0x266> - 8010a64: 6f7b ldr r3, [r7, #116] - 8010a66: 62bb str r3, [r7, #40] - 8010a68: e024 b.n 8010ab4 <_ZN14Asservissement6updateEv+0x2b0> - 8010a6a: 6c7b ldr r3, [r7, #68] - 8010a6c: 681a ldr r2, [r3, #0] - 8010a6e: 6c7b ldr r3, [r7, #68] - 8010a70: 685b ldr r3, [r3, #4] - 8010a72: 4610 mov r0, r2 - 8010a74: 4619 mov r1, r3 - 8010a76: f01c f995 bl 802cda4 <__aeabi_fsub> - 8010a7a: 4603 mov r3, r0 - 8010a7c: 461a mov r2, r3 - 8010a7e: 6f7b ldr r3, [r7, #116] - 8010a80: f083 4300 eor.w r3, r3, #2147483648 ; 0x80000000 - 8010a84: 4610 mov r0, r2 - 8010a86: 4619 mov r1, r3 - 8010a88: f01c fc32 bl 802d2f0 <__aeabi_fcmplt> - 8010a8c: 4603 mov r3, r0 - 8010a8e: 2b00 cmp r3, #0 - 8010a90: d004 beq.n 8010a9c <_ZN14Asservissement6updateEv+0x298> - 8010a92: 6f7b ldr r3, [r7, #116] - 8010a94: f083 4300 eor.w r3, r3, #2147483648 ; 0x80000000 - 8010a98: 633b str r3, [r7, #48] - 8010a9a: e009 b.n 8010ab0 <_ZN14Asservissement6updateEv+0x2ac> - 8010a9c: 6c7b ldr r3, [r7, #68] - 8010a9e: 681a ldr r2, [r3, #0] - 8010aa0: 6c7b ldr r3, [r7, #68] - 8010aa2: 685b ldr r3, [r3, #4] - 8010aa4: 4610 mov r0, r2 - 8010aa6: 4619 mov r1, r3 - 8010aa8: f01c f97c bl 802cda4 <__aeabi_fsub> - 8010aac: 4603 mov r3, r0 - 8010aae: 633b str r3, [r7, #48] - 8010ab0: 6b3a ldr r2, [r7, #48] - 8010ab2: 62ba str r2, [r7, #40] - 8010ab4: 6a78 ldr r0, [r7, #36] - 8010ab6: 6ab9 ldr r1, [r7, #40] - 8010ab8: f005 fa32 bl 8015f20 <_ZN4Roue6tourneEf> - roues.gauche.tourne(MIN(MAX(+linearDutySent+angularDutySent, -limit),limit)); - 8010abc: 6c7b ldr r3, [r7, #68] - 8010abe: f103 0318 add.w r3, r3, #24 ; 0x18 - 8010ac2: 637b str r3, [r7, #52] - 8010ac4: 6c7b ldr r3, [r7, #68] - 8010ac6: 681a ldr r2, [r3, #0] - 8010ac8: 6c7b ldr r3, [r7, #68] - 8010aca: 685b ldr r3, [r3, #4] - 8010acc: 4610 mov r0, r2 - 8010ace: 4619 mov r1, r3 - 8010ad0: f01c f96a bl 802cda8 <__addsf3> - 8010ad4: 4603 mov r3, r0 - 8010ad6: 461a mov r2, r3 - 8010ad8: 6f7b ldr r3, [r7, #116] - 8010ada: f083 4300 eor.w r3, r3, #2147483648 ; 0x80000000 - 8010ade: 4610 mov r0, r2 - 8010ae0: 4619 mov r1, r3 - 8010ae2: f01c fc05 bl 802d2f0 <__aeabi_fcmplt> - 8010ae6: 4603 mov r3, r0 - 8010ae8: 2b00 cmp r3, #0 - 8010aea: d004 beq.n 8010af6 <_ZN14Asservissement6updateEv+0x2f2> - 8010aec: 6f7b ldr r3, [r7, #116] - 8010aee: f083 4300 eor.w r3, r3, #2147483648 ; 0x80000000 - 8010af2: 63fb str r3, [r7, #60] - 8010af4: e009 b.n 8010b0a <_ZN14Asservissement6updateEv+0x306> - 8010af6: 6c7b ldr r3, [r7, #68] - 8010af8: 681a ldr r2, [r3, #0] - 8010afa: 6c7b ldr r3, [r7, #68] - 8010afc: 685b ldr r3, [r3, #4] - 8010afe: 4610 mov r0, r2 - 8010b00: 4619 mov r1, r3 - 8010b02: f01c f951 bl 802cda8 <__addsf3> - 8010b06: 4603 mov r3, r0 - 8010b08: 63fb str r3, [r7, #60] - 8010b0a: 6bf8 ldr r0, [r7, #60] - 8010b0c: 6f79 ldr r1, [r7, #116] - 8010b0e: f01c fc0d bl 802d32c <__aeabi_fcmpgt> - 8010b12: 4603 mov r3, r0 - 8010b14: 2b00 cmp r3, #0 - 8010b16: d002 beq.n 8010b1e <_ZN14Asservissement6updateEv+0x31a> - 8010b18: 6f7b ldr r3, [r7, #116] - 8010b1a: 63bb str r3, [r7, #56] - 8010b1c: e024 b.n 8010b68 <_ZN14Asservissement6updateEv+0x364> - 8010b1e: 6c7b ldr r3, [r7, #68] - 8010b20: 681a ldr r2, [r3, #0] - 8010b22: 6c7b ldr r3, [r7, #68] - 8010b24: 685b ldr r3, [r3, #4] - 8010b26: 4610 mov r0, r2 - 8010b28: 4619 mov r1, r3 - 8010b2a: f01c f93d bl 802cda8 <__addsf3> - 8010b2e: 4603 mov r3, r0 - 8010b30: 461a mov r2, r3 - 8010b32: 6f7b ldr r3, [r7, #116] - 8010b34: f083 4300 eor.w r3, r3, #2147483648 ; 0x80000000 - 8010b38: 4610 mov r0, r2 - 8010b3a: 4619 mov r1, r3 - 8010b3c: f01c fbd8 bl 802d2f0 <__aeabi_fcmplt> - 8010b40: 4603 mov r3, r0 - 8010b42: 2b00 cmp r3, #0 - 8010b44: d004 beq.n 8010b50 <_ZN14Asservissement6updateEv+0x34c> - 8010b46: 6f7b ldr r3, [r7, #116] - 8010b48: f083 4300 eor.w r3, r3, #2147483648 ; 0x80000000 - 8010b4c: 643b str r3, [r7, #64] - 8010b4e: e009 b.n 8010b64 <_ZN14Asservissement6updateEv+0x360> - 8010b50: 6c7b ldr r3, [r7, #68] - 8010b52: 681a ldr r2, [r3, #0] - 8010b54: 6c7b ldr r3, [r7, #68] - 8010b56: 685b ldr r3, [r3, #4] - 8010b58: 4610 mov r0, r2 - 8010b5a: 4619 mov r1, r3 - 8010b5c: f01c f924 bl 802cda8 <__addsf3> - 8010b60: 4603 mov r3, r0 - 8010b62: 643b str r3, [r7, #64] - 8010b64: 6c3a ldr r2, [r7, #64] - 8010b66: 63ba str r2, [r7, #56] - 8010b68: 6b78 ldr r0, [r7, #52] - 8010b6a: 6bb9 ldr r1, [r7, #56] - 8010b6c: f005 f9d8 bl 8015f20 <_ZN4Roue6tourneEf> -#else - -} -#endif -} -} - 8010b70: f107 077c add.w r7, r7, #124 ; 0x7c - 8010b74: 46bd mov sp, r7 - 8010b76: bd90 pop {r4, r7, pc} - 8010b78: 20000590 .word 0x20000590 - 8010b7c: 43c80000 .word 0x43c80000 - 8010b80: 3f800000 .word 0x3f800000 - 8010b84: 00000000 .word 0x00000000 - -08010b88 : - -#ifdef ROBOTHW -//pour lancer l'update à chaque tic d'horloge -extern "C" void SysTick_Handler() - 8010b88: b580 push {r7, lr} - 8010b8a: af00 add r7, sp, #0 -{ - // Count the number of SysTick_Handler call - systick_count++; - 8010b8c: 4b09 ldr r3, [pc, #36] (8010bb4 ) - 8010b8e: 681b ldr r3, [r3, #0] - 8010b90: f103 0201 add.w r2, r3, #1 ; 0x1 - 8010b94: 4b07 ldr r3, [pc, #28] (8010bb4 ) - 8010b96: 601a str r2, [r3, #0] - if (systick_count%200 == 0){ - Led::toggle(0); - } -#endif - - Odometrie::odometrie->update(); - 8010b98: 4b07 ldr r3, [pc, #28] (8010bb8 ) - 8010b9a: 681b ldr r3, [r3, #0] - 8010b9c: 4618 mov r0, r3 - 8010b9e: f002 f8e9 bl 8012d74 <_ZN9Odometrie6updateEv> - - StrategieV2::update(); - 8010ba2: f00f f851 bl 801fc48 <_ZN11StrategieV26updateEv> - - Asservissement::asservissement->update(); - 8010ba6: 4b05 ldr r3, [pc, #20] (8010bbc ) - 8010ba8: 681b ldr r3, [r3, #0] - 8010baa: 4618 mov r0, r3 - 8010bac: f7ff fe2a bl 8010804 <_ZN14Asservissement6updateEv> -} - 8010bb0: 46bd mov sp, r7 - 8010bb2: bd80 pop {r7, pc} - 8010bb4: 20000588 .word 0x20000588 - 8010bb8: 20000590 .word 0x20000590 - 8010bbc: 20000580 .word 0x20000580 - -08010bc0 <_ZN14AsservissementC1EP9Odometrie>: - -Asservissement * Asservissement::asservissement = NULL; //Pour que nos variables static soient défini -bool Asservissement::matchFini = false; -const uint16_t Asservissement::nb_ms_between_updates = MS_BETWEEN_UPDATE; - -Asservissement::Asservissement(Odometrie* _odometrie) : - 8010bc0: b580 push {r7, lr} - 8010bc2: b084 sub sp, #16 - 8010bc4: af00 add r7, sp, #0 - 8010bc6: 6078 str r0, [r7, #4] - 8010bc8: 6039 str r1, [r7, #0] - seuil_collision(SEUIL_COLISION), - buffer_collision(0xffffffff) - 8010bca: 687b ldr r3, [r7, #4] - 8010bcc: f103 0308 add.w r3, r3, #8 ; 0x8 - 8010bd0: 4618 mov r0, r3 - 8010bd2: f002 fd1b bl 801360c <_ZN17PIDFilterDistanceC1Ev> - 8010bd6: 687b ldr r3, [r7, #4] - 8010bd8: f103 0310 add.w r3, r3, #16 ; 0x10 - 8010bdc: 4618 mov r0, r3 - 8010bde: f002 fcaf bl 8013540 <_ZN14PIDFilterAngleC1Ev> - 8010be2: 687b ldr r3, [r7, #4] - 8010be4: f103 0318 add.w r3, r3, #24 ; 0x18 - 8010be8: 4618 mov r0, r3 - 8010bea: f7fe f889 bl 800ed00 <_ZN5RouesC1Ev> - 8010bee: 687a ldr r2, [r7, #4] - 8010bf0: 4b25 ldr r3, [pc, #148] (8010c88 <_ZN14AsservissementC1EP9Odometrie+0xc8>) - 8010bf2: 63d3 str r3, [r2, #60] - 8010bf4: 687a ldr r2, [r7, #4] - 8010bf6: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8010bfa: 6413 str r3, [r2, #64] -{ - vitesseLineaire = 0; - 8010bfc: 687a ldr r2, [r7, #4] - 8010bfe: 4b23 ldr r3, [pc, #140] (8010c8c <_ZN14AsservissementC1EP9Odometrie+0xcc>) - 8010c00: 64d3 str r3, [r2, #76] - vitesseAngulaire = 0; - 8010c02: 687a ldr r2, [r7, #4] - 8010c04: 4b21 ldr r3, [pc, #132] (8010c8c <_ZN14AsservissementC1EP9Odometrie+0xcc>) - 8010c06: 6513 str r3, [r2, #80] - odometrie = _odometrie; - 8010c08: 687a ldr r2, [r7, #4] - 8010c0a: 683b ldr r3, [r7, #0] - 8010c0c: 6453 str r3, [r2, #68] - - activePIDDistance = true; - 8010c0e: 687a ldr r2, [r7, #4] - 8010c10: f04f 0301 mov.w r3, #1 ; 0x1 - 8010c14: f882 3054 strb.w r3, [r2, #84] - activePIDAngle = true; - 8010c18: 687a ldr r2, [r7, #4] - 8010c1a: f04f 0301 mov.w r3, #1 ; 0x1 - 8010c1e: f882 3055 strb.w r3, [r2, #85] - - resetFixedDuty(); - 8010c22: 6878 ldr r0, [r7, #4] - 8010c24: f7ff fd9c bl 8010760 <_ZN14Asservissement14resetFixedDutyEv> - - linearDutySent = 0; - 8010c28: 687a ldr r2, [r7, #4] - 8010c2a: 4b18 ldr r3, [pc, #96] (8010c8c <_ZN14AsservissementC1EP9Odometrie+0xcc>) - 8010c2c: 6013 str r3, [r2, #0] - angularDutySent = 0; - 8010c2e: 687a ldr r2, [r7, #4] - 8010c30: 4b16 ldr r3, [pc, #88] (8010c8c <_ZN14AsservissementC1EP9Odometrie+0xcc>) - 8010c32: 6053 str r3, [r2, #4] - Asservissement::asservissement = this; - 8010c34: 4a16 ldr r2, [pc, #88] (8010c90 <_ZN14AsservissementC1EP9Odometrie+0xd0>) - 8010c36: 687b ldr r3, [r7, #4] - 8010c38: 6013 str r3, [r2, #0] - asserCount = 0; - 8010c3a: 687a ldr r2, [r7, #4] - 8010c3c: f04f 0300 mov.w r3, #0 ; 0x0 - 8010c40: 6493 str r3, [r2, #72] -#ifdef CAPTEURS - sensors = Sensors::getSensors(); - 8010c42: f7fe f963 bl 800ef0c <_ZN7Sensors10getSensorsEv> - 8010c46: 4602 mov r2, r0 - 8010c48: 687b ldr r3, [r7, #4] - 8010c4a: 639a str r2, [r3, #56] -#endif - -#ifdef ROBOTHW //on définie les interruptions possibles dues à certains ports - *((uint32_t *)(STK_CTRL_ADDR)) = 0x03; // CLKSOURCE:0 ; TICKINT: 1 ; ENABLE:1 - 8010c4c: 4a11 ldr r2, [pc, #68] (8010c94 <_ZN14AsservissementC1EP9Odometrie+0xd4>) - 8010c4e: f04f 0303 mov.w r3, #3 ; 0x3 - 8010c52: 6013 str r3, [r2, #0] -#ifdef STM32F40_41xxx - *((uint32_t *)(STK_LOAD_ADDR)) = 21000*nb_ms_between_updates; // valeur en ms*counetr clock en kHz (21000) (doit etre inférieur à 0x00FFFFFF=16 777 215) - 8010c54: 4a10 ldr r2, [pc, #64] (8010c98 <_ZN14AsservissementC1EP9Odometrie+0xd8>) - 8010c56: 4b11 ldr r3, [pc, #68] (8010c9c <_ZN14AsservissementC1EP9Odometrie+0xdc>) - 8010c58: 6013 str r3, [r2, #0] - // le micro controlleur tourne à une frequence f (72Mhz ici), la valeur à mettre est (0.001*(f/8))*(temps en ms entre chaque update) - // voir p190 de la doc - - NVIC_InitTypeDef SysTick_IRQ; - - SysTick_IRQ.NVIC_IRQChannel = SysTick_IRQn; - 8010c5a: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8010c5e: 733b strb r3, [r7, #12] - SysTick_IRQ.NVIC_IRQChannelCmd = ENABLE; - 8010c60: f04f 0301 mov.w r3, #1 ; 0x1 - 8010c64: 73fb strb r3, [r7, #15] - SysTick_IRQ.NVIC_IRQChannelPreemptionPriority = 0; - 8010c66: f04f 0300 mov.w r3, #0 ; 0x0 - 8010c6a: 737b strb r3, [r7, #13] - SysTick_IRQ.NVIC_IRQChannelSubPriority = 1; - 8010c6c: f04f 0301 mov.w r3, #1 ; 0x1 - 8010c70: 73bb strb r3, [r7, #14] - NVIC_Init(&SysTick_IRQ); - 8010c72: f107 030c add.w r3, r7, #12 ; 0xc - 8010c76: 4618 mov r0, r3 - 8010c78: f7f7 fb10 bl 800829c -#endif -} - 8010c7c: 687b ldr r3, [r7, #4] - 8010c7e: 4618 mov r0, r3 - 8010c80: f107 0710 add.w r7, r7, #16 ; 0x10 - 8010c84: 46bd mov sp, r7 - 8010c86: bd80 pop {r7, pc} - 8010c88: 3f800000 .word 0x3f800000 - 8010c8c: 00000000 .word 0x00000000 - 8010c90: 20000580 .word 0x20000580 - 8010c94: e000e010 .word 0xe000e010 - 8010c98: e000e014 .word 0xe000e014 - 8010c9c: 00019a28 .word 0x00019a28 - -08010ca0 <_ZN14AsservissementC2EP9Odometrie>: - -Asservissement * Asservissement::asservissement = NULL; //Pour que nos variables static soient défini -bool Asservissement::matchFini = false; -const uint16_t Asservissement::nb_ms_between_updates = MS_BETWEEN_UPDATE; - -Asservissement::Asservissement(Odometrie* _odometrie) : - 8010ca0: b580 push {r7, lr} - 8010ca2: b084 sub sp, #16 - 8010ca4: af00 add r7, sp, #0 - 8010ca6: 6078 str r0, [r7, #4] - 8010ca8: 6039 str r1, [r7, #0] - seuil_collision(SEUIL_COLISION), - buffer_collision(0xffffffff) - 8010caa: 687b ldr r3, [r7, #4] - 8010cac: f103 0308 add.w r3, r3, #8 ; 0x8 - 8010cb0: 4618 mov r0, r3 - 8010cb2: f002 fcab bl 801360c <_ZN17PIDFilterDistanceC1Ev> - 8010cb6: 687b ldr r3, [r7, #4] - 8010cb8: f103 0310 add.w r3, r3, #16 ; 0x10 - 8010cbc: 4618 mov r0, r3 - 8010cbe: f002 fc3f bl 8013540 <_ZN14PIDFilterAngleC1Ev> - 8010cc2: 687b ldr r3, [r7, #4] - 8010cc4: f103 0318 add.w r3, r3, #24 ; 0x18 - 8010cc8: 4618 mov r0, r3 - 8010cca: f7fe f819 bl 800ed00 <_ZN5RouesC1Ev> - 8010cce: 687a ldr r2, [r7, #4] - 8010cd0: 4b25 ldr r3, [pc, #148] (8010d68 <_ZN14AsservissementC2EP9Odometrie+0xc8>) - 8010cd2: 63d3 str r3, [r2, #60] - 8010cd4: 687a ldr r2, [r7, #4] - 8010cd6: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8010cda: 6413 str r3, [r2, #64] -{ - vitesseLineaire = 0; - 8010cdc: 687a ldr r2, [r7, #4] - 8010cde: 4b23 ldr r3, [pc, #140] (8010d6c <_ZN14AsservissementC2EP9Odometrie+0xcc>) - 8010ce0: 64d3 str r3, [r2, #76] - vitesseAngulaire = 0; - 8010ce2: 687a ldr r2, [r7, #4] - 8010ce4: 4b21 ldr r3, [pc, #132] (8010d6c <_ZN14AsservissementC2EP9Odometrie+0xcc>) - 8010ce6: 6513 str r3, [r2, #80] - odometrie = _odometrie; - 8010ce8: 687a ldr r2, [r7, #4] - 8010cea: 683b ldr r3, [r7, #0] - 8010cec: 6453 str r3, [r2, #68] - - activePIDDistance = true; - 8010cee: 687a ldr r2, [r7, #4] - 8010cf0: f04f 0301 mov.w r3, #1 ; 0x1 - 8010cf4: f882 3054 strb.w r3, [r2, #84] - activePIDAngle = true; - 8010cf8: 687a ldr r2, [r7, #4] - 8010cfa: f04f 0301 mov.w r3, #1 ; 0x1 - 8010cfe: f882 3055 strb.w r3, [r2, #85] - - resetFixedDuty(); - 8010d02: 6878 ldr r0, [r7, #4] - 8010d04: f7ff fd2c bl 8010760 <_ZN14Asservissement14resetFixedDutyEv> - - linearDutySent = 0; - 8010d08: 687a ldr r2, [r7, #4] - 8010d0a: 4b18 ldr r3, [pc, #96] (8010d6c <_ZN14AsservissementC2EP9Odometrie+0xcc>) - 8010d0c: 6013 str r3, [r2, #0] - angularDutySent = 0; - 8010d0e: 687a ldr r2, [r7, #4] - 8010d10: 4b16 ldr r3, [pc, #88] (8010d6c <_ZN14AsservissementC2EP9Odometrie+0xcc>) - 8010d12: 6053 str r3, [r2, #4] - Asservissement::asservissement = this; - 8010d14: 4a16 ldr r2, [pc, #88] (8010d70 <_ZN14AsservissementC2EP9Odometrie+0xd0>) - 8010d16: 687b ldr r3, [r7, #4] - 8010d18: 6013 str r3, [r2, #0] - asserCount = 0; - 8010d1a: 687a ldr r2, [r7, #4] - 8010d1c: f04f 0300 mov.w r3, #0 ; 0x0 - 8010d20: 6493 str r3, [r2, #72] -#ifdef CAPTEURS - sensors = Sensors::getSensors(); - 8010d22: f7fe f8f3 bl 800ef0c <_ZN7Sensors10getSensorsEv> - 8010d26: 4602 mov r2, r0 - 8010d28: 687b ldr r3, [r7, #4] - 8010d2a: 639a str r2, [r3, #56] -#endif - -#ifdef ROBOTHW //on définie les interruptions possibles dues à certains ports - *((uint32_t *)(STK_CTRL_ADDR)) = 0x03; // CLKSOURCE:0 ; TICKINT: 1 ; ENABLE:1 - 8010d2c: 4a11 ldr r2, [pc, #68] (8010d74 <_ZN14AsservissementC2EP9Odometrie+0xd4>) - 8010d2e: f04f 0303 mov.w r3, #3 ; 0x3 - 8010d32: 6013 str r3, [r2, #0] -#ifdef STM32F40_41xxx - *((uint32_t *)(STK_LOAD_ADDR)) = 21000*nb_ms_between_updates; // valeur en ms*counetr clock en kHz (21000) (doit etre inférieur à 0x00FFFFFF=16 777 215) - 8010d34: 4a10 ldr r2, [pc, #64] (8010d78 <_ZN14AsservissementC2EP9Odometrie+0xd8>) - 8010d36: 4b11 ldr r3, [pc, #68] (8010d7c <_ZN14AsservissementC2EP9Odometrie+0xdc>) - 8010d38: 6013 str r3, [r2, #0] - // le micro controlleur tourne à une frequence f (72Mhz ici), la valeur à mettre est (0.001*(f/8))*(temps en ms entre chaque update) - // voir p190 de la doc - - NVIC_InitTypeDef SysTick_IRQ; - - SysTick_IRQ.NVIC_IRQChannel = SysTick_IRQn; - 8010d3a: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8010d3e: 733b strb r3, [r7, #12] - SysTick_IRQ.NVIC_IRQChannelCmd = ENABLE; - 8010d40: f04f 0301 mov.w r3, #1 ; 0x1 - 8010d44: 73fb strb r3, [r7, #15] - SysTick_IRQ.NVIC_IRQChannelPreemptionPriority = 0; - 8010d46: f04f 0300 mov.w r3, #0 ; 0x0 - 8010d4a: 737b strb r3, [r7, #13] - SysTick_IRQ.NVIC_IRQChannelSubPriority = 1; - 8010d4c: f04f 0301 mov.w r3, #1 ; 0x1 - 8010d50: 73bb strb r3, [r7, #14] - NVIC_Init(&SysTick_IRQ); - 8010d52: f107 030c add.w r3, r7, #12 ; 0xc - 8010d56: 4618 mov r0, r3 - 8010d58: f7f7 faa0 bl 800829c -#endif -} - 8010d5c: 687b ldr r3, [r7, #4] - 8010d5e: 4618 mov r0, r3 - 8010d60: f107 0710 add.w r7, r7, #16 ; 0x10 - 8010d64: 46bd mov sp, r7 - 8010d66: bd80 pop {r7, pc} - 8010d68: 3f800000 .word 0x3f800000 - 8010d6c: 00000000 .word 0x00000000 - 8010d70: 20000580 .word 0x20000580 - 8010d74: e000e010 .word 0xe000e010 - 8010d78: e000e014 .word 0xe000e014 - 8010d7c: 00019a28 .word 0x00019a28 - -08010d80 <_ZN7CommandC2Ev>: -Acceleration Command::acceleration_angulaire = ACCELERATION_ANGULAIRE_MAX; // en radian par nb_ms_between_updates - -bool Command::stop = false; -bool Command::limiter = false; - -Command::Command() - 8010d80: b480 push {r7} - 8010d82: b083 sub sp, #12 - 8010d84: af00 add r7, sp, #0 - 8010d86: 6078 str r0, [r7, #4] - 8010d88: 687a ldr r2, [r7, #4] - 8010d8a: 4b06 ldr r3, [pc, #24] (8010da4 <_ZN7CommandC2Ev+0x24>) - 8010d8c: 6013 str r3, [r2, #0] -{ - Command::stop = false; - 8010d8e: 4a06 ldr r2, [pc, #24] (8010da8 <_ZN7CommandC2Ev+0x28>) - 8010d90: f04f 0300 mov.w r3, #0 ; 0x0 - 8010d94: 7013 strb r3, [r2, #0] -} - 8010d96: 687b ldr r3, [r7, #4] - 8010d98: 4618 mov r0, r3 - 8010d9a: f107 070c add.w r7, r7, #12 ; 0xc - 8010d9e: 46bd mov sp, r7 - 8010da0: bc80 pop {r7} - 8010da2: 4770 bx lr - 8010da4: 08033db0 .word 0x08033db0 - 8010da8: 2000058c .word 0x2000058c - -08010dac <_ZN7CommandC1Ev>: -Acceleration Command::acceleration_angulaire = ACCELERATION_ANGULAIRE_MAX; // en radian par nb_ms_between_updates - -bool Command::stop = false; -bool Command::limiter = false; - -Command::Command() - 8010dac: b480 push {r7} - 8010dae: b083 sub sp, #12 - 8010db0: af00 add r7, sp, #0 - 8010db2: 6078 str r0, [r7, #4] - 8010db4: 687a ldr r2, [r7, #4] - 8010db6: 4b06 ldr r3, [pc, #24] (8010dd0 <_ZN7CommandC1Ev+0x24>) - 8010db8: 6013 str r3, [r2, #0] -{ - Command::stop = false; - 8010dba: 4a06 ldr r2, [pc, #24] (8010dd4 <_ZN7CommandC1Ev+0x28>) - 8010dbc: f04f 0300 mov.w r3, #0 ; 0x0 - 8010dc0: 7013 strb r3, [r2, #0] -} - 8010dc2: 687b ldr r3, [r7, #4] - 8010dc4: 4618 mov r0, r3 - 8010dc6: f107 070c add.w r7, r7, #12 ; 0xc - 8010dca: 46bd mov sp, r7 - 8010dcc: bc80 pop {r7} - 8010dce: 4770 bx lr - 8010dd0: 08033db0 .word 0x08033db0 - 8010dd4: 2000058c .word 0x2000058c - -08010dd8 <_ZN7Command7getStopEv>: - -Command::~Command() -{ -} - -bool Command::getStop(void) - 8010dd8: b480 push {r7} - 8010dda: af00 add r7, sp, #0 -{ - return Command::stop; - 8010ddc: 4b02 ldr r3, [pc, #8] (8010de8 <_ZN7Command7getStopEv+0x10>) - 8010dde: 781b ldrb r3, [r3, #0] -} - 8010de0: 4618 mov r0, r3 - 8010de2: 46bd mov sp, r7 - 8010de4: bc80 pop {r7} - 8010de6: 4770 bx lr - 8010de8: 2000058c .word 0x2000058c - -08010dec <_ZN7Command11resetSpeedsEv>: - -void Command::resetSpeeds() - 8010dec: b480 push {r7} - 8010dee: b083 sub sp, #12 - 8010df0: af00 add r7, sp, #0 - 8010df2: 6078 str r0, [r7, #4] -{ - -} - 8010df4: f107 070c add.w r7, r7, #12 ; 0xc - 8010df8: 46bd mov sp, r7 - 8010dfa: bc80 pop {r7} - 8010dfc: 4770 bx lr - 8010dfe: 46c0 nop (mov r8, r8) - -08010e00 <_ZN7Command16freinageDUrgenceEb>: - -void Command::freinageDUrgence(bool doitFreiner) - 8010e00: b480 push {r7} - 8010e02: b083 sub sp, #12 - 8010e04: af00 add r7, sp, #0 - 8010e06: 4603 mov r3, r0 - 8010e08: 71fb strb r3, [r7, #7] -{ - Command::stop = doitFreiner; - 8010e0a: 4a04 ldr r2, [pc, #16] (8010e1c <_ZN7Command16freinageDUrgenceEb+0x1c>) - 8010e0c: 79fb ldrb r3, [r7, #7] - 8010e0e: 7013 strb r3, [r2, #0] -} - 8010e10: f107 070c add.w r7, r7, #12 ; 0xc - 8010e14: 46bd mov sp, r7 - 8010e16: bc80 pop {r7} - 8010e18: 4770 bx lr - 8010e1a: 46c0 nop (mov r8, r8) - 8010e1c: 2000058c .word 0x2000058c - -08010e20 <_ZNK7Command4finiEv>: - -// est ce que la commande a fini ? -bool Command::fini() const - 8010e20: b480 push {r7} - 8010e22: b083 sub sp, #12 - 8010e24: af00 add r7, sp, #0 - 8010e26: 6078 str r0, [r7, #4] -{ - return false; - 8010e28: f04f 0300 mov.w r3, #0 ; 0x0 -} - 8010e2c: 4618 mov r0, r3 - 8010e2e: f107 070c add.w r7, r7, #12 ; 0xc - 8010e32: 46bd mov sp, r7 - 8010e34: bc80 pop {r7} - 8010e36: 4770 bx lr - -08010e38 <_ZN7Command10limitSpeedEb>: - -void Command::limitSpeed(bool doitLimiter) - 8010e38: b480 push {r7} - 8010e3a: b083 sub sp, #12 - 8010e3c: af00 add r7, sp, #0 - 8010e3e: 4603 mov r3, r0 - 8010e40: 71fb strb r3, [r7, #7] -{ - Command::limiter = doitLimiter; - 8010e42: 4a04 ldr r2, [pc, #16] (8010e54 <_ZN7Command10limitSpeedEb+0x1c>) - 8010e44: 79fb ldrb r3, [r7, #7] - 8010e46: 7013 strb r3, [r2, #0] - //vitesseLinMax = 1;//TODO : mettre une valeur réaliste, ou bien sauvegarder la première valeure et la diviser -} - 8010e48: f107 070c add.w r7, r7, #12 ; 0xc - 8010e4c: 46bd mov sp, r7 - 8010e4e: bc80 pop {r7} - 8010e50: 4770 bx lr - 8010e52: 46c0 nop (mov r8, r8) - 8010e54: 2000058d .word 0x2000058d - -08010e58 <_ZN7Command8getLimitEv>: - -bool Command::getLimit(void) - 8010e58: b480 push {r7} - 8010e5a: af00 add r7, sp, #0 -{ - return Command::limiter; - 8010e5c: 4b02 ldr r3, [pc, #8] (8010e68 <_ZN7Command8getLimitEv+0x10>) - 8010e5e: 781b ldrb r3, [r3, #0] -} - 8010e60: 4618 mov r0, r3 - 8010e62: 46bd mov sp, r7 - 8010e64: bc80 pop {r7} - 8010e66: 4770 bx lr - 8010e68: 2000058d .word 0x2000058d - -08010e6c <_ZN7Command11isLookingAtEff>: - Position vect = pos - Odometrie::odometrie->getPos().getPosition(); - - return (vect.getNorme() < (int) precision); -} - -bool Command::isLookingAt(Angle a, float precision) - 8010e6c: b580 push {r7, lr} - 8010e6e: b088 sub sp, #32 - 8010e70: af00 add r7, sp, #0 - 8010e72: 60f8 str r0, [r7, #12] - 8010e74: 60b9 str r1, [r7, #8] -{ - Angle diff = a - Odometrie::odometrie->getPos().angle; - 8010e76: 4b3a ldr r3, [pc, #232] (8010f60 <_ZN7Command11isLookingAtEff+0xf4>) - 8010e78: 681a ldr r2, [r3, #0] - 8010e7a: f107 0310 add.w r3, r7, #16 ; 0x10 - 8010e7e: 4618 mov r0, r3 - 8010e80: 4611 mov r1, r2 - 8010e82: f001 fe8d bl 8012ba0 <_ZNK9Odometrie6getPosEv> - 8010e86: 69bb ldr r3, [r7, #24] - 8010e88: 68f8 ldr r0, [r7, #12] - 8010e8a: 4619 mov r1, r3 - 8010e8c: f01b ff8a bl 802cda4 <__aeabi_fsub> - 8010e90: 4603 mov r3, r0 - 8010e92: 61fb str r3, [r7, #28] - 8010e94: e012 b.n 8010ebc <_ZN7Command11isLookingAtEff+0x50> - - while(diff >= M_PI) - diff -= 2.*M_PI; - 8010e96: 69f8 ldr r0, [r7, #28] - 8010e98: f01b fc1c bl 802c6d4 <__aeabi_f2d> - 8010e9c: 4602 mov r2, r0 - 8010e9e: 460b mov r3, r1 - 8010ea0: 4610 mov r0, r2 - 8010ea2: 4619 mov r1, r3 - 8010ea4: a228 add r2, pc, #160 (adr r2, 8010f48 <_ZN7Command11isLookingAtEff+0xdc>) - 8010ea6: ca0c ldmia r2!, {r2, r3} - 8010ea8: f01b fab4 bl 802c414 <__aeabi_dsub> - 8010eac: 4602 mov r2, r0 - 8010eae: 460b mov r3, r1 - 8010eb0: 4610 mov r0, r2 - 8010eb2: 4619 mov r1, r3 - 8010eb4: f01b ff22 bl 802ccfc <__aeabi_d2f> - 8010eb8: 4603 mov r3, r0 - 8010eba: 61fb str r3, [r7, #28] - -bool Command::isLookingAt(Angle a, float precision) -{ - Angle diff = a - Odometrie::odometrie->getPos().angle; - - while(diff >= M_PI) - 8010ebc: 69f8 ldr r0, [r7, #28] - 8010ebe: f01b fc09 bl 802c6d4 <__aeabi_f2d> - 8010ec2: 4602 mov r2, r0 - 8010ec4: 460b mov r3, r1 - 8010ec6: 4610 mov r0, r2 - 8010ec8: 4619 mov r1, r3 - 8010eca: a221 add r2, pc, #132 (adr r2, 8010f50 <_ZN7Command11isLookingAtEff+0xe4>) - 8010ecc: ca0c ldmia r2!, {r2, r3} - 8010ece: f01b fed9 bl 802cc84 <__aeabi_dcmpge> - 8010ed2: 4603 mov r3, r0 - 8010ed4: 2b00 cmp r3, #0 - 8010ed6: d1de bne.n 8010e96 <_ZN7Command11isLookingAtEff+0x2a> - 8010ed8: e012 b.n 8010f00 <_ZN7Command11isLookingAtEff+0x94> - diff -= 2.*M_PI; - while(diff < -M_PI) - diff += 2.*M_PI; - 8010eda: 69f8 ldr r0, [r7, #28] - 8010edc: f01b fbfa bl 802c6d4 <__aeabi_f2d> - 8010ee0: 4602 mov r2, r0 - 8010ee2: 460b mov r3, r1 - 8010ee4: 4610 mov r0, r2 - 8010ee6: 4619 mov r1, r3 - 8010ee8: a217 add r2, pc, #92 (adr r2, 8010f48 <_ZN7Command11isLookingAtEff+0xdc>) - 8010eea: ca0c ldmia r2!, {r2, r3} - 8010eec: f01b fa94 bl 802c418 <__adddf3> - 8010ef0: 4602 mov r2, r0 - 8010ef2: 460b mov r3, r1 - 8010ef4: 4610 mov r0, r2 - 8010ef6: 4619 mov r1, r3 - 8010ef8: f01b ff00 bl 802ccfc <__aeabi_d2f> - 8010efc: 4603 mov r3, r0 - 8010efe: 61fb str r3, [r7, #28] -{ - Angle diff = a - Odometrie::odometrie->getPos().angle; - - while(diff >= M_PI) - diff -= 2.*M_PI; - while(diff < -M_PI) - 8010f00: 69f8 ldr r0, [r7, #28] - 8010f02: f01b fbe7 bl 802c6d4 <__aeabi_f2d> - 8010f06: 4602 mov r2, r0 - 8010f08: 460b mov r3, r1 - 8010f0a: 4610 mov r0, r2 - 8010f0c: 4619 mov r1, r3 - 8010f0e: a212 add r2, pc, #72 (adr r2, 8010f58 <_ZN7Command11isLookingAtEff+0xec>) - 8010f10: ca0c ldmia r2!, {r2, r3} - 8010f12: f01b fea3 bl 802cc5c <__aeabi_dcmplt> - 8010f16: 4603 mov r3, r0 - 8010f18: 2b00 cmp r3, #0 - 8010f1a: d1de bne.n 8010eda <_ZN7Command11isLookingAtEff+0x6e> - diff += 2.*M_PI; - - return (fabs(diff) < precision); - 8010f1c: 69fb ldr r3, [r7, #28] - 8010f1e: f023 4200 bic.w r2, r3, #2147483648 ; 0x80000000 - 8010f22: f04f 0300 mov.w r3, #0 ; 0x0 - 8010f26: 71fb strb r3, [r7, #7] - 8010f28: 4610 mov r0, r2 - 8010f2a: 68b9 ldr r1, [r7, #8] - 8010f2c: f01c f9e0 bl 802d2f0 <__aeabi_fcmplt> - 8010f30: 4603 mov r3, r0 - 8010f32: 2b00 cmp r3, #0 - 8010f34: d002 beq.n 8010f3c <_ZN7Command11isLookingAtEff+0xd0> - 8010f36: f04f 0301 mov.w r3, #1 ; 0x1 - 8010f3a: 71fb strb r3, [r7, #7] - 8010f3c: 79fb ldrb r3, [r7, #7] -} - 8010f3e: 4618 mov r0, r3 - 8010f40: f107 0720 add.w r7, r7, #32 ; 0x20 - 8010f44: 46bd mov sp, r7 - 8010f46: bd80 pop {r7, pc} - 8010f48: 54442d18 .word 0x54442d18 - 8010f4c: 401921fb .word 0x401921fb - 8010f50: 54442d18 .word 0x54442d18 - 8010f54: 400921fb .word 0x400921fb - 8010f58: 54442d18 .word 0x54442d18 - 8010f5c: c00921fb .word 0xc00921fb - 8010f60: 20000590 .word 0x20000590 - -08010f64 <_ZN7Command11isLookingAtE8Positionf>: - -bool Command::isLookingAt(Position pos, float precision) - 8010f64: b5b0 push {r4, r5, r7, lr} - 8010f66: b090 sub sp, #64 - 8010f68: af00 add r7, sp, #0 - 8010f6a: f107 0308 add.w r3, r7, #8 ; 0x8 - 8010f6e: e883 0003 stmia.w r3, {r0, r1} - 8010f72: 607a str r2, [r7, #4] -{ - Position delta = pos - Odometrie::odometrie->getPos().getPosition(); - 8010f74: 4b58 ldr r3, [pc, #352] (80110d8 <_ZN7Command11isLookingAtE8Positionf+0x174>) - 8010f76: 681a ldr r2, [r3, #0] - 8010f78: f107 0320 add.w r3, r7, #32 ; 0x20 - 8010f7c: 4618 mov r0, r3 - 8010f7e: 4611 mov r1, r2 - 8010f80: f001 fe0e bl 8012ba0 <_ZNK9Odometrie6getPosEv> - 8010f84: f107 0318 add.w r3, r7, #24 ; 0x18 - 8010f88: f107 0220 add.w r2, r7, #32 ; 0x20 - 8010f8c: 4618 mov r0, r3 - 8010f8e: 4611 mov r1, r2 - 8010f90: f006 fe5c bl 8017c4c <_ZNK17PositionPlusAngle11getPositionEv> - 8010f94: f107 0310 add.w r3, r7, #16 ; 0x10 - 8010f98: f107 0208 add.w r2, r7, #8 ; 0x8 - 8010f9c: f107 0c18 add.w ip, r7, #24 ; 0x18 - 8010fa0: 4618 mov r0, r3 - 8010fa2: 4611 mov r1, r2 - 8010fa4: 4662 mov r2, ip - 8010fa6: f006 fc83 bl 80178b0 <_ZNK8PositionmiERKS_> - Angle angleVise = atan2(delta.getY(),delta.getX()); - 8010faa: f107 0310 add.w r3, r7, #16 ; 0x10 - 8010fae: 4618 mov r0, r3 - 8010fb0: f006 fc30 bl 8017814 <_ZNK8Position4getYEv> - 8010fb4: 4603 mov r3, r0 - 8010fb6: 4618 mov r0, r3 - 8010fb8: f01b fb8c bl 802c6d4 <__aeabi_f2d> - 8010fbc: 4604 mov r4, r0 - 8010fbe: 460d mov r5, r1 - 8010fc0: f107 0310 add.w r3, r7, #16 ; 0x10 - 8010fc4: 4618 mov r0, r3 - 8010fc6: f006 fc19 bl 80177fc <_ZNK8Position4getXEv> - 8010fca: 4603 mov r3, r0 - 8010fcc: 4618 mov r0, r3 - 8010fce: f01b fb81 bl 802c6d4 <__aeabi_f2d> - 8010fd2: 4602 mov r2, r0 - 8010fd4: 460b mov r3, r1 - 8010fd6: 4620 mov r0, r4 - 8010fd8: 4629 mov r1, r5 - 8010fda: f01f fc87 bl 80308ec - 8010fde: 4602 mov r2, r0 - 8010fe0: 460b mov r3, r1 - 8010fe2: 4610 mov r0, r2 - 8010fe4: 4619 mov r1, r3 - 8010fe6: f01b fe89 bl 802ccfc <__aeabi_d2f> - 8010fea: 4603 mov r3, r0 - 8010fec: 63bb str r3, [r7, #56] - Angle diff = angleVise - Odometrie::odometrie->getPos().angle; - 8010fee: 4b3a ldr r3, [pc, #232] (80110d8 <_ZN7Command11isLookingAtE8Positionf+0x174>) - 8010ff0: 681a ldr r2, [r3, #0] - 8010ff2: f107 032c add.w r3, r7, #44 ; 0x2c - 8010ff6: 4618 mov r0, r3 - 8010ff8: 4611 mov r1, r2 - 8010ffa: f001 fdd1 bl 8012ba0 <_ZNK9Odometrie6getPosEv> - 8010ffe: 6b7b ldr r3, [r7, #52] - 8011000: 6bb8 ldr r0, [r7, #56] - 8011002: 4619 mov r1, r3 - 8011004: f01b fece bl 802cda4 <__aeabi_fsub> - 8011008: 4603 mov r3, r0 - 801100a: 63fb str r3, [r7, #60] - 801100c: e012 b.n 8011034 <_ZN7Command11isLookingAtE8Positionf+0xd0> - - while(diff >= M_PI) - diff -= 2.*M_PI; - 801100e: 6bf8 ldr r0, [r7, #60] - 8011010: f01b fb60 bl 802c6d4 <__aeabi_f2d> - 8011014: 4602 mov r2, r0 - 8011016: 460b mov r3, r1 - 8011018: 4610 mov r0, r2 - 801101a: 4619 mov r1, r3 - 801101c: a228 add r2, pc, #160 (adr r2, 80110c0 <_ZN7Command11isLookingAtE8Positionf+0x15c>) - 801101e: ca0c ldmia r2!, {r2, r3} - 8011020: f01b f9f8 bl 802c414 <__aeabi_dsub> - 8011024: 4602 mov r2, r0 - 8011026: 460b mov r3, r1 - 8011028: 4610 mov r0, r2 - 801102a: 4619 mov r1, r3 - 801102c: f01b fe66 bl 802ccfc <__aeabi_d2f> - 8011030: 4603 mov r3, r0 - 8011032: 63fb str r3, [r7, #60] -{ - Position delta = pos - Odometrie::odometrie->getPos().getPosition(); - Angle angleVise = atan2(delta.getY(),delta.getX()); - Angle diff = angleVise - Odometrie::odometrie->getPos().angle; - - while(diff >= M_PI) - 8011034: 6bf8 ldr r0, [r7, #60] - 8011036: f01b fb4d bl 802c6d4 <__aeabi_f2d> - 801103a: 4602 mov r2, r0 - 801103c: 460b mov r3, r1 - 801103e: 4610 mov r0, r2 - 8011040: 4619 mov r1, r3 - 8011042: a221 add r2, pc, #132 (adr r2, 80110c8 <_ZN7Command11isLookingAtE8Positionf+0x164>) - 8011044: ca0c ldmia r2!, {r2, r3} - 8011046: f01b fe1d bl 802cc84 <__aeabi_dcmpge> - 801104a: 4603 mov r3, r0 - 801104c: 2b00 cmp r3, #0 - 801104e: d1de bne.n 801100e <_ZN7Command11isLookingAtE8Positionf+0xaa> - 8011050: e012 b.n 8011078 <_ZN7Command11isLookingAtE8Positionf+0x114> - diff -= 2.*M_PI; - while(diff < -M_PI) - diff += 2.*M_PI; - 8011052: 6bf8 ldr r0, [r7, #60] - 8011054: f01b fb3e bl 802c6d4 <__aeabi_f2d> - 8011058: 4602 mov r2, r0 - 801105a: 460b mov r3, r1 - 801105c: 4610 mov r0, r2 - 801105e: 4619 mov r1, r3 - 8011060: a217 add r2, pc, #92 (adr r2, 80110c0 <_ZN7Command11isLookingAtE8Positionf+0x15c>) - 8011062: ca0c ldmia r2!, {r2, r3} - 8011064: f01b f9d8 bl 802c418 <__adddf3> - 8011068: 4602 mov r2, r0 - 801106a: 460b mov r3, r1 - 801106c: 4610 mov r0, r2 - 801106e: 4619 mov r1, r3 - 8011070: f01b fe44 bl 802ccfc <__aeabi_d2f> - 8011074: 4603 mov r3, r0 - 8011076: 63fb str r3, [r7, #60] - Angle angleVise = atan2(delta.getY(),delta.getX()); - Angle diff = angleVise - Odometrie::odometrie->getPos().angle; - - while(diff >= M_PI) - diff -= 2.*M_PI; - while(diff < -M_PI) - 8011078: 6bf8 ldr r0, [r7, #60] - 801107a: f01b fb2b bl 802c6d4 <__aeabi_f2d> - 801107e: 4602 mov r2, r0 - 8011080: 460b mov r3, r1 - 8011082: 4610 mov r0, r2 - 8011084: 4619 mov r1, r3 - 8011086: a212 add r2, pc, #72 (adr r2, 80110d0 <_ZN7Command11isLookingAtE8Positionf+0x16c>) - 8011088: ca0c ldmia r2!, {r2, r3} - 801108a: f01b fde7 bl 802cc5c <__aeabi_dcmplt> - 801108e: 4603 mov r3, r0 - 8011090: 2b00 cmp r3, #0 - 8011092: d1de bne.n 8011052 <_ZN7Command11isLookingAtE8Positionf+0xee> - diff += 2.*M_PI; - - return (fabs(diff) < precision); - 8011094: 6bfb ldr r3, [r7, #60] - 8011096: f023 4200 bic.w r2, r3, #2147483648 ; 0x80000000 - 801109a: f04f 0300 mov.w r3, #0 ; 0x0 - 801109e: 70fb strb r3, [r7, #3] - 80110a0: 4610 mov r0, r2 - 80110a2: 6879 ldr r1, [r7, #4] - 80110a4: f01c f924 bl 802d2f0 <__aeabi_fcmplt> - 80110a8: 4603 mov r3, r0 - 80110aa: 2b00 cmp r3, #0 - 80110ac: d002 beq.n 80110b4 <_ZN7Command11isLookingAtE8Positionf+0x150> - 80110ae: f04f 0301 mov.w r3, #1 ; 0x1 - 80110b2: 70fb strb r3, [r7, #3] - 80110b4: 78fb ldrb r3, [r7, #3] -} - 80110b6: 4618 mov r0, r3 - 80110b8: f107 0740 add.w r7, r7, #64 ; 0x40 - 80110bc: 46bd mov sp, r7 - 80110be: bdb0 pop {r4, r5, r7, pc} - 80110c0: 54442d18 .word 0x54442d18 - 80110c4: 401921fb .word 0x401921fb - 80110c8: 54442d18 .word 0x54442d18 - 80110cc: 400921fb .word 0x400921fb - 80110d0: 54442d18 .word 0x54442d18 - 80110d4: c00921fb .word 0xc00921fb - 80110d8: 20000590 .word 0x20000590 - -080110dc <_ZN7Command6isNearE8Positionf>: -bool Command::getLimit(void) -{ - return Command::limiter; -} - -bool Command::isNear(Position pos, float precision) - 80110dc: b590 push {r4, r7, lr} - 80110de: b08d sub sp, #52 - 80110e0: af00 add r7, sp, #0 - 80110e2: f107 0308 add.w r3, r7, #8 ; 0x8 - 80110e6: e883 0003 stmia.w r3, {r0, r1} - 80110ea: 607a str r2, [r7, #4] -{ - Position vect = pos - Odometrie::odometrie->getPos().getPosition(); - 80110ec: 4b1d ldr r3, [pc, #116] (8011164 <_ZN7Command6isNearE8Positionf+0x88>) - 80110ee: 681a ldr r2, [r3, #0] - 80110f0: f107 0324 add.w r3, r7, #36 ; 0x24 - 80110f4: 4618 mov r0, r3 - 80110f6: 4611 mov r1, r2 - 80110f8: f001 fd52 bl 8012ba0 <_ZNK9Odometrie6getPosEv> - 80110fc: f107 031c add.w r3, r7, #28 ; 0x1c - 8011100: f107 0224 add.w r2, r7, #36 ; 0x24 - 8011104: 4618 mov r0, r3 - 8011106: 4611 mov r1, r2 - 8011108: f006 fda0 bl 8017c4c <_ZNK17PositionPlusAngle11getPositionEv> - 801110c: f107 0314 add.w r3, r7, #20 ; 0x14 - 8011110: f107 0208 add.w r2, r7, #8 ; 0x8 - 8011114: f107 0c1c add.w ip, r7, #28 ; 0x1c - 8011118: 4618 mov r0, r3 - 801111a: 4611 mov r1, r2 - 801111c: 4662 mov r2, ip - 801111e: f006 fbc7 bl 80178b0 <_ZNK8PositionmiERKS_> - - return (vect.getNorme() < (int) precision); - 8011122: f107 0314 add.w r3, r7, #20 ; 0x14 - 8011126: 4618 mov r0, r3 - 8011128: f006 fcd0 bl 8017acc <_ZNK8Position8getNormeEv> - 801112c: 4604 mov r4, r0 - 801112e: 6878 ldr r0, [r7, #4] - 8011130: f01c f906 bl 802d340 <__aeabi_f2iz> - 8011134: 4603 mov r3, r0 - 8011136: 4618 mov r0, r3 - 8011138: f01b feea bl 802cf10 <__aeabi_i2f> - 801113c: 4602 mov r2, r0 - 801113e: f04f 0300 mov.w r3, #0 ; 0x0 - 8011142: 70fb strb r3, [r7, #3] - 8011144: 4620 mov r0, r4 - 8011146: 4611 mov r1, r2 - 8011148: f01c f8d2 bl 802d2f0 <__aeabi_fcmplt> - 801114c: 4603 mov r3, r0 - 801114e: 2b00 cmp r3, #0 - 8011150: d002 beq.n 8011158 <_ZN7Command6isNearE8Positionf+0x7c> - 8011152: f04f 0301 mov.w r3, #1 ; 0x1 - 8011156: 70fb strb r3, [r7, #3] - 8011158: 78fb ldrb r3, [r7, #3] -} - 801115a: 4618 mov r0, r3 - 801115c: f107 0734 add.w r7, r7, #52 ; 0x34 - 8011160: 46bd mov sp, r7 - 8011162: bd90 pop {r4, r7, pc} - 8011164: 20000590 .word 0x20000590 - -08011168 <_ZN7CommandD0Ev>: -Command::Command() -{ - Command::stop = false; -} - -Command::~Command() - 8011168: b580 push {r7, lr} - 801116a: b082 sub sp, #8 - 801116c: af00 add r7, sp, #0 - 801116e: 6078 str r0, [r7, #4] - 8011170: 687a ldr r2, [r7, #4] - 8011172: 4b08 ldr r3, [pc, #32] (8011194 <_ZN7CommandD0Ev+0x2c>) - 8011174: 6013 str r3, [r2, #0] -{ -} - 8011176: f04f 0301 mov.w r3, #1 ; 0x1 - 801117a: b2db uxtb r3, r3 - 801117c: 2b00 cmp r3, #0 - 801117e: d002 beq.n 8011186 <_ZN7CommandD0Ev+0x1e> - 8011180: 6878 ldr r0, [r7, #4] - 8011182: f006 fa43 bl 801760c <_ZdlPv> - 8011186: 687b ldr r3, [r7, #4] - 8011188: 4618 mov r0, r3 - 801118a: f107 0708 add.w r7, r7, #8 ; 0x8 - 801118e: 46bd mov sp, r7 - 8011190: bd80 pop {r7, pc} - 8011192: 46c0 nop (mov r8, r8) - 8011194: 08033db0 .word 0x08033db0 - -08011198 <_ZN7CommandD1Ev>: -Command::Command() -{ - Command::stop = false; -} - -Command::~Command() - 8011198: b580 push {r7, lr} - 801119a: b082 sub sp, #8 - 801119c: af00 add r7, sp, #0 - 801119e: 6078 str r0, [r7, #4] - 80111a0: 687a ldr r2, [r7, #4] - 80111a2: 4b08 ldr r3, [pc, #32] (80111c4 <_ZN7CommandD1Ev+0x2c>) - 80111a4: 6013 str r3, [r2, #0] -{ -} - 80111a6: f04f 0300 mov.w r3, #0 ; 0x0 - 80111aa: b2db uxtb r3, r3 - 80111ac: 2b00 cmp r3, #0 - 80111ae: d002 beq.n 80111b6 <_ZN7CommandD1Ev+0x1e> - 80111b0: 6878 ldr r0, [r7, #4] - 80111b2: f006 fa2b bl 801760c <_ZdlPv> - 80111b6: 687b ldr r3, [r7, #4] - 80111b8: 4618 mov r0, r3 - 80111ba: f107 0708 add.w r7, r7, #8 ; 0x8 - 80111be: 46bd mov sp, r7 - 80111c0: bd80 pop {r7, pc} - 80111c2: 46c0 nop (mov r8, r8) - 80111c4: 08033db0 .word 0x08033db0 - -080111c8 <_ZN7CommandD2Ev>: -Command::Command() -{ - Command::stop = false; -} - -Command::~Command() - 80111c8: b580 push {r7, lr} - 80111ca: b082 sub sp, #8 - 80111cc: af00 add r7, sp, #0 - 80111ce: 6078 str r0, [r7, #4] - 80111d0: 687a ldr r2, [r7, #4] - 80111d2: 4b08 ldr r3, [pc, #32] (80111f4 <_ZN7CommandD2Ev+0x2c>) - 80111d4: 6013 str r3, [r2, #0] -{ -} - 80111d6: f04f 0300 mov.w r3, #0 ; 0x0 - 80111da: b2db uxtb r3, r3 - 80111dc: 2b00 cmp r3, #0 - 80111de: d002 beq.n 80111e6 <_ZN7CommandD2Ev+0x1e> - 80111e0: 6878 ldr r0, [r7, #4] - 80111e2: f006 fa13 bl 801760c <_ZdlPv> - 80111e6: 687b ldr r3, [r7, #4] - 80111e8: 4618 mov r0, r3 - 80111ea: f107 0708 add.w r7, r7, #8 ; 0x8 - 80111ee: 46bd mov sp, r7 - 80111f0: bd80 pop {r7, pc} - 80111f2: 46c0 nop (mov r8, r8) - 80111f4: 08033db0 .word 0x08033db0 - -080111f8 <_Z9diffAngleff>: - -#ifndef abs -#define abs(x) fabs(x) -#endif - -float diffAngle(float a, float b) - 80111f8: b580 push {r7, lr} - 80111fa: b084 sub sp, #16 - 80111fc: af00 add r7, sp, #0 - 80111fe: 6078 str r0, [r7, #4] - 8011200: 6039 str r1, [r7, #0] -{ - float t = a-b; - 8011202: 6878 ldr r0, [r7, #4] - 8011204: 6839 ldr r1, [r7, #0] - 8011206: f01b fdcd bl 802cda4 <__aeabi_fsub> - 801120a: 4603 mov r3, r0 - 801120c: 60fb str r3, [r7, #12] - 801120e: e012 b.n 8011236 <_Z9diffAngleff+0x3e> - while (t > M_PI) - { - t -= 2*M_PI; - 8011210: 68f8 ldr r0, [r7, #12] - 8011212: f01b fa5f bl 802c6d4 <__aeabi_f2d> - 8011216: 4602 mov r2, r0 - 8011218: 460b mov r3, r1 - 801121a: 4610 mov r0, r2 - 801121c: 4619 mov r1, r3 - 801121e: a222 add r2, pc, #136 (adr r2, 80112a8 <_Z9diffAngleff+0xb0>) - 8011220: ca0c ldmia r2!, {r2, r3} - 8011222: f01b f8f7 bl 802c414 <__aeabi_dsub> - 8011226: 4602 mov r2, r0 - 8011228: 460b mov r3, r1 - 801122a: 4610 mov r0, r2 - 801122c: 4619 mov r1, r3 - 801122e: f01b fd65 bl 802ccfc <__aeabi_d2f> - 8011232: 4603 mov r3, r0 - 8011234: 60fb str r3, [r7, #12] -#endif - -float diffAngle(float a, float b) -{ - float t = a-b; - while (t > M_PI) - 8011236: 68f8 ldr r0, [r7, #12] - 8011238: f01b fa4c bl 802c6d4 <__aeabi_f2d> - 801123c: 4602 mov r2, r0 - 801123e: 460b mov r3, r1 - 8011240: 4610 mov r0, r2 - 8011242: 4619 mov r1, r3 - 8011244: a21a add r2, pc, #104 (adr r2, 80112b0 <_Z9diffAngleff+0xb8>) - 8011246: ca0c ldmia r2!, {r2, r3} - 8011248: f01b fd26 bl 802cc98 <__aeabi_dcmpgt> - 801124c: 4603 mov r3, r0 - 801124e: 2b00 cmp r3, #0 - 8011250: d1de bne.n 8011210 <_Z9diffAngleff+0x18> - 8011252: e012 b.n 801127a <_Z9diffAngleff+0x82> - { - t -= 2*M_PI; - } - while (t < -M_PI) - { - t += 2*M_PI; - 8011254: 68f8 ldr r0, [r7, #12] - 8011256: f01b fa3d bl 802c6d4 <__aeabi_f2d> - 801125a: 4602 mov r2, r0 - 801125c: 460b mov r3, r1 - 801125e: 4610 mov r0, r2 - 8011260: 4619 mov r1, r3 - 8011262: a211 add r2, pc, #68 (adr r2, 80112a8 <_Z9diffAngleff+0xb0>) - 8011264: ca0c ldmia r2!, {r2, r3} - 8011266: f01b f8d7 bl 802c418 <__adddf3> - 801126a: 4602 mov r2, r0 - 801126c: 460b mov r3, r1 - 801126e: 4610 mov r0, r2 - 8011270: 4619 mov r1, r3 - 8011272: f01b fd43 bl 802ccfc <__aeabi_d2f> - 8011276: 4603 mov r3, r0 - 8011278: 60fb str r3, [r7, #12] - float t = a-b; - while (t > M_PI) - { - t -= 2*M_PI; - } - while (t < -M_PI) - 801127a: 68f8 ldr r0, [r7, #12] - 801127c: f01b fa2a bl 802c6d4 <__aeabi_f2d> - 8011280: 4602 mov r2, r0 - 8011282: 460b mov r3, r1 - 8011284: 4610 mov r0, r2 - 8011286: 4619 mov r1, r3 - 8011288: a20b add r2, pc, #44 (adr r2, 80112b8 <_Z9diffAngleff+0xc0>) - 801128a: ca0c ldmia r2!, {r2, r3} - 801128c: f01b fce6 bl 802cc5c <__aeabi_dcmplt> - 8011290: 4603 mov r3, r0 - 8011292: 2b00 cmp r3, #0 - 8011294: d1de bne.n 8011254 <_Z9diffAngleff+0x5c> - { - t += 2*M_PI; - } - return t; - 8011296: 68fb ldr r3, [r7, #12] -} - 8011298: 4618 mov r0, r3 - 801129a: f107 0710 add.w r7, r7, #16 ; 0x10 - 801129e: 46bd mov sp, r7 - 80112a0: bd80 pop {r7, pc} - 80112a2: 46c0 nop (mov r8, r8) - 80112a4: 46c0 nop (mov r8, r8) - 80112a6: 46c0 nop (mov r8, r8) - 80112a8: 54442d18 .word 0x54442d18 - 80112ac: 401921fb .word 0x401921fb - 80112b0: 54442d18 .word 0x54442d18 - 80112b4: 400921fb .word 0x400921fb - 80112b8: 54442d18 .word 0x54442d18 - 80112bc: c00921fb .word 0xc00921fb - -080112c0 <_ZN18CommandAllerEnArcA14getLinearSpeedEv>: - linSpeed = rVise*angSpeed;*/ - - -} - -Vitesse CommandAllerEnArcA::getLinearSpeed() - 80112c0: b480 push {r7} - 80112c2: b083 sub sp, #12 - 80112c4: af00 add r7, sp, #0 - 80112c6: 6078 str r0, [r7, #4] -{ - return linSpeed; - 80112c8: 687b ldr r3, [r7, #4] - 80112ca: 695b ldr r3, [r3, #20] -} - 80112cc: 4618 mov r0, r3 - 80112ce: f107 070c add.w r7, r7, #12 ; 0xc - 80112d2: 46bd mov sp, r7 - 80112d4: bc80 pop {r7} - 80112d6: 4770 bx lr - -080112d8 <_ZN18CommandAllerEnArcA15getAngularSpeedEv>: - -Angle CommandAllerEnArcA::getAngularSpeed() - 80112d8: b480 push {r7} - 80112da: b083 sub sp, #12 - 80112dc: af00 add r7, sp, #0 - 80112de: 6078 str r0, [r7, #4] -{ - return angSpeed; - 80112e0: 687b ldr r3, [r7, #4] - 80112e2: 699b ldr r3, [r3, #24] -} - 80112e4: 4618 mov r0, r3 - 80112e6: f107 070c add.w r7, r7, #12 ; 0xc - 80112ea: 46bd mov sp, r7 - 80112ec: bc80 pop {r7} - 80112ee: 4770 bx lr - -080112f0 <_ZNK18CommandAllerEnArcA4finiEv>: - -// est ce que la commande a fini ? -bool CommandAllerEnArcA::fini() const - 80112f0: b480 push {r7} - 80112f2: b083 sub sp, #12 - 80112f4: af00 add r7, sp, #0 - 80112f6: 6078 str r0, [r7, #4] -{ - return m_fini; - 80112f8: 687b ldr r3, [r7, #4] - 80112fa: f893 3028 ldrb.w r3, [r3, #40] -} - 80112fe: 4618 mov r0, r3 - 8011300: f107 070c add.w r7, r7, #12 ; 0xc - 8011304: 46bd mov sp, r7 - 8011306: bc80 pop {r7} - 8011308: 4770 bx lr - 801130a: 46c0 nop (mov r8, r8) - -0801130c <_ZN13CommandAllerA14getLinearSpeedEv>: -{ - linSpeed = Odometrie::odometrie->getVitesseLineaire(); - angSpeed = Odometrie::odometrie->getVitesseAngulaire(); -} - -Vitesse CommandAllerA::getLinearSpeed() - 801130c: b480 push {r7} - 801130e: b083 sub sp, #12 - 8011310: af00 add r7, sp, #0 - 8011312: 6078 str r0, [r7, #4] -{ - return linSpeed; - 8011314: 687b ldr r3, [r7, #4] - 8011316: 699b ldr r3, [r3, #24] -} - 8011318: 4618 mov r0, r3 - 801131a: f107 070c add.w r7, r7, #12 ; 0xc - 801131e: 46bd mov sp, r7 - 8011320: bc80 pop {r7} - 8011322: 4770 bx lr - -08011324 <_ZN13CommandAllerA15getAngularSpeedEv>: - -Angle CommandAllerA::getAngularSpeed() - 8011324: b480 push {r7} - 8011326: b083 sub sp, #12 - 8011328: af00 add r7, sp, #0 - 801132a: 6078 str r0, [r7, #4] -{ - return angSpeed; - 801132c: 687b ldr r3, [r7, #4] - 801132e: 69db ldr r3, [r3, #28] -} - 8011330: 4618 mov r0, r3 - 8011332: f107 070c add.w r7, r7, #12 ; 0xc - 8011336: 46bd mov sp, r7 - 8011338: bc80 pop {r7} - 801133a: 4770 bx lr - -0801133c <_ZNK13CommandAllerA4finiEv>: - -bool CommandAllerA::fini() const - 801133c: b480 push {r7} - 801133e: b083 sub sp, #12 - 8011340: af00 add r7, sp, #0 - 8011342: 6078 str r0, [r7, #4] -{ - return m_fini; - 8011344: 687b ldr r3, [r7, #4] - 8011346: f893 3028 ldrb.w r3, [r3, #40] -} - 801134a: 4618 mov r0, r3 - 801134c: f107 070c add.w r7, r7, #12 ; 0xc - 8011350: 46bd mov sp, r7 - 8011352: bc80 pop {r7} - 8011354: 4770 bx lr - 8011356: 46c0 nop (mov r8, r8) - -08011358 <_ZN18CommandTournerVers14getLinearSpeedEv>: - angSpeed = -sqrt(-2.0f*diff*accAngMax); - }*/ - -} - -Vitesse CommandTournerVers::getLinearSpeed() - 8011358: b480 push {r7} - 801135a: b083 sub sp, #12 - 801135c: af00 add r7, sp, #0 - 801135e: 6078 str r0, [r7, #4] -{ - return 0.0f; - 8011360: 4b03 ldr r3, [pc, #12] (8011370 <_ZN18CommandTournerVers14getLinearSpeedEv+0x18>) -} - 8011362: 4618 mov r0, r3 - 8011364: f107 070c add.w r7, r7, #12 ; 0xc - 8011368: 46bd mov sp, r7 - 801136a: bc80 pop {r7} - 801136c: 4770 bx lr - 801136e: 46c0 nop (mov r8, r8) - 8011370: 00000000 .word 0x00000000 - -08011374 <_ZN18CommandTournerVers15getAngularSpeedEv>: - -Angle CommandTournerVers::getAngularSpeed() - 8011374: b480 push {r7} - 8011376: b083 sub sp, #12 - 8011378: af00 add r7, sp, #0 - 801137a: 6078 str r0, [r7, #4] -{ - return angSpeed; - 801137c: 687b ldr r3, [r7, #4] - 801137e: 68db ldr r3, [r3, #12] -} - 8011380: 4618 mov r0, r3 - 8011382: f107 070c add.w r7, r7, #12 ; 0xc - 8011386: 46bd mov sp, r7 - 8011388: bc80 pop {r7} - 801138a: 4770 bx lr - -0801138c <_ZNK18CommandTournerVers4finiEv>: - -bool CommandTournerVers::fini() const - 801138c: b480 push {r7} - 801138e: b083 sub sp, #12 - 8011390: af00 add r7, sp, #0 - 8011392: 6078 str r0, [r7, #4] -{ - return m_fini; - 8011394: 687b ldr r3, [r7, #4] - 8011396: 7d1b ldrb r3, [r3, #20] -} - 8011398: 4618 mov r0, r3 - 801139a: f107 070c add.w r7, r7, #12 ; 0xc - 801139e: 46bd mov sp, r7 - 80113a0: bc80 pop {r7} - 80113a2: 4770 bx lr - -080113a4 <_ZN13CommandVirage14getLinearSpeedEv>: - - // calcul de la vitesse angulaire - angSpeed = linSpeed/rayonCourbure; -} - -Vitesse CommandVirage::getLinearSpeed() - 80113a4: b480 push {r7} - 80113a6: b083 sub sp, #12 - 80113a8: af00 add r7, sp, #0 - 80113aa: 6078 str r0, [r7, #4] -{ - return linSpeed; - 80113ac: 687b ldr r3, [r7, #4] - 80113ae: 689b ldr r3, [r3, #8] -} - 80113b0: 4618 mov r0, r3 - 80113b2: f107 070c add.w r7, r7, #12 ; 0xc - 80113b6: 46bd mov sp, r7 - 80113b8: bc80 pop {r7} - 80113ba: 4770 bx lr - -080113bc <_ZN13CommandVirage15getAngularSpeedEv>: - -Angle CommandVirage::getAngularSpeed() - 80113bc: b480 push {r7} - 80113be: b083 sub sp, #12 - 80113c0: af00 add r7, sp, #0 - 80113c2: 6078 str r0, [r7, #4] -{ - return angSpeed; - 80113c4: 687b ldr r3, [r7, #4] - 80113c6: 68db ldr r3, [r3, #12] -} - 80113c8: 4618 mov r0, r3 - 80113ca: f107 070c add.w r7, r7, #12 ; 0xc - 80113ce: 46bd mov sp, r7 - 80113d0: bc80 pop {r7} - 80113d2: 4770 bx lr - -080113d4 <_ZNK13CommandVirage4finiEv>: - -// est ce que la commande a fini ? -bool CommandVirage::fini() const - 80113d4: b480 push {r7} - 80113d6: b083 sub sp, #12 - 80113d8: af00 add r7, sp, #0 - 80113da: 6078 str r0, [r7, #4] -{ - return m_fini; - 80113dc: 687b ldr r3, [r7, #4] - 80113de: 7f1b ldrb r3, [r3, #28] -} - 80113e0: 4618 mov r0, r3 - 80113e2: f107 070c add.w r7, r7, #12 ; 0xc - 80113e6: 46bd mov sp, r7 - 80113e8: bc80 pop {r7} - 80113ea: 4770 bx lr - -080113ec <_ZN15CommandAttendre6updateEv>: -CommandAttendre::CommandAttendre(int nbUpdates) - : Command(), compte(nbUpdates) -{ -} - -void CommandAttendre::update() - 80113ec: b480 push {r7} - 80113ee: b083 sub sp, #12 - 80113f0: af00 add r7, sp, #0 - 80113f2: 6078 str r0, [r7, #4] -{ - compte--; - 80113f4: 687b ldr r3, [r7, #4] - 80113f6: 685b ldr r3, [r3, #4] - 80113f8: f103 32ff add.w r2, r3, #4294967295 ; 0xffffffff - 80113fc: 687b ldr r3, [r7, #4] - 80113fe: 605a str r2, [r3, #4] -} - 8011400: f107 070c add.w r7, r7, #12 ; 0xc - 8011404: 46bd mov sp, r7 - 8011406: bc80 pop {r7} - 8011408: 4770 bx lr - 801140a: 46c0 nop (mov r8, r8) - -0801140c <_ZN15CommandAttendre14getLinearSpeedEv>: - -Vitesse CommandAttendre::getLinearSpeed() - 801140c: b480 push {r7} - 801140e: b083 sub sp, #12 - 8011410: af00 add r7, sp, #0 - 8011412: 6078 str r0, [r7, #4] -{ - return 0.0f; - 8011414: 4b03 ldr r3, [pc, #12] (8011424 <_ZN15CommandAttendre14getLinearSpeedEv+0x18>) -} - 8011416: 4618 mov r0, r3 - 8011418: f107 070c add.w r7, r7, #12 ; 0xc - 801141c: 46bd mov sp, r7 - 801141e: bc80 pop {r7} - 8011420: 4770 bx lr - 8011422: 46c0 nop (mov r8, r8) - 8011424: 00000000 .word 0x00000000 - -08011428 <_ZN15CommandAttendre15getAngularSpeedEv>: - -Angle CommandAttendre::getAngularSpeed() - 8011428: b480 push {r7} - 801142a: b083 sub sp, #12 - 801142c: af00 add r7, sp, #0 - 801142e: 6078 str r0, [r7, #4] -{ - return 0.0f; - 8011430: 4b03 ldr r3, [pc, #12] (8011440 <_ZN15CommandAttendre15getAngularSpeedEv+0x18>) -} - 8011432: 4618 mov r0, r3 - 8011434: f107 070c add.w r7, r7, #12 ; 0xc - 8011438: 46bd mov sp, r7 - 801143a: bc80 pop {r7} - 801143c: 4770 bx lr - 801143e: 46c0 nop (mov r8, r8) - 8011440: 00000000 .word 0x00000000 - -08011444 <_ZNK15CommandAttendre4finiEv>: - -bool CommandAttendre::fini() const - 8011444: b480 push {r7} - 8011446: b083 sub sp, #12 - 8011448: af00 add r7, sp, #0 - 801144a: 6078 str r0, [r7, #4] -{ - return (compte <= 0); - 801144c: 687b ldr r3, [r7, #4] - 801144e: 685b ldr r3, [r3, #4] - 8011450: 2b00 cmp r3, #0 - 8011452: bfcc ite gt - 8011454: 2300 movgt r3, #0 - 8011456: 2301 movle r3, #1 - 8011458: b2db uxtb r3, r3 -} - 801145a: 4618 mov r0, r3 - 801145c: f107 070c add.w r7, r7, #12 ; 0xc - 8011460: 46bd mov sp, r7 - 8011462: bc80 pop {r7} - 8011464: 4770 bx lr - 8011466: 46c0 nop (mov r8, r8) - -08011468 <_ZN18CommandTestAvancer6updateEv>: -CommandTestAvancer::CommandTestAvancer() - : Command() -{ -} - -void CommandTestAvancer::update() - 8011468: b480 push {r7} - 801146a: b083 sub sp, #12 - 801146c: af00 add r7, sp, #0 - 801146e: 6078 str r0, [r7, #4] -{ -} - 8011470: f107 070c add.w r7, r7, #12 ; 0xc - 8011474: 46bd mov sp, r7 - 8011476: bc80 pop {r7} - 8011478: 4770 bx lr - 801147a: 46c0 nop (mov r8, r8) - -0801147c <_ZN18CommandTestAvancer14getLinearSpeedEv>: - -Vitesse CommandTestAvancer::getLinearSpeed() - 801147c: b480 push {r7} - 801147e: b083 sub sp, #12 - 8011480: af00 add r7, sp, #0 - 8011482: 6078 str r0, [r7, #4] -{ - return VITESSE_LINEAIRE_MAX; - 8011484: 4b03 ldr r3, [pc, #12] (8011494 <_ZN18CommandTestAvancer14getLinearSpeedEv+0x18>) -} - 8011486: 4618 mov r0, r3 - 8011488: f107 070c add.w r7, r7, #12 ; 0xc - 801148c: 46bd mov sp, r7 - 801148e: bc80 pop {r7} - 8011490: 4770 bx lr - 8011492: 46c0 nop (mov r8, r8) - 8011494: 3f800000 .word 0x3f800000 - -08011498 <_ZN18CommandTestAvancer15getAngularSpeedEv>: - -Angle CommandTestAvancer::getAngularSpeed() - 8011498: b480 push {r7} - 801149a: b083 sub sp, #12 - 801149c: af00 add r7, sp, #0 - 801149e: 6078 str r0, [r7, #4] -{ - return 0.0f; - 80114a0: 4b03 ldr r3, [pc, #12] (80114b0 <_ZN18CommandTestAvancer15getAngularSpeedEv+0x18>) -} - 80114a2: 4618 mov r0, r3 - 80114a4: f107 070c add.w r7, r7, #12 ; 0xc - 80114a8: 46bd mov sp, r7 - 80114aa: bc80 pop {r7} - 80114ac: 4770 bx lr - 80114ae: 46c0 nop (mov r8, r8) - 80114b0: 00000000 .word 0x00000000 - -080114b4 <_ZN24CommandTestTournerGauche6updateEv>: -CommandTestTournerGauche::CommandTestTournerGauche() - : Command() -{ -} - -void CommandTestTournerGauche::update() - 80114b4: b480 push {r7} - 80114b6: b083 sub sp, #12 - 80114b8: af00 add r7, sp, #0 - 80114ba: 6078 str r0, [r7, #4] -{ -} - 80114bc: f107 070c add.w r7, r7, #12 ; 0xc - 80114c0: 46bd mov sp, r7 - 80114c2: bc80 pop {r7} - 80114c4: 4770 bx lr - 80114c6: 46c0 nop (mov r8, r8) - -080114c8 <_ZN24CommandTestTournerGauche14getLinearSpeedEv>: - -Vitesse CommandTestTournerGauche::getLinearSpeed() - 80114c8: b480 push {r7} - 80114ca: b083 sub sp, #12 - 80114cc: af00 add r7, sp, #0 - 80114ce: 6078 str r0, [r7, #4] -{ - return 0.0f; - 80114d0: 4b03 ldr r3, [pc, #12] (80114e0 <_ZN24CommandTestTournerGauche14getLinearSpeedEv+0x18>) -} - 80114d2: 4618 mov r0, r3 - 80114d4: f107 070c add.w r7, r7, #12 ; 0xc - 80114d8: 46bd mov sp, r7 - 80114da: bc80 pop {r7} - 80114dc: 4770 bx lr - 80114de: 46c0 nop (mov r8, r8) - 80114e0: 00000000 .word 0x00000000 - -080114e4 <_ZN24CommandTestTournerGauche15getAngularSpeedEv>: - -Angle CommandTestTournerGauche::getAngularSpeed() - 80114e4: b480 push {r7} - 80114e6: b083 sub sp, #12 - 80114e8: af00 add r7, sp, #0 - 80114ea: 6078 str r0, [r7, #4] -{ - return VITESSE_ANGULAIRE_MAX; - 80114ec: 4b03 ldr r3, [pc, #12] (80114fc <_ZN24CommandTestTournerGauche15getAngularSpeedEv+0x18>) -} - 80114ee: 4618 mov r0, r3 - 80114f0: f107 070c add.w r7, r7, #12 ; 0xc - 80114f4: 46bd mov sp, r7 - 80114f6: bc80 pop {r7} - 80114f8: 4770 bx lr - 80114fa: 46c0 nop (mov r8, r8) - 80114fc: 3c23d70a .word 0x3c23d70a - -08011500 <_ZN24CommandTestTournerGaucheC1Ev>: - //////////////////////////////// - // CommandTestTournerGauche // - //////////////////////////////// - - -CommandTestTournerGauche::CommandTestTournerGauche() - 8011500: b580 push {r7, lr} - 8011502: b082 sub sp, #8 - 8011504: af00 add r7, sp, #0 - 8011506: 6078 str r0, [r7, #4] - : Command() - 8011508: 687b ldr r3, [r7, #4] - 801150a: 4618 mov r0, r3 - 801150c: f7ff fc38 bl 8010d80 <_ZN7CommandC2Ev> - 8011510: 687a ldr r2, [r7, #4] - 8011512: 4b04 ldr r3, [pc, #16] (8011524 <_ZN24CommandTestTournerGaucheC1Ev+0x24>) - 8011514: 6013 str r3, [r2, #0] -{ -} - 8011516: 687b ldr r3, [r7, #4] - 8011518: 4618 mov r0, r3 - 801151a: f107 0708 add.w r7, r7, #8 ; 0x8 - 801151e: 46bd mov sp, r7 - 8011520: bd80 pop {r7, pc} - 8011522: 46c0 nop (mov r8, r8) - 8011524: 08033dd8 .word 0x08033dd8 - -08011528 <_ZN24CommandTestTournerGaucheC2Ev>: - //////////////////////////////// - // CommandTestTournerGauche // - //////////////////////////////// - - -CommandTestTournerGauche::CommandTestTournerGauche() - 8011528: b580 push {r7, lr} - 801152a: b082 sub sp, #8 - 801152c: af00 add r7, sp, #0 - 801152e: 6078 str r0, [r7, #4] - : Command() - 8011530: 687b ldr r3, [r7, #4] - 8011532: 4618 mov r0, r3 - 8011534: f7ff fc24 bl 8010d80 <_ZN7CommandC2Ev> - 8011538: 687a ldr r2, [r7, #4] - 801153a: 4b04 ldr r3, [pc, #16] (801154c <_ZN24CommandTestTournerGaucheC2Ev+0x24>) - 801153c: 6013 str r3, [r2, #0] -{ -} - 801153e: 687b ldr r3, [r7, #4] - 8011540: 4618 mov r0, r3 - 8011542: f107 0708 add.w r7, r7, #8 ; 0x8 - 8011546: 46bd mov sp, r7 - 8011548: bd80 pop {r7, pc} - 801154a: 46c0 nop (mov r8, r8) - 801154c: 08033dd8 .word 0x08033dd8 - -08011550 <_ZN18CommandTestAvancerC1Ev>: - - //////////////////////////////// - // CommandTestAvancer // - //////////////////////////////// - -CommandTestAvancer::CommandTestAvancer() - 8011550: b580 push {r7, lr} - 8011552: b082 sub sp, #8 - 8011554: af00 add r7, sp, #0 - 8011556: 6078 str r0, [r7, #4] - : Command() - 8011558: 687b ldr r3, [r7, #4] - 801155a: 4618 mov r0, r3 - 801155c: f7ff fc10 bl 8010d80 <_ZN7CommandC2Ev> - 8011560: 687a ldr r2, [r7, #4] - 8011562: 4b04 ldr r3, [pc, #16] (8011574 <_ZN18CommandTestAvancerC1Ev+0x24>) - 8011564: 6013 str r3, [r2, #0] -{ -} - 8011566: 687b ldr r3, [r7, #4] - 8011568: 4618 mov r0, r3 - 801156a: f107 0708 add.w r7, r7, #8 ; 0x8 - 801156e: 46bd mov sp, r7 - 8011570: bd80 pop {r7, pc} - 8011572: 46c0 nop (mov r8, r8) - 8011574: 08033e00 .word 0x08033e00 - -08011578 <_ZN18CommandTestAvancerC2Ev>: - - //////////////////////////////// - // CommandTestAvancer // - //////////////////////////////// - -CommandTestAvancer::CommandTestAvancer() - 8011578: b580 push {r7, lr} - 801157a: b082 sub sp, #8 - 801157c: af00 add r7, sp, #0 - 801157e: 6078 str r0, [r7, #4] - : Command() - 8011580: 687b ldr r3, [r7, #4] - 8011582: 4618 mov r0, r3 - 8011584: f7ff fbfc bl 8010d80 <_ZN7CommandC2Ev> - 8011588: 687a ldr r2, [r7, #4] - 801158a: 4b04 ldr r3, [pc, #16] (801159c <_ZN18CommandTestAvancerC2Ev+0x24>) - 801158c: 6013 str r3, [r2, #0] -{ -} - 801158e: 687b ldr r3, [r7, #4] - 8011590: 4618 mov r0, r3 - 8011592: f107 0708 add.w r7, r7, #8 ; 0x8 - 8011596: 46bd mov sp, r7 - 8011598: bd80 pop {r7, pc} - 801159a: 46c0 nop (mov r8, r8) - 801159c: 08033e00 .word 0x08033e00 - -080115a0 <_ZN15CommandAttendreC1Ei>: - - //////////////////////////////// - // CommandAttendre // - //////////////////////////////// - -CommandAttendre::CommandAttendre(int nbUpdates) - 80115a0: b580 push {r7, lr} - 80115a2: b082 sub sp, #8 - 80115a4: af00 add r7, sp, #0 - 80115a6: 6078 str r0, [r7, #4] - 80115a8: 6039 str r1, [r7, #0] - : Command(), compte(nbUpdates) - 80115aa: 687b ldr r3, [r7, #4] - 80115ac: 4618 mov r0, r3 - 80115ae: f7ff fbe7 bl 8010d80 <_ZN7CommandC2Ev> - 80115b2: 687a ldr r2, [r7, #4] - 80115b4: 4b05 ldr r3, [pc, #20] (80115cc <_ZN15CommandAttendreC1Ei+0x2c>) - 80115b6: 6013 str r3, [r2, #0] - 80115b8: 687a ldr r2, [r7, #4] - 80115ba: 683b ldr r3, [r7, #0] - 80115bc: 6053 str r3, [r2, #4] -{ -} - 80115be: 687b ldr r3, [r7, #4] - 80115c0: 4618 mov r0, r3 - 80115c2: f107 0708 add.w r7, r7, #8 ; 0x8 - 80115c6: 46bd mov sp, r7 - 80115c8: bd80 pop {r7, pc} - 80115ca: 46c0 nop (mov r8, r8) - 80115cc: 08033e28 .word 0x08033e28 - -080115d0 <_ZN15CommandAttendreC2Ei>: - - //////////////////////////////// - // CommandAttendre // - //////////////////////////////// - -CommandAttendre::CommandAttendre(int nbUpdates) - 80115d0: b580 push {r7, lr} - 80115d2: b082 sub sp, #8 - 80115d4: af00 add r7, sp, #0 - 80115d6: 6078 str r0, [r7, #4] - 80115d8: 6039 str r1, [r7, #0] - : Command(), compte(nbUpdates) - 80115da: 687b ldr r3, [r7, #4] - 80115dc: 4618 mov r0, r3 - 80115de: f7ff fbcf bl 8010d80 <_ZN7CommandC2Ev> - 80115e2: 687a ldr r2, [r7, #4] - 80115e4: 4b05 ldr r3, [pc, #20] (80115fc <_ZN15CommandAttendreC2Ei+0x2c>) - 80115e6: 6013 str r3, [r2, #0] - 80115e8: 687a ldr r2, [r7, #4] - 80115ea: 683b ldr r3, [r7, #0] - 80115ec: 6053 str r3, [r2, #4] -{ -} - 80115ee: 687b ldr r3, [r7, #4] - 80115f0: 4618 mov r0, r3 - 80115f2: f107 0708 add.w r7, r7, #8 ; 0x8 - 80115f6: 46bd mov sp, r7 - 80115f8: bd80 pop {r7, pc} - 80115fa: 46c0 nop (mov r8, r8) - 80115fc: 08033e28 .word 0x08033e28 - -08011600 <_ZN13CommandVirage6updateEv>: - vitesseLinMax = vitesseLineaireMax; - - m_fini = false; -} - -void CommandVirage::update() - 8011600: b590 push {r4, r7, lr} - 8011602: b091 sub sp, #68 - 8011604: af00 add r7, sp, #0 - 8011606: 6178 str r0, [r7, #20] -{ - float accLinMax = ACCELERATION_LINEAIRE_MAX; - 8011608: 4b85 ldr r3, [pc, #532] (8011820 <_ZN13CommandVirage6updateEv+0x220>) - 801160a: 62bb str r3, [r7, #40] - float decLinMax = DECELERATION_LINEAIRE_MAX; - 801160c: 4b85 ldr r3, [pc, #532] (8011824 <_ZN13CommandVirage6updateEv+0x224>) - 801160e: 62fb str r3, [r7, #44] - float vitLinMax = vitesseLinMax;//VITESSE_LINEAIRE_MAX; - 8011610: 697b ldr r3, [r7, #20] - 8011612: 695b ldr r3, [r3, #20] - 8011614: 633b str r3, [r7, #48] - - float distanceVitesseMax = 0.5f*(vitLinMax*vitLinMax-vFin2)/decLinMax; - 8011616: 6b38 ldr r0, [r7, #48] - 8011618: 6b39 ldr r1, [r7, #48] - 801161a: f01b fccd bl 802cfb8 <__aeabi_fmul> - 801161e: 4603 mov r3, r0 - 8011620: 461a mov r2, r3 - 8011622: 697b ldr r3, [r7, #20] - 8011624: 699b ldr r3, [r3, #24] - 8011626: 4610 mov r0, r2 - 8011628: 4619 mov r1, r3 - 801162a: f01b fbbb bl 802cda4 <__aeabi_fsub> - 801162e: 4603 mov r3, r0 - 8011630: 4618 mov r0, r3 - 8011632: 497d ldr r1, [pc, #500] (8011828 <_ZN13CommandVirage6updateEv+0x228>) - 8011634: f01b fcc0 bl 802cfb8 <__aeabi_fmul> - 8011638: 4603 mov r3, r0 - 801163a: 4618 mov r0, r3 - 801163c: 6af9 ldr r1, [r7, #44] - 801163e: f01b fd6f bl 802d120 <__aeabi_fdiv> - 8011642: 4603 mov r3, r0 - 8011644: 637b str r3, [r7, #52] - - float angleRestant = diffAngle(angleVise, Odometrie::odometrie->getPos().getAngle()); - 8011646: 697b ldr r3, [r7, #20] - 8011648: 691c ldr r4, [r3, #16] - 801164a: 4b78 ldr r3, [pc, #480] (801182c <_ZN13CommandVirage6updateEv+0x22c>) - 801164c: 681a ldr r2, [r3, #0] - 801164e: f107 031c add.w r3, r7, #28 ; 0x1c - 8011652: 4618 mov r0, r3 - 8011654: 4611 mov r1, r2 - 8011656: f001 faa3 bl 8012ba0 <_ZNK9Odometrie6getPosEv> - 801165a: f107 031c add.w r3, r7, #28 ; 0x1c - 801165e: 4618 mov r0, r3 - 8011660: f006 fb06 bl 8017c70 <_ZNK17PositionPlusAngle8getAngleEv> - 8011664: 4603 mov r3, r0 - 8011666: 4620 mov r0, r4 - 8011668: 4619 mov r1, r3 - 801166a: f7ff fdc5 bl 80111f8 <_Z9diffAngleff> - 801166e: 4603 mov r3, r0 - 8011670: 63bb str r3, [r7, #56] - float distanceRestante = abs(rayonCourbure*angleRestant); - 8011672: 697b ldr r3, [r7, #20] - 8011674: 685b ldr r3, [r3, #4] - 8011676: 4618 mov r0, r3 - 8011678: 6bb9 ldr r1, [r7, #56] - 801167a: f01b fc9d bl 802cfb8 <__aeabi_fmul> - 801167e: 4603 mov r3, r0 - 8011680: 4618 mov r0, r3 - 8011682: 496b ldr r1, [pc, #428] (8011830 <_ZN13CommandVirage6updateEv+0x230>) - 8011684: f01b fe52 bl 802d32c <__aeabi_fcmpgt> - 8011688: 4603 mov r3, r0 - 801168a: 2b00 cmp r3, #0 - 801168c: d008 beq.n 80116a0 <_ZN13CommandVirage6updateEv+0xa0> - 801168e: 697b ldr r3, [r7, #20] - 8011690: 685b ldr r3, [r3, #4] - 8011692: 4618 mov r0, r3 - 8011694: 6bb9 ldr r1, [r7, #56] - 8011696: f01b fc8f bl 802cfb8 <__aeabi_fmul> - 801169a: 4603 mov r3, r0 - 801169c: 607b str r3, [r7, #4] - 801169e: e009 b.n 80116b4 <_ZN13CommandVirage6updateEv+0xb4> - 80116a0: 697b ldr r3, [r7, #20] - 80116a2: 685b ldr r3, [r3, #4] - 80116a4: f083 4300 eor.w r3, r3, #2147483648 ; 0x80000000 - 80116a8: 4618 mov r0, r3 - 80116aa: 6bb9 ldr r1, [r7, #56] - 80116ac: f01b fc84 bl 802cfb8 <__aeabi_fmul> - 80116b0: 4603 mov r3, r0 - 80116b2: 607b str r3, [r7, #4] - 80116b4: 687a ldr r2, [r7, #4] - 80116b6: 63fa str r2, [r7, #60] - - // gestion de si la commande a fini - // si l'angle restant est bon ou si on a dépassé l'angle visé - if (abs(angleRestant) < M_PI/90.0f || ((angleRestant > 0.0f) != (rayonCourbure > 0.0f))) - 80116b8: 6bb8 ldr r0, [r7, #56] - 80116ba: 495d ldr r1, [pc, #372] (8011830 <_ZN13CommandVirage6updateEv+0x230>) - 80116bc: f01b fe36 bl 802d32c <__aeabi_fcmpgt> - 80116c0: 4603 mov r3, r0 - 80116c2: 2b00 cmp r3, #0 - 80116c4: d00f beq.n 80116e6 <_ZN13CommandVirage6updateEv+0xe6> - 80116c6: f04f 0300 mov.w r3, #0 ; 0x0 - 80116ca: 70fb strb r3, [r7, #3] - 80116cc: 6bb8 ldr r0, [r7, #56] - 80116ce: 4958 ldr r1, [pc, #352] (8011830 <_ZN13CommandVirage6updateEv+0x230>) - 80116d0: f01b fe04 bl 802d2dc <__aeabi_fcmpeq> - 80116d4: 4603 mov r3, r0 - 80116d6: 2b00 cmp r3, #0 - 80116d8: d102 bne.n 80116e0 <_ZN13CommandVirage6updateEv+0xe0> - 80116da: f04f 0301 mov.w r3, #1 ; 0x1 - 80116de: 70fb strb r3, [r7, #3] - 80116e0: 78fb ldrb r3, [r7, #3] - 80116e2: 60bb str r3, [r7, #8] - 80116e4: e03e b.n 8011764 <_ZN13CommandVirage6updateEv+0x164> - 80116e6: 6bbb ldr r3, [r7, #56] - 80116e8: f083 4300 eor.w r3, r3, #2147483648 ; 0x80000000 - 80116ec: 4618 mov r0, r3 - 80116ee: f01a fff1 bl 802c6d4 <__aeabi_f2d> - 80116f2: 4602 mov r2, r0 - 80116f4: 460b mov r3, r1 - 80116f6: 4610 mov r0, r2 - 80116f8: 4619 mov r1, r3 - 80116fa: a247 add r2, pc, #284 (adr r2, 8011818 <_ZN13CommandVirage6updateEv+0x218>) - 80116fc: ca0c ldmia r2!, {r2, r3} - 80116fe: f01b faad bl 802cc5c <__aeabi_dcmplt> - 8011702: 4603 mov r3, r0 - 8011704: 2b00 cmp r3, #0 - 8011706: d124 bne.n 8011752 <_ZN13CommandVirage6updateEv+0x152> - 8011708: f04f 0300 mov.w r3, #0 ; 0x0 - 801170c: 70bb strb r3, [r7, #2] - 801170e: 6bb8 ldr r0, [r7, #56] - 8011710: 4947 ldr r1, [pc, #284] (8011830 <_ZN13CommandVirage6updateEv+0x230>) - 8011712: f01b fe0b bl 802d32c <__aeabi_fcmpgt> - 8011716: 4603 mov r3, r0 - 8011718: 2b00 cmp r3, #0 - 801171a: d002 beq.n 8011722 <_ZN13CommandVirage6updateEv+0x122> - 801171c: f04f 0301 mov.w r3, #1 ; 0x1 - 8011720: 70bb strb r3, [r7, #2] - 8011722: 78ba ldrb r2, [r7, #2] - 8011724: 613a str r2, [r7, #16] - 8011726: 697b ldr r3, [r7, #20] - 8011728: 685a ldr r2, [r3, #4] - 801172a: f04f 0300 mov.w r3, #0 ; 0x0 - 801172e: 707b strb r3, [r7, #1] - 8011730: 4610 mov r0, r2 - 8011732: 493f ldr r1, [pc, #252] (8011830 <_ZN13CommandVirage6updateEv+0x230>) - 8011734: f01b fdfa bl 802d32c <__aeabi_fcmpgt> - 8011738: 4603 mov r3, r0 - 801173a: 2b00 cmp r3, #0 - 801173c: d002 beq.n 8011744 <_ZN13CommandVirage6updateEv+0x144> - 801173e: f04f 0301 mov.w r3, #1 ; 0x1 - 8011742: 707b strb r3, [r7, #1] - 8011744: 787b ldrb r3, [r7, #1] - 8011746: 693a ldr r2, [r7, #16] - 8011748: ea82 0303 eor.w r3, r2, r3 - 801174c: b2db uxtb r3, r3 - 801174e: 2b00 cmp r3, #0 - 8011750: d003 beq.n 801175a <_ZN13CommandVirage6updateEv+0x15a> - 8011752: f04f 0301 mov.w r3, #1 ; 0x1 - 8011756: 60fb str r3, [r7, #12] - 8011758: e002 b.n 8011760 <_ZN13CommandVirage6updateEv+0x160> - 801175a: f04f 0200 mov.w r2, #0 ; 0x0 - 801175e: 60fa str r2, [r7, #12] - 8011760: 68fb ldr r3, [r7, #12] - 8011762: 60bb str r3, [r7, #8] - 8011764: 68ba ldr r2, [r7, #8] - 8011766: 2a00 cmp r2, #0 - 8011768: d003 beq.n 8011772 <_ZN13CommandVirage6updateEv+0x172> - { - m_fini = true; - 801176a: 697b ldr r3, [r7, #20] - 801176c: f04f 0201 mov.w r2, #1 ; 0x1 - 8011770: 771a strb r2, [r3, #28] - } - - // phase de vitesse max - if (distanceRestante > distanceVitesseMax) - 8011772: 6bf8 ldr r0, [r7, #60] - 8011774: 6b79 ldr r1, [r7, #52] - 8011776: f01b fdd9 bl 802d32c <__aeabi_fcmpgt> - 801177a: 4603 mov r3, r0 - 801177c: 2b00 cmp r3, #0 - 801177e: d016 beq.n 80117ae <_ZN13CommandVirage6updateEv+0x1ae> - { - linSpeed += accLinMax; - 8011780: 697b ldr r3, [r7, #20] - 8011782: 689b ldr r3, [r3, #8] - 8011784: 4618 mov r0, r3 - 8011786: 6ab9 ldr r1, [r7, #40] - 8011788: f01b fb0e bl 802cda8 <__addsf3> - 801178c: 4603 mov r3, r0 - 801178e: 461a mov r2, r3 - 8011790: 697b ldr r3, [r7, #20] - 8011792: 609a str r2, [r3, #8] - if (linSpeed > vitLinMax) - 8011794: 697b ldr r3, [r7, #20] - 8011796: 689b ldr r3, [r3, #8] - 8011798: 4618 mov r0, r3 - 801179a: 6b39 ldr r1, [r7, #48] - 801179c: f01b fdc6 bl 802d32c <__aeabi_fcmpgt> - 80117a0: 4603 mov r3, r0 - 80117a2: 2b00 cmp r3, #0 - 80117a4: d027 beq.n 80117f6 <_ZN13CommandVirage6updateEv+0x1f6> - linSpeed = vitLinMax; - 80117a6: 697a ldr r2, [r7, #20] - 80117a8: 6b3b ldr r3, [r7, #48] - 80117aa: 6093 str r3, [r2, #8] - 80117ac: e023 b.n 80117f6 <_ZN13CommandVirage6updateEv+0x1f6> - } - - // phase de décéleration - else - { - linSpeed = sqrt(vFin2+2.0f*distanceRestante*decLinMax); - 80117ae: 697b ldr r3, [r7, #20] - 80117b0: 699c ldr r4, [r3, #24] - 80117b2: 6bfb ldr r3, [r7, #60] - 80117b4: 4618 mov r0, r3 - 80117b6: 4619 mov r1, r3 - 80117b8: f01b faf6 bl 802cda8 <__addsf3> - 80117bc: 4603 mov r3, r0 - 80117be: 4618 mov r0, r3 - 80117c0: 6af9 ldr r1, [r7, #44] - 80117c2: f01b fbf9 bl 802cfb8 <__aeabi_fmul> - 80117c6: 4603 mov r3, r0 - 80117c8: 4620 mov r0, r4 - 80117ca: 4619 mov r1, r3 - 80117cc: f01b faec bl 802cda8 <__addsf3> - 80117d0: 4603 mov r3, r0 - 80117d2: 4618 mov r0, r3 - 80117d4: f01a ff7e bl 802c6d4 <__aeabi_f2d> - 80117d8: 4602 mov r2, r0 - 80117da: 460b mov r3, r1 - 80117dc: 4610 mov r0, r2 - 80117de: 4619 mov r1, r3 - 80117e0: f01f f88a bl 80308f8 - 80117e4: 4602 mov r2, r0 - 80117e6: 460b mov r3, r1 - 80117e8: 4610 mov r0, r2 - 80117ea: 4619 mov r1, r3 - 80117ec: f01b fa86 bl 802ccfc <__aeabi_d2f> - 80117f0: 4602 mov r2, r0 - 80117f2: 697b ldr r3, [r7, #20] - 80117f4: 609a str r2, [r3, #8] - } - - // calcul de la vitesse angulaire - angSpeed = linSpeed/rayonCourbure; - 80117f6: 697b ldr r3, [r7, #20] - 80117f8: 689a ldr r2, [r3, #8] - 80117fa: 697b ldr r3, [r7, #20] - 80117fc: 685b ldr r3, [r3, #4] - 80117fe: 4610 mov r0, r2 - 8011800: 4619 mov r1, r3 - 8011802: f01b fc8d bl 802d120 <__aeabi_fdiv> - 8011806: 4603 mov r3, r0 - 8011808: 461a mov r2, r3 - 801180a: 697b ldr r3, [r7, #20] - 801180c: 60da str r2, [r3, #12] -} - 801180e: f107 0744 add.w r7, r7, #68 ; 0x44 - 8011812: 46bd mov sp, r7 - 8011814: bd90 pop {r4, r7, pc} - 8011816: 46c0 nop (mov r8, r8) - 8011818: a2529d39 .word 0xa2529d39 - 801181c: 3fa1df46 .word 0x3fa1df46 - 8011820: 3ccccccd .word 0x3ccccccd - 8011824: 3ca3d70a .word 0x3ca3d70a - 8011828: 3f000000 .word 0x3f000000 - 801182c: 20000590 .word 0x20000590 - 8011830: 00000000 .word 0x00000000 - -08011834 <_ZN13CommandVirageC1Effff>: - //////////////////////////////// - - -// rayon > 0 -// angle > 0 : vers la gauche, angle < 0 : vers la droite -CommandVirage::CommandVirage(float rayon, float angle, float vitesseLineaireMax, float vitesseFin) - 8011834: b580 push {r7, lr} - 8011836: b088 sub sp, #32 - 8011838: af00 add r7, sp, #0 - 801183a: 60f8 str r0, [r7, #12] - 801183c: 60b9 str r1, [r7, #8] - 801183e: 607a str r2, [r7, #4] - 8011840: 603b str r3, [r7, #0] - 8011842: 68fb ldr r3, [r7, #12] - 8011844: 4618 mov r0, r3 - 8011846: f7ff fa9b bl 8010d80 <_ZN7CommandC2Ev> - 801184a: 68fa ldr r2, [r7, #12] - 801184c: 4b26 ldr r3, [pc, #152] (80118e8 <_ZN13CommandVirageC1Effff+0xb4>) - 801184e: 6013 str r3, [r2, #0] -{ - if (angle > 0.0f) - 8011850: 6878 ldr r0, [r7, #4] - 8011852: 4926 ldr r1, [pc, #152] (80118ec <_ZN13CommandVirageC1Effff+0xb8>) - 8011854: f01b fd6a bl 802d32c <__aeabi_fcmpgt> - 8011858: 4603 mov r3, r0 - 801185a: 2b00 cmp r3, #0 - 801185c: d003 beq.n 8011866 <_ZN13CommandVirageC1Effff+0x32> - rayonCourbure = rayon; - 801185e: 68fa ldr r2, [r7, #12] - 8011860: 68bb ldr r3, [r7, #8] - 8011862: 6053 str r3, [r2, #4] - 8011864: e004 b.n 8011870 <_ZN13CommandVirageC1Effff+0x3c> - else - rayonCourbure = -rayon; - 8011866: 68bb ldr r3, [r7, #8] - 8011868: f083 4200 eor.w r2, r3, #2147483648 ; 0x80000000 - 801186c: 68fb ldr r3, [r7, #12] - 801186e: 605a str r2, [r3, #4] - linSpeed = Odometrie::odometrie->getVitesseLineaire(); - 8011870: 4b1f ldr r3, [pc, #124] (80118f0 <_ZN13CommandVirageC1Effff+0xbc>) - 8011872: 681b ldr r3, [r3, #0] - 8011874: 4618 mov r0, r3 - 8011876: f001 f97b bl 8012b70 <_ZNK9Odometrie18getVitesseLineaireEv> - 801187a: 4602 mov r2, r0 - 801187c: 68fb ldr r3, [r7, #12] - 801187e: 609a str r2, [r3, #8] - angSpeed = Odometrie::odometrie->getVitesseAngulaire(); - 8011880: 4b1b ldr r3, [pc, #108] (80118f0 <_ZN13CommandVirageC1Effff+0xbc>) - 8011882: 681b ldr r3, [r3, #0] - 8011884: 4618 mov r0, r3 - 8011886: f001 f967 bl 8012b58 <_ZNK9Odometrie19getVitesseAngulaireEv> - 801188a: 4602 mov r2, r0 - 801188c: 68fb ldr r3, [r7, #12] - 801188e: 60da str r2, [r3, #12] - angleVise = angle + Odometrie::odometrie->getPos().getAngle(); - 8011890: 4b17 ldr r3, [pc, #92] (80118f0 <_ZN13CommandVirageC1Effff+0xbc>) - 8011892: 681a ldr r2, [r3, #0] - 8011894: f107 0314 add.w r3, r7, #20 ; 0x14 - 8011898: 4618 mov r0, r3 - 801189a: 4611 mov r1, r2 - 801189c: f001 f980 bl 8012ba0 <_ZNK9Odometrie6getPosEv> - 80118a0: f107 0314 add.w r3, r7, #20 ; 0x14 - 80118a4: 4618 mov r0, r3 - 80118a6: f006 f9e3 bl 8017c70 <_ZNK17PositionPlusAngle8getAngleEv> - 80118aa: 4603 mov r3, r0 - 80118ac: 4618 mov r0, r3 - 80118ae: 6879 ldr r1, [r7, #4] - 80118b0: f01b fa7a bl 802cda8 <__addsf3> - 80118b4: 4603 mov r3, r0 - 80118b6: 461a mov r2, r3 - 80118b8: 68fb ldr r3, [r7, #12] - 80118ba: 611a str r2, [r3, #16] - vFin2 = vitesseFin*vitesseFin; - 80118bc: 6ab8 ldr r0, [r7, #40] - 80118be: 6ab9 ldr r1, [r7, #40] - 80118c0: f01b fb7a bl 802cfb8 <__aeabi_fmul> - 80118c4: 4603 mov r3, r0 - 80118c6: 461a mov r2, r3 - 80118c8: 68fb ldr r3, [r7, #12] - 80118ca: 619a str r2, [r3, #24] - vitesseLinMax = vitesseLineaireMax; - 80118cc: 68fa ldr r2, [r7, #12] - 80118ce: 683b ldr r3, [r7, #0] - 80118d0: 6153 str r3, [r2, #20] - - m_fini = false; - 80118d2: 68fa ldr r2, [r7, #12] - 80118d4: f04f 0300 mov.w r3, #0 ; 0x0 - 80118d8: 7713 strb r3, [r2, #28] -} - 80118da: 68fb ldr r3, [r7, #12] - 80118dc: 4618 mov r0, r3 - 80118de: f107 0720 add.w r7, r7, #32 ; 0x20 - 80118e2: 46bd mov sp, r7 - 80118e4: bd80 pop {r7, pc} - 80118e6: 46c0 nop (mov r8, r8) - 80118e8: 08033e50 .word 0x08033e50 - 80118ec: 00000000 .word 0x00000000 - 80118f0: 20000590 .word 0x20000590 - -080118f4 <_ZN13CommandVirageC2Effff>: - //////////////////////////////// - - -// rayon > 0 -// angle > 0 : vers la gauche, angle < 0 : vers la droite -CommandVirage::CommandVirage(float rayon, float angle, float vitesseLineaireMax, float vitesseFin) - 80118f4: b580 push {r7, lr} - 80118f6: b088 sub sp, #32 - 80118f8: af00 add r7, sp, #0 - 80118fa: 60f8 str r0, [r7, #12] - 80118fc: 60b9 str r1, [r7, #8] - 80118fe: 607a str r2, [r7, #4] - 8011900: 603b str r3, [r7, #0] - 8011902: 68fb ldr r3, [r7, #12] - 8011904: 4618 mov r0, r3 - 8011906: f7ff fa3b bl 8010d80 <_ZN7CommandC2Ev> - 801190a: 68fa ldr r2, [r7, #12] - 801190c: 4b26 ldr r3, [pc, #152] (80119a8 <_ZN13CommandVirageC2Effff+0xb4>) - 801190e: 6013 str r3, [r2, #0] -{ - if (angle > 0.0f) - 8011910: 6878 ldr r0, [r7, #4] - 8011912: 4926 ldr r1, [pc, #152] (80119ac <_ZN13CommandVirageC2Effff+0xb8>) - 8011914: f01b fd0a bl 802d32c <__aeabi_fcmpgt> - 8011918: 4603 mov r3, r0 - 801191a: 2b00 cmp r3, #0 - 801191c: d003 beq.n 8011926 <_ZN13CommandVirageC2Effff+0x32> - rayonCourbure = rayon; - 801191e: 68fa ldr r2, [r7, #12] - 8011920: 68bb ldr r3, [r7, #8] - 8011922: 6053 str r3, [r2, #4] - 8011924: e004 b.n 8011930 <_ZN13CommandVirageC2Effff+0x3c> - else - rayonCourbure = -rayon; - 8011926: 68bb ldr r3, [r7, #8] - 8011928: f083 4200 eor.w r2, r3, #2147483648 ; 0x80000000 - 801192c: 68fb ldr r3, [r7, #12] - 801192e: 605a str r2, [r3, #4] - linSpeed = Odometrie::odometrie->getVitesseLineaire(); - 8011930: 4b1f ldr r3, [pc, #124] (80119b0 <_ZN13CommandVirageC2Effff+0xbc>) - 8011932: 681b ldr r3, [r3, #0] - 8011934: 4618 mov r0, r3 - 8011936: f001 f91b bl 8012b70 <_ZNK9Odometrie18getVitesseLineaireEv> - 801193a: 4602 mov r2, r0 - 801193c: 68fb ldr r3, [r7, #12] - 801193e: 609a str r2, [r3, #8] - angSpeed = Odometrie::odometrie->getVitesseAngulaire(); - 8011940: 4b1b ldr r3, [pc, #108] (80119b0 <_ZN13CommandVirageC2Effff+0xbc>) - 8011942: 681b ldr r3, [r3, #0] - 8011944: 4618 mov r0, r3 - 8011946: f001 f907 bl 8012b58 <_ZNK9Odometrie19getVitesseAngulaireEv> - 801194a: 4602 mov r2, r0 - 801194c: 68fb ldr r3, [r7, #12] - 801194e: 60da str r2, [r3, #12] - angleVise = angle + Odometrie::odometrie->getPos().getAngle(); - 8011950: 4b17 ldr r3, [pc, #92] (80119b0 <_ZN13CommandVirageC2Effff+0xbc>) - 8011952: 681a ldr r2, [r3, #0] - 8011954: f107 0314 add.w r3, r7, #20 ; 0x14 - 8011958: 4618 mov r0, r3 - 801195a: 4611 mov r1, r2 - 801195c: f001 f920 bl 8012ba0 <_ZNK9Odometrie6getPosEv> - 8011960: f107 0314 add.w r3, r7, #20 ; 0x14 - 8011964: 4618 mov r0, r3 - 8011966: f006 f983 bl 8017c70 <_ZNK17PositionPlusAngle8getAngleEv> - 801196a: 4603 mov r3, r0 - 801196c: 4618 mov r0, r3 - 801196e: 6879 ldr r1, [r7, #4] - 8011970: f01b fa1a bl 802cda8 <__addsf3> - 8011974: 4603 mov r3, r0 - 8011976: 461a mov r2, r3 - 8011978: 68fb ldr r3, [r7, #12] - 801197a: 611a str r2, [r3, #16] - vFin2 = vitesseFin*vitesseFin; - 801197c: 6ab8 ldr r0, [r7, #40] - 801197e: 6ab9 ldr r1, [r7, #40] - 8011980: f01b fb1a bl 802cfb8 <__aeabi_fmul> - 8011984: 4603 mov r3, r0 - 8011986: 461a mov r2, r3 - 8011988: 68fb ldr r3, [r7, #12] - 801198a: 619a str r2, [r3, #24] - vitesseLinMax = vitesseLineaireMax; - 801198c: 68fa ldr r2, [r7, #12] - 801198e: 683b ldr r3, [r7, #0] - 8011990: 6153 str r3, [r2, #20] - - m_fini = false; - 8011992: 68fa ldr r2, [r7, #12] - 8011994: f04f 0300 mov.w r3, #0 ; 0x0 - 8011998: 7713 strb r3, [r2, #28] -} - 801199a: 68fb ldr r3, [r7, #12] - 801199c: 4618 mov r0, r3 - 801199e: f107 0720 add.w r7, r7, #32 ; 0x20 - 80119a2: 46bd mov sp, r7 - 80119a4: bd80 pop {r7, pc} - 80119a6: 46c0 nop (mov r8, r8) - 80119a8: 08033e50 .word 0x08033e50 - 80119ac: 00000000 .word 0x00000000 - 80119b0: 20000590 .word 0x20000590 - -080119b4 <_ZN13CommandAllerA11resetSpeedsEv>: - linSpeed = linSpeedVisee; - } - } -} - -void CommandAllerA::resetSpeeds() - 80119b4: b580 push {r7, lr} - 80119b6: b082 sub sp, #8 - 80119b8: af00 add r7, sp, #0 - 80119ba: 6078 str r0, [r7, #4] -{ - linSpeed = Odometrie::odometrie->getVitesseLineaire(); - 80119bc: 4b09 ldr r3, [pc, #36] (80119e4 <_ZN13CommandAllerA11resetSpeedsEv+0x30>) - 80119be: 681b ldr r3, [r3, #0] - 80119c0: 4618 mov r0, r3 - 80119c2: f001 f8d5 bl 8012b70 <_ZNK9Odometrie18getVitesseLineaireEv> - 80119c6: 4602 mov r2, r0 - 80119c8: 687b ldr r3, [r7, #4] - 80119ca: 619a str r2, [r3, #24] - angSpeed = Odometrie::odometrie->getVitesseAngulaire(); - 80119cc: 4b05 ldr r3, [pc, #20] (80119e4 <_ZN13CommandAllerA11resetSpeedsEv+0x30>) - 80119ce: 681b ldr r3, [r3, #0] - 80119d0: 4618 mov r0, r3 - 80119d2: f001 f8c1 bl 8012b58 <_ZNK9Odometrie19getVitesseAngulaireEv> - 80119d6: 4602 mov r2, r0 - 80119d8: 687b ldr r3, [r7, #4] - 80119da: 61da str r2, [r3, #28] -} - 80119dc: f107 0708 add.w r7, r7, #8 ; 0x8 - 80119e0: 46bd mov sp, r7 - 80119e2: bd80 pop {r7, pc} - 80119e4: 20000590 .word 0x20000590 - -080119e8 <_ZN18CommandTournerVers6updateEv>: - signeAngle = SGN_UNDEF; - - maxAngSpeed = maxSpeed; -} - -void CommandTournerVers::update() - 80119e8: e92d 43b0 stmdb sp!, {r4, r5, r7, r8, r9, lr} - 80119ec: b096 sub sp, #88 - 80119ee: af00 add r7, sp, #0 - 80119f0: 60f8 str r0, [r7, #12] -{ - float accAngMax = ACCELERATION_ANGULAIRE_MAX; - 80119f2: 4bbe ldr r3, [pc, #760] (8011cec <_ZN18CommandTournerVers6updateEv+0x304>) - 80119f4: 63fb str r3, [r7, #60] - float vitAngMax = maxAngSpeed; - 80119f6: 68fb ldr r3, [r7, #12] - 80119f8: 69db ldr r3, [r3, #28] - 80119fa: 643b str r3, [r7, #64] - // float angleVitesseMax = M_PI/6.0f; - float angleVitesseMax = 0.5f*vitAngMax*vitAngMax/accAngMax; - 80119fc: 6c38 ldr r0, [r7, #64] - 80119fe: 49bc ldr r1, [pc, #752] (8011cf0 <_ZN18CommandTournerVers6updateEv+0x308>) - 8011a00: f01b fada bl 802cfb8 <__aeabi_fmul> - 8011a04: 4603 mov r3, r0 - 8011a06: 4618 mov r0, r3 - 8011a08: 6c39 ldr r1, [r7, #64] - 8011a0a: f01b fad5 bl 802cfb8 <__aeabi_fmul> - 8011a0e: 4603 mov r3, r0 - 8011a10: 4618 mov r0, r3 - 8011a12: 6bf9 ldr r1, [r7, #60] - 8011a14: f01b fb84 bl 802d120 <__aeabi_fdiv> - 8011a18: 4603 mov r3, r0 - 8011a1a: 647b str r3, [r7, #68] - float angle = Odometrie::odometrie->getPos().getAngle(); - 8011a1c: 4bb5 ldr r3, [pc, #724] (8011cf4 <_ZN18CommandTournerVers6updateEv+0x30c>) - 8011a1e: 681a ldr r2, [r3, #0] - 8011a20: f107 0324 add.w r3, r7, #36 ; 0x24 - 8011a24: 4618 mov r0, r3 - 8011a26: 4611 mov r1, r2 - 8011a28: f001 f8ba bl 8012ba0 <_ZNK9Odometrie6getPosEv> - 8011a2c: f107 0324 add.w r3, r7, #36 ; 0x24 - 8011a30: 4618 mov r0, r3 - 8011a32: f006 f91d bl 8017c70 <_ZNK17PositionPlusAngle8getAngleEv> - 8011a36: 4603 mov r3, r0 - 8011a38: 64bb str r3, [r7, #72] - Position pos = Odometrie::odometrie->getPos().getPosition(); - 8011a3a: 4bae ldr r3, [pc, #696] (8011cf4 <_ZN18CommandTournerVers6updateEv+0x30c>) - 8011a3c: 681a ldr r2, [r3, #0] - 8011a3e: f107 0330 add.w r3, r7, #48 ; 0x30 - 8011a42: 4618 mov r0, r3 - 8011a44: 4611 mov r1, r2 - 8011a46: f001 f8ab bl 8012ba0 <_ZNK9Odometrie6getPosEv> - 8011a4a: f107 031c add.w r3, r7, #28 ; 0x1c - 8011a4e: f107 0230 add.w r2, r7, #48 ; 0x30 - 8011a52: 4618 mov r0, r3 - 8011a54: 4611 mov r1, r2 - 8011a56: f006 f8f9 bl 8017c4c <_ZNK17PositionPlusAngle11getPositionEv> - float angleVise; - if (!useAngle) - 8011a5a: 68fb ldr r3, [r7, #12] - 8011a5c: 7d5b ldrb r3, [r3, #21] - 8011a5e: f083 0301 eor.w r3, r3, #1 ; 0x1 - 8011a62: b2db uxtb r3, r3 - 8011a64: 2b00 cmp r3, #0 - 8011a66: d02c beq.n 8011ac2 <_ZN18CommandTournerVers6updateEv+0xda> - { - Position delta = but-pos; - 8011a68: 68fb ldr r3, [r7, #12] - 8011a6a: f103 0104 add.w r1, r3, #4 ; 0x4 - 8011a6e: f107 0314 add.w r3, r7, #20 ; 0x14 - 8011a72: f107 021c add.w r2, r7, #28 ; 0x1c - 8011a76: 4618 mov r0, r3 - 8011a78: f005 ff1a bl 80178b0 <_ZNK8PositionmiERKS_> - angleVise = atan2(delta.getY(),delta.getX()); - 8011a7c: f107 0314 add.w r3, r7, #20 ; 0x14 - 8011a80: 4618 mov r0, r3 - 8011a82: f005 fec7 bl 8017814 <_ZNK8Position4getYEv> - 8011a86: 4603 mov r3, r0 - 8011a88: 4618 mov r0, r3 - 8011a8a: f01a fe23 bl 802c6d4 <__aeabi_f2d> - 8011a8e: 4604 mov r4, r0 - 8011a90: 460d mov r5, r1 - 8011a92: f107 0314 add.w r3, r7, #20 ; 0x14 - 8011a96: 4618 mov r0, r3 - 8011a98: f005 feb0 bl 80177fc <_ZNK8Position4getXEv> - 8011a9c: 4603 mov r3, r0 - 8011a9e: 4618 mov r0, r3 - 8011aa0: f01a fe18 bl 802c6d4 <__aeabi_f2d> - 8011aa4: 4602 mov r2, r0 - 8011aa6: 460b mov r3, r1 - 8011aa8: 4620 mov r0, r4 - 8011aaa: 4629 mov r1, r5 - 8011aac: f01e ff1e bl 80308ec - 8011ab0: 4602 mov r2, r0 - 8011ab2: 460b mov r3, r1 - 8011ab4: 4610 mov r0, r2 - 8011ab6: 4619 mov r1, r3 - 8011ab8: f01b f920 bl 802ccfc <__aeabi_d2f> - 8011abc: 4603 mov r3, r0 - 8011abe: 64fb str r3, [r7, #76] - 8011ac0: e002 b.n 8011ac8 <_ZN18CommandTournerVers6updateEv+0xe0> - } - else - { - angleVise = butAngle; - 8011ac2: 68fb ldr r3, [r7, #12] - 8011ac4: 691b ldr r3, [r3, #16] - 8011ac6: 64fb str r3, [r7, #76] - } - float diffAng = diffAngle(angleVise,angle); - 8011ac8: 6cf8 ldr r0, [r7, #76] - 8011aca: 6cb9 ldr r1, [r7, #72] - 8011acc: f7ff fb94 bl 80111f8 <_Z9diffAngleff> - 8011ad0: 4603 mov r3, r0 - 8011ad2: 653b str r3, [r7, #80] - - // Check sharps - StrategieV2::setTourneSurSoiMeme(true); - 8011ad4: f04f 0001 mov.w r0, #1 ; 0x1 - 8011ad8: f00d feaa bl 801f830 <_ZN11StrategieV219setTourneSurSoiMemeEb> - - - //qDebug() << abs(angleVise)*180./3.14 << angleVitesseMax; - - if (abs(diffAng) > angleVitesseMax) - 8011adc: 6d38 ldr r0, [r7, #80] - 8011ade: 4986 ldr r1, [pc, #536] (8011cf8 <_ZN18CommandTournerVers6updateEv+0x310>) - 8011ae0: f01b fc24 bl 802d32c <__aeabi_fcmpgt> - 8011ae4: 4603 mov r3, r0 - 8011ae6: 2b00 cmp r3, #0 - 8011ae8: d00f beq.n 8011b0a <_ZN18CommandTournerVers6updateEv+0x122> - 8011aea: f04f 0300 mov.w r3, #0 ; 0x0 - 8011aee: 71fb strb r3, [r7, #7] - 8011af0: 6d38 ldr r0, [r7, #80] - 8011af2: 4981 ldr r1, [pc, #516] (8011cf8 <_ZN18CommandTournerVers6updateEv+0x310>) - 8011af4: f01b fbf2 bl 802d2dc <__aeabi_fcmpeq> - 8011af8: 4603 mov r3, r0 - 8011afa: 2b00 cmp r3, #0 - 8011afc: d102 bne.n 8011b04 <_ZN18CommandTournerVers6updateEv+0x11c> - 8011afe: f04f 0301 mov.w r3, #1 ; 0x1 - 8011b02: 71fb strb r3, [r7, #7] - 8011b04: 79fb ldrb r3, [r7, #7] - 8011b06: 60bb str r3, [r7, #8] - 8011b08: e011 b.n 8011b2e <_ZN18CommandTournerVers6updateEv+0x146> - 8011b0a: 6d3b ldr r3, [r7, #80] - 8011b0c: f083 4200 eor.w r2, r3, #2147483648 ; 0x80000000 - 8011b10: f04f 0300 mov.w r3, #0 ; 0x0 - 8011b14: 71bb strb r3, [r7, #6] - 8011b16: 4610 mov r0, r2 - 8011b18: 6c79 ldr r1, [r7, #68] - 8011b1a: f01b fc07 bl 802d32c <__aeabi_fcmpgt> - 8011b1e: 4603 mov r3, r0 - 8011b20: 2b00 cmp r3, #0 - 8011b22: d002 beq.n 8011b2a <_ZN18CommandTournerVers6updateEv+0x142> - 8011b24: f04f 0301 mov.w r3, #1 ; 0x1 - 8011b28: 71bb strb r3, [r7, #6] - 8011b2a: 79bb ldrb r3, [r7, #6] - 8011b2c: 60bb str r3, [r7, #8] - 8011b2e: 68bb ldr r3, [r7, #8] - 8011b30: 2b00 cmp r3, #0 - 8011b32: f000 80c9 beq.w 8011cc8 <_ZN18CommandTournerVers6updateEv+0x2e0> - { - bool hasToDecelerate = (fabs(diffAng) < (angSpeed * angSpeed / accAngMax - accAngMax*2.)); - 8011b36: 6d3b ldr r3, [r7, #80] - 8011b38: f023 4300 bic.w r3, r3, #2147483648 ; 0x80000000 - 8011b3c: 4618 mov r0, r3 - 8011b3e: f01a fdc9 bl 802c6d4 <__aeabi_f2d> - 8011b42: 4680 mov r8, r0 - 8011b44: 4689 mov r9, r1 - 8011b46: 68fb ldr r3, [r7, #12] - 8011b48: 68da ldr r2, [r3, #12] - 8011b4a: 68fb ldr r3, [r7, #12] - 8011b4c: 68db ldr r3, [r3, #12] - 8011b4e: 4610 mov r0, r2 - 8011b50: 4619 mov r1, r3 - 8011b52: f01b fa31 bl 802cfb8 <__aeabi_fmul> - 8011b56: 4603 mov r3, r0 - 8011b58: 4618 mov r0, r3 - 8011b5a: 6bf9 ldr r1, [r7, #60] - 8011b5c: f01b fae0 bl 802d120 <__aeabi_fdiv> - 8011b60: 4603 mov r3, r0 - 8011b62: 4618 mov r0, r3 - 8011b64: f01a fdb6 bl 802c6d4 <__aeabi_f2d> - 8011b68: 4604 mov r4, r0 - 8011b6a: 460d mov r5, r1 - 8011b6c: 6bf8 ldr r0, [r7, #60] - 8011b6e: f01a fdb1 bl 802c6d4 <__aeabi_f2d> - 8011b72: 4602 mov r2, r0 - 8011b74: 460b mov r3, r1 - 8011b76: 4610 mov r0, r2 - 8011b78: 4619 mov r1, r3 - 8011b7a: f04f 0200 mov.w r2, #0 ; 0x0 - 8011b7e: f04f 4340 mov.w r3, #3221225472 ; 0xc0000000 - 8011b82: f01a fdfb bl 802c77c <__aeabi_dmul> - 8011b86: 4602 mov r2, r0 - 8011b88: 460b mov r3, r1 - 8011b8a: 4620 mov r0, r4 - 8011b8c: 4629 mov r1, r5 - 8011b8e: f01a fc43 bl 802c418 <__adddf3> - 8011b92: 4602 mov r2, r0 - 8011b94: 460b mov r3, r1 - 8011b96: 4614 mov r4, r2 - 8011b98: 461d mov r5, r3 - 8011b9a: f04f 0300 mov.w r3, #0 ; 0x0 - 8011b9e: f887 3057 strb.w r3, [r7, #87] - 8011ba2: 4640 mov r0, r8 - 8011ba4: 4649 mov r1, r9 - 8011ba6: 4622 mov r2, r4 - 8011ba8: 462b mov r3, r5 - 8011baa: f01b f857 bl 802cc5c <__aeabi_dcmplt> - 8011bae: 4603 mov r3, r0 - 8011bb0: 2b00 cmp r3, #0 - 8011bb2: d003 beq.n 8011bbc <_ZN18CommandTournerVers6updateEv+0x1d4> - 8011bb4: f04f 0301 mov.w r3, #1 ; 0x1 - 8011bb8: f887 3057 strb.w r3, [r7, #87] - if (diffAng > 0) - 8011bbc: 6d38 ldr r0, [r7, #80] - 8011bbe: 494e ldr r1, [pc, #312] (8011cf8 <_ZN18CommandTournerVers6updateEv+0x310>) - 8011bc0: f01b fbb4 bl 802d32c <__aeabi_fcmpgt> - 8011bc4: 4603 mov r3, r0 - 8011bc6: 2b00 cmp r3, #0 - 8011bc8: d03c beq.n 8011c44 <_ZN18CommandTournerVers6updateEv+0x25c> - { - if (!hasToDecelerate) - 8011bca: f897 3057 ldrb.w r3, [r7, #87] - 8011bce: f083 0301 eor.w r3, r3, #1 ; 0x1 - 8011bd2: b2db uxtb r3, r3 - 8011bd4: 2b00 cmp r3, #0 - 8011bd6: d00a beq.n 8011bee <_ZN18CommandTournerVers6updateEv+0x206> - angSpeed += accAngMax; - 8011bd8: 68fb ldr r3, [r7, #12] - 8011bda: 68db ldr r3, [r3, #12] - 8011bdc: 4618 mov r0, r3 - 8011bde: 6bf9 ldr r1, [r7, #60] - 8011be0: f01b f8e2 bl 802cda8 <__addsf3> - 8011be4: 4603 mov r3, r0 - 8011be6: 461a mov r2, r3 - 8011be8: 68fb ldr r3, [r7, #12] - 8011bea: 60da str r2, [r3, #12] - 8011bec: e01d b.n 8011c2a <_ZN18CommandTournerVers6updateEv+0x242> - else if (angSpeed > accAngMax*2) - 8011bee: 68fb ldr r3, [r7, #12] - 8011bf0: 68dc ldr r4, [r3, #12] - 8011bf2: 6bfb ldr r3, [r7, #60] - 8011bf4: 4618 mov r0, r3 - 8011bf6: 4619 mov r1, r3 - 8011bf8: f01b f8d6 bl 802cda8 <__addsf3> - 8011bfc: 4603 mov r3, r0 - 8011bfe: 4620 mov r0, r4 - 8011c00: 4619 mov r1, r3 - 8011c02: f01b fb93 bl 802d32c <__aeabi_fcmpgt> - 8011c06: 4603 mov r3, r0 - 8011c08: 2b00 cmp r3, #0 - 8011c0a: d00e beq.n 8011c2a <_ZN18CommandTournerVers6updateEv+0x242> - angSpeed -= accAngMax*2; - 8011c0c: 68fb ldr r3, [r7, #12] - 8011c0e: 68dc ldr r4, [r3, #12] - 8011c10: 6bf8 ldr r0, [r7, #60] - 8011c12: 493a ldr r1, [pc, #232] (8011cfc <_ZN18CommandTournerVers6updateEv+0x314>) - 8011c14: f01b f9d0 bl 802cfb8 <__aeabi_fmul> - 8011c18: 4603 mov r3, r0 - 8011c1a: 4620 mov r0, r4 - 8011c1c: 4619 mov r1, r3 - 8011c1e: f01b f8c3 bl 802cda8 <__addsf3> - 8011c22: 4603 mov r3, r0 - 8011c24: 461a mov r2, r3 - 8011c26: 68fb ldr r3, [r7, #12] - 8011c28: 60da str r2, [r3, #12] - - if (angSpeed > vitAngMax) - 8011c2a: 68fb ldr r3, [r7, #12] - 8011c2c: 68db ldr r3, [r3, #12] - 8011c2e: 4618 mov r0, r3 - 8011c30: 6c39 ldr r1, [r7, #64] - 8011c32: f01b fb7b bl 802d32c <__aeabi_fcmpgt> - 8011c36: 4603 mov r3, r0 - 8011c38: 2b00 cmp r3, #0 - 8011c3a: d052 beq.n 8011ce2 <_ZN18CommandTournerVers6updateEv+0x2fa> - angSpeed = vitAngMax; - 8011c3c: 68fa ldr r2, [r7, #12] - 8011c3e: 6c3b ldr r3, [r7, #64] - 8011c40: 60d3 str r3, [r2, #12] - 8011c42: e04e b.n 8011ce2 <_ZN18CommandTournerVers6updateEv+0x2fa> - } - else - { - if (!hasToDecelerate) - 8011c44: f897 3057 ldrb.w r3, [r7, #87] - 8011c48: f083 0301 eor.w r3, r3, #1 ; 0x1 - 8011c4c: b2db uxtb r3, r3 - 8011c4e: 2b00 cmp r3, #0 - 8011c50: d00a beq.n 8011c68 <_ZN18CommandTournerVers6updateEv+0x280> - angSpeed -= accAngMax; - 8011c52: 68fb ldr r3, [r7, #12] - 8011c54: 68db ldr r3, [r3, #12] - 8011c56: 4618 mov r0, r3 - 8011c58: 6bf9 ldr r1, [r7, #60] - 8011c5a: f01b f8a3 bl 802cda4 <__aeabi_fsub> - 8011c5e: 4603 mov r3, r0 - 8011c60: 461a mov r2, r3 - 8011c62: 68fb ldr r3, [r7, #12] - 8011c64: 60da str r2, [r3, #12] - 8011c66: e01d b.n 8011ca4 <_ZN18CommandTournerVers6updateEv+0x2bc> - else if (angSpeed < -accAngMax*2) - 8011c68: 68fb ldr r3, [r7, #12] - 8011c6a: 68dc ldr r4, [r3, #12] - 8011c6c: 6bf8 ldr r0, [r7, #60] - 8011c6e: 4923 ldr r1, [pc, #140] (8011cfc <_ZN18CommandTournerVers6updateEv+0x314>) - 8011c70: f01b f9a2 bl 802cfb8 <__aeabi_fmul> - 8011c74: 4603 mov r3, r0 - 8011c76: 4620 mov r0, r4 - 8011c78: 4619 mov r1, r3 - 8011c7a: f01b fb39 bl 802d2f0 <__aeabi_fcmplt> - 8011c7e: 4603 mov r3, r0 - 8011c80: 2b00 cmp r3, #0 - 8011c82: d00f beq.n 8011ca4 <_ZN18CommandTournerVers6updateEv+0x2bc> - angSpeed += accAngMax*2; - 8011c84: 68fb ldr r3, [r7, #12] - 8011c86: 68dc ldr r4, [r3, #12] - 8011c88: 6bfb ldr r3, [r7, #60] - 8011c8a: 4618 mov r0, r3 - 8011c8c: 4619 mov r1, r3 - 8011c8e: f01b f88b bl 802cda8 <__addsf3> - 8011c92: 4603 mov r3, r0 - 8011c94: 4620 mov r0, r4 - 8011c96: 4619 mov r1, r3 - 8011c98: f01b f886 bl 802cda8 <__addsf3> - 8011c9c: 4603 mov r3, r0 - 8011c9e: 461a mov r2, r3 - 8011ca0: 68fb ldr r3, [r7, #12] - 8011ca2: 60da str r2, [r3, #12] - - if (angSpeed < -vitAngMax) - 8011ca4: 68fb ldr r3, [r7, #12] - 8011ca6: 68da ldr r2, [r3, #12] - 8011ca8: 6c3b ldr r3, [r7, #64] - 8011caa: f083 4300 eor.w r3, r3, #2147483648 ; 0x80000000 - 8011cae: 4610 mov r0, r2 - 8011cb0: 4619 mov r1, r3 - 8011cb2: f01b fb1d bl 802d2f0 <__aeabi_fcmplt> - 8011cb6: 4603 mov r3, r0 - 8011cb8: 2b00 cmp r3, #0 - 8011cba: d012 beq.n 8011ce2 <_ZN18CommandTournerVers6updateEv+0x2fa> - angSpeed = -vitAngMax; - 8011cbc: 6c3b ldr r3, [r7, #64] - 8011cbe: f083 4200 eor.w r2, r3, #2147483648 ; 0x80000000 - 8011cc2: 68fb ldr r3, [r7, #12] - 8011cc4: 60da str r2, [r3, #12] - 8011cc6: e00c b.n 8011ce2 <_ZN18CommandTournerVers6updateEv+0x2fa> - } - } - else - { - angSpeed = diffAng*vitAngMax/angleVitesseMax; - 8011cc8: 6d38 ldr r0, [r7, #80] - 8011cca: 6c39 ldr r1, [r7, #64] - 8011ccc: f01b f974 bl 802cfb8 <__aeabi_fmul> - 8011cd0: 4603 mov r3, r0 - 8011cd2: 4618 mov r0, r3 - 8011cd4: 6c79 ldr r1, [r7, #68] - 8011cd6: f01b fa23 bl 802d120 <__aeabi_fdiv> - 8011cda: 4603 mov r3, r0 - 8011cdc: 461a mov r2, r3 - 8011cde: 68fb ldr r3, [r7, #12] - 8011ce0: 60da str r2, [r3, #12] - angSpeed = sqrt(2.0f*diff*accAngMax); - else - angSpeed = -sqrt(-2.0f*diff*accAngMax); - }*/ - -} - 8011ce2: f107 0758 add.w r7, r7, #88 ; 0x58 - 8011ce6: 46bd mov sp, r7 - 8011ce8: e8bd 83b0 ldmia.w sp!, {r4, r5, r7, r8, r9, pc} - 8011cec: 3983126f .word 0x3983126f - 8011cf0: 3f000000 .word 0x3f000000 - 8011cf4: 20000590 .word 0x20000590 - 8011cf8: 00000000 .word 0x00000000 - 8011cfc: c0000000 .word 0xc0000000 - -08011d00 <_ZN18CommandTournerVersC1Eff>: - maxAngSpeed = maxSpeed; -} - -//#include - -CommandTournerVers::CommandTournerVers(Angle a, float maxSpeed) - 8011d00: b590 push {r4, r7, lr} - 8011d02: b087 sub sp, #28 - 8011d04: af00 add r7, sp, #0 - 8011d06: 60f8 str r0, [r7, #12] - 8011d08: 60b9 str r1, [r7, #8] - 8011d0a: 607a str r2, [r7, #4] - : Command() - 8011d0c: 68fb ldr r3, [r7, #12] - 8011d0e: 4618 mov r0, r3 - 8011d10: f7ff f836 bl 8010d80 <_ZN7CommandC2Ev> - 8011d14: 68fa ldr r2, [r7, #12] - 8011d16: 4b19 ldr r3, [pc, #100] (8011d7c <_ZN18CommandTournerVersC1Eff+0x7c>) - 8011d18: 6013 str r3, [r2, #0] - 8011d1a: 68fb ldr r3, [r7, #12] - 8011d1c: f103 0304 add.w r3, r3, #4 ; 0x4 - 8011d20: 4618 mov r0, r3 - 8011d22: f005 fd0b bl 801773c <_ZN8PositionC1Ev> -{ - but = Position(); - 8011d26: 68fb ldr r3, [r7, #12] - 8011d28: f103 0404 add.w r4, r3, #4 ; 0x4 - 8011d2c: f107 0310 add.w r3, r7, #16 ; 0x10 - 8011d30: 4618 mov r0, r3 - 8011d32: f005 fd03 bl 801773c <_ZN8PositionC1Ev> - 8011d36: 4620 mov r0, r4 - 8011d38: f107 0310 add.w r3, r7, #16 ; 0x10 - 8011d3c: e893 0006 ldmia.w r3, {r1, r2} - 8011d40: f005 fddc bl 80178fc <_ZN8PositionaSES_> - butAngle = a; - 8011d44: 68fa ldr r2, [r7, #12] - 8011d46: 68bb ldr r3, [r7, #8] - 8011d48: 6113 str r3, [r2, #16] - angSpeed = 0; - 8011d4a: 68fa ldr r2, [r7, #12] - 8011d4c: 4b0c ldr r3, [pc, #48] (8011d80 <_ZN18CommandTournerVersC1Eff+0x80>) - 8011d4e: 60d3 str r3, [r2, #12] - useAngle = true; - 8011d50: 68fa ldr r2, [r7, #12] - 8011d52: f04f 0301 mov.w r3, #1 ; 0x1 - 8011d56: 7553 strb r3, [r2, #21] - - m_fini = false; - 8011d58: 68fa ldr r2, [r7, #12] - 8011d5a: f04f 0300 mov.w r3, #0 ; 0x0 - 8011d5e: 7513 strb r3, [r2, #20] - signeAngle = SGN_UNDEF; - 8011d60: 68fa ldr r2, [r7, #12] - 8011d62: f04f 0300 mov.w r3, #0 ; 0x0 - 8011d66: 6193 str r3, [r2, #24] - - maxAngSpeed = maxSpeed; - 8011d68: 68fa ldr r2, [r7, #12] - 8011d6a: 687b ldr r3, [r7, #4] - 8011d6c: 61d3 str r3, [r2, #28] -} - 8011d6e: 68fb ldr r3, [r7, #12] - 8011d70: 4618 mov r0, r3 - 8011d72: f107 071c add.w r7, r7, #28 ; 0x1c - 8011d76: 46bd mov sp, r7 - 8011d78: bd90 pop {r4, r7, pc} - 8011d7a: 46c0 nop (mov r8, r8) - 8011d7c: 08033e78 .word 0x08033e78 - 8011d80: 00000000 .word 0x00000000 - -08011d84 <_ZN18CommandTournerVersC2Eff>: - maxAngSpeed = maxSpeed; -} - -//#include - -CommandTournerVers::CommandTournerVers(Angle a, float maxSpeed) - 8011d84: b590 push {r4, r7, lr} - 8011d86: b087 sub sp, #28 - 8011d88: af00 add r7, sp, #0 - 8011d8a: 60f8 str r0, [r7, #12] - 8011d8c: 60b9 str r1, [r7, #8] - 8011d8e: 607a str r2, [r7, #4] - : Command() - 8011d90: 68fb ldr r3, [r7, #12] - 8011d92: 4618 mov r0, r3 - 8011d94: f7fe fff4 bl 8010d80 <_ZN7CommandC2Ev> - 8011d98: 68fa ldr r2, [r7, #12] - 8011d9a: 4b19 ldr r3, [pc, #100] (8011e00 <_ZN18CommandTournerVersC2Eff+0x7c>) - 8011d9c: 6013 str r3, [r2, #0] - 8011d9e: 68fb ldr r3, [r7, #12] - 8011da0: f103 0304 add.w r3, r3, #4 ; 0x4 - 8011da4: 4618 mov r0, r3 - 8011da6: f005 fcc9 bl 801773c <_ZN8PositionC1Ev> -{ - but = Position(); - 8011daa: 68fb ldr r3, [r7, #12] - 8011dac: f103 0404 add.w r4, r3, #4 ; 0x4 - 8011db0: f107 0310 add.w r3, r7, #16 ; 0x10 - 8011db4: 4618 mov r0, r3 - 8011db6: f005 fcc1 bl 801773c <_ZN8PositionC1Ev> - 8011dba: 4620 mov r0, r4 - 8011dbc: f107 0310 add.w r3, r7, #16 ; 0x10 - 8011dc0: e893 0006 ldmia.w r3, {r1, r2} - 8011dc4: f005 fd9a bl 80178fc <_ZN8PositionaSES_> - butAngle = a; - 8011dc8: 68fa ldr r2, [r7, #12] - 8011dca: 68bb ldr r3, [r7, #8] - 8011dcc: 6113 str r3, [r2, #16] - angSpeed = 0; - 8011dce: 68fa ldr r2, [r7, #12] - 8011dd0: 4b0c ldr r3, [pc, #48] (8011e04 <_ZN18CommandTournerVersC2Eff+0x80>) - 8011dd2: 60d3 str r3, [r2, #12] - useAngle = true; - 8011dd4: 68fa ldr r2, [r7, #12] - 8011dd6: f04f 0301 mov.w r3, #1 ; 0x1 - 8011dda: 7553 strb r3, [r2, #21] - - m_fini = false; - 8011ddc: 68fa ldr r2, [r7, #12] - 8011dde: f04f 0300 mov.w r3, #0 ; 0x0 - 8011de2: 7513 strb r3, [r2, #20] - signeAngle = SGN_UNDEF; - 8011de4: 68fa ldr r2, [r7, #12] - 8011de6: f04f 0300 mov.w r3, #0 ; 0x0 - 8011dea: 6193 str r3, [r2, #24] - - maxAngSpeed = maxSpeed; - 8011dec: 68fa ldr r2, [r7, #12] - 8011dee: 687b ldr r3, [r7, #4] - 8011df0: 61d3 str r3, [r2, #28] -} - 8011df2: 68fb ldr r3, [r7, #12] - 8011df4: 4618 mov r0, r3 - 8011df6: f107 071c add.w r7, r7, #28 ; 0x1c - 8011dfa: 46bd mov sp, r7 - 8011dfc: bd90 pop {r4, r7, pc} - 8011dfe: 46c0 nop (mov r8, r8) - 8011e00: 08033e78 .word 0x08033e78 - 8011e04: 00000000 .word 0x00000000 - -08011e08 <_ZN18CommandTournerVersC1E8Positionf>: - - //////////////////////////////// - // CommandTournerVers // - //////////////////////////////// - -CommandTournerVers::CommandTournerVers(Position p, float maxSpeed) - 8011e08: b580 push {r7, lr} - 8011e0a: b084 sub sp, #16 - 8011e0c: af00 add r7, sp, #0 - 8011e0e: 60f8 str r0, [r7, #12] - 8011e10: f107 0004 add.w r0, r7, #4 ; 0x4 - 8011e14: e880 0006 stmia.w r0, {r1, r2} - 8011e18: 603b str r3, [r7, #0] - : Command() - 8011e1a: 68fb ldr r3, [r7, #12] - 8011e1c: 4618 mov r0, r3 - 8011e1e: f7fe ffaf bl 8010d80 <_ZN7CommandC2Ev> - 8011e22: 68fa ldr r2, [r7, #12] - 8011e24: 4b16 ldr r3, [pc, #88] (8011e80 <_ZN18CommandTournerVersC1E8Positionf+0x78>) - 8011e26: 6013 str r3, [r2, #0] - 8011e28: 68fb ldr r3, [r7, #12] - 8011e2a: f103 0304 add.w r3, r3, #4 ; 0x4 - 8011e2e: 4618 mov r0, r3 - 8011e30: f005 fc84 bl 801773c <_ZN8PositionC1Ev> -{ - but = p; - 8011e34: 68fb ldr r3, [r7, #12] - 8011e36: f103 0304 add.w r3, r3, #4 ; 0x4 - 8011e3a: 4618 mov r0, r3 - 8011e3c: f107 0304 add.w r3, r7, #4 ; 0x4 - 8011e40: e893 0006 ldmia.w r3, {r1, r2} - 8011e44: f005 fd5a bl 80178fc <_ZN8PositionaSES_> - butAngle = 0; - 8011e48: 68fa ldr r2, [r7, #12] - 8011e4a: 4b0e ldr r3, [pc, #56] (8011e84 <_ZN18CommandTournerVersC1E8Positionf+0x7c>) - 8011e4c: 6113 str r3, [r2, #16] - angSpeed = 0; - 8011e4e: 68fa ldr r2, [r7, #12] - 8011e50: 4b0c ldr r3, [pc, #48] (8011e84 <_ZN18CommandTournerVersC1E8Positionf+0x7c>) - 8011e52: 60d3 str r3, [r2, #12] - useAngle = false; - 8011e54: 68fa ldr r2, [r7, #12] - 8011e56: f04f 0300 mov.w r3, #0 ; 0x0 - 8011e5a: 7553 strb r3, [r2, #21] - - m_fini = false; - 8011e5c: 68fa ldr r2, [r7, #12] - 8011e5e: f04f 0300 mov.w r3, #0 ; 0x0 - 8011e62: 7513 strb r3, [r2, #20] - signeAngle = SGN_UNDEF; - 8011e64: 68fa ldr r2, [r7, #12] - 8011e66: f04f 0300 mov.w r3, #0 ; 0x0 - 8011e6a: 6193 str r3, [r2, #24] - - maxAngSpeed = maxSpeed; - 8011e6c: 68fa ldr r2, [r7, #12] - 8011e6e: 683b ldr r3, [r7, #0] - 8011e70: 61d3 str r3, [r2, #28] -} - 8011e72: 68fb ldr r3, [r7, #12] - 8011e74: 4618 mov r0, r3 - 8011e76: f107 0710 add.w r7, r7, #16 ; 0x10 - 8011e7a: 46bd mov sp, r7 - 8011e7c: bd80 pop {r7, pc} - 8011e7e: 46c0 nop (mov r8, r8) - 8011e80: 08033e78 .word 0x08033e78 - 8011e84: 00000000 .word 0x00000000 - -08011e88 <_ZN18CommandTournerVersC2E8Positionf>: - - //////////////////////////////// - // CommandTournerVers // - //////////////////////////////// - -CommandTournerVers::CommandTournerVers(Position p, float maxSpeed) - 8011e88: b580 push {r7, lr} - 8011e8a: b084 sub sp, #16 - 8011e8c: af00 add r7, sp, #0 - 8011e8e: 60f8 str r0, [r7, #12] - 8011e90: f107 0004 add.w r0, r7, #4 ; 0x4 - 8011e94: e880 0006 stmia.w r0, {r1, r2} - 8011e98: 603b str r3, [r7, #0] - : Command() - 8011e9a: 68fb ldr r3, [r7, #12] - 8011e9c: 4618 mov r0, r3 - 8011e9e: f7fe ff6f bl 8010d80 <_ZN7CommandC2Ev> - 8011ea2: 68fa ldr r2, [r7, #12] - 8011ea4: 4b16 ldr r3, [pc, #88] (8011f00 <_ZN18CommandTournerVersC2E8Positionf+0x78>) - 8011ea6: 6013 str r3, [r2, #0] - 8011ea8: 68fb ldr r3, [r7, #12] - 8011eaa: f103 0304 add.w r3, r3, #4 ; 0x4 - 8011eae: 4618 mov r0, r3 - 8011eb0: f005 fc44 bl 801773c <_ZN8PositionC1Ev> -{ - but = p; - 8011eb4: 68fb ldr r3, [r7, #12] - 8011eb6: f103 0304 add.w r3, r3, #4 ; 0x4 - 8011eba: 4618 mov r0, r3 - 8011ebc: f107 0304 add.w r3, r7, #4 ; 0x4 - 8011ec0: e893 0006 ldmia.w r3, {r1, r2} - 8011ec4: f005 fd1a bl 80178fc <_ZN8PositionaSES_> - butAngle = 0; - 8011ec8: 68fa ldr r2, [r7, #12] - 8011eca: 4b0e ldr r3, [pc, #56] (8011f04 <_ZN18CommandTournerVersC2E8Positionf+0x7c>) - 8011ecc: 6113 str r3, [r2, #16] - angSpeed = 0; - 8011ece: 68fa ldr r2, [r7, #12] - 8011ed0: 4b0c ldr r3, [pc, #48] (8011f04 <_ZN18CommandTournerVersC2E8Positionf+0x7c>) - 8011ed2: 60d3 str r3, [r2, #12] - useAngle = false; - 8011ed4: 68fa ldr r2, [r7, #12] - 8011ed6: f04f 0300 mov.w r3, #0 ; 0x0 - 8011eda: 7553 strb r3, [r2, #21] - - m_fini = false; - 8011edc: 68fa ldr r2, [r7, #12] - 8011ede: f04f 0300 mov.w r3, #0 ; 0x0 - 8011ee2: 7513 strb r3, [r2, #20] - signeAngle = SGN_UNDEF; - 8011ee4: 68fa ldr r2, [r7, #12] - 8011ee6: f04f 0300 mov.w r3, #0 ; 0x0 - 8011eea: 6193 str r3, [r2, #24] - - maxAngSpeed = maxSpeed; - 8011eec: 68fa ldr r2, [r7, #12] - 8011eee: 683b ldr r3, [r7, #0] - 8011ef0: 61d3 str r3, [r2, #28] -} - 8011ef2: 68fb ldr r3, [r7, #12] - 8011ef4: 4618 mov r0, r3 - 8011ef6: f107 0710 add.w r7, r7, #16 ; 0x10 - 8011efa: 46bd mov sp, r7 - 8011efc: bd80 pop {r7, pc} - 8011efe: 46c0 nop (mov r8, r8) - 8011f00: 08033e78 .word 0x08033e78 - 8011f04: 00000000 .word 0x00000000 - -08011f08 <_ZN13CommandAllerAC1E8Positionbfff>: - - //////////////////////////////// - // CommandAllerA // - //////////////////////////////// - -CommandAllerA::CommandAllerA(Position p, bool reculer, float vitesseLineaireMax, float vitesseFin, float precisionAngle) - 8011f08: b580 push {r7, lr} - 8011f0a: b084 sub sp, #16 - 8011f0c: af00 add r7, sp, #0 - 8011f0e: 60f8 str r0, [r7, #12] - 8011f10: f107 0004 add.w r0, r7, #4 ; 0x4 - 8011f14: e880 0006 stmia.w r0, {r1, r2} - 8011f18: 70fb strb r3, [r7, #3] - : Command() - 8011f1a: 68fb ldr r3, [r7, #12] - 8011f1c: 4618 mov r0, r3 - 8011f1e: f7fe ff2f bl 8010d80 <_ZN7CommandC2Ev> - 8011f22: 68fa ldr r2, [r7, #12] - 8011f24: 4b21 ldr r3, [pc, #132] (8011fac <_ZN13CommandAllerAC1E8Positionbfff+0xa4>) - 8011f26: 6013 str r3, [r2, #0] - 8011f28: 68fb ldr r3, [r7, #12] - 8011f2a: f103 0304 add.w r3, r3, #4 ; 0x4 - 8011f2e: 4618 mov r0, r3 - 8011f30: f005 fc04 bl 801773c <_ZN8PositionC1Ev> -{ - but = p; - 8011f34: 68fb ldr r3, [r7, #12] - 8011f36: f103 0304 add.w r3, r3, #4 ; 0x4 - 8011f3a: 4618 mov r0, r3 - 8011f3c: f107 0304 add.w r3, r7, #4 ; 0x4 - 8011f40: e893 0006 ldmia.w r3, {r1, r2} - 8011f44: f005 fcda bl 80178fc <_ZN8PositionaSES_> - vitesseLinMax = vitesseLineaireMax; - 8011f48: 68fa ldr r2, [r7, #12] - 8011f4a: 69bb ldr r3, [r7, #24] - 8011f4c: 60d3 str r3, [r2, #12] - vFin2 = vitesseFin*vitesseFin; - 8011f4e: 69f8 ldr r0, [r7, #28] - 8011f50: 69f9 ldr r1, [r7, #28] - 8011f52: f01b f831 bl 802cfb8 <__aeabi_fmul> - 8011f56: 4603 mov r3, r0 - 8011f58: 461a mov r2, r3 - 8011f5a: 68fb ldr r3, [r7, #12] - 8011f5c: 611a str r2, [r3, #16] - m_reculer = reculer; - 8011f5e: 68fa ldr r2, [r7, #12] - 8011f60: 78fb ldrb r3, [r7, #3] - 8011f62: f882 3020 strb.w r3, [r2, #32] - linSpeed = Odometrie::odometrie->getVitesseLineaire(); - 8011f66: 4b12 ldr r3, [pc, #72] (8011fb0 <_ZN13CommandAllerAC1E8Positionbfff+0xa8>) - 8011f68: 681b ldr r3, [r3, #0] - 8011f6a: 4618 mov r0, r3 - 8011f6c: f000 fe00 bl 8012b70 <_ZNK9Odometrie18getVitesseLineaireEv> - 8011f70: 4602 mov r2, r0 - 8011f72: 68fb ldr r3, [r7, #12] - 8011f74: 619a str r2, [r3, #24] - angSpeed = Odometrie::odometrie->getVitesseAngulaire(); - 8011f76: 4b0e ldr r3, [pc, #56] (8011fb0 <_ZN13CommandAllerAC1E8Positionbfff+0xa8>) - 8011f78: 681b ldr r3, [r3, #0] - 8011f7a: 4618 mov r0, r3 - 8011f7c: f000 fdec bl 8012b58 <_ZNK9Odometrie19getVitesseAngulaireEv> - 8011f80: 4602 mov r2, r0 - 8011f82: 68fb ldr r3, [r7, #12] - 8011f84: 61da str r2, [r3, #28] - bonAngle = false; - 8011f86: 68fa ldr r2, [r7, #12] - 8011f88: f04f 0300 mov.w r3, #0 ; 0x0 - 8011f8c: 7513 strb r3, [r2, #20] - this->precisionAngle = -1.f;//precisionAngle; - 8011f8e: 68fa ldr r2, [r7, #12] - 8011f90: 4b08 ldr r3, [pc, #32] (8011fb4 <_ZN13CommandAllerAC1E8Positionbfff+0xac>) - 8011f92: 62d3 str r3, [r2, #44] - - m_fini = false; - 8011f94: 68fa ldr r2, [r7, #12] - 8011f96: f04f 0300 mov.w r3, #0 ; 0x0 - 8011f9a: f882 3028 strb.w r3, [r2, #40] -} - 8011f9e: 68fb ldr r3, [r7, #12] - 8011fa0: 4618 mov r0, r3 - 8011fa2: f107 0710 add.w r7, r7, #16 ; 0x10 - 8011fa6: 46bd mov sp, r7 - 8011fa8: bd80 pop {r7, pc} - 8011faa: 46c0 nop (mov r8, r8) - 8011fac: 08033ea0 .word 0x08033ea0 - 8011fb0: 20000590 .word 0x20000590 - 8011fb4: bf800000 .word 0xbf800000 - -08011fb8 <_ZN13CommandAllerAC2E8Positionbfff>: - - //////////////////////////////// - // CommandAllerA // - //////////////////////////////// - -CommandAllerA::CommandAllerA(Position p, bool reculer, float vitesseLineaireMax, float vitesseFin, float precisionAngle) - 8011fb8: b580 push {r7, lr} - 8011fba: b084 sub sp, #16 - 8011fbc: af00 add r7, sp, #0 - 8011fbe: 60f8 str r0, [r7, #12] - 8011fc0: f107 0004 add.w r0, r7, #4 ; 0x4 - 8011fc4: e880 0006 stmia.w r0, {r1, r2} - 8011fc8: 70fb strb r3, [r7, #3] - : Command() - 8011fca: 68fb ldr r3, [r7, #12] - 8011fcc: 4618 mov r0, r3 - 8011fce: f7fe fed7 bl 8010d80 <_ZN7CommandC2Ev> - 8011fd2: 68fa ldr r2, [r7, #12] - 8011fd4: 4b21 ldr r3, [pc, #132] (801205c <_ZN13CommandAllerAC2E8Positionbfff+0xa4>) - 8011fd6: 6013 str r3, [r2, #0] - 8011fd8: 68fb ldr r3, [r7, #12] - 8011fda: f103 0304 add.w r3, r3, #4 ; 0x4 - 8011fde: 4618 mov r0, r3 - 8011fe0: f005 fbac bl 801773c <_ZN8PositionC1Ev> -{ - but = p; - 8011fe4: 68fb ldr r3, [r7, #12] - 8011fe6: f103 0304 add.w r3, r3, #4 ; 0x4 - 8011fea: 4618 mov r0, r3 - 8011fec: f107 0304 add.w r3, r7, #4 ; 0x4 - 8011ff0: e893 0006 ldmia.w r3, {r1, r2} - 8011ff4: f005 fc82 bl 80178fc <_ZN8PositionaSES_> - vitesseLinMax = vitesseLineaireMax; - 8011ff8: 68fa ldr r2, [r7, #12] - 8011ffa: 69bb ldr r3, [r7, #24] - 8011ffc: 60d3 str r3, [r2, #12] - vFin2 = vitesseFin*vitesseFin; - 8011ffe: 69f8 ldr r0, [r7, #28] - 8012000: 69f9 ldr r1, [r7, #28] - 8012002: f01a ffd9 bl 802cfb8 <__aeabi_fmul> - 8012006: 4603 mov r3, r0 - 8012008: 461a mov r2, r3 - 801200a: 68fb ldr r3, [r7, #12] - 801200c: 611a str r2, [r3, #16] - m_reculer = reculer; - 801200e: 68fa ldr r2, [r7, #12] - 8012010: 78fb ldrb r3, [r7, #3] - 8012012: f882 3020 strb.w r3, [r2, #32] - linSpeed = Odometrie::odometrie->getVitesseLineaire(); - 8012016: 4b12 ldr r3, [pc, #72] (8012060 <_ZN13CommandAllerAC2E8Positionbfff+0xa8>) - 8012018: 681b ldr r3, [r3, #0] - 801201a: 4618 mov r0, r3 - 801201c: f000 fda8 bl 8012b70 <_ZNK9Odometrie18getVitesseLineaireEv> - 8012020: 4602 mov r2, r0 - 8012022: 68fb ldr r3, [r7, #12] - 8012024: 619a str r2, [r3, #24] - angSpeed = Odometrie::odometrie->getVitesseAngulaire(); - 8012026: 4b0e ldr r3, [pc, #56] (8012060 <_ZN13CommandAllerAC2E8Positionbfff+0xa8>) - 8012028: 681b ldr r3, [r3, #0] - 801202a: 4618 mov r0, r3 - 801202c: f000 fd94 bl 8012b58 <_ZNK9Odometrie19getVitesseAngulaireEv> - 8012030: 4602 mov r2, r0 - 8012032: 68fb ldr r3, [r7, #12] - 8012034: 61da str r2, [r3, #28] - bonAngle = false; - 8012036: 68fa ldr r2, [r7, #12] - 8012038: f04f 0300 mov.w r3, #0 ; 0x0 - 801203c: 7513 strb r3, [r2, #20] - this->precisionAngle = -1.f;//precisionAngle; - 801203e: 68fa ldr r2, [r7, #12] - 8012040: 4b08 ldr r3, [pc, #32] (8012064 <_ZN13CommandAllerAC2E8Positionbfff+0xac>) - 8012042: 62d3 str r3, [r2, #44] - - m_fini = false; - 8012044: 68fa ldr r2, [r7, #12] - 8012046: f04f 0300 mov.w r3, #0 ; 0x0 - 801204a: f882 3028 strb.w r3, [r2, #40] -} - 801204e: 68fb ldr r3, [r7, #12] - 8012050: 4618 mov r0, r3 - 8012052: f107 0710 add.w r7, r7, #16 ; 0x10 - 8012056: 46bd mov sp, r7 - 8012058: bd80 pop {r7, pc} - 801205a: 46c0 nop (mov r8, r8) - 801205c: 08033ea0 .word 0x08033ea0 - 8012060: 20000590 .word 0x20000590 - 8012064: bf800000 .word 0xbf800000 - -08012068 <_ZN18CommandAllerEnArcAC1E8PositionS0_fb>: - - //////////////////////////////// - // CommandAllerEnArcA // - //////////////////////////////// - -CommandAllerEnArcA::CommandAllerEnArcA(Position p, Position c, float v, bool reculer) - 8012068: b082 sub sp, #8 - 801206a: b590 push {r4, r7, lr} - 801206c: b08f sub sp, #60 - 801206e: af00 add r7, sp, #0 - 8012070: 60f8 str r0, [r7, #12] - 8012072: f107 0004 add.w r0, r7, #4 ; 0x4 - 8012076: e880 0006 stmia.w r0, {r1, r2} - 801207a: 64fb str r3, [r7, #76] - : Command() - 801207c: 68fb ldr r3, [r7, #12] - 801207e: 4618 mov r0, r3 - 8012080: f7fe fe7e bl 8010d80 <_ZN7CommandC2Ev> - 8012084: 68fa ldr r2, [r7, #12] - 8012086: 4b50 ldr r3, [pc, #320] (80121c8 <_ZN18CommandAllerEnArcAC1E8PositionS0_fb+0x160>) - 8012088: 6013 str r3, [r2, #0] - 801208a: 68fb ldr r3, [r7, #12] - 801208c: f103 0304 add.w r3, r3, #4 ; 0x4 - 8012090: 4618 mov r0, r3 - 8012092: f005 fb53 bl 801773c <_ZN8PositionC1Ev> - 8012096: 68fb ldr r3, [r7, #12] - 8012098: f103 0320 add.w r3, r3, #32 ; 0x20 - 801209c: 4618 mov r0, r3 - 801209e: f005 fb4d bl 801773c <_ZN8PositionC1Ev> -{ - but = p; - 80120a2: 68fb ldr r3, [r7, #12] - 80120a4: f103 0304 add.w r3, r3, #4 ; 0x4 - 80120a8: 4618 mov r0, r3 - 80120aa: f107 0304 add.w r3, r7, #4 ; 0x4 - 80120ae: e893 0006 ldmia.w r3, {r1, r2} - 80120b2: f005 fc23 bl 80178fc <_ZN8PositionaSES_> - centre = c; - 80120b6: 68fb ldr r3, [r7, #12] - 80120b8: f103 0320 add.w r3, r3, #32 ; 0x20 - 80120bc: 4618 mov r0, r3 - 80120be: f107 034c add.w r3, r7, #76 ; 0x4c - 80120c2: e893 0006 ldmia.w r3, {r1, r2} - 80120c6: f005 fc19 bl 80178fc <_ZN8PositionaSES_> - vMax = v; - 80120ca: 68fa ldr r2, [r7, #12] - 80120cc: 6d7b ldr r3, [r7, #84] - 80120ce: 60d3 str r3, [r2, #12] - m_reculer = reculer; - 80120d0: 68fa ldr r2, [r7, #12] - 80120d2: f897 3058 ldrb.w r3, [r7, #88] - 80120d6: 7713 strb r3, [r2, #28] - linSpeed = Odometrie::odometrie->getVitesseLineaire(); - 80120d8: 4b3c ldr r3, [pc, #240] (80121cc <_ZN18CommandAllerEnArcAC1E8PositionS0_fb+0x164>) - 80120da: 681b ldr r3, [r3, #0] - 80120dc: 4618 mov r0, r3 - 80120de: f000 fd47 bl 8012b70 <_ZNK9Odometrie18getVitesseLineaireEv> - 80120e2: 4602 mov r2, r0 - 80120e4: 68fb ldr r3, [r7, #12] - 80120e6: 615a str r2, [r3, #20] - angSpeed = Odometrie::odometrie->getVitesseAngulaire(); - 80120e8: 4b38 ldr r3, [pc, #224] (80121cc <_ZN18CommandAllerEnArcAC1E8PositionS0_fb+0x164>) - 80120ea: 681b ldr r3, [r3, #0] - 80120ec: 4618 mov r0, r3 - 80120ee: f000 fd33 bl 8012b58 <_ZNK9Odometrie19getVitesseAngulaireEv> - 80120f2: 4602 mov r2, r0 - 80120f4: 68fb ldr r3, [r7, #12] - 80120f6: 619a str r2, [r3, #24] - bonAngle = false; - 80120f8: 68fa ldr r2, [r7, #12] - 80120fa: f04f 0300 mov.w r3, #0 ; 0x0 - 80120fe: 7413 strb r3, [r2, #16] - - m_fini = false; - 8012100: 68fa ldr r2, [r7, #12] - 8012102: f04f 0300 mov.w r3, #0 ; 0x0 - 8012106: f882 3028 strb.w r3, [r2, #40] - - Position pos = Odometrie::odometrie->getPos().getPosition(); - 801210a: 4b30 ldr r3, [pc, #192] (80121cc <_ZN18CommandAllerEnArcAC1E8PositionS0_fb+0x164>) - 801210c: 681a ldr r2, [r3, #0] - 801210e: f107 031c add.w r3, r7, #28 ; 0x1c - 8012112: 4618 mov r0, r3 - 8012114: 4611 mov r1, r2 - 8012116: f000 fd43 bl 8012ba0 <_ZNK9Odometrie6getPosEv> - 801211a: f107 0314 add.w r3, r7, #20 ; 0x14 - 801211e: f107 021c add.w r2, r7, #28 ; 0x1c - 8012122: 4618 mov r0, r3 - 8012124: 4611 mov r1, r2 - 8012126: f005 fd91 bl 8017c4c <_ZNK17PositionPlusAngle11getPositionEv> - float pmcx = pos.x-centre.x; - 801212a: 697a ldr r2, [r7, #20] - 801212c: 68fb ldr r3, [r7, #12] - 801212e: 6a1b ldr r3, [r3, #32] - 8012130: 4610 mov r0, r2 - 8012132: 4619 mov r1, r3 - 8012134: f01a fe36 bl 802cda4 <__aeabi_fsub> - 8012138: 4603 mov r3, r0 - 801213a: 62bb str r3, [r7, #40] - float pmcy = pos.y-centre.y; - 801213c: 69ba ldr r2, [r7, #24] - 801213e: 68fb ldr r3, [r7, #12] - 8012140: 6a5b ldr r3, [r3, #36] - 8012142: 4610 mov r0, r2 - 8012144: 4619 mov r1, r3 - 8012146: f01a fe2d bl 802cda4 <__aeabi_fsub> - 801214a: 4603 mov r3, r0 - 801214c: 62fb str r3, [r7, #44] - float bmcx = but.x-centre.x; - 801214e: 68fb ldr r3, [r7, #12] - 8012150: 685a ldr r2, [r3, #4] - 8012152: 68fb ldr r3, [r7, #12] - 8012154: 6a1b ldr r3, [r3, #32] - 8012156: 4610 mov r0, r2 - 8012158: 4619 mov r1, r3 - 801215a: f01a fe23 bl 802cda4 <__aeabi_fsub> - 801215e: 4603 mov r3, r0 - 8012160: 633b str r3, [r7, #48] - float bmcy = but.y-centre.y; - 8012162: 68fb ldr r3, [r7, #12] - 8012164: 689a ldr r2, [r3, #8] - 8012166: 68fb ldr r3, [r7, #12] - 8012168: 6a5b ldr r3, [r3, #36] - 801216a: 4610 mov r0, r2 - 801216c: 4619 mov r1, r3 - 801216e: f01a fe19 bl 802cda4 <__aeabi_fsub> - 8012172: 4603 mov r3, r0 - 8012174: 637b str r3, [r7, #52] - if (pmcx*bmcy-pmcy*bmcx > 0.0f) - 8012176: 6ab8 ldr r0, [r7, #40] - 8012178: 6b79 ldr r1, [r7, #52] - 801217a: f01a ff1d bl 802cfb8 <__aeabi_fmul> - 801217e: 4603 mov r3, r0 - 8012180: 461c mov r4, r3 - 8012182: 6af8 ldr r0, [r7, #44] - 8012184: 6b39 ldr r1, [r7, #48] - 8012186: f01a ff17 bl 802cfb8 <__aeabi_fmul> - 801218a: 4603 mov r3, r0 - 801218c: 4620 mov r0, r4 - 801218e: 4619 mov r1, r3 - 8012190: f01a fe08 bl 802cda4 <__aeabi_fsub> - 8012194: 4603 mov r3, r0 - 8012196: 4618 mov r0, r3 - 8012198: 490d ldr r1, [pc, #52] (80121d0 <_ZN18CommandAllerEnArcAC1E8PositionS0_fb+0x168>) - 801219a: f01b f8c7 bl 802d32c <__aeabi_fcmpgt> - 801219e: 4603 mov r3, r0 - 80121a0: 2b00 cmp r3, #0 - 80121a2: d004 beq.n 80121ae <_ZN18CommandAllerEnArcAC1E8PositionS0_fb+0x146> - cote = SGN_POS; - 80121a4: 68fa ldr r2, [r7, #12] - 80121a6: f04f 0301 mov.w r3, #1 ; 0x1 - 80121aa: 62d3 str r3, [r2, #44] - 80121ac: e003 b.n 80121b6 <_ZN18CommandAllerEnArcAC1E8PositionS0_fb+0x14e> - else - cote = SGN_NEG; - 80121ae: 68fa ldr r2, [r7, #12] - 80121b0: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 80121b4: 62d3 str r3, [r2, #44] -} - 80121b6: 68fb ldr r3, [r7, #12] - 80121b8: 4618 mov r0, r3 - 80121ba: f107 073c add.w r7, r7, #60 ; 0x3c - 80121be: 46bd mov sp, r7 - 80121c0: e8bd 4090 ldmia.w sp!, {r4, r7, lr} - 80121c4: b002 add sp, #8 - 80121c6: 4770 bx lr - 80121c8: 08033ec8 .word 0x08033ec8 - 80121cc: 20000590 .word 0x20000590 - 80121d0: 00000000 .word 0x00000000 - -080121d4 <_ZN18CommandAllerEnArcAC2E8PositionS0_fb>: - - //////////////////////////////// - // CommandAllerEnArcA // - //////////////////////////////// - -CommandAllerEnArcA::CommandAllerEnArcA(Position p, Position c, float v, bool reculer) - 80121d4: b082 sub sp, #8 - 80121d6: b590 push {r4, r7, lr} - 80121d8: b08f sub sp, #60 - 80121da: af00 add r7, sp, #0 - 80121dc: 60f8 str r0, [r7, #12] - 80121de: f107 0004 add.w r0, r7, #4 ; 0x4 - 80121e2: e880 0006 stmia.w r0, {r1, r2} - 80121e6: 64fb str r3, [r7, #76] - : Command() - 80121e8: 68fb ldr r3, [r7, #12] - 80121ea: 4618 mov r0, r3 - 80121ec: f7fe fdc8 bl 8010d80 <_ZN7CommandC2Ev> - 80121f0: 68fa ldr r2, [r7, #12] - 80121f2: 4b50 ldr r3, [pc, #320] (8012334 <_ZN18CommandAllerEnArcAC2E8PositionS0_fb+0x160>) - 80121f4: 6013 str r3, [r2, #0] - 80121f6: 68fb ldr r3, [r7, #12] - 80121f8: f103 0304 add.w r3, r3, #4 ; 0x4 - 80121fc: 4618 mov r0, r3 - 80121fe: f005 fa9d bl 801773c <_ZN8PositionC1Ev> - 8012202: 68fb ldr r3, [r7, #12] - 8012204: f103 0320 add.w r3, r3, #32 ; 0x20 - 8012208: 4618 mov r0, r3 - 801220a: f005 fa97 bl 801773c <_ZN8PositionC1Ev> -{ - but = p; - 801220e: 68fb ldr r3, [r7, #12] - 8012210: f103 0304 add.w r3, r3, #4 ; 0x4 - 8012214: 4618 mov r0, r3 - 8012216: f107 0304 add.w r3, r7, #4 ; 0x4 - 801221a: e893 0006 ldmia.w r3, {r1, r2} - 801221e: f005 fb6d bl 80178fc <_ZN8PositionaSES_> - centre = c; - 8012222: 68fb ldr r3, [r7, #12] - 8012224: f103 0320 add.w r3, r3, #32 ; 0x20 - 8012228: 4618 mov r0, r3 - 801222a: f107 034c add.w r3, r7, #76 ; 0x4c - 801222e: e893 0006 ldmia.w r3, {r1, r2} - 8012232: f005 fb63 bl 80178fc <_ZN8PositionaSES_> - vMax = v; - 8012236: 68fa ldr r2, [r7, #12] - 8012238: 6d7b ldr r3, [r7, #84] - 801223a: 60d3 str r3, [r2, #12] - m_reculer = reculer; - 801223c: 68fa ldr r2, [r7, #12] - 801223e: f897 3058 ldrb.w r3, [r7, #88] - 8012242: 7713 strb r3, [r2, #28] - linSpeed = Odometrie::odometrie->getVitesseLineaire(); - 8012244: 4b3c ldr r3, [pc, #240] (8012338 <_ZN18CommandAllerEnArcAC2E8PositionS0_fb+0x164>) - 8012246: 681b ldr r3, [r3, #0] - 8012248: 4618 mov r0, r3 - 801224a: f000 fc91 bl 8012b70 <_ZNK9Odometrie18getVitesseLineaireEv> - 801224e: 4602 mov r2, r0 - 8012250: 68fb ldr r3, [r7, #12] - 8012252: 615a str r2, [r3, #20] - angSpeed = Odometrie::odometrie->getVitesseAngulaire(); - 8012254: 4b38 ldr r3, [pc, #224] (8012338 <_ZN18CommandAllerEnArcAC2E8PositionS0_fb+0x164>) - 8012256: 681b ldr r3, [r3, #0] - 8012258: 4618 mov r0, r3 - 801225a: f000 fc7d bl 8012b58 <_ZNK9Odometrie19getVitesseAngulaireEv> - 801225e: 4602 mov r2, r0 - 8012260: 68fb ldr r3, [r7, #12] - 8012262: 619a str r2, [r3, #24] - bonAngle = false; - 8012264: 68fa ldr r2, [r7, #12] - 8012266: f04f 0300 mov.w r3, #0 ; 0x0 - 801226a: 7413 strb r3, [r2, #16] - - m_fini = false; - 801226c: 68fa ldr r2, [r7, #12] - 801226e: f04f 0300 mov.w r3, #0 ; 0x0 - 8012272: f882 3028 strb.w r3, [r2, #40] - - Position pos = Odometrie::odometrie->getPos().getPosition(); - 8012276: 4b30 ldr r3, [pc, #192] (8012338 <_ZN18CommandAllerEnArcAC2E8PositionS0_fb+0x164>) - 8012278: 681a ldr r2, [r3, #0] - 801227a: f107 031c add.w r3, r7, #28 ; 0x1c - 801227e: 4618 mov r0, r3 - 8012280: 4611 mov r1, r2 - 8012282: f000 fc8d bl 8012ba0 <_ZNK9Odometrie6getPosEv> - 8012286: f107 0314 add.w r3, r7, #20 ; 0x14 - 801228a: f107 021c add.w r2, r7, #28 ; 0x1c - 801228e: 4618 mov r0, r3 - 8012290: 4611 mov r1, r2 - 8012292: f005 fcdb bl 8017c4c <_ZNK17PositionPlusAngle11getPositionEv> - float pmcx = pos.x-centre.x; - 8012296: 697a ldr r2, [r7, #20] - 8012298: 68fb ldr r3, [r7, #12] - 801229a: 6a1b ldr r3, [r3, #32] - 801229c: 4610 mov r0, r2 - 801229e: 4619 mov r1, r3 - 80122a0: f01a fd80 bl 802cda4 <__aeabi_fsub> - 80122a4: 4603 mov r3, r0 - 80122a6: 62bb str r3, [r7, #40] - float pmcy = pos.y-centre.y; - 80122a8: 69ba ldr r2, [r7, #24] - 80122aa: 68fb ldr r3, [r7, #12] - 80122ac: 6a5b ldr r3, [r3, #36] - 80122ae: 4610 mov r0, r2 - 80122b0: 4619 mov r1, r3 - 80122b2: f01a fd77 bl 802cda4 <__aeabi_fsub> - 80122b6: 4603 mov r3, r0 - 80122b8: 62fb str r3, [r7, #44] - float bmcx = but.x-centre.x; - 80122ba: 68fb ldr r3, [r7, #12] - 80122bc: 685a ldr r2, [r3, #4] - 80122be: 68fb ldr r3, [r7, #12] - 80122c0: 6a1b ldr r3, [r3, #32] - 80122c2: 4610 mov r0, r2 - 80122c4: 4619 mov r1, r3 - 80122c6: f01a fd6d bl 802cda4 <__aeabi_fsub> - 80122ca: 4603 mov r3, r0 - 80122cc: 633b str r3, [r7, #48] - float bmcy = but.y-centre.y; - 80122ce: 68fb ldr r3, [r7, #12] - 80122d0: 689a ldr r2, [r3, #8] - 80122d2: 68fb ldr r3, [r7, #12] - 80122d4: 6a5b ldr r3, [r3, #36] - 80122d6: 4610 mov r0, r2 - 80122d8: 4619 mov r1, r3 - 80122da: f01a fd63 bl 802cda4 <__aeabi_fsub> - 80122de: 4603 mov r3, r0 - 80122e0: 637b str r3, [r7, #52] - if (pmcx*bmcy-pmcy*bmcx > 0.0f) - 80122e2: 6ab8 ldr r0, [r7, #40] - 80122e4: 6b79 ldr r1, [r7, #52] - 80122e6: f01a fe67 bl 802cfb8 <__aeabi_fmul> - 80122ea: 4603 mov r3, r0 - 80122ec: 461c mov r4, r3 - 80122ee: 6af8 ldr r0, [r7, #44] - 80122f0: 6b39 ldr r1, [r7, #48] - 80122f2: f01a fe61 bl 802cfb8 <__aeabi_fmul> - 80122f6: 4603 mov r3, r0 - 80122f8: 4620 mov r0, r4 - 80122fa: 4619 mov r1, r3 - 80122fc: f01a fd52 bl 802cda4 <__aeabi_fsub> - 8012300: 4603 mov r3, r0 - 8012302: 4618 mov r0, r3 - 8012304: 490d ldr r1, [pc, #52] (801233c <_ZN18CommandAllerEnArcAC2E8PositionS0_fb+0x168>) - 8012306: f01b f811 bl 802d32c <__aeabi_fcmpgt> - 801230a: 4603 mov r3, r0 - 801230c: 2b00 cmp r3, #0 - 801230e: d004 beq.n 801231a <_ZN18CommandAllerEnArcAC2E8PositionS0_fb+0x146> - cote = SGN_POS; - 8012310: 68fa ldr r2, [r7, #12] - 8012312: f04f 0301 mov.w r3, #1 ; 0x1 - 8012316: 62d3 str r3, [r2, #44] - 8012318: e003 b.n 8012322 <_ZN18CommandAllerEnArcAC2E8PositionS0_fb+0x14e> - else - cote = SGN_NEG; - 801231a: 68fa ldr r2, [r7, #12] - 801231c: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8012320: 62d3 str r3, [r2, #44] -} - 8012322: 68fb ldr r3, [r7, #12] - 8012324: 4618 mov r0, r3 - 8012326: f107 073c add.w r7, r7, #60 ; 0x3c - 801232a: 46bd mov sp, r7 - 801232c: e8bd 4090 ldmia.w sp!, {r4, r7, lr} - 8012330: b002 add sp, #8 - 8012332: 4770 bx lr - 8012334: 08033ec8 .word 0x08033ec8 - 8012338: 20000590 .word 0x20000590 - 801233c: 00000000 .word 0x00000000 - -08012340 <_ZN13CommandAllerA6updateEv>: - this->precisionAngle = -1.f;//precisionAngle; - - m_fini = false; -} - -void CommandAllerA::update() - 8012340: e92d 43b0 stmdb sp!, {r4, r5, r7, r8, r9, lr} - 8012344: b09e sub sp, #120 - 8012346: af00 add r7, sp, #0 - 8012348: 6178 str r0, [r7, #20] -{ - float accAngMax = ACCELERATION_ANGULAIRE_MAX; - 801234a: 4bcb ldr r3, [pc, #812] (8012678 <_ZN13CommandAllerA6updateEv+0x338>) - 801234c: 643b str r3, [r7, #64] - float vitAngMax = VITESSE_ANGULAIRE_MAX; - 801234e: 4bcb ldr r3, [pc, #812] (801267c <_ZN13CommandAllerA6updateEv+0x33c>) - 8012350: 647b str r3, [r7, #68] - float accLinMax = ACCELERATION_LINEAIRE_MAX; - 8012352: 4bcb ldr r3, [pc, #812] (8012680 <_ZN13CommandAllerA6updateEv+0x340>) - 8012354: 64bb str r3, [r7, #72] - float decLinMax = DECELERATION_LINEAIRE_MAX; - 8012356: 4bcb ldr r3, [pc, #812] (8012684 <_ZN13CommandAllerA6updateEv+0x344>) - 8012358: 64fb str r3, [r7, #76] - float vitLinMax = vitesseLinMax;//VITESSE_LINEAIRE_MAX; - 801235a: 697b ldr r3, [r7, #20] - 801235c: 68db ldr r3, [r3, #12] - 801235e: 653b str r3, [r7, #80] - - if(this->getLimit()) - 8012360: f7fe fd7a bl 8010e58 <_ZN7Command8getLimitEv> - 8012364: 4603 mov r3, r0 - 8012366: 2b00 cmp r3, #0 - 8012368: d00b beq.n 8012382 <_ZN13CommandAllerA6updateEv+0x42> - { - vitLinMax = vitesseLinMax/3; - 801236a: 697b ldr r3, [r7, #20] - 801236c: 68db ldr r3, [r3, #12] - 801236e: 4618 mov r0, r3 - 8012370: 49c5 ldr r1, [pc, #788] (8012688 <_ZN13CommandAllerA6updateEv+0x348>) - 8012372: f01a fed5 bl 802d120 <__aeabi_fdiv> - 8012376: 4603 mov r3, r0 - 8012378: 653b str r3, [r7, #80] - allumerLED(); - 801237a: f002 fe6d bl 8015058 <_Z10allumerLEDv> - allumerLED2(); - 801237e: f002 fe63 bl 8015048 <_Z11allumerLED2v> - { - //eteindreLED(); - } - - //float angleVitesseMax = M_PI/10.0f; - float angleVitesseMax = 0.5f*vitAngMax*vitAngMax/accAngMax; - 8012382: 6c78 ldr r0, [r7, #68] - 8012384: 49c1 ldr r1, [pc, #772] (801268c <_ZN13CommandAllerA6updateEv+0x34c>) - 8012386: f01a fe17 bl 802cfb8 <__aeabi_fmul> - 801238a: 4603 mov r3, r0 - 801238c: 4618 mov r0, r3 - 801238e: 6c79 ldr r1, [r7, #68] - 8012390: f01a fe12 bl 802cfb8 <__aeabi_fmul> - 8012394: 4603 mov r3, r0 - 8012396: 4618 mov r0, r3 - 8012398: 6c39 ldr r1, [r7, #64] - 801239a: f01a fec1 bl 802d120 <__aeabi_fdiv> - 801239e: 4603 mov r3, r0 - 80123a0: 657b str r3, [r7, #84] - //float distanceVitesseMax = 350.0f; - float distanceVitesseMax = 0.5f*(vitLinMax*vitLinMax-vFin2)/decLinMax; - 80123a2: 6d38 ldr r0, [r7, #80] - 80123a4: 6d39 ldr r1, [r7, #80] - 80123a6: f01a fe07 bl 802cfb8 <__aeabi_fmul> - 80123aa: 4603 mov r3, r0 - 80123ac: 461a mov r2, r3 - 80123ae: 697b ldr r3, [r7, #20] - 80123b0: 691b ldr r3, [r3, #16] - 80123b2: 4610 mov r0, r2 - 80123b4: 4619 mov r1, r3 - 80123b6: f01a fcf5 bl 802cda4 <__aeabi_fsub> - 80123ba: 4603 mov r3, r0 - 80123bc: 4618 mov r0, r3 - 80123be: 49b3 ldr r1, [pc, #716] (801268c <_ZN13CommandAllerA6updateEv+0x34c>) - 80123c0: f01a fdfa bl 802cfb8 <__aeabi_fmul> - 80123c4: 4603 mov r3, r0 - 80123c6: 4618 mov r0, r3 - 80123c8: 6cf9 ldr r1, [r7, #76] - 80123ca: f01a fea9 bl 802d120 <__aeabi_fdiv> - 80123ce: 4603 mov r3, r0 - 80123d0: 65bb str r3, [r7, #88] - float angle = Odometrie::odometrie->getPos().getAngle(); - 80123d2: 4baf ldr r3, [pc, #700] (8012690 <_ZN13CommandAllerA6updateEv+0x350>) - 80123d4: 681a ldr r2, [r3, #0] - 80123d6: f107 0328 add.w r3, r7, #40 ; 0x28 - 80123da: 4618 mov r0, r3 - 80123dc: 4611 mov r1, r2 - 80123de: f000 fbdf bl 8012ba0 <_ZNK9Odometrie6getPosEv> - 80123e2: f107 0328 add.w r3, r7, #40 ; 0x28 - 80123e6: 4618 mov r0, r3 - 80123e8: f005 fc42 bl 8017c70 <_ZNK17PositionPlusAngle8getAngleEv> - 80123ec: 4603 mov r3, r0 - 80123ee: 65fb str r3, [r7, #92] - Position pos = Odometrie::odometrie->getPos().getPosition(); - 80123f0: 4ba7 ldr r3, [pc, #668] (8012690 <_ZN13CommandAllerA6updateEv+0x350>) - 80123f2: 681a ldr r2, [r3, #0] - 80123f4: f107 0334 add.w r3, r7, #52 ; 0x34 - 80123f8: 4618 mov r0, r3 - 80123fa: 4611 mov r1, r2 - 80123fc: f000 fbd0 bl 8012ba0 <_ZNK9Odometrie6getPosEv> - 8012400: f107 0320 add.w r3, r7, #32 ; 0x20 - 8012404: f107 0234 add.w r2, r7, #52 ; 0x34 - 8012408: 4618 mov r0, r3 - 801240a: 4611 mov r1, r2 - 801240c: f005 fc1e bl 8017c4c <_ZNK17PositionPlusAngle11getPositionEv> - Position delta = but-pos; - 8012410: 697b ldr r3, [r7, #20] - 8012412: f103 0104 add.w r1, r3, #4 ; 0x4 - 8012416: f107 0318 add.w r3, r7, #24 ; 0x18 - 801241a: f107 0220 add.w r2, r7, #32 ; 0x20 - 801241e: 4618 mov r0, r3 - 8012420: f005 fa46 bl 80178b0 <_ZNK8PositionmiERKS_> - float angleVise = atan2(delta.getY(),delta.getX()); - 8012424: f107 0318 add.w r3, r7, #24 ; 0x18 - 8012428: 4618 mov r0, r3 - 801242a: f005 f9f3 bl 8017814 <_ZNK8Position4getYEv> - 801242e: 4603 mov r3, r0 - 8012430: 4618 mov r0, r3 - 8012432: f01a f94f bl 802c6d4 <__aeabi_f2d> - 8012436: 4604 mov r4, r0 - 8012438: 460d mov r5, r1 - 801243a: f107 0318 add.w r3, r7, #24 ; 0x18 - 801243e: 4618 mov r0, r3 - 8012440: f005 f9dc bl 80177fc <_ZNK8Position4getXEv> - 8012444: 4603 mov r3, r0 - 8012446: 4618 mov r0, r3 - 8012448: f01a f944 bl 802c6d4 <__aeabi_f2d> - 801244c: 4602 mov r2, r0 - 801244e: 460b mov r3, r1 - 8012450: 4620 mov r0, r4 - 8012452: 4629 mov r1, r5 - 8012454: f01e fa4a bl 80308ec - 8012458: 4602 mov r2, r0 - 801245a: 460b mov r3, r1 - 801245c: 4610 mov r0, r2 - 801245e: 4619 mov r1, r3 - 8012460: f01a fc4c bl 802ccfc <__aeabi_d2f> - 8012464: 4603 mov r3, r0 - 8012466: 663b str r3, [r7, #96] - - if (m_reculer) - 8012468: 697b ldr r3, [r7, #20] - 801246a: f893 3020 ldrb.w r3, [r3, #32] - 801246e: 2b00 cmp r3, #0 - 8012470: d012 beq.n 8012498 <_ZN13CommandAllerA6updateEv+0x158> - angleVise += M_PI; - 8012472: 6e38 ldr r0, [r7, #96] - 8012474: f01a f92e bl 802c6d4 <__aeabi_f2d> - 8012478: 4602 mov r2, r0 - 801247a: 460b mov r3, r1 - 801247c: 4610 mov r0, r2 - 801247e: 4619 mov r1, r3 - 8012480: a27b add r2, pc, #492 (adr r2, 8012670 <_ZN13CommandAllerA6updateEv+0x330>) - 8012482: ca0c ldmia r2!, {r2, r3} - 8012484: f019 ffc8 bl 802c418 <__adddf3> - 8012488: 4602 mov r2, r0 - 801248a: 460b mov r3, r1 - 801248c: 4610 mov r0, r2 - 801248e: 4619 mov r1, r3 - 8012490: f01a fc34 bl 802ccfc <__aeabi_d2f> - 8012494: 4603 mov r3, r0 - 8012496: 663b str r3, [r7, #96] - - float diffAng = diffAngle(angleVise,angle); - 8012498: 6e38 ldr r0, [r7, #96] - 801249a: 6df9 ldr r1, [r7, #92] - 801249c: f7fe feac bl 80111f8 <_Z9diffAngleff> - 80124a0: 4603 mov r3, r0 - 80124a2: 667b str r3, [r7, #100] - - // reste sur place tant que le robot n'a pas le bon angle - float angleMaxPourAvancer; - if (precisionAngle<0.) - 80124a4: 697b ldr r3, [r7, #20] - 80124a6: 6adb ldr r3, [r3, #44] - 80124a8: 4618 mov r0, r3 - 80124aa: 497a ldr r1, [pc, #488] (8012694 <_ZN13CommandAllerA6updateEv+0x354>) - 80124ac: f01a ff20 bl 802d2f0 <__aeabi_fcmplt> - 80124b0: 4603 mov r3, r0 - 80124b2: 2b00 cmp r3, #0 - 80124b4: d002 beq.n 80124bc <_ZN13CommandAllerA6updateEv+0x17c> - angleMaxPourAvancer = M_PI/25.0f;//25.0f; - 80124b6: 4b78 ldr r3, [pc, #480] (8012698 <_ZN13CommandAllerA6updateEv+0x358>) - 80124b8: 66bb str r3, [r7, #104] - 80124ba: e001 b.n 80124c0 <_ZN13CommandAllerA6updateEv+0x180> - else - angleMaxPourAvancer = DEGTORAD(3.);//25.0f; - 80124bc: 4b77 ldr r3, [pc, #476] (801269c <_ZN13CommandAllerA6updateEv+0x35c>) - 80124be: 66bb str r3, [r7, #104] - if (!bonAngle) - 80124c0: 697b ldr r3, [r7, #20] - 80124c2: 7d1b ldrb r3, [r3, #20] - 80124c4: f083 0301 eor.w r3, r3, #1 ; 0x1 - 80124c8: b2db uxtb r3, r3 - 80124ca: 2b00 cmp r3, #0 - 80124cc: d01b beq.n 8012506 <_ZN13CommandAllerA6updateEv+0x1c6> - { - if (fabs(diffAng) < angleMaxPourAvancer) - 80124ce: 6e7b ldr r3, [r7, #100] - 80124d0: f023 4300 bic.w r3, r3, #2147483648 ; 0x80000000 - 80124d4: 4618 mov r0, r3 - 80124d6: 6eb9 ldr r1, [r7, #104] - 80124d8: f01a ff0a bl 802d2f0 <__aeabi_fcmplt> - 80124dc: 4603 mov r3, r0 - 80124de: 2b00 cmp r3, #0 - 80124e0: d007 beq.n 80124f2 <_ZN13CommandAllerA6updateEv+0x1b2> - { - bonAngle = true; - 80124e2: 697a ldr r2, [r7, #20] - 80124e4: f04f 0301 mov.w r3, #1 ; 0x1 - 80124e8: 7513 strb r3, [r2, #20] - derniereDistance = 1000000.0f; - 80124ea: 697a ldr r2, [r7, #20] - 80124ec: 4b6c ldr r3, [pc, #432] (80126a0 <_ZN13CommandAllerA6updateEv+0x360>) - 80124ee: 6253 str r3, [r2, #36] - 80124f0: e009 b.n 8012506 <_ZN13CommandAllerA6updateEv+0x1c6> - } - else - { - linSpeed *= 0.95f; - 80124f2: 697b ldr r3, [r7, #20] - 80124f4: 699b ldr r3, [r3, #24] - 80124f6: 4618 mov r0, r3 - 80124f8: 496a ldr r1, [pc, #424] (80126a4 <_ZN13CommandAllerA6updateEv+0x364>) - 80124fa: f01a fd5d bl 802cfb8 <__aeabi_fmul> - 80124fe: 4603 mov r3, r0 - 8012500: 461a mov r2, r3 - 8012502: 697b ldr r3, [r7, #20] - 8012504: 619a str r2, [r3, #24] - } - } - - // Check sharps - StrategieV2::setTourneSurSoiMeme((!bonAngle)&&(abs(linSpeed)<0.2f)); - 8012506: 697b ldr r3, [r7, #20] - 8012508: 7d1b ldrb r3, [r3, #20] - 801250a: f083 0301 eor.w r3, r3, #1 ; 0x1 - 801250e: b2db uxtb r3, r3 - 8012510: f083 0301 eor.w r3, r3, #1 ; 0x1 - 8012514: b2db uxtb r3, r3 - 8012516: 2b00 cmp r3, #0 - 8012518: d137 bne.n 801258a <_ZN13CommandAllerA6updateEv+0x24a> - 801251a: 697b ldr r3, [r7, #20] - 801251c: 699b ldr r3, [r3, #24] - 801251e: 4618 mov r0, r3 - 8012520: 495c ldr r1, [pc, #368] (8012694 <_ZN13CommandAllerA6updateEv+0x354>) - 8012522: f01a ff03 bl 802d32c <__aeabi_fcmpgt> - 8012526: 4603 mov r3, r0 - 8012528: 2b00 cmp r3, #0 - 801252a: d015 beq.n 8012558 <_ZN13CommandAllerA6updateEv+0x218> - 801252c: 697b ldr r3, [r7, #20] - 801252e: 699a ldr r2, [r3, #24] - 8012530: f04f 0300 mov.w r3, #0 ; 0x0 - 8012534: 71fb strb r3, [r7, #7] - 8012536: 4610 mov r0, r2 - 8012538: 4956 ldr r1, [pc, #344] (8012694 <_ZN13CommandAllerA6updateEv+0x354>) - 801253a: f01a fecf bl 802d2dc <__aeabi_fcmpeq> - 801253e: 4603 mov r3, r0 - 8012540: 2b00 cmp r3, #0 - 8012542: d102 bne.n 801254a <_ZN13CommandAllerA6updateEv+0x20a> - 8012544: f04f 0301 mov.w r3, #1 ; 0x1 - 8012548: 71fb strb r3, [r7, #7] - 801254a: 79fb ldrb r3, [r7, #7] - 801254c: f083 0301 eor.w r3, r3, #1 ; 0x1 - 8012550: b2db uxtb r3, r3 - 8012552: 2b00 cmp r3, #0 - 8012554: d119 bne.n 801258a <_ZN13CommandAllerA6updateEv+0x24a> - 8012556: e014 b.n 8012582 <_ZN13CommandAllerA6updateEv+0x242> - 8012558: 697b ldr r3, [r7, #20] - 801255a: 699a ldr r2, [r3, #24] - 801255c: f04f 0300 mov.w r3, #0 ; 0x0 - 8012560: 71bb strb r3, [r7, #6] - 8012562: 4610 mov r0, r2 - 8012564: 4950 ldr r1, [pc, #320] (80126a8 <_ZN13CommandAllerA6updateEv+0x368>) - 8012566: f01a fee1 bl 802d32c <__aeabi_fcmpgt> - 801256a: 4603 mov r3, r0 - 801256c: 2b00 cmp r3, #0 - 801256e: d002 beq.n 8012576 <_ZN13CommandAllerA6updateEv+0x236> - 8012570: f04f 0301 mov.w r3, #1 ; 0x1 - 8012574: 71bb strb r3, [r7, #6] - 8012576: 79bb ldrb r3, [r7, #6] - 8012578: f083 0301 eor.w r3, r3, #1 ; 0x1 - 801257c: b2db uxtb r3, r3 - 801257e: 2b00 cmp r3, #0 - 8012580: d103 bne.n 801258a <_ZN13CommandAllerA6updateEv+0x24a> - 8012582: f04f 0301 mov.w r3, #1 ; 0x1 - 8012586: 60bb str r3, [r7, #8] - 8012588: e002 b.n 8012590 <_ZN13CommandAllerA6updateEv+0x250> - 801258a: f04f 0300 mov.w r3, #0 ; 0x0 - 801258e: 60bb str r3, [r7, #8] - 8012590: 68b8 ldr r0, [r7, #8] - 8012592: f00d f94d bl 801f830 <_ZN11StrategieV219setTourneSurSoiMemeEb> - - if (linSpeed > 0.2f) - 8012596: 697b ldr r3, [r7, #20] - 8012598: 699b ldr r3, [r3, #24] - 801259a: 4618 mov r0, r3 - 801259c: 4943 ldr r1, [pc, #268] (80126ac <_ZN13CommandAllerA6updateEv+0x36c>) - 801259e: f01a fec5 bl 802d32c <__aeabi_fcmpgt> - 80125a2: 4603 mov r3, r0 - 80125a4: 2b00 cmp r3, #0 - 80125a6: d004 beq.n 80125b2 <_ZN13CommandAllerA6updateEv+0x272> - StrategieV2::enableSharpsGroup(true); - 80125a8: f04f 0001 mov.w r0, #1 ; 0x1 - 80125ac: f00d f9e4 bl 801f978 <_ZN11StrategieV217enableSharpsGroupEb> - 80125b0: e00f b.n 80125d2 <_ZN13CommandAllerA6updateEv+0x292> - else if (linSpeed < -0.2f) - 80125b2: 697b ldr r3, [r7, #20] - 80125b4: 699b ldr r3, [r3, #24] - 80125b6: 4618 mov r0, r3 - 80125b8: 493b ldr r1, [pc, #236] (80126a8 <_ZN13CommandAllerA6updateEv+0x368>) - 80125ba: f01a fe99 bl 802d2f0 <__aeabi_fcmplt> - 80125be: 4603 mov r3, r0 - 80125c0: 2b00 cmp r3, #0 - 80125c2: d004 beq.n 80125ce <_ZN13CommandAllerA6updateEv+0x28e> - StrategieV2::enableSharpsGroup(false); - 80125c4: f04f 0000 mov.w r0, #0 ; 0x0 - 80125c8: f00d f9d6 bl 801f978 <_ZN11StrategieV217enableSharpsGroupEb> - 80125cc: e001 b.n 80125d2 <_ZN13CommandAllerA6updateEv+0x292> - else - StrategieV2::emptySharpsToCheck(); - 80125ce: f00d f907 bl 801f7e0 <_ZN11StrategieV218emptySharpsToCheckEv> - - float distanceBut = delta.getNorme(); - 80125d2: f107 0318 add.w r3, r7, #24 ; 0x18 - 80125d6: 4618 mov r0, r3 - 80125d8: f005 fa78 bl 8017acc <_ZNK8Position8getNormeEv> - 80125dc: 4603 mov r3, r0 - 80125de: 66fb str r3, [r7, #108] - - bool distanceOk = /*(distanceBut > derniereDistance) || */(distanceBut < 30.0f); - 80125e0: f04f 0300 mov.w r3, #0 ; 0x0 - 80125e4: f887 3072 strb.w r3, [r7, #114] - 80125e8: 6ef8 ldr r0, [r7, #108] - 80125ea: 4931 ldr r1, [pc, #196] (80126b0 <_ZN13CommandAllerA6updateEv+0x370>) - 80125ec: f01a fe80 bl 802d2f0 <__aeabi_fcmplt> - 80125f0: 4603 mov r3, r0 - 80125f2: 2b00 cmp r3, #0 - 80125f4: d003 beq.n 80125fe <_ZN13CommandAllerA6updateEv+0x2be> - 80125f6: f04f 0301 mov.w r3, #1 ; 0x1 - 80125fa: f887 3072 strb.w r3, [r7, #114] - if (distanceOk) - { - //vitAngMax = VITESSE_ANGULAIRE_SLOW_MAX; - //linSpeed = 0.; - } - if (bonAngle && precisionAngle>0.) - 80125fe: 697b ldr r3, [r7, #20] - 8012600: 7d1b ldrb r3, [r3, #20] - 8012602: f083 0301 eor.w r3, r3, #1 ; 0x1 - 8012606: b2db uxtb r3, r3 - 8012608: 2b00 cmp r3, #0 - 801260a: d118 bne.n 801263e <_ZN13CommandAllerA6updateEv+0x2fe> - 801260c: 697b ldr r3, [r7, #20] - 801260e: 6ada ldr r2, [r3, #44] - 8012610: f04f 0300 mov.w r3, #0 ; 0x0 - 8012614: 717b strb r3, [r7, #5] - 8012616: 4610 mov r0, r2 - 8012618: 491e ldr r1, [pc, #120] (8012694 <_ZN13CommandAllerA6updateEv+0x354>) - 801261a: f01a fe87 bl 802d32c <__aeabi_fcmpgt> - 801261e: 4603 mov r3, r0 - 8012620: 2b00 cmp r3, #0 - 8012622: d002 beq.n 801262a <_ZN13CommandAllerA6updateEv+0x2ea> - 8012624: f04f 0301 mov.w r3, #1 ; 0x1 - 8012628: 717b strb r3, [r7, #5] - 801262a: 797b ldrb r3, [r7, #5] - 801262c: f083 0301 eor.w r3, r3, #1 ; 0x1 - 8012630: b2db uxtb r3, r3 - 8012632: 2b00 cmp r3, #0 - 8012634: d103 bne.n 801263e <_ZN13CommandAllerA6updateEv+0x2fe> - { - angSpeed = 0.; - 8012636: 697a ldr r2, [r7, #20] - 8012638: 4b16 ldr r3, [pc, #88] (8012694 <_ZN13CommandAllerA6updateEv+0x354>) - 801263a: 61d3 str r3, [r2, #28] - 801263c: e126 b.n 801288c <_ZN13CommandAllerA6updateEv+0x54c> - } - else if (abs(diffAng) > angleVitesseMax) - 801263e: 6e78 ldr r0, [r7, #100] - 8012640: 4914 ldr r1, [pc, #80] (8012694 <_ZN13CommandAllerA6updateEv+0x354>) - 8012642: f01a fe73 bl 802d32c <__aeabi_fcmpgt> - 8012646: 4603 mov r3, r0 - 8012648: 2b00 cmp r3, #0 - 801264a: d033 beq.n 80126b4 <_ZN13CommandAllerA6updateEv+0x374> - 801264c: f04f 0300 mov.w r3, #0 ; 0x0 - 8012650: 713b strb r3, [r7, #4] - 8012652: 6e78 ldr r0, [r7, #100] - 8012654: 490f ldr r1, [pc, #60] (8012694 <_ZN13CommandAllerA6updateEv+0x354>) - 8012656: f01a fe41 bl 802d2dc <__aeabi_fcmpeq> - 801265a: 4603 mov r3, r0 - 801265c: 2b00 cmp r3, #0 - 801265e: d102 bne.n 8012666 <_ZN13CommandAllerA6updateEv+0x326> - 8012660: f04f 0301 mov.w r3, #1 ; 0x1 - 8012664: 713b strb r3, [r7, #4] - 8012666: 793b ldrb r3, [r7, #4] - 8012668: 60fb str r3, [r7, #12] - 801266a: e035 b.n 80126d8 <_ZN13CommandAllerA6updateEv+0x398> - 801266c: 46c0 nop (mov r8, r8) - 801266e: 46c0 nop (mov r8, r8) - 8012670: 54442d18 .word 0x54442d18 - 8012674: 400921fb .word 0x400921fb - 8012678: 3983126f .word 0x3983126f - 801267c: 3c23d70a .word 0x3c23d70a - 8012680: 3ccccccd .word 0x3ccccccd - 8012684: 3ca3d70a .word 0x3ca3d70a - 8012688: 40400000 .word 0x40400000 - 801268c: 3f000000 .word 0x3f000000 - 8012690: 20000590 .word 0x20000590 - 8012694: 00000000 .word 0x00000000 - 8012698: 3e00adfd .word 0x3e00adfd - 801269c: 3d567750 .word 0x3d567750 - 80126a0: 49742400 .word 0x49742400 - 80126a4: 3f733333 .word 0x3f733333 - 80126a8: be4ccccd .word 0xbe4ccccd - 80126ac: 3e4ccccd .word 0x3e4ccccd - 80126b0: 41f00000 .word 0x41f00000 - 80126b4: 6e7b ldr r3, [r7, #100] - 80126b6: f083 4200 eor.w r2, r3, #2147483648 ; 0x80000000 - 80126ba: f04f 0300 mov.w r3, #0 ; 0x0 - 80126be: 70fb strb r3, [r7, #3] - 80126c0: 4610 mov r0, r2 - 80126c2: 6d79 ldr r1, [r7, #84] - 80126c4: f01a fe32 bl 802d32c <__aeabi_fcmpgt> - 80126c8: 4603 mov r3, r0 - 80126ca: 2b00 cmp r3, #0 - 80126cc: d002 beq.n 80126d4 <_ZN13CommandAllerA6updateEv+0x394> - 80126ce: f04f 0301 mov.w r3, #1 ; 0x1 - 80126d2: 70fb strb r3, [r7, #3] - 80126d4: 78fb ldrb r3, [r7, #3] - 80126d6: 60fb str r3, [r7, #12] - 80126d8: 68fb ldr r3, [r7, #12] - 80126da: 2b00 cmp r3, #0 - 80126dc: f000 80c9 beq.w 8012872 <_ZN13CommandAllerA6updateEv+0x532> - { - bool hasToDecelerate = /*(!distanceOk) && */(fabs(diffAng) < (angSpeed * angSpeed / accAngMax - accAngMax*2.)); - 80126e0: 6e7b ldr r3, [r7, #100] - 80126e2: f023 4300 bic.w r3, r3, #2147483648 ; 0x80000000 - 80126e6: 4618 mov r0, r3 - 80126e8: f019 fff4 bl 802c6d4 <__aeabi_f2d> - 80126ec: 4680 mov r8, r0 - 80126ee: 4689 mov r9, r1 - 80126f0: 697b ldr r3, [r7, #20] - 80126f2: 69da ldr r2, [r3, #28] - 80126f4: 697b ldr r3, [r7, #20] - 80126f6: 69db ldr r3, [r3, #28] - 80126f8: 4610 mov r0, r2 - 80126fa: 4619 mov r1, r3 - 80126fc: f01a fc5c bl 802cfb8 <__aeabi_fmul> - 8012700: 4603 mov r3, r0 - 8012702: 4618 mov r0, r3 - 8012704: 6c39 ldr r1, [r7, #64] - 8012706: f01a fd0b bl 802d120 <__aeabi_fdiv> - 801270a: 4603 mov r3, r0 - 801270c: 4618 mov r0, r3 - 801270e: f019 ffe1 bl 802c6d4 <__aeabi_f2d> - 8012712: 4604 mov r4, r0 - 8012714: 460d mov r5, r1 - 8012716: 6c38 ldr r0, [r7, #64] - 8012718: f019 ffdc bl 802c6d4 <__aeabi_f2d> - 801271c: 4602 mov r2, r0 - 801271e: 460b mov r3, r1 - 8012720: 4610 mov r0, r2 - 8012722: 4619 mov r1, r3 - 8012724: f04f 0200 mov.w r2, #0 ; 0x0 - 8012728: f04f 4340 mov.w r3, #3221225472 ; 0xc0000000 - 801272c: f01a f826 bl 802c77c <__aeabi_dmul> - 8012730: 4602 mov r2, r0 - 8012732: 460b mov r3, r1 - 8012734: 4620 mov r0, r4 - 8012736: 4629 mov r1, r5 - 8012738: f019 fe6e bl 802c418 <__adddf3> - 801273c: 4602 mov r2, r0 - 801273e: 460b mov r3, r1 - 8012740: 4614 mov r4, r2 - 8012742: 461d mov r5, r3 - 8012744: f04f 0300 mov.w r3, #0 ; 0x0 - 8012748: f887 3073 strb.w r3, [r7, #115] - 801274c: 4640 mov r0, r8 - 801274e: 4649 mov r1, r9 - 8012750: 4622 mov r2, r4 - 8012752: 462b mov r3, r5 - 8012754: f01a fa82 bl 802cc5c <__aeabi_dcmplt> - 8012758: 4603 mov r3, r0 - 801275a: 2b00 cmp r3, #0 - 801275c: d003 beq.n 8012766 <_ZN13CommandAllerA6updateEv+0x426> - 801275e: f04f 0301 mov.w r3, #1 ; 0x1 - 8012762: f887 3073 strb.w r3, [r7, #115] - if (diffAng > 0) - 8012766: 6e78 ldr r0, [r7, #100] - 8012768: 49cf ldr r1, [pc, #828] (8012aa8 <_ZN13CommandAllerA6updateEv+0x768>) - 801276a: f01a fddf bl 802d32c <__aeabi_fcmpgt> - 801276e: 4603 mov r3, r0 - 8012770: 2b00 cmp r3, #0 - 8012772: d03c beq.n 80127ee <_ZN13CommandAllerA6updateEv+0x4ae> - { - if (!hasToDecelerate) - 8012774: f897 3073 ldrb.w r3, [r7, #115] - 8012778: f083 0301 eor.w r3, r3, #1 ; 0x1 - 801277c: b2db uxtb r3, r3 - 801277e: 2b00 cmp r3, #0 - 8012780: d00a beq.n 8012798 <_ZN13CommandAllerA6updateEv+0x458> - angSpeed += accAngMax; - 8012782: 697b ldr r3, [r7, #20] - 8012784: 69db ldr r3, [r3, #28] - 8012786: 4618 mov r0, r3 - 8012788: 6c39 ldr r1, [r7, #64] - 801278a: f01a fb0d bl 802cda8 <__addsf3> - 801278e: 4603 mov r3, r0 - 8012790: 461a mov r2, r3 - 8012792: 697b ldr r3, [r7, #20] - 8012794: 61da str r2, [r3, #28] - 8012796: e01d b.n 80127d4 <_ZN13CommandAllerA6updateEv+0x494> - else if (angSpeed > accAngMax*2) - 8012798: 697b ldr r3, [r7, #20] - 801279a: 69dc ldr r4, [r3, #28] - 801279c: 6c3b ldr r3, [r7, #64] - 801279e: 4618 mov r0, r3 - 80127a0: 4619 mov r1, r3 - 80127a2: f01a fb01 bl 802cda8 <__addsf3> - 80127a6: 4603 mov r3, r0 - 80127a8: 4620 mov r0, r4 - 80127aa: 4619 mov r1, r3 - 80127ac: f01a fdbe bl 802d32c <__aeabi_fcmpgt> - 80127b0: 4603 mov r3, r0 - 80127b2: 2b00 cmp r3, #0 - 80127b4: d00e beq.n 80127d4 <_ZN13CommandAllerA6updateEv+0x494> - angSpeed -= accAngMax*2; - 80127b6: 697b ldr r3, [r7, #20] - 80127b8: 69dc ldr r4, [r3, #28] - 80127ba: 6c38 ldr r0, [r7, #64] - 80127bc: 49bb ldr r1, [pc, #748] (8012aac <_ZN13CommandAllerA6updateEv+0x76c>) - 80127be: f01a fbfb bl 802cfb8 <__aeabi_fmul> - 80127c2: 4603 mov r3, r0 - 80127c4: 4620 mov r0, r4 - 80127c6: 4619 mov r1, r3 - 80127c8: f01a faee bl 802cda8 <__addsf3> - 80127cc: 4603 mov r3, r0 - 80127ce: 461a mov r2, r3 - 80127d0: 697b ldr r3, [r7, #20] - 80127d2: 61da str r2, [r3, #28] - - if (angSpeed > vitAngMax) - 80127d4: 697b ldr r3, [r7, #20] - 80127d6: 69db ldr r3, [r3, #28] - 80127d8: 4618 mov r0, r3 - 80127da: 6c79 ldr r1, [r7, #68] - 80127dc: f01a fda6 bl 802d32c <__aeabi_fcmpgt> - 80127e0: 4603 mov r3, r0 - 80127e2: 2b00 cmp r3, #0 - 80127e4: d052 beq.n 801288c <_ZN13CommandAllerA6updateEv+0x54c> - angSpeed = vitAngMax; - 80127e6: 697a ldr r2, [r7, #20] - 80127e8: 6c7b ldr r3, [r7, #68] - 80127ea: 61d3 str r3, [r2, #28] - 80127ec: e04e b.n 801288c <_ZN13CommandAllerA6updateEv+0x54c> - } - else - { - if (!hasToDecelerate) - 80127ee: f897 3073 ldrb.w r3, [r7, #115] - 80127f2: f083 0301 eor.w r3, r3, #1 ; 0x1 - 80127f6: b2db uxtb r3, r3 - 80127f8: 2b00 cmp r3, #0 - 80127fa: d00a beq.n 8012812 <_ZN13CommandAllerA6updateEv+0x4d2> - angSpeed -= accAngMax; - 80127fc: 697b ldr r3, [r7, #20] - 80127fe: 69db ldr r3, [r3, #28] - 8012800: 4618 mov r0, r3 - 8012802: 6c39 ldr r1, [r7, #64] - 8012804: f01a face bl 802cda4 <__aeabi_fsub> - 8012808: 4603 mov r3, r0 - 801280a: 461a mov r2, r3 - 801280c: 697b ldr r3, [r7, #20] - 801280e: 61da str r2, [r3, #28] - 8012810: e01d b.n 801284e <_ZN13CommandAllerA6updateEv+0x50e> - else if (angSpeed < -accAngMax*2) - 8012812: 697b ldr r3, [r7, #20] - 8012814: 69dc ldr r4, [r3, #28] - 8012816: 6c38 ldr r0, [r7, #64] - 8012818: 49a4 ldr r1, [pc, #656] (8012aac <_ZN13CommandAllerA6updateEv+0x76c>) - 801281a: f01a fbcd bl 802cfb8 <__aeabi_fmul> - 801281e: 4603 mov r3, r0 - 8012820: 4620 mov r0, r4 - 8012822: 4619 mov r1, r3 - 8012824: f01a fd64 bl 802d2f0 <__aeabi_fcmplt> - 8012828: 4603 mov r3, r0 - 801282a: 2b00 cmp r3, #0 - 801282c: d00f beq.n 801284e <_ZN13CommandAllerA6updateEv+0x50e> - angSpeed += accAngMax*2; - 801282e: 697b ldr r3, [r7, #20] - 8012830: 69dc ldr r4, [r3, #28] - 8012832: 6c3b ldr r3, [r7, #64] - 8012834: 4618 mov r0, r3 - 8012836: 4619 mov r1, r3 - 8012838: f01a fab6 bl 802cda8 <__addsf3> - 801283c: 4603 mov r3, r0 - 801283e: 4620 mov r0, r4 - 8012840: 4619 mov r1, r3 - 8012842: f01a fab1 bl 802cda8 <__addsf3> - 8012846: 4603 mov r3, r0 - 8012848: 461a mov r2, r3 - 801284a: 697b ldr r3, [r7, #20] - 801284c: 61da str r2, [r3, #28] - - if (angSpeed < -vitAngMax) - 801284e: 697b ldr r3, [r7, #20] - 8012850: 69da ldr r2, [r3, #28] - 8012852: 6c7b ldr r3, [r7, #68] - 8012854: f083 4300 eor.w r3, r3, #2147483648 ; 0x80000000 - 8012858: 4610 mov r0, r2 - 801285a: 4619 mov r1, r3 - 801285c: f01a fd48 bl 802d2f0 <__aeabi_fcmplt> - 8012860: 4603 mov r3, r0 - 8012862: 2b00 cmp r3, #0 - 8012864: d012 beq.n 801288c <_ZN13CommandAllerA6updateEv+0x54c> - angSpeed = -vitAngMax; - 8012866: 6c7b ldr r3, [r7, #68] - 8012868: f083 4200 eor.w r2, r3, #2147483648 ; 0x80000000 - 801286c: 697b ldr r3, [r7, #20] - 801286e: 61da str r2, [r3, #28] - 8012870: e00c b.n 801288c <_ZN13CommandAllerA6updateEv+0x54c> - } - - } - else - { - angSpeed = diffAng*vitAngMax/angleVitesseMax; - 8012872: 6e78 ldr r0, [r7, #100] - 8012874: 6c79 ldr r1, [r7, #68] - 8012876: f01a fb9f bl 802cfb8 <__aeabi_fmul> - 801287a: 4603 mov r3, r0 - 801287c: 4618 mov r0, r3 - 801287e: 6d79 ldr r1, [r7, #84] - 8012880: f01a fc4e bl 802d120 <__aeabi_fdiv> - 8012884: 4603 mov r3, r0 - 8012886: 461a mov r2, r3 - 8012888: 697b ldr r3, [r7, #20] - 801288a: 61da str r2, [r3, #28] - { - angSpeed = diffAng*vitAngMax/angleVitesseMax; - }*/ - - // vitesse linéaire - if (distanceBut > derniereDistance || distanceBut < 10.0f) - 801288c: 697b ldr r3, [r7, #20] - 801288e: 6a5b ldr r3, [r3, #36] - 8012890: 4618 mov r0, r3 - 8012892: 6ef9 ldr r1, [r7, #108] - 8012894: f01a fd2c bl 802d2f0 <__aeabi_fcmplt> - 8012898: 4603 mov r3, r0 - 801289a: 2b00 cmp r3, #0 - 801289c: d106 bne.n 80128ac <_ZN13CommandAllerA6updateEv+0x56c> - 801289e: 6ef8 ldr r0, [r7, #108] - 80128a0: 4983 ldr r1, [pc, #524] (8012ab0 <_ZN13CommandAllerA6updateEv+0x770>) - 80128a2: f01a fd25 bl 802d2f0 <__aeabi_fcmplt> - 80128a6: 4603 mov r3, r0 - 80128a8: 2b00 cmp r3, #0 - 80128aa: d004 beq.n 80128b6 <_ZN13CommandAllerA6updateEv+0x576> - { - m_fini = true; - 80128ac: 697b ldr r3, [r7, #20] - 80128ae: f04f 0201 mov.w r2, #1 ; 0x1 - 80128b2: f883 2028 strb.w r2, [r3, #40] - } - - if (bonAngle) - 80128b6: 697b ldr r3, [r7, #20] - 80128b8: 7d1b ldrb r3, [r3, #20] - 80128ba: 2b00 cmp r3, #0 - 80128bc: f000 80ee beq.w 8012a9c <_ZN13CommandAllerA6updateEv+0x75c> - { - - if (fabs(diffAng) > angleMaxPourAvancer) - 80128c0: 6e7b ldr r3, [r7, #100] - 80128c2: f023 4300 bic.w r3, r3, #2147483648 ; 0x80000000 - 80128c6: 4618 mov r0, r3 - 80128c8: 6eb9 ldr r1, [r7, #104] - 80128ca: f01a fd2f bl 802d32c <__aeabi_fcmpgt> - 80128ce: 4603 mov r3, r0 - 80128d0: 2b00 cmp r3, #0 - 80128d2: d00a beq.n 80128ea <_ZN13CommandAllerA6updateEv+0x5aa> - { - linSpeed *= 0.97f; - 80128d4: 697b ldr r3, [r7, #20] - 80128d6: 699b ldr r3, [r3, #24] - 80128d8: 4618 mov r0, r3 - 80128da: 4976 ldr r1, [pc, #472] (8012ab4 <_ZN13CommandAllerA6updateEv+0x774>) - 80128dc: f01a fb6c bl 802cfb8 <__aeabi_fmul> - 80128e0: 4603 mov r3, r0 - 80128e2: 461a mov r2, r3 - 80128e4: 697b ldr r3, [r7, #20] - 80128e6: 619a str r2, [r3, #24] - 80128e8: e0d8 b.n 8012a9c <_ZN13CommandAllerA6updateEv+0x75c> - } - else if (distanceBut > distanceVitesseMax) - 80128ea: 6ef8 ldr r0, [r7, #108] - 80128ec: 6db9 ldr r1, [r7, #88] - 80128ee: f01a fd1d bl 802d32c <__aeabi_fcmpgt> - 80128f2: 4603 mov r3, r0 - 80128f4: 2b00 cmp r3, #0 - 80128f6: d039 beq.n 801296c <_ZN13CommandAllerA6updateEv+0x62c> - { - if (m_reculer) - 80128f8: 697b ldr r3, [r7, #20] - 80128fa: f893 3020 ldrb.w r3, [r3, #32] - 80128fe: 2b00 cmp r3, #0 - 8012900: d00a beq.n 8012918 <_ZN13CommandAllerA6updateEv+0x5d8> - linSpeed -= accLinMax; - 8012902: 697b ldr r3, [r7, #20] - 8012904: 699b ldr r3, [r3, #24] - 8012906: 4618 mov r0, r3 - 8012908: 6cb9 ldr r1, [r7, #72] - 801290a: f01a fa4b bl 802cda4 <__aeabi_fsub> - 801290e: 4603 mov r3, r0 - 8012910: 461a mov r2, r3 - 8012912: 697b ldr r3, [r7, #20] - 8012914: 619a str r2, [r3, #24] - 8012916: e009 b.n 801292c <_ZN13CommandAllerA6updateEv+0x5ec> - else - linSpeed += accLinMax; - 8012918: 697b ldr r3, [r7, #20] - 801291a: 699b ldr r3, [r3, #24] - 801291c: 4618 mov r0, r3 - 801291e: 6cb9 ldr r1, [r7, #72] - 8012920: f01a fa42 bl 802cda8 <__addsf3> - 8012924: 4603 mov r3, r0 - 8012926: 461a mov r2, r3 - 8012928: 697b ldr r3, [r7, #20] - 801292a: 619a str r2, [r3, #24] - - if (linSpeed > vitLinMax) - 801292c: 697b ldr r3, [r7, #20] - 801292e: 699b ldr r3, [r3, #24] - 8012930: 4618 mov r0, r3 - 8012932: 6d39 ldr r1, [r7, #80] - 8012934: f01a fcfa bl 802d32c <__aeabi_fcmpgt> - 8012938: 4603 mov r3, r0 - 801293a: 2b00 cmp r3, #0 - 801293c: d003 beq.n 8012946 <_ZN13CommandAllerA6updateEv+0x606> - linSpeed = vitLinMax; - 801293e: 697a ldr r2, [r7, #20] - 8012940: 6d3b ldr r3, [r7, #80] - 8012942: 6193 str r3, [r2, #24] - 8012944: e0aa b.n 8012a9c <_ZN13CommandAllerA6updateEv+0x75c> - else if (linSpeed < -vitLinMax) - 8012946: 697b ldr r3, [r7, #20] - 8012948: 699a ldr r2, [r3, #24] - 801294a: 6d3b ldr r3, [r7, #80] - 801294c: f083 4300 eor.w r3, r3, #2147483648 ; 0x80000000 - 8012950: 4610 mov r0, r2 - 8012952: 4619 mov r1, r3 - 8012954: f01a fccc bl 802d2f0 <__aeabi_fcmplt> - 8012958: 4603 mov r3, r0 - 801295a: 2b00 cmp r3, #0 - 801295c: f000 809e beq.w 8012a9c <_ZN13CommandAllerA6updateEv+0x75c> - linSpeed = -vitLinMax; - 8012960: 6d3b ldr r3, [r7, #80] - 8012962: f083 4200 eor.w r2, r3, #2147483648 ; 0x80000000 - 8012966: 697b ldr r3, [r7, #20] - 8012968: 619a str r2, [r3, #24] - 801296a: e097 b.n 8012a9c <_ZN13CommandAllerA6updateEv+0x75c> - } - else - { - float linSpeedVisee; - if (m_reculer) - 801296c: 697b ldr r3, [r7, #20] - 801296e: f893 3020 ldrb.w r3, [r3, #32] - 8012972: 2b00 cmp r3, #0 - 8012974: d025 beq.n 80129c2 <_ZN13CommandAllerA6updateEv+0x682> - linSpeedVisee = -sqrt(vFin2+2.0f*distanceBut*decLinMax); - 8012976: 697b ldr r3, [r7, #20] - 8012978: 691c ldr r4, [r3, #16] - 801297a: 6efb ldr r3, [r7, #108] - 801297c: 4618 mov r0, r3 - 801297e: 4619 mov r1, r3 - 8012980: f01a fa12 bl 802cda8 <__addsf3> - 8012984: 4603 mov r3, r0 - 8012986: 4618 mov r0, r3 - 8012988: 6cf9 ldr r1, [r7, #76] - 801298a: f01a fb15 bl 802cfb8 <__aeabi_fmul> - 801298e: 4603 mov r3, r0 - 8012990: 4620 mov r0, r4 - 8012992: 4619 mov r1, r3 - 8012994: f01a fa08 bl 802cda8 <__addsf3> - 8012998: 4603 mov r3, r0 - 801299a: 4618 mov r0, r3 - 801299c: f019 fe9a bl 802c6d4 <__aeabi_f2d> - 80129a0: 4602 mov r2, r0 - 80129a2: 460b mov r3, r1 - 80129a4: 4610 mov r0, r2 - 80129a6: 4619 mov r1, r3 - 80129a8: f01d ffa6 bl 80308f8 - 80129ac: 4602 mov r2, r0 - 80129ae: 460b mov r3, r1 - 80129b0: 4610 mov r0, r2 - 80129b2: 4619 mov r1, r3 - 80129b4: f01a f9a2 bl 802ccfc <__aeabi_d2f> - 80129b8: 4603 mov r3, r0 - 80129ba: f083 4300 eor.w r3, r3, #2147483648 ; 0x80000000 - 80129be: 677b str r3, [r7, #116] - 80129c0: e022 b.n 8012a08 <_ZN13CommandAllerA6updateEv+0x6c8> - else - linSpeedVisee = sqrt(vFin2+2.0f*distanceBut*decLinMax); - 80129c2: 697b ldr r3, [r7, #20] - 80129c4: 691c ldr r4, [r3, #16] - 80129c6: 6efb ldr r3, [r7, #108] - 80129c8: 4618 mov r0, r3 - 80129ca: 4619 mov r1, r3 - 80129cc: f01a f9ec bl 802cda8 <__addsf3> - 80129d0: 4603 mov r3, r0 - 80129d2: 4618 mov r0, r3 - 80129d4: 6cf9 ldr r1, [r7, #76] - 80129d6: f01a faef bl 802cfb8 <__aeabi_fmul> - 80129da: 4603 mov r3, r0 - 80129dc: 4620 mov r0, r4 - 80129de: 4619 mov r1, r3 - 80129e0: f01a f9e2 bl 802cda8 <__addsf3> - 80129e4: 4603 mov r3, r0 - 80129e6: 4618 mov r0, r3 - 80129e8: f019 fe74 bl 802c6d4 <__aeabi_f2d> - 80129ec: 4602 mov r2, r0 - 80129ee: 460b mov r3, r1 - 80129f0: 4610 mov r0, r2 - 80129f2: 4619 mov r1, r3 - 80129f4: f01d ff80 bl 80308f8 - 80129f8: 4602 mov r2, r0 - 80129fa: 460b mov r3, r1 - 80129fc: 4610 mov r0, r2 - 80129fe: 4619 mov r1, r3 - 8012a00: f01a f97c bl 802ccfc <__aeabi_d2f> - 8012a04: 4603 mov r3, r0 - 8012a06: 677b str r3, [r7, #116] - - if (m_reculer) - 8012a08: 697b ldr r3, [r7, #20] - 8012a0a: f893 3020 ldrb.w r3, [r3, #32] - 8012a0e: 2b00 cmp r3, #0 - 8012a10: d00a beq.n 8012a28 <_ZN13CommandAllerA6updateEv+0x6e8> - linSpeed -= accLinMax; - 8012a12: 697b ldr r3, [r7, #20] - 8012a14: 699b ldr r3, [r3, #24] - 8012a16: 4618 mov r0, r3 - 8012a18: 6cb9 ldr r1, [r7, #72] - 8012a1a: f01a f9c3 bl 802cda4 <__aeabi_fsub> - 8012a1e: 4603 mov r3, r0 - 8012a20: 461a mov r2, r3 - 8012a22: 697b ldr r3, [r7, #20] - 8012a24: 619a str r2, [r3, #24] - 8012a26: e009 b.n 8012a3c <_ZN13CommandAllerA6updateEv+0x6fc> - else - linSpeed += accLinMax; - 8012a28: 697b ldr r3, [r7, #20] - 8012a2a: 699b ldr r3, [r3, #24] - 8012a2c: 4618 mov r0, r3 - 8012a2e: 6cb9 ldr r1, [r7, #72] - 8012a30: f01a f9ba bl 802cda8 <__addsf3> - 8012a34: 4603 mov r3, r0 - 8012a36: 461a mov r2, r3 - 8012a38: 697b ldr r3, [r7, #20] - 8012a3a: 619a str r2, [r3, #24] - - if (abs(linSpeed) > abs(linSpeedVisee)) - 8012a3c: 697b ldr r3, [r7, #20] - 8012a3e: 699b ldr r3, [r3, #24] - 8012a40: 4618 mov r0, r3 - 8012a42: 4919 ldr r1, [pc, #100] (8012aa8 <_ZN13CommandAllerA6updateEv+0x768>) - 8012a44: f01a fc72 bl 802d32c <__aeabi_fcmpgt> - 8012a48: 4603 mov r3, r0 - 8012a4a: 2b00 cmp r3, #0 - 8012a4c: d011 beq.n 8012a72 <_ZN13CommandAllerA6updateEv+0x732> - 8012a4e: 697b ldr r3, [r7, #20] - 8012a50: 699a ldr r2, [r3, #24] - 8012a52: f04f 0300 mov.w r3, #0 ; 0x0 - 8012a56: 70bb strb r3, [r7, #2] - 8012a58: 4610 mov r0, r2 - 8012a5a: 4913 ldr r1, [pc, #76] (8012aa8 <_ZN13CommandAllerA6updateEv+0x768>) - 8012a5c: f01a fc3e bl 802d2dc <__aeabi_fcmpeq> - 8012a60: 4603 mov r3, r0 - 8012a62: 2b00 cmp r3, #0 - 8012a64: d102 bne.n 8012a6c <_ZN13CommandAllerA6updateEv+0x72c> - 8012a66: f04f 0301 mov.w r3, #1 ; 0x1 - 8012a6a: 70bb strb r3, [r7, #2] - 8012a6c: 78bb ldrb r3, [r7, #2] - 8012a6e: 613b str r3, [r7, #16] - 8012a70: e00e b.n 8012a90 <_ZN13CommandAllerA6updateEv+0x750> - 8012a72: f04f 0300 mov.w r3, #0 ; 0x0 - 8012a76: 707b strb r3, [r7, #1] - 8012a78: 6f78 ldr r0, [r7, #116] - 8012a7a: 490b ldr r1, [pc, #44] (8012aa8 <_ZN13CommandAllerA6updateEv+0x768>) - 8012a7c: f01a fc2e bl 802d2dc <__aeabi_fcmpeq> - 8012a80: 4603 mov r3, r0 - 8012a82: 2b00 cmp r3, #0 - 8012a84: d102 bne.n 8012a8c <_ZN13CommandAllerA6updateEv+0x74c> - 8012a86: f04f 0301 mov.w r3, #1 ; 0x1 - 8012a8a: 707b strb r3, [r7, #1] - 8012a8c: 787b ldrb r3, [r7, #1] - 8012a8e: 613b str r3, [r7, #16] - 8012a90: 693b ldr r3, [r7, #16] - 8012a92: 2b00 cmp r3, #0 - 8012a94: d002 beq.n 8012a9c <_ZN13CommandAllerA6updateEv+0x75c> - linSpeed = linSpeedVisee; - 8012a96: 697a ldr r2, [r7, #20] - 8012a98: 6f7b ldr r3, [r7, #116] - 8012a9a: 6193 str r3, [r2, #24] - } - } -} - 8012a9c: f107 0778 add.w r7, r7, #120 ; 0x78 - 8012aa0: 46bd mov sp, r7 - 8012aa2: e8bd 83b0 ldmia.w sp!, {r4, r5, r7, r8, r9, pc} - 8012aa6: 46c0 nop (mov r8, r8) - 8012aa8: 00000000 .word 0x00000000 - 8012aac: c0000000 .word 0xc0000000 - 8012ab0: 41200000 .word 0x41200000 - 8012ab4: 3f7851ec .word 0x3f7851ec - -08012ab8 <_ZN18CommandAllerEnArcA6updateEv>: - cote = SGN_POS; - else - cote = SGN_NEG; -} - -void CommandAllerEnArcA::update() - 8012ab8: b580 push {r7, lr} - 8012aba: b094 sub sp, #80 - 8012abc: af00 add r7, sp, #0 - 8012abe: 6078 str r0, [r7, #4] -{ - float accAngMax = ACCELERATION_ANGULAIRE_MAX; - 8012ac0: 4b20 ldr r3, [pc, #128] (8012b44 <_ZN18CommandAllerEnArcA6updateEv+0x8c>) - 8012ac2: 637b str r3, [r7, #52] - float vitAngMax = VITESSE_ANGULAIRE_MAX; - 8012ac4: 4b20 ldr r3, [pc, #128] (8012b48 <_ZN18CommandAllerEnArcA6updateEv+0x90>) - 8012ac6: 63bb str r3, [r7, #56] - float accLinMax = ACCELERATION_LINEAIRE_MAX; - 8012ac8: 4b20 ldr r3, [pc, #128] (8012b4c <_ZN18CommandAllerEnArcA6updateEv+0x94>) - 8012aca: 63fb str r3, [r7, #60] - float decLinMax = DECELERATION_LINEAIRE_MAX; - 8012acc: 4b20 ldr r3, [pc, #128] (8012b50 <_ZN18CommandAllerEnArcA6updateEv+0x98>) - 8012ace: 643b str r3, [r7, #64] - float vitLinMax = vMax;//VITESSE_LINEAIRE_MAX; - 8012ad0: 687b ldr r3, [r7, #4] - 8012ad2: 68db ldr r3, [r3, #12] - 8012ad4: 647b str r3, [r7, #68] - - float angle = Odometrie::odometrie->getPos().getAngle(); - 8012ad6: 4b1f ldr r3, [pc, #124] (8012b54 <_ZN18CommandAllerEnArcA6updateEv+0x9c>) - 8012ad8: 681a ldr r2, [r3, #0] - 8012ada: f107 0314 add.w r3, r7, #20 ; 0x14 - 8012ade: 4618 mov r0, r3 - 8012ae0: 4611 mov r1, r2 - 8012ae2: f000 f85d bl 8012ba0 <_ZNK9Odometrie6getPosEv> - 8012ae6: f107 0314 add.w r3, r7, #20 ; 0x14 - 8012aea: 4618 mov r0, r3 - 8012aec: f005 f8c0 bl 8017c70 <_ZNK17PositionPlusAngle8getAngleEv> - 8012af0: 4603 mov r3, r0 - 8012af2: 64bb str r3, [r7, #72] - Position pos = Odometrie::odometrie->getPos().getPosition(); - 8012af4: 4b17 ldr r3, [pc, #92] (8012b54 <_ZN18CommandAllerEnArcA6updateEv+0x9c>) - 8012af6: 681a ldr r2, [r3, #0] - 8012af8: f107 0320 add.w r3, r7, #32 ; 0x20 - 8012afc: 4618 mov r0, r3 - 8012afe: 4611 mov r1, r2 - 8012b00: f000 f84e bl 8012ba0 <_ZNK9Odometrie6getPosEv> - 8012b04: f107 030c add.w r3, r7, #12 ; 0xc - 8012b08: f107 0220 add.w r2, r7, #32 ; 0x20 - 8012b0c: 4618 mov r0, r3 - 8012b0e: 4611 mov r1, r2 - 8012b10: f005 f89c bl 8017c4c <_ZNK17PositionPlusAngle11getPositionEv> - - float rayon = (centre-but).getNorme(); - 8012b14: 687b ldr r3, [r7, #4] - 8012b16: f103 0220 add.w r2, r3, #32 ; 0x20 - 8012b1a: 687b ldr r3, [r7, #4] - 8012b1c: f103 0c04 add.w ip, r3, #4 ; 0x4 - 8012b20: f107 032c add.w r3, r7, #44 ; 0x2c - 8012b24: 4618 mov r0, r3 - 8012b26: 4611 mov r1, r2 - 8012b28: 4662 mov r2, ip - 8012b2a: f004 fec1 bl 80178b0 <_ZNK8PositionmiERKS_> - 8012b2e: f107 032c add.w r3, r7, #44 ; 0x2c - 8012b32: 4618 mov r0, r3 - 8012b34: f004 ffca bl 8017acc <_ZNK8Position8getNormeEv> - 8012b38: 4603 mov r3, r0 - 8012b3a: 64fb str r3, [r7, #76] - angSpeed = linSpeed/rVise; - else if (abs(linSpeed) > abs(rVise*angSpeed)) - linSpeed = rVise*angSpeed;*/ - - -} - 8012b3c: f107 0750 add.w r7, r7, #80 ; 0x50 - 8012b40: 46bd mov sp, r7 - 8012b42: bd80 pop {r7, pc} - 8012b44: 3983126f .word 0x3983126f - 8012b48: 3c23d70a .word 0x3c23d70a - 8012b4c: 3ccccccd .word 0x3ccccccd - 8012b50: 3ca3d70a .word 0x3ca3d70a - 8012b54: 20000590 .word 0x20000590 - -08012b58 <_ZNK9Odometrie19getVitesseAngulaireEv>: -PositionPlusAngle Odometrie::getPos() const -{ - return positionPlusAngle; -} - -Angle Odometrie::getVitesseAngulaire() const - 8012b58: b480 push {r7} - 8012b5a: b083 sub sp, #12 - 8012b5c: af00 add r7, sp, #0 - 8012b5e: 6078 str r0, [r7, #4] -{ - return vitesseAngulaire; - 8012b60: 687b ldr r3, [r7, #4] - 8012b62: 699b ldr r3, [r3, #24] -} - 8012b64: 4618 mov r0, r3 - 8012b66: f107 070c add.w r7, r7, #12 ; 0xc - 8012b6a: 46bd mov sp, r7 - 8012b6c: bc80 pop {r7} - 8012b6e: 4770 bx lr - -08012b70 <_ZNK9Odometrie18getVitesseLineaireEv>: - -Distance Odometrie::getVitesseLineaire() const - 8012b70: b480 push {r7} - 8012b72: b083 sub sp, #12 - 8012b74: af00 add r7, sp, #0 - 8012b76: 6078 str r0, [r7, #4] -{ - return vitesseLineaire; - 8012b78: 687b ldr r3, [r7, #4] - 8012b7a: 695b ldr r3, [r3, #20] -} - 8012b7c: 4618 mov r0, r3 - 8012b7e: f107 070c add.w r7, r7, #12 ; 0xc - 8012b82: 46bd mov sp, r7 - 8012b84: bc80 pop {r7} - 8012b86: 4770 bx lr - -08012b88 <_ZNK9Odometrie16getAbsoluteAngleEv>: - -Angle Odometrie::getAbsoluteAngle() const - 8012b88: b480 push {r7} - 8012b8a: b083 sub sp, #12 - 8012b8c: af00 add r7, sp, #0 - 8012b8e: 6078 str r0, [r7, #4] -{ - return absAngle; - 8012b90: 687b ldr r3, [r7, #4] - 8012b92: 6f1b ldr r3, [r3, #112] -} - 8012b94: 4618 mov r0, r3 - 8012b96: f107 070c add.w r7, r7, #12 ; 0xc - 8012b9a: 46bd mov sp, r7 - 8012b9c: bc80 pop {r7} - 8012b9e: 4770 bx lr - -08012ba0 <_ZNK9Odometrie6getPosEv>: - posY = p.getPosition().getY(); - ang = p.getAngle(); - positionPlusAngle = p; -} - -PositionPlusAngle Odometrie::getPos() const - 8012ba0: b590 push {r4, r7, lr} - 8012ba2: b083 sub sp, #12 - 8012ba4: af00 add r7, sp, #0 - 8012ba6: 4604 mov r4, r0 - 8012ba8: 6079 str r1, [r7, #4] -{ - return positionPlusAngle; - 8012baa: 4622 mov r2, r4 - 8012bac: 687b ldr r3, [r7, #4] - 8012bae: f103 0308 add.w r3, r3, #8 ; 0x8 - 8012bb2: 4610 mov r0, r2 - 8012bb4: 4619 mov r1, r3 - 8012bb6: f005 f831 bl 8017c1c <_ZN17PositionPlusAngleC1ERKS_> -} - 8012bba: 4620 mov r0, r4 - 8012bbc: 4620 mov r0, r4 - 8012bbe: f107 070c add.w r7, r7, #12 ; 0xc - 8012bc2: 46bd mov sp, r7 - 8012bc4: bd90 pop {r4, r7, pc} - 8012bc6: 46c0 nop (mov r8, r8) - -08012bc8 <_ZN9Odometrie6setPosERK17PositionPlusAngle>: - positionPlusAngle.setX(posX); - positionPlusAngle.setY(posY); - -} - -void Odometrie::setPos(const PositionPlusAngle& p) - 8012bc8: b580 push {r7, lr} - 8012bca: b086 sub sp, #24 - 8012bcc: af00 add r7, sp, #0 - 8012bce: 6078 str r0, [r7, #4] - 8012bd0: 6039 str r1, [r7, #0] -{ - posX = p.getPosition().getX(); - 8012bd2: f107 0308 add.w r3, r7, #8 ; 0x8 - 8012bd6: 4618 mov r0, r3 - 8012bd8: 6839 ldr r1, [r7, #0] - 8012bda: f005 f837 bl 8017c4c <_ZNK17PositionPlusAngle11getPositionEv> - 8012bde: f107 0308 add.w r3, r7, #8 ; 0x8 - 8012be2: 4618 mov r0, r3 - 8012be4: f004 fe0a bl 80177fc <_ZNK8Position4getXEv> - 8012be8: 4603 mov r3, r0 - 8012bea: 4618 mov r0, r3 - 8012bec: f019 fd72 bl 802c6d4 <__aeabi_f2d> - 8012bf0: 4602 mov r2, r0 - 8012bf2: 460b mov r3, r1 - 8012bf4: 6879 ldr r1, [r7, #4] - 8012bf6: e9c1 2316 strd r2, r3, [r1, #88] - posY = p.getPosition().getY(); - 8012bfa: f107 0310 add.w r3, r7, #16 ; 0x10 - 8012bfe: 4618 mov r0, r3 - 8012c00: 6839 ldr r1, [r7, #0] - 8012c02: f005 f823 bl 8017c4c <_ZNK17PositionPlusAngle11getPositionEv> - 8012c06: f107 0310 add.w r3, r7, #16 ; 0x10 - 8012c0a: 4618 mov r0, r3 - 8012c0c: f004 fe02 bl 8017814 <_ZNK8Position4getYEv> - 8012c10: 4603 mov r3, r0 - 8012c12: 4618 mov r0, r3 - 8012c14: f019 fd5e bl 802c6d4 <__aeabi_f2d> - 8012c18: 4602 mov r2, r0 - 8012c1a: 460b mov r3, r1 - 8012c1c: 6879 ldr r1, [r7, #4] - 8012c1e: e9c1 2318 strd r2, r3, [r1, #96] - ang = p.getAngle(); - 8012c22: 6838 ldr r0, [r7, #0] - 8012c24: f005 f824 bl 8017c70 <_ZNK17PositionPlusAngle8getAngleEv> - 8012c28: 4603 mov r3, r0 - 8012c2a: 4618 mov r0, r3 - 8012c2c: f019 fd52 bl 802c6d4 <__aeabi_f2d> - 8012c30: 4602 mov r2, r0 - 8012c32: 460b mov r3, r1 - 8012c34: 6879 ldr r1, [r7, #4] - 8012c36: e9c1 231a strd r2, r3, [r1, #104] - positionPlusAngle = p; - 8012c3a: 687b ldr r3, [r7, #4] - 8012c3c: f103 0308 add.w r3, r3, #8 ; 0x8 - 8012c40: 4618 mov r0, r3 - 8012c42: 6839 ldr r1, [r7, #0] - 8012c44: f005 f85a bl 8017cfc <_ZN17PositionPlusAngleaSERKS_> -} - 8012c48: f107 0718 add.w r7, r7, #24 ; 0x18 - 8012c4c: 46bd mov sp, r7 - 8012c4e: bd80 pop {r7, pc} - -08012c50 <_ZN9Odometrie8setAngleEf>: - setPos(posPA); - - odometrie->posY = y; -} - -void Odometrie::setAngle(Angle a) - 8012c50: b590 push {r4, r7, lr} - 8012c52: b087 sub sp, #28 - 8012c54: af00 add r7, sp, #0 - 8012c56: 6078 str r0, [r7, #4] - 8012c58: 6039 str r1, [r7, #0] -{ - PositionPlusAngle posPA = getPos(); - 8012c5a: f107 030c add.w r3, r7, #12 ; 0xc - 8012c5e: 4618 mov r0, r3 - 8012c60: 6879 ldr r1, [r7, #4] - 8012c62: f7ff ff9d bl 8012ba0 <_ZNK9Odometrie6getPosEv> - posPA.setAngle(a); - 8012c66: f107 030c add.w r3, r7, #12 ; 0xc - 8012c6a: 4618 mov r0, r3 - 8012c6c: 6839 ldr r1, [r7, #0] - 8012c6e: f005 f80b bl 8017c88 <_ZN17PositionPlusAngle8setAngleEf> - setPos(posPA); - 8012c72: f107 030c add.w r3, r7, #12 ; 0xc - 8012c76: 6878 ldr r0, [r7, #4] - 8012c78: 4619 mov r1, r3 - 8012c7a: f7ff ffa5 bl 8012bc8 <_ZN9Odometrie6setPosERK17PositionPlusAngle> - - odometrie->ang = a; - 8012c7e: 4b06 ldr r3, [pc, #24] (8012c98 <_ZN9Odometrie8setAngleEf+0x48>) - 8012c80: 681c ldr r4, [r3, #0] - 8012c82: 6838 ldr r0, [r7, #0] - 8012c84: f019 fd26 bl 802c6d4 <__aeabi_f2d> - 8012c88: 4602 mov r2, r0 - 8012c8a: 460b mov r3, r1 - 8012c8c: e9c4 231a strd r2, r3, [r4, #104] -} - 8012c90: f107 071c add.w r7, r7, #28 ; 0x1c - 8012c94: 46bd mov sp, r7 - 8012c96: bd90 pop {r4, r7, pc} - 8012c98: 20000590 .word 0x20000590 - -08012c9c <_ZN9Odometrie4setYEf>: - posPA.setPosition(pos); - setPos(posPA); - odometrie->posX = x; -} - -void Odometrie::setY(Distance y) - 8012c9c: b590 push {r4, r7, lr} - 8012c9e: b089 sub sp, #36 - 8012ca0: af00 add r7, sp, #0 - 8012ca2: 6078 str r0, [r7, #4] - 8012ca4: 6039 str r1, [r7, #0] -{ - PositionPlusAngle posPA = getPos(); - 8012ca6: f107 0314 add.w r3, r7, #20 ; 0x14 - 8012caa: 4618 mov r0, r3 - 8012cac: 6879 ldr r1, [r7, #4] - 8012cae: f7ff ff77 bl 8012ba0 <_ZNK9Odometrie6getPosEv> - Position pos = posPA.getPosition(); - 8012cb2: f107 030c add.w r3, r7, #12 ; 0xc - 8012cb6: f107 0214 add.w r2, r7, #20 ; 0x14 - 8012cba: 4618 mov r0, r3 - 8012cbc: 4611 mov r1, r2 - 8012cbe: f004 ffc5 bl 8017c4c <_ZNK17PositionPlusAngle11getPositionEv> - pos.setY(y); - 8012cc2: f107 030c add.w r3, r7, #12 ; 0xc - 8012cc6: 4618 mov r0, r3 - 8012cc8: 6839 ldr r1, [r7, #0] - 8012cca: f004 fdbd bl 8017848 <_ZN8Position4setYEf> - posPA.setPosition(pos); - 8012cce: f107 0314 add.w r3, r7, #20 ; 0x14 - 8012cd2: f107 020c add.w r2, r7, #12 ; 0xc - 8012cd6: 4618 mov r0, r3 - 8012cd8: 4611 mov r1, r2 - 8012cda: f004 ffff bl 8017cdc <_ZN17PositionPlusAngle11setPositionERK8Position> - setPos(posPA); - 8012cde: f107 0314 add.w r3, r7, #20 ; 0x14 - 8012ce2: 6878 ldr r0, [r7, #4] - 8012ce4: 4619 mov r1, r3 - 8012ce6: f7ff ff6f bl 8012bc8 <_ZN9Odometrie6setPosERK17PositionPlusAngle> - - odometrie->posY = y; - 8012cea: 4b06 ldr r3, [pc, #24] (8012d04 <_ZN9Odometrie4setYEf+0x68>) - 8012cec: 681c ldr r4, [r3, #0] - 8012cee: 6838 ldr r0, [r7, #0] - 8012cf0: f019 fcf0 bl 802c6d4 <__aeabi_f2d> - 8012cf4: 4602 mov r2, r0 - 8012cf6: 460b mov r3, r1 - 8012cf8: e9c4 2318 strd r2, r3, [r4, #96] -} - 8012cfc: f107 0724 add.w r7, r7, #36 ; 0x24 - 8012d00: 46bd mov sp, r7 - 8012d02: bd90 pop {r4, r7, pc} - 8012d04: 20000590 .word 0x20000590 - -08012d08 <_ZN9Odometrie4setXEf>: -Angle Odometrie::getAbsoluteAngle() const -{ - return absAngle; -} - -void Odometrie::setX(Distance x) - 8012d08: b590 push {r4, r7, lr} - 8012d0a: b089 sub sp, #36 - 8012d0c: af00 add r7, sp, #0 - 8012d0e: 6078 str r0, [r7, #4] - 8012d10: 6039 str r1, [r7, #0] -{ - PositionPlusAngle posPA = getPos(); - 8012d12: f107 0314 add.w r3, r7, #20 ; 0x14 - 8012d16: 4618 mov r0, r3 - 8012d18: 6879 ldr r1, [r7, #4] - 8012d1a: f7ff ff41 bl 8012ba0 <_ZNK9Odometrie6getPosEv> - Position pos = posPA.getPosition(); - 8012d1e: f107 030c add.w r3, r7, #12 ; 0xc - 8012d22: f107 0214 add.w r2, r7, #20 ; 0x14 - 8012d26: 4618 mov r0, r3 - 8012d28: 4611 mov r1, r2 - 8012d2a: f004 ff8f bl 8017c4c <_ZNK17PositionPlusAngle11getPositionEv> - pos.setX(x); - 8012d2e: f107 030c add.w r3, r7, #12 ; 0xc - 8012d32: 4618 mov r0, r3 - 8012d34: 6839 ldr r1, [r7, #0] - 8012d36: f004 fd79 bl 801782c <_ZN8Position4setXEf> - posPA.setPosition(pos); - 8012d3a: f107 0314 add.w r3, r7, #20 ; 0x14 - 8012d3e: f107 020c add.w r2, r7, #12 ; 0xc - 8012d42: 4618 mov r0, r3 - 8012d44: 4611 mov r1, r2 - 8012d46: f004 ffc9 bl 8017cdc <_ZN17PositionPlusAngle11setPositionERK8Position> - setPos(posPA); - 8012d4a: f107 0314 add.w r3, r7, #20 ; 0x14 - 8012d4e: 6878 ldr r0, [r7, #4] - 8012d50: 4619 mov r1, r3 - 8012d52: f7ff ff39 bl 8012bc8 <_ZN9Odometrie6setPosERK17PositionPlusAngle> - odometrie->posX = x; - 8012d56: 4b06 ldr r3, [pc, #24] (8012d70 <_ZN9Odometrie4setXEf+0x68>) - 8012d58: 681c ldr r4, [r3, #0] - 8012d5a: 6838 ldr r0, [r7, #0] - 8012d5c: f019 fcba bl 802c6d4 <__aeabi_f2d> - 8012d60: 4602 mov r2, r0 - 8012d62: 460b mov r3, r1 - 8012d64: e9c4 2316 strd r2, r3, [r4, #88] -} - 8012d68: f107 0724 add.w r7, r7, #36 ; 0x24 - 8012d6c: 46bd mov sp, r7 - 8012d6e: bd90 pop {r4, r7, pc} - 8012d70: 20000590 .word 0x20000590 - -08012d74 <_ZN9Odometrie6updateEv>: -{ - delete roueCodeuseGauche; - delete roueCodeuseDroite; -} - -void Odometrie::update() - 8012d74: e92d 43b0 stmdb sp!, {r4, r5, r7, r8, r9, lr} - 8012d78: b094 sub sp, #80 - 8012d7a: af00 add r7, sp, #0 - 8012d7c: 6078 str r0, [r7, #4] -{ - // pour filtrer les ticks - for (int i = tailleTabPrevTicks-2 ; i >= 0; i--) - 8012d7e: f04f 0300 mov.w r3, #0 ; 0x0 - 8012d82: 633b str r3, [r7, #48] - 8012d84: e027 b.n 8012dd6 <_ZN9Odometrie6updateEv+0x62> - { - prevDeltaTicksRoueDroite[i+1] = prevDeltaTicksRoueDroite[i]; - 8012d86: 6b3b ldr r3, [r7, #48] - 8012d88: f103 0001 add.w r0, r3, #1 ; 0x1 - 8012d8c: 6b3b ldr r3, [r7, #48] - 8012d8e: 687a ldr r2, [r7, #4] - 8012d90: f103 0308 add.w r3, r3, #8 ; 0x8 - 8012d94: ea4f 0383 mov.w r3, r3, lsl #2 - 8012d98: 4413 add r3, r2 - 8012d9a: 6859 ldr r1, [r3, #4] - 8012d9c: 687a ldr r2, [r7, #4] - 8012d9e: f100 0308 add.w r3, r0, #8 ; 0x8 - 8012da2: ea4f 0383 mov.w r3, r3, lsl #2 - 8012da6: 4413 add r3, r2 - 8012da8: 6059 str r1, [r3, #4] - prevDeltaTicksRoueGauche[i+1] = prevDeltaTicksRoueGauche[i]; - 8012daa: 6b3b ldr r3, [r7, #48] - 8012dac: f103 0001 add.w r0, r3, #1 ; 0x1 - 8012db0: 6b3b ldr r3, [r7, #48] - 8012db2: 687a ldr r2, [r7, #4] - 8012db4: f103 0306 add.w r3, r3, #6 ; 0x6 - 8012db8: ea4f 0383 mov.w r3, r3, lsl #2 - 8012dbc: 4413 add r3, r2 - 8012dbe: 6859 ldr r1, [r3, #4] - 8012dc0: 687a ldr r2, [r7, #4] - 8012dc2: f100 0306 add.w r3, r0, #6 ; 0x6 - 8012dc6: ea4f 0383 mov.w r3, r3, lsl #2 - 8012dca: 4413 add r3, r2 - 8012dcc: 6059 str r1, [r3, #4] -} - -void Odometrie::update() -{ - // pour filtrer les ticks - for (int i = tailleTabPrevTicks-2 ; i >= 0; i--) - 8012dce: 6b3b ldr r3, [r7, #48] - 8012dd0: f103 33ff add.w r3, r3, #4294967295 ; 0xffffffff - 8012dd4: 633b str r3, [r7, #48] - 8012dd6: 6b3b ldr r3, [r7, #48] - 8012dd8: 2b00 cmp r3, #0 - 8012dda: dad4 bge.n 8012d86 <_ZN9Odometrie6updateEv+0x12> - prevDeltaTicksRoueDroite[i+1] = prevDeltaTicksRoueDroite[i]; - prevDeltaTicksRoueGauche[i+1] = prevDeltaTicksRoueGauche[i]; - } - - // On a le moins pour prendre en compte que les deux roux codeuses sont montées dans des sens opposés car pas du même coté du robot - prevDeltaTicksRoueDroite[0] = -roueCodeuseDroite->getTickValue(); - 8012ddc: 687b ldr r3, [r7, #4] - 8012dde: 681b ldr r3, [r3, #0] - 8012de0: 4618 mov r0, r3 - 8012de2: f002 fcd7 bl 8015794 <_ZN22QuadratureCoderHandler12getTickValueEv> - 8012de6: 4603 mov r3, r0 - 8012de8: b29b uxth r3, r3 - 8012dea: b21b sxth r3, r3 - 8012dec: f1c3 0200 rsb r2, r3, #0 ; 0x0 - 8012df0: 687b ldr r3, [r7, #4] - 8012df2: 625a str r2, [r3, #36] - #if defined(STM32F40_41xxx) || defined(STM32F10X_MD) - prevDeltaTicksRoueGauche[0] = -roueCodeuseGauche->getTickValue(); - 8012df4: 687b ldr r3, [r7, #4] - 8012df6: 685b ldr r3, [r3, #4] - 8012df8: 4618 mov r0, r3 - 8012dfa: f002 fccb bl 8015794 <_ZN22QuadratureCoderHandler12getTickValueEv> - 8012dfe: 4603 mov r3, r0 - 8012e00: b29b uxth r3, r3 - 8012e02: b21b sxth r3, r3 - 8012e04: f1c3 0200 rsb r2, r3, #0 ; 0x0 - 8012e08: 687b ldr r3, [r7, #4] - 8012e0a: 61da str r2, [r3, #28] - #else - prevDeltaTicksRoueGauche[0] = roueCodeuseGauche->getTickValue(); - #endif - - int32_t sommeGauche = 0; - 8012e0c: f04f 0300 mov.w r3, #0 ; 0x0 - 8012e10: 60bb str r3, [r7, #8] - int32_t sommeDroite = 0; - 8012e12: f04f 0300 mov.w r3, #0 ; 0x0 - 8012e16: 60fb str r3, [r7, #12] - for (int i = 0 ; i < tailleTabPrevTicks ; i++) - 8012e18: f04f 0300 mov.w r3, #0 ; 0x0 - 8012e1c: 637b str r3, [r7, #52] - 8012e1e: e019 b.n 8012e54 <_ZN9Odometrie6updateEv+0xe0> - { - sommeGauche += prevDeltaTicksRoueGauche[i]; - 8012e20: 6b7b ldr r3, [r7, #52] - 8012e22: 687a ldr r2, [r7, #4] - 8012e24: f103 0306 add.w r3, r3, #6 ; 0x6 - 8012e28: ea4f 0383 mov.w r3, r3, lsl #2 - 8012e2c: 4413 add r3, r2 - 8012e2e: 685a ldr r2, [r3, #4] - 8012e30: 68bb ldr r3, [r7, #8] - 8012e32: 4413 add r3, r2 - 8012e34: 60bb str r3, [r7, #8] - sommeDroite += prevDeltaTicksRoueDroite[i]; - 8012e36: 6b7b ldr r3, [r7, #52] - 8012e38: 687a ldr r2, [r7, #4] - 8012e3a: f103 0308 add.w r3, r3, #8 ; 0x8 - 8012e3e: ea4f 0383 mov.w r3, r3, lsl #2 - 8012e42: 4413 add r3, r2 - 8012e44: 685a ldr r2, [r3, #4] - 8012e46: 68fb ldr r3, [r7, #12] - 8012e48: 4413 add r3, r2 - 8012e4a: 60fb str r3, [r7, #12] - prevDeltaTicksRoueGauche[0] = roueCodeuseGauche->getTickValue(); - #endif - - int32_t sommeGauche = 0; - int32_t sommeDroite = 0; - for (int i = 0 ; i < tailleTabPrevTicks ; i++) - 8012e4c: 6b7b ldr r3, [r7, #52] - 8012e4e: f103 0301 add.w r3, r3, #1 ; 0x1 - 8012e52: 637b str r3, [r7, #52] - 8012e54: 6b7b ldr r3, [r7, #52] - 8012e56: 2b01 cmp r3, #1 - 8012e58: dde2 ble.n 8012e20 <_ZN9Odometrie6updateEv+0xac> - sommeGauche += prevDeltaTicksRoueGauche[i]; - sommeDroite += prevDeltaTicksRoueDroite[i]; - } - - // double filteredDeltaTicksRoueGauche = (deltaTicksRoueGauche+prevDeltaTicksRoueGauche)/2.0; - double filteredDeltaTicksRoueGauche = (double)sommeGauche/(double)tailleTabPrevTicks; - 8012e5a: 68b8 ldr r0, [r7, #8] - 8012e5c: f019 fc28 bl 802c6b0 <__aeabi_i2d> - 8012e60: 4602 mov r2, r0 - 8012e62: 460b mov r3, r1 - 8012e64: 4610 mov r0, r2 - 8012e66: 4619 mov r1, r3 - 8012e68: f04f 0200 mov.w r2, #0 ; 0x0 - 8012e6c: f04f 4380 mov.w r3, #1073741824 ; 0x40000000 - 8012e70: f019 fdae bl 802c9d0 <__aeabi_ddiv> - 8012e74: 4602 mov r2, r0 - 8012e76: 460b mov r3, r1 - 8012e78: e9c7 2304 strd r2, r3, [r7, #16] - - // double filteredDeltaTicksRoueDroite = (deltaTicksRoueDroite+prevDeltaTicksRoueDroite)/2.0; - double filteredDeltaTicksRoueDroite = (double)sommeDroite/(double)tailleTabPrevTicks; - 8012e7c: 68f8 ldr r0, [r7, #12] - 8012e7e: f019 fc17 bl 802c6b0 <__aeabi_i2d> - 8012e82: 4602 mov r2, r0 - 8012e84: 460b mov r3, r1 - 8012e86: 4610 mov r0, r2 - 8012e88: 4619 mov r1, r3 - 8012e8a: f04f 0200 mov.w r2, #0 ; 0x0 - 8012e8e: f04f 4380 mov.w r3, #1073741824 ; 0x40000000 - 8012e92: f019 fd9d bl 802c9d0 <__aeabi_ddiv> - 8012e96: 4602 mov r2, r0 - 8012e98: 460b mov r3, r1 - 8012e9a: e9c7 2306 strd r2, r3, [r7, #24] - - double tmpDeltaAngle = (filteredDeltaTicksRoueGauche-filteredDeltaTicksRoueDroite)*coeffAngle; // cf coef angle - 8012e9e: e9d7 0104 ldrd r0, r1, [r7, #16] - 8012ea2: e9d7 2306 ldrd r2, r3, [r7, #24] - 8012ea6: f019 fab5 bl 802c414 <__aeabi_dsub> - 8012eaa: 4602 mov r2, r0 - 8012eac: 460b mov r3, r1 - 8012eae: 4610 mov r0, r2 - 8012eb0: 4619 mov r1, r3 - 8012eb2: 687b ldr r3, [r7, #4] - 8012eb4: e9d3 2314 ldrd r2, r3, [r3, #80] - 8012eb8: f019 fc60 bl 802c77c <__aeabi_dmul> - 8012ebc: 4602 mov r2, r0 - 8012ebe: 460b mov r3, r1 - 8012ec0: e9c7 2308 strd r2, r3, [r7, #32] - - double tmpDist = (filteredDeltaTicksRoueGauche+filteredDeltaTicksRoueDroite)*coeffDistance; // soit le nombre moyen de tours de roue * le perimetre de la roue - 8012ec4: e9d7 0104 ldrd r0, r1, [r7, #16] - 8012ec8: e9d7 2306 ldrd r2, r3, [r7, #24] - 8012ecc: f019 faa4 bl 802c418 <__adddf3> - 8012ed0: 4602 mov r2, r0 - 8012ed2: 460b mov r3, r1 - 8012ed4: 4610 mov r0, r2 - 8012ed6: 4619 mov r1, r3 - 8012ed8: 687b ldr r3, [r7, #4] - 8012eda: e9d3 2312 ldrd r2, r3, [r3, #72] - 8012ede: f019 fc4d bl 802c77c <__aeabi_dmul> - 8012ee2: 4602 mov r2, r0 - 8012ee4: 460b mov r3, r1 - 8012ee6: e9c7 230a strd r2, r3, [r7, #40] - - vitesseLineaire = Distance(tmpDist); - 8012eea: e9d7 010a ldrd r0, r1, [r7, #40] - 8012eee: f019 ff05 bl 802ccfc <__aeabi_d2f> - 8012ef2: 4602 mov r2, r0 - 8012ef4: 687b ldr r3, [r7, #4] - 8012ef6: 615a str r2, [r3, #20] - - vitesseAngulaire = Angle(tmpDeltaAngle); - 8012ef8: e9d7 0108 ldrd r0, r1, [r7, #32] - 8012efc: f019 fefe bl 802ccfc <__aeabi_d2f> - 8012f00: 4602 mov r2, r0 - 8012f02: 687b ldr r3, [r7, #4] - 8012f04: 619a str r2, [r3, #24] - - //positionPlusAngle.setAngle(positionPlusAngle.getAngle()+vitesseAngulaire); - //positionPlusAngle.setPosition(positionPlusAngle.getPosition() + Position(tmpDist*cos(positionPlusAngle.getAngle()), tmpDist*sin(positionPlusAngle.getAngle()))); //mettre sinx si ça marche pas et non sin - - - if (tmpDeltaAngle == 0.0) - 8012f06: e9d7 0108 ldrd r0, r1, [r7, #32] - 8012f0a: f04f 0200 mov.w r2, #0 ; 0x0 - 8012f0e: f04f 0300 mov.w r3, #0 ; 0x0 - 8012f12: f019 fe99 bl 802cc48 <__aeabi_dcmpeq> - 8012f16: 4603 mov r3, r0 - 8012f18: 2b00 cmp r3, #0 - 8012f1a: d03a beq.n 8012f92 <_ZN9Odometrie6updateEv+0x21e> - { - posX += tmpDist*cos(ang); - 8012f1c: 687b ldr r3, [r7, #4] - 8012f1e: e9d3 4516 ldrd r4, r5, [r3, #88] - 8012f22: 687b ldr r3, [r7, #4] - 8012f24: e9d3 231a ldrd r2, r3, [r3, #104] - 8012f28: 4610 mov r0, r2 - 8012f2a: 4619 mov r1, r3 - 8012f2c: f01d fc56 bl 80307dc - 8012f30: 4602 mov r2, r0 - 8012f32: 460b mov r3, r1 - 8012f34: 4610 mov r0, r2 - 8012f36: 4619 mov r1, r3 - 8012f38: e9d7 230a ldrd r2, r3, [r7, #40] - 8012f3c: f019 fc1e bl 802c77c <__aeabi_dmul> - 8012f40: 4602 mov r2, r0 - 8012f42: 460b mov r3, r1 - 8012f44: 4620 mov r0, r4 - 8012f46: 4629 mov r1, r5 - 8012f48: f019 fa66 bl 802c418 <__adddf3> - 8012f4c: 4602 mov r2, r0 - 8012f4e: 460b mov r3, r1 - 8012f50: 6879 ldr r1, [r7, #4] - 8012f52: e9c1 2316 strd r2, r3, [r1, #88] - posY += tmpDist*sin(ang); - 8012f56: 687b ldr r3, [r7, #4] - 8012f58: e9d3 4518 ldrd r4, r5, [r3, #96] - 8012f5c: 687b ldr r3, [r7, #4] - 8012f5e: e9d3 231a ldrd r2, r3, [r3, #104] - 8012f62: 4610 mov r0, r2 - 8012f64: 4619 mov r1, r3 - 8012f66: f01d fc7b bl 8030860 - 8012f6a: 4602 mov r2, r0 - 8012f6c: 460b mov r3, r1 - 8012f6e: 4610 mov r0, r2 - 8012f70: 4619 mov r1, r3 - 8012f72: e9d7 230a ldrd r2, r3, [r7, #40] - 8012f76: f019 fc01 bl 802c77c <__aeabi_dmul> - 8012f7a: 4602 mov r2, r0 - 8012f7c: 460b mov r3, r1 - 8012f7e: 4620 mov r0, r4 - 8012f80: 4629 mov r1, r5 - 8012f82: f019 fa49 bl 802c418 <__adddf3> - 8012f86: 4602 mov r2, r0 - 8012f88: 460b mov r3, r1 - 8012f8a: 6879 ldr r1, [r7, #4] - 8012f8c: e9c1 2318 strd r2, r3, [r1, #96] - 8012f90: e0f3 b.n 801317a <_ZN9Odometrie6updateEv+0x406> - } - else - { - double rayonCourbure = tmpDist/tmpDeltaAngle; - 8012f92: e9d7 010a ldrd r0, r1, [r7, #40] - 8012f96: e9d7 2308 ldrd r2, r3, [r7, #32] - 8012f9a: f019 fd19 bl 802c9d0 <__aeabi_ddiv> - 8012f9e: 4602 mov r2, r0 - 8012fa0: 460b mov r3, r1 - 8012fa2: e9c7 230e strd r2, r3, [r7, #56] - double distAvancee = rayonCourbure*sin(tmpDeltaAngle); - 8012fa6: e9d7 0108 ldrd r0, r1, [r7, #32] - 8012faa: f01d fc59 bl 8030860 - 8012fae: 4602 mov r2, r0 - 8012fb0: 460b mov r3, r1 - 8012fb2: 4610 mov r0, r2 - 8012fb4: 4619 mov r1, r3 - 8012fb6: e9d7 230e ldrd r2, r3, [r7, #56] - 8012fba: f019 fbdf bl 802c77c <__aeabi_dmul> - 8012fbe: 4602 mov r2, r0 - 8012fc0: 460b mov r3, r1 - 8012fc2: e9c7 2310 strd r2, r3, [r7, #64] - double distTranslatee = rayonCourbure*(1.0-cos(tmpDeltaAngle)); - 8012fc6: e9d7 0108 ldrd r0, r1, [r7, #32] - 8012fca: f01d fc07 bl 80307dc - 8012fce: 4602 mov r2, r0 - 8012fd0: 460b mov r3, r1 - 8012fd2: f04f 0000 mov.w r0, #0 ; 0x0 - 8012fd6: f04f 517e mov.w r1, #1065353216 ; 0x3f800000 - 8012fda: f501 01e0 add.w r1, r1, #7340032 ; 0x700000 - 8012fde: f019 fa19 bl 802c414 <__aeabi_dsub> - 8012fe2: 4602 mov r2, r0 - 8012fe4: 460b mov r3, r1 - 8012fe6: 4610 mov r0, r2 - 8012fe8: 4619 mov r1, r3 - 8012fea: e9d7 230e ldrd r2, r3, [r7, #56] - 8012fee: f019 fbc5 bl 802c77c <__aeabi_dmul> - 8012ff2: 4602 mov r2, r0 - 8012ff4: 460b mov r3, r1 - 8012ff6: e9c7 2312 strd r2, r3, [r7, #72] - - posX += distAvancee*cos(ang)-distTranslatee*sin(ang); - 8012ffa: 687b ldr r3, [r7, #4] - 8012ffc: e9d3 8916 ldrd r8, r9, [r3, #88] - 8013000: 687b ldr r3, [r7, #4] - 8013002: e9d3 231a ldrd r2, r3, [r3, #104] - 8013006: 4610 mov r0, r2 - 8013008: 4619 mov r1, r3 - 801300a: f01d fbe7 bl 80307dc - 801300e: 4602 mov r2, r0 - 8013010: 460b mov r3, r1 - 8013012: 4610 mov r0, r2 - 8013014: 4619 mov r1, r3 - 8013016: e9d7 2310 ldrd r2, r3, [r7, #64] - 801301a: f019 fbaf bl 802c77c <__aeabi_dmul> - 801301e: 4602 mov r2, r0 - 8013020: 460b mov r3, r1 - 8013022: 4614 mov r4, r2 - 8013024: 461d mov r5, r3 - 8013026: 687b ldr r3, [r7, #4] - 8013028: e9d3 231a ldrd r2, r3, [r3, #104] - 801302c: 4610 mov r0, r2 - 801302e: 4619 mov r1, r3 - 8013030: f01d fc16 bl 8030860 - 8013034: 4602 mov r2, r0 - 8013036: 460b mov r3, r1 - 8013038: 4610 mov r0, r2 - 801303a: 4619 mov r1, r3 - 801303c: e9d7 2312 ldrd r2, r3, [r7, #72] - 8013040: f019 fb9c bl 802c77c <__aeabi_dmul> - 8013044: 4602 mov r2, r0 - 8013046: 460b mov r3, r1 - 8013048: 4620 mov r0, r4 - 801304a: 4629 mov r1, r5 - 801304c: f019 f9e2 bl 802c414 <__aeabi_dsub> - 8013050: 4602 mov r2, r0 - 8013052: 460b mov r3, r1 - 8013054: 4640 mov r0, r8 - 8013056: 4649 mov r1, r9 - 8013058: f019 f9de bl 802c418 <__adddf3> - 801305c: 4602 mov r2, r0 - 801305e: 460b mov r3, r1 - 8013060: 6879 ldr r1, [r7, #4] - 8013062: e9c1 2316 strd r2, r3, [r1, #88] - posY += distAvancee*sin(ang)+distTranslatee*cos(ang); - 8013066: 687b ldr r3, [r7, #4] - 8013068: e9d3 8918 ldrd r8, r9, [r3, #96] - 801306c: 687b ldr r3, [r7, #4] - 801306e: e9d3 231a ldrd r2, r3, [r3, #104] - 8013072: 4610 mov r0, r2 - 8013074: 4619 mov r1, r3 - 8013076: f01d fbf3 bl 8030860 - 801307a: 4602 mov r2, r0 - 801307c: 460b mov r3, r1 - 801307e: 4610 mov r0, r2 - 8013080: 4619 mov r1, r3 - 8013082: e9d7 2310 ldrd r2, r3, [r7, #64] - 8013086: f019 fb79 bl 802c77c <__aeabi_dmul> - 801308a: 4602 mov r2, r0 - 801308c: 460b mov r3, r1 - 801308e: 4614 mov r4, r2 - 8013090: 461d mov r5, r3 - 8013092: 687b ldr r3, [r7, #4] - 8013094: e9d3 231a ldrd r2, r3, [r3, #104] - 8013098: 4610 mov r0, r2 - 801309a: 4619 mov r1, r3 - 801309c: f01d fb9e bl 80307dc - 80130a0: 4602 mov r2, r0 - 80130a2: 460b mov r3, r1 - 80130a4: 4610 mov r0, r2 - 80130a6: 4619 mov r1, r3 - 80130a8: e9d7 2312 ldrd r2, r3, [r7, #72] - 80130ac: f019 fb66 bl 802c77c <__aeabi_dmul> - 80130b0: 4602 mov r2, r0 - 80130b2: 460b mov r3, r1 - 80130b4: 4620 mov r0, r4 - 80130b6: 4629 mov r1, r5 - 80130b8: f019 f9ae bl 802c418 <__adddf3> - 80130bc: 4602 mov r2, r0 - 80130be: 460b mov r3, r1 - 80130c0: 4640 mov r0, r8 - 80130c2: 4649 mov r1, r9 - 80130c4: f019 f9a8 bl 802c418 <__adddf3> - 80130c8: 4602 mov r2, r0 - 80130ca: 460b mov r3, r1 - 80130cc: 6879 ldr r1, [r7, #4] - 80130ce: e9c1 2318 strd r2, r3, [r1, #96] - - ang += vitesseAngulaire; - 80130d2: 687b ldr r3, [r7, #4] - 80130d4: e9d3 451a ldrd r4, r5, [r3, #104] - 80130d8: 687b ldr r3, [r7, #4] - 80130da: 699b ldr r3, [r3, #24] - 80130dc: 4618 mov r0, r3 - 80130de: f019 faf9 bl 802c6d4 <__aeabi_f2d> - 80130e2: 4602 mov r2, r0 - 80130e4: 460b mov r3, r1 - 80130e6: 4620 mov r0, r4 - 80130e8: 4629 mov r1, r5 - 80130ea: f019 f995 bl 802c418 <__adddf3> - 80130ee: 4602 mov r2, r0 - 80130f0: 460b mov r3, r1 - 80130f2: 6879 ldr r1, [r7, #4] - 80130f4: e9c1 231a strd r2, r3, [r1, #104] - absAngle += vitesseAngulaire; - 80130f8: 687b ldr r3, [r7, #4] - 80130fa: 6f1a ldr r2, [r3, #112] - 80130fc: 687b ldr r3, [r7, #4] - 80130fe: 699b ldr r3, [r3, #24] - 8013100: 4610 mov r0, r2 - 8013102: 4619 mov r1, r3 - 8013104: f019 fe50 bl 802cda8 <__addsf3> - 8013108: 4603 mov r3, r0 - 801310a: 461a mov r2, r3 - 801310c: 687b ldr r3, [r7, #4] - 801310e: 671a str r2, [r3, #112] - if (ang > M_PI) - 8013110: 687b ldr r3, [r7, #4] - 8013112: e9d3 231a ldrd r2, r3, [r3, #104] - 8013116: 4610 mov r0, r2 - 8013118: 4619 mov r1, r3 - 801311a: a231 add r2, pc, #196 (adr r2, 80131e0 <_ZN9Odometrie6updateEv+0x46c>) - 801311c: ca0c ldmia r2!, {r2, r3} - 801311e: f019 fdbb bl 802cc98 <__aeabi_dcmpgt> - 8013122: 4603 mov r3, r0 - 8013124: 2b00 cmp r3, #0 - 8013126: d00e beq.n 8013146 <_ZN9Odometrie6updateEv+0x3d2> - ang -= 2.0*M_PI; - 8013128: 687b ldr r3, [r7, #4] - 801312a: e9d3 231a ldrd r2, r3, [r3, #104] - 801312e: 4610 mov r0, r2 - 8013130: 4619 mov r1, r3 - 8013132: a22d add r2, pc, #180 (adr r2, 80131e8 <_ZN9Odometrie6updateEv+0x474>) - 8013134: ca0c ldmia r2!, {r2, r3} - 8013136: f019 f96d bl 802c414 <__aeabi_dsub> - 801313a: 4602 mov r2, r0 - 801313c: 460b mov r3, r1 - 801313e: 6879 ldr r1, [r7, #4] - 8013140: e9c1 231a strd r2, r3, [r1, #104] - 8013144: e019 b.n 801317a <_ZN9Odometrie6updateEv+0x406> - else if (ang < -M_PI) - 8013146: 687b ldr r3, [r7, #4] - 8013148: e9d3 231a ldrd r2, r3, [r3, #104] - 801314c: 4610 mov r0, r2 - 801314e: 4619 mov r1, r3 - 8013150: a227 add r2, pc, #156 (adr r2, 80131f0 <_ZN9Odometrie6updateEv+0x47c>) - 8013152: ca0c ldmia r2!, {r2, r3} - 8013154: f019 fd82 bl 802cc5c <__aeabi_dcmplt> - 8013158: 4603 mov r3, r0 - 801315a: 2b00 cmp r3, #0 - 801315c: d00d beq.n 801317a <_ZN9Odometrie6updateEv+0x406> - ang += 2.0*M_PI; - 801315e: 687b ldr r3, [r7, #4] - 8013160: e9d3 231a ldrd r2, r3, [r3, #104] - 8013164: 4610 mov r0, r2 - 8013166: 4619 mov r1, r3 - 8013168: a21f add r2, pc, #124 (adr r2, 80131e8 <_ZN9Odometrie6updateEv+0x474>) - 801316a: ca0c ldmia r2!, {r2, r3} - 801316c: f019 f954 bl 802c418 <__adddf3> - 8013170: 4602 mov r2, r0 - 8013172: 460b mov r3, r1 - 8013174: 6879 ldr r1, [r7, #4] - 8013176: e9c1 231a strd r2, r3, [r1, #104] - } - - positionPlusAngle.setAngle(ang); - 801317a: 687b ldr r3, [r7, #4] - 801317c: f103 0408 add.w r4, r3, #8 ; 0x8 - 8013180: 687b ldr r3, [r7, #4] - 8013182: e9d3 231a ldrd r2, r3, [r3, #104] - 8013186: 4610 mov r0, r2 - 8013188: 4619 mov r1, r3 - 801318a: f019 fdb7 bl 802ccfc <__aeabi_d2f> - 801318e: 4603 mov r3, r0 - 8013190: 4620 mov r0, r4 - 8013192: 4619 mov r1, r3 - 8013194: f004 fd78 bl 8017c88 <_ZN17PositionPlusAngle8setAngleEf> - positionPlusAngle.setX(posX); - 8013198: 687b ldr r3, [r7, #4] - 801319a: f103 0408 add.w r4, r3, #8 ; 0x8 - 801319e: 687b ldr r3, [r7, #4] - 80131a0: e9d3 2316 ldrd r2, r3, [r3, #88] - 80131a4: 4610 mov r0, r2 - 80131a6: 4619 mov r1, r3 - 80131a8: f019 fda8 bl 802ccfc <__aeabi_d2f> - 80131ac: 4603 mov r3, r0 - 80131ae: 4620 mov r0, r4 - 80131b0: 4619 mov r1, r3 - 80131b2: f004 fd85 bl 8017cc0 <_ZN17PositionPlusAngle4setXEf> - positionPlusAngle.setY(posY); - 80131b6: 687b ldr r3, [r7, #4] - 80131b8: f103 0408 add.w r4, r3, #8 ; 0x8 - 80131bc: 687b ldr r3, [r7, #4] - 80131be: e9d3 2318 ldrd r2, r3, [r3, #96] - 80131c2: 4610 mov r0, r2 - 80131c4: 4619 mov r1, r3 - 80131c6: f019 fd99 bl 802ccfc <__aeabi_d2f> - 80131ca: 4603 mov r3, r0 - 80131cc: 4620 mov r0, r4 - 80131ce: 4619 mov r1, r3 - 80131d0: f004 fd68 bl 8017ca4 <_ZN17PositionPlusAngle4setYEf> - -} - 80131d4: f107 0750 add.w r7, r7, #80 ; 0x50 - 80131d8: 46bd mov sp, r7 - 80131da: e8bd 83b0 ldmia.w sp!, {r4, r5, r7, r8, r9, pc} - 80131de: 46c0 nop (mov r8, r8) - 80131e0: 54442d18 .word 0x54442d18 - 80131e4: 400921fb .word 0x400921fb - 80131e8: 54442d18 .word 0x54442d18 - 80131ec: 401921fb .word 0x401921fb - 80131f0: 54442d18 .word 0x54442d18 - 80131f4: c00921fb .word 0xc00921fb - -080131f8 <_ZN9OdometrieD1Ev>: - - absAngle = 0.0; - -} - -Odometrie::~Odometrie() - 80131f8: b580 push {r7, lr} - 80131fa: b082 sub sp, #8 - 80131fc: af00 add r7, sp, #0 - 80131fe: 6078 str r0, [r7, #4] -{ - delete roueCodeuseGauche; - 8013200: 687b ldr r3, [r7, #4] - 8013202: 685b ldr r3, [r3, #4] - 8013204: 4618 mov r0, r3 - 8013206: f004 fa01 bl 801760c <_ZdlPv> - delete roueCodeuseDroite; - 801320a: 687b ldr r3, [r7, #4] - 801320c: 681b ldr r3, [r3, #0] - 801320e: 4618 mov r0, r3 - 8013210: f004 f9fc bl 801760c <_ZdlPv> -} - 8013214: 687b ldr r3, [r7, #4] - 8013216: 4618 mov r0, r3 - 8013218: f107 0708 add.w r7, r7, #8 ; 0x8 - 801321c: 46bd mov sp, r7 - 801321e: bd80 pop {r7, pc} - -08013220 <_ZN9OdometrieD2Ev>: - - absAngle = 0.0; - -} - -Odometrie::~Odometrie() - 8013220: b580 push {r7, lr} - 8013222: b082 sub sp, #8 - 8013224: af00 add r7, sp, #0 - 8013226: 6078 str r0, [r7, #4] -{ - delete roueCodeuseGauche; - 8013228: 687b ldr r3, [r7, #4] - 801322a: 685b ldr r3, [r3, #4] - 801322c: 4618 mov r0, r3 - 801322e: f004 f9ed bl 801760c <_ZdlPv> - delete roueCodeuseDroite; - 8013232: 687b ldr r3, [r7, #4] - 8013234: 681b ldr r3, [r3, #0] - 8013236: 4618 mov r0, r3 - 8013238: f004 f9e8 bl 801760c <_ZdlPv> -} - 801323c: 687b ldr r3, [r7, #4] - 801323e: 4618 mov r0, r3 - 8013240: f107 0708 add.w r7, r7, #8 ; 0x8 - 8013244: 46bd mov sp, r7 - 8013246: bd80 pop {r7, pc} - -08013248 <_ZN9OdometrieC1EP22QuadratureCoderHandlerS1_>: - -#ifndef M_PI -#define M_PI 3.14159265358979323846 -#endif - -Odometrie::Odometrie(QuadratureCoderHandler* roueCodeuseGauche, QuadratureCoderHandler* roueCodeuseDroite) - 8013248: b580 push {r7, lr} - 801324a: b086 sub sp, #24 - 801324c: af00 add r7, sp, #0 - 801324e: 60f8 str r0, [r7, #12] - 8013250: 60b9 str r1, [r7, #8] - 8013252: 607a str r2, [r7, #4] -: rayonRoueCodeuse(RAYON_ROUE) - 8013254: 68fb ldr r3, [r7, #12] - 8013256: f103 0308 add.w r3, r3, #8 ; 0x8 - 801325a: 4618 mov r0, r3 - 801325c: f004 feac bl 8017fb8 <_ZN17PositionPlusAngleC1Ev> - 8013260: 68f9 ldr r1, [r7, #12] - 8013262: f04f 0200 mov.w r2, #0 ; 0x0 - 8013266: f04f 4380 mov.w r3, #1073741824 ; 0x40000000 - 801326a: f503 0380 add.w r3, r3, #4194304 ; 0x400000 - 801326e: e9c1 230e strd r2, r3, [r1, #56] -{ - - vitesseLineaire =0; - 8013272: 68fa ldr r2, [r7, #12] - 8013274: 4b4c ldr r3, [pc, #304] (80133a8 <_ZN9OdometrieC1EP22QuadratureCoderHandlerS1_+0x160>) - 8013276: 6153 str r3, [r2, #20] - vitesseAngulaire=0; - 8013278: 68fa ldr r2, [r7, #12] - 801327a: 4b4b ldr r3, [pc, #300] (80133a8 <_ZN9OdometrieC1EP22QuadratureCoderHandlerS1_+0x160>) - 801327c: 6193 str r3, [r2, #24] - entraxe=TAILLE_ENTRAXE; - 801327e: 68f9 ldr r1, [r7, #12] - 8013280: a245 add r2, pc, #276 (adr r2, 8013398 <_ZN9OdometrieC1EP22QuadratureCoderHandlerS1_+0x150>) - 8013282: ca0c ldmia r2!, {r2, r3} - 8013284: e9c1 230c strd r2, r3, [r1, #48] - rayonRoueCodeuse=RAYON_ROUE; - 8013288: 68f9 ldr r1, [r7, #12] - 801328a: f04f 0200 mov.w r2, #0 ; 0x0 - 801328e: f04f 4380 mov.w r3, #1073741824 ; 0x40000000 - 8013292: f503 0380 add.w r3, r3, #4194304 ; 0x400000 - 8013296: e9c1 230e strd r2, r3, [r1, #56] - nbTicksParTour=NBR_TICK_PAR_TOUR; - 801329a: 68f9 ldr r1, [r7, #12] - 801329c: f04f 0200 mov.w r2, #0 ; 0x0 - 80132a0: f04f 4380 mov.w r3, #1073741824 ; 0x40000000 - 80132a4: f503 0340 add.w r3, r3, #12582912 ; 0xc00000 - 80132a8: e9c1 2310 strd r2, r3, [r1, #64] - - coeffDistance=(M_PI*rayonRoueCodeuse)/nbTicksParTour; //soit la distance parcouru par un demi tour de roue - 80132ac: 68fb ldr r3, [r7, #12] - 80132ae: e9d3 230e ldrd r2, r3, [r3, #56] - 80132b2: 4610 mov r0, r2 - 80132b4: 4619 mov r1, r3 - 80132b6: a23a add r2, pc, #232 (adr r2, 80133a0 <_ZN9OdometrieC1EP22QuadratureCoderHandlerS1_+0x158>) - 80132b8: ca0c ldmia r2!, {r2, r3} - 80132ba: f019 fa5f bl 802c77c <__aeabi_dmul> - 80132be: 4602 mov r2, r0 - 80132c0: 460b mov r3, r1 - 80132c2: 4610 mov r0, r2 - 80132c4: 4619 mov r1, r3 - 80132c6: 68fb ldr r3, [r7, #12] - 80132c8: e9d3 2310 ldrd r2, r3, [r3, #64] - 80132cc: f019 fb80 bl 802c9d0 <__aeabi_ddiv> - 80132d0: 4602 mov r2, r0 - 80132d2: 460b mov r3, r1 - 80132d4: 68f9 ldr r1, [r7, #12] - 80132d6: e9c1 2312 strd r2, r3, [r1, #72] - - coeffAngle=-2*coeffDistance/entraxe; // soit l'angle = opposé sur hypothénus en faisant une approximation à l'ordre 1 - 80132da: 68fb ldr r3, [r7, #12] - 80132dc: e9d3 2312 ldrd r2, r3, [r3, #72] - 80132e0: 4610 mov r0, r2 - 80132e2: 4619 mov r1, r3 - 80132e4: f04f 0200 mov.w r2, #0 ; 0x0 - 80132e8: f04f 4340 mov.w r3, #3221225472 ; 0xc0000000 - 80132ec: f019 fa46 bl 802c77c <__aeabi_dmul> - 80132f0: 4602 mov r2, r0 - 80132f2: 460b mov r3, r1 - 80132f4: 4610 mov r0, r2 - 80132f6: 4619 mov r1, r3 - 80132f8: 68fb ldr r3, [r7, #12] - 80132fa: e9d3 230c ldrd r2, r3, [r3, #48] - 80132fe: f019 fb67 bl 802c9d0 <__aeabi_ddiv> - 8013302: 4602 mov r2, r0 - 8013304: 460b mov r3, r1 - 8013306: 68f9 ldr r1, [r7, #12] - 8013308: e9c1 2314 strd r2, r3, [r1, #80] - - for (int i = 0 ; i < tailleTabPrevTicks ; i++) - 801330c: f04f 0300 mov.w r3, #0 ; 0x0 - 8013310: 617b str r3, [r7, #20] - 8013312: e017 b.n 8013344 <_ZN9OdometrieC1EP22QuadratureCoderHandlerS1_+0xfc> - { - prevDeltaTicksRoueDroite[i] = 0; - 8013314: 697b ldr r3, [r7, #20] - 8013316: 68fa ldr r2, [r7, #12] - 8013318: f103 0308 add.w r3, r3, #8 ; 0x8 - 801331c: ea4f 0383 mov.w r3, r3, lsl #2 - 8013320: 4413 add r3, r2 - 8013322: f04f 0200 mov.w r2, #0 ; 0x0 - 8013326: 605a str r2, [r3, #4] - prevDeltaTicksRoueGauche[i] = 0; - 8013328: 697b ldr r3, [r7, #20] - 801332a: 68fa ldr r2, [r7, #12] - 801332c: f103 0306 add.w r3, r3, #6 ; 0x6 - 8013330: ea4f 0383 mov.w r3, r3, lsl #2 - 8013334: 4413 add r3, r2 - 8013336: f04f 0200 mov.w r2, #0 ; 0x0 - 801333a: 605a str r2, [r3, #4] - - coeffDistance=(M_PI*rayonRoueCodeuse)/nbTicksParTour; //soit la distance parcouru par un demi tour de roue - - coeffAngle=-2*coeffDistance/entraxe; // soit l'angle = opposé sur hypothénus en faisant une approximation à l'ordre 1 - - for (int i = 0 ; i < tailleTabPrevTicks ; i++) - 801333c: 697b ldr r3, [r7, #20] - 801333e: f103 0301 add.w r3, r3, #1 ; 0x1 - 8013342: 617b str r3, [r7, #20] - 8013344: 697b ldr r3, [r7, #20] - 8013346: 2b01 cmp r3, #1 - 8013348: dde4 ble.n 8013314 <_ZN9OdometrieC1EP22QuadratureCoderHandlerS1_+0xcc> - { - prevDeltaTicksRoueDroite[i] = 0; - prevDeltaTicksRoueGauche[i] = 0; - } - - this->roueCodeuseGauche = roueCodeuseGauche; - 801334a: 68fa ldr r2, [r7, #12] - 801334c: 68bb ldr r3, [r7, #8] - 801334e: 6053 str r3, [r2, #4] - this->roueCodeuseDroite = roueCodeuseDroite; - 8013350: 68fa ldr r2, [r7, #12] - 8013352: 687b ldr r3, [r7, #4] - 8013354: 6013 str r3, [r2, #0] - Odometrie::odometrie = this; - 8013356: 4a15 ldr r2, [pc, #84] (80133ac <_ZN9OdometrieC1EP22QuadratureCoderHandlerS1_+0x164>) - 8013358: 68fb ldr r3, [r7, #12] - 801335a: 6013 str r3, [r2, #0] - - posX = 0.0; - 801335c: 68f9 ldr r1, [r7, #12] - 801335e: f04f 0200 mov.w r2, #0 ; 0x0 - 8013362: f04f 0300 mov.w r3, #0 ; 0x0 - 8013366: e9c1 2316 strd r2, r3, [r1, #88] - posY = 0.0; - 801336a: 68f9 ldr r1, [r7, #12] - 801336c: f04f 0200 mov.w r2, #0 ; 0x0 - 8013370: f04f 0300 mov.w r3, #0 ; 0x0 - 8013374: e9c1 2318 strd r2, r3, [r1, #96] - ang = 0.0; - 8013378: 68f9 ldr r1, [r7, #12] - 801337a: f04f 0200 mov.w r2, #0 ; 0x0 - 801337e: f04f 0300 mov.w r3, #0 ; 0x0 - 8013382: e9c1 231a strd r2, r3, [r1, #104] - - absAngle = 0.0; - 8013386: 68fa ldr r2, [r7, #12] - 8013388: 4b07 ldr r3, [pc, #28] (80133a8 <_ZN9OdometrieC1EP22QuadratureCoderHandlerS1_+0x160>) - 801338a: 6713 str r3, [r2, #112] - -} - 801338c: 68fb ldr r3, [r7, #12] - 801338e: 4618 mov r0, r3 - 8013390: f107 0718 add.w r7, r7, #24 ; 0x18 - 8013394: 46bd mov sp, r7 - 8013396: bd80 pop {r7, pc} - 8013398: 9999999a .word 0x9999999a - 801339c: 406c9999 .word 0x406c9999 - 80133a0: 54442d18 .word 0x54442d18 - 80133a4: 400921fb .word 0x400921fb - 80133a8: 00000000 .word 0x00000000 - 80133ac: 20000590 .word 0x20000590 - -080133b0 <_ZN9OdometrieC2EP22QuadratureCoderHandlerS1_>: - -#ifndef M_PI -#define M_PI 3.14159265358979323846 -#endif - -Odometrie::Odometrie(QuadratureCoderHandler* roueCodeuseGauche, QuadratureCoderHandler* roueCodeuseDroite) - 80133b0: b580 push {r7, lr} - 80133b2: b086 sub sp, #24 - 80133b4: af00 add r7, sp, #0 - 80133b6: 60f8 str r0, [r7, #12] - 80133b8: 60b9 str r1, [r7, #8] - 80133ba: 607a str r2, [r7, #4] -: rayonRoueCodeuse(RAYON_ROUE) - 80133bc: 68fb ldr r3, [r7, #12] - 80133be: f103 0308 add.w r3, r3, #8 ; 0x8 - 80133c2: 4618 mov r0, r3 - 80133c4: f004 fdf8 bl 8017fb8 <_ZN17PositionPlusAngleC1Ev> - 80133c8: 68f9 ldr r1, [r7, #12] - 80133ca: f04f 0200 mov.w r2, #0 ; 0x0 - 80133ce: f04f 4380 mov.w r3, #1073741824 ; 0x40000000 - 80133d2: f503 0380 add.w r3, r3, #4194304 ; 0x400000 - 80133d6: e9c1 230e strd r2, r3, [r1, #56] -{ - - vitesseLineaire =0; - 80133da: 68fa ldr r2, [r7, #12] - 80133dc: 4b4c ldr r3, [pc, #304] (8013510 <_ZN9OdometrieC2EP22QuadratureCoderHandlerS1_+0x160>) - 80133de: 6153 str r3, [r2, #20] - vitesseAngulaire=0; - 80133e0: 68fa ldr r2, [r7, #12] - 80133e2: 4b4b ldr r3, [pc, #300] (8013510 <_ZN9OdometrieC2EP22QuadratureCoderHandlerS1_+0x160>) - 80133e4: 6193 str r3, [r2, #24] - entraxe=TAILLE_ENTRAXE; - 80133e6: 68f9 ldr r1, [r7, #12] - 80133e8: a245 add r2, pc, #276 (adr r2, 8013500 <_ZN9OdometrieC2EP22QuadratureCoderHandlerS1_+0x150>) - 80133ea: ca0c ldmia r2!, {r2, r3} - 80133ec: e9c1 230c strd r2, r3, [r1, #48] - rayonRoueCodeuse=RAYON_ROUE; - 80133f0: 68f9 ldr r1, [r7, #12] - 80133f2: f04f 0200 mov.w r2, #0 ; 0x0 - 80133f6: f04f 4380 mov.w r3, #1073741824 ; 0x40000000 - 80133fa: f503 0380 add.w r3, r3, #4194304 ; 0x400000 - 80133fe: e9c1 230e strd r2, r3, [r1, #56] - nbTicksParTour=NBR_TICK_PAR_TOUR; - 8013402: 68f9 ldr r1, [r7, #12] - 8013404: f04f 0200 mov.w r2, #0 ; 0x0 - 8013408: f04f 4380 mov.w r3, #1073741824 ; 0x40000000 - 801340c: f503 0340 add.w r3, r3, #12582912 ; 0xc00000 - 8013410: e9c1 2310 strd r2, r3, [r1, #64] - - coeffDistance=(M_PI*rayonRoueCodeuse)/nbTicksParTour; //soit la distance parcouru par un demi tour de roue - 8013414: 68fb ldr r3, [r7, #12] - 8013416: e9d3 230e ldrd r2, r3, [r3, #56] - 801341a: 4610 mov r0, r2 - 801341c: 4619 mov r1, r3 - 801341e: a23a add r2, pc, #232 (adr r2, 8013508 <_ZN9OdometrieC2EP22QuadratureCoderHandlerS1_+0x158>) - 8013420: ca0c ldmia r2!, {r2, r3} - 8013422: f019 f9ab bl 802c77c <__aeabi_dmul> - 8013426: 4602 mov r2, r0 - 8013428: 460b mov r3, r1 - 801342a: 4610 mov r0, r2 - 801342c: 4619 mov r1, r3 - 801342e: 68fb ldr r3, [r7, #12] - 8013430: e9d3 2310 ldrd r2, r3, [r3, #64] - 8013434: f019 facc bl 802c9d0 <__aeabi_ddiv> - 8013438: 4602 mov r2, r0 - 801343a: 460b mov r3, r1 - 801343c: 68f9 ldr r1, [r7, #12] - 801343e: e9c1 2312 strd r2, r3, [r1, #72] - - coeffAngle=-2*coeffDistance/entraxe; // soit l'angle = opposé sur hypothénus en faisant une approximation à l'ordre 1 - 8013442: 68fb ldr r3, [r7, #12] - 8013444: e9d3 2312 ldrd r2, r3, [r3, #72] - 8013448: 4610 mov r0, r2 - 801344a: 4619 mov r1, r3 - 801344c: f04f 0200 mov.w r2, #0 ; 0x0 - 8013450: f04f 4340 mov.w r3, #3221225472 ; 0xc0000000 - 8013454: f019 f992 bl 802c77c <__aeabi_dmul> - 8013458: 4602 mov r2, r0 - 801345a: 460b mov r3, r1 - 801345c: 4610 mov r0, r2 - 801345e: 4619 mov r1, r3 - 8013460: 68fb ldr r3, [r7, #12] - 8013462: e9d3 230c ldrd r2, r3, [r3, #48] - 8013466: f019 fab3 bl 802c9d0 <__aeabi_ddiv> - 801346a: 4602 mov r2, r0 - 801346c: 460b mov r3, r1 - 801346e: 68f9 ldr r1, [r7, #12] - 8013470: e9c1 2314 strd r2, r3, [r1, #80] - - for (int i = 0 ; i < tailleTabPrevTicks ; i++) - 8013474: f04f 0300 mov.w r3, #0 ; 0x0 - 8013478: 617b str r3, [r7, #20] - 801347a: e017 b.n 80134ac <_ZN9OdometrieC2EP22QuadratureCoderHandlerS1_+0xfc> - { - prevDeltaTicksRoueDroite[i] = 0; - 801347c: 697b ldr r3, [r7, #20] - 801347e: 68fa ldr r2, [r7, #12] - 8013480: f103 0308 add.w r3, r3, #8 ; 0x8 - 8013484: ea4f 0383 mov.w r3, r3, lsl #2 - 8013488: 4413 add r3, r2 - 801348a: f04f 0200 mov.w r2, #0 ; 0x0 - 801348e: 605a str r2, [r3, #4] - prevDeltaTicksRoueGauche[i] = 0; - 8013490: 697b ldr r3, [r7, #20] - 8013492: 68fa ldr r2, [r7, #12] - 8013494: f103 0306 add.w r3, r3, #6 ; 0x6 - 8013498: ea4f 0383 mov.w r3, r3, lsl #2 - 801349c: 4413 add r3, r2 - 801349e: f04f 0200 mov.w r2, #0 ; 0x0 - 80134a2: 605a str r2, [r3, #4] - - coeffDistance=(M_PI*rayonRoueCodeuse)/nbTicksParTour; //soit la distance parcouru par un demi tour de roue - - coeffAngle=-2*coeffDistance/entraxe; // soit l'angle = opposé sur hypothénus en faisant une approximation à l'ordre 1 - - for (int i = 0 ; i < tailleTabPrevTicks ; i++) - 80134a4: 697b ldr r3, [r7, #20] - 80134a6: f103 0301 add.w r3, r3, #1 ; 0x1 - 80134aa: 617b str r3, [r7, #20] - 80134ac: 697b ldr r3, [r7, #20] - 80134ae: 2b01 cmp r3, #1 - 80134b0: dde4 ble.n 801347c <_ZN9OdometrieC2EP22QuadratureCoderHandlerS1_+0xcc> - { - prevDeltaTicksRoueDroite[i] = 0; - prevDeltaTicksRoueGauche[i] = 0; - } - - this->roueCodeuseGauche = roueCodeuseGauche; - 80134b2: 68fa ldr r2, [r7, #12] - 80134b4: 68bb ldr r3, [r7, #8] - 80134b6: 6053 str r3, [r2, #4] - this->roueCodeuseDroite = roueCodeuseDroite; - 80134b8: 68fa ldr r2, [r7, #12] - 80134ba: 687b ldr r3, [r7, #4] - 80134bc: 6013 str r3, [r2, #0] - Odometrie::odometrie = this; - 80134be: 4a15 ldr r2, [pc, #84] (8013514 <_ZN9OdometrieC2EP22QuadratureCoderHandlerS1_+0x164>) - 80134c0: 68fb ldr r3, [r7, #12] - 80134c2: 6013 str r3, [r2, #0] - - posX = 0.0; - 80134c4: 68f9 ldr r1, [r7, #12] - 80134c6: f04f 0200 mov.w r2, #0 ; 0x0 - 80134ca: f04f 0300 mov.w r3, #0 ; 0x0 - 80134ce: e9c1 2316 strd r2, r3, [r1, #88] - posY = 0.0; - 80134d2: 68f9 ldr r1, [r7, #12] - 80134d4: f04f 0200 mov.w r2, #0 ; 0x0 - 80134d8: f04f 0300 mov.w r3, #0 ; 0x0 - 80134dc: e9c1 2318 strd r2, r3, [r1, #96] - ang = 0.0; - 80134e0: 68f9 ldr r1, [r7, #12] - 80134e2: f04f 0200 mov.w r2, #0 ; 0x0 - 80134e6: f04f 0300 mov.w r3, #0 ; 0x0 - 80134ea: e9c1 231a strd r2, r3, [r1, #104] - - absAngle = 0.0; - 80134ee: 68fa ldr r2, [r7, #12] - 80134f0: 4b07 ldr r3, [pc, #28] (8013510 <_ZN9OdometrieC2EP22QuadratureCoderHandlerS1_+0x160>) - 80134f2: 6713 str r3, [r2, #112] - -} - 80134f4: 68fb ldr r3, [r7, #12] - 80134f6: 4618 mov r0, r3 - 80134f8: f107 0718 add.w r7, r7, #24 ; 0x18 - 80134fc: 46bd mov sp, r7 - 80134fe: bd80 pop {r7, pc} - 8013500: 9999999a .word 0x9999999a - 8013504: 406c9999 .word 0x406c9999 - 8013508: 54442d18 .word 0x54442d18 - 801350c: 400921fb .word 0x400921fb - 8013510: 00000000 .word 0x00000000 - 8013514: 20000590 .word 0x20000590 - -08013518 <_ZN14PIDFilterAngleC2Ev>: - -const float PIDFilterAngle::Kp = FILTER_ANGLE_KP; -const float PIDFilterAngle::Kd = FILTER_ANGLE_KD; -const float PIDFilterAngle::Ki = FILTER_ANGLE_KI; - -PIDFilterAngle::PIDFilterAngle() : - 8013518: b480 push {r7} - 801351a: b083 sub sp, #12 - 801351c: af00 add r7, sp, #0 - 801351e: 6078 str r0, [r7, #4] - sommeErreurs(0), - erreurPrecedente(0) - 8013520: 687a ldr r2, [r7, #4] - 8013522: 4b06 ldr r3, [pc, #24] (801353c <_ZN14PIDFilterAngleC2Ev+0x24>) - 8013524: 6013 str r3, [r2, #0] - 8013526: 687a ldr r2, [r7, #4] - 8013528: 4b04 ldr r3, [pc, #16] (801353c <_ZN14PIDFilterAngleC2Ev+0x24>) - 801352a: 6053 str r3, [r2, #4] -{ -} - 801352c: 687b ldr r3, [r7, #4] - 801352e: 4618 mov r0, r3 - 8013530: f107 070c add.w r7, r7, #12 ; 0xc - 8013534: 46bd mov sp, r7 - 8013536: bc80 pop {r7} - 8013538: 4770 bx lr - 801353a: 46c0 nop (mov r8, r8) - 801353c: 00000000 .word 0x00000000 - -08013540 <_ZN14PIDFilterAngleC1Ev>: - -const float PIDFilterAngle::Kp = FILTER_ANGLE_KP; -const float PIDFilterAngle::Kd = FILTER_ANGLE_KD; -const float PIDFilterAngle::Ki = FILTER_ANGLE_KI; - -PIDFilterAngle::PIDFilterAngle() : - 8013540: b480 push {r7} - 8013542: b083 sub sp, #12 - 8013544: af00 add r7, sp, #0 - 8013546: 6078 str r0, [r7, #4] - sommeErreurs(0), - erreurPrecedente(0) - 8013548: 687a ldr r2, [r7, #4] - 801354a: 4b06 ldr r3, [pc, #24] (8013564 <_ZN14PIDFilterAngleC1Ev+0x24>) - 801354c: 6013 str r3, [r2, #0] - 801354e: 687a ldr r2, [r7, #4] - 8013550: 4b04 ldr r3, [pc, #16] (8013564 <_ZN14PIDFilterAngleC1Ev+0x24>) - 8013552: 6053 str r3, [r2, #4] -{ -} - 8013554: 687b ldr r3, [r7, #4] - 8013556: 4618 mov r0, r3 - 8013558: f107 070c add.w r7, r7, #12 ; 0xc - 801355c: 46bd mov sp, r7 - 801355e: bc80 pop {r7} - 8013560: 4770 bx lr - 8013562: 46c0 nop (mov r8, r8) - 8013564: 00000000 .word 0x00000000 - -08013568 <_ZN14PIDFilterAngle16getFilteredValueEf>: - -float PIDFilterAngle::getFilteredValue(Angle erreur){ - 8013568: b590 push {r4, r7, lr} - 801356a: b087 sub sp, #28 - 801356c: af00 add r7, sp, #0 - 801356e: 6078 str r0, [r7, #4] - 8013570: 6039 str r1, [r7, #0] - sommeErreurs=sommeErreurs*FILTER_ANGLE_COEF+erreur; - 8013572: 687b ldr r3, [r7, #4] - 8013574: 681b ldr r3, [r3, #0] - 8013576: 4618 mov r0, r3 - 8013578: 6839 ldr r1, [r7, #0] - 801357a: f019 fc15 bl 802cda8 <__addsf3> - 801357e: 4603 mov r3, r0 - 8013580: 461a mov r2, r3 - 8013582: 687b ldr r3, [r7, #4] - 8013584: 601a str r2, [r3, #0] - Angle proportionnel = erreur; - 8013586: 683b ldr r3, [r7, #0] - 8013588: 60fb str r3, [r7, #12] - Angle integrale = sommeErreurs; - 801358a: 687b ldr r3, [r7, #4] - 801358c: 681b ldr r3, [r3, #0] - 801358e: 613b str r3, [r7, #16] - Angle derivee = erreur - erreurPrecedente; - 8013590: 687b ldr r3, [r7, #4] - 8013592: 685b ldr r3, [r3, #4] - 8013594: 6838 ldr r0, [r7, #0] - 8013596: 4619 mov r1, r3 - 8013598: f019 fc04 bl 802cda4 <__aeabi_fsub> - 801359c: 4603 mov r3, r0 - 801359e: 617b str r3, [r7, #20] - erreurPrecedente=erreur; - 80135a0: 687a ldr r2, [r7, #4] - 80135a2: 683b ldr r3, [r7, #0] - 80135a4: 6053 str r3, [r2, #4] - return proportionnel*Kp - + integrale*Ki - + derivee*Kd; - 80135a6: 68f8 ldr r0, [r7, #12] - 80135a8: 490c ldr r1, [pc, #48] (80135dc <_ZN14PIDFilterAngle16getFilteredValueEf+0x74>) - 80135aa: f019 fd05 bl 802cfb8 <__aeabi_fmul> - 80135ae: 4603 mov r3, r0 - 80135b0: 461c mov r4, r3 - 80135b2: 6938 ldr r0, [r7, #16] - 80135b4: 490a ldr r1, [pc, #40] (80135e0 <_ZN14PIDFilterAngle16getFilteredValueEf+0x78>) - 80135b6: f019 fcff bl 802cfb8 <__aeabi_fmul> - 80135ba: 4603 mov r3, r0 - 80135bc: 4620 mov r0, r4 - 80135be: 4619 mov r1, r3 - 80135c0: f019 fbf2 bl 802cda8 <__addsf3> - 80135c4: 4603 mov r3, r0 - 80135c6: 4618 mov r0, r3 - 80135c8: 6979 ldr r1, [r7, #20] - 80135ca: f019 fbed bl 802cda8 <__addsf3> - 80135ce: 4603 mov r3, r0 -} - 80135d0: 4618 mov r0, r3 - 80135d2: f107 071c add.w r7, r7, #28 ; 0x1c - 80135d6: 46bd mov sp, r7 - 80135d8: bd90 pop {r4, r7, pc} - 80135da: 46c0 nop (mov r8, r8) - 80135dc: 41880000 .word 0x41880000 - 80135e0: 3f333333 .word 0x3f333333 - -080135e4 <_ZN17PIDFilterDistanceC2Ev>: -const float PIDFilterDistance::Kp = FILTER_LINEAIRE_KP; -const float PIDFilterDistance::Kd = FILTER_LINEAIRE_KD; -const float PIDFilterDistance::Ki = FILTER_LINEAIRE_KI; - - -PIDFilterDistance::PIDFilterDistance() : - 80135e4: b480 push {r7} - 80135e6: b083 sub sp, #12 - 80135e8: af00 add r7, sp, #0 - 80135ea: 6078 str r0, [r7, #4] - sommeErreurs(0), - erreurPrecedente(0) - 80135ec: 687a ldr r2, [r7, #4] - 80135ee: 4b06 ldr r3, [pc, #24] (8013608 <_ZN17PIDFilterDistanceC2Ev+0x24>) - 80135f0: 6013 str r3, [r2, #0] - 80135f2: 687a ldr r2, [r7, #4] - 80135f4: 4b04 ldr r3, [pc, #16] (8013608 <_ZN17PIDFilterDistanceC2Ev+0x24>) - 80135f6: 6053 str r3, [r2, #4] -{ -} - 80135f8: 687b ldr r3, [r7, #4] - 80135fa: 4618 mov r0, r3 - 80135fc: f107 070c add.w r7, r7, #12 ; 0xc - 8013600: 46bd mov sp, r7 - 8013602: bc80 pop {r7} - 8013604: 4770 bx lr - 8013606: 46c0 nop (mov r8, r8) - 8013608: 00000000 .word 0x00000000 - -0801360c <_ZN17PIDFilterDistanceC1Ev>: -const float PIDFilterDistance::Kp = FILTER_LINEAIRE_KP; -const float PIDFilterDistance::Kd = FILTER_LINEAIRE_KD; -const float PIDFilterDistance::Ki = FILTER_LINEAIRE_KI; - - -PIDFilterDistance::PIDFilterDistance() : - 801360c: b480 push {r7} - 801360e: b083 sub sp, #12 - 8013610: af00 add r7, sp, #0 - 8013612: 6078 str r0, [r7, #4] - sommeErreurs(0), - erreurPrecedente(0) - 8013614: 687a ldr r2, [r7, #4] - 8013616: 4b06 ldr r3, [pc, #24] (8013630 <_ZN17PIDFilterDistanceC1Ev+0x24>) - 8013618: 6013 str r3, [r2, #0] - 801361a: 687a ldr r2, [r7, #4] - 801361c: 4b04 ldr r3, [pc, #16] (8013630 <_ZN17PIDFilterDistanceC1Ev+0x24>) - 801361e: 6053 str r3, [r2, #4] -{ -} - 8013620: 687b ldr r3, [r7, #4] - 8013622: 4618 mov r0, r3 - 8013624: f107 070c add.w r7, r7, #12 ; 0xc - 8013628: 46bd mov sp, r7 - 801362a: bc80 pop {r7} - 801362c: 4770 bx lr - 801362e: 46c0 nop (mov r8, r8) - 8013630: 00000000 .word 0x00000000 - -08013634 <_ZN17PIDFilterDistance16getFilteredValueEf>: - -float PIDFilterDistance::getFilteredValue(Distance erreur){ - 8013634: b590 push {r4, r7, lr} - 8013636: b087 sub sp, #28 - 8013638: af00 add r7, sp, #0 - 801363a: 6078 str r0, [r7, #4] - 801363c: 6039 str r1, [r7, #0] - sommeErreurs=sommeErreurs*FILTER_LINEAIRE_COEF+erreur; - 801363e: 687b ldr r3, [r7, #4] - 8013640: 681b ldr r3, [r3, #0] - 8013642: 4618 mov r0, r3 - 8013644: 6839 ldr r1, [r7, #0] - 8013646: f019 fbaf bl 802cda8 <__addsf3> - 801364a: 4603 mov r3, r0 - 801364c: 461a mov r2, r3 - 801364e: 687b ldr r3, [r7, #4] - 8013650: 601a str r2, [r3, #0] - Distance proportionnel = erreur; - 8013652: 683b ldr r3, [r7, #0] - 8013654: 60fb str r3, [r7, #12] - Distance integrale = sommeErreurs; - 8013656: 687b ldr r3, [r7, #4] - 8013658: 681b ldr r3, [r3, #0] - 801365a: 613b str r3, [r7, #16] - Distance derivee = erreur - erreurPrecedente; - 801365c: 687b ldr r3, [r7, #4] - 801365e: 685b ldr r3, [r3, #4] - 8013660: 6838 ldr r0, [r7, #0] - 8013662: 4619 mov r1, r3 - 8013664: f019 fb9e bl 802cda4 <__aeabi_fsub> - 8013668: 4603 mov r3, r0 - 801366a: 617b str r3, [r7, #20] - erreurPrecedente=erreur; - 801366c: 687a ldr r2, [r7, #4] - 801366e: 683b ldr r3, [r7, #0] - 8013670: 6053 str r3, [r2, #4] - return proportionnel*Kp - + integrale*Ki - + derivee*Kd; - 8013672: 68f8 ldr r0, [r7, #12] - 8013674: 490f ldr r1, [pc, #60] (80136b4 <_ZN17PIDFilterDistance16getFilteredValueEf+0x80>) - 8013676: f019 fc9f bl 802cfb8 <__aeabi_fmul> - 801367a: 4603 mov r3, r0 - 801367c: 461c mov r4, r3 - 801367e: 6938 ldr r0, [r7, #16] - 8013680: 490d ldr r1, [pc, #52] (80136b8 <_ZN17PIDFilterDistance16getFilteredValueEf+0x84>) - 8013682: f019 fc99 bl 802cfb8 <__aeabi_fmul> - 8013686: 4603 mov r3, r0 - 8013688: 4620 mov r0, r4 - 801368a: 4619 mov r1, r3 - 801368c: f019 fb8c bl 802cda8 <__addsf3> - 8013690: 4603 mov r3, r0 - 8013692: 461c mov r4, r3 - 8013694: 6978 ldr r0, [r7, #20] - 8013696: 4909 ldr r1, [pc, #36] (80136bc <_ZN17PIDFilterDistance16getFilteredValueEf+0x88>) - 8013698: f019 fc8e bl 802cfb8 <__aeabi_fmul> - 801369c: 4603 mov r3, r0 - 801369e: 4620 mov r0, r4 - 80136a0: 4619 mov r1, r3 - 80136a2: f019 fb81 bl 802cda8 <__addsf3> - 80136a6: 4603 mov r3, r0 -} - 80136a8: 4618 mov r0, r3 - 80136aa: f107 071c add.w r7, r7, #28 ; 0x1c - 80136ae: 46bd mov sp, r7 - 80136b0: bd90 pop {r4, r7, pc} - 80136b2: 46c0 nop (mov r8, r8) - 80136b4: 3dcccccd .word 0x3dcccccd - 80136b8: 3bb43958 .word 0x3bb43958 - 80136bc: 3e99999a .word 0x3e99999a - -080136c0 <_ZN5Debug3runEv>: -//#include "krabipacket.h" - -// DMA -#define ADC3_DR_ADDRESS ((uint32_t)0x4001224C) - -void Debug::run() - 80136c0: b480 push {r7} - 80136c2: af00 add r7, sp, #0 -{ - // test run -} - 80136c4: 46bd mov sp, r7 - 80136c6: bc80 pop {r7} - 80136c8: 4770 bx lr - 80136ca: 46c0 nop (mov r8, r8) - -080136cc <_ZN5Debug10testSharpsEv>: - while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC));//Processing the conversion - return ADC_GetConversionValue(ADC1); //Return the converted data -#endif -} - -void Debug::testSharps() - 80136cc: b480 push {r7} - 80136ce: af00 add r7, sp, #0 - for (int i = 0; i < 1000; i++) - { - }*/ - // } - -} - 80136d0: 46bd mov sp, r7 - 80136d2: bc80 pop {r7} - 80136d4: 4770 bx lr - 80136d6: 46c0 nop (mov r8, r8) - -080136d8 <_ZN5Debug10testRemoteEv>: - else - Led::setOn(0); - } -} - -void Debug::testRemote() - 80136d8: b580 push {r7, lr} - 80136da: b082 sub sp, #8 - 80136dc: af00 add r7, sp, #0 -{ - Remote::getSingleton(); - 80136de: f002 fab5 bl 8015c4c <_ZN6Remote12getSingletonEv> -// packet.add(6); -// packet.add(2048); - -// Remote::getSingleton()->sendData(&packet); - - int timer = 0; - 80136e2: f04f 0300 mov.w r3, #0 ; 0x0 - 80136e6: 607b str r3, [r7, #4] - while(true) - { - if (Remote::getSingleton()->dataAvailable()) { - 80136e8: f002 fab0 bl 8015c4c <_ZN6Remote12getSingletonEv> - 80136ec: 4603 mov r3, r0 - 80136ee: 4618 mov r0, r3 - 80136f0: f002 f94a bl 8015988 <_ZN6Remote13dataAvailableEv> - 80136f4: 4603 mov r3, r0 - 80136f6: 2b00 cmp r3, #0 - 80136f8: d009 beq.n 801370e <_ZN5Debug10testRemoteEv+0x36> - Remote::getSingleton()->receiveData(); - 80136fa: f002 faa7 bl 8015c4c <_ZN6Remote12getSingletonEv> - 80136fe: 4603 mov r3, r0 - 8013700: 4618 mov r0, r3 - 8013702: f002 f957 bl 80159b4 <_ZN6Remote11receiveDataEv> - Led::toggle(0); - 8013706: f04f 0000 mov.w r0, #0 ; 0x0 - 801370a: f001 fc81 bl 8015010 <_ZN3Led6toggleEi> - } - - if (timer==0) { - 801370e: 687b ldr r3, [r7, #4] - 8013710: 2b00 cmp r3, #0 - 8013712: d10b bne.n 801372c <_ZN5Debug10testRemoteEv+0x54> - Remote::getSingleton()->sendData('a'); - 8013714: f002 fa9a bl 8015c4c <_ZN6Remote12getSingletonEv> - 8013718: 4603 mov r3, r0 - 801371a: 4618 mov r0, r3 - 801371c: f04f 0161 mov.w r1, #97 ; 0x61 - 8013720: f002 f98c bl 8015a3c <_ZN6Remote8sendDataEi> - Led::toggle(0); - 8013724: f04f 0000 mov.w r0, #0 ; 0x0 - 8013728: f001 fc72 bl 8015010 <_ZN3Led6toggleEi> - } - - timer++; - 801372c: 687b ldr r3, [r7, #4] - 801372e: f103 0301 add.w r3, r3, #1 ; 0x1 - 8013732: 607b str r3, [r7, #4] - if (timer==1000000) - 8013734: 687a ldr r2, [r7, #4] - 8013736: 4b03 ldr r3, [pc, #12] (8013744 <_ZN5Debug10testRemoteEv+0x6c>) - 8013738: 429a cmp r2, r3 - 801373a: d1d5 bne.n 80136e8 <_ZN5Debug10testRemoteEv+0x10> - timer = 0; - 801373c: f04f 0300 mov.w r3, #0 ; 0x0 - 8013740: 607b str r3, [r7, #4] - 8013742: e7d1 b.n 80136e8 <_ZN5Debug10testRemoteEv+0x10> - 8013744: 000f4240 .word 0x000f4240 - -08013748 <_ZN5Debug11testTiretteEP7Tirette>: - - for(int i=0; i<10000000; i++); - }*/ -} - -void Debug::testTirette(Tirette* t) - 8013748: b580 push {r7, lr} - 801374a: b082 sub sp, #8 - 801374c: af00 add r7, sp, #0 - 801374e: 6078 str r0, [r7, #4] -{ - while(true) - { - if (t->enlevee()) - 8013750: 6878 ldr r0, [r7, #4] - 8013752: f002 ff09 bl 8016568 <_ZNK7Tirette7enleveeEv> - 8013756: 4603 mov r3, r0 - 8013758: 2b00 cmp r3, #0 - 801375a: d004 beq.n 8013766 <_ZN5Debug11testTiretteEP7Tirette+0x1e> - Led::setOff(0); - 801375c: f04f 0000 mov.w r0, #0 ; 0x0 - 8013760: f001 fc02 bl 8014f68 <_ZN3Led6setOffEi> - 8013764: e7f4 b.n 8013750 <_ZN5Debug11testTiretteEP7Tirette+0x8> - else - Led::setOn(0); - 8013766: f04f 0000 mov.w r0, #0 ; 0x0 - 801376a: f001 fc2f bl 8014fcc <_ZN3Led5setOnEi> - 801376e: e7ef b.n 8013750 <_ZN5Debug11testTiretteEP7Tirette+0x8> - -08013770 <_ZN5Debug13testContainerEv>: - - for(int i=0; i<10000000; i++); - } -} - -void Debug::testContainer() - 8013770: b580 push {r7, lr} - 8013772: b084 sub sp, #16 - 8013774: af00 add r7, sp, #0 -{ - Container::getSingleton(); - 8013776: f7fb f8e3 bl 800e940 <_ZN9Container12getSingletonEv> - BrasLateral::initBrasLateraux(); - 801377a: f7fa fdcb bl 800e314 <_ZN11BrasLateral16initBrasLaterauxEv> - - while(true) - { - Container::getSingleton()->open(); - 801377e: f7fb f8df bl 800e940 <_ZN9Container12getSingletonEv> - 8013782: 4603 mov r3, r0 - 8013784: 4618 mov r0, r3 - 8013786: f7fb f87d bl 800e884 <_ZN9Container4openEv> - BrasLateral::getLeft()->expand(); - 801378a: f7fa fe5b bl 800e444 <_ZN11BrasLateral7getLeftEv> - 801378e: 4603 mov r3, r0 - 8013790: 4618 mov r0, r3 - 8013792: f7fa fd7f bl 800e294 <_ZN11BrasLateral6expandEv> - BrasLateral::getRight()->expand(); - 8013796: f7fa fe45 bl 800e424 <_ZN11BrasLateral8getRightEv> - 801379a: 4603 mov r3, r0 - 801379c: 4618 mov r0, r3 - 801379e: f7fa fd79 bl 800e294 <_ZN11BrasLateral6expandEv> - Led::toggle(0); - 80137a2: f04f 0000 mov.w r0, #0 ; 0x0 - 80137a6: f001 fc33 bl 8015010 <_ZN3Led6toggleEi> - - for(int i=0; i<10000000; i++); - 80137aa: f04f 0300 mov.w r3, #0 ; 0x0 - 80137ae: 607b str r3, [r7, #4] - 80137b0: e003 b.n 80137ba <_ZN5Debug13testContainerEv+0x4a> - 80137b2: 687b ldr r3, [r7, #4] - 80137b4: f103 0301 add.w r3, r3, #1 ; 0x1 - 80137b8: 607b str r3, [r7, #4] - 80137ba: 687a ldr r2, [r7, #4] - 80137bc: 4b20 ldr r3, [pc, #128] (8013840 <_ZN5Debug13testContainerEv+0xd0>) - 80137be: 429a cmp r2, r3 - 80137c0: ddf7 ble.n 80137b2 <_ZN5Debug13testContainerEv+0x42> - - BrasLateral::getLeft()->front(); - 80137c2: f7fa fe3f bl 800e444 <_ZN11BrasLateral7getLeftEv> - 80137c6: 4603 mov r3, r0 - 80137c8: 4618 mov r0, r3 - 80137ca: f7fa fd43 bl 800e254 <_ZN11BrasLateral5frontEv> - BrasLateral::getRight()->front(); - 80137ce: f7fa fe29 bl 800e424 <_ZN11BrasLateral8getRightEv> - 80137d2: 4603 mov r3, r0 - 80137d4: 4618 mov r0, r3 - 80137d6: f7fa fd3d bl 800e254 <_ZN11BrasLateral5frontEv> - Led::toggle(0); - 80137da: f04f 0000 mov.w r0, #0 ; 0x0 - 80137de: f001 fc17 bl 8015010 <_ZN3Led6toggleEi> - - for(int i=0; i<10000000; i++); - 80137e2: f04f 0300 mov.w r3, #0 ; 0x0 - 80137e6: 60bb str r3, [r7, #8] - 80137e8: e003 b.n 80137f2 <_ZN5Debug13testContainerEv+0x82> - 80137ea: 68bb ldr r3, [r7, #8] - 80137ec: f103 0301 add.w r3, r3, #1 ; 0x1 - 80137f0: 60bb str r3, [r7, #8] - 80137f2: 68ba ldr r2, [r7, #8] - 80137f4: 4b12 ldr r3, [pc, #72] (8013840 <_ZN5Debug13testContainerEv+0xd0>) - 80137f6: 429a cmp r2, r3 - 80137f8: ddf7 ble.n 80137ea <_ZN5Debug13testContainerEv+0x7a> - - Container::getSingleton()->close(); - 80137fa: f7fb f8a1 bl 800e940 <_ZN9Container12getSingletonEv> - 80137fe: 4603 mov r3, r0 - 8013800: 4618 mov r0, r3 - 8013802: f7fb f82f bl 800e864 <_ZN9Container5closeEv> - BrasLateral::getLeft()->collapse(); - 8013806: f7fa fe1d bl 800e444 <_ZN11BrasLateral7getLeftEv> - 801380a: 4603 mov r3, r0 - 801380c: 4618 mov r0, r3 - 801380e: f7fa fd31 bl 800e274 <_ZN11BrasLateral8collapseEv> - BrasLateral::getRight()->collapse(); - 8013812: f7fa fe07 bl 800e424 <_ZN11BrasLateral8getRightEv> - 8013816: 4603 mov r3, r0 - 8013818: 4618 mov r0, r3 - 801381a: f7fa fd2b bl 800e274 <_ZN11BrasLateral8collapseEv> - Led::toggle(0); - 801381e: f04f 0000 mov.w r0, #0 ; 0x0 - 8013822: f001 fbf5 bl 8015010 <_ZN3Led6toggleEi> - - for(int i=0; i<20000000; i++); - 8013826: f04f 0300 mov.w r3, #0 ; 0x0 - 801382a: 60fb str r3, [r7, #12] - 801382c: e003 b.n 8013836 <_ZN5Debug13testContainerEv+0xc6> - 801382e: 68fb ldr r3, [r7, #12] - 8013830: f103 0301 add.w r3, r3, #1 ; 0x1 - 8013834: 60fb str r3, [r7, #12] - 8013836: 68fa ldr r2, [r7, #12] - 8013838: 4b02 ldr r3, [pc, #8] (8013844 <_ZN5Debug13testContainerEv+0xd4>) - 801383a: 429a cmp r2, r3 - 801383c: ddf7 ble.n 801382e <_ZN5Debug13testContainerEv+0xbe> - 801383e: e79e b.n 801377e <_ZN5Debug13testContainerEv+0xe> - 8013840: 0098967f .word 0x0098967f - 8013844: 01312cff .word 0x01312cff - -08013848 <_ZN5Debug16testBrasLaterauxEv>: - l += rcg->getTickValue(); - for(int i=0; i<1000000; i++); - } -} - -void Debug::testBrasLateraux() - 8013848: b580 push {r7, lr} - 801384a: b082 sub sp, #8 - 801384c: af00 add r7, sp, #0 - porteDroiteBas->goToAngle(90.0f); - porteGaucheBas->goToAngle(90.0f); - for (int i = 0; i < 10000000; i++); - }*/ - - BrasLateral::initBrasLateraux(); - 801384e: f7fa fd61 bl 800e314 <_ZN11BrasLateral16initBrasLaterauxEv> - - while(true) - { - BrasLateral::getLeft()->expand(); - 8013852: f7fa fdf7 bl 800e444 <_ZN11BrasLateral7getLeftEv> - 8013856: 4603 mov r3, r0 - 8013858: 4618 mov r0, r3 - 801385a: f7fa fd1b bl 800e294 <_ZN11BrasLateral6expandEv> - BrasLateral::getRight()->expand(); - 801385e: f7fa fde1 bl 800e424 <_ZN11BrasLateral8getRightEv> - 8013862: 4603 mov r3, r0 - 8013864: 4618 mov r0, r3 - 8013866: f7fa fd15 bl 800e294 <_ZN11BrasLateral6expandEv> - Led::toggle(0); - 801386a: f04f 0000 mov.w r0, #0 ; 0x0 - 801386e: f001 fbcf bl 8015010 <_ZN3Led6toggleEi> - - for(int i=0; i<10000000; i++); - 8013872: f04f 0300 mov.w r3, #0 ; 0x0 - 8013876: 603b str r3, [r7, #0] - 8013878: e003 b.n 8013882 <_ZN5Debug16testBrasLaterauxEv+0x3a> - 801387a: 683b ldr r3, [r7, #0] - 801387c: f103 0301 add.w r3, r3, #1 ; 0x1 - 8013880: 603b str r3, [r7, #0] - 8013882: 683a ldr r2, [r7, #0] - 8013884: 4b0f ldr r3, [pc, #60] (80138c4 <_ZN5Debug16testBrasLaterauxEv+0x7c>) - 8013886: 429a cmp r2, r3 - 8013888: ddf7 ble.n 801387a <_ZN5Debug16testBrasLaterauxEv+0x32> - /*BrasLateral::getRight()->front(); - Led::toggle(0); - - for(int i=0; i<10000000; i++);*/ - - BrasLateral::getLeft()->collapse(); - 801388a: f7fa fddb bl 800e444 <_ZN11BrasLateral7getLeftEv> - 801388e: 4603 mov r3, r0 - 8013890: 4618 mov r0, r3 - 8013892: f7fa fcef bl 800e274 <_ZN11BrasLateral8collapseEv> - BrasLateral::getRight()->collapse(); - 8013896: f7fa fdc5 bl 800e424 <_ZN11BrasLateral8getRightEv> - 801389a: 4603 mov r3, r0 - 801389c: 4618 mov r0, r3 - 801389e: f7fa fce9 bl 800e274 <_ZN11BrasLateral8collapseEv> - Led::toggle(0); - 80138a2: f04f 0000 mov.w r0, #0 ; 0x0 - 80138a6: f001 fbb3 bl 8015010 <_ZN3Led6toggleEi> - - for(int i=0; i<10000000; i++); - 80138aa: f04f 0300 mov.w r3, #0 ; 0x0 - 80138ae: 607b str r3, [r7, #4] - 80138b0: e003 b.n 80138ba <_ZN5Debug16testBrasLaterauxEv+0x72> - 80138b2: 687b ldr r3, [r7, #4] - 80138b4: f103 0301 add.w r3, r3, #1 ; 0x1 - 80138b8: 607b str r3, [r7, #4] - 80138ba: 687a ldr r2, [r7, #4] - 80138bc: 4b01 ldr r3, [pc, #4] (80138c4 <_ZN5Debug16testBrasLaterauxEv+0x7c>) - 80138be: 429a cmp r2, r3 - 80138c0: ddf7 ble.n 80138b2 <_ZN5Debug16testBrasLaterauxEv+0x6a> - 80138c2: e7c6 b.n 8013852 <_ZN5Debug16testBrasLaterauxEv+0xa> - 80138c4: 0098967f .word 0x0098967f - -080138c8 <_ZN5Debug14testQuadratureEP22QuadratureCoderHandlerS1_>: - /* Enable ADC3 */ - ADC_Cmd(ADC3, ENABLE); -#endif -} - -void Debug::testQuadrature(QuadratureCoderHandler* rcg, QuadratureCoderHandler* rcd) - 80138c8: b580 push {r7, lr} - 80138ca: b086 sub sp, #24 - 80138cc: af00 add r7, sp, #0 - 80138ce: 6078 str r0, [r7, #4] - 80138d0: 6039 str r1, [r7, #0] -{ - long r = 0, l = 0; - 80138d2: f04f 0300 mov.w r3, #0 ; 0x0 - 80138d6: 60fb str r3, [r7, #12] - 80138d8: f04f 0300 mov.w r3, #0 ; 0x0 - 80138dc: 613b str r3, [r7, #16] - while(true) - { - r += rcd->getTickValue(); - 80138de: 6838 ldr r0, [r7, #0] - 80138e0: f001 ff58 bl 8015794 <_ZN22QuadratureCoderHandler12getTickValueEv> - 80138e4: 4603 mov r3, r0 - 80138e6: b29b uxth r3, r3 - 80138e8: b21a sxth r2, r3 - 80138ea: 68fb ldr r3, [r7, #12] - 80138ec: 4413 add r3, r2 - 80138ee: 60fb str r3, [r7, #12] - l += rcg->getTickValue(); - 80138f0: 6878 ldr r0, [r7, #4] - 80138f2: f001 ff4f bl 8015794 <_ZN22QuadratureCoderHandler12getTickValueEv> - 80138f6: 4603 mov r3, r0 - 80138f8: b29b uxth r3, r3 - 80138fa: b21a sxth r2, r3 - 80138fc: 693b ldr r3, [r7, #16] - 80138fe: 4413 add r3, r2 - 8013900: 613b str r3, [r7, #16] - for(int i=0; i<1000000; i++); - 8013902: f04f 0300 mov.w r3, #0 ; 0x0 - 8013906: 617b str r3, [r7, #20] - 8013908: e003 b.n 8013912 <_ZN5Debug14testQuadratureEP22QuadratureCoderHandlerS1_+0x4a> - 801390a: 697b ldr r3, [r7, #20] - 801390c: f103 0301 add.w r3, r3, #1 ; 0x1 - 8013910: 617b str r3, [r7, #20] - 8013912: 697a ldr r2, [r7, #20] - 8013914: 4b01 ldr r3, [pc, #4] (801391c <_ZN5Debug14testQuadratureEP22QuadratureCoderHandlerS1_+0x54>) - 8013916: 429a cmp r2, r3 - 8013918: ddf7 ble.n 801390a <_ZN5Debug14testQuadratureEP22QuadratureCoderHandlerS1_+0x42> - 801391a: e7e0 b.n 80138de <_ZN5Debug14testQuadratureEP22QuadratureCoderHandlerS1_+0x16> - 801391c: 000f423f .word 0x000f423f - -08013920 <_ZN5Debug22__ADC_DMASampleF4_initEv>: - convertedValue = ADC3ConvertedValueN;//Read the ADC converted value - } -#endif -} - -void Debug::__ADC_DMASampleF4_init(void) - 8013920: b580 push {r7, lr} - 8013922: b09c sub sp, #112 - 8013924: af00 add r7, sp, #0 - ADC_CommonInitTypeDef ADC_CommonInitStructure; - DMA_InitTypeDef DMA_InitStructure; - GPIO_InitTypeDef GPIO_InitStructure; - - /* Enable ADC3, DMA2 and GPIO clocks ****************************************/ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_DMA2 | RCC_AHB1Periph_GPIOC, ENABLE); - 8013926: 484d ldr r0, [pc, #308] (8013a5c <_ZN5Debug22__ADC_DMASampleF4_initEv+0x13c>) - 8013928: f04f 0101 mov.w r1, #1 ; 0x1 - 801392c: f7f6 ff1c bl 800a768 - RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC3, ENABLE); - 8013930: f44f 6080 mov.w r0, #1024 ; 0x400 - 8013934: f04f 0101 mov.w r1, #1 ; 0x1 - 8013938: f7f6 ff9e bl 800a878 - - /* DMA2 Stream0 channel0 configuration **************************************/ - DMA_InitStructure.DMA_Channel = DMA_Channel_2; - 801393c: f04f 6380 mov.w r3, #67108864 ; 0x4000000 - 8013940: 607b str r3, [r7, #4] - DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)0x4001224C; - 8013942: 4b47 ldr r3, [pc, #284] (8013a60 <_ZN5Debug22__ADC_DMASampleF4_initEv+0x140>) - 8013944: 60bb str r3, [r7, #8] - DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)&ADC3ConvertedValueN; - 8013946: 4b47 ldr r3, [pc, #284] (8013a64 <_ZN5Debug22__ADC_DMASampleF4_initEv+0x144>) - 8013948: 60fb str r3, [r7, #12] - DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralToMemory; - 801394a: f04f 0300 mov.w r3, #0 ; 0x0 - 801394e: 613b str r3, [r7, #16] - DMA_InitStructure.DMA_BufferSize = 1; - 8013950: f04f 0301 mov.w r3, #1 ; 0x1 - 8013954: 617b str r3, [r7, #20] - DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; - 8013956: f04f 0300 mov.w r3, #0 ; 0x0 - 801395a: 61bb str r3, [r7, #24] - DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Disable; - 801395c: f04f 0300 mov.w r3, #0 ; 0x0 - 8013960: 61fb str r3, [r7, #28] - DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord; - 8013962: f44f 6300 mov.w r3, #2048 ; 0x800 - 8013966: 623b str r3, [r7, #32] - DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord; - 8013968: f44f 5300 mov.w r3, #8192 ; 0x2000 - 801396c: 627b str r3, [r7, #36] - DMA_InitStructure.DMA_Mode = DMA_Mode_Circular; - 801396e: f44f 7380 mov.w r3, #256 ; 0x100 - 8013972: 62bb str r3, [r7, #40] - DMA_InitStructure.DMA_Priority = DMA_Priority_High; - 8013974: f44f 3300 mov.w r3, #131072 ; 0x20000 - 8013978: 62fb str r3, [r7, #44] - DMA_InitStructure.DMA_FIFOMode = DMA_FIFOMode_Disable; - 801397a: f04f 0300 mov.w r3, #0 ; 0x0 - 801397e: 633b str r3, [r7, #48] - DMA_InitStructure.DMA_FIFOThreshold = DMA_FIFOThreshold_HalfFull; - 8013980: f04f 0301 mov.w r3, #1 ; 0x1 - 8013984: 637b str r3, [r7, #52] - DMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single; - 8013986: f04f 0300 mov.w r3, #0 ; 0x0 - 801398a: 63bb str r3, [r7, #56] - DMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_Single; - 801398c: f04f 0300 mov.w r3, #0 ; 0x0 - 8013990: 63fb str r3, [r7, #60] - DMA_Init(DMA2_Stream0, &DMA_InitStructure); - 8013992: f107 0304 add.w r3, r7, #4 ; 0x4 - 8013996: 4834 ldr r0, [pc, #208] (8013a68 <_ZN5Debug22__ADC_DMASampleF4_initEv+0x148>) - 8013998: 4619 mov r1, r3 - 801399a: f7f5 fbef bl 800917c - DMA_Cmd(DMA2_Stream0, ENABLE); - 801399e: 4832 ldr r0, [pc, #200] (8013a68 <_ZN5Debug22__ADC_DMASampleF4_initEv+0x148>) - 80139a0: f04f 0101 mov.w r1, #1 ; 0x1 - 80139a4: f7f5 fc94 bl 80092d0 - - /* Configure ADC3 Channel12 pin as analog input ******************************/ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2; - 80139a8: f04f 0304 mov.w r3, #4 ; 0x4 - 80139ac: 643b str r3, [r7, #64] - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN; - 80139ae: f04f 0303 mov.w r3, #3 ; 0x3 - 80139b2: f887 3044 strb.w r3, [r7, #68] - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL ; - 80139b6: f04f 0300 mov.w r3, #0 ; 0x0 - 80139ba: f887 3047 strb.w r3, [r7, #71] - GPIO_Init(GPIOC, &GPIO_InitStructure); - 80139be: f107 0340 add.w r3, r7, #64 ; 0x40 - 80139c2: 482a ldr r0, [pc, #168] (8013a6c <_ZN5Debug22__ADC_DMASampleF4_initEv+0x14c>) - 80139c4: 4619 mov r1, r3 - 80139c6: f7f6 f8bf bl 8009b48 - - /* ADC Common Init **********************************************************/ - ADC_CommonInitStructure.ADC_Mode = ADC_Mode_Independent; - 80139ca: f04f 0300 mov.w r3, #0 ; 0x0 - 80139ce: 64bb str r3, [r7, #72] - ADC_CommonInitStructure.ADC_Prescaler = ADC_Prescaler_Div2; - 80139d0: f04f 0300 mov.w r3, #0 ; 0x0 - 80139d4: 64fb str r3, [r7, #76] - ADC_CommonInitStructure.ADC_DMAAccessMode = ADC_DMAAccessMode_Disabled; - 80139d6: f04f 0300 mov.w r3, #0 ; 0x0 - 80139da: 653b str r3, [r7, #80] - ADC_CommonInitStructure.ADC_TwoSamplingDelay = ADC_TwoSamplingDelay_5Cycles; - 80139dc: f04f 0300 mov.w r3, #0 ; 0x0 - 80139e0: 657b str r3, [r7, #84] - ADC_CommonInit(&ADC_CommonInitStructure); - 80139e2: f107 0348 add.w r3, r7, #72 ; 0x48 - 80139e6: 4618 mov r0, r3 - 80139e8: f7f4 fdb6 bl 8008558 - - /* ADC3 Init ****************************************************************/ - ADC_InitStructure.ADC_Resolution = ADC_Resolution_12b; - 80139ec: f04f 0300 mov.w r3, #0 ; 0x0 - 80139f0: 65bb str r3, [r7, #88] - ADC_InitStructure.ADC_ScanConvMode = DISABLE; - 80139f2: f04f 0300 mov.w r3, #0 ; 0x0 - 80139f6: f887 305c strb.w r3, [r7, #92] - ADC_InitStructure.ADC_ContinuousConvMode = ENABLE; - 80139fa: f04f 0301 mov.w r3, #1 ; 0x1 - 80139fe: f887 305d strb.w r3, [r7, #93] - ADC_InitStructure.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_None; - 8013a02: f04f 0300 mov.w r3, #0 ; 0x0 - 8013a06: 663b str r3, [r7, #96] - ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; - 8013a08: f04f 0300 mov.w r3, #0 ; 0x0 - 8013a0c: 66bb str r3, [r7, #104] - ADC_InitStructure.ADC_NbrOfConversion = 1; - 8013a0e: f04f 0301 mov.w r3, #1 ; 0x1 - 8013a12: f887 306c strb.w r3, [r7, #108] - ADC_Init(ADC3, &ADC_InitStructure); - 8013a16: f107 0358 add.w r3, r7, #88 ; 0x58 - 8013a1a: 4815 ldr r0, [pc, #84] (8013a70 <_ZN5Debug22__ADC_DMASampleF4_initEv+0x150>) - 8013a1c: 4619 mov r1, r3 - 8013a1e: f7f4 fd11 bl 8008444 - - /* ADC3 regular channel12 configuration *************************************/ - ADC_RegularChannelConfig(ADC3, ADC_Channel_12, 1, ADC_SampleTime_3Cycles); - 8013a22: 4813 ldr r0, [pc, #76] (8013a70 <_ZN5Debug22__ADC_DMASampleF4_initEv+0x150>) - 8013a24: f04f 010c mov.w r1, #12 ; 0xc - 8013a28: f04f 0201 mov.w r2, #1 ; 0x1 - 8013a2c: f04f 0300 mov.w r3, #0 ; 0x0 - 8013a30: f7f4 fe7e bl 8008730 - - /* Enable DMA request after last transfer (Single-ADC mode) */ - ADC_DMARequestAfterLastTransferCmd(ADC3, ENABLE); - 8013a34: 480e ldr r0, [pc, #56] (8013a70 <_ZN5Debug22__ADC_DMASampleF4_initEv+0x150>) - 8013a36: f04f 0101 mov.w r1, #1 ; 0x1 - 8013a3a: f7f5 f83f bl 8008abc - - /* Enable ADC3 DMA */ - ADC_DMACmd(ADC3, ENABLE); - 8013a3e: 480c ldr r0, [pc, #48] (8013a70 <_ZN5Debug22__ADC_DMASampleF4_initEv+0x150>) - 8013a40: f04f 0101 mov.w r1, #1 ; 0x1 - 8013a44: f7f5 f81e bl 8008a84 - - /* Enable ADC3 */ - ADC_Cmd(ADC3, ENABLE); - 8013a48: 4809 ldr r0, [pc, #36] (8013a70 <_ZN5Debug22__ADC_DMASampleF4_initEv+0x150>) - 8013a4a: f04f 0101 mov.w r1, #1 ; 0x1 - 8013a4e: f7f4 fdcb bl 80085e8 -#endif -} - 8013a52: f107 0770 add.w r7, r7, #112 ; 0x70 - 8013a56: 46bd mov sp, r7 - 8013a58: bd80 pop {r7, pc} - 8013a5a: 46c0 nop (mov r8, r8) - 8013a5c: 00400004 .word 0x00400004 - 8013a60: 4001224c .word 0x4001224c - 8013a64: 20000594 .word 0x20000594 - 8013a68: 40026410 .word 0x40026410 - 8013a6c: 40020800 .word 0x40020800 - 8013a70: 40012200 .word 0x40012200 - -08013a74 <_ZN5Debug19testADC_DMASampleF4Ev>: - - -//__IO uint32_t ADC3ConvertedValue[4]; -__IO uint16_t ADC3ConvertedValueN = 0; - -void Debug::testADC_DMASampleF4() - 8013a74: b580 push {r7, lr} - 8013a76: b082 sub sp, #8 - 8013a78: af00 add r7, sp, #0 -{ -#if defined(STM32F40_41xxx) - __ADC_DMASampleF4_init();//Start configuration - 8013a7a: f7ff ff51 bl 8013920 <_ZN5Debug22__ADC_DMASampleF4_initEv> - - ADC_SoftwareStartConv(ADC3); - 8013a7e: 4805 ldr r0, [pc, #20] (8013a94 <_ZN5Debug19testADC_DMASampleF4Ev+0x20>) - 8013a80: f7f4 ff42 bl 8008908 - - uint32_t convertedValue = -1; - 8013a84: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8013a88: 607b str r3, [r7, #4] - while(true) - { - convertedValue = ADC3ConvertedValueN;//Read the ADC converted value - 8013a8a: 4b03 ldr r3, [pc, #12] (8013a98 <_ZN5Debug19testADC_DMASampleF4Ev+0x24>) - 8013a8c: 881b ldrh r3, [r3, #0] - 8013a8e: b29b uxth r3, r3 - 8013a90: 607b str r3, [r7, #4] - 8013a92: e7fa b.n 8013a8a <_ZN5Debug19testADC_DMASampleF4Ev+0x16> - 8013a94: 40012200 .word 0x40012200 - 8013a98: 20000594 .word 0x20000594 - -08013a9c <_ZN5Debug25__ADCSampleF4_adc_convertEv>: - //Select the channel to be read from - ADC_RegularChannelConfig(ADC1,ADC_Channel_10,1,ADC_SampleTime_144Cycles); -#endif -} - -int Debug::__ADCSampleF4_adc_convert(){ - 8013a9c: b580 push {r7, lr} - 8013a9e: af00 add r7, sp, #0 -#if defined(STM32F40_41xxx) - ADC_SoftwareStartConv(ADC1);//Start the conversion - 8013aa0: 480b ldr r0, [pc, #44] (8013ad0 <_ZN5Debug25__ADCSampleF4_adc_convertEv+0x34>) - 8013aa2: f7f4 ff31 bl 8008908 - while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC));//Processing the conversion - 8013aa6: 480a ldr r0, [pc, #40] (8013ad0 <_ZN5Debug25__ADCSampleF4_adc_convertEv+0x34>) - 8013aa8: f04f 0102 mov.w r1, #2 ; 0x2 - 8013aac: f7f5 fa0e bl 8008ecc - 8013ab0: 4603 mov r3, r0 - 8013ab2: 2b00 cmp r3, #0 - 8013ab4: bf14 ite ne - 8013ab6: 2300 movne r3, #0 - 8013ab8: 2301 moveq r3, #1 - 8013aba: b2db uxtb r3, r3 - 8013abc: 2b00 cmp r3, #0 - 8013abe: d1f2 bne.n 8013aa6 <_ZN5Debug25__ADCSampleF4_adc_convertEv+0xa> - return ADC_GetConversionValue(ADC1); //Return the converted data - 8013ac0: 4803 ldr r0, [pc, #12] (8013ad0 <_ZN5Debug25__ADCSampleF4_adc_convertEv+0x34>) - 8013ac2: f7f4 ffc7 bl 8008a54 - 8013ac6: 4603 mov r3, r0 -#endif -} - 8013ac8: 4618 mov r0, r3 - 8013aca: 46bd mov sp, r7 - 8013acc: bd80 pop {r7, pc} - 8013ace: 46c0 nop (mov r8, r8) - 8013ad0: 40012000 .word 0x40012000 - -08013ad4 <_ZN5Debug27__ADCSampleF4_adc_configureEv>: - { - convertedValue = __ADCSampleF4_adc_convert();//Read the ADC converted value - } -} - -void Debug::__ADCSampleF4_adc_configure() - 8013ad4: b580 push {r7, lr} - 8013ad6: b088 sub sp, #32 - 8013ad8: af00 add r7, sp, #0 -{ -#if defined(STM32F40_41xxx) - ADC_InitTypeDef ADC_init_structure; //Structure for adc confguration - GPIO_InitTypeDef GPIO_initStructre; //Structure for analog input pin - //Clock configuration - RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1,ENABLE);//The ADC1 is connected the APB2 peripheral bus thus we will use its clock source - 8013ada: f44f 7080 mov.w r0, #256 ; 0x100 - 8013ade: f04f 0101 mov.w r1, #1 ; 0x1 - 8013ae2: f7f6 fec9 bl 800a878 - RCC_AHB1PeriphClockCmd(RCC_AHB1ENR_GPIOCEN,ENABLE);//Clock for the ADC port!! Do not forget about this one ;) - 8013ae6: f04f 0004 mov.w r0, #4 ; 0x4 - 8013aea: f04f 0101 mov.w r1, #1 ; 0x1 - 8013aee: f7f6 fe3b bl 800a768 - //Analog pin configuration - GPIO_initStructre.GPIO_Pin = GPIO_Pin_0;//The channel 10 is connected to PC0 - 8013af2: f04f 0301 mov.w r3, #1 ; 0x1 - 8013af6: 603b str r3, [r7, #0] - GPIO_initStructre.GPIO_Mode = GPIO_Mode_AN; //The PC0 pin is configured in analog mode - 8013af8: f04f 0303 mov.w r3, #3 ; 0x3 - 8013afc: 713b strb r3, [r7, #4] - GPIO_initStructre.GPIO_PuPd = GPIO_PuPd_NOPULL; //We don't need any pull up or pull down - 8013afe: f04f 0300 mov.w r3, #0 ; 0x0 - 8013b02: 71fb strb r3, [r7, #7] - GPIO_Init(GPIOC,&GPIO_initStructre);//Affecting the port with the initialization structure configuration - 8013b04: 463b mov r3, r7 - 8013b06: 4819 ldr r0, [pc, #100] (8013b6c <_ZN5Debug27__ADCSampleF4_adc_configureEv+0x98>) - 8013b08: 4619 mov r1, r3 - 8013b0a: f7f6 f81d bl 8009b48 - //ADC structure configuration - ADC_DeInit(); - 8013b0e: f7f4 fc89 bl 8008424 - ADC_init_structure.ADC_DataAlign = ADC_DataAlign_Right;//data converted will be shifted to right - 8013b12: f04f 0300 mov.w r3, #0 ; 0x0 - 8013b16: 61bb str r3, [r7, #24] - ADC_init_structure.ADC_Resolution = ADC_Resolution_12b;//Input voltage is converted into a 12bit number giving a maximum value of 4096 - 8013b18: f04f 0300 mov.w r3, #0 ; 0x0 - 8013b1c: 60bb str r3, [r7, #8] - ADC_init_structure.ADC_ContinuousConvMode = ENABLE; //the conversion is continuous, the input data is converted more than once - 8013b1e: f04f 0301 mov.w r3, #1 ; 0x1 - 8013b22: 737b strb r3, [r7, #13] - ADC_init_structure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_T1_CC1;// conversion is synchronous with TIM1 and CC1 (actually I'm not sure about this one :/) - 8013b24: f04f 0300 mov.w r3, #0 ; 0x0 - 8013b28: 617b str r3, [r7, #20] - ADC_init_structure.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_None;//no trigger for conversion - 8013b2a: f04f 0300 mov.w r3, #0 ; 0x0 - 8013b2e: 613b str r3, [r7, #16] - ADC_init_structure.ADC_NbrOfConversion = 1;//I think this one is clear :p - 8013b30: f04f 0301 mov.w r3, #1 ; 0x1 - 8013b34: 773b strb r3, [r7, #28] - ADC_init_structure.ADC_ScanConvMode = DISABLE;//The scan is configured in one channel - 8013b36: f04f 0300 mov.w r3, #0 ; 0x0 - 8013b3a: 733b strb r3, [r7, #12] - ADC_Init(ADC1,&ADC_init_structure);//Initialize ADC with the previous configuration - 8013b3c: f107 0308 add.w r3, r7, #8 ; 0x8 - 8013b40: 480b ldr r0, [pc, #44] (8013b70 <_ZN5Debug27__ADCSampleF4_adc_configureEv+0x9c>) - 8013b42: 4619 mov r1, r3 - 8013b44: f7f4 fc7e bl 8008444 - //Enable ADC conversion - ADC_Cmd(ADC1,ENABLE); - 8013b48: 4809 ldr r0, [pc, #36] (8013b70 <_ZN5Debug27__ADCSampleF4_adc_configureEv+0x9c>) - 8013b4a: f04f 0101 mov.w r1, #1 ; 0x1 - 8013b4e: f7f4 fd4b bl 80085e8 - //Select the channel to be read from - ADC_RegularChannelConfig(ADC1,ADC_Channel_10,1,ADC_SampleTime_144Cycles); - 8013b52: 4807 ldr r0, [pc, #28] (8013b70 <_ZN5Debug27__ADCSampleF4_adc_configureEv+0x9c>) - 8013b54: f04f 010a mov.w r1, #10 ; 0xa - 8013b58: f04f 0201 mov.w r2, #1 ; 0x1 - 8013b5c: f04f 0306 mov.w r3, #6 ; 0x6 - 8013b60: f7f4 fde6 bl 8008730 -#endif -} - 8013b64: f107 0720 add.w r7, r7, #32 ; 0x20 - 8013b68: 46bd mov sp, r7 - 8013b6a: bd80 pop {r7, pc} - 8013b6c: 40020800 .word 0x40020800 - 8013b70: 40012000 .word 0x40012000 - -08013b74 <_ZN5Debug15testADCSampleF4Ev>: -} - -/** - @brief Read the PC0 pin -*/ -void Debug::testADCSampleF4() - 8013b74: b580 push {r7, lr} - 8013b76: b082 sub sp, #8 - 8013b78: af00 add r7, sp, #0 -{ - __ADCSampleF4_adc_configure();//Start configuration - 8013b7a: f7ff ffab bl 8013ad4 <_ZN5Debug27__ADCSampleF4_adc_configureEv> - - int convertedValue = -1; - 8013b7e: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8013b82: 607b str r3, [r7, #4] - while(true) - { - convertedValue = __ADCSampleF4_adc_convert();//Read the ADC converted value - 8013b84: f7ff ff8a bl 8013a9c <_ZN5Debug25__ADCSampleF4_adc_convertEv> - 8013b88: 4603 mov r3, r0 - 8013b8a: 607b str r3, [r7, #4] - 8013b8c: e7fa b.n 8013b84 <_ZN5Debug15testADCSampleF4Ev+0x10> - 8013b8e: 46c0 nop (mov r8, r8) - -08013b90 <_ZN5Debug15testServoAnalogEv>: -void Debug::run() -{ - // test run -} - -void Debug::testServoAnalog() - 8013b90: b580 push {r7, lr} - 8013b92: b094 sub sp, #80 - 8013b94: af02 add r7, sp, #8 -{ - Timer* timer1 = new Timer(TIM1, PERIOD_TIMER_SERVO, PRESCALER_TIMER_SERVO, CLOCK_TIMER_SERVO); - 8013b96: f04f 000c mov.w r0, #12 ; 0xc - 8013b9a: f003 fc91 bl 80174c0 <_Znwj> - 8013b9e: 4603 mov r3, r0 - 8013ba0: 603b str r3, [r7, #0] - 8013ba2: 683b ldr r3, [r7, #0] - 8013ba4: 2b00 cmp r3, #0 - 8013ba6: d00d beq.n 8013bc4 <_ZN5Debug15testServoAnalogEv+0x34> - 8013ba8: f04f 0300 mov.w r3, #0 ; 0x0 - 8013bac: 9300 str r3, [sp, #0] - 8013bae: 6838 ldr r0, [r7, #0] - 8013bb0: 4955 ldr r1, [pc, #340] (8013d08 <_ZN5Debug15testServoAnalogEv+0x178>) - 8013bb2: f644 6220 movw r2, #20000 ; 0x4e20 - 8013bb6: f04f 03a7 mov.w r3, #167 ; 0xa7 - 8013bba: f002 fc69 bl 8016490 <_ZN5TimerC1EP11TIM_TypeDefttNS_11ClkDivisionE> - 8013bbe: 683b ldr r3, [r7, #0] - 8013bc0: 607b str r3, [r7, #4] - 8013bc2: e001 b.n 8013bc8 <_ZN5Debug15testServoAnalogEv+0x38> - 8013bc4: 683b ldr r3, [r7, #0] - 8013bc6: 607b str r3, [r7, #4] - 8013bc8: 687b ldr r3, [r7, #4] - 8013bca: 62bb str r3, [r7, #40] - TIM_CtrlPWMOutputs(TIM1, ENABLE); - 8013bcc: 484e ldr r0, [pc, #312] (8013d08 <_ZN5Debug15testServoAnalogEv+0x178>) - 8013bce: f04f 0101 mov.w r1, #1 ; 0x1 - 8013bd2: f7f8 fc2d bl 800c430 - - Servo* servo1 = new Servo(timer1, 1, 0.01f, 0.11f); - 8013bd6: f04f 0014 mov.w r0, #20 ; 0x14 - 8013bda: f003 fc71 bl 80174c0 <_Znwj> - 8013bde: 4603 mov r3, r0 - 8013be0: 60bb str r3, [r7, #8] - 8013be2: 68bb ldr r3, [r7, #8] - 8013be4: 2b00 cmp r3, #0 - 8013be6: d00b beq.n 8013c00 <_ZN5Debug15testServoAnalogEv+0x70> - 8013be8: 4b48 ldr r3, [pc, #288] (8013d0c <_ZN5Debug15testServoAnalogEv+0x17c>) - 8013bea: 9300 str r3, [sp, #0] - 8013bec: 68b8 ldr r0, [r7, #8] - 8013bee: 6ab9 ldr r1, [r7, #40] - 8013bf0: f04f 0201 mov.w r2, #1 ; 0x1 - 8013bf4: 4b46 ldr r3, [pc, #280] (8013d10 <_ZN5Debug15testServoAnalogEv+0x180>) - 8013bf6: f7fc fbb5 bl 8010364 <_ZN5ServoC1EP5Timerhff> - 8013bfa: 68bb ldr r3, [r7, #8] - 8013bfc: 60fb str r3, [r7, #12] - 8013bfe: e001 b.n 8013c04 <_ZN5Debug15testServoAnalogEv+0x74> - 8013c00: 68bb ldr r3, [r7, #8] - 8013c02: 60fb str r3, [r7, #12] - 8013c04: 68fb ldr r3, [r7, #12] - 8013c06: 62fb str r3, [r7, #44] - Servo* servo2 = new Servo(timer1, 2, 0.01f, 0.11f); - 8013c08: f04f 0014 mov.w r0, #20 ; 0x14 - 8013c0c: f003 fc58 bl 80174c0 <_Znwj> - 8013c10: 4603 mov r3, r0 - 8013c12: 613b str r3, [r7, #16] - 8013c14: 693b ldr r3, [r7, #16] - 8013c16: 2b00 cmp r3, #0 - 8013c18: d00b beq.n 8013c32 <_ZN5Debug15testServoAnalogEv+0xa2> - 8013c1a: 4b3c ldr r3, [pc, #240] (8013d0c <_ZN5Debug15testServoAnalogEv+0x17c>) - 8013c1c: 9300 str r3, [sp, #0] - 8013c1e: 6938 ldr r0, [r7, #16] - 8013c20: 6ab9 ldr r1, [r7, #40] - 8013c22: f04f 0202 mov.w r2, #2 ; 0x2 - 8013c26: 4b3a ldr r3, [pc, #232] (8013d10 <_ZN5Debug15testServoAnalogEv+0x180>) - 8013c28: f7fc fb9c bl 8010364 <_ZN5ServoC1EP5Timerhff> - 8013c2c: 693b ldr r3, [r7, #16] - 8013c2e: 617b str r3, [r7, #20] - 8013c30: e001 b.n 8013c36 <_ZN5Debug15testServoAnalogEv+0xa6> - 8013c32: 693b ldr r3, [r7, #16] - 8013c34: 617b str r3, [r7, #20] - 8013c36: 697b ldr r3, [r7, #20] - 8013c38: 633b str r3, [r7, #48] - Servo* servo3 = new Servo(timer1, 3, 0.01f, 0.11f); - 8013c3a: f04f 0014 mov.w r0, #20 ; 0x14 - 8013c3e: f003 fc3f bl 80174c0 <_Znwj> - 8013c42: 4603 mov r3, r0 - 8013c44: 61bb str r3, [r7, #24] - 8013c46: 69bb ldr r3, [r7, #24] - 8013c48: 2b00 cmp r3, #0 - 8013c4a: d00b beq.n 8013c64 <_ZN5Debug15testServoAnalogEv+0xd4> - 8013c4c: 4b2f ldr r3, [pc, #188] (8013d0c <_ZN5Debug15testServoAnalogEv+0x17c>) - 8013c4e: 9300 str r3, [sp, #0] - 8013c50: 69b8 ldr r0, [r7, #24] - 8013c52: 6ab9 ldr r1, [r7, #40] - 8013c54: f04f 0203 mov.w r2, #3 ; 0x3 - 8013c58: 4b2d ldr r3, [pc, #180] (8013d10 <_ZN5Debug15testServoAnalogEv+0x180>) - 8013c5a: f7fc fb83 bl 8010364 <_ZN5ServoC1EP5Timerhff> - 8013c5e: 69bb ldr r3, [r7, #24] - 8013c60: 61fb str r3, [r7, #28] - 8013c62: e001 b.n 8013c68 <_ZN5Debug15testServoAnalogEv+0xd8> - 8013c64: 69bb ldr r3, [r7, #24] - 8013c66: 61fb str r3, [r7, #28] - 8013c68: 69fb ldr r3, [r7, #28] - 8013c6a: 637b str r3, [r7, #52] - Servo* servo4 = new Servo(timer1, 4, 0.01f, 0.11f); - 8013c6c: f04f 0014 mov.w r0, #20 ; 0x14 - 8013c70: f003 fc26 bl 80174c0 <_Znwj> - 8013c74: 4603 mov r3, r0 - 8013c76: 623b str r3, [r7, #32] - 8013c78: 6a3b ldr r3, [r7, #32] - 8013c7a: 2b00 cmp r3, #0 - 8013c7c: d00b beq.n 8013c96 <_ZN5Debug15testServoAnalogEv+0x106> - 8013c7e: 4b23 ldr r3, [pc, #140] (8013d0c <_ZN5Debug15testServoAnalogEv+0x17c>) - 8013c80: 9300 str r3, [sp, #0] - 8013c82: 6a38 ldr r0, [r7, #32] - 8013c84: 6ab9 ldr r1, [r7, #40] - 8013c86: f04f 0204 mov.w r2, #4 ; 0x4 - 8013c8a: 4b21 ldr r3, [pc, #132] (8013d10 <_ZN5Debug15testServoAnalogEv+0x180>) - 8013c8c: f7fc fb6a bl 8010364 <_ZN5ServoC1EP5Timerhff> - 8013c90: 6a3b ldr r3, [r7, #32] - 8013c92: 627b str r3, [r7, #36] - 8013c94: e001 b.n 8013c9a <_ZN5Debug15testServoAnalogEv+0x10a> - 8013c96: 6a3b ldr r3, [r7, #32] - 8013c98: 627b str r3, [r7, #36] - 8013c9a: 6a7b ldr r3, [r7, #36] - 8013c9c: 63bb str r3, [r7, #56] - - for(int i=0; i<2000; i++) - 8013c9e: f04f 0300 mov.w r3, #0 ; 0x0 - 8013ca2: 63fb str r3, [r7, #60] - 8013ca4: e027 b.n 8013cf6 <_ZN5Debug15testServoAnalogEv+0x166> - { - servo1->goToAngle(70); - 8013ca6: 6af8 ldr r0, [r7, #44] - 8013ca8: 491a ldr r1, [pc, #104] (8013d14 <_ZN5Debug15testServoAnalogEv+0x184>) - 8013caa: f7fc fae7 bl 801027c <_ZN5Servo9goToAngleEf> - /*servo2->goToAngle(BALAI_G_CLOSED); - servo3->goToAngle(BALAI_G_CLOSED); - servo4->goToAngle(BALAI_G_CLOSED);*/ - allumerLED(); - 8013cae: f001 f9d3 bl 8015058 <_Z10allumerLEDv> - - for(int j=0; j<10000000; j++); - 8013cb2: f04f 0300 mov.w r3, #0 ; 0x0 - 8013cb6: 643b str r3, [r7, #64] - 8013cb8: e003 b.n 8013cc2 <_ZN5Debug15testServoAnalogEv+0x132> - 8013cba: 6c3b ldr r3, [r7, #64] - 8013cbc: f103 0301 add.w r3, r3, #1 ; 0x1 - 8013cc0: 643b str r3, [r7, #64] - 8013cc2: 6c3a ldr r2, [r7, #64] - 8013cc4: 4b14 ldr r3, [pc, #80] (8013d18 <_ZN5Debug15testServoAnalogEv+0x188>) - 8013cc6: 429a cmp r2, r3 - 8013cc8: ddf7 ble.n 8013cba <_ZN5Debug15testServoAnalogEv+0x12a> - - servo1->goToAngle(165); - 8013cca: 6af8 ldr r0, [r7, #44] - 8013ccc: 4913 ldr r1, [pc, #76] (8013d1c <_ZN5Debug15testServoAnalogEv+0x18c>) - 8013cce: f7fc fad5 bl 801027c <_ZN5Servo9goToAngleEf> - /*servo2->goToAngle(BALAI_G_OPEN); - servo3->goToAngle(BALAI_G_OPEN); - servo4->goToAngle(BALAI_G_OPEN);*/ - eteindreLED(); - 8013cd2: f001 f973 bl 8014fbc <_Z11eteindreLEDv> - - for(int j=0; j<10000000; j++); - 8013cd6: f04f 0300 mov.w r3, #0 ; 0x0 - 8013cda: 647b str r3, [r7, #68] - 8013cdc: e003 b.n 8013ce6 <_ZN5Debug15testServoAnalogEv+0x156> - 8013cde: 6c7b ldr r3, [r7, #68] - 8013ce0: f103 0301 add.w r3, r3, #1 ; 0x1 - 8013ce4: 647b str r3, [r7, #68] - 8013ce6: 6c7a ldr r2, [r7, #68] - 8013ce8: 4b0b ldr r3, [pc, #44] (8013d18 <_ZN5Debug15testServoAnalogEv+0x188>) - 8013cea: 429a cmp r2, r3 - 8013cec: ddf7 ble.n 8013cde <_ZN5Debug15testServoAnalogEv+0x14e> - Servo* servo1 = new Servo(timer1, 1, 0.01f, 0.11f); - Servo* servo2 = new Servo(timer1, 2, 0.01f, 0.11f); - Servo* servo3 = new Servo(timer1, 3, 0.01f, 0.11f); - Servo* servo4 = new Servo(timer1, 4, 0.01f, 0.11f); - - for(int i=0; i<2000; i++) - 8013cee: 6bfb ldr r3, [r7, #60] - 8013cf0: f103 0301 add.w r3, r3, #1 ; 0x1 - 8013cf4: 63fb str r3, [r7, #60] - 8013cf6: 6bfa ldr r2, [r7, #60] - 8013cf8: f240 73cf movw r3, #1999 ; 0x7cf - 8013cfc: 429a cmp r2, r3 - 8013cfe: ddd2 ble.n 8013ca6 <_ZN5Debug15testServoAnalogEv+0x116> - servo4->goToAngle(BALAI_G_OPEN);*/ - eteindreLED(); - - for(int j=0; j<10000000; j++); - } -} - 8013d00: f107 0748 add.w r7, r7, #72 ; 0x48 - 8013d04: 46bd mov sp, r7 - 8013d06: bd80 pop {r7, pc} - 8013d08: 40010000 .word 0x40010000 - 8013d0c: 3de147ae .word 0x3de147ae - 8013d10: 3c23d70a .word 0x3c23d70a - 8013d14: 428c0000 .word 0x428c0000 - 8013d18: 0098967f .word 0x0098967f - 8013d1c: 43250000 .word 0x43250000 - -08013d20 <_Z21distancePresqueEgalesff>: -#include "distance.h" - -#include - -// On vérifie qu'il y a égalité ou presque entre deux distances -bool distancePresqueEgales(Distance d1, Distance d2) - 8013d20: b580 push {r7, lr} - 8013d22: b084 sub sp, #16 - 8013d24: af00 add r7, sp, #0 - 8013d26: 60f8 str r0, [r7, #12] - 8013d28: 60b9 str r1, [r7, #8] -{ - static const Distance epsilon = 10; - return (fabs(d1 - d2) < epsilon); - 8013d2a: 68f8 ldr r0, [r7, #12] - 8013d2c: 68b9 ldr r1, [r7, #8] - 8013d2e: f019 f839 bl 802cda4 <__aeabi_fsub> - 8013d32: 4603 mov r3, r0 - 8013d34: f023 4200 bic.w r2, r3, #2147483648 ; 0x80000000 - 8013d38: f04f 0300 mov.w r3, #0 ; 0x0 - 8013d3c: 71fb strb r3, [r7, #7] - 8013d3e: 4610 mov r0, r2 - 8013d40: 4907 ldr r1, [pc, #28] (8013d60 <_Z21distancePresqueEgalesff+0x40>) - 8013d42: f019 fad5 bl 802d2f0 <__aeabi_fcmplt> - 8013d46: 4603 mov r3, r0 - 8013d48: 2b00 cmp r3, #0 - 8013d4a: d002 beq.n 8013d52 <_Z21distancePresqueEgalesff+0x32> - 8013d4c: f04f 0301 mov.w r3, #1 ; 0x1 - 8013d50: 71fb strb r3, [r7, #7] - 8013d52: 79fb ldrb r3, [r7, #7] -} - 8013d54: 4618 mov r0, r3 - 8013d56: f107 0710 add.w r7, r7, #16 ; 0x10 - 8013d5a: 46bd mov sp, r7 - 8013d5c: bd80 pop {r7, pc} - 8013d5e: 46c0 nop (mov r8, r8) - 8013d60: 41200000 .word 0x41200000 - -08013d64 <_ZN12AnalogSensor18conversionFinishedEv>: - #else - ADC_SoftwareStartConvCmd(ADC1, ENABLE); // lance une conversion - #endif -} - -bool AnalogSensor::conversionFinished() - 8013d64: b480 push {r7} - 8013d66: af00 add r7, sp, #0 - //return DMA_GetFlagStatus(DMA1_Stream1_BASE, DMA_FLAG_TCIF1); - //return DMA_GetFlagStatus(DMA1_FLAG_TC1); - //return DMA_GetFlagStatus(DMA1_Stream1, DMA_FLAG_TCIF1);//I have no idea what I am doing - //TOBECONTINUED - #ifdef STM32F40_41xxx - return true; - 8013d68: f04f 0301 mov.w r3, #1 ; 0x1 - #else - return DMA_GetFlagStatus(DMA1_FLAG_TC1); - #endif -} - 8013d6c: 4618 mov r0, r3 - 8013d6e: 46bd mov sp, r7 - 8013d70: bc80 pop {r7} - 8013d72: 4770 bx lr - -08013d74 <_ZN12AnalogSensor15startConversionEv>: - DMA_Cmd(DMA1_Channel1, ENABLE); - return data; - #endif -} - -void AnalogSensor::startConversion() - 8013d74: b580 push {r7, lr} - 8013d76: af00 add r7, sp, #0 -{ - #ifdef STM32F40_41xxx - ADC_SoftwareStartConv(ADC1); - 8013d78: 4802 ldr r0, [pc, #8] (8013d84 <_ZN12AnalogSensor15startConversionEv+0x10>) - 8013d7a: f7f4 fdc5 bl 8008908 - #else - ADC_SoftwareStartConvCmd(ADC1, ENABLE); // lance une conversion - #endif -} - 8013d7e: 46bd mov sp, r7 - 8013d80: bd80 pop {r7, pc} - 8013d82: 46c0 nop (mov r8, r8) - 8013d84: 40012000 .word 0x40012000 - -08013d88 <_ZN12AnalogSensor14initialiserADCEhPh>: -{ -} - -#ifdef ROBOTHW // pour le vrai robot - -DMA_MEMORY_TYPE* AnalogSensor::initialiserADC(uint8_t nbChannel, uint8_t* channels) - 8013d88: b580 push {r7, lr} - 8013d8a: b09e sub sp, #120 - 8013d8c: af00 add r7, sp, #0 - 8013d8e: 4603 mov r3, r0 - 8013d90: 6039 str r1, [r7, #0] - 8013d92: 71fb strb r3, [r7, #7] -{ - #ifdef STM32F40_41xxx - DMA_MEMORY_TYPE* data = new DMA_MEMORY_TYPE[nbChannel]; - 8013d94: 79fb ldrb r3, [r7, #7] - 8013d96: ea4f 0383 mov.w r3, r3, lsl #2 - 8013d9a: 4618 mov r0, r3 - 8013d9c: f003 fc28 bl 80175f0 <_Znaj> - 8013da0: 4603 mov r3, r0 - 8013da2: 673b str r3, [r7, #112] - ADC_InitTypeDef ADC_InitStructure; - ADC_CommonInitTypeDef ADC_CommonInitStructure; - DMA_InitTypeDef DMA_InitStructure; - - /* DMA2 Stream0 channel0 configuration **************************************/ - DMA_InitStructure.DMA_Channel = DMA_Channel_2; - 8013da4: f04f 6380 mov.w r3, #67108864 ; 0x4000000 - 8013da8: 60fb str r3, [r7, #12] - DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)ADC3_DR_ADDRESS; - 8013daa: 4b48 ldr r3, [pc, #288] (8013ecc <_ZN12AnalogSensor14initialiserADCEhPh+0x144>) - 8013dac: 613b str r3, [r7, #16] - DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)data; - 8013dae: 6f3b ldr r3, [r7, #112] - 8013db0: 617b str r3, [r7, #20] - DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralToMemory; - 8013db2: f04f 0300 mov.w r3, #0 ; 0x0 - 8013db6: 61bb str r3, [r7, #24] - DMA_InitStructure.DMA_BufferSize = nbChannel; - 8013db8: 79fb ldrb r3, [r7, #7] - 8013dba: 61fb str r3, [r7, #28] - DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; - 8013dbc: f04f 0300 mov.w r3, #0 ; 0x0 - 8013dc0: 623b str r3, [r7, #32] - DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable; - 8013dc2: f44f 6380 mov.w r3, #1024 ; 0x400 - 8013dc6: 627b str r3, [r7, #36] - DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Word; - 8013dc8: f44f 5380 mov.w r3, #4096 ; 0x1000 - 8013dcc: 62bb str r3, [r7, #40] - DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Word; - 8013dce: f44f 4380 mov.w r3, #16384 ; 0x4000 - 8013dd2: 62fb str r3, [r7, #44] - DMA_InitStructure.DMA_Mode = DMA_Mode_Circular; - 8013dd4: f44f 7380 mov.w r3, #256 ; 0x100 - 8013dd8: 633b str r3, [r7, #48] - DMA_InitStructure.DMA_Priority = DMA_Priority_High; - 8013dda: f44f 3300 mov.w r3, #131072 ; 0x20000 - 8013dde: 637b str r3, [r7, #52] - DMA_InitStructure.DMA_FIFOMode = DMA_FIFOMode_Disable; - 8013de0: f04f 0300 mov.w r3, #0 ; 0x0 - 8013de4: 63bb str r3, [r7, #56] - DMA_InitStructure.DMA_FIFOThreshold = DMA_FIFOThreshold_HalfFull; - 8013de6: f04f 0301 mov.w r3, #1 ; 0x1 - 8013dea: 63fb str r3, [r7, #60] - DMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single; - 8013dec: f04f 0300 mov.w r3, #0 ; 0x0 - 8013df0: 643b str r3, [r7, #64] - DMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_Single; - 8013df2: f04f 0300 mov.w r3, #0 ; 0x0 - 8013df6: 647b str r3, [r7, #68] - DMA_Init(DMA2_Stream0, &DMA_InitStructure); - 8013df8: f107 030c add.w r3, r7, #12 ; 0xc - 8013dfc: 4834 ldr r0, [pc, #208] (8013ed0 <_ZN12AnalogSensor14initialiserADCEhPh+0x148>) - 8013dfe: 4619 mov r1, r3 - 8013e00: f7f5 f9bc bl 800917c - DMA_Cmd(DMA2_Stream0, ENABLE); - 8013e04: 4832 ldr r0, [pc, #200] (8013ed0 <_ZN12AnalogSensor14initialiserADCEhPh+0x148>) - 8013e06: f04f 0101 mov.w r1, #1 ; 0x1 - 8013e0a: f7f5 fa61 bl 80092d0 - - /* ADC Common Init **********************************************************/ - ADC_CommonInitStructure.ADC_Mode = ADC_Mode_Independent; - 8013e0e: f04f 0300 mov.w r3, #0 ; 0x0 - 8013e12: 64bb str r3, [r7, #72] - ADC_CommonInitStructure.ADC_Prescaler = ADC_Prescaler_Div2; - 8013e14: f04f 0300 mov.w r3, #0 ; 0x0 - 8013e18: 64fb str r3, [r7, #76] - ADC_CommonInitStructure.ADC_DMAAccessMode = ADC_DMAAccessMode_Disabled; - 8013e1a: f04f 0300 mov.w r3, #0 ; 0x0 - 8013e1e: 653b str r3, [r7, #80] - ADC_CommonInitStructure.ADC_TwoSamplingDelay = ADC_TwoSamplingDelay_5Cycles; - 8013e20: f04f 0300 mov.w r3, #0 ; 0x0 - 8013e24: 657b str r3, [r7, #84] - ADC_CommonInit(&ADC_CommonInitStructure); - 8013e26: f107 0348 add.w r3, r7, #72 ; 0x48 - 8013e2a: 4618 mov r0, r3 - 8013e2c: f7f4 fb94 bl 8008558 - - /* ADC3 Init ****************************************************************/ - ADC_InitStructure.ADC_Resolution = ADC_Resolution_12b; - 8013e30: f04f 0300 mov.w r3, #0 ; 0x0 - 8013e34: 65bb str r3, [r7, #88] - ADC_InitStructure.ADC_ScanConvMode = ENABLE; - 8013e36: f04f 0301 mov.w r3, #1 ; 0x1 - 8013e3a: f887 305c strb.w r3, [r7, #92] - ADC_InitStructure.ADC_ContinuousConvMode = ENABLE; - 8013e3e: f04f 0301 mov.w r3, #1 ; 0x1 - 8013e42: f887 305d strb.w r3, [r7, #93] - ADC_InitStructure.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_None; - 8013e46: f04f 0300 mov.w r3, #0 ; 0x0 - 8013e4a: 663b str r3, [r7, #96] - ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; - 8013e4c: f04f 0300 mov.w r3, #0 ; 0x0 - 8013e50: 66bb str r3, [r7, #104] - ADC_InitStructure.ADC_NbrOfConversion = nbChannel; - 8013e52: 79fb ldrb r3, [r7, #7] - 8013e54: f887 306c strb.w r3, [r7, #108] - ADC_Init(ADC3, &ADC_InitStructure); - 8013e58: f107 0358 add.w r3, r7, #88 ; 0x58 - 8013e5c: 481d ldr r0, [pc, #116] (8013ed4 <_ZN12AnalogSensor14initialiserADCEhPh+0x14c>) - 8013e5e: 4619 mov r1, r3 - 8013e60: f7f4 faf0 bl 8008444 - - /* ADC3 regular channel12 configuration *************************************/ - //ADC_RegularChannelConfig(ADC3, ADC_Channel_12, 1, ADC_SampleTime_3Cycles); - for (int i=0; i - ADC_RegularChannelConfig(ADC3, channels[i], i+1, ADC_SampleTime_3Cycles); - 8013e6c: 6f7a ldr r2, [r7, #116] - 8013e6e: 683b ldr r3, [r7, #0] - 8013e70: 4413 add r3, r2 - 8013e72: 781a ldrb r2, [r3, #0] - 8013e74: 6f7b ldr r3, [r7, #116] - 8013e76: b2db uxtb r3, r3 - 8013e78: f103 0301 add.w r3, r3, #1 ; 0x1 - 8013e7c: b2db uxtb r3, r3 - 8013e7e: 4815 ldr r0, [pc, #84] (8013ed4 <_ZN12AnalogSensor14initialiserADCEhPh+0x14c>) - 8013e80: 4611 mov r1, r2 - 8013e82: 461a mov r2, r3 - 8013e84: f04f 0300 mov.w r3, #0 ; 0x0 - 8013e88: f7f4 fc52 bl 8008730 - ADC_InitStructure.ADC_NbrOfConversion = nbChannel; - ADC_Init(ADC3, &ADC_InitStructure); - - /* ADC3 regular channel12 configuration *************************************/ - //ADC_RegularChannelConfig(ADC3, ADC_Channel_12, 1, ADC_SampleTime_3Cycles); - for (int i=0; i - ADC_RegularChannelConfig(ADC3, channels[i], i+1, ADC_SampleTime_3Cycles); - - /* Enable DMA request after last transfer (Single-ADC mode) */ - ADC_DMARequestAfterLastTransferCmd(ADC3, ENABLE); - 8013e9c: 480d ldr r0, [pc, #52] (8013ed4 <_ZN12AnalogSensor14initialiserADCEhPh+0x14c>) - 8013e9e: f04f 0101 mov.w r1, #1 ; 0x1 - 8013ea2: f7f4 fe0b bl 8008abc - - /* Enable ADC3 DMA */ - ADC_DMACmd(ADC3, ENABLE); - 8013ea6: 480b ldr r0, [pc, #44] (8013ed4 <_ZN12AnalogSensor14initialiserADCEhPh+0x14c>) - 8013ea8: f04f 0101 mov.w r1, #1 ; 0x1 - 8013eac: f7f4 fdea bl 8008a84 - - /* Enable ADC3 */ - ADC_Cmd(ADC3, ENABLE); - 8013eb0: 4808 ldr r0, [pc, #32] (8013ed4 <_ZN12AnalogSensor14initialiserADCEhPh+0x14c>) - 8013eb2: f04f 0101 mov.w r1, #1 ; 0x1 - 8013eb6: f7f4 fb97 bl 80085e8 - - /* Start ADC3 Software Conversion */ - ADC_SoftwareStartConv(ADC3); - 8013eba: 4806 ldr r0, [pc, #24] (8013ed4 <_ZN12AnalogSensor14initialiserADCEhPh+0x14c>) - 8013ebc: f7f4 fd24 bl 8008908 - - return data; - 8013ec0: 6f3b ldr r3, [r7, #112] - // Channel1 : cf p.192 tableau 58 - DMA_Init(DMA1_Channel1, &DMA_InitStructure); - DMA_Cmd(DMA1_Channel1, ENABLE); - return data; - #endif -} - 8013ec2: 4618 mov r0, r3 - 8013ec4: f107 0778 add.w r7, r7, #120 ; 0x78 - 8013ec8: 46bd mov sp, r7 - 8013eca: bd80 pop {r7, pc} - 8013ecc: 4001224c .word 0x4001224c - 8013ed0: 40026410 .word 0x40026410 - 8013ed4: 40012200 .word 0x40012200 - -08013ed8 <_ZN12AnalogSensorD0Ev>: - this->data = pData + AnalogSensor::nbCapteurDejaInitialise; - - AnalogSensor::nbCapteurDejaInitialise++; -} - -AnalogSensor::~AnalogSensor() - 8013ed8: b580 push {r7, lr} - 8013eda: b082 sub sp, #8 - 8013edc: af00 add r7, sp, #0 - 8013ede: 6078 str r0, [r7, #4] - 8013ee0: 687a ldr r2, [r7, #4] - 8013ee2: 4b0a ldr r3, [pc, #40] (8013f0c <_ZN12AnalogSensorD0Ev+0x34>) - 8013ee4: 6013 str r3, [r2, #0] -{ -} - 8013ee6: 687b ldr r3, [r7, #4] - 8013ee8: 4618 mov r0, r3 - 8013eea: f7fa ffbd bl 800ee68 <_ZN6SensorD2Ev> - 8013eee: f04f 0301 mov.w r3, #1 ; 0x1 - 8013ef2: b2db uxtb r3, r3 - 8013ef4: 2b00 cmp r3, #0 - 8013ef6: d002 beq.n 8013efe <_ZN12AnalogSensorD0Ev+0x26> - 8013ef8: 6878 ldr r0, [r7, #4] - 8013efa: f003 fb87 bl 801760c <_ZdlPv> - 8013efe: 687b ldr r3, [r7, #4] - 8013f00: 4618 mov r0, r3 - 8013f02: f107 0708 add.w r7, r7, #8 ; 0x8 - 8013f06: 46bd mov sp, r7 - 8013f08: bd80 pop {r7, pc} - 8013f0a: 46c0 nop (mov r8, r8) - 8013f0c: 08033f08 .word 0x08033f08 - -08013f10 <_ZN12AnalogSensorD1Ev>: - this->data = pData + AnalogSensor::nbCapteurDejaInitialise; - - AnalogSensor::nbCapteurDejaInitialise++; -} - -AnalogSensor::~AnalogSensor() - 8013f10: b580 push {r7, lr} - 8013f12: b082 sub sp, #8 - 8013f14: af00 add r7, sp, #0 - 8013f16: 6078 str r0, [r7, #4] - 8013f18: 687a ldr r2, [r7, #4] - 8013f1a: 4b0a ldr r3, [pc, #40] (8013f44 <_ZN12AnalogSensorD1Ev+0x34>) - 8013f1c: 6013 str r3, [r2, #0] -{ -} - 8013f1e: 687b ldr r3, [r7, #4] - 8013f20: 4618 mov r0, r3 - 8013f22: f7fa ffa1 bl 800ee68 <_ZN6SensorD2Ev> - 8013f26: f04f 0300 mov.w r3, #0 ; 0x0 - 8013f2a: b2db uxtb r3, r3 - 8013f2c: 2b00 cmp r3, #0 - 8013f2e: d002 beq.n 8013f36 <_ZN12AnalogSensorD1Ev+0x26> - 8013f30: 6878 ldr r0, [r7, #4] - 8013f32: f003 fb6b bl 801760c <_ZdlPv> - 8013f36: 687b ldr r3, [r7, #4] - 8013f38: 4618 mov r0, r3 - 8013f3a: f107 0708 add.w r7, r7, #8 ; 0x8 - 8013f3e: 46bd mov sp, r7 - 8013f40: bd80 pop {r7, pc} - 8013f42: 46c0 nop (mov r8, r8) - 8013f44: 08033f08 .word 0x08033f08 - -08013f48 <_ZN12AnalogSensorD2Ev>: - this->data = pData + AnalogSensor::nbCapteurDejaInitialise; - - AnalogSensor::nbCapteurDejaInitialise++; -} - -AnalogSensor::~AnalogSensor() - 8013f48: b580 push {r7, lr} - 8013f4a: b082 sub sp, #8 - 8013f4c: af00 add r7, sp, #0 - 8013f4e: 6078 str r0, [r7, #4] - 8013f50: 687a ldr r2, [r7, #4] - 8013f52: 4b0a ldr r3, [pc, #40] (8013f7c <_ZN12AnalogSensorD2Ev+0x34>) - 8013f54: 6013 str r3, [r2, #0] -{ -} - 8013f56: 687b ldr r3, [r7, #4] - 8013f58: 4618 mov r0, r3 - 8013f5a: f7fa ff85 bl 800ee68 <_ZN6SensorD2Ev> - 8013f5e: f04f 0300 mov.w r3, #0 ; 0x0 - 8013f62: b2db uxtb r3, r3 - 8013f64: 2b00 cmp r3, #0 - 8013f66: d002 beq.n 8013f6e <_ZN12AnalogSensorD2Ev+0x26> - 8013f68: 6878 ldr r0, [r7, #4] - 8013f6a: f003 fb4f bl 801760c <_ZdlPv> - 8013f6e: 687b ldr r3, [r7, #4] - 8013f70: 4618 mov r0, r3 - 8013f72: f107 0708 add.w r7, r7, #8 ; 0x8 - 8013f76: 46bd mov sp, r7 - 8013f78: bd80 pop {r7, pc} - 8013f7a: 46c0 nop (mov r8, r8) - 8013f7c: 08033f08 .word 0x08033f08 - -08013f80 <_ZN12AnalogSensorC1EhPm>: -#include "analogSensor.h" - -int AnalogSensor::nbCapteurDejaInitialise = 0; - -AnalogSensor::AnalogSensor(uint8_t channel, DMA_MEMORY_TYPE* pData) - 8013f80: b580 push {r7, lr} - 8013f82: b084 sub sp, #16 - 8013f84: af00 add r7, sp, #0 - 8013f86: 60f8 str r0, [r7, #12] - 8013f88: 460b mov r3, r1 - 8013f8a: 607a str r2, [r7, #4] - 8013f8c: 72fb strb r3, [r7, #11] - 8013f8e: 68fb ldr r3, [r7, #12] - 8013f90: 4618 mov r0, r3 - 8013f92: f7fa ff19 bl 800edc8 <_ZN6SensorC2Ev> - 8013f96: 68fa ldr r2, [r7, #12] - 8013f98: 4b0c ldr r3, [pc, #48] (8013fcc <_ZN12AnalogSensorC1EhPm+0x4c>) - 8013f9a: 6013 str r3, [r2, #0] -{ - this->channel = channel; - 8013f9c: 68fa ldr r2, [r7, #12] - 8013f9e: 7afb ldrb r3, [r7, #11] - 8013fa0: 7113 strb r3, [r2, #4] - this->data = pData + AnalogSensor::nbCapteurDejaInitialise; - 8013fa2: 4b0b ldr r3, [pc, #44] (8013fd0 <_ZN12AnalogSensorC1EhPm+0x50>) - 8013fa4: 681b ldr r3, [r3, #0] - 8013fa6: ea4f 0283 mov.w r2, r3, lsl #2 - 8013faa: 687b ldr r3, [r7, #4] - 8013fac: 441a add r2, r3 - 8013fae: 68fb ldr r3, [r7, #12] - 8013fb0: 609a str r2, [r3, #8] - - AnalogSensor::nbCapteurDejaInitialise++; - 8013fb2: 4b07 ldr r3, [pc, #28] (8013fd0 <_ZN12AnalogSensorC1EhPm+0x50>) - 8013fb4: 681b ldr r3, [r3, #0] - 8013fb6: f103 0201 add.w r2, r3, #1 ; 0x1 - 8013fba: 4b05 ldr r3, [pc, #20] (8013fd0 <_ZN12AnalogSensorC1EhPm+0x50>) - 8013fbc: 601a str r2, [r3, #0] -} - 8013fbe: 68fb ldr r3, [r7, #12] - 8013fc0: 4618 mov r0, r3 - 8013fc2: f107 0710 add.w r7, r7, #16 ; 0x10 - 8013fc6: 46bd mov sp, r7 - 8013fc8: bd80 pop {r7, pc} - 8013fca: 46c0 nop (mov r8, r8) - 8013fcc: 08033f08 .word 0x08033f08 - 8013fd0: 20000598 .word 0x20000598 - -08013fd4 <_ZN12AnalogSensorC2EhPm>: -#include "analogSensor.h" - -int AnalogSensor::nbCapteurDejaInitialise = 0; - -AnalogSensor::AnalogSensor(uint8_t channel, DMA_MEMORY_TYPE* pData) - 8013fd4: b580 push {r7, lr} - 8013fd6: b084 sub sp, #16 - 8013fd8: af00 add r7, sp, #0 - 8013fda: 60f8 str r0, [r7, #12] - 8013fdc: 460b mov r3, r1 - 8013fde: 607a str r2, [r7, #4] - 8013fe0: 72fb strb r3, [r7, #11] - 8013fe2: 68fb ldr r3, [r7, #12] - 8013fe4: 4618 mov r0, r3 - 8013fe6: f7fa feef bl 800edc8 <_ZN6SensorC2Ev> - 8013fea: 68fa ldr r2, [r7, #12] - 8013fec: 4b0c ldr r3, [pc, #48] (8014020 <_ZN12AnalogSensorC2EhPm+0x4c>) - 8013fee: 6013 str r3, [r2, #0] -{ - this->channel = channel; - 8013ff0: 68fa ldr r2, [r7, #12] - 8013ff2: 7afb ldrb r3, [r7, #11] - 8013ff4: 7113 strb r3, [r2, #4] - this->data = pData + AnalogSensor::nbCapteurDejaInitialise; - 8013ff6: 4b0b ldr r3, [pc, #44] (8014024 <_ZN12AnalogSensorC2EhPm+0x50>) - 8013ff8: 681b ldr r3, [r3, #0] - 8013ffa: ea4f 0283 mov.w r2, r3, lsl #2 - 8013ffe: 687b ldr r3, [r7, #4] - 8014000: 441a add r2, r3 - 8014002: 68fb ldr r3, [r7, #12] - 8014004: 609a str r2, [r3, #8] - - AnalogSensor::nbCapteurDejaInitialise++; - 8014006: 4b07 ldr r3, [pc, #28] (8014024 <_ZN12AnalogSensorC2EhPm+0x50>) - 8014008: 681b ldr r3, [r3, #0] - 801400a: f103 0201 add.w r2, r3, #1 ; 0x1 - 801400e: 4b05 ldr r3, [pc, #20] (8014024 <_ZN12AnalogSensorC2EhPm+0x50>) - 8014010: 601a str r2, [r3, #0] -} - 8014012: 68fb ldr r3, [r7, #12] - 8014014: 4618 mov r0, r3 - 8014016: f107 0710 add.w r7, r7, #16 ; 0x10 - 801401a: 46bd mov sp, r7 - 801401c: bd80 pop {r7, pc} - 801401e: 46c0 nop (mov r8, r8) - 8014020: 08033f08 .word 0x08033f08 - 8014024: 20000598 .word 0x20000598 - -08014028 <_Z12ax12ChecksumaPi>: -#include "ax12api.h" - -int ax12Checksum(int8_t length, int* parameters) - 8014028: b480 push {r7} - 801402a: b085 sub sp, #20 - 801402c: af00 add r7, sp, #0 - 801402e: 4603 mov r3, r0 - 8014030: 6039 str r1, [r7, #0] - 8014032: 71fb strb r3, [r7, #7] -{ - int checksum = 0; - 8014034: f04f 0300 mov.w r3, #0 ; 0x0 - 8014038: 60bb str r3, [r7, #8] - for(int i = 0; i < length+1; i++) { - 801403a: f04f 0300 mov.w r3, #0 ; 0x0 - 801403e: 60fb str r3, [r7, #12] - 8014040: e00c b.n 801405c <_Z12ax12ChecksumaPi+0x34> - checksum += parameters[i]; - 8014042: 68fb ldr r3, [r7, #12] - 8014044: ea4f 0283 mov.w r2, r3, lsl #2 - 8014048: 683b ldr r3, [r7, #0] - 801404a: 4413 add r3, r2 - 801404c: 681a ldr r2, [r3, #0] - 801404e: 68bb ldr r3, [r7, #8] - 8014050: 4413 add r3, r2 - 8014052: 60bb str r3, [r7, #8] -#include "ax12api.h" - -int ax12Checksum(int8_t length, int* parameters) -{ - int checksum = 0; - for(int i = 0; i < length+1; i++) { - 8014054: 68fb ldr r3, [r7, #12] - 8014056: f103 0301 add.w r3, r3, #1 ; 0x1 - 801405a: 60fb str r3, [r7, #12] - 801405c: f997 3007 ldrsb.w r3, [r7, #7] - 8014060: f103 0201 add.w r2, r3, #1 ; 0x1 - 8014064: 68fb ldr r3, [r7, #12] - 8014066: 429a cmp r2, r3 - 8014068: dceb bgt.n 8014042 <_Z12ax12ChecksumaPi+0x1a> - checksum += parameters[i]; - } - return (int)(int8_t)(~checksum); // ~ est l'opérateur NOT bit a bit - 801406a: 68bb ldr r3, [r7, #8] - 801406c: b2db uxtb r3, r3 - 801406e: ea6f 0303 mvn.w r3, r3 - 8014072: b2db uxtb r3, r3 - 8014074: b25b sxtb r3, r3 -} - 8014076: 4618 mov r0, r3 - 8014078: f107 0714 add.w r7, r7, #20 ; 0x14 - 801407c: 46bd mov sp, r7 - 801407e: bc80 pop {r7} - 8014080: 4770 bx lr - 8014082: 46c0 nop (mov r8, r8) - -08014084 <_ZN4AX1217createWriteHeaderEPiii>: - return 8; -} - - - -void AX12::createWriteHeader(int* retour, int servo, int nombreParamsAjoutes) - 8014084: b480 push {r7} - 8014086: b085 sub sp, #20 - 8014088: af00 add r7, sp, #0 - 801408a: 60f8 str r0, [r7, #12] - 801408c: 60b9 str r1, [r7, #8] - 801408e: 607a str r2, [r7, #4] -{ - retour[0] = 0xff; - 8014090: 68fa ldr r2, [r7, #12] - 8014092: f04f 03ff mov.w r3, #255 ; 0xff - 8014096: 6013 str r3, [r2, #0] - retour[1] = 0xff; - 8014098: 68fb ldr r3, [r7, #12] - 801409a: f103 0204 add.w r2, r3, #4 ; 0x4 - 801409e: f04f 03ff mov.w r3, #255 ; 0xff - 80140a2: 6013 str r3, [r2, #0] - retour[2] = servo; - 80140a4: 68fb ldr r3, [r7, #12] - 80140a6: f103 0208 add.w r2, r3, #8 ; 0x8 - 80140aa: 68bb ldr r3, [r7, #8] - 80140ac: 6013 str r3, [r2, #0] - retour[3] = AX12_WRITE_DATA_PARAMS+2+nombreParamsAjoutes; - 80140ae: 68fb ldr r3, [r7, #12] - 80140b0: f103 020c add.w r2, r3, #12 ; 0xc - 80140b4: 687b ldr r3, [r7, #4] - 80140b6: f103 0304 add.w r3, r3, #4 ; 0x4 - 80140ba: 6013 str r3, [r2, #0] - retour[4] = AX12_WRITE_DATA; - 80140bc: 68fb ldr r3, [r7, #12] - 80140be: f103 0210 add.w r2, r3, #16 ; 0x10 - 80140c2: f04f 0303 mov.w r3, #3 ; 0x3 - 80140c6: 6013 str r3, [r2, #0] -} - 80140c8: f107 0714 add.w r7, r7, #20 ; 0x14 - 80140cc: 46bd mov sp, r7 - 80140ce: bc80 pop {r7} - 80140d0: 4770 bx lr - 80140d2: 46c0 nop (mov r8, r8) - -080140d4 <_ZN4AX1222getBaudRateInstructionEPihi>: - retour[5] = AX12_LED; - retour[6] = ledOn; - retour[7] = ax12Checksum(retour[3], &retour[2]); - return 8; -} -int AX12::getBaudRateInstruction(int* retour, uint8_t baudRate, int servo) - 80140d4: b590 push {r4, r7, lr} - 80140d6: b085 sub sp, #20 - 80140d8: af00 add r7, sp, #0 - 80140da: 60f8 str r0, [r7, #12] - 80140dc: 460b mov r3, r1 - 80140de: 607a str r2, [r7, #4] - 80140e0: 72fb strb r3, [r7, #11] -{ - createWriteHeader(retour, servo, 0); // first, we create a write header with 3 more params (for low/high pos and low/high speed) - 80140e2: 68f8 ldr r0, [r7, #12] - 80140e4: 6879 ldr r1, [r7, #4] - 80140e6: f04f 0200 mov.w r2, #0 ; 0x0 - 80140ea: f7ff ffcb bl 8014084 <_ZN4AX1217createWriteHeaderEPiii> - retour[5] = AX12_BAUD_RATE; - 80140ee: 68fb ldr r3, [r7, #12] - 80140f0: f103 0214 add.w r2, r3, #20 ; 0x14 - 80140f4: f04f 0304 mov.w r3, #4 ; 0x4 - 80140f8: 6013 str r3, [r2, #0] - retour[6] = baudRate; - 80140fa: 68fb ldr r3, [r7, #12] - 80140fc: f103 0218 add.w r2, r3, #24 ; 0x18 - 8014100: 7afb ldrb r3, [r7, #11] - 8014102: 6013 str r3, [r2, #0] - retour[7] = ax12Checksum(retour[3], &retour[2]); - 8014104: 68fb ldr r3, [r7, #12] - 8014106: f103 041c add.w r4, r3, #28 ; 0x1c - 801410a: 68fb ldr r3, [r7, #12] - 801410c: f103 030c add.w r3, r3, #12 ; 0xc - 8014110: 681b ldr r3, [r3, #0] - 8014112: b2da uxtb r2, r3 - 8014114: 68fb ldr r3, [r7, #12] - 8014116: f103 0108 add.w r1, r3, #8 ; 0x8 - 801411a: b253 sxtb r3, r2 - 801411c: 4618 mov r0, r3 - 801411e: f7ff ff83 bl 8014028 <_Z12ax12ChecksumaPi> - 8014122: 4603 mov r3, r0 - 8014124: 6023 str r3, [r4, #0] - return 8; - 8014126: f04f 0308 mov.w r3, #8 ; 0x8 -} - 801412a: 4618 mov r0, r3 - 801412c: f107 0714 add.w r7, r7, #20 ; 0x14 - 8014130: 46bd mov sp, r7 - 8014132: bd90 pop {r4, r7, pc} - -08014134 <_ZN4AX1217getLedInstructionEPihi>: - retour[6] = (uint8_t)(maxTorque); - retour[7] = (uint8_t)(maxTorque>>8); // high bits - retour[8] = ax12Checksum(retour[3], &retour[2]); - return 9; -} -int AX12::getLedInstruction(int* retour, uint8_t ledOn, int servo) - 8014134: b590 push {r4, r7, lr} - 8014136: b085 sub sp, #20 - 8014138: af00 add r7, sp, #0 - 801413a: 60f8 str r0, [r7, #12] - 801413c: 460b mov r3, r1 - 801413e: 607a str r2, [r7, #4] - 8014140: 72fb strb r3, [r7, #11] -{ - createWriteHeader(retour, servo, 0); // first, we create a write header with 3 more params (for low/high pos and low/high speed) - 8014142: 68f8 ldr r0, [r7, #12] - 8014144: 6879 ldr r1, [r7, #4] - 8014146: f04f 0200 mov.w r2, #0 ; 0x0 - 801414a: f7ff ff9b bl 8014084 <_ZN4AX1217createWriteHeaderEPiii> - retour[5] = AX12_LED; - 801414e: 68fb ldr r3, [r7, #12] - 8014150: f103 0214 add.w r2, r3, #20 ; 0x14 - 8014154: f04f 0319 mov.w r3, #25 ; 0x19 - 8014158: 6013 str r3, [r2, #0] - retour[6] = ledOn; - 801415a: 68fb ldr r3, [r7, #12] - 801415c: f103 0218 add.w r2, r3, #24 ; 0x18 - 8014160: 7afb ldrb r3, [r7, #11] - 8014162: 6013 str r3, [r2, #0] - retour[7] = ax12Checksum(retour[3], &retour[2]); - 8014164: 68fb ldr r3, [r7, #12] - 8014166: f103 041c add.w r4, r3, #28 ; 0x1c - 801416a: 68fb ldr r3, [r7, #12] - 801416c: f103 030c add.w r3, r3, #12 ; 0xc - 8014170: 681b ldr r3, [r3, #0] - 8014172: b2da uxtb r2, r3 - 8014174: 68fb ldr r3, [r7, #12] - 8014176: f103 0108 add.w r1, r3, #8 ; 0x8 - 801417a: b253 sxtb r3, r2 - 801417c: 4618 mov r0, r3 - 801417e: f7ff ff53 bl 8014028 <_Z12ax12ChecksumaPi> - 8014182: 4603 mov r3, r0 - 8014184: 6023 str r3, [r4, #0] - return 8; - 8014186: f04f 0308 mov.w r3, #8 ; 0x8 -} - 801418a: 4618 mov r0, r3 - 801418c: f107 0714 add.w r7, r7, #20 ; 0x14 - 8014190: 46bd mov sp, r7 - 8014192: bd90 pop {r4, r7, pc} - -08014194 <_ZN4AX1223getMaxTorqueInstructionEPiti>: - retour[6] = (uint8_t)(torqueLimite); - retour[7] = (uint8_t)(torqueLimite>>8); // high bits - retour[8] = ax12Checksum(retour[3], &retour[2]); - return 9; -} -int AX12::getMaxTorqueInstruction(int* retour, uint16_t maxTorque, int servo) // torque dans l'eeprom (pour l'écrire dans la ram au démarrage) - 8014194: b590 push {r4, r7, lr} - 8014196: b085 sub sp, #20 - 8014198: af00 add r7, sp, #0 - 801419a: 60f8 str r0, [r7, #12] - 801419c: 460b mov r3, r1 - 801419e: 607a str r2, [r7, #4] - 80141a0: 817b strh r3, [r7, #10] -{ - createWriteHeader(retour, servo, 1); // first, we create a write header with 1 more params (for low/high angle) - 80141a2: 68f8 ldr r0, [r7, #12] - 80141a4: 6879 ldr r1, [r7, #4] - 80141a6: f04f 0201 mov.w r2, #1 ; 0x1 - 80141aa: f7ff ff6b bl 8014084 <_ZN4AX1217createWriteHeaderEPiii> - retour[5] = AX12_MAX_TORQUE_L; - 80141ae: 68fb ldr r3, [r7, #12] - 80141b0: f103 0214 add.w r2, r3, #20 ; 0x14 - 80141b4: f04f 030e mov.w r3, #14 ; 0xe - 80141b8: 6013 str r3, [r2, #0] - retour[6] = (uint8_t)(maxTorque); - 80141ba: 68fb ldr r3, [r7, #12] - 80141bc: f103 0218 add.w r2, r3, #24 ; 0x18 - 80141c0: 897b ldrh r3, [r7, #10] - 80141c2: b2db uxtb r3, r3 - 80141c4: 6013 str r3, [r2, #0] - retour[7] = (uint8_t)(maxTorque>>8); // high bits - 80141c6: 68fb ldr r3, [r7, #12] - 80141c8: f103 021c add.w r2, r3, #28 ; 0x1c - 80141cc: 897b ldrh r3, [r7, #10] - 80141ce: ea4f 2323 mov.w r3, r3, asr #8 - 80141d2: b2db uxtb r3, r3 - 80141d4: 6013 str r3, [r2, #0] - retour[8] = ax12Checksum(retour[3], &retour[2]); - 80141d6: 68fb ldr r3, [r7, #12] - 80141d8: f103 0420 add.w r4, r3, #32 ; 0x20 - 80141dc: 68fb ldr r3, [r7, #12] - 80141de: f103 030c add.w r3, r3, #12 ; 0xc - 80141e2: 681b ldr r3, [r3, #0] - 80141e4: b2da uxtb r2, r3 - 80141e6: 68fb ldr r3, [r7, #12] - 80141e8: f103 0108 add.w r1, r3, #8 ; 0x8 - 80141ec: b253 sxtb r3, r2 - 80141ee: 4618 mov r0, r3 - 80141f0: f7ff ff1a bl 8014028 <_Z12ax12ChecksumaPi> - 80141f4: 4603 mov r3, r0 - 80141f6: 6023 str r3, [r4, #0] - return 9; - 80141f8: f04f 0309 mov.w r3, #9 ; 0x9 -} - 80141fc: 4618 mov r0, r3 - 80141fe: f107 0714 add.w r7, r7, #20 ; 0x14 - 8014202: 46bd mov sp, r7 - 8014204: bd90 pop {r4, r7, pc} - 8014206: 46c0 nop (mov r8, r8) - -08014208 <_ZN4AX1225getTorqueLimitInstructionEPiti>: - retour[6] = (uint8_t)(angleLimite); - retour[7] = (uint8_t)(angleLimite>>8); // high bits - retour[8] = ax12Checksum(retour[3], &retour[2]); - return 9; -} -int AX12::getTorqueLimitInstruction(int* retour, uint16_t torqueLimite, int servo) // la torque dans la RAM - 8014208: b590 push {r4, r7, lr} - 801420a: b085 sub sp, #20 - 801420c: af00 add r7, sp, #0 - 801420e: 60f8 str r0, [r7, #12] - 8014210: 460b mov r3, r1 - 8014212: 607a str r2, [r7, #4] - 8014214: 817b strh r3, [r7, #10] -{ - createWriteHeader(retour, servo, 1); // first, we create a write header with 1 more params (for low/high angle) - 8014216: 68f8 ldr r0, [r7, #12] - 8014218: 6879 ldr r1, [r7, #4] - 801421a: f04f 0201 mov.w r2, #1 ; 0x1 - 801421e: f7ff ff31 bl 8014084 <_ZN4AX1217createWriteHeaderEPiii> - retour[5] = AX12_TORQUE_LIMIT_L; - 8014222: 68fb ldr r3, [r7, #12] - 8014224: f103 0214 add.w r2, r3, #20 ; 0x14 - 8014228: f04f 0322 mov.w r3, #34 ; 0x22 - 801422c: 6013 str r3, [r2, #0] - retour[6] = (uint8_t)(torqueLimite); - 801422e: 68fb ldr r3, [r7, #12] - 8014230: f103 0218 add.w r2, r3, #24 ; 0x18 - 8014234: 897b ldrh r3, [r7, #10] - 8014236: b2db uxtb r3, r3 - 8014238: 6013 str r3, [r2, #0] - retour[7] = (uint8_t)(torqueLimite>>8); // high bits - 801423a: 68fb ldr r3, [r7, #12] - 801423c: f103 021c add.w r2, r3, #28 ; 0x1c - 8014240: 897b ldrh r3, [r7, #10] - 8014242: ea4f 2323 mov.w r3, r3, asr #8 - 8014246: b2db uxtb r3, r3 - 8014248: 6013 str r3, [r2, #0] - retour[8] = ax12Checksum(retour[3], &retour[2]); - 801424a: 68fb ldr r3, [r7, #12] - 801424c: f103 0420 add.w r4, r3, #32 ; 0x20 - 8014250: 68fb ldr r3, [r7, #12] - 8014252: f103 030c add.w r3, r3, #12 ; 0xc - 8014256: 681b ldr r3, [r3, #0] - 8014258: b2da uxtb r2, r3 - 801425a: 68fb ldr r3, [r7, #12] - 801425c: f103 0108 add.w r1, r3, #8 ; 0x8 - 8014260: b253 sxtb r3, r2 - 8014262: 4618 mov r0, r3 - 8014264: f7ff fee0 bl 8014028 <_Z12ax12ChecksumaPi> - 8014268: 4603 mov r3, r0 - 801426a: 6023 str r3, [r4, #0] - return 9; - 801426c: f04f 0309 mov.w r3, #9 ; 0x9 -} - 8014270: 4618 mov r0, r3 - 8014272: f107 0714 add.w r7, r7, #20 ; 0x14 - 8014276: 46bd mov sp, r7 - 8014278: bd90 pop {r4, r7, pc} - 801427a: 46c0 nop (mov r8, r8) - -0801427c <_ZN4AX1229getAngleUpperLimitInstructionEPiti>: - retour[6] = (uint8_t)(angleLimite); - retour[7] = (uint8_t)(angleLimite>>8); // high bits - retour[8] = ax12Checksum(retour[3], &retour[2]); - return 9; -} -int AX12::getAngleUpperLimitInstruction(int* retour, uint16_t angleLimite, int servo) - 801427c: b590 push {r4, r7, lr} - 801427e: b085 sub sp, #20 - 8014280: af00 add r7, sp, #0 - 8014282: 60f8 str r0, [r7, #12] - 8014284: 460b mov r3, r1 - 8014286: 607a str r2, [r7, #4] - 8014288: 817b strh r3, [r7, #10] -{ - createWriteHeader(retour, servo, 1); // first, we create a write header with 1 more params (for low/high angle) - 801428a: 68f8 ldr r0, [r7, #12] - 801428c: 6879 ldr r1, [r7, #4] - 801428e: f04f 0201 mov.w r2, #1 ; 0x1 - 8014292: f7ff fef7 bl 8014084 <_ZN4AX1217createWriteHeaderEPiii> - retour[5] = AX12_CCW_ANGLE_LIMIT_L; - 8014296: 68fb ldr r3, [r7, #12] - 8014298: f103 0214 add.w r2, r3, #20 ; 0x14 - 801429c: f04f 0308 mov.w r3, #8 ; 0x8 - 80142a0: 6013 str r3, [r2, #0] - retour[6] = (uint8_t)(angleLimite); - 80142a2: 68fb ldr r3, [r7, #12] - 80142a4: f103 0218 add.w r2, r3, #24 ; 0x18 - 80142a8: 897b ldrh r3, [r7, #10] - 80142aa: b2db uxtb r3, r3 - 80142ac: 6013 str r3, [r2, #0] - retour[7] = (uint8_t)(angleLimite>>8); // high bits - 80142ae: 68fb ldr r3, [r7, #12] - 80142b0: f103 021c add.w r2, r3, #28 ; 0x1c - 80142b4: 897b ldrh r3, [r7, #10] - 80142b6: ea4f 2323 mov.w r3, r3, asr #8 - 80142ba: b2db uxtb r3, r3 - 80142bc: 6013 str r3, [r2, #0] - retour[8] = ax12Checksum(retour[3], &retour[2]); - 80142be: 68fb ldr r3, [r7, #12] - 80142c0: f103 0420 add.w r4, r3, #32 ; 0x20 - 80142c4: 68fb ldr r3, [r7, #12] - 80142c6: f103 030c add.w r3, r3, #12 ; 0xc - 80142ca: 681b ldr r3, [r3, #0] - 80142cc: b2da uxtb r2, r3 - 80142ce: 68fb ldr r3, [r7, #12] - 80142d0: f103 0108 add.w r1, r3, #8 ; 0x8 - 80142d4: b253 sxtb r3, r2 - 80142d6: 4618 mov r0, r3 - 80142d8: f7ff fea6 bl 8014028 <_Z12ax12ChecksumaPi> - 80142dc: 4603 mov r3, r0 - 80142de: 6023 str r3, [r4, #0] - return 9; - 80142e0: f04f 0309 mov.w r3, #9 ; 0x9 -} - 80142e4: 4618 mov r0, r3 - 80142e6: f107 0714 add.w r7, r7, #20 ; 0x14 - 80142ea: 46bd mov sp, r7 - 80142ec: bd90 pop {r4, r7, pc} - 80142ee: 46c0 nop (mov r8, r8) - -080142f0 <_ZN4AX1229getAngleLowerLimitInstructionEPiti>: - retour[6] = (uint8_t)(vitesse); - retour[7] = (uint8_t)(vitesse>>8); - retour[8] = ax12Checksum(retour[3], &retour[2]); - return 9; -} -int AX12::getAngleLowerLimitInstruction(int* retour, uint16_t angleLimite, int servo) - 80142f0: b590 push {r4, r7, lr} - 80142f2: b085 sub sp, #20 - 80142f4: af00 add r7, sp, #0 - 80142f6: 60f8 str r0, [r7, #12] - 80142f8: 460b mov r3, r1 - 80142fa: 607a str r2, [r7, #4] - 80142fc: 817b strh r3, [r7, #10] -{ - createWriteHeader(retour, servo, 1); // first, we create a write header with 1 more params (for low/high angle) - 80142fe: 68f8 ldr r0, [r7, #12] - 8014300: 6879 ldr r1, [r7, #4] - 8014302: f04f 0201 mov.w r2, #1 ; 0x1 - 8014306: f7ff febd bl 8014084 <_ZN4AX1217createWriteHeaderEPiii> - retour[5] = AX12_CW_ANGLE_LIMIT_L; - 801430a: 68fb ldr r3, [r7, #12] - 801430c: f103 0214 add.w r2, r3, #20 ; 0x14 - 8014310: f04f 0306 mov.w r3, #6 ; 0x6 - 8014314: 6013 str r3, [r2, #0] - retour[6] = (uint8_t)(angleLimite); - 8014316: 68fb ldr r3, [r7, #12] - 8014318: f103 0218 add.w r2, r3, #24 ; 0x18 - 801431c: 897b ldrh r3, [r7, #10] - 801431e: b2db uxtb r3, r3 - 8014320: 6013 str r3, [r2, #0] - retour[7] = (uint8_t)(angleLimite>>8); // high bits - 8014322: 68fb ldr r3, [r7, #12] - 8014324: f103 021c add.w r2, r3, #28 ; 0x1c - 8014328: 897b ldrh r3, [r7, #10] - 801432a: ea4f 2323 mov.w r3, r3, asr #8 - 801432e: b2db uxtb r3, r3 - 8014330: 6013 str r3, [r2, #0] - retour[8] = ax12Checksum(retour[3], &retour[2]); - 8014332: 68fb ldr r3, [r7, #12] - 8014334: f103 0420 add.w r4, r3, #32 ; 0x20 - 8014338: 68fb ldr r3, [r7, #12] - 801433a: f103 030c add.w r3, r3, #12 ; 0xc - 801433e: 681b ldr r3, [r3, #0] - 8014340: b2da uxtb r2, r3 - 8014342: 68fb ldr r3, [r7, #12] - 8014344: f103 0108 add.w r1, r3, #8 ; 0x8 - 8014348: b253 sxtb r3, r2 - 801434a: 4618 mov r0, r3 - 801434c: f7ff fe6c bl 8014028 <_Z12ax12ChecksumaPi> - 8014350: 4603 mov r3, r0 - 8014352: 6023 str r3, [r4, #0] - return 9; - 8014354: f04f 0309 mov.w r3, #9 ; 0x9 -} - 8014358: 4618 mov r0, r3 - 801435a: f107 0714 add.w r7, r7, #20 ; 0x14 - 801435e: 46bd mov sp, r7 - 8014360: bd90 pop {r4, r7, pc} - 8014362: 46c0 nop (mov r8, r8) - -08014364 <_ZN4AX1223getMoveSpeedInstructionEPith>: - retour[6] = (uint8_t)(position); - retour[7] = (uint8_t)(position>>8); - retour[8] = ax12Checksum(retour[3], &retour[2]); - return 9; -} -int AX12::getMoveSpeedInstruction(int* retour, uint16_t vitesse, uint8_t servo) - 8014364: b590 push {r4, r7, lr} - 8014366: b083 sub sp, #12 - 8014368: af00 add r7, sp, #0 - 801436a: 6078 str r0, [r7, #4] - 801436c: 460b mov r3, r1 - 801436e: 807b strh r3, [r7, #2] - 8014370: 4613 mov r3, r2 - 8014372: 707b strb r3, [r7, #1] -{ - createWriteHeader(retour, servo, 1); // first, we create a write header with 1 more params (for high speed) - 8014374: 787b ldrb r3, [r7, #1] - 8014376: 6878 ldr r0, [r7, #4] - 8014378: 4619 mov r1, r3 - 801437a: f04f 0201 mov.w r2, #1 ; 0x1 - 801437e: f7ff fe81 bl 8014084 <_ZN4AX1217createWriteHeaderEPiii> - retour[5] = AX12_MOVING_SPEED_L; - 8014382: 687b ldr r3, [r7, #4] - 8014384: f103 0214 add.w r2, r3, #20 ; 0x14 - 8014388: f04f 0320 mov.w r3, #32 ; 0x20 - 801438c: 6013 str r3, [r2, #0] - retour[6] = (uint8_t)(vitesse); - 801438e: 687b ldr r3, [r7, #4] - 8014390: f103 0218 add.w r2, r3, #24 ; 0x18 - 8014394: 887b ldrh r3, [r7, #2] - 8014396: b2db uxtb r3, r3 - 8014398: 6013 str r3, [r2, #0] - retour[7] = (uint8_t)(vitesse>>8); - 801439a: 687b ldr r3, [r7, #4] - 801439c: f103 021c add.w r2, r3, #28 ; 0x1c - 80143a0: 887b ldrh r3, [r7, #2] - 80143a2: ea4f 2323 mov.w r3, r3, asr #8 - 80143a6: b2db uxtb r3, r3 - 80143a8: 6013 str r3, [r2, #0] - retour[8] = ax12Checksum(retour[3], &retour[2]); - 80143aa: 687b ldr r3, [r7, #4] - 80143ac: f103 0420 add.w r4, r3, #32 ; 0x20 - 80143b0: 687b ldr r3, [r7, #4] - 80143b2: f103 030c add.w r3, r3, #12 ; 0xc - 80143b6: 681b ldr r3, [r3, #0] - 80143b8: b2da uxtb r2, r3 - 80143ba: 687b ldr r3, [r7, #4] - 80143bc: f103 0108 add.w r1, r3, #8 ; 0x8 - 80143c0: b253 sxtb r3, r2 - 80143c2: 4618 mov r0, r3 - 80143c4: f7ff fe30 bl 8014028 <_Z12ax12ChecksumaPi> - 80143c8: 4603 mov r3, r0 - 80143ca: 6023 str r3, [r4, #0] - return 9; - 80143cc: f04f 0309 mov.w r3, #9 ; 0x9 -} - 80143d0: 4618 mov r0, r3 - 80143d2: f107 070c add.w r7, r7, #12 ; 0xc - 80143d6: 46bd mov sp, r7 - 80143d8: bd90 pop {r4, r7, pc} - 80143da: 46c0 nop (mov r8, r8) - -080143dc <_ZN4AX1220getMoveToInstructionEPith>: - retour[8] = (uint8_t)(vitesse); - retour[9] = (uint8_t)(vitesse>>8); - retour[10] = ax12Checksum(retour[3], &retour[2]); - return 11; -} -int AX12::getMoveToInstruction(int* retour, uint16_t position, uint8_t servo) - 80143dc: b590 push {r4, r7, lr} - 80143de: b083 sub sp, #12 - 80143e0: af00 add r7, sp, #0 - 80143e2: 6078 str r0, [r7, #4] - 80143e4: 460b mov r3, r1 - 80143e6: 807b strh r3, [r7, #2] - 80143e8: 4613 mov r3, r2 - 80143ea: 707b strb r3, [r7, #1] -{ - createWriteHeader(retour, servo, 1); // first, we create a write header with 1 more params (for high position bits) - 80143ec: 787b ldrb r3, [r7, #1] - 80143ee: 6878 ldr r0, [r7, #4] - 80143f0: 4619 mov r1, r3 - 80143f2: f04f 0201 mov.w r2, #1 ; 0x1 - 80143f6: f7ff fe45 bl 8014084 <_ZN4AX1217createWriteHeaderEPiii> - retour[5] = AX12_GOAL_POSITION_L; - 80143fa: 687b ldr r3, [r7, #4] - 80143fc: f103 0214 add.w r2, r3, #20 ; 0x14 - 8014400: f04f 031e mov.w r3, #30 ; 0x1e - 8014404: 6013 str r3, [r2, #0] - retour[6] = (uint8_t)(position); - 8014406: 687b ldr r3, [r7, #4] - 8014408: f103 0218 add.w r2, r3, #24 ; 0x18 - 801440c: 887b ldrh r3, [r7, #2] - 801440e: b2db uxtb r3, r3 - 8014410: 6013 str r3, [r2, #0] - retour[7] = (uint8_t)(position>>8); - 8014412: 687b ldr r3, [r7, #4] - 8014414: f103 021c add.w r2, r3, #28 ; 0x1c - 8014418: 887b ldrh r3, [r7, #2] - 801441a: ea4f 2323 mov.w r3, r3, asr #8 - 801441e: b2db uxtb r3, r3 - 8014420: 6013 str r3, [r2, #0] - retour[8] = ax12Checksum(retour[3], &retour[2]); - 8014422: 687b ldr r3, [r7, #4] - 8014424: f103 0420 add.w r4, r3, #32 ; 0x20 - 8014428: 687b ldr r3, [r7, #4] - 801442a: f103 030c add.w r3, r3, #12 ; 0xc - 801442e: 681b ldr r3, [r3, #0] - 8014430: b2da uxtb r2, r3 - 8014432: 687b ldr r3, [r7, #4] - 8014434: f103 0108 add.w r1, r3, #8 ; 0x8 - 8014438: b253 sxtb r3, r2 - 801443a: 4618 mov r0, r3 - 801443c: f7ff fdf4 bl 8014028 <_Z12ax12ChecksumaPi> - 8014440: 4603 mov r3, r0 - 8014442: 6023 str r3, [r4, #0] - return 9; - 8014444: f04f 0309 mov.w r3, #9 ; 0x9 -} - 8014448: 4618 mov r0, r3 - 801444a: f107 070c add.w r7, r7, #12 ; 0xc - 801444e: 46bd mov sp, r7 - 8014450: bd90 pop {r4, r7, pc} - 8014452: 46c0 nop (mov r8, r8) - -08014454 <_ZN4AX1218getMoveInstructionEPitth>: - for(int i = 0; i < length+1; i++) { - checksum += parameters[i]; - } - return (int)(int8_t)(~checksum); // ~ est l'opérateur NOT bit a bit -} -int AX12::getMoveInstruction(int* retour, uint16_t position, uint16_t vitesse, uint8_t servo) - 8014454: b590 push {r4, r7, lr} - 8014456: b085 sub sp, #20 - 8014458: af00 add r7, sp, #0 - 801445a: 60f8 str r0, [r7, #12] - 801445c: 4618 mov r0, r3 - 801445e: 460b mov r3, r1 - 8014460: 817b strh r3, [r7, #10] - 8014462: 4613 mov r3, r2 - 8014464: 813b strh r3, [r7, #8] - 8014466: 4603 mov r3, r0 - 8014468: 71fb strb r3, [r7, #7] -{ - createWriteHeader(retour, servo, 3); // first, we create a write header with 3 more params (for low/height pos and low/height speed) - 801446a: 79fb ldrb r3, [r7, #7] - 801446c: 68f8 ldr r0, [r7, #12] - 801446e: 4619 mov r1, r3 - 8014470: f04f 0203 mov.w r2, #3 ; 0x3 - 8014474: f7ff fe06 bl 8014084 <_ZN4AX1217createWriteHeaderEPiii> - retour[5] = AX12_GOAL_POSITION_L; - 8014478: 68fb ldr r3, [r7, #12] - 801447a: f103 0214 add.w r2, r3, #20 ; 0x14 - 801447e: f04f 031e mov.w r3, #30 ; 0x1e - 8014482: 6013 str r3, [r2, #0] - retour[6] = (uint8_t)(position); - 8014484: 68fb ldr r3, [r7, #12] - 8014486: f103 0218 add.w r2, r3, #24 ; 0x18 - 801448a: 897b ldrh r3, [r7, #10] - 801448c: b2db uxtb r3, r3 - 801448e: 6013 str r3, [r2, #0] - retour[7] = (uint8_t)(position>>8); - 8014490: 68fb ldr r3, [r7, #12] - 8014492: f103 021c add.w r2, r3, #28 ; 0x1c - 8014496: 897b ldrh r3, [r7, #10] - 8014498: ea4f 2323 mov.w r3, r3, asr #8 - 801449c: b2db uxtb r3, r3 - 801449e: 6013 str r3, [r2, #0] - retour[8] = (uint8_t)(vitesse); - 80144a0: 68fb ldr r3, [r7, #12] - 80144a2: f103 0220 add.w r2, r3, #32 ; 0x20 - 80144a6: 893b ldrh r3, [r7, #8] - 80144a8: b2db uxtb r3, r3 - 80144aa: 6013 str r3, [r2, #0] - retour[9] = (uint8_t)(vitesse>>8); - 80144ac: 68fb ldr r3, [r7, #12] - 80144ae: f103 0224 add.w r2, r3, #36 ; 0x24 - 80144b2: 893b ldrh r3, [r7, #8] - 80144b4: ea4f 2323 mov.w r3, r3, asr #8 - 80144b8: b2db uxtb r3, r3 - 80144ba: 6013 str r3, [r2, #0] - retour[10] = ax12Checksum(retour[3], &retour[2]); - 80144bc: 68fb ldr r3, [r7, #12] - 80144be: f103 0428 add.w r4, r3, #40 ; 0x28 - 80144c2: 68fb ldr r3, [r7, #12] - 80144c4: f103 030c add.w r3, r3, #12 ; 0xc - 80144c8: 681b ldr r3, [r3, #0] - 80144ca: b2da uxtb r2, r3 - 80144cc: 68fb ldr r3, [r7, #12] - 80144ce: f103 0108 add.w r1, r3, #8 ; 0x8 - 80144d2: b253 sxtb r3, r2 - 80144d4: 4618 mov r0, r3 - 80144d6: f7ff fda7 bl 8014028 <_Z12ax12ChecksumaPi> - 80144da: 4603 mov r3, r0 - 80144dc: 6023 str r3, [r4, #0] - return 11; - 80144de: f04f 030b mov.w r3, #11 ; 0xb -} - 80144e2: 4618 mov r0, r3 - 80144e4: f107 0714 add.w r7, r7, #20 ; 0x14 - 80144e8: 46bd mov sp, r7 - 80144ea: bd90 pop {r4, r7, pc} - -080144ec <_ZN29CommandCalibrerCapteurCouleur14getLinearSpeedEv>: - break; - } -} - -// renvoient 0 -Vitesse CommandCalibrerCapteurCouleur::getLinearSpeed() - 80144ec: b480 push {r7} - 80144ee: b083 sub sp, #12 - 80144f0: af00 add r7, sp, #0 - 80144f2: 6078 str r0, [r7, #4] -{ - return 0.0f; - 80144f4: 4b03 ldr r3, [pc, #12] (8014504 <_ZN29CommandCalibrerCapteurCouleur14getLinearSpeedEv+0x18>) -} - 80144f6: 4618 mov r0, r3 - 80144f8: f107 070c add.w r7, r7, #12 ; 0xc - 80144fc: 46bd mov sp, r7 - 80144fe: bc80 pop {r7} - 8014500: 4770 bx lr - 8014502: 46c0 nop (mov r8, r8) - 8014504: 00000000 .word 0x00000000 - -08014508 <_ZN29CommandCalibrerCapteurCouleur15getAngularSpeedEv>: - -Angle CommandCalibrerCapteurCouleur::getAngularSpeed() - 8014508: b480 push {r7} - 801450a: b083 sub sp, #12 - 801450c: af00 add r7, sp, #0 - 801450e: 6078 str r0, [r7, #4] -{ - return 0.0f; - 8014510: 4b03 ldr r3, [pc, #12] (8014520 <_ZN29CommandCalibrerCapteurCouleur15getAngularSpeedEv+0x18>) -} - 8014512: 4618 mov r0, r3 - 8014514: f107 070c add.w r7, r7, #12 ; 0xc - 8014518: 46bd mov sp, r7 - 801451a: bc80 pop {r7} - 801451c: 4770 bx lr - 801451e: 46c0 nop (mov r8, r8) - 8014520: 00000000 .word 0x00000000 - -08014524 <_ZNK29CommandCalibrerCapteurCouleur4finiEv>: - -// renvoit si le capteur a fini sa calibration -// le résultat est lisible dans getTicksMoyens() -bool CommandCalibrerCapteurCouleur::fini() const - 8014524: b480 push {r7} - 8014526: b083 sub sp, #12 - 8014528: af00 add r7, sp, #0 - 801452a: 6078 str r0, [r7, #4] -{ - return (state > 4); - 801452c: 687b ldr r3, [r7, #4] - 801452e: 689b ldr r3, [r3, #8] - 8014530: 2b04 cmp r3, #4 - 8014532: bfd4 ite le - 8014534: 2300 movle r3, #0 - 8014536: 2301 movgt r3, #1 - 8014538: b2db uxtb r3, r3 -} - 801453a: 4618 mov r0, r3 - 801453c: f107 070c add.w r7, r7, #12 ; 0xc - 8014540: 46bd mov sp, r7 - 8014542: bc80 pop {r7} - 8014544: 4770 bx lr - 8014546: 46c0 nop (mov r8, r8) - -08014548 <_ZNK29CommandCalibrerCapteurCouleur14getTicksMoyensEv>: - -// une fois fini, renvoit le seuil calculé -uint16_t CommandCalibrerCapteurCouleur::getTicksMoyens() const - 8014548: b480 push {r7} - 801454a: b083 sub sp, #12 - 801454c: af00 add r7, sp, #0 - 801454e: 6078 str r0, [r7, #4] -{ - return resultat; - 8014550: 687b ldr r3, [r7, #4] - 8014552: 899b ldrh r3, [r3, #12] -} - 8014554: 4618 mov r0, r3 - 8014556: f107 070c add.w r7, r7, #12 ; 0xc - 801455a: 46bd mov sp, r7 - 801455c: bc80 pop {r7} - 801455e: 4770 bx lr - -08014560 <_ZN19CommandCheckCouleur14getLinearSpeedEv>: - state++; - } -} - -// renvoient 0 -Vitesse CommandCheckCouleur::getLinearSpeed() - 8014560: b480 push {r7} - 8014562: b083 sub sp, #12 - 8014564: af00 add r7, sp, #0 - 8014566: 6078 str r0, [r7, #4] -{ - return 0.0f; - 8014568: 4b03 ldr r3, [pc, #12] (8014578 <_ZN19CommandCheckCouleur14getLinearSpeedEv+0x18>) -} - 801456a: 4618 mov r0, r3 - 801456c: f107 070c add.w r7, r7, #12 ; 0xc - 8014570: 46bd mov sp, r7 - 8014572: bc80 pop {r7} - 8014574: 4770 bx lr - 8014576: 46c0 nop (mov r8, r8) - 8014578: 00000000 .word 0x00000000 - -0801457c <_ZN19CommandCheckCouleur15getAngularSpeedEv>: - -Angle CommandCheckCouleur::getAngularSpeed() - 801457c: b480 push {r7} - 801457e: b083 sub sp, #12 - 8014580: af00 add r7, sp, #0 - 8014582: 6078 str r0, [r7, #4] -{ - return 0.0f; - 8014584: 4b03 ldr r3, [pc, #12] (8014594 <_ZN19CommandCheckCouleur15getAngularSpeedEv+0x18>) -} - 8014586: 4618 mov r0, r3 - 8014588: f107 070c add.w r7, r7, #12 ; 0xc - 801458c: 46bd mov sp, r7 - 801458e: bc80 pop {r7} - 8014590: 4770 bx lr - 8014592: 46c0 nop (mov r8, r8) - 8014594: 00000000 .word 0x00000000 - -08014598 <_ZNK19CommandCheckCouleur4finiEv>: - -// renvoit si le capteur a fini de check la couleur -// le résultat est disponible dans les fonctions bleue() et rouge() -bool CommandCheckCouleur::fini() const - 8014598: b480 push {r7} - 801459a: b083 sub sp, #12 - 801459c: af00 add r7, sp, #0 - 801459e: 6078 str r0, [r7, #4] -{ - return (state >= 4); - 80145a0: 687b ldr r3, [r7, #4] - 80145a2: 695b ldr r3, [r3, #20] - 80145a4: 2b03 cmp r3, #3 - 80145a6: bfd4 ite le - 80145a8: 2300 movle r3, #0 - 80145aa: 2301 movgt r3, #1 - 80145ac: b2db uxtb r3, r3 -} - 80145ae: 4618 mov r0, r3 - 80145b0: f107 070c add.w r7, r7, #12 ; 0xc - 80145b4: 46bd mov sp, r7 - 80145b6: bc80 pop {r7} - 80145b8: 4770 bx lr - 80145ba: 46c0 nop (mov r8, r8) - -080145bc <_ZNK19CommandCheckCouleur5bleueEv>: - -// une fois fini, renvoit la couleur -// les 2 peuvent renvoyer true si on est pas sur de la couleur -bool CommandCheckCouleur::bleue() const - 80145bc: b590 push {r4, r7, lr} - 80145be: b083 sub sp, #12 - 80145c0: af00 add r7, sp, #0 - 80145c2: 6078 str r0, [r7, #4] -{ - return (float)bleuMesure > 1.15f*(float)seuilMoyenne; - 80145c4: 687b ldr r3, [r7, #4] - 80145c6: 899b ldrh r3, [r3, #12] - 80145c8: 4618 mov r0, r3 - 80145ca: f018 fc9d bl 802cf08 <__aeabi_ui2f> - 80145ce: 4604 mov r4, r0 - 80145d0: 687b ldr r3, [r7, #4] - 80145d2: 889b ldrh r3, [r3, #4] - 80145d4: 4618 mov r0, r3 - 80145d6: f018 fc97 bl 802cf08 <__aeabi_ui2f> - 80145da: 4603 mov r3, r0 - 80145dc: 4618 mov r0, r3 - 80145de: 490c ldr r1, [pc, #48] (8014610 <_ZNK19CommandCheckCouleur5bleueEv+0x54>) - 80145e0: f018 fcea bl 802cfb8 <__aeabi_fmul> - 80145e4: 4603 mov r3, r0 - 80145e6: 461a mov r2, r3 - 80145e8: f04f 0300 mov.w r3, #0 ; 0x0 - 80145ec: 70fb strb r3, [r7, #3] - 80145ee: 4620 mov r0, r4 - 80145f0: 4611 mov r1, r2 - 80145f2: f018 fe9b bl 802d32c <__aeabi_fcmpgt> - 80145f6: 4603 mov r3, r0 - 80145f8: 2b00 cmp r3, #0 - 80145fa: d002 beq.n 8014602 <_ZNK19CommandCheckCouleur5bleueEv+0x46> - 80145fc: f04f 0301 mov.w r3, #1 ; 0x1 - 8014600: 70fb strb r3, [r7, #3] - 8014602: 78fb ldrb r3, [r7, #3] -} - 8014604: 4618 mov r0, r3 - 8014606: f107 070c add.w r7, r7, #12 ; 0xc - 801460a: 46bd mov sp, r7 - 801460c: bd90 pop {r4, r7, pc} - 801460e: 46c0 nop (mov r8, r8) - 8014610: 3f933333 .word 0x3f933333 - -08014614 <_ZNK19CommandCheckCouleur5rougeEv>: - -bool CommandCheckCouleur::rouge() const - 8014614: b590 push {r4, r7, lr} - 8014616: b083 sub sp, #12 - 8014618: af00 add r7, sp, #0 - 801461a: 6078 str r0, [r7, #4] -{ - return (float)rougeMesure > 1.15f*(float)seuilMoyenne; - 801461c: 687b ldr r3, [r7, #4] - 801461e: 89db ldrh r3, [r3, #14] - 8014620: 4618 mov r0, r3 - 8014622: f018 fc71 bl 802cf08 <__aeabi_ui2f> - 8014626: 4604 mov r4, r0 - 8014628: 687b ldr r3, [r7, #4] - 801462a: 889b ldrh r3, [r3, #4] - 801462c: 4618 mov r0, r3 - 801462e: f018 fc6b bl 802cf08 <__aeabi_ui2f> - 8014632: 4603 mov r3, r0 - 8014634: 4618 mov r0, r3 - 8014636: 490c ldr r1, [pc, #48] (8014668 <_ZNK19CommandCheckCouleur5rougeEv+0x54>) - 8014638: f018 fcbe bl 802cfb8 <__aeabi_fmul> - 801463c: 4603 mov r3, r0 - 801463e: 461a mov r2, r3 - 8014640: f04f 0300 mov.w r3, #0 ; 0x0 - 8014644: 70fb strb r3, [r7, #3] - 8014646: 4620 mov r0, r4 - 8014648: 4611 mov r1, r2 - 801464a: f018 fe6f bl 802d32c <__aeabi_fcmpgt> - 801464e: 4603 mov r3, r0 - 8014650: 2b00 cmp r3, #0 - 8014652: d002 beq.n 801465a <_ZNK19CommandCheckCouleur5rougeEv+0x46> - 8014654: f04f 0301 mov.w r3, #1 ; 0x1 - 8014658: 70fb strb r3, [r7, #3] - 801465a: 78fb ldrb r3, [r7, #3] -} - 801465c: 4618 mov r0, r3 - 801465e: f107 070c add.w r7, r7, #12 ; 0xc - 8014662: 46bd mov sp, r7 - 8014664: bd90 pop {r4, r7, pc} - 8014666: 46c0 nop (mov r8, r8) - 8014668: 3f933333 .word 0x3f933333 - -0801466c <_ZN29CommandCalibrerCapteurCouleurC1EP14CapteurCouleur>: - - -// permet de calibrer le capteur couleur en calculant la valeur moyenne de chaque capteur -// nécessite 5 updates chaque 5 ms -// la première update peut se faire juste après la construction -CommandCalibrerCapteurCouleur::CommandCalibrerCapteurCouleur(CapteurCouleur* capteur) - 801466c: b580 push {r7, lr} - 801466e: b082 sub sp, #8 - 8014670: af00 add r7, sp, #0 - 8014672: 6078 str r0, [r7, #4] - 8014674: 6039 str r1, [r7, #0] - : capteurCouleur(capteur), state(0), resultat(0) - 8014676: 687b ldr r3, [r7, #4] - 8014678: 4618 mov r0, r3 - 801467a: f7fc fb81 bl 8010d80 <_ZN7CommandC2Ev> - 801467e: 687a ldr r2, [r7, #4] - 8014680: 4b09 ldr r3, [pc, #36] (80146a8 <_ZN29CommandCalibrerCapteurCouleurC1EP14CapteurCouleur+0x3c>) - 8014682: 6013 str r3, [r2, #0] - 8014684: 687a ldr r2, [r7, #4] - 8014686: 683b ldr r3, [r7, #0] - 8014688: 6053 str r3, [r2, #4] - 801468a: 687a ldr r2, [r7, #4] - 801468c: f04f 0300 mov.w r3, #0 ; 0x0 - 8014690: 6093 str r3, [r2, #8] - 8014692: 687a ldr r2, [r7, #4] - 8014694: f04f 0300 mov.w r3, #0 ; 0x0 - 8014698: 8193 strh r3, [r2, #12] -{ -} - 801469a: 687b ldr r3, [r7, #4] - 801469c: 4618 mov r0, r3 - 801469e: f107 0708 add.w r7, r7, #8 ; 0x8 - 80146a2: 46bd mov sp, r7 - 80146a4: bd80 pop {r7, pc} - 80146a6: 46c0 nop (mov r8, r8) - 80146a8: 08033f48 .word 0x08033f48 - -080146ac <_ZN29CommandCalibrerCapteurCouleurC2EP14CapteurCouleur>: - - -// permet de calibrer le capteur couleur en calculant la valeur moyenne de chaque capteur -// nécessite 5 updates chaque 5 ms -// la première update peut se faire juste après la construction -CommandCalibrerCapteurCouleur::CommandCalibrerCapteurCouleur(CapteurCouleur* capteur) - 80146ac: b580 push {r7, lr} - 80146ae: b082 sub sp, #8 - 80146b0: af00 add r7, sp, #0 - 80146b2: 6078 str r0, [r7, #4] - 80146b4: 6039 str r1, [r7, #0] - : capteurCouleur(capteur), state(0), resultat(0) - 80146b6: 687b ldr r3, [r7, #4] - 80146b8: 4618 mov r0, r3 - 80146ba: f7fc fb61 bl 8010d80 <_ZN7CommandC2Ev> - 80146be: 687a ldr r2, [r7, #4] - 80146c0: 4b09 ldr r3, [pc, #36] (80146e8 <_ZN29CommandCalibrerCapteurCouleurC2EP14CapteurCouleur+0x3c>) - 80146c2: 6013 str r3, [r2, #0] - 80146c4: 687a ldr r2, [r7, #4] - 80146c6: 683b ldr r3, [r7, #0] - 80146c8: 6053 str r3, [r2, #4] - 80146ca: 687a ldr r2, [r7, #4] - 80146cc: f04f 0300 mov.w r3, #0 ; 0x0 - 80146d0: 6093 str r3, [r2, #8] - 80146d2: 687a ldr r2, [r7, #4] - 80146d4: f04f 0300 mov.w r3, #0 ; 0x0 - 80146d8: 8193 strh r3, [r2, #12] -{ -} - 80146da: 687b ldr r3, [r7, #4] - 80146dc: 4618 mov r0, r3 - 80146de: f107 0708 add.w r7, r7, #8 ; 0x8 - 80146e2: 46bd mov sp, r7 - 80146e4: bd80 pop {r7, pc} - 80146e6: 46c0 nop (mov r8, r8) - 80146e8: 08033f48 .word 0x08033f48 - -080146ec <_ZN14CapteurCouleur12getTickValueEv>: - TIM_SetCounter(m_TIMx, 0); -} - -// Permet de connaitre le nombre de ticks depuis le dernier appel de cette fonction -// ou depuis le dernier appel de la selection du capteur -uint16_t CapteurCouleur::getTickValue() - 80146ec: b580 push {r7, lr} - 80146ee: b084 sub sp, #16 - 80146f0: af00 add r7, sp, #0 - 80146f2: 6078 str r0, [r7, #4] -{ - // récupère le nombre de ticks depuis la dernière mise à 0 - uint16_t tick = TIM_GetCounter(m_TIMx); - 80146f4: 687b ldr r3, [r7, #4] - 80146f6: 681b ldr r3, [r3, #0] - 80146f8: 4618 mov r0, r3 - 80146fa: f7f6 fd81 bl 800b200 - 80146fe: 4603 mov r3, r0 - 8014700: 81fb strh r3, [r7, #14] - - // remet à 0 - TIM_SetCounter(m_TIMx, 0); - 8014702: 687b ldr r3, [r7, #4] - 8014704: 681b ldr r3, [r3, #0] - 8014706: 4618 mov r0, r3 - 8014708: f04f 0100 mov.w r1, #0 ; 0x0 - 801470c: f7f6 fd5c bl 800b1c8 - - return tick; - 8014710: 89fb ldrh r3, [r7, #14] -} - 8014712: 4618 mov r0, r3 - 8014714: f107 0710 add.w r7, r7, #16 ; 0x10 - 8014718: 46bd mov sp, r7 - 801471a: bd80 pop {r7, pc} - -0801471c <_ZN14CapteurCouleur14activerCapteurE22PositionCapteurCouleur>: - break; - } -} - -// selectionne le capteur -void CapteurCouleur::activerCapteur(PositionCapteurCouleur position) - 801471c: b580 push {r7, lr} - 801471e: b082 sub sp, #8 - 8014720: af00 add r7, sp, #0 - 8014722: 6078 str r0, [r7, #4] - 8014724: 460b mov r3, r1 - 8014726: 70fb strb r3, [r7, #3] -{ - // selection du capteur - switch (position) - 8014728: 78fb ldrb r3, [r7, #3] - 801472a: 2b03 cmp r3, #3 - 801472c: d85d bhi.n 80147ea <_ZN14CapteurCouleur14activerCapteurE22PositionCapteurCouleur+0xce> - 801472e: a201 add r2, pc, #4 (adr r2, 8014734 <_ZN14CapteurCouleur14activerCapteurE22PositionCapteurCouleur+0x18>) - 8014730: f852 f023 ldr.w pc, [r2, r3, lsl #2] - 8014734: 08014745 .word 0x08014745 - 8014738: 0801476f .word 0x0801476f - 801473c: 08014799 .word 0x08014799 - 8014740: 080147c3 .word 0x080147c3 - { - case GAUCHE_HAUT: - GPIO_WriteBit(m_GPIO_selectCapteur1, m_GPIO_Pin_selectCapteur1, Bit_RESET); - 8014744: 687b ldr r3, [r7, #4] - 8014746: 695a ldr r2, [r3, #20] - 8014748: 687b ldr r3, [r7, #4] - 801474a: 8b1b ldrh r3, [r3, #24] - 801474c: 4610 mov r0, r2 - 801474e: 4619 mov r1, r3 - 8014750: f04f 0200 mov.w r2, #0 ; 0x0 - 8014754: f7f5 fb5a bl 8009e0c - GPIO_WriteBit(m_GPIO_selectCapteur2, m_GPIO_Pin_selectCapteur2, Bit_SET); - 8014758: 687b ldr r3, [r7, #4] - 801475a: 69da ldr r2, [r3, #28] - 801475c: 687b ldr r3, [r7, #4] - 801475e: 8c1b ldrh r3, [r3, #32] - 8014760: 4610 mov r0, r2 - 8014762: 4619 mov r1, r3 - 8014764: f04f 0201 mov.w r2, #1 ; 0x1 - 8014768: f7f5 fb50 bl 8009e0c - 801476c: e03d b.n 80147ea <_ZN14CapteurCouleur14activerCapteurE22PositionCapteurCouleur+0xce> - break; - case GAUCHE_BAS: - GPIO_WriteBit(m_GPIO_selectCapteur1, m_GPIO_Pin_selectCapteur1, Bit_SET); - 801476e: 687b ldr r3, [r7, #4] - 8014770: 695a ldr r2, [r3, #20] - 8014772: 687b ldr r3, [r7, #4] - 8014774: 8b1b ldrh r3, [r3, #24] - 8014776: 4610 mov r0, r2 - 8014778: 4619 mov r1, r3 - 801477a: f04f 0201 mov.w r2, #1 ; 0x1 - 801477e: f7f5 fb45 bl 8009e0c - GPIO_WriteBit(m_GPIO_selectCapteur2, m_GPIO_Pin_selectCapteur2, Bit_SET); - 8014782: 687b ldr r3, [r7, #4] - 8014784: 69da ldr r2, [r3, #28] - 8014786: 687b ldr r3, [r7, #4] - 8014788: 8c1b ldrh r3, [r3, #32] - 801478a: 4610 mov r0, r2 - 801478c: 4619 mov r1, r3 - 801478e: f04f 0201 mov.w r2, #1 ; 0x1 - 8014792: f7f5 fb3b bl 8009e0c - 8014796: e028 b.n 80147ea <_ZN14CapteurCouleur14activerCapteurE22PositionCapteurCouleur+0xce> - break; - case DROITE_HAUT: - GPIO_WriteBit(m_GPIO_selectCapteur1, m_GPIO_Pin_selectCapteur1, Bit_RESET); - 8014798: 687b ldr r3, [r7, #4] - 801479a: 695a ldr r2, [r3, #20] - 801479c: 687b ldr r3, [r7, #4] - 801479e: 8b1b ldrh r3, [r3, #24] - 80147a0: 4610 mov r0, r2 - 80147a2: 4619 mov r1, r3 - 80147a4: f04f 0200 mov.w r2, #0 ; 0x0 - 80147a8: f7f5 fb30 bl 8009e0c - GPIO_WriteBit(m_GPIO_selectCapteur2, m_GPIO_Pin_selectCapteur2, Bit_RESET); - 80147ac: 687b ldr r3, [r7, #4] - 80147ae: 69da ldr r2, [r3, #28] - 80147b0: 687b ldr r3, [r7, #4] - 80147b2: 8c1b ldrh r3, [r3, #32] - 80147b4: 4610 mov r0, r2 - 80147b6: 4619 mov r1, r3 - 80147b8: f04f 0200 mov.w r2, #0 ; 0x0 - 80147bc: f7f5 fb26 bl 8009e0c - 80147c0: e013 b.n 80147ea <_ZN14CapteurCouleur14activerCapteurE22PositionCapteurCouleur+0xce> - break; - case DROITE_BAS: - GPIO_WriteBit(m_GPIO_selectCapteur1, m_GPIO_Pin_selectCapteur1, Bit_SET); - 80147c2: 687b ldr r3, [r7, #4] - 80147c4: 695a ldr r2, [r3, #20] - 80147c6: 687b ldr r3, [r7, #4] - 80147c8: 8b1b ldrh r3, [r3, #24] - 80147ca: 4610 mov r0, r2 - 80147cc: 4619 mov r1, r3 - 80147ce: f04f 0201 mov.w r2, #1 ; 0x1 - 80147d2: f7f5 fb1b bl 8009e0c - GPIO_WriteBit(m_GPIO_selectCapteur2, m_GPIO_Pin_selectCapteur2, Bit_RESET); - 80147d6: 687b ldr r3, [r7, #4] - 80147d8: 69da ldr r2, [r3, #28] - 80147da: 687b ldr r3, [r7, #4] - 80147dc: 8c1b ldrh r3, [r3, #32] - 80147de: 4610 mov r0, r2 - 80147e0: 4619 mov r1, r3 - 80147e2: f04f 0200 mov.w r2, #0 ; 0x0 - 80147e6: f7f5 fb11 bl 8009e0c - break; - } - - // remet à 0 - TIM_SetCounter(m_TIMx, 0); - 80147ea: 687b ldr r3, [r7, #4] - 80147ec: 681b ldr r3, [r3, #0] - 80147ee: 4618 mov r0, r3 - 80147f0: f04f 0100 mov.w r1, #0 ; 0x0 - 80147f4: f7f6 fce8 bl 800b1c8 -} - 80147f8: f107 0708 add.w r7, r7, #8 ; 0x8 - 80147fc: 46bd mov sp, r7 - 80147fe: bd80 pop {r7, pc} - -08014800 <_ZN29CommandCalibrerCapteurCouleur6updateEv>: - : capteurCouleur(capteur), state(0), resultat(0) -{ -} - -// récupère la valeur d'un capteur et passe à un autre -void CommandCalibrerCapteurCouleur::update() - 8014800: b590 push {r4, r7, lr} - 8014802: b083 sub sp, #12 - 8014804: af00 add r7, sp, #0 - 8014806: 6078 str r0, [r7, #4] -{ - switch (state) - 8014808: 687b ldr r3, [r7, #4] - 801480a: 689b ldr r3, [r3, #8] - 801480c: 2b04 cmp r3, #4 - 801480e: f200 8082 bhi.w 8014916 <_ZN29CommandCalibrerCapteurCouleur6updateEv+0x116> - 8014812: a201 add r2, pc, #4 (adr r2, 8014818 <_ZN29CommandCalibrerCapteurCouleur6updateEv+0x18>) - 8014814: f852 f023 ldr.w pc, [r2, r3, lsl #2] - 8014818: 0801482d .word 0x0801482d - 801481c: 08014849 .word 0x08014849 - 8014820: 0801487d .word 0x0801487d - 8014824: 080148b1 .word 0x080148b1 - 8014828: 080148e5 .word 0x080148e5 - { - case 0: - capteurCouleur->activerCapteur(GAUCHE_HAUT); - 801482c: 687b ldr r3, [r7, #4] - 801482e: 685b ldr r3, [r3, #4] - 8014830: 4618 mov r0, r3 - 8014832: f04f 0100 mov.w r1, #0 ; 0x0 - 8014836: f7ff ff71 bl 801471c <_ZN14CapteurCouleur14activerCapteurE22PositionCapteurCouleur> - state++; - 801483a: 687b ldr r3, [r7, #4] - 801483c: 689b ldr r3, [r3, #8] - 801483e: f103 0201 add.w r2, r3, #1 ; 0x1 - 8014842: 687b ldr r3, [r7, #4] - 8014844: 609a str r2, [r3, #8] - 8014846: e066 b.n 8014916 <_ZN29CommandCalibrerCapteurCouleur6updateEv+0x116> - break; - case 1: - resultat += capteurCouleur->getTickValue(); - 8014848: 687b ldr r3, [r7, #4] - 801484a: 899c ldrh r4, [r3, #12] - 801484c: 687b ldr r3, [r7, #4] - 801484e: 685b ldr r3, [r3, #4] - 8014850: 4618 mov r0, r3 - 8014852: f7ff ff4b bl 80146ec <_ZN14CapteurCouleur12getTickValueEv> - 8014856: 4603 mov r3, r0 - 8014858: 4423 add r3, r4 - 801485a: b29b uxth r3, r3 - 801485c: 687a ldr r2, [r7, #4] - 801485e: 8193 strh r3, [r2, #12] - capteurCouleur->activerCapteur(GAUCHE_BAS); - 8014860: 687b ldr r3, [r7, #4] - 8014862: 685b ldr r3, [r3, #4] - 8014864: 4618 mov r0, r3 - 8014866: f04f 0101 mov.w r1, #1 ; 0x1 - 801486a: f7ff ff57 bl 801471c <_ZN14CapteurCouleur14activerCapteurE22PositionCapteurCouleur> - state++; - 801486e: 687b ldr r3, [r7, #4] - 8014870: 689b ldr r3, [r3, #8] - 8014872: f103 0201 add.w r2, r3, #1 ; 0x1 - 8014876: 687b ldr r3, [r7, #4] - 8014878: 609a str r2, [r3, #8] - 801487a: e04c b.n 8014916 <_ZN29CommandCalibrerCapteurCouleur6updateEv+0x116> - break; - case 2: - resultat += capteurCouleur->getTickValue(); - 801487c: 687b ldr r3, [r7, #4] - 801487e: 899c ldrh r4, [r3, #12] - 8014880: 687b ldr r3, [r7, #4] - 8014882: 685b ldr r3, [r3, #4] - 8014884: 4618 mov r0, r3 - 8014886: f7ff ff31 bl 80146ec <_ZN14CapteurCouleur12getTickValueEv> - 801488a: 4603 mov r3, r0 - 801488c: 4423 add r3, r4 - 801488e: b29b uxth r3, r3 - 8014890: 687a ldr r2, [r7, #4] - 8014892: 8193 strh r3, [r2, #12] - capteurCouleur->activerCapteur(DROITE_HAUT); - 8014894: 687b ldr r3, [r7, #4] - 8014896: 685b ldr r3, [r3, #4] - 8014898: 4618 mov r0, r3 - 801489a: f04f 0102 mov.w r1, #2 ; 0x2 - 801489e: f7ff ff3d bl 801471c <_ZN14CapteurCouleur14activerCapteurE22PositionCapteurCouleur> - state++; - 80148a2: 687b ldr r3, [r7, #4] - 80148a4: 689b ldr r3, [r3, #8] - 80148a6: f103 0201 add.w r2, r3, #1 ; 0x1 - 80148aa: 687b ldr r3, [r7, #4] - 80148ac: 609a str r2, [r3, #8] - 80148ae: e032 b.n 8014916 <_ZN29CommandCalibrerCapteurCouleur6updateEv+0x116> - break; - case 3: - resultat += capteurCouleur->getTickValue(); - 80148b0: 687b ldr r3, [r7, #4] - 80148b2: 899c ldrh r4, [r3, #12] - 80148b4: 687b ldr r3, [r7, #4] - 80148b6: 685b ldr r3, [r3, #4] - 80148b8: 4618 mov r0, r3 - 80148ba: f7ff ff17 bl 80146ec <_ZN14CapteurCouleur12getTickValueEv> - 80148be: 4603 mov r3, r0 - 80148c0: 4423 add r3, r4 - 80148c2: b29b uxth r3, r3 - 80148c4: 687a ldr r2, [r7, #4] - 80148c6: 8193 strh r3, [r2, #12] - capteurCouleur->activerCapteur(DROITE_BAS); - 80148c8: 687b ldr r3, [r7, #4] - 80148ca: 685b ldr r3, [r3, #4] - 80148cc: 4618 mov r0, r3 - 80148ce: f04f 0103 mov.w r1, #3 ; 0x3 - 80148d2: f7ff ff23 bl 801471c <_ZN14CapteurCouleur14activerCapteurE22PositionCapteurCouleur> - state++; - 80148d6: 687b ldr r3, [r7, #4] - 80148d8: 689b ldr r3, [r3, #8] - 80148da: f103 0201 add.w r2, r3, #1 ; 0x1 - 80148de: 687b ldr r3, [r7, #4] - 80148e0: 609a str r2, [r3, #8] - 80148e2: e018 b.n 8014916 <_ZN29CommandCalibrerCapteurCouleur6updateEv+0x116> - break; - case 4: - resultat += capteurCouleur->getTickValue(); - 80148e4: 687b ldr r3, [r7, #4] - 80148e6: 899c ldrh r4, [r3, #12] - 80148e8: 687b ldr r3, [r7, #4] - 80148ea: 685b ldr r3, [r3, #4] - 80148ec: 4618 mov r0, r3 - 80148ee: f7ff fefd bl 80146ec <_ZN14CapteurCouleur12getTickValueEv> - 80148f2: 4603 mov r3, r0 - 80148f4: 4423 add r3, r4 - 80148f6: b29b uxth r3, r3 - 80148f8: 687a ldr r2, [r7, #4] - 80148fa: 8193 strh r3, [r2, #12] - resultat /= 4; - 80148fc: 687b ldr r3, [r7, #4] - 80148fe: 899b ldrh r3, [r3, #12] - 8014900: ea4f 0393 mov.w r3, r3, lsr #2 - 8014904: b29b uxth r3, r3 - 8014906: 687a ldr r2, [r7, #4] - 8014908: 8193 strh r3, [r2, #12] - state++; - 801490a: 687b ldr r3, [r7, #4] - 801490c: 689b ldr r3, [r3, #8] - 801490e: f103 0201 add.w r2, r3, #1 ; 0x1 - 8014912: 687b ldr r3, [r7, #4] - 8014914: 609a str r2, [r3, #8] - break; - } -} - 8014916: f107 070c add.w r7, r7, #12 ; 0xc - 801491a: 46bd mov sp, r7 - 801491c: bd90 pop {r4, r7, pc} - 801491e: 46c0 nop (mov r8, r8) - -08014920 <_ZN14CapteurCouleur18selectionnerFiltreE20FiltreCapteurCouleur>: -{ - GPIO_WriteBit(m_GPIO_diodesBleues, m_GPIO_Pin_diodesBleues, allumer ? Bit_SET : Bit_RESET); -} - -// selectionne un filtre -void CapteurCouleur::selectionnerFiltre(FiltreCapteurCouleur filtre) - 8014920: b580 push {r7, lr} - 8014922: b082 sub sp, #8 - 8014924: af00 add r7, sp, #0 - 8014926: 6078 str r0, [r7, #4] - 8014928: 460b mov r3, r1 - 801492a: 70fb strb r3, [r7, #3] -{ - switch (filtre) - 801492c: 78fb ldrb r3, [r7, #3] - 801492e: 2b03 cmp r3, #3 - 8014930: d85d bhi.n 80149ee <_ZN14CapteurCouleur18selectionnerFiltreE20FiltreCapteurCouleur+0xce> - 8014932: a201 add r2, pc, #4 (adr r2, 8014938 <_ZN14CapteurCouleur18selectionnerFiltreE20FiltreCapteurCouleur+0x18>) - 8014934: f852 f023 ldr.w pc, [r2, r3, lsl #2] - 8014938: 08014949 .word 0x08014949 - 801493c: 080149c7 .word 0x080149c7 - 8014940: 08014973 .word 0x08014973 - 8014944: 0801499d .word 0x0801499d - { - case FILTRE_ROUGE: - GPIO_WriteBit(m_GPIO_selectFiltre1, m_GPIO_Pin_selectFiltre1, Bit_RESET); - 8014948: 687b ldr r3, [r7, #4] - 801494a: 6a5a ldr r2, [r3, #36] - 801494c: 687b ldr r3, [r7, #4] - 801494e: 8d1b ldrh r3, [r3, #40] - 8014950: 4610 mov r0, r2 - 8014952: 4619 mov r1, r3 - 8014954: f04f 0200 mov.w r2, #0 ; 0x0 - 8014958: f7f5 fa58 bl 8009e0c - GPIO_WriteBit(m_GPIO_selectFiltre2, m_GPIO_Pin_selectFiltre2, Bit_RESET); - 801495c: 687b ldr r3, [r7, #4] - 801495e: 6ada ldr r2, [r3, #44] - 8014960: 687b ldr r3, [r7, #4] - 8014962: 8e1b ldrh r3, [r3, #48] - 8014964: 4610 mov r0, r2 - 8014966: 4619 mov r1, r3 - 8014968: f04f 0200 mov.w r2, #0 ; 0x0 - 801496c: f7f5 fa4e bl 8009e0c - 8014970: e03d b.n 80149ee <_ZN14CapteurCouleur18selectionnerFiltreE20FiltreCapteurCouleur+0xce> - - break; - case FILTRE_BLEU: - GPIO_WriteBit(m_GPIO_selectFiltre1, m_GPIO_Pin_selectFiltre1, Bit_SET); - 8014972: 687b ldr r3, [r7, #4] - 8014974: 6a5a ldr r2, [r3, #36] - 8014976: 687b ldr r3, [r7, #4] - 8014978: 8d1b ldrh r3, [r3, #40] - 801497a: 4610 mov r0, r2 - 801497c: 4619 mov r1, r3 - 801497e: f04f 0201 mov.w r2, #1 ; 0x1 - 8014982: f7f5 fa43 bl 8009e0c - GPIO_WriteBit(m_GPIO_selectFiltre2, m_GPIO_Pin_selectFiltre2, Bit_RESET); - 8014986: 687b ldr r3, [r7, #4] - 8014988: 6ada ldr r2, [r3, #44] - 801498a: 687b ldr r3, [r7, #4] - 801498c: 8e1b ldrh r3, [r3, #48] - 801498e: 4610 mov r0, r2 - 8014990: 4619 mov r1, r3 - 8014992: f04f 0200 mov.w r2, #0 ; 0x0 - 8014996: f7f5 fa39 bl 8009e0c - 801499a: e028 b.n 80149ee <_ZN14CapteurCouleur18selectionnerFiltreE20FiltreCapteurCouleur+0xce> - break; - case FILTRE_BLANC: - GPIO_WriteBit(m_GPIO_selectFiltre1, m_GPIO_Pin_selectFiltre1, Bit_RESET); - 801499c: 687b ldr r3, [r7, #4] - 801499e: 6a5a ldr r2, [r3, #36] - 80149a0: 687b ldr r3, [r7, #4] - 80149a2: 8d1b ldrh r3, [r3, #40] - 80149a4: 4610 mov r0, r2 - 80149a6: 4619 mov r1, r3 - 80149a8: f04f 0200 mov.w r2, #0 ; 0x0 - 80149ac: f7f5 fa2e bl 8009e0c - GPIO_WriteBit(m_GPIO_selectFiltre2, m_GPIO_Pin_selectFiltre2, Bit_SET); - 80149b0: 687b ldr r3, [r7, #4] - 80149b2: 6ada ldr r2, [r3, #44] - 80149b4: 687b ldr r3, [r7, #4] - 80149b6: 8e1b ldrh r3, [r3, #48] - 80149b8: 4610 mov r0, r2 - 80149ba: 4619 mov r1, r3 - 80149bc: f04f 0201 mov.w r2, #1 ; 0x1 - 80149c0: f7f5 fa24 bl 8009e0c - 80149c4: e013 b.n 80149ee <_ZN14CapteurCouleur18selectionnerFiltreE20FiltreCapteurCouleur+0xce> - break; - case FILTRE_VERT: - GPIO_WriteBit(m_GPIO_selectFiltre1, m_GPIO_Pin_selectFiltre1, Bit_SET); - 80149c6: 687b ldr r3, [r7, #4] - 80149c8: 6a5a ldr r2, [r3, #36] - 80149ca: 687b ldr r3, [r7, #4] - 80149cc: 8d1b ldrh r3, [r3, #40] - 80149ce: 4610 mov r0, r2 - 80149d0: 4619 mov r1, r3 - 80149d2: f04f 0201 mov.w r2, #1 ; 0x1 - 80149d6: f7f5 fa19 bl 8009e0c - GPIO_WriteBit(m_GPIO_selectFiltre2, m_GPIO_Pin_selectFiltre2, Bit_SET); - 80149da: 687b ldr r3, [r7, #4] - 80149dc: 6ada ldr r2, [r3, #44] - 80149de: 687b ldr r3, [r7, #4] - 80149e0: 8e1b ldrh r3, [r3, #48] - 80149e2: 4610 mov r0, r2 - 80149e4: 4619 mov r1, r3 - 80149e6: f04f 0201 mov.w r2, #1 ; 0x1 - 80149ea: f7f5 fa0f bl 8009e0c - break; - } -} - 80149ee: f107 0708 add.w r7, r7, #8 ; 0x8 - 80149f2: 46bd mov sp, r7 - 80149f4: bd80 pop {r7, pc} - 80149f6: 46c0 nop (mov r8, r8) - -080149f8 <_ZN14CapteurCouleur19allumerDiodesBleuesEb>: -void CapteurCouleur::allumerDiodesRouges(bool allumer) -{ - GPIO_WriteBit(m_GPIO_diodesRouges, m_GPIO_Pin_diodesRouges, allumer ? Bit_SET : Bit_RESET); -} - -void CapteurCouleur::allumerDiodesBleues(bool allumer) - 80149f8: b580 push {r7, lr} - 80149fa: b086 sub sp, #24 - 80149fc: af00 add r7, sp, #0 - 80149fe: 6178 str r0, [r7, #20] - 8014a00: 460b mov r3, r1 - 8014a02: 74fb strb r3, [r7, #19] -{ - GPIO_WriteBit(m_GPIO_diodesBleues, m_GPIO_Pin_diodesBleues, allumer ? Bit_SET : Bit_RESET); - 8014a04: 697b ldr r3, [r7, #20] - 8014a06: 68db ldr r3, [r3, #12] - 8014a08: 607b str r3, [r7, #4] - 8014a0a: 697b ldr r3, [r7, #20] - 8014a0c: 8a1b ldrh r3, [r3, #16] - 8014a0e: 60bb str r3, [r7, #8] - 8014a10: 7cfb ldrb r3, [r7, #19] - 8014a12: 2b00 cmp r3, #0 - 8014a14: d003 beq.n 8014a1e <_ZN14CapteurCouleur19allumerDiodesBleuesEb+0x26> - 8014a16: f04f 0301 mov.w r3, #1 ; 0x1 - 8014a1a: 60fb str r3, [r7, #12] - 8014a1c: e002 b.n 8014a24 <_ZN14CapteurCouleur19allumerDiodesBleuesEb+0x2c> - 8014a1e: f04f 0300 mov.w r3, #0 ; 0x0 - 8014a22: 60fb str r3, [r7, #12] - 8014a24: 6878 ldr r0, [r7, #4] - 8014a26: 68b9 ldr r1, [r7, #8] - 8014a28: 68fa ldr r2, [r7, #12] - 8014a2a: f7f5 f9ef bl 8009e0c -} - 8014a2e: f107 0718 add.w r7, r7, #24 ; 0x18 - 8014a32: 46bd mov sp, r7 - 8014a34: bd80 pop {r7, pc} - 8014a36: 46c0 nop (mov r8, r8) - -08014a38 <_ZN14CapteurCouleur19allumerDiodesRougesEb>: - initialiserPinCapteur(m_GPIO_selectFiltre1, m_GPIO_Pin_selectFiltre1); - initialiserPinCapteur(m_GPIO_selectFiltre2, m_GPIO_Pin_selectFiltre2); -} - -// allume/éteint les diodes -void CapteurCouleur::allumerDiodesRouges(bool allumer) - 8014a38: b580 push {r7, lr} - 8014a3a: b086 sub sp, #24 - 8014a3c: af00 add r7, sp, #0 - 8014a3e: 6178 str r0, [r7, #20] - 8014a40: 460b mov r3, r1 - 8014a42: 74fb strb r3, [r7, #19] -{ - GPIO_WriteBit(m_GPIO_diodesRouges, m_GPIO_Pin_diodesRouges, allumer ? Bit_SET : Bit_RESET); - 8014a44: 697b ldr r3, [r7, #20] - 8014a46: 685b ldr r3, [r3, #4] - 8014a48: 607b str r3, [r7, #4] - 8014a4a: 697b ldr r3, [r7, #20] - 8014a4c: 891b ldrh r3, [r3, #8] - 8014a4e: 60bb str r3, [r7, #8] - 8014a50: 7cfb ldrb r3, [r7, #19] - 8014a52: 2b00 cmp r3, #0 - 8014a54: d003 beq.n 8014a5e <_ZN14CapteurCouleur19allumerDiodesRougesEb+0x26> - 8014a56: f04f 0301 mov.w r3, #1 ; 0x1 - 8014a5a: 60fb str r3, [r7, #12] - 8014a5c: e002 b.n 8014a64 <_ZN14CapteurCouleur19allumerDiodesRougesEb+0x2c> - 8014a5e: f04f 0300 mov.w r3, #0 ; 0x0 - 8014a62: 60fb str r3, [r7, #12] - 8014a64: 6878 ldr r0, [r7, #4] - 8014a66: 68b9 ldr r1, [r7, #8] - 8014a68: 68fa ldr r2, [r7, #12] - 8014a6a: f7f5 f9cf bl 8009e0c -} - 8014a6e: f107 0718 add.w r7, r7, #24 ; 0x18 - 8014a72: 46bd mov sp, r7 - 8014a74: bd80 pop {r7, pc} - 8014a76: 46c0 nop (mov r8, r8) - -08014a78 <_ZN19CommandCheckCouleur6updateEv>: - capteur->activerCapteur(pos); - nbUpdatesRestantes = nbUpdatePourAllumerLed; -} - -// check la couleur -void CommandCheckCouleur::update() - 8014a78: b580 push {r7, lr} - 8014a7a: b082 sub sp, #8 - 8014a7c: af00 add r7, sp, #0 - 8014a7e: 6078 str r0, [r7, #4] -{ - switch (state) - 8014a80: 687b ldr r3, [r7, #4] - 8014a82: 695b ldr r3, [r3, #20] - 8014a84: 2b03 cmp r3, #3 - 8014a86: d875 bhi.n 8014b74 <_ZN19CommandCheckCouleur6updateEv+0xfc> - 8014a88: a201 add r2, pc, #4 (adr r2, 8014a90 <_ZN19CommandCheckCouleur6updateEv+0x18>) - 8014a8a: f852 f023 ldr.w pc, [r2, r3, lsl #2] - 8014a8e: 46c0 nop (mov r8, r8) - 8014a90: 08014aa1 .word 0x08014aa1 - 8014a94: 08014acf .word 0x08014acf - 8014a98: 08014b0f .word 0x08014b0f - 8014a9c: 08014b3d .word 0x08014b3d - { - // attente d'allumage de la diode bleu - case 0: - if (nbUpdatesRestantes >=0) - 8014aa0: 687b ldr r3, [r7, #4] - 8014aa2: 691b ldr r3, [r3, #16] - 8014aa4: 2b00 cmp r3, #0 - 8014aa6: db06 blt.n 8014ab6 <_ZN19CommandCheckCouleur6updateEv+0x3e> - nbUpdatesRestantes--; - 8014aa8: 687b ldr r3, [r7, #4] - 8014aaa: 691b ldr r3, [r3, #16] - 8014aac: f103 32ff add.w r2, r3, #4294967295 ; 0xffffffff - 8014ab0: 687b ldr r3, [r7, #4] - 8014ab2: 611a str r2, [r3, #16] - 8014ab4: e05e b.n 8014b74 <_ZN19CommandCheckCouleur6updateEv+0xfc> - else - { - state++; - 8014ab6: 687b ldr r3, [r7, #4] - 8014ab8: 695b ldr r3, [r3, #20] - 8014aba: f103 0201 add.w r2, r3, #1 ; 0x1 - 8014abe: 687b ldr r3, [r7, #4] - 8014ac0: 615a str r2, [r3, #20] - capteurCouleur->getTickValue(); - 8014ac2: 687b ldr r3, [r7, #4] - 8014ac4: 689b ldr r3, [r3, #8] - 8014ac6: 4618 mov r0, r3 - 8014ac8: f7ff fe10 bl 80146ec <_ZN14CapteurCouleur12getTickValueEv> - 8014acc: e052 b.n 8014b74 <_ZN19CommandCheckCouleur6updateEv+0xfc> - } - break; - - // récupération de la valeur bleu - case 1: - bleuMesure = capteurCouleur->getTickValue(); - 8014ace: 687b ldr r3, [r7, #4] - 8014ad0: 689b ldr r3, [r3, #8] - 8014ad2: 4618 mov r0, r3 - 8014ad4: f7ff fe0a bl 80146ec <_ZN14CapteurCouleur12getTickValueEv> - 8014ad8: 4603 mov r3, r0 - 8014ada: 687a ldr r2, [r7, #4] - 8014adc: 8193 strh r3, [r2, #12] - capteurCouleur->allumerDiodesBleues(false); - 8014ade: 687b ldr r3, [r7, #4] - 8014ae0: 689b ldr r3, [r3, #8] - 8014ae2: 4618 mov r0, r3 - 8014ae4: f04f 0100 mov.w r1, #0 ; 0x0 - 8014ae8: f7ff ff86 bl 80149f8 <_ZN14CapteurCouleur19allumerDiodesBleuesEb> - capteurCouleur->allumerDiodesRouges(true); - 8014aec: 687b ldr r3, [r7, #4] - 8014aee: 689b ldr r3, [r3, #8] - 8014af0: 4618 mov r0, r3 - 8014af2: f04f 0101 mov.w r1, #1 ; 0x1 - 8014af6: f7ff ff9f bl 8014a38 <_ZN14CapteurCouleur19allumerDiodesRougesEb> - nbUpdatesRestantes = nbUpdatePourAllumerLed; - 8014afa: 687a ldr r2, [r7, #4] - 8014afc: f04f 030a mov.w r3, #10 ; 0xa - 8014b00: 6113 str r3, [r2, #16] - state++; - 8014b02: 687b ldr r3, [r7, #4] - 8014b04: 695b ldr r3, [r3, #20] - 8014b06: f103 0201 add.w r2, r3, #1 ; 0x1 - 8014b0a: 687b ldr r3, [r7, #4] - 8014b0c: 615a str r2, [r3, #20] - - // attente d'allumage de la diode rouge - case 2: - if (nbUpdatesRestantes >=0) - 8014b0e: 687b ldr r3, [r7, #4] - 8014b10: 691b ldr r3, [r3, #16] - 8014b12: 2b00 cmp r3, #0 - 8014b14: db06 blt.n 8014b24 <_ZN19CommandCheckCouleur6updateEv+0xac> - nbUpdatesRestantes--; - 8014b16: 687b ldr r3, [r7, #4] - 8014b18: 691b ldr r3, [r3, #16] - 8014b1a: f103 32ff add.w r2, r3, #4294967295 ; 0xffffffff - 8014b1e: 687b ldr r3, [r7, #4] - 8014b20: 611a str r2, [r3, #16] - 8014b22: e027 b.n 8014b74 <_ZN19CommandCheckCouleur6updateEv+0xfc> - else - { - state++; - 8014b24: 687b ldr r3, [r7, #4] - 8014b26: 695b ldr r3, [r3, #20] - 8014b28: f103 0201 add.w r2, r3, #1 ; 0x1 - 8014b2c: 687b ldr r3, [r7, #4] - 8014b2e: 615a str r2, [r3, #20] - capteurCouleur->getTickValue(); - 8014b30: 687b ldr r3, [r7, #4] - 8014b32: 689b ldr r3, [r3, #8] - 8014b34: 4618 mov r0, r3 - 8014b36: f7ff fdd9 bl 80146ec <_ZN14CapteurCouleur12getTickValueEv> - 8014b3a: e01b b.n 8014b74 <_ZN19CommandCheckCouleur6updateEv+0xfc> - } - break; - // récupération de la valeur bleu - case 3: - rougeMesure = capteurCouleur->getTickValue(); - 8014b3c: 687b ldr r3, [r7, #4] - 8014b3e: 689b ldr r3, [r3, #8] - 8014b40: 4618 mov r0, r3 - 8014b42: f7ff fdd3 bl 80146ec <_ZN14CapteurCouleur12getTickValueEv> - 8014b46: 4603 mov r3, r0 - 8014b48: 687a ldr r2, [r7, #4] - 8014b4a: 81d3 strh r3, [r2, #14] - capteurCouleur->allumerDiodesBleues(false); - 8014b4c: 687b ldr r3, [r7, #4] - 8014b4e: 689b ldr r3, [r3, #8] - 8014b50: 4618 mov r0, r3 - 8014b52: f04f 0100 mov.w r1, #0 ; 0x0 - 8014b56: f7ff ff4f bl 80149f8 <_ZN14CapteurCouleur19allumerDiodesBleuesEb> - capteurCouleur->allumerDiodesRouges(false); - 8014b5a: 687b ldr r3, [r7, #4] - 8014b5c: 689b ldr r3, [r3, #8] - 8014b5e: 4618 mov r0, r3 - 8014b60: f04f 0100 mov.w r1, #0 ; 0x0 - 8014b64: f7ff ff68 bl 8014a38 <_ZN14CapteurCouleur19allumerDiodesRougesEb> - state++; - 8014b68: 687b ldr r3, [r7, #4] - 8014b6a: 695b ldr r3, [r3, #20] - 8014b6c: f103 0201 add.w r2, r3, #1 ; 0x1 - 8014b70: 687b ldr r3, [r7, #4] - 8014b72: 615a str r2, [r3, #20] - } -} - 8014b74: f107 0708 add.w r7, r7, #8 ; 0x8 - 8014b78: 46bd mov sp, r7 - 8014b7a: bd80 pop {r7, pc} - -08014b7c <_ZN19CommandCheckCouleurC1EP14CapteurCouleur22PositionCapteurCouleurt>: - ////////////////////////////// - // CommandCheckCouleur // - ////////////////////////////// - -// check la couleur d'un capteur -CommandCheckCouleur::CommandCheckCouleur(CapteurCouleur* capteur, PositionCapteurCouleur pos, uint16_t seuil) - 8014b7c: b580 push {r7, lr} - 8014b7e: b084 sub sp, #16 - 8014b80: af00 add r7, sp, #0 - 8014b82: 60f8 str r0, [r7, #12] - 8014b84: 60b9 str r1, [r7, #8] - 8014b86: 4619 mov r1, r3 - 8014b88: 4613 mov r3, r2 - 8014b8a: 71fb strb r3, [r7, #7] - 8014b8c: 460b mov r3, r1 - 8014b8e: 80bb strh r3, [r7, #4] - : seuilMoyenne(seuil), capteurCouleur(capteur), bleuMesure(0), rougeMesure(0) - , nbUpdatesRestantes(nbUpdatePourAllumerLed), state(0) - 8014b90: 68fb ldr r3, [r7, #12] - 8014b92: 4618 mov r0, r3 - 8014b94: f7fc f8f4 bl 8010d80 <_ZN7CommandC2Ev> - 8014b98: 68fa ldr r2, [r7, #12] - 8014b9a: 4b18 ldr r3, [pc, #96] (8014bfc <_ZN19CommandCheckCouleurC1EP14CapteurCouleur22PositionCapteurCouleurt+0x80>) - 8014b9c: 6013 str r3, [r2, #0] - 8014b9e: 68fa ldr r2, [r7, #12] - 8014ba0: 88bb ldrh r3, [r7, #4] - 8014ba2: 8093 strh r3, [r2, #4] - 8014ba4: 68fa ldr r2, [r7, #12] - 8014ba6: 68bb ldr r3, [r7, #8] - 8014ba8: 6093 str r3, [r2, #8] - 8014baa: 68fa ldr r2, [r7, #12] - 8014bac: f04f 0300 mov.w r3, #0 ; 0x0 - 8014bb0: 8193 strh r3, [r2, #12] - 8014bb2: 68fa ldr r2, [r7, #12] - 8014bb4: f04f 0300 mov.w r3, #0 ; 0x0 - 8014bb8: 81d3 strh r3, [r2, #14] - 8014bba: 68fa ldr r2, [r7, #12] - 8014bbc: f04f 030a mov.w r3, #10 ; 0xa - 8014bc0: 6113 str r3, [r2, #16] - 8014bc2: 68fa ldr r2, [r7, #12] - 8014bc4: f04f 0300 mov.w r3, #0 ; 0x0 - 8014bc8: 6153 str r3, [r2, #20] -{ - capteur->allumerDiodesBleues(true); - 8014bca: 68b8 ldr r0, [r7, #8] - 8014bcc: f04f 0101 mov.w r1, #1 ; 0x1 - 8014bd0: f7ff ff12 bl 80149f8 <_ZN14CapteurCouleur19allumerDiodesBleuesEb> - capteur->allumerDiodesRouges(false); - 8014bd4: 68b8 ldr r0, [r7, #8] - 8014bd6: f04f 0100 mov.w r1, #0 ; 0x0 - 8014bda: f7ff ff2d bl 8014a38 <_ZN14CapteurCouleur19allumerDiodesRougesEb> - capteur->activerCapteur(pos); - 8014bde: 79fb ldrb r3, [r7, #7] - 8014be0: 68b8 ldr r0, [r7, #8] - 8014be2: 4619 mov r1, r3 - 8014be4: f7ff fd9a bl 801471c <_ZN14CapteurCouleur14activerCapteurE22PositionCapteurCouleur> - nbUpdatesRestantes = nbUpdatePourAllumerLed; - 8014be8: 68fa ldr r2, [r7, #12] - 8014bea: f04f 030a mov.w r3, #10 ; 0xa - 8014bee: 6113 str r3, [r2, #16] -} - 8014bf0: 68fb ldr r3, [r7, #12] - 8014bf2: 4618 mov r0, r3 - 8014bf4: f107 0710 add.w r7, r7, #16 ; 0x10 - 8014bf8: 46bd mov sp, r7 - 8014bfa: bd80 pop {r7, pc} - 8014bfc: 08033f20 .word 0x08033f20 - -08014c00 <_ZN19CommandCheckCouleurC2EP14CapteurCouleur22PositionCapteurCouleurt>: - ////////////////////////////// - // CommandCheckCouleur // - ////////////////////////////// - -// check la couleur d'un capteur -CommandCheckCouleur::CommandCheckCouleur(CapteurCouleur* capteur, PositionCapteurCouleur pos, uint16_t seuil) - 8014c00: b580 push {r7, lr} - 8014c02: b084 sub sp, #16 - 8014c04: af00 add r7, sp, #0 - 8014c06: 60f8 str r0, [r7, #12] - 8014c08: 60b9 str r1, [r7, #8] - 8014c0a: 4619 mov r1, r3 - 8014c0c: 4613 mov r3, r2 - 8014c0e: 71fb strb r3, [r7, #7] - 8014c10: 460b mov r3, r1 - 8014c12: 80bb strh r3, [r7, #4] - : seuilMoyenne(seuil), capteurCouleur(capteur), bleuMesure(0), rougeMesure(0) - , nbUpdatesRestantes(nbUpdatePourAllumerLed), state(0) - 8014c14: 68fb ldr r3, [r7, #12] - 8014c16: 4618 mov r0, r3 - 8014c18: f7fc f8b2 bl 8010d80 <_ZN7CommandC2Ev> - 8014c1c: 68fa ldr r2, [r7, #12] - 8014c1e: 4b18 ldr r3, [pc, #96] (8014c80 <_ZN19CommandCheckCouleurC2EP14CapteurCouleur22PositionCapteurCouleurt+0x80>) - 8014c20: 6013 str r3, [r2, #0] - 8014c22: 68fa ldr r2, [r7, #12] - 8014c24: 88bb ldrh r3, [r7, #4] - 8014c26: 8093 strh r3, [r2, #4] - 8014c28: 68fa ldr r2, [r7, #12] - 8014c2a: 68bb ldr r3, [r7, #8] - 8014c2c: 6093 str r3, [r2, #8] - 8014c2e: 68fa ldr r2, [r7, #12] - 8014c30: f04f 0300 mov.w r3, #0 ; 0x0 - 8014c34: 8193 strh r3, [r2, #12] - 8014c36: 68fa ldr r2, [r7, #12] - 8014c38: f04f 0300 mov.w r3, #0 ; 0x0 - 8014c3c: 81d3 strh r3, [r2, #14] - 8014c3e: 68fa ldr r2, [r7, #12] - 8014c40: f04f 030a mov.w r3, #10 ; 0xa - 8014c44: 6113 str r3, [r2, #16] - 8014c46: 68fa ldr r2, [r7, #12] - 8014c48: f04f 0300 mov.w r3, #0 ; 0x0 - 8014c4c: 6153 str r3, [r2, #20] -{ - capteur->allumerDiodesBleues(true); - 8014c4e: 68b8 ldr r0, [r7, #8] - 8014c50: f04f 0101 mov.w r1, #1 ; 0x1 - 8014c54: f7ff fed0 bl 80149f8 <_ZN14CapteurCouleur19allumerDiodesBleuesEb> - capteur->allumerDiodesRouges(false); - 8014c58: 68b8 ldr r0, [r7, #8] - 8014c5a: f04f 0100 mov.w r1, #0 ; 0x0 - 8014c5e: f7ff feeb bl 8014a38 <_ZN14CapteurCouleur19allumerDiodesRougesEb> - capteur->activerCapteur(pos); - 8014c62: 79fb ldrb r3, [r7, #7] - 8014c64: 68b8 ldr r0, [r7, #8] - 8014c66: 4619 mov r1, r3 - 8014c68: f7ff fd58 bl 801471c <_ZN14CapteurCouleur14activerCapteurE22PositionCapteurCouleur> - nbUpdatesRestantes = nbUpdatePourAllumerLed; - 8014c6c: 68fa ldr r2, [r7, #12] - 8014c6e: f04f 030a mov.w r3, #10 ; 0xa - 8014c72: 6113 str r3, [r2, #16] -} - 8014c74: 68fb ldr r3, [r7, #12] - 8014c76: 4618 mov r0, r3 - 8014c78: f107 0710 add.w r7, r7, #16 ; 0x10 - 8014c7c: 46bd mov sp, r7 - 8014c7e: bd80 pop {r7, pc} - 8014c80: 08033f20 .word 0x08033f20 - -08014c84 <_Z21initialiserPinCapteurP12GPIO_TypeDeft>: - -#include "capteurCouleur.h" -#include "timerHandler.h" - -// permet d'initialiser une pin -void initialiserPinCapteur(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin_x) - 8014c84: b580 push {r7, lr} - 8014c86: b084 sub sp, #16 - 8014c88: af00 add r7, sp, #0 - 8014c8a: 6078 str r0, [r7, #4] - 8014c8c: 460b mov r3, r1 - 8014c8e: 807b strh r3, [r7, #2] -{ - GPIO_InitTypeDef GPIO_InitStructure; - #ifdef STM32F40_41xxx - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; - 8014c90: f04f 0301 mov.w r3, #1 ; 0x1 - 8014c94: 733b strb r3, [r7, #12] - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - 8014c96: f04f 0300 mov.w r3, #0 ; 0x0 - 8014c9a: 73bb strb r3, [r7, #14] - #elif defined(STM32F10X_MD) || defined(STM32F10X_CL) - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; - #endif - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - 8014c9c: f04f 0302 mov.w r3, #2 ; 0x2 - 8014ca0: 737b strb r3, [r7, #13] - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_x; - 8014ca2: 887b ldrh r3, [r7, #2] - 8014ca4: 60bb str r3, [r7, #8] - GPIO_Init(GPIOx, &GPIO_InitStructure); - 8014ca6: f107 0308 add.w r3, r7, #8 ; 0x8 - 8014caa: 6878 ldr r0, [r7, #4] - 8014cac: 4619 mov r1, r3 - 8014cae: f7f4 ff4b bl 8009b48 - GPIO_WriteBit(GPIOx, GPIO_Pin_x, Bit_RESET); - 8014cb2: 887b ldrh r3, [r7, #2] - 8014cb4: 6878 ldr r0, [r7, #4] - 8014cb6: 4619 mov r1, r3 - 8014cb8: f04f 0200 mov.w r2, #0 ; 0x0 - 8014cbc: f7f5 f8a6 bl 8009e0c -} - 8014cc0: f107 0710 add.w r7, r7, #16 ; 0x10 - 8014cc4: 46bd mov sp, r7 - 8014cc6: bd80 pop {r7, pc} - -08014cc8 <_ZN14CapteurCouleurC1EP11TIM_TypeDefP12GPIO_TypeDeftS3_tS3_tS3_tS3_tS3_tS3_t>: - GPIO_TypeDef* GPIO_diodesRouges, uint16_t GPIO_Pin_diodesRouges, - GPIO_TypeDef* GPIO_diodesBleues, uint16_t GPIO_Pin_diodesBleues, - GPIO_TypeDef* GPIO_selectCapteur1, uint16_t GPIO_Pin_selectCapteur1, - GPIO_TypeDef* GPIO_selectCapteur2, uint16_t GPIO_Pin_selectCapteur2, - GPIO_TypeDef* GPIO_selectFiltre1, uint16_t GPIO_Pin_selectFiltre1, - GPIO_TypeDef* GPIO_selectFiltre2, uint16_t GPIO_Pin_selectFiltre2) - 8014cc8: b580 push {r7, lr} - 8014cca: b08a sub sp, #40 - 8014ccc: af00 add r7, sp, #0 - 8014cce: 60f8 str r0, [r7, #12] - 8014cd0: 60b9 str r1, [r7, #8] - 8014cd2: 607a str r2, [r7, #4] - 8014cd4: 807b strh r3, [r7, #2] - , m_GPIO_diodesRouges(GPIO_diodesRouges), m_GPIO_Pin_diodesRouges(GPIO_Pin_diodesRouges) - , m_GPIO_diodesBleues(GPIO_diodesBleues), m_GPIO_Pin_diodesBleues(GPIO_Pin_diodesBleues) - , m_GPIO_selectCapteur1(GPIO_selectCapteur1), m_GPIO_Pin_selectCapteur1(GPIO_Pin_selectCapteur1) - , m_GPIO_selectCapteur2(GPIO_selectCapteur2), m_GPIO_Pin_selectCapteur2(GPIO_Pin_selectCapteur2) - , m_GPIO_selectFiltre1(GPIO_selectFiltre1), m_GPIO_Pin_selectFiltre1(GPIO_Pin_selectFiltre1) - , m_GPIO_selectFiltre2(GPIO_selectFiltre2), m_GPIO_Pin_selectFiltre2(GPIO_Pin_selectFiltre2) - 8014cd6: 68fa ldr r2, [r7, #12] - 8014cd8: 68bb ldr r3, [r7, #8] - 8014cda: 6013 str r3, [r2, #0] - 8014cdc: 68fa ldr r2, [r7, #12] - 8014cde: 6b3b ldr r3, [r7, #48] - 8014ce0: 6053 str r3, [r2, #4] - 8014ce2: 68fa ldr r2, [r7, #12] - 8014ce4: 8ebb ldrh r3, [r7, #52] - 8014ce6: 8113 strh r3, [r2, #8] - 8014ce8: 68fa ldr r2, [r7, #12] - 8014cea: 6bbb ldr r3, [r7, #56] - 8014cec: 60d3 str r3, [r2, #12] - 8014cee: 68fa ldr r2, [r7, #12] - 8014cf0: 8fbb ldrh r3, [r7, #60] - 8014cf2: 8213 strh r3, [r2, #16] - 8014cf4: 68fa ldr r2, [r7, #12] - 8014cf6: 6c3b ldr r3, [r7, #64] - 8014cf8: 6153 str r3, [r2, #20] - 8014cfa: 68fa ldr r2, [r7, #12] - 8014cfc: f8b7 3044 ldrh.w r3, [r7, #68] - 8014d00: 8313 strh r3, [r2, #24] - 8014d02: 68fa ldr r2, [r7, #12] - 8014d04: 6cbb ldr r3, [r7, #72] - 8014d06: 61d3 str r3, [r2, #28] - 8014d08: 68fa ldr r2, [r7, #12] - 8014d0a: f8b7 304c ldrh.w r3, [r7, #76] - 8014d0e: 8413 strh r3, [r2, #32] - 8014d10: 68fa ldr r2, [r7, #12] - 8014d12: 6d3b ldr r3, [r7, #80] - 8014d14: 6253 str r3, [r2, #36] - 8014d16: 68fa ldr r2, [r7, #12] - 8014d18: f8b7 3054 ldrh.w r3, [r7, #84] - 8014d1c: 8513 strh r3, [r2, #40] - 8014d1e: 68fa ldr r2, [r7, #12] - 8014d20: 6dbb ldr r3, [r7, #88] - 8014d22: 62d3 str r3, [r2, #44] - 8014d24: 68fa ldr r2, [r7, #12] - 8014d26: f8b7 305c ldrh.w r3, [r7, #92] - 8014d2a: 8613 strh r3, [r2, #48] -{ - // Initialisation de la pin du timer - GPIO_InitTypeDef GPIO_InitStructure; - #ifdef STM32F40_41xxx - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - 8014d2c: f04f 0302 mov.w r3, #2 ; 0x2 - 8014d30: f887 3024 strb.w r3, [r7, #36] - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - 8014d34: f04f 0300 mov.w r3, #0 ; 0x0 - 8014d38: f887 3026 strb.w r3, [r7, #38] - #elif defined(STM32F10X_MD) || defined(STM32F10X_CL) - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; - #endif - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - 8014d3c: f04f 0302 mov.w r3, #2 ; 0x2 - 8014d40: f887 3025 strb.w r3, [r7, #37] - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_timer; - 8014d44: 887b ldrh r3, [r7, #2] - 8014d46: 623b str r3, [r7, #32] - GPIO_Init(GPIO_timer, &GPIO_InitStructure); - 8014d48: f107 0320 add.w r3, r7, #32 ; 0x20 - 8014d4c: 6878 ldr r0, [r7, #4] - 8014d4e: 4619 mov r1, r3 - 8014d50: f7f4 fefa bl 8009b48 - - // Active l'horloge du timer - Timer::enableTimerClock(TIMx); - 8014d54: 68b8 ldr r0, [r7, #8] - 8014d56: f001 faef bl 8016338 <_ZN5Timer16enableTimerClockEP11TIM_TypeDef> - - // initialisation du timer - TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; - TIM_TimeBaseStructure.TIM_Prescaler = 0; - 8014d5a: f04f 0300 mov.w r3, #0 ; 0x0 - 8014d5e: 82bb strh r3, [r7, #20] - TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; - 8014d60: f04f 0300 mov.w r3, #0 ; 0x0 - 8014d64: 82fb strh r3, [r7, #22] - TIM_TimeBaseStructure.TIM_Period = 0xFFFF; - 8014d66: f64f 73ff movw r3, #65535 ; 0xffff - 8014d6a: 61bb str r3, [r7, #24] - TIM_TimeBaseStructure.TIM_ClockDivision = 0; - 8014d6c: f04f 0300 mov.w r3, #0 ; 0x0 - 8014d70: 83bb strh r3, [r7, #28] - TIM_TimeBaseStructure.TIM_RepetitionCounter = 0; - 8014d72: f04f 0300 mov.w r3, #0 ; 0x0 - 8014d76: 77bb strb r3, [r7, #30] - TIM_TimeBaseInit(TIMx, &TIM_TimeBaseStructure); - 8014d78: f107 0314 add.w r3, r7, #20 ; 0x14 - 8014d7c: 68b8 ldr r0, [r7, #8] - 8014d7e: 4619 mov r1, r3 - 8014d80: f7f6 f964 bl 800b04c - - // utilise une horloge externe - // le counter est incrementé à chaque monté du signal sur le channel 1 - TIM_TIxExternalClockConfig(TIMx, TIM_TIxExternalCLK1Source_TI1ED, TIM_ICPolarity_Rising, 0); - 8014d84: 68b8 ldr r0, [r7, #8] - 8014d86: f04f 0140 mov.w r1, #64 ; 0x40 - 8014d8a: f04f 0200 mov.w r2, #0 ; 0x0 - 8014d8e: f04f 0300 mov.w r3, #0 ; 0x0 - 8014d92: f7f7 fd01 bl 800c798 - - // met le timer à disposition - TIM_Cmd(TIMx, ENABLE); - 8014d96: 68b8 ldr r0, [r7, #8] - 8014d98: f04f 0101 mov.w r1, #1 ; 0x1 - 8014d9c: f7f6 fb00 bl 800b3a0 - - // met le counter à 0 - TIM_SetCounter(TIMx, 0); - 8014da0: 68b8 ldr r0, [r7, #8] - 8014da2: f04f 0100 mov.w r1, #0 ; 0x0 - 8014da6: f7f6 fa0f bl 800b1c8 - - // initialisation des autres pins - initialiserPinCapteur(m_GPIO_diodesRouges, m_GPIO_Pin_diodesRouges); - 8014daa: 68fb ldr r3, [r7, #12] - 8014dac: 685a ldr r2, [r3, #4] - 8014dae: 68fb ldr r3, [r7, #12] - 8014db0: 891b ldrh r3, [r3, #8] - 8014db2: 4610 mov r0, r2 - 8014db4: 4619 mov r1, r3 - 8014db6: f7ff ff65 bl 8014c84 <_Z21initialiserPinCapteurP12GPIO_TypeDeft> - initialiserPinCapteur(m_GPIO_diodesBleues, m_GPIO_Pin_diodesBleues); - 8014dba: 68fb ldr r3, [r7, #12] - 8014dbc: 68da ldr r2, [r3, #12] - 8014dbe: 68fb ldr r3, [r7, #12] - 8014dc0: 8a1b ldrh r3, [r3, #16] - 8014dc2: 4610 mov r0, r2 - 8014dc4: 4619 mov r1, r3 - 8014dc6: f7ff ff5d bl 8014c84 <_Z21initialiserPinCapteurP12GPIO_TypeDeft> - initialiserPinCapteur(m_GPIO_selectCapteur1, m_GPIO_Pin_selectCapteur1); - 8014dca: 68fb ldr r3, [r7, #12] - 8014dcc: 695a ldr r2, [r3, #20] - 8014dce: 68fb ldr r3, [r7, #12] - 8014dd0: 8b1b ldrh r3, [r3, #24] - 8014dd2: 4610 mov r0, r2 - 8014dd4: 4619 mov r1, r3 - 8014dd6: f7ff ff55 bl 8014c84 <_Z21initialiserPinCapteurP12GPIO_TypeDeft> - initialiserPinCapteur(m_GPIO_selectCapteur2, m_GPIO_Pin_selectCapteur2); - 8014dda: 68fb ldr r3, [r7, #12] - 8014ddc: 69da ldr r2, [r3, #28] - 8014dde: 68fb ldr r3, [r7, #12] - 8014de0: 8c1b ldrh r3, [r3, #32] - 8014de2: 4610 mov r0, r2 - 8014de4: 4619 mov r1, r3 - 8014de6: f7ff ff4d bl 8014c84 <_Z21initialiserPinCapteurP12GPIO_TypeDeft> - initialiserPinCapteur(m_GPIO_selectFiltre1, m_GPIO_Pin_selectFiltre1); - 8014dea: 68fb ldr r3, [r7, #12] - 8014dec: 6a5a ldr r2, [r3, #36] - 8014dee: 68fb ldr r3, [r7, #12] - 8014df0: 8d1b ldrh r3, [r3, #40] - 8014df2: 4610 mov r0, r2 - 8014df4: 4619 mov r1, r3 - 8014df6: f7ff ff45 bl 8014c84 <_Z21initialiserPinCapteurP12GPIO_TypeDeft> - initialiserPinCapteur(m_GPIO_selectFiltre2, m_GPIO_Pin_selectFiltre2); - 8014dfa: 68fb ldr r3, [r7, #12] - 8014dfc: 6ada ldr r2, [r3, #44] - 8014dfe: 68fb ldr r3, [r7, #12] - 8014e00: 8e1b ldrh r3, [r3, #48] - 8014e02: 4610 mov r0, r2 - 8014e04: 4619 mov r1, r3 - 8014e06: f7ff ff3d bl 8014c84 <_Z21initialiserPinCapteurP12GPIO_TypeDeft> -} - 8014e0a: 68fb ldr r3, [r7, #12] - 8014e0c: 4618 mov r0, r3 - 8014e0e: f107 0728 add.w r7, r7, #40 ; 0x28 - 8014e12: 46bd mov sp, r7 - 8014e14: bd80 pop {r7, pc} - 8014e16: 46c0 nop (mov r8, r8) - -08014e18 <_ZN14CapteurCouleurC2EP11TIM_TypeDefP12GPIO_TypeDeftS3_tS3_tS3_tS3_tS3_tS3_t>: - GPIO_TypeDef* GPIO_diodesRouges, uint16_t GPIO_Pin_diodesRouges, - GPIO_TypeDef* GPIO_diodesBleues, uint16_t GPIO_Pin_diodesBleues, - GPIO_TypeDef* GPIO_selectCapteur1, uint16_t GPIO_Pin_selectCapteur1, - GPIO_TypeDef* GPIO_selectCapteur2, uint16_t GPIO_Pin_selectCapteur2, - GPIO_TypeDef* GPIO_selectFiltre1, uint16_t GPIO_Pin_selectFiltre1, - GPIO_TypeDef* GPIO_selectFiltre2, uint16_t GPIO_Pin_selectFiltre2) - 8014e18: b580 push {r7, lr} - 8014e1a: b08a sub sp, #40 - 8014e1c: af00 add r7, sp, #0 - 8014e1e: 60f8 str r0, [r7, #12] - 8014e20: 60b9 str r1, [r7, #8] - 8014e22: 607a str r2, [r7, #4] - 8014e24: 807b strh r3, [r7, #2] - , m_GPIO_diodesRouges(GPIO_diodesRouges), m_GPIO_Pin_diodesRouges(GPIO_Pin_diodesRouges) - , m_GPIO_diodesBleues(GPIO_diodesBleues), m_GPIO_Pin_diodesBleues(GPIO_Pin_diodesBleues) - , m_GPIO_selectCapteur1(GPIO_selectCapteur1), m_GPIO_Pin_selectCapteur1(GPIO_Pin_selectCapteur1) - , m_GPIO_selectCapteur2(GPIO_selectCapteur2), m_GPIO_Pin_selectCapteur2(GPIO_Pin_selectCapteur2) - , m_GPIO_selectFiltre1(GPIO_selectFiltre1), m_GPIO_Pin_selectFiltre1(GPIO_Pin_selectFiltre1) - , m_GPIO_selectFiltre2(GPIO_selectFiltre2), m_GPIO_Pin_selectFiltre2(GPIO_Pin_selectFiltre2) - 8014e26: 68fa ldr r2, [r7, #12] - 8014e28: 68bb ldr r3, [r7, #8] - 8014e2a: 6013 str r3, [r2, #0] - 8014e2c: 68fa ldr r2, [r7, #12] - 8014e2e: 6b3b ldr r3, [r7, #48] - 8014e30: 6053 str r3, [r2, #4] - 8014e32: 68fa ldr r2, [r7, #12] - 8014e34: 8ebb ldrh r3, [r7, #52] - 8014e36: 8113 strh r3, [r2, #8] - 8014e38: 68fa ldr r2, [r7, #12] - 8014e3a: 6bbb ldr r3, [r7, #56] - 8014e3c: 60d3 str r3, [r2, #12] - 8014e3e: 68fa ldr r2, [r7, #12] - 8014e40: 8fbb ldrh r3, [r7, #60] - 8014e42: 8213 strh r3, [r2, #16] - 8014e44: 68fa ldr r2, [r7, #12] - 8014e46: 6c3b ldr r3, [r7, #64] - 8014e48: 6153 str r3, [r2, #20] - 8014e4a: 68fa ldr r2, [r7, #12] - 8014e4c: f8b7 3044 ldrh.w r3, [r7, #68] - 8014e50: 8313 strh r3, [r2, #24] - 8014e52: 68fa ldr r2, [r7, #12] - 8014e54: 6cbb ldr r3, [r7, #72] - 8014e56: 61d3 str r3, [r2, #28] - 8014e58: 68fa ldr r2, [r7, #12] - 8014e5a: f8b7 304c ldrh.w r3, [r7, #76] - 8014e5e: 8413 strh r3, [r2, #32] - 8014e60: 68fa ldr r2, [r7, #12] - 8014e62: 6d3b ldr r3, [r7, #80] - 8014e64: 6253 str r3, [r2, #36] - 8014e66: 68fa ldr r2, [r7, #12] - 8014e68: f8b7 3054 ldrh.w r3, [r7, #84] - 8014e6c: 8513 strh r3, [r2, #40] - 8014e6e: 68fa ldr r2, [r7, #12] - 8014e70: 6dbb ldr r3, [r7, #88] - 8014e72: 62d3 str r3, [r2, #44] - 8014e74: 68fa ldr r2, [r7, #12] - 8014e76: f8b7 305c ldrh.w r3, [r7, #92] - 8014e7a: 8613 strh r3, [r2, #48] -{ - // Initialisation de la pin du timer - GPIO_InitTypeDef GPIO_InitStructure; - #ifdef STM32F40_41xxx - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - 8014e7c: f04f 0302 mov.w r3, #2 ; 0x2 - 8014e80: f887 3024 strb.w r3, [r7, #36] - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - 8014e84: f04f 0300 mov.w r3, #0 ; 0x0 - 8014e88: f887 3026 strb.w r3, [r7, #38] - #elif defined(STM32F10X_MD) || defined(STM32F10X_CL) - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; - #endif - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - 8014e8c: f04f 0302 mov.w r3, #2 ; 0x2 - 8014e90: f887 3025 strb.w r3, [r7, #37] - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_timer; - 8014e94: 887b ldrh r3, [r7, #2] - 8014e96: 623b str r3, [r7, #32] - GPIO_Init(GPIO_timer, &GPIO_InitStructure); - 8014e98: f107 0320 add.w r3, r7, #32 ; 0x20 - 8014e9c: 6878 ldr r0, [r7, #4] - 8014e9e: 4619 mov r1, r3 - 8014ea0: f7f4 fe52 bl 8009b48 - - // Active l'horloge du timer - Timer::enableTimerClock(TIMx); - 8014ea4: 68b8 ldr r0, [r7, #8] - 8014ea6: f001 fa47 bl 8016338 <_ZN5Timer16enableTimerClockEP11TIM_TypeDef> - - // initialisation du timer - TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; - TIM_TimeBaseStructure.TIM_Prescaler = 0; - 8014eaa: f04f 0300 mov.w r3, #0 ; 0x0 - 8014eae: 82bb strh r3, [r7, #20] - TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; - 8014eb0: f04f 0300 mov.w r3, #0 ; 0x0 - 8014eb4: 82fb strh r3, [r7, #22] - TIM_TimeBaseStructure.TIM_Period = 0xFFFF; - 8014eb6: f64f 73ff movw r3, #65535 ; 0xffff - 8014eba: 61bb str r3, [r7, #24] - TIM_TimeBaseStructure.TIM_ClockDivision = 0; - 8014ebc: f04f 0300 mov.w r3, #0 ; 0x0 - 8014ec0: 83bb strh r3, [r7, #28] - TIM_TimeBaseStructure.TIM_RepetitionCounter = 0; - 8014ec2: f04f 0300 mov.w r3, #0 ; 0x0 - 8014ec6: 77bb strb r3, [r7, #30] - TIM_TimeBaseInit(TIMx, &TIM_TimeBaseStructure); - 8014ec8: f107 0314 add.w r3, r7, #20 ; 0x14 - 8014ecc: 68b8 ldr r0, [r7, #8] - 8014ece: 4619 mov r1, r3 - 8014ed0: f7f6 f8bc bl 800b04c - - // utilise une horloge externe - // le counter est incrementé à chaque monté du signal sur le channel 1 - TIM_TIxExternalClockConfig(TIMx, TIM_TIxExternalCLK1Source_TI1ED, TIM_ICPolarity_Rising, 0); - 8014ed4: 68b8 ldr r0, [r7, #8] - 8014ed6: f04f 0140 mov.w r1, #64 ; 0x40 - 8014eda: f04f 0200 mov.w r2, #0 ; 0x0 - 8014ede: f04f 0300 mov.w r3, #0 ; 0x0 - 8014ee2: f7f7 fc59 bl 800c798 - - // met le timer à disposition - TIM_Cmd(TIMx, ENABLE); - 8014ee6: 68b8 ldr r0, [r7, #8] - 8014ee8: f04f 0101 mov.w r1, #1 ; 0x1 - 8014eec: f7f6 fa58 bl 800b3a0 - - // met le counter à 0 - TIM_SetCounter(TIMx, 0); - 8014ef0: 68b8 ldr r0, [r7, #8] - 8014ef2: f04f 0100 mov.w r1, #0 ; 0x0 - 8014ef6: f7f6 f967 bl 800b1c8 - - // initialisation des autres pins - initialiserPinCapteur(m_GPIO_diodesRouges, m_GPIO_Pin_diodesRouges); - 8014efa: 68fb ldr r3, [r7, #12] - 8014efc: 685a ldr r2, [r3, #4] - 8014efe: 68fb ldr r3, [r7, #12] - 8014f00: 891b ldrh r3, [r3, #8] - 8014f02: 4610 mov r0, r2 - 8014f04: 4619 mov r1, r3 - 8014f06: f7ff febd bl 8014c84 <_Z21initialiserPinCapteurP12GPIO_TypeDeft> - initialiserPinCapteur(m_GPIO_diodesBleues, m_GPIO_Pin_diodesBleues); - 8014f0a: 68fb ldr r3, [r7, #12] - 8014f0c: 68da ldr r2, [r3, #12] - 8014f0e: 68fb ldr r3, [r7, #12] - 8014f10: 8a1b ldrh r3, [r3, #16] - 8014f12: 4610 mov r0, r2 - 8014f14: 4619 mov r1, r3 - 8014f16: f7ff feb5 bl 8014c84 <_Z21initialiserPinCapteurP12GPIO_TypeDeft> - initialiserPinCapteur(m_GPIO_selectCapteur1, m_GPIO_Pin_selectCapteur1); - 8014f1a: 68fb ldr r3, [r7, #12] - 8014f1c: 695a ldr r2, [r3, #20] - 8014f1e: 68fb ldr r3, [r7, #12] - 8014f20: 8b1b ldrh r3, [r3, #24] - 8014f22: 4610 mov r0, r2 - 8014f24: 4619 mov r1, r3 - 8014f26: f7ff fead bl 8014c84 <_Z21initialiserPinCapteurP12GPIO_TypeDeft> - initialiserPinCapteur(m_GPIO_selectCapteur2, m_GPIO_Pin_selectCapteur2); - 8014f2a: 68fb ldr r3, [r7, #12] - 8014f2c: 69da ldr r2, [r3, #28] - 8014f2e: 68fb ldr r3, [r7, #12] - 8014f30: 8c1b ldrh r3, [r3, #32] - 8014f32: 4610 mov r0, r2 - 8014f34: 4619 mov r1, r3 - 8014f36: f7ff fea5 bl 8014c84 <_Z21initialiserPinCapteurP12GPIO_TypeDeft> - initialiserPinCapteur(m_GPIO_selectFiltre1, m_GPIO_Pin_selectFiltre1); - 8014f3a: 68fb ldr r3, [r7, #12] - 8014f3c: 6a5a ldr r2, [r3, #36] - 8014f3e: 68fb ldr r3, [r7, #12] - 8014f40: 8d1b ldrh r3, [r3, #40] - 8014f42: 4610 mov r0, r2 - 8014f44: 4619 mov r1, r3 - 8014f46: f7ff fe9d bl 8014c84 <_Z21initialiserPinCapteurP12GPIO_TypeDeft> - initialiserPinCapteur(m_GPIO_selectFiltre2, m_GPIO_Pin_selectFiltre2); - 8014f4a: 68fb ldr r3, [r7, #12] - 8014f4c: 6ada ldr r2, [r3, #44] - 8014f4e: 68fb ldr r3, [r7, #12] - 8014f50: 8e1b ldrh r3, [r3, #48] - 8014f52: 4610 mov r0, r2 - 8014f54: 4619 mov r1, r3 - 8014f56: f7ff fe95 bl 8014c84 <_Z21initialiserPinCapteurP12GPIO_TypeDeft> -} - 8014f5a: 68fb ldr r3, [r7, #12] - 8014f5c: 4618 mov r0, r3 - 8014f5e: f107 0728 add.w r7, r7, #40 ; 0x28 - 8014f62: 46bd mov sp, r7 - 8014f64: bd80 pop {r7, pc} - 8014f66: 46c0 nop (mov r8, r8) - -08014f68 <_ZN3Led6setOffEi>: - default: - break; - } -} - -void Led::setOff(int index) - 8014f68: b580 push {r7, lr} - 8014f6a: b082 sub sp, #8 - 8014f6c: af00 add r7, sp, #0 - 8014f6e: 6078 str r0, [r7, #4] -{ - if (index>=0 and index - 8014f76: 687b ldr r3, [r7, #4] - 8014f78: 2b01 cmp r3, #1 - 8014f7a: dc04 bgt.n 8014f86 <_ZN3Led6setOffEi+0x1e> - ledOn[index] = false; - 8014f7c: 6879 ldr r1, [r7, #4] - 8014f7e: 4a09 ldr r2, [pc, #36] (8014fa4 <_ZN3Led6setOffEi+0x3c>) - 8014f80: f04f 0300 mov.w r3, #0 ; 0x0 - 8014f84: 5453 strb r3, [r2, r1] - - switch(index) - 8014f86: 687b ldr r3, [r7, #4] - 8014f88: 2b00 cmp r3, #0 - 8014f8a: d106 bne.n 8014f9a <_ZN3Led6setOffEi+0x32> - #endif - #ifdef STM32F10X_CL // pour la STM32 H107 2013 v2 : - GPIO_WriteBit(GPIOC, GPIO_Pin_6, Bit_RESET); // LED verte - #endif - #ifdef STM32F40_41xxx // pour la STM32 H405 2014 v1 : - GPIO_WriteBit(GPIOC, GPIO_Pin_12, Bit_SET); // LED verte - 8014f8c: 4806 ldr r0, [pc, #24] (8014fa8 <_ZN3Led6setOffEi+0x40>) - 8014f8e: f44f 5180 mov.w r1, #4096 ; 0x1000 - 8014f92: f04f 0201 mov.w r2, #1 ; 0x1 - 8014f96: f7f4 ff39 bl 8009e0c - #endif - break; - default: - break; - } -} - 8014f9a: f107 0708 add.w r7, r7, #8 ; 0x8 - 8014f9e: 46bd mov sp, r7 - 8014fa0: bd80 pop {r7, pc} - 8014fa2: 46c0 nop (mov r8, r8) - 8014fa4: 2000059c .word 0x2000059c - 8014fa8: 40020800 .word 0x40020800 - -08014fac <_Z12eteindreLED2v>: -void allumerLED2() -{ - Led::setOn(1); -} - -void eteindreLED2() - 8014fac: b580 push {r7, lr} - 8014fae: af00 add r7, sp, #0 -{ - Led::setOff(1); - 8014fb0: f04f 0001 mov.w r0, #1 ; 0x1 - 8014fb4: f7ff ffd8 bl 8014f68 <_ZN3Led6setOffEi> -} - 8014fb8: 46bd mov sp, r7 - 8014fba: bd80 pop {r7, pc} - -08014fbc <_Z11eteindreLEDv>: -void allumerLED() -{ - Led::setOn(0); -} - -void eteindreLED() - 8014fbc: b580 push {r7, lr} - 8014fbe: af00 add r7, sp, #0 -{ - Led::setOff(0); - 8014fc0: f04f 0000 mov.w r0, #0 ; 0x0 - 8014fc4: f7ff ffd0 bl 8014f68 <_ZN3Led6setOffEi> -} - 8014fc8: 46bd mov sp, r7 - 8014fca: bd80 pop {r7, pc} - -08014fcc <_ZN3Led5setOnEi>: - else - setOn(index); - } -} - -void Led::setOn(int index) - 8014fcc: b580 push {r7, lr} - 8014fce: b082 sub sp, #8 - 8014fd0: af00 add r7, sp, #0 - 8014fd2: 6078 str r0, [r7, #4] -{ - if (index>=0 and index - 8014fda: 687b ldr r3, [r7, #4] - 8014fdc: 2b01 cmp r3, #1 - 8014fde: dc04 bgt.n 8014fea <_ZN3Led5setOnEi+0x1e> - ledOn[index] = true; - 8014fe0: 6879 ldr r1, [r7, #4] - 8014fe2: 4a09 ldr r2, [pc, #36] (8015008 <_ZN3Led5setOnEi+0x3c>) - 8014fe4: f04f 0301 mov.w r3, #1 ; 0x1 - 8014fe8: 5453 strb r3, [r2, r1] - - switch(index) - 8014fea: 687b ldr r3, [r7, #4] - 8014fec: 2b00 cmp r3, #0 - 8014fee: d106 bne.n 8014ffe <_ZN3Led5setOnEi+0x32> - #endif - #ifdef STM32F10X_CL // pour la STM32 H107 2013 v2 : - GPIO_WriteBit(GPIOC, GPIO_Pin_6, Bit_SET); // LED verte - #endif - #ifdef STM32F40_41xxx // pour la STM32 H405 2014 v1 : - GPIO_WriteBit(GPIOC, GPIO_Pin_12, Bit_RESET); // LED verte - 8014ff0: 4806 ldr r0, [pc, #24] (801500c <_ZN3Led5setOnEi+0x40>) - 8014ff2: f44f 5180 mov.w r1, #4096 ; 0x1000 - 8014ff6: f04f 0200 mov.w r2, #0 ; 0x0 - 8014ffa: f7f4 ff07 bl 8009e0c - break; - - default: - break; - } -} - 8014ffe: f107 0708 add.w r7, r7, #8 ; 0x8 - 8015002: 46bd mov sp, r7 - 8015004: bd80 pop {r7, pc} - 8015006: 46c0 nop (mov r8, r8) - 8015008: 2000059c .word 0x2000059c - 801500c: 40020800 .word 0x40020800 - -08015010 <_ZN3Led6toggleEi>: - Led::setOff(1); -} - -bool Led::ledOn[LED_NUMBER] = {0}; - -void Led::toggle(int index) - 8015010: b580 push {r7, lr} - 8015012: b082 sub sp, #8 - 8015014: af00 add r7, sp, #0 - 8015016: 6078 str r0, [r7, #4] -{ - if (index>=0 and index - 801501e: 687b ldr r3, [r7, #4] - 8015020: 2b01 cmp r3, #1 - 8015022: dc0b bgt.n 801503c <_ZN3Led6toggleEi+0x2c> - { - if (ledOn[index]) - 8015024: 687b ldr r3, [r7, #4] - 8015026: 4a07 ldr r2, [pc, #28] (8015044 <_ZN3Led6toggleEi+0x34>) - 8015028: 5cd3 ldrb r3, [r2, r3] - 801502a: 2b00 cmp r3, #0 - 801502c: d003 beq.n 8015036 <_ZN3Led6toggleEi+0x26> - setOff(index); - 801502e: 6878 ldr r0, [r7, #4] - 8015030: f7ff ff9a bl 8014f68 <_ZN3Led6setOffEi> - 8015034: e002 b.n 801503c <_ZN3Led6toggleEi+0x2c> - else - setOn(index); - 8015036: 6878 ldr r0, [r7, #4] - 8015038: f7ff ffc8 bl 8014fcc <_ZN3Led5setOnEi> - } -} - 801503c: f107 0708 add.w r7, r7, #8 ; 0x8 - 8015040: 46bd mov sp, r7 - 8015042: bd80 pop {r7, pc} - 8015044: 2000059c .word 0x2000059c - -08015048 <_Z11allumerLED2v>: -void eteindreLED() -{ - Led::setOff(0); -} - -void allumerLED2() - 8015048: b580 push {r7, lr} - 801504a: af00 add r7, sp, #0 -{ - Led::setOn(1); - 801504c: f04f 0001 mov.w r0, #1 ; 0x1 - 8015050: f7ff ffbc bl 8014fcc <_ZN3Led5setOnEi> -} - 8015054: 46bd mov sp, r7 - 8015056: bd80 pop {r7, pc} - -08015058 <_Z10allumerLEDv>: -#include "leds.h" - -// allume ou éteint une LED -void allumerLED() - 8015058: b580 push {r7, lr} - 801505a: af00 add r7, sp, #0 -{ - Led::setOn(0); - 801505c: f04f 0000 mov.w r0, #0 ; 0x0 - 8015060: f7ff ffb4 bl 8014fcc <_ZN3Led5setOnEi> -} - 8015064: 46bd mov sp, r7 - 8015066: bd80 pop {r7, pc} - -08015068 <_ZN18LigthBarrierSensor8getValueEv>: - // Permet de s'assurer qu'au moins 8 détections succéssive ont eu lieu avant de - // retourner un true et que rien a été detecté au moins 8 fois pour retourner false. - output = output ? !((counter & 0xff) == 0x00) : (counter & 0xff) == 0xff ; -} - -Sensor::OutputSensor LigthBarrierSensor::getValue() - 8015068: b480 push {r7} - 801506a: b087 sub sp, #28 - 801506c: af00 add r7, sp, #0 - 801506e: 4602 mov r2, r0 - 8015070: 6079 str r1, [r7, #4] -{ - OutputSensor outputR; - outputR.type = LIMIT_SWITCH; - 8015072: f04f 0302 mov.w r3, #2 ; 0x2 - 8015076: 7013 strb r3, [r2, #0] - outputR.f = 0; - 8015078: 4b05 ldr r3, [pc, #20] (8015090 <_ZN18LigthBarrierSensor8getValueEv+0x28>) - 801507a: 6053 str r3, [r2, #4] - outputR.b = output; - 801507c: 687b ldr r3, [r7, #4] - 801507e: 7bdb ldrb r3, [r3, #15] - 8015080: 7213 strb r3, [r2, #8] - return outputR; -} - 8015082: 4610 mov r0, r2 - 8015084: f107 071c add.w r7, r7, #28 ; 0x1c - 8015088: 46bd mov sp, r7 - 801508a: bc80 pop {r7} - 801508c: 4770 bx lr - 801508e: 46c0 nop (mov r8, r8) - 8015090: 00000000 .word 0x00000000 - -08015094 <_ZN18LigthBarrierSensor7getNameEv>: - -LigthBarrierSensor::LigthBarrierName LigthBarrierSensor::getName() - 8015094: b480 push {r7} - 8015096: b083 sub sp, #12 - 8015098: af00 add r7, sp, #0 - 801509a: 6078 str r0, [r7, #4] -{ - return name; - 801509c: 687b ldr r3, [r7, #4] - 801509e: 7b9b ldrb r3, [r3, #14] -} - 80150a0: 4618 mov r0, r3 - 80150a2: f107 070c add.w r7, r7, #12 ; 0xc - 80150a6: 46bd mov sp, r7 - 80150a8: bc80 pop {r7} - 80150aa: 4770 bx lr - -080150ac <_ZN18LigthBarrierSensor11updateValueEv>: - -LigthBarrierSensor::~LigthBarrierSensor() -{ -} - -void LigthBarrierSensor::updateValue() - 80150ac: b590 push {r4, r7, lr} - 80150ae: b083 sub sp, #12 - 80150b0: af00 add r7, sp, #0 - 80150b2: 6078 str r0, [r7, #4] -{ - counter <<=1; - 80150b4: 687b ldr r3, [r7, #4] - 80150b6: 899b ldrh r3, [r3, #12] - 80150b8: ea4f 0343 mov.w r3, r3, lsl #1 - 80150bc: b29b uxth r3, r3 - 80150be: 687a ldr r2, [r7, #4] - 80150c0: 8193 strh r3, [r2, #12] - counter |= (GPIO_ReadInputDataBit(group,pin)==SET); - 80150c2: 687b ldr r3, [r7, #4] - 80150c4: 899b ldrh r3, [r3, #12] - 80150c6: 461c mov r4, r3 - 80150c8: 687b ldr r3, [r7, #4] - 80150ca: 689a ldr r2, [r3, #8] - 80150cc: 687b ldr r3, [r7, #4] - 80150ce: 889b ldrh r3, [r3, #4] - 80150d0: 4610 mov r0, r2 - 80150d2: 4619 mov r1, r3 - 80150d4: f7f4 fe26 bl 8009d24 - 80150d8: 4603 mov r3, r0 - 80150da: 2b01 cmp r3, #1 - 80150dc: bf14 ite ne - 80150de: 2300 movne r3, #0 - 80150e0: 2301 moveq r3, #1 - 80150e2: 4622 mov r2, r4 - 80150e4: ea42 0303 orr.w r3, r2, r3 - 80150e8: b29b uxth r3, r3 - 80150ea: b29b uxth r3, r3 - 80150ec: 687a ldr r2, [r7, #4] - 80150ee: 8193 strh r3, [r2, #12] - - // Permet de s'assurer qu'au moins 8 détections succéssive ont eu lieu avant de - // retourner un true et que rien a été detecté au moins 8 fois pour retourner false. - output = output ? !((counter & 0xff) == 0x00) : (counter & 0xff) == 0xff ; - 80150f0: 687b ldr r3, [r7, #4] - 80150f2: 7bdb ldrb r3, [r3, #15] - 80150f4: 2b00 cmp r3, #0 - 80150f6: d00a beq.n 801510e <_ZN18LigthBarrierSensor11updateValueEv+0x62> - 80150f8: 687b ldr r3, [r7, #4] - 80150fa: 899b ldrh r3, [r3, #12] - 80150fc: f003 03ff and.w r3, r3, #255 ; 0xff - 8015100: 2b00 cmp r3, #0 - 8015102: bf0c ite eq - 8015104: 2300 moveq r3, #0 - 8015106: 2301 movne r3, #1 - 8015108: b2db uxtb r3, r3 - 801510a: 603b str r3, [r7, #0] - 801510c: e009 b.n 8015122 <_ZN18LigthBarrierSensor11updateValueEv+0x76> - 801510e: 687b ldr r3, [r7, #4] - 8015110: 899b ldrh r3, [r3, #12] - 8015112: f003 03ff and.w r3, r3, #255 ; 0xff - 8015116: 2bff cmp r3, #255 - 8015118: bf14 ite ne - 801511a: 2300 movne r3, #0 - 801511c: 2301 moveq r3, #1 - 801511e: b2db uxtb r3, r3 - 8015120: 603b str r3, [r7, #0] - 8015122: 687a ldr r2, [r7, #4] - 8015124: 6839 ldr r1, [r7, #0] - 8015126: 460b mov r3, r1 - 8015128: 73d3 strb r3, [r2, #15] -} - 801512a: f107 070c add.w r7, r7, #12 ; 0xc - 801512e: 46bd mov sp, r7 - 8015130: bd90 pop {r4, r7, pc} - 8015132: 46c0 nop (mov r8, r8) - -08015134 <_ZN18LigthBarrierSensorD0Ev>: - #endif - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_Init(group, &GPIO_InitStructure); -} - -LigthBarrierSensor::~LigthBarrierSensor() - 8015134: b580 push {r7, lr} - 8015136: b082 sub sp, #8 - 8015138: af00 add r7, sp, #0 - 801513a: 6078 str r0, [r7, #4] - 801513c: 687a ldr r2, [r7, #4] - 801513e: 4b0a ldr r3, [pc, #40] (8015168 <_ZN18LigthBarrierSensorD0Ev+0x34>) - 8015140: 6013 str r3, [r2, #0] -{ -} - 8015142: 687b ldr r3, [r7, #4] - 8015144: 4618 mov r0, r3 - 8015146: f7f9 fe8f bl 800ee68 <_ZN6SensorD2Ev> - 801514a: f04f 0301 mov.w r3, #1 ; 0x1 - 801514e: b2db uxtb r3, r3 - 8015150: 2b00 cmp r3, #0 - 8015152: d002 beq.n 801515a <_ZN18LigthBarrierSensorD0Ev+0x26> - 8015154: 6878 ldr r0, [r7, #4] - 8015156: f002 fa59 bl 801760c <_ZdlPv> - 801515a: 687b ldr r3, [r7, #4] - 801515c: 4618 mov r0, r3 - 801515e: f107 0708 add.w r7, r7, #8 ; 0x8 - 8015162: 46bd mov sp, r7 - 8015164: bd80 pop {r7, pc} - 8015166: 46c0 nop (mov r8, r8) - 8015168: 08033f70 .word 0x08033f70 - -0801516c <_ZN18LigthBarrierSensorD1Ev>: - #endif - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_Init(group, &GPIO_InitStructure); -} - -LigthBarrierSensor::~LigthBarrierSensor() - 801516c: b580 push {r7, lr} - 801516e: b082 sub sp, #8 - 8015170: af00 add r7, sp, #0 - 8015172: 6078 str r0, [r7, #4] - 8015174: 687a ldr r2, [r7, #4] - 8015176: 4b0a ldr r3, [pc, #40] (80151a0 <_ZN18LigthBarrierSensorD1Ev+0x34>) - 8015178: 6013 str r3, [r2, #0] -{ -} - 801517a: 687b ldr r3, [r7, #4] - 801517c: 4618 mov r0, r3 - 801517e: f7f9 fe73 bl 800ee68 <_ZN6SensorD2Ev> - 8015182: f04f 0300 mov.w r3, #0 ; 0x0 - 8015186: b2db uxtb r3, r3 - 8015188: 2b00 cmp r3, #0 - 801518a: d002 beq.n 8015192 <_ZN18LigthBarrierSensorD1Ev+0x26> - 801518c: 6878 ldr r0, [r7, #4] - 801518e: f002 fa3d bl 801760c <_ZdlPv> - 8015192: 687b ldr r3, [r7, #4] - 8015194: 4618 mov r0, r3 - 8015196: f107 0708 add.w r7, r7, #8 ; 0x8 - 801519a: 46bd mov sp, r7 - 801519c: bd80 pop {r7, pc} - 801519e: 46c0 nop (mov r8, r8) - 80151a0: 08033f70 .word 0x08033f70 - -080151a4 <_ZN18LigthBarrierSensorD2Ev>: - #endif - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_Init(group, &GPIO_InitStructure); -} - -LigthBarrierSensor::~LigthBarrierSensor() - 80151a4: b580 push {r7, lr} - 80151a6: b082 sub sp, #8 - 80151a8: af00 add r7, sp, #0 - 80151aa: 6078 str r0, [r7, #4] - 80151ac: 687a ldr r2, [r7, #4] - 80151ae: 4b0a ldr r3, [pc, #40] (80151d8 <_ZN18LigthBarrierSensorD2Ev+0x34>) - 80151b0: 6013 str r3, [r2, #0] -{ -} - 80151b2: 687b ldr r3, [r7, #4] - 80151b4: 4618 mov r0, r3 - 80151b6: f7f9 fe57 bl 800ee68 <_ZN6SensorD2Ev> - 80151ba: f04f 0300 mov.w r3, #0 ; 0x0 - 80151be: b2db uxtb r3, r3 - 80151c0: 2b00 cmp r3, #0 - 80151c2: d002 beq.n 80151ca <_ZN18LigthBarrierSensorD2Ev+0x26> - 80151c4: 6878 ldr r0, [r7, #4] - 80151c6: f002 fa21 bl 801760c <_ZdlPv> - 80151ca: 687b ldr r3, [r7, #4] - 80151cc: 4618 mov r0, r3 - 80151ce: f107 0708 add.w r7, r7, #8 ; 0x8 - 80151d2: 46bd mov sp, r7 - 80151d4: bd80 pop {r7, pc} - 80151d6: 46c0 nop (mov r8, r8) - 80151d8: 08033f70 .word 0x08033f70 - -080151dc <_ZN18LigthBarrierSensorC1ENS_16LigthBarrierNameEtP12GPIO_TypeDef>: -#include "ligthBarrierSensor.h" - -#ifdef ROBOTHW - -LigthBarrierSensor::LigthBarrierSensor(LigthBarrierName name, uint16_t pin, GPIO_TypeDef* group) - 80151dc: b580 push {r7, lr} - 80151de: b086 sub sp, #24 - 80151e0: af00 add r7, sp, #0 - 80151e2: 60f8 str r0, [r7, #12] - 80151e4: 607b str r3, [r7, #4] - 80151e6: 460b mov r3, r1 - 80151e8: 72fb strb r3, [r7, #11] - 80151ea: 4613 mov r3, r2 - 80151ec: 813b strh r3, [r7, #8] - 80151ee: 68fb ldr r3, [r7, #12] - 80151f0: 4618 mov r0, r3 - 80151f2: f7f9 fde9 bl 800edc8 <_ZN6SensorC2Ev> - 80151f6: 68fa ldr r2, [r7, #12] - 80151f8: 4b14 ldr r3, [pc, #80] (801524c <_ZN18LigthBarrierSensorC1ENS_16LigthBarrierNameEtP12GPIO_TypeDef+0x70>) - 80151fa: 6013 str r3, [r2, #0] -{ - this->pin = pin; - 80151fc: 68fa ldr r2, [r7, #12] - 80151fe: 893b ldrh r3, [r7, #8] - 8015200: 8093 strh r3, [r2, #4] - this->group = group; - 8015202: 68fa ldr r2, [r7, #12] - 8015204: 687b ldr r3, [r7, #4] - 8015206: 6093 str r3, [r2, #8] - counter = 0; - 8015208: 68fa ldr r2, [r7, #12] - 801520a: f04f 0300 mov.w r3, #0 ; 0x0 - 801520e: 8193 strh r3, [r2, #12] - this->name = name; - 8015210: 68fa ldr r2, [r7, #12] - 8015212: 7afb ldrb r3, [r7, #11] - 8015214: 7393 strb r3, [r2, #14] - output = false; - 8015216: 68fa ldr r2, [r7, #12] - 8015218: f04f 0300 mov.w r3, #0 ; 0x0 - 801521c: 73d3 strb r3, [r2, #15] - - GPIO_InitTypeDef GPIO_InitStructure; - GPIO_InitStructure.GPIO_Pin = pin; - 801521e: 893b ldrh r3, [r7, #8] - 8015220: 613b str r3, [r7, #16] - #ifdef STM32F40_41xxx - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN; - 8015222: f04f 0300 mov.w r3, #0 ; 0x0 - 8015226: 753b strb r3, [r7, #20] - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; - 8015228: f04f 0301 mov.w r3, #1 ; 0x1 - 801522c: 75fb strb r3, [r7, #23] - #elif defined(STM32F10X_MD) || defined(STM32F10X_CL) - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; - #endif - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - 801522e: f04f 0302 mov.w r3, #2 ; 0x2 - 8015232: 757b strb r3, [r7, #21] - GPIO_Init(group, &GPIO_InitStructure); - 8015234: f107 0310 add.w r3, r7, #16 ; 0x10 - 8015238: 6878 ldr r0, [r7, #4] - 801523a: 4619 mov r1, r3 - 801523c: f7f4 fc84 bl 8009b48 -} - 8015240: 68fb ldr r3, [r7, #12] - 8015242: 4618 mov r0, r3 - 8015244: f107 0718 add.w r7, r7, #24 ; 0x18 - 8015248: 46bd mov sp, r7 - 801524a: bd80 pop {r7, pc} - 801524c: 08033f70 .word 0x08033f70 - -08015250 <_ZN18LigthBarrierSensorC2ENS_16LigthBarrierNameEtP12GPIO_TypeDef>: -#include "ligthBarrierSensor.h" - -#ifdef ROBOTHW - -LigthBarrierSensor::LigthBarrierSensor(LigthBarrierName name, uint16_t pin, GPIO_TypeDef* group) - 8015250: b580 push {r7, lr} - 8015252: b086 sub sp, #24 - 8015254: af00 add r7, sp, #0 - 8015256: 60f8 str r0, [r7, #12] - 8015258: 607b str r3, [r7, #4] - 801525a: 460b mov r3, r1 - 801525c: 72fb strb r3, [r7, #11] - 801525e: 4613 mov r3, r2 - 8015260: 813b strh r3, [r7, #8] - 8015262: 68fb ldr r3, [r7, #12] - 8015264: 4618 mov r0, r3 - 8015266: f7f9 fdaf bl 800edc8 <_ZN6SensorC2Ev> - 801526a: 68fa ldr r2, [r7, #12] - 801526c: 4b14 ldr r3, [pc, #80] (80152c0 <_ZN18LigthBarrierSensorC2ENS_16LigthBarrierNameEtP12GPIO_TypeDef+0x70>) - 801526e: 6013 str r3, [r2, #0] -{ - this->pin = pin; - 8015270: 68fa ldr r2, [r7, #12] - 8015272: 893b ldrh r3, [r7, #8] - 8015274: 8093 strh r3, [r2, #4] - this->group = group; - 8015276: 68fa ldr r2, [r7, #12] - 8015278: 687b ldr r3, [r7, #4] - 801527a: 6093 str r3, [r2, #8] - counter = 0; - 801527c: 68fa ldr r2, [r7, #12] - 801527e: f04f 0300 mov.w r3, #0 ; 0x0 - 8015282: 8193 strh r3, [r2, #12] - this->name = name; - 8015284: 68fa ldr r2, [r7, #12] - 8015286: 7afb ldrb r3, [r7, #11] - 8015288: 7393 strb r3, [r2, #14] - output = false; - 801528a: 68fa ldr r2, [r7, #12] - 801528c: f04f 0300 mov.w r3, #0 ; 0x0 - 8015290: 73d3 strb r3, [r2, #15] - - GPIO_InitTypeDef GPIO_InitStructure; - GPIO_InitStructure.GPIO_Pin = pin; - 8015292: 893b ldrh r3, [r7, #8] - 8015294: 613b str r3, [r7, #16] - #ifdef STM32F40_41xxx - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN; - 8015296: f04f 0300 mov.w r3, #0 ; 0x0 - 801529a: 753b strb r3, [r7, #20] - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; - 801529c: f04f 0301 mov.w r3, #1 ; 0x1 - 80152a0: 75fb strb r3, [r7, #23] - #elif defined(STM32F10X_MD) || defined(STM32F10X_CL) - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; - #endif - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - 80152a2: f04f 0302 mov.w r3, #2 ; 0x2 - 80152a6: 757b strb r3, [r7, #21] - GPIO_Init(group, &GPIO_InitStructure); - 80152a8: f107 0310 add.w r3, r7, #16 ; 0x10 - 80152ac: 6878 ldr r0, [r7, #4] - 80152ae: 4619 mov r1, r3 - 80152b0: f7f4 fc4a bl 8009b48 -} - 80152b4: 68fb ldr r3, [r7, #12] - 80152b6: 4618 mov r0, r3 - 80152b8: f107 0718 add.w r7, r7, #24 ; 0x18 - 80152bc: 46bd mov sp, r7 - 80152be: bd80 pop {r7, pc} - 80152c0: 08033f70 .word 0x08033f70 - -080152c4 <_ZN17LimitSwitchSensor8getValueEv>: - // Permet de s'assurer qu'au moins 8 détections succéssive ont eu lieu avant de retourner un true - // et que rien a été detecté au moins 8 fois pour retourner false. - output = (counter == 0xff);/*output ? !((counter & 0xff) == 0x00) :*/ -} - -Sensor::OutputSensor LimitSwitchSensor::getValue() - 80152c4: b480 push {r7} - 80152c6: b087 sub sp, #28 - 80152c8: af00 add r7, sp, #0 - 80152ca: 4602 mov r2, r0 - 80152cc: 6079 str r1, [r7, #4] -{ - OutputSensor outputR; - outputR.type = LIMIT_SWITCH; - 80152ce: f04f 0302 mov.w r3, #2 ; 0x2 - 80152d2: 7013 strb r3, [r2, #0] - outputR.f = 0; - 80152d4: 4b05 ldr r3, [pc, #20] (80152ec <_ZN17LimitSwitchSensor8getValueEv+0x28>) - 80152d6: 6053 str r3, [r2, #4] - outputR.b = this->output; - 80152d8: 687b ldr r3, [r7, #4] - 80152da: 7b9b ldrb r3, [r3, #14] - 80152dc: 7213 strb r3, [r2, #8] - return outputR; -} - 80152de: 4610 mov r0, r2 - 80152e0: f107 071c add.w r7, r7, #28 ; 0x1c - 80152e4: 46bd mov sp, r7 - 80152e6: bc80 pop {r7} - 80152e8: 4770 bx lr - 80152ea: 46c0 nop (mov r8, r8) - 80152ec: 00000000 .word 0x00000000 - -080152f0 <_ZN17LimitSwitchSensor7getNameEv>: - -LimitSwitchSensor::LimitSwitchName LimitSwitchSensor::getName() - 80152f0: b480 push {r7} - 80152f2: b083 sub sp, #12 - 80152f4: af00 add r7, sp, #0 - 80152f6: 6078 str r0, [r7, #4] -{ - return name; - 80152f8: 687b ldr r3, [r7, #4] - 80152fa: 7b5b ldrb r3, [r3, #13] -} - 80152fc: 4618 mov r0, r3 - 80152fe: f107 070c add.w r7, r7, #12 ; 0xc - 8015302: 46bd mov sp, r7 - 8015304: bc80 pop {r7} - 8015306: 4770 bx lr - -08015308 <_ZN17LimitSwitchSensor11updateValueEv>: - -LimitSwitchSensor::~LimitSwitchSensor() -{ -} - -void LimitSwitchSensor::updateValue() - 8015308: b590 push {r4, r7, lr} - 801530a: b083 sub sp, #12 - 801530c: af00 add r7, sp, #0 - 801530e: 6078 str r0, [r7, #4] -{ - counter <<= 1; - 8015310: 687b ldr r3, [r7, #4] - 8015312: 7b1b ldrb r3, [r3, #12] - 8015314: ea4f 0343 mov.w r3, r3, lsl #1 - 8015318: b2db uxtb r3, r3 - 801531a: 687a ldr r2, [r7, #4] - 801531c: 7313 strb r3, [r2, #12] - counter |= (GPIO_ReadInputDataBit(group,pin)== Bit_SET); - 801531e: 687b ldr r3, [r7, #4] - 8015320: 7b1b ldrb r3, [r3, #12] - 8015322: 461c mov r4, r3 - 8015324: 687b ldr r3, [r7, #4] - 8015326: 689a ldr r2, [r3, #8] - 8015328: 687b ldr r3, [r7, #4] - 801532a: 889b ldrh r3, [r3, #4] - 801532c: 4610 mov r0, r2 - 801532e: 4619 mov r1, r3 - 8015330: f7f4 fcf8 bl 8009d24 - 8015334: 4603 mov r3, r0 - 8015336: 2b01 cmp r3, #1 - 8015338: bf14 ite ne - 801533a: 2300 movne r3, #0 - 801533c: 2301 moveq r3, #1 - 801533e: 4622 mov r2, r4 - 8015340: ea42 0303 orr.w r3, r2, r3 - 8015344: b2db uxtb r3, r3 - 8015346: b2db uxtb r3, r3 - 8015348: 687a ldr r2, [r7, #4] - 801534a: 7313 strb r3, [r2, #12] - - // Permet de s'assurer qu'au moins 8 détections succéssive ont eu lieu avant de retourner un true - // et que rien a été detecté au moins 8 fois pour retourner false. - output = (counter == 0xff);/*output ? !((counter & 0xff) == 0x00) :*/ - 801534c: 687b ldr r3, [r7, #4] - 801534e: 7b1b ldrb r3, [r3, #12] - 8015350: 2bff cmp r3, #255 - 8015352: bf14 ite ne - 8015354: 2300 movne r3, #0 - 8015356: 2301 moveq r3, #1 - 8015358: b2db uxtb r3, r3 - 801535a: 687a ldr r2, [r7, #4] - 801535c: 7393 strb r3, [r2, #14] -} - 801535e: f107 070c add.w r7, r7, #12 ; 0xc - 8015362: 46bd mov sp, r7 - 8015364: bd90 pop {r4, r7, pc} - 8015366: 46c0 nop (mov r8, r8) - -08015368 <_ZN17LimitSwitchSensorD0Ev>: - #endif - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_Init(group, &GPIO_InitStructure); -} - -LimitSwitchSensor::~LimitSwitchSensor() - 8015368: b580 push {r7, lr} - 801536a: b082 sub sp, #8 - 801536c: af00 add r7, sp, #0 - 801536e: 6078 str r0, [r7, #4] - 8015370: 687a ldr r2, [r7, #4] - 8015372: 4b0a ldr r3, [pc, #40] (801539c <_ZN17LimitSwitchSensorD0Ev+0x34>) - 8015374: 6013 str r3, [r2, #0] -{ -} - 8015376: 687b ldr r3, [r7, #4] - 8015378: 4618 mov r0, r3 - 801537a: f7f9 fd75 bl 800ee68 <_ZN6SensorD2Ev> - 801537e: f04f 0301 mov.w r3, #1 ; 0x1 - 8015382: b2db uxtb r3, r3 - 8015384: 2b00 cmp r3, #0 - 8015386: d002 beq.n 801538e <_ZN17LimitSwitchSensorD0Ev+0x26> - 8015388: 6878 ldr r0, [r7, #4] - 801538a: f002 f93f bl 801760c <_ZdlPv> - 801538e: 687b ldr r3, [r7, #4] - 8015390: 4618 mov r0, r3 - 8015392: f107 0708 add.w r7, r7, #8 ; 0x8 - 8015396: 46bd mov sp, r7 - 8015398: bd80 pop {r7, pc} - 801539a: 46c0 nop (mov r8, r8) - 801539c: 08033f88 .word 0x08033f88 - -080153a0 <_ZN17LimitSwitchSensorD1Ev>: - #endif - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_Init(group, &GPIO_InitStructure); -} - -LimitSwitchSensor::~LimitSwitchSensor() - 80153a0: b580 push {r7, lr} - 80153a2: b082 sub sp, #8 - 80153a4: af00 add r7, sp, #0 - 80153a6: 6078 str r0, [r7, #4] - 80153a8: 687a ldr r2, [r7, #4] - 80153aa: 4b0a ldr r3, [pc, #40] (80153d4 <_ZN17LimitSwitchSensorD1Ev+0x34>) - 80153ac: 6013 str r3, [r2, #0] -{ -} - 80153ae: 687b ldr r3, [r7, #4] - 80153b0: 4618 mov r0, r3 - 80153b2: f7f9 fd59 bl 800ee68 <_ZN6SensorD2Ev> - 80153b6: f04f 0300 mov.w r3, #0 ; 0x0 - 80153ba: b2db uxtb r3, r3 - 80153bc: 2b00 cmp r3, #0 - 80153be: d002 beq.n 80153c6 <_ZN17LimitSwitchSensorD1Ev+0x26> - 80153c0: 6878 ldr r0, [r7, #4] - 80153c2: f002 f923 bl 801760c <_ZdlPv> - 80153c6: 687b ldr r3, [r7, #4] - 80153c8: 4618 mov r0, r3 - 80153ca: f107 0708 add.w r7, r7, #8 ; 0x8 - 80153ce: 46bd mov sp, r7 - 80153d0: bd80 pop {r7, pc} - 80153d2: 46c0 nop (mov r8, r8) - 80153d4: 08033f88 .word 0x08033f88 - -080153d8 <_ZN17LimitSwitchSensorD2Ev>: - #endif - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_Init(group, &GPIO_InitStructure); -} - -LimitSwitchSensor::~LimitSwitchSensor() - 80153d8: b580 push {r7, lr} - 80153da: b082 sub sp, #8 - 80153dc: af00 add r7, sp, #0 - 80153de: 6078 str r0, [r7, #4] - 80153e0: 687a ldr r2, [r7, #4] - 80153e2: 4b0a ldr r3, [pc, #40] (801540c <_ZN17LimitSwitchSensorD2Ev+0x34>) - 80153e4: 6013 str r3, [r2, #0] -{ -} - 80153e6: 687b ldr r3, [r7, #4] - 80153e8: 4618 mov r0, r3 - 80153ea: f7f9 fd3d bl 800ee68 <_ZN6SensorD2Ev> - 80153ee: f04f 0300 mov.w r3, #0 ; 0x0 - 80153f2: b2db uxtb r3, r3 - 80153f4: 2b00 cmp r3, #0 - 80153f6: d002 beq.n 80153fe <_ZN17LimitSwitchSensorD2Ev+0x26> - 80153f8: 6878 ldr r0, [r7, #4] - 80153fa: f002 f907 bl 801760c <_ZdlPv> - 80153fe: 687b ldr r3, [r7, #4] - 8015400: 4618 mov r0, r3 - 8015402: f107 0708 add.w r7, r7, #8 ; 0x8 - 8015406: 46bd mov sp, r7 - 8015408: bd80 pop {r7, pc} - 801540a: 46c0 nop (mov r8, r8) - 801540c: 08033f88 .word 0x08033f88 - -08015410 <_ZN17LimitSwitchSensorC1ENS_15LimitSwitchNameEtP12GPIO_TypeDef>: -#include "limitSwitchSensor.h" - -#ifdef ROBOTHW -LimitSwitchSensor::LimitSwitchSensor(LimitSwitchSensor::LimitSwitchName name, uint16_t pin, GPIO_TypeDef* group) - 8015410: b580 push {r7, lr} - 8015412: b086 sub sp, #24 - 8015414: af00 add r7, sp, #0 - 8015416: 60f8 str r0, [r7, #12] - 8015418: 607b str r3, [r7, #4] - 801541a: 460b mov r3, r1 - 801541c: 72fb strb r3, [r7, #11] - 801541e: 4613 mov r3, r2 - 8015420: 813b strh r3, [r7, #8] - 8015422: 68fb ldr r3, [r7, #12] - 8015424: 4618 mov r0, r3 - 8015426: f7f9 fccf bl 800edc8 <_ZN6SensorC2Ev> - 801542a: 68fa ldr r2, [r7, #12] - 801542c: 4b14 ldr r3, [pc, #80] (8015480 <_ZN17LimitSwitchSensorC1ENS_15LimitSwitchNameEtP12GPIO_TypeDef+0x70>) - 801542e: 6013 str r3, [r2, #0] -{ - this->name = name; - 8015430: 68fa ldr r2, [r7, #12] - 8015432: 7afb ldrb r3, [r7, #11] - 8015434: 7353 strb r3, [r2, #13] - this->pin = pin; - 8015436: 68fa ldr r2, [r7, #12] - 8015438: 893b ldrh r3, [r7, #8] - 801543a: 8093 strh r3, [r2, #4] - this->group = group; - 801543c: 68fa ldr r2, [r7, #12] - 801543e: 687b ldr r3, [r7, #4] - 8015440: 6093 str r3, [r2, #8] - counter = 0x0; - 8015442: 68fa ldr r2, [r7, #12] - 8015444: f04f 0300 mov.w r3, #0 ; 0x0 - 8015448: 7313 strb r3, [r2, #12] - output = false; - 801544a: 68fa ldr r2, [r7, #12] - 801544c: f04f 0300 mov.w r3, #0 ; 0x0 - 8015450: 7393 strb r3, [r2, #14] - - GPIO_InitTypeDef GPIO_InitStructure; - GPIO_InitStructure.GPIO_Pin = pin; - 8015452: 893b ldrh r3, [r7, #8] - 8015454: 613b str r3, [r7, #16] - #ifdef STM32F40_41xxx - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN; - 8015456: f04f 0300 mov.w r3, #0 ; 0x0 - 801545a: 753b strb r3, [r7, #20] - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; - 801545c: f04f 0300 mov.w r3, #0 ; 0x0 - 8015460: 75fb strb r3, [r7, #23] - #elif defined(STM32F10X_MD) || defined(STM32F10X_CL) - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; - #endif - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - 8015462: f04f 0302 mov.w r3, #2 ; 0x2 - 8015466: 757b strb r3, [r7, #21] - GPIO_Init(group, &GPIO_InitStructure); - 8015468: f107 0310 add.w r3, r7, #16 ; 0x10 - 801546c: 6878 ldr r0, [r7, #4] - 801546e: 4619 mov r1, r3 - 8015470: f7f4 fb6a bl 8009b48 -} - 8015474: 68fb ldr r3, [r7, #12] - 8015476: 4618 mov r0, r3 - 8015478: f107 0718 add.w r7, r7, #24 ; 0x18 - 801547c: 46bd mov sp, r7 - 801547e: bd80 pop {r7, pc} - 8015480: 08033f88 .word 0x08033f88 - -08015484 <_ZN17LimitSwitchSensorC2ENS_15LimitSwitchNameEtP12GPIO_TypeDef>: -#include "limitSwitchSensor.h" - -#ifdef ROBOTHW -LimitSwitchSensor::LimitSwitchSensor(LimitSwitchSensor::LimitSwitchName name, uint16_t pin, GPIO_TypeDef* group) - 8015484: b580 push {r7, lr} - 8015486: b086 sub sp, #24 - 8015488: af00 add r7, sp, #0 - 801548a: 60f8 str r0, [r7, #12] - 801548c: 607b str r3, [r7, #4] - 801548e: 460b mov r3, r1 - 8015490: 72fb strb r3, [r7, #11] - 8015492: 4613 mov r3, r2 - 8015494: 813b strh r3, [r7, #8] - 8015496: 68fb ldr r3, [r7, #12] - 8015498: 4618 mov r0, r3 - 801549a: f7f9 fc95 bl 800edc8 <_ZN6SensorC2Ev> - 801549e: 68fa ldr r2, [r7, #12] - 80154a0: 4b14 ldr r3, [pc, #80] (80154f4 <_ZN17LimitSwitchSensorC2ENS_15LimitSwitchNameEtP12GPIO_TypeDef+0x70>) - 80154a2: 6013 str r3, [r2, #0] -{ - this->name = name; - 80154a4: 68fa ldr r2, [r7, #12] - 80154a6: 7afb ldrb r3, [r7, #11] - 80154a8: 7353 strb r3, [r2, #13] - this->pin = pin; - 80154aa: 68fa ldr r2, [r7, #12] - 80154ac: 893b ldrh r3, [r7, #8] - 80154ae: 8093 strh r3, [r2, #4] - this->group = group; - 80154b0: 68fa ldr r2, [r7, #12] - 80154b2: 687b ldr r3, [r7, #4] - 80154b4: 6093 str r3, [r2, #8] - counter = 0x0; - 80154b6: 68fa ldr r2, [r7, #12] - 80154b8: f04f 0300 mov.w r3, #0 ; 0x0 - 80154bc: 7313 strb r3, [r2, #12] - output = false; - 80154be: 68fa ldr r2, [r7, #12] - 80154c0: f04f 0300 mov.w r3, #0 ; 0x0 - 80154c4: 7393 strb r3, [r2, #14] - - GPIO_InitTypeDef GPIO_InitStructure; - GPIO_InitStructure.GPIO_Pin = pin; - 80154c6: 893b ldrh r3, [r7, #8] - 80154c8: 613b str r3, [r7, #16] - #ifdef STM32F40_41xxx - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN; - 80154ca: f04f 0300 mov.w r3, #0 ; 0x0 - 80154ce: 753b strb r3, [r7, #20] - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; - 80154d0: f04f 0300 mov.w r3, #0 ; 0x0 - 80154d4: 75fb strb r3, [r7, #23] - #elif defined(STM32F10X_MD) || defined(STM32F10X_CL) - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; - #endif - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - 80154d6: f04f 0302 mov.w r3, #2 ; 0x2 - 80154da: 757b strb r3, [r7, #21] - GPIO_Init(group, &GPIO_InitStructure); - 80154dc: f107 0310 add.w r3, r7, #16 ; 0x10 - 80154e0: 6878 ldr r0, [r7, #4] - 80154e2: 4619 mov r1, r3 - 80154e4: f7f4 fb30 bl 8009b48 -} - 80154e8: 68fb ldr r3, [r7, #12] - 80154ea: 4618 mov r0, r3 - 80154ec: f107 0718 add.w r7, r7, #24 ; 0x18 - 80154f0: 46bd mov sp, r7 - 80154f2: bd80 pop {r7, pc} - 80154f4: 08033f88 .word 0x08033f88 - -080154f8 <_ZN10PWMHandler13setPulseWidthEt>: -{ - setPulseWidth(dutyCycle*timer->getPeriod()); -} - -// Change la taille de l’impulsion. -void PWMHandler::setPulseWidth(uint16_t pulseWidth) - 80154f8: b580 push {r7, lr} - 80154fa: b084 sub sp, #16 - 80154fc: af00 add r7, sp, #0 - 80154fe: 6078 str r0, [r7, #4] - 8015500: 460b mov r3, r1 - 8015502: 807b strh r3, [r7, #2] -{ - TIM_TypeDef* TIMx = timer->getTIMx(); - 8015504: 687b ldr r3, [r7, #4] - 8015506: 681b ldr r3, [r3, #0] - 8015508: 4618 mov r0, r3 - 801550a: f000 fefd bl 8016308 <_ZN5Timer7getTIMxEv> - 801550e: 4603 mov r3, r0 - 8015510: 60fb str r3, [r7, #12] - if(OCx == 1) - 8015512: 687b ldr r3, [r7, #4] - 8015514: 791b ldrb r3, [r3, #4] - 8015516: 2b01 cmp r3, #1 - 8015518: d103 bne.n 8015522 <_ZN10PWMHandler13setPulseWidthEt+0x2a> - TIMx->CCR1 = pulseWidth; - 801551a: 887a ldrh r2, [r7, #2] - 801551c: 68fb ldr r3, [r7, #12] - 801551e: 635a str r2, [r3, #52] - 8015520: e016 b.n 8015550 <_ZN10PWMHandler13setPulseWidthEt+0x58> - else if(OCx == 2) - 8015522: 687b ldr r3, [r7, #4] - 8015524: 791b ldrb r3, [r3, #4] - 8015526: 2b02 cmp r3, #2 - 8015528: d103 bne.n 8015532 <_ZN10PWMHandler13setPulseWidthEt+0x3a> - TIMx->CCR2 = pulseWidth; - 801552a: 887a ldrh r2, [r7, #2] - 801552c: 68fb ldr r3, [r7, #12] - 801552e: 639a str r2, [r3, #56] - 8015530: e00e b.n 8015550 <_ZN10PWMHandler13setPulseWidthEt+0x58> - else if(OCx == 3) - 8015532: 687b ldr r3, [r7, #4] - 8015534: 791b ldrb r3, [r3, #4] - 8015536: 2b03 cmp r3, #3 - 8015538: d103 bne.n 8015542 <_ZN10PWMHandler13setPulseWidthEt+0x4a> - TIMx->CCR3 = pulseWidth; - 801553a: 887a ldrh r2, [r7, #2] - 801553c: 68fb ldr r3, [r7, #12] - 801553e: 63da str r2, [r3, #60] - 8015540: e006 b.n 8015550 <_ZN10PWMHandler13setPulseWidthEt+0x58> - else if(OCx == 4) - 8015542: 687b ldr r3, [r7, #4] - 8015544: 791b ldrb r3, [r3, #4] - 8015546: 2b04 cmp r3, #4 - 8015548: d102 bne.n 8015550 <_ZN10PWMHandler13setPulseWidthEt+0x58> - TIMx->CCR4 = pulseWidth; - 801554a: 887a ldrh r2, [r7, #2] - 801554c: 68fb ldr r3, [r7, #12] - 801554e: 641a str r2, [r3, #64] -} - 8015550: f107 0710 add.w r7, r7, #16 ; 0x10 - 8015554: 46bd mov sp, r7 - 8015556: bd80 pop {r7, pc} - -08015558 <_ZN10PWMHandlerD1Ev>: - TIM_ARRPreloadConfig(TIMx, ENABLE); - TIM_Cmd(TIMx, ENABLE); -} - -// Stoppe la génération de PWM et détruit le générateur de PWM -PWMHandler::~PWMHandler() - 8015558: b580 push {r7, lr} - 801555a: b082 sub sp, #8 - 801555c: af00 add r7, sp, #0 - 801555e: 6078 str r0, [r7, #4] -{ - setPulseWidth(0); - 8015560: 6878 ldr r0, [r7, #4] - 8015562: f04f 0100 mov.w r1, #0 ; 0x0 - 8015566: f7ff ffc7 bl 80154f8 <_ZN10PWMHandler13setPulseWidthEt> -} - 801556a: 687b ldr r3, [r7, #4] - 801556c: 4618 mov r0, r3 - 801556e: f107 0708 add.w r7, r7, #8 ; 0x8 - 8015572: 46bd mov sp, r7 - 8015574: bd80 pop {r7, pc} - 8015576: 46c0 nop (mov r8, r8) - -08015578 <_ZN10PWMHandlerD2Ev>: - TIM_ARRPreloadConfig(TIMx, ENABLE); - TIM_Cmd(TIMx, ENABLE); -} - -// Stoppe la génération de PWM et détruit le générateur de PWM -PWMHandler::~PWMHandler() - 8015578: b580 push {r7, lr} - 801557a: b082 sub sp, #8 - 801557c: af00 add r7, sp, #0 - 801557e: 6078 str r0, [r7, #4] -{ - setPulseWidth(0); - 8015580: 6878 ldr r0, [r7, #4] - 8015582: f04f 0100 mov.w r1, #0 ; 0x0 - 8015586: f7ff ffb7 bl 80154f8 <_ZN10PWMHandler13setPulseWidthEt> -} - 801558a: 687b ldr r3, [r7, #4] - 801558c: 4618 mov r0, r3 - 801558e: f107 0708 add.w r7, r7, #8 ; 0x8 - 8015592: 46bd mov sp, r7 - 8015594: bd80 pop {r7, pc} - 8015596: 46c0 nop (mov r8, r8) - -08015598 <_ZN10PWMHandler12setDutyCycleEf>: - -//Change le rapport cyclique -void PWMHandler::setDutyCycle(float dutyCycle) - 8015598: b580 push {r7, lr} - 801559a: b082 sub sp, #8 - 801559c: af00 add r7, sp, #0 - 801559e: 6078 str r0, [r7, #4] - 80155a0: 6039 str r1, [r7, #0] -{ - setPulseWidth(dutyCycle*timer->getPeriod()); - 80155a2: 687b ldr r3, [r7, #4] - 80155a4: 681b ldr r3, [r3, #0] - 80155a6: 4618 mov r0, r3 - 80155a8: f000 feba bl 8016320 <_ZN5Timer9getPeriodEv> - 80155ac: 4603 mov r3, r0 - 80155ae: 4618 mov r0, r3 - 80155b0: f017 fcae bl 802cf10 <__aeabi_i2f> - 80155b4: 4603 mov r3, r0 - 80155b6: 4618 mov r0, r3 - 80155b8: 6839 ldr r1, [r7, #0] - 80155ba: f017 fcfd bl 802cfb8 <__aeabi_fmul> - 80155be: 4603 mov r3, r0 - 80155c0: 4618 mov r0, r3 - 80155c2: f017 fee3 bl 802d38c <__aeabi_f2uiz> - 80155c6: 4603 mov r3, r0 - 80155c8: b29b uxth r3, r3 - 80155ca: 6878 ldr r0, [r7, #4] - 80155cc: 4619 mov r1, r3 - 80155ce: f7ff ff93 bl 80154f8 <_ZN10PWMHandler13setPulseWidthEt> -} - 80155d2: f107 0708 add.w r7, r7, #8 ; 0x8 - 80155d6: 46bd mov sp, r7 - 80155d8: bd80 pop {r7, pc} - 80155da: 46c0 nop (mov r8, r8) - -080155dc <_ZN10PWMHandlerC1EP5Timerh>: -#include "pwmHandler.h" - -// Initialise un nouveau générateur de PWM sur la sortie OCx du timer TIMx. -PWMHandler::PWMHandler(Timer* tim, unsigned char OCx) - 80155dc: b580 push {r7, lr} - 80155de: b08a sub sp, #40 - 80155e0: af00 add r7, sp, #0 - 80155e2: 60f8 str r0, [r7, #12] - 80155e4: 60b9 str r1, [r7, #8] - 80155e6: 4613 mov r3, r2 - 80155e8: 71fb strb r3, [r7, #7] -{ - timer = tim; - 80155ea: 68fa ldr r2, [r7, #12] - 80155ec: 68bb ldr r3, [r7, #8] - 80155ee: 6013 str r3, [r2, #0] - this->OCx = OCx; - 80155f0: 68fa ldr r2, [r7, #12] - 80155f2: 79fb ldrb r3, [r7, #7] - 80155f4: 7113 strb r3, [r2, #4] - TIM_OCInitTypeDef timOCInit; - timOCInit.TIM_OCMode = TIM_OCMode_PWM1; //TIM_OCMode_PWM2; - 80155f6: f04f 0360 mov.w r3, #96 ; 0x60 - 80155fa: 823b strh r3, [r7, #16] - timOCInit.TIM_OutputState = TIM_OutputState_Enable; - 80155fc: f04f 0301 mov.w r3, #1 ; 0x1 - 8015600: 827b strh r3, [r7, #18] - timOCInit.TIM_Pulse = 0; // rapport cyclique - 8015602: f04f 0300 mov.w r3, #0 ; 0x0 - 8015606: 61bb str r3, [r7, #24] - timOCInit.TIM_OCPolarity = TIM_OCPolarity_High; - 8015608: f04f 0300 mov.w r3, #0 ; 0x0 - 801560c: 83bb strh r3, [r7, #28] - - TIM_TypeDef* TIMx = tim->getTIMx(); - 801560e: 68b8 ldr r0, [r7, #8] - 8015610: f000 fe7a bl 8016308 <_ZN5Timer7getTIMxEv> - 8015614: 4603 mov r3, r0 - 8015616: 627b str r3, [r7, #36] - - switch(OCx) - 8015618: 79fb ldrb r3, [r7, #7] - 801561a: f103 33ff add.w r3, r3, #4294967295 ; 0xffffffff - 801561e: 2b03 cmp r3, #3 - 8015620: d839 bhi.n 8015696 <_ZN10PWMHandlerC1EP5Timerh+0xba> - 8015622: a201 add r2, pc, #4 (adr r2, 8015628 <_ZN10PWMHandlerC1EP5Timerh+0x4c>) - 8015624: f852 f023 ldr.w pc, [r2, r3, lsl #2] - 8015628: 08015639 .word 0x08015639 - 801562c: 08015651 .word 0x08015651 - 8015630: 08015669 .word 0x08015669 - 8015634: 08015681 .word 0x08015681 - { - case 1: - TIM_OC1Init(TIMx, &timOCInit); - 8015638: f107 0310 add.w r3, r7, #16 ; 0x10 - 801563c: 6a78 ldr r0, [r7, #36] - 801563e: 4619 mov r1, r3 - 8015640: f7f5 fed4 bl 800b3ec - TIM_OC1PreloadConfig(TIMx, TIM_OCPreload_Enable); - 8015644: 6a78 ldr r0, [r7, #36] - 8015646: f04f 0108 mov.w r1, #8 ; 0x8 - 801564a: f7f6 fa4f bl 800baec - 801564e: e022 b.n 8015696 <_ZN10PWMHandlerC1EP5Timerh+0xba> - break; - case 2: - TIM_OC2Init(TIMx, &timOCInit); - 8015650: f107 0310 add.w r3, r7, #16 ; 0x10 - 8015654: 6a78 ldr r0, [r7, #36] - 8015656: 4619 mov r1, r3 - 8015658: f7f5 ff52 bl 800b500 - TIM_OC2PreloadConfig(TIMx, TIM_OCPreload_Enable); - 801565c: 6a78 ldr r0, [r7, #36] - 801565e: f04f 0108 mov.w r1, #8 ; 0x8 - 8015662: f7f6 fa61 bl 800bb28 - 8015666: e016 b.n 8015696 <_ZN10PWMHandlerC1EP5Timerh+0xba> - break; - case 3: - TIM_OC3Init(TIMx, &timOCInit); - 8015668: f107 0310 add.w r3, r7, #16 ; 0x10 - 801566c: 6a78 ldr r0, [r7, #36] - 801566e: 4619 mov r1, r3 - 8015670: f7f5 ffe4 bl 800b63c - TIM_OC3PreloadConfig(TIMx, TIM_OCPreload_Enable); - 8015674: 6a78 ldr r0, [r7, #36] - 8015676: f04f 0108 mov.w r1, #8 ; 0x8 - 801567a: f7f6 fa75 bl 800bb68 - 801567e: e00a b.n 8015696 <_ZN10PWMHandlerC1EP5Timerh+0xba> - break; - case 4: - TIM_OC4Init(TIMx, &timOCInit); - 8015680: f107 0310 add.w r3, r7, #16 ; 0x10 - 8015684: 6a78 ldr r0, [r7, #36] - 8015686: 4619 mov r1, r3 - 8015688: f7f6 f874 bl 800b774 - TIM_OC4PreloadConfig(TIMx, TIM_OCPreload_Enable); - 801568c: 6a78 ldr r0, [r7, #36] - 801568e: f04f 0108 mov.w r1, #8 ; 0x8 - 8015692: f7f6 fa87 bl 800bba4 - break; - } - TIM_ARRPreloadConfig(TIMx, ENABLE); - 8015696: 6a78 ldr r0, [r7, #36] - 8015698: f04f 0101 mov.w r1, #1 ; 0x1 - 801569c: f7f5 fe16 bl 800b2cc - TIM_Cmd(TIMx, ENABLE); - 80156a0: 6a78 ldr r0, [r7, #36] - 80156a2: f04f 0101 mov.w r1, #1 ; 0x1 - 80156a6: f7f5 fe7b bl 800b3a0 -} - 80156aa: 68fb ldr r3, [r7, #12] - 80156ac: 4618 mov r0, r3 - 80156ae: f107 0728 add.w r7, r7, #40 ; 0x28 - 80156b2: 46bd mov sp, r7 - 80156b4: bd80 pop {r7, pc} - 80156b6: 46c0 nop (mov r8, r8) - -080156b8 <_ZN10PWMHandlerC2EP5Timerh>: -#include "pwmHandler.h" - -// Initialise un nouveau générateur de PWM sur la sortie OCx du timer TIMx. -PWMHandler::PWMHandler(Timer* tim, unsigned char OCx) - 80156b8: b580 push {r7, lr} - 80156ba: b08a sub sp, #40 - 80156bc: af00 add r7, sp, #0 - 80156be: 60f8 str r0, [r7, #12] - 80156c0: 60b9 str r1, [r7, #8] - 80156c2: 4613 mov r3, r2 - 80156c4: 71fb strb r3, [r7, #7] -{ - timer = tim; - 80156c6: 68fa ldr r2, [r7, #12] - 80156c8: 68bb ldr r3, [r7, #8] - 80156ca: 6013 str r3, [r2, #0] - this->OCx = OCx; - 80156cc: 68fa ldr r2, [r7, #12] - 80156ce: 79fb ldrb r3, [r7, #7] - 80156d0: 7113 strb r3, [r2, #4] - TIM_OCInitTypeDef timOCInit; - timOCInit.TIM_OCMode = TIM_OCMode_PWM1; //TIM_OCMode_PWM2; - 80156d2: f04f 0360 mov.w r3, #96 ; 0x60 - 80156d6: 823b strh r3, [r7, #16] - timOCInit.TIM_OutputState = TIM_OutputState_Enable; - 80156d8: f04f 0301 mov.w r3, #1 ; 0x1 - 80156dc: 827b strh r3, [r7, #18] - timOCInit.TIM_Pulse = 0; // rapport cyclique - 80156de: f04f 0300 mov.w r3, #0 ; 0x0 - 80156e2: 61bb str r3, [r7, #24] - timOCInit.TIM_OCPolarity = TIM_OCPolarity_High; - 80156e4: f04f 0300 mov.w r3, #0 ; 0x0 - 80156e8: 83bb strh r3, [r7, #28] - - TIM_TypeDef* TIMx = tim->getTIMx(); - 80156ea: 68b8 ldr r0, [r7, #8] - 80156ec: f000 fe0c bl 8016308 <_ZN5Timer7getTIMxEv> - 80156f0: 4603 mov r3, r0 - 80156f2: 627b str r3, [r7, #36] - - switch(OCx) - 80156f4: 79fb ldrb r3, [r7, #7] - 80156f6: f103 33ff add.w r3, r3, #4294967295 ; 0xffffffff - 80156fa: 2b03 cmp r3, #3 - 80156fc: d839 bhi.n 8015772 <_ZN10PWMHandlerC2EP5Timerh+0xba> - 80156fe: a201 add r2, pc, #4 (adr r2, 8015704 <_ZN10PWMHandlerC2EP5Timerh+0x4c>) - 8015700: f852 f023 ldr.w pc, [r2, r3, lsl #2] - 8015704: 08015715 .word 0x08015715 - 8015708: 0801572d .word 0x0801572d - 801570c: 08015745 .word 0x08015745 - 8015710: 0801575d .word 0x0801575d - { - case 1: - TIM_OC1Init(TIMx, &timOCInit); - 8015714: f107 0310 add.w r3, r7, #16 ; 0x10 - 8015718: 6a78 ldr r0, [r7, #36] - 801571a: 4619 mov r1, r3 - 801571c: f7f5 fe66 bl 800b3ec - TIM_OC1PreloadConfig(TIMx, TIM_OCPreload_Enable); - 8015720: 6a78 ldr r0, [r7, #36] - 8015722: f04f 0108 mov.w r1, #8 ; 0x8 - 8015726: f7f6 f9e1 bl 800baec - 801572a: e022 b.n 8015772 <_ZN10PWMHandlerC2EP5Timerh+0xba> - break; - case 2: - TIM_OC2Init(TIMx, &timOCInit); - 801572c: f107 0310 add.w r3, r7, #16 ; 0x10 - 8015730: 6a78 ldr r0, [r7, #36] - 8015732: 4619 mov r1, r3 - 8015734: f7f5 fee4 bl 800b500 - TIM_OC2PreloadConfig(TIMx, TIM_OCPreload_Enable); - 8015738: 6a78 ldr r0, [r7, #36] - 801573a: f04f 0108 mov.w r1, #8 ; 0x8 - 801573e: f7f6 f9f3 bl 800bb28 - 8015742: e016 b.n 8015772 <_ZN10PWMHandlerC2EP5Timerh+0xba> - break; - case 3: - TIM_OC3Init(TIMx, &timOCInit); - 8015744: f107 0310 add.w r3, r7, #16 ; 0x10 - 8015748: 6a78 ldr r0, [r7, #36] - 801574a: 4619 mov r1, r3 - 801574c: f7f5 ff76 bl 800b63c - TIM_OC3PreloadConfig(TIMx, TIM_OCPreload_Enable); - 8015750: 6a78 ldr r0, [r7, #36] - 8015752: f04f 0108 mov.w r1, #8 ; 0x8 - 8015756: f7f6 fa07 bl 800bb68 - 801575a: e00a b.n 8015772 <_ZN10PWMHandlerC2EP5Timerh+0xba> - break; - case 4: - TIM_OC4Init(TIMx, &timOCInit); - 801575c: f107 0310 add.w r3, r7, #16 ; 0x10 - 8015760: 6a78 ldr r0, [r7, #36] - 8015762: 4619 mov r1, r3 - 8015764: f7f6 f806 bl 800b774 - TIM_OC4PreloadConfig(TIMx, TIM_OCPreload_Enable); - 8015768: 6a78 ldr r0, [r7, #36] - 801576a: f04f 0108 mov.w r1, #8 ; 0x8 - 801576e: f7f6 fa19 bl 800bba4 - break; - } - TIM_ARRPreloadConfig(TIMx, ENABLE); - 8015772: 6a78 ldr r0, [r7, #36] - 8015774: f04f 0101 mov.w r1, #1 ; 0x1 - 8015778: f7f5 fda8 bl 800b2cc - TIM_Cmd(TIMx, ENABLE); - 801577c: 6a78 ldr r0, [r7, #36] - 801577e: f04f 0101 mov.w r1, #1 ; 0x1 - 8015782: f7f5 fe0d bl 800b3a0 -} - 8015786: 68fb ldr r3, [r7, #12] - 8015788: 4618 mov r0, r3 - 801578a: f107 0728 add.w r7, r7, #40 ; 0x28 - 801578e: 46bd mov sp, r7 - 8015790: bd80 pop {r7, pc} - 8015792: 46c0 nop (mov r8, r8) - -08015794 <_ZN22QuadratureCoderHandler12getTickValueEv>: - - // Met à disposition le timer - TIM_Cmd(coder_tim_port, ENABLE); -} - -int16_t QuadratureCoderHandler::getTickValue() - 8015794: b580 push {r7, lr} - 8015796: b084 sub sp, #16 - 8015798: af00 add r7, sp, #0 - 801579a: 6078 str r0, [r7, #4] -{ - // On enregistre le nbr de tick depuis la dernière remise à zero - int16_t tick = TIM_GetCounter(coder_tim_port); - 801579c: 687b ldr r3, [r7, #4] - 801579e: 681b ldr r3, [r3, #0] - 80157a0: 4618 mov r0, r3 - 80157a2: f7f5 fd2d bl 800b200 - 80157a6: 4603 mov r3, r0 - 80157a8: 81fb strh r3, [r7, #14] - - // On remet à zero - TIM_SetCounter(coder_tim_port, 0); - 80157aa: 687b ldr r3, [r7, #4] - 80157ac: 681b ldr r3, [r3, #0] - 80157ae: 4618 mov r0, r3 - 80157b0: f04f 0100 mov.w r1, #0 ; 0x0 - 80157b4: f7f5 fd08 bl 800b1c8 - - // On retourne ces ticks - return tick; - 80157b8: 89fb ldrh r3, [r7, #14] - 80157ba: b21b sxth r3, r3 -} - 80157bc: 4618 mov r0, r3 - 80157be: f107 0710 add.w r7, r7, #16 ; 0x10 - 80157c2: 46bd mov sp, r7 - 80157c4: bd80 pop {r7, pc} - 80157c6: 46c0 nop (mov r8, r8) - -080157c8 <_ZN22QuadratureCoderHandlerC1EP11TIM_TypeDefP12GPIO_TypeDeftS3_thhh>: -#include "timerHandler.h" - -// GPIO_ch1 et pin_Ch1 : pour la pin du channel 1 du timer -// GPIO_ch2 et pin_Ch2 : pour la pin du channel 2 du timer -QuadratureCoderHandler::QuadratureCoderHandler(TIM_TypeDef* TIMx, GPIO_TypeDef* GPIO_ch1, uint16_t pin_Ch1, GPIO_TypeDef* GPIO_ch2, - uint16_t pin_Ch2, uint8_t TIMx_AF, uint8_t pinSource_Ch1, uint8_t pinSource_Ch2) - 80157c8: b580 push {r7, lr} - 80157ca: b08a sub sp, #40 - 80157cc: af00 add r7, sp, #0 - 80157ce: 60f8 str r0, [r7, #12] - 80157d0: 60b9 str r1, [r7, #8] - 80157d2: 607a str r2, [r7, #4] - 80157d4: 807b strh r3, [r7, #2] -{ - this->coder_tim_port = TIMx; - 80157d6: 68fa ldr r2, [r7, #12] - 80157d8: 68bb ldr r3, [r7, #8] - 80157da: 6013 str r3, [r2, #0] - - TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; - GPIO_InitTypeDef GPIO_InitStructure; - - // Enable timer clock - Timer::enableTimerClock(TIMx); - 80157dc: 68b8 ldr r0, [r7, #8] - 80157de: f000 fdab bl 8016338 <_ZN5Timer16enableTimerClockEP11TIM_TypeDef> - // GPIO_Mode_IPD : in pull down - // GPIO_Mode_IPU : in pull up -> utiliser celui la pour les roue codeuses - - #ifdef STM32F40_41xxx - // alternative functions - GPIO_PinAFConfig(GPIO_ch1, pinSource_Ch1, TIMx_AF); - 80157e2: f897 303c ldrb.w r3, [r7, #60] - 80157e6: f897 2038 ldrb.w r2, [r7, #56] - 80157ea: 6878 ldr r0, [r7, #4] - 80157ec: 4619 mov r1, r3 - 80157ee: f7f4 fb45 bl 8009e7c - GPIO_PinAFConfig(GPIO_ch2, pinSource_Ch2, TIMx_AF); - 80157f2: f897 3040 ldrb.w r3, [r7, #64] - 80157f6: f897 2038 ldrb.w r2, [r7, #56] - 80157fa: 6b38 ldr r0, [r7, #48] - 80157fc: 4619 mov r1, r3 - 80157fe: f7f4 fb3d bl 8009e7c - #endif - - // initialise la pin du ch 1 - #ifdef STM32F40_41xxx - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - 8015802: f04f 0302 mov.w r3, #2 ; 0x2 - 8015806: 763b strb r3, [r7, #24] - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; - 8015808: f04f 0301 mov.w r3, #1 ; 0x1 - 801580c: 76fb strb r3, [r7, #27] - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_25MHz; - 801580e: f04f 0301 mov.w r3, #1 ; 0x1 - 8015812: 767b strb r3, [r7, #25] - #elif defined(STM32F10X_MD) || defined(STM32F10X_CL) - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz; - #endif - - GPIO_InitStructure.GPIO_Pin = pin_Ch1; - 8015814: 887b ldrh r3, [r7, #2] - 8015816: 617b str r3, [r7, #20] - GPIO_Init(GPIO_ch1, &GPIO_InitStructure); - 8015818: f107 0314 add.w r3, r7, #20 ; 0x14 - 801581c: 6878 ldr r0, [r7, #4] - 801581e: 4619 mov r1, r3 - 8015820: f7f4 f992 bl 8009b48 - - // initialise la pin du ch 2 - #ifdef STM32F40_41xxx - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - 8015824: f04f 0302 mov.w r3, #2 ; 0x2 - 8015828: 763b strb r3, [r7, #24] - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; - 801582a: f04f 0301 mov.w r3, #1 ; 0x1 - 801582e: 76fb strb r3, [r7, #27] - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_25MHz; - 8015830: f04f 0301 mov.w r3, #1 ; 0x1 - 8015834: 767b strb r3, [r7, #25] - #elif defined(STM32F10X_MD) || defined(STM32F10X_CL) - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz; - #endif - GPIO_InitStructure.GPIO_Pin = pin_Ch2; - 8015836: 8ebb ldrh r3, [r7, #52] - 8015838: 617b str r3, [r7, #20] - GPIO_Init(GPIO_ch2, &GPIO_InitStructure); - 801583a: f107 0314 add.w r3, r7, #20 ; 0x14 - 801583e: 6b38 ldr r0, [r7, #48] - 8015840: 4619 mov r1, r3 - 8015842: f7f4 f981 bl 8009b48 - - // Time Base configuration - TIM_TimeBaseStructure.TIM_Prescaler = 0; - 8015846: f04f 0300 mov.w r3, #0 ; 0x0 - 801584a: 83bb strh r3, [r7, #28] - TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; - 801584c: f04f 0300 mov.w r3, #0 ; 0x0 - 8015850: 83fb strh r3, [r7, #30] - TIM_TimeBaseStructure.TIM_Period = 0xFFFF; - 8015852: f64f 73ff movw r3, #65535 ; 0xffff - 8015856: 623b str r3, [r7, #32] - TIM_TimeBaseStructure.TIM_ClockDivision = 0; - 8015858: f04f 0300 mov.w r3, #0 ; 0x0 - 801585c: 84bb strh r3, [r7, #36] - TIM_TimeBaseStructure.TIM_RepetitionCounter = 0; - 801585e: f04f 0300 mov.w r3, #0 ; 0x0 - 8015862: f887 3026 strb.w r3, [r7, #38] - TIM_TimeBaseInit(coder_tim_port, &TIM_TimeBaseStructure); - 8015866: 68fb ldr r3, [r7, #12] - 8015868: 681b ldr r3, [r3, #0] - 801586a: f107 021c add.w r2, r7, #28 ; 0x1c - 801586e: 4618 mov r0, r3 - 8015870: 4611 mov r1, r2 - 8015872: f7f5 fbeb bl 800b04c - - // Encoder Interface Configuration - TIM_EncoderInterfaceConfig(coder_tim_port, - TIM_EncoderMode_TI12, - TIM_ICPolarity_Rising, - TIM_ICPolarity_Rising); - 8015876: 68fb ldr r3, [r7, #12] - 8015878: 681b ldr r3, [r3, #0] - 801587a: 4618 mov r0, r3 - 801587c: f04f 0103 mov.w r1, #3 ; 0x3 - 8015880: f04f 0200 mov.w r2, #0 ; 0x0 - 8015884: f04f 0300 mov.w r3, #0 ; 0x0 - 8015888: f7f7 f8be bl 800ca08 - - // Met à disposition le timer - TIM_Cmd(coder_tim_port, ENABLE); - 801588c: 68fb ldr r3, [r7, #12] - 801588e: 681b ldr r3, [r3, #0] - 8015890: 4618 mov r0, r3 - 8015892: f04f 0101 mov.w r1, #1 ; 0x1 - 8015896: f7f5 fd83 bl 800b3a0 -} - 801589a: 68fb ldr r3, [r7, #12] - 801589c: 4618 mov r0, r3 - 801589e: f107 0728 add.w r7, r7, #40 ; 0x28 - 80158a2: 46bd mov sp, r7 - 80158a4: bd80 pop {r7, pc} - 80158a6: 46c0 nop (mov r8, r8) - -080158a8 <_ZN22QuadratureCoderHandlerC2EP11TIM_TypeDefP12GPIO_TypeDeftS3_thhh>: -#include "timerHandler.h" - -// GPIO_ch1 et pin_Ch1 : pour la pin du channel 1 du timer -// GPIO_ch2 et pin_Ch2 : pour la pin du channel 2 du timer -QuadratureCoderHandler::QuadratureCoderHandler(TIM_TypeDef* TIMx, GPIO_TypeDef* GPIO_ch1, uint16_t pin_Ch1, GPIO_TypeDef* GPIO_ch2, - uint16_t pin_Ch2, uint8_t TIMx_AF, uint8_t pinSource_Ch1, uint8_t pinSource_Ch2) - 80158a8: b580 push {r7, lr} - 80158aa: b08a sub sp, #40 - 80158ac: af00 add r7, sp, #0 - 80158ae: 60f8 str r0, [r7, #12] - 80158b0: 60b9 str r1, [r7, #8] - 80158b2: 607a str r2, [r7, #4] - 80158b4: 807b strh r3, [r7, #2] -{ - this->coder_tim_port = TIMx; - 80158b6: 68fa ldr r2, [r7, #12] - 80158b8: 68bb ldr r3, [r7, #8] - 80158ba: 6013 str r3, [r2, #0] - - TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; - GPIO_InitTypeDef GPIO_InitStructure; - - // Enable timer clock - Timer::enableTimerClock(TIMx); - 80158bc: 68b8 ldr r0, [r7, #8] - 80158be: f000 fd3b bl 8016338 <_ZN5Timer16enableTimerClockEP11TIM_TypeDef> - // GPIO_Mode_IPD : in pull down - // GPIO_Mode_IPU : in pull up -> utiliser celui la pour les roue codeuses - - #ifdef STM32F40_41xxx - // alternative functions - GPIO_PinAFConfig(GPIO_ch1, pinSource_Ch1, TIMx_AF); - 80158c2: f897 303c ldrb.w r3, [r7, #60] - 80158c6: f897 2038 ldrb.w r2, [r7, #56] - 80158ca: 6878 ldr r0, [r7, #4] - 80158cc: 4619 mov r1, r3 - 80158ce: f7f4 fad5 bl 8009e7c - GPIO_PinAFConfig(GPIO_ch2, pinSource_Ch2, TIMx_AF); - 80158d2: f897 3040 ldrb.w r3, [r7, #64] - 80158d6: f897 2038 ldrb.w r2, [r7, #56] - 80158da: 6b38 ldr r0, [r7, #48] - 80158dc: 4619 mov r1, r3 - 80158de: f7f4 facd bl 8009e7c - #endif - - // initialise la pin du ch 1 - #ifdef STM32F40_41xxx - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - 80158e2: f04f 0302 mov.w r3, #2 ; 0x2 - 80158e6: 763b strb r3, [r7, #24] - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; - 80158e8: f04f 0301 mov.w r3, #1 ; 0x1 - 80158ec: 76fb strb r3, [r7, #27] - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_25MHz; - 80158ee: f04f 0301 mov.w r3, #1 ; 0x1 - 80158f2: 767b strb r3, [r7, #25] - #elif defined(STM32F10X_MD) || defined(STM32F10X_CL) - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz; - #endif - - GPIO_InitStructure.GPIO_Pin = pin_Ch1; - 80158f4: 887b ldrh r3, [r7, #2] - 80158f6: 617b str r3, [r7, #20] - GPIO_Init(GPIO_ch1, &GPIO_InitStructure); - 80158f8: f107 0314 add.w r3, r7, #20 ; 0x14 - 80158fc: 6878 ldr r0, [r7, #4] - 80158fe: 4619 mov r1, r3 - 8015900: f7f4 f922 bl 8009b48 - - // initialise la pin du ch 2 - #ifdef STM32F40_41xxx - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - 8015904: f04f 0302 mov.w r3, #2 ; 0x2 - 8015908: 763b strb r3, [r7, #24] - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; - 801590a: f04f 0301 mov.w r3, #1 ; 0x1 - 801590e: 76fb strb r3, [r7, #27] - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_25MHz; - 8015910: f04f 0301 mov.w r3, #1 ; 0x1 - 8015914: 767b strb r3, [r7, #25] - #elif defined(STM32F10X_MD) || defined(STM32F10X_CL) - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz; - #endif - GPIO_InitStructure.GPIO_Pin = pin_Ch2; - 8015916: 8ebb ldrh r3, [r7, #52] - 8015918: 617b str r3, [r7, #20] - GPIO_Init(GPIO_ch2, &GPIO_InitStructure); - 801591a: f107 0314 add.w r3, r7, #20 ; 0x14 - 801591e: 6b38 ldr r0, [r7, #48] - 8015920: 4619 mov r1, r3 - 8015922: f7f4 f911 bl 8009b48 - - // Time Base configuration - TIM_TimeBaseStructure.TIM_Prescaler = 0; - 8015926: f04f 0300 mov.w r3, #0 ; 0x0 - 801592a: 83bb strh r3, [r7, #28] - TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; - 801592c: f04f 0300 mov.w r3, #0 ; 0x0 - 8015930: 83fb strh r3, [r7, #30] - TIM_TimeBaseStructure.TIM_Period = 0xFFFF; - 8015932: f64f 73ff movw r3, #65535 ; 0xffff - 8015936: 623b str r3, [r7, #32] - TIM_TimeBaseStructure.TIM_ClockDivision = 0; - 8015938: f04f 0300 mov.w r3, #0 ; 0x0 - 801593c: 84bb strh r3, [r7, #36] - TIM_TimeBaseStructure.TIM_RepetitionCounter = 0; - 801593e: f04f 0300 mov.w r3, #0 ; 0x0 - 8015942: f887 3026 strb.w r3, [r7, #38] - TIM_TimeBaseInit(coder_tim_port, &TIM_TimeBaseStructure); - 8015946: 68fb ldr r3, [r7, #12] - 8015948: 681b ldr r3, [r3, #0] - 801594a: f107 021c add.w r2, r7, #28 ; 0x1c - 801594e: 4618 mov r0, r3 - 8015950: 4611 mov r1, r2 - 8015952: f7f5 fb7b bl 800b04c - - // Encoder Interface Configuration - TIM_EncoderInterfaceConfig(coder_tim_port, - TIM_EncoderMode_TI12, - TIM_ICPolarity_Rising, - TIM_ICPolarity_Rising); - 8015956: 68fb ldr r3, [r7, #12] - 8015958: 681b ldr r3, [r3, #0] - 801595a: 4618 mov r0, r3 - 801595c: f04f 0103 mov.w r1, #3 ; 0x3 - 8015960: f04f 0200 mov.w r2, #0 ; 0x0 - 8015964: f04f 0300 mov.w r3, #0 ; 0x0 - 8015968: f7f7 f84e bl 800ca08 - - // Met à disposition le timer - TIM_Cmd(coder_tim_port, ENABLE); - 801596c: 68fb ldr r3, [r7, #12] - 801596e: 681b ldr r3, [r3, #0] - 8015970: 4618 mov r0, r3 - 8015972: f04f 0101 mov.w r1, #1 ; 0x1 - 8015976: f7f5 fd13 bl 800b3a0 -} - 801597a: 68fb ldr r3, [r7, #12] - 801597c: 4618 mov r0, r3 - 801597e: f107 0728 add.w r7, r7, #40 ; 0x28 - 8015982: 46bd mov sp, r7 - 8015984: bd80 pop {r7, pc} - 8015986: 46c0 nop (mov r8, r8) - -08015988 <_ZN6Remote13dataAvailableEv>: - } - for(int i=0; i<10; i++) - Remote::getSingleton()->sendData(' '); -} - -bool Remote::dataAvailable() - 8015988: b480 push {r7} - 801598a: b083 sub sp, #12 - 801598c: af00 add r7, sp, #0 - 801598e: 6078 str r0, [r7, #4] -{ -#ifdef ROBOTHW - return REMOTE_USART_INDEX->SR & USART_FLAG_RXNE; - 8015990: 4b07 ldr r3, [pc, #28] (80159b0 <_ZN6Remote13dataAvailableEv+0x28>) - 8015992: 881b ldrh r3, [r3, #0] - 8015994: b29b uxth r3, r3 - 8015996: f003 0320 and.w r3, r3, #32 ; 0x20 - 801599a: 2b00 cmp r3, #0 - 801599c: bf0c ite eq - 801599e: 2300 moveq r3, #0 - 80159a0: 2301 movne r3, #1 - 80159a2: b2db uxtb r3, r3 -#else - return false; -#endif -} - 80159a4: 4618 mov r0, r3 - 80159a6: f107 070c add.w r7, r7, #12 ; 0xc - 80159aa: 46bd mov sp, r7 - 80159ac: bc80 pop {r7} - 80159ae: 4770 bx lr - 80159b0: 40005000 .word 0x40005000 - -080159b4 <_ZN6Remote11receiveDataEv>: - -int Remote::receiveData() - 80159b4: b480 push {r7} - 80159b6: b083 sub sp, #12 - 80159b8: af00 add r7, sp, #0 - 80159ba: 6078 str r0, [r7, #4] -{ -#ifdef ROBOTHW - while (!(REMOTE_USART_INDEX->SR & USART_FLAG_RXNE)); - 80159bc: 4b0c ldr r3, [pc, #48] (80159f0 <_ZN6Remote11receiveDataEv+0x3c>) - 80159be: 881b ldrh r3, [r3, #0] - 80159c0: b29b uxth r3, r3 - 80159c2: f003 0320 and.w r3, r3, #32 ; 0x20 - 80159c6: 2b00 cmp r3, #0 - 80159c8: bf14 ite ne - 80159ca: 2300 movne r3, #0 - 80159cc: 2301 moveq r3, #1 - 80159ce: b2db uxtb r3, r3 - 80159d0: 2b00 cmp r3, #0 - 80159d2: d1f3 bne.n 80159bc <_ZN6Remote11receiveDataEv+0x8> - - return ((int)(REMOTE_USART_INDEX->DR & 0x1FF)); - 80159d4: 4b06 ldr r3, [pc, #24] (80159f0 <_ZN6Remote11receiveDataEv+0x3c>) - 80159d6: 889b ldrh r3, [r3, #4] - 80159d8: b29b uxth r3, r3 - 80159da: ea4f 53c3 mov.w r3, r3, lsl #23 - 80159de: ea4f 53d3 mov.w r3, r3, lsr #23 -#else - return 0; -#endif -} - 80159e2: 4618 mov r0, r3 - 80159e4: f107 070c add.w r7, r7, #12 ; 0xc - 80159e8: 46bd mov sp, r7 - 80159ea: bc80 pop {r7} - 80159ec: 4770 bx lr - 80159ee: 46c0 nop (mov r8, r8) - 80159f0: 40005000 .word 0x40005000 - -080159f4 <_ZN6Remote12isRemoteModeEv>: - if (order>=51 and order<=101) - angSpeed = -((float)(order-75)) / 25. * ANGULAR_REMOTE_SPEED_LIMIT; - } -} - -bool Remote::isRemoteMode() - 80159f4: b480 push {r7} - 80159f6: b083 sub sp, #12 - 80159f8: af00 add r7, sp, #0 - 80159fa: 6078 str r0, [r7, #4] -{ - return remoteMode; - 80159fc: 687b ldr r3, [r7, #4] - 80159fe: 791b ldrb r3, [r3, #4] -} - 8015a00: 4618 mov r0, r3 - 8015a02: f107 070c add.w r7, r7, #12 ; 0xc - 8015a06: 46bd mov sp, r7 - 8015a08: bc80 pop {r7} - 8015a0a: 4770 bx lr - -08015a0c <_ZN6Remote10getLeftPWMEv>: - -float Remote::getLeftPWM() - 8015a0c: b480 push {r7} - 8015a0e: b083 sub sp, #12 - 8015a10: af00 add r7, sp, #0 - 8015a12: 6078 str r0, [r7, #4] -{ - return linSpeed; - 8015a14: 687b ldr r3, [r7, #4] - 8015a16: 68db ldr r3, [r3, #12] -#if defined(STM32F40_41xxx) || defined(STM32F10X_MD) - return linSpeed + angSpeed; -#else - return linSpeed - angSpeed; -#endif -} - 8015a18: 4618 mov r0, r3 - 8015a1a: f107 070c add.w r7, r7, #12 ; 0xc - 8015a1e: 46bd mov sp, r7 - 8015a20: bc80 pop {r7} - 8015a22: 4770 bx lr - -08015a24 <_ZN6Remote11getRightPWMEv>: - -float Remote::getRightPWM() - 8015a24: b480 push {r7} - 8015a26: b083 sub sp, #12 - 8015a28: af00 add r7, sp, #0 - 8015a2a: 6078 str r0, [r7, #4] -{ - return angSpeed; - 8015a2c: 687b ldr r3, [r7, #4] - 8015a2e: 691b ldr r3, [r3, #16] -#if defined(STM32F40_41xxx) || defined(STM32F10X_MD) - return linSpeed - angSpeed; -#else - return linSpeed + angSpeed; -#endif -} - 8015a30: 4618 mov r0, r3 - 8015a32: f107 070c add.w r7, r7, #12 ; 0xc - 8015a36: 46bd mov sp, r7 - 8015a38: bc80 pop {r7} - 8015a3a: 4770 bx lr - -08015a3c <_ZN6Remote8sendDataEi>: - - USART_Cmd(REMOTE_USART_INDEX, ENABLE); -#endif -} - -void Remote::sendData(int data) - 8015a3c: b580 push {r7, lr} - 8015a3e: b082 sub sp, #8 - 8015a40: af00 add r7, sp, #0 - 8015a42: 6078 str r0, [r7, #4] - 8015a44: 6039 str r1, [r7, #0] -{ -#ifdef ROBOTHW - // Wait until the send buffer is cleared finishes - while (USART_GetFlagStatus(REMOTE_USART_INDEX, USART_FLAG_TXE) == RESET); - 8015a46: 480b ldr r0, [pc, #44] (8015a74 <_ZN6Remote8sendDataEi+0x38>) - 8015a48: f04f 0180 mov.w r1, #128 ; 0x80 - 8015a4c: f7f7 fe7c bl 800d748 - 8015a50: 4603 mov r3, r0 - 8015a52: 2b00 cmp r3, #0 - 8015a54: bf14 ite ne - 8015a56: 2300 movne r3, #0 - 8015a58: 2301 moveq r3, #1 - 8015a5a: b2db uxtb r3, r3 - 8015a5c: 2b00 cmp r3, #0 - 8015a5e: d1f2 bne.n 8015a46 <_ZN6Remote8sendDataEi+0xa> - USART_SendData(REMOTE_USART_INDEX, (u16) data); - 8015a60: 683b ldr r3, [r7, #0] - 8015a62: b29b uxth r3, r3 - 8015a64: 4803 ldr r0, [pc, #12] (8015a74 <_ZN6Remote8sendDataEi+0x38>) - 8015a66: 4619 mov r1, r3 - 8015a68: f7f7 fc2a bl 800d2c0 -#endif -} - 8015a6c: f107 0708 add.w r7, r7, #8 ; 0x8 - 8015a70: 46bd mov sp, r7 - 8015a72: bd80 pop {r7, pc} - 8015a74: 40005000 .word 0x40005000 - -08015a78 <_ZN6Remote8initUARTEi>: - -#endif - -} - -void Remote::initUART(int baudRate) - 8015a78: b580 push {r7, lr} - 8015a7a: b086 sub sp, #24 - 8015a7c: af00 add r7, sp, #0 - 8015a7e: 6078 str r0, [r7, #4] - 8015a80: 6039 str r1, [r7, #0] -{ -#ifdef ROBOTHW - USART_InitTypeDef USART_InitStructure; - - USART_InitStructure.USART_BaudRate = baudRate; - 8015a82: 683b ldr r3, [r7, #0] - 8015a84: 60bb str r3, [r7, #8] - - USART_InitStructure.USART_WordLength = USART_WordLength_8b; - 8015a86: f04f 0300 mov.w r3, #0 ; 0x0 - 8015a8a: 81bb strh r3, [r7, #12] - USART_InitStructure.USART_StopBits = USART_StopBits_1; - 8015a8c: f04f 0300 mov.w r3, #0 ; 0x0 - 8015a90: 81fb strh r3, [r7, #14] - USART_InitStructure.USART_Parity = USART_Parity_No; - 8015a92: f04f 0300 mov.w r3, #0 ; 0x0 - 8015a96: 823b strh r3, [r7, #16] - USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; - 8015a98: f04f 0300 mov.w r3, #0 ; 0x0 - 8015a9c: 82bb strh r3, [r7, #20] - - USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; - 8015a9e: f04f 030c mov.w r3, #12 ; 0xc - 8015aa2: 827b strh r3, [r7, #18] - - USART_Init(REMOTE_USART_INDEX, &USART_InitStructure); - 8015aa4: f107 0308 add.w r3, r7, #8 ; 0x8 - 8015aa8: 4806 ldr r0, [pc, #24] (8015ac4 <_ZN6Remote8initUARTEi+0x4c>) - 8015aaa: 4619 mov r1, r3 - 8015aac: f7f7 fa2e bl 800cf0c - - USART_Cmd(REMOTE_USART_INDEX, ENABLE); - 8015ab0: 4804 ldr r0, [pc, #16] (8015ac4 <_ZN6Remote8initUARTEi+0x4c>) - 8015ab2: f04f 0101 mov.w r1, #1 ; 0x1 - 8015ab6: f7f7 fb73 bl 800d1a0 -#endif -} - 8015aba: f107 0718 add.w r7, r7, #24 ; 0x18 - 8015abe: 46bd mov sp, r7 - 8015ac0: bd80 pop {r7, pc} - 8015ac2: 46c0 nop (mov r8, r8) - 8015ac4: 40005000 .word 0x40005000 - -08015ac8 <_ZN6Remote22initClocksAndPortsGPIOEv>: - - linSpeed = 0.; - angSpeed = 0.; -} - -void Remote::initClocksAndPortsGPIO() - 8015ac8: b580 push {r7, lr} - 8015aca: b084 sub sp, #16 - 8015acc: af00 add r7, sp, #0 - 8015ace: 6078 str r0, [r7, #4] -{ - -#ifdef ROBOTHW - -#ifdef STM32F40_41xxx // Pin pour le stm32 h405 - RCC_APB1PeriphClockCmd(RCC_APB1Periph_UART5, ENABLE); - 8015ad0: f44f 1080 mov.w r0, #1048576 ; 0x100000 - 8015ad4: f04f 0101 mov.w r1, #1 ; 0x1 - 8015ad8: f7f4 feac bl 800a834 - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC, ENABLE); - 8015adc: f04f 0004 mov.w r0, #4 ; 0x4 - 8015ae0: f04f 0101 mov.w r1, #1 ; 0x1 - 8015ae4: f7f4 fe40 bl 800a768 - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD, ENABLE); - 8015ae8: f04f 0008 mov.w r0, #8 ; 0x8 - 8015aec: f04f 0101 mov.w r1, #1 ; 0x1 - 8015af0: f7f4 fe3a bl 800a768 - - GPIO_InitTypeDef GPIO_InitStructure; - - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12; - 8015af4: f44f 5380 mov.w r3, #4096 ; 0x1000 - 8015af8: 60bb str r3, [r7, #8] - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - 8015afa: f04f 0302 mov.w r3, #2 ; 0x2 - 8015afe: 733b strb r3, [r7, #12] - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - 8015b00: f04f 0300 mov.w r3, #0 ; 0x0 - 8015b04: 73bb strb r3, [r7, #14] - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;//GPIO_PuPd_NOPULL; - 8015b06: f04f 0301 mov.w r3, #1 ; 0x1 - 8015b0a: 73fb strb r3, [r7, #15] - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - 8015b0c: f04f 0302 mov.w r3, #2 ; 0x2 - 8015b10: 737b strb r3, [r7, #13] - GPIO_Init(GPIOC, &GPIO_InitStructure); - 8015b12: f107 0308 add.w r3, r7, #8 ; 0x8 - 8015b16: 4815 ldr r0, [pc, #84] (8015b6c <_ZN6Remote22initClocksAndPortsGPIOEv+0xa4>) - 8015b18: 4619 mov r1, r3 - 8015b1a: f7f4 f815 bl 8009b48 - - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2; - 8015b1e: f04f 0304 mov.w r3, #4 ; 0x4 - 8015b22: 60bb str r3, [r7, #8] - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - 8015b24: f04f 0302 mov.w r3, #2 ; 0x2 - 8015b28: 733b strb r3, [r7, #12] - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - 8015b2a: f04f 0300 mov.w r3, #0 ; 0x0 - 8015b2e: 73bb strb r3, [r7, #14] - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;//GPIO_PuPd_NOPULL; - 8015b30: f04f 0301 mov.w r3, #1 ; 0x1 - 8015b34: 73fb strb r3, [r7, #15] - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - 8015b36: f04f 0302 mov.w r3, #2 ; 0x2 - 8015b3a: 737b strb r3, [r7, #13] - GPIO_Init(GPIOD, &GPIO_InitStructure); - 8015b3c: f107 0308 add.w r3, r7, #8 ; 0x8 - 8015b40: 480b ldr r0, [pc, #44] (8015b70 <_ZN6Remote22initClocksAndPortsGPIOEv+0xa8>) - 8015b42: 4619 mov r1, r3 - 8015b44: f7f4 f800 bl 8009b48 - - /* Connect USART pins to AF */ - GPIO_PinAFConfig(GPIOC, GPIO_PinSource12, GPIO_AF_UART5); - 8015b48: 4808 ldr r0, [pc, #32] (8015b6c <_ZN6Remote22initClocksAndPortsGPIOEv+0xa4>) - 8015b4a: f04f 010c mov.w r1, #12 ; 0xc - 8015b4e: f04f 0208 mov.w r2, #8 ; 0x8 - 8015b52: f7f4 f993 bl 8009e7c - GPIO_PinAFConfig(GPIOD, GPIO_PinSource2, GPIO_AF_UART5); - 8015b56: 4806 ldr r0, [pc, #24] (8015b70 <_ZN6Remote22initClocksAndPortsGPIOEv+0xa8>) - 8015b58: f04f 0102 mov.w r1, #2 ; 0x2 - 8015b5c: f04f 0208 mov.w r2, #8 ; 0x8 - 8015b60: f7f4 f98c bl 8009e7c - GPIO_PinAFConfig(GPIOD, GPIO_PinSource9, GPIO_AF_USART3);*/ // Rx -#endif - -#endif - -} - 8015b64: f107 0710 add.w r7, r7, #16 ; 0x10 - 8015b68: 46bd mov sp, r7 - 8015b6a: bd80 pop {r7, pc} - 8015b6c: 40020800 .word 0x40020800 - 8015b70: 40020c00 .word 0x40020c00 - -08015b74 <_ZN6RemoteC1Ev>: - - return singleton; -} - - -Remote::Remote() - 8015b74: b580 push {r7, lr} - 8015b76: b082 sub sp, #8 - 8015b78: af00 add r7, sp, #0 - 8015b7a: 6078 str r0, [r7, #4] -{ -#ifdef ROBOTHW - initClocksAndPortsGPIO(); - 8015b7c: 6878 ldr r0, [r7, #4] - 8015b7e: f7ff ffa3 bl 8015ac8 <_ZN6Remote22initClocksAndPortsGPIOEv> - initUART(USART_BAUDRATE); - 8015b82: 6878 ldr r0, [r7, #4] - 8015b84: f44f 5116 mov.w r1, #9600 ; 0x2580 - 8015b88: f7ff ff76 bl 8015a78 <_ZN6Remote8initUARTEi> -#endif - - remoteMode = false; - 8015b8c: 687a ldr r2, [r7, #4] - 8015b8e: f04f 0300 mov.w r3, #0 ; 0x0 - 8015b92: 7113 strb r3, [r2, #4] - - isOpenContainer = false; - 8015b94: 687a ldr r2, [r7, #4] - 8015b96: f04f 0300 mov.w r3, #0 ; 0x0 - 8015b9a: 7153 strb r3, [r2, #5] - isOpenLeftArm = false; - 8015b9c: 687a ldr r2, [r7, #4] - 8015b9e: f04f 0300 mov.w r3, #0 ; 0x0 - 8015ba2: 7193 strb r3, [r2, #6] - isOpenRightArm = false; - 8015ba4: 687a ldr r2, [r7, #4] - 8015ba6: f04f 0300 mov.w r3, #0 ; 0x0 - 8015baa: 71d3 strb r3, [r2, #7] - timerLances = -1; - 8015bac: 687a ldr r2, [r7, #4] - 8015bae: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8015bb2: 6013 str r3, [r2, #0] - - brakInv = false; - 8015bb4: 687a ldr r2, [r7, #4] - 8015bb6: f04f 0300 mov.w r3, #0 ; 0x0 - 8015bba: 7213 strb r3, [r2, #8] - brakOut = false; - 8015bbc: 687a ldr r2, [r7, #4] - 8015bbe: f04f 0300 mov.w r3, #0 ; 0x0 - 8015bc2: 7253 strb r3, [r2, #9] - - linSpeed = 0.; - 8015bc4: 687a ldr r2, [r7, #4] - 8015bc6: 4b05 ldr r3, [pc, #20] (8015bdc <_ZN6RemoteC1Ev+0x68>) - 8015bc8: 60d3 str r3, [r2, #12] - angSpeed = 0.; - 8015bca: 687a ldr r2, [r7, #4] - 8015bcc: 4b03 ldr r3, [pc, #12] (8015bdc <_ZN6RemoteC1Ev+0x68>) - 8015bce: 6113 str r3, [r2, #16] -} - 8015bd0: 687b ldr r3, [r7, #4] - 8015bd2: 4618 mov r0, r3 - 8015bd4: f107 0708 add.w r7, r7, #8 ; 0x8 - 8015bd8: 46bd mov sp, r7 - 8015bda: bd80 pop {r7, pc} - 8015bdc: 00000000 .word 0x00000000 - -08015be0 <_ZN6RemoteC2Ev>: - - return singleton; -} - - -Remote::Remote() - 8015be0: b580 push {r7, lr} - 8015be2: b082 sub sp, #8 - 8015be4: af00 add r7, sp, #0 - 8015be6: 6078 str r0, [r7, #4] -{ -#ifdef ROBOTHW - initClocksAndPortsGPIO(); - 8015be8: 6878 ldr r0, [r7, #4] - 8015bea: f7ff ff6d bl 8015ac8 <_ZN6Remote22initClocksAndPortsGPIOEv> - initUART(USART_BAUDRATE); - 8015bee: 6878 ldr r0, [r7, #4] - 8015bf0: f44f 5116 mov.w r1, #9600 ; 0x2580 - 8015bf4: f7ff ff40 bl 8015a78 <_ZN6Remote8initUARTEi> -#endif - - remoteMode = false; - 8015bf8: 687a ldr r2, [r7, #4] - 8015bfa: f04f 0300 mov.w r3, #0 ; 0x0 - 8015bfe: 7113 strb r3, [r2, #4] - - isOpenContainer = false; - 8015c00: 687a ldr r2, [r7, #4] - 8015c02: f04f 0300 mov.w r3, #0 ; 0x0 - 8015c06: 7153 strb r3, [r2, #5] - isOpenLeftArm = false; - 8015c08: 687a ldr r2, [r7, #4] - 8015c0a: f04f 0300 mov.w r3, #0 ; 0x0 - 8015c0e: 7193 strb r3, [r2, #6] - isOpenRightArm = false; - 8015c10: 687a ldr r2, [r7, #4] - 8015c12: f04f 0300 mov.w r3, #0 ; 0x0 - 8015c16: 71d3 strb r3, [r2, #7] - timerLances = -1; - 8015c18: 687a ldr r2, [r7, #4] - 8015c1a: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8015c1e: 6013 str r3, [r2, #0] - - brakInv = false; - 8015c20: 687a ldr r2, [r7, #4] - 8015c22: f04f 0300 mov.w r3, #0 ; 0x0 - 8015c26: 7213 strb r3, [r2, #8] - brakOut = false; - 8015c28: 687a ldr r2, [r7, #4] - 8015c2a: f04f 0300 mov.w r3, #0 ; 0x0 - 8015c2e: 7253 strb r3, [r2, #9] - - linSpeed = 0.; - 8015c30: 687a ldr r2, [r7, #4] - 8015c32: 4b05 ldr r3, [pc, #20] (8015c48 <_ZN6RemoteC2Ev+0x68>) - 8015c34: 60d3 str r3, [r2, #12] - angSpeed = 0.; - 8015c36: 687a ldr r2, [r7, #4] - 8015c38: 4b03 ldr r3, [pc, #12] (8015c48 <_ZN6RemoteC2Ev+0x68>) - 8015c3a: 6113 str r3, [r2, #16] -} - 8015c3c: 687b ldr r3, [r7, #4] - 8015c3e: 4618 mov r0, r3 - 8015c40: f107 0708 add.w r7, r7, #8 ; 0x8 - 8015c44: 46bd mov sp, r7 - 8015c46: bd80 pop {r7, pc} - 8015c48: 00000000 .word 0x00000000 - -08015c4c <_ZN6Remote12getSingletonEv>: -#include "brak.h" -#include "braslateral.h" - -Remote* Remote::singleton = 0; - -Remote* Remote::getSingleton() - 8015c4c: b580 push {r7, lr} - 8015c4e: b082 sub sp, #8 - 8015c50: af00 add r7, sp, #0 -{ - if (singleton==0) - 8015c52: 4b0f ldr r3, [pc, #60] (8015c90 <_ZN6Remote12getSingletonEv+0x44>) - 8015c54: 681b ldr r3, [r3, #0] - 8015c56: 2b00 cmp r3, #0 - 8015c58: d113 bne.n 8015c82 <_ZN6Remote12getSingletonEv+0x36> - singleton = new Remote(); - 8015c5a: f04f 0014 mov.w r0, #20 ; 0x14 - 8015c5e: f001 fc2f bl 80174c0 <_Znwj> - 8015c62: 4603 mov r3, r0 - 8015c64: 603b str r3, [r7, #0] - 8015c66: 683a ldr r2, [r7, #0] - 8015c68: 2a00 cmp r2, #0 - 8015c6a: d005 beq.n 8015c78 <_ZN6Remote12getSingletonEv+0x2c> - 8015c6c: 6838 ldr r0, [r7, #0] - 8015c6e: f7ff ff81 bl 8015b74 <_ZN6RemoteC1Ev> - 8015c72: 683b ldr r3, [r7, #0] - 8015c74: 607b str r3, [r7, #4] - 8015c76: e001 b.n 8015c7c <_ZN6Remote12getSingletonEv+0x30> - 8015c78: 683a ldr r2, [r7, #0] - 8015c7a: 607a str r2, [r7, #4] - 8015c7c: 4b04 ldr r3, [pc, #16] (8015c90 <_ZN6Remote12getSingletonEv+0x44>) - 8015c7e: 687a ldr r2, [r7, #4] - 8015c80: 601a str r2, [r3, #0] - - return singleton; - 8015c82: 4b03 ldr r3, [pc, #12] (8015c90 <_ZN6Remote12getSingletonEv+0x44>) - 8015c84: 681b ldr r3, [r3, #0] -} - 8015c86: 4618 mov r0, r3 - 8015c88: f107 0708 add.w r7, r7, #8 ; 0x8 - 8015c8c: 46bd mov sp, r7 - 8015c8e: bd80 pop {r7, pc} - 8015c90: 200005a0 .word 0x200005a0 - -08015c94 <_ZN6Remote3logEPc>: -// sendData(data[i]); - -// delete [] data; -//} - -void Remote::log(char* msg) - 8015c94: b580 push {r7, lr} - 8015c96: b084 sub sp, #16 - 8015c98: af00 add r7, sp, #0 - 8015c9a: 6078 str r0, [r7, #4] -{ - int pos = 0; - 8015c9c: f04f 0300 mov.w r3, #0 ; 0x0 - 8015ca0: 60bb str r3, [r7, #8] - 8015ca2: e00e b.n 8015cc2 <_ZN6Remote3logEPc+0x2e> - while(msg[pos] != '\0' ) - { - Remote::getSingleton()->sendData(msg[pos]); - 8015ca4: f7ff ffd2 bl 8015c4c <_ZN6Remote12getSingletonEv> - 8015ca8: 4601 mov r1, r0 - 8015caa: 68ba ldr r2, [r7, #8] - 8015cac: 687b ldr r3, [r7, #4] - 8015cae: 4413 add r3, r2 - 8015cb0: 781b ldrb r3, [r3, #0] - 8015cb2: 4608 mov r0, r1 - 8015cb4: 4619 mov r1, r3 - 8015cb6: f7ff fec1 bl 8015a3c <_ZN6Remote8sendDataEi> - pos++; - 8015cba: 68bb ldr r3, [r7, #8] - 8015cbc: f103 0301 add.w r3, r3, #1 ; 0x1 - 8015cc0: 60bb str r3, [r7, #8] -//} - -void Remote::log(char* msg) -{ - int pos = 0; - while(msg[pos] != '\0' ) - 8015cc2: 68ba ldr r2, [r7, #8] - 8015cc4: 687b ldr r3, [r7, #4] - 8015cc6: 4413 add r3, r2 - 8015cc8: 781b ldrb r3, [r3, #0] - 8015cca: 2b00 cmp r3, #0 - 8015ccc: d1ea bne.n 8015ca4 <_ZN6Remote3logEPc+0x10> - { - Remote::getSingleton()->sendData(msg[pos]); - pos++; - } - for(int i=0; i<10; i++) - 8015cce: f04f 0300 mov.w r3, #0 ; 0x0 - 8015cd2: 60fb str r3, [r7, #12] - 8015cd4: e00b b.n 8015cee <_ZN6Remote3logEPc+0x5a> - Remote::getSingleton()->sendData(' '); - 8015cd6: f7ff ffb9 bl 8015c4c <_ZN6Remote12getSingletonEv> - 8015cda: 4603 mov r3, r0 - 8015cdc: 4618 mov r0, r3 - 8015cde: f04f 0120 mov.w r1, #32 ; 0x20 - 8015ce2: f7ff feab bl 8015a3c <_ZN6Remote8sendDataEi> - while(msg[pos] != '\0' ) - { - Remote::getSingleton()->sendData(msg[pos]); - pos++; - } - for(int i=0; i<10; i++) - 8015ce6: 68fb ldr r3, [r7, #12] - 8015ce8: f103 0301 add.w r3, r3, #1 ; 0x1 - 8015cec: 60fb str r3, [r7, #12] - 8015cee: 68fb ldr r3, [r7, #12] - 8015cf0: 2b09 cmp r3, #9 - 8015cf2: ddf0 ble.n 8015cd6 <_ZN6Remote3logEPc+0x42> - Remote::getSingleton()->sendData(' '); -} - 8015cf4: f107 0710 add.w r7, r7, #16 ; 0x10 - 8015cf8: 46bd mov sp, r7 - 8015cfa: bd80 pop {r7, pc} - -08015cfc <_ZN6Remote6updateEb>: -#else - return 0; -#endif -} - -void Remote::update(bool allowChangeMode) - 8015cfc: b580 push {r7, lr} - 8015cfe: b088 sub sp, #32 - 8015d00: af00 add r7, sp, #0 - 8015d02: 6178 str r0, [r7, #20] - 8015d04: 460b mov r3, r1 - 8015d06: 74fb strb r3, [r7, #19] - } -#endif - - //if (allowChangeMode) - { - if (dataAvailable() && !remoteMode) - 8015d08: 6978 ldr r0, [r7, #20] - 8015d0a: f7ff fe3d bl 8015988 <_ZN6Remote13dataAvailableEv> - 8015d0e: 4603 mov r3, r0 - 8015d10: f083 0301 eor.w r3, r3, #1 ; 0x1 - 8015d14: b2db uxtb r3, r3 - 8015d16: 2b00 cmp r3, #0 - 8015d18: d10d bne.n 8015d36 <_ZN6Remote6updateEb+0x3a> - 8015d1a: 697b ldr r3, [r7, #20] - 8015d1c: 791b ldrb r3, [r3, #4] - 8015d1e: f083 0301 eor.w r3, r3, #1 ; 0x1 - 8015d22: b2db uxtb r3, r3 - 8015d24: f083 0301 eor.w r3, r3, #1 ; 0x1 - 8015d28: b2db uxtb r3, r3 - 8015d2a: 2b00 cmp r3, #0 - 8015d2c: d103 bne.n 8015d36 <_ZN6Remote6updateEb+0x3a> - 8015d2e: f04f 0301 mov.w r3, #1 ; 0x1 - 8015d32: 60bb str r3, [r7, #8] - 8015d34: e002 b.n 8015d3c <_ZN6Remote6updateEb+0x40> - 8015d36: f04f 0300 mov.w r3, #0 ; 0x0 - 8015d3a: 60bb str r3, [r7, #8] - 8015d3c: 68bb ldr r3, [r7, #8] - 8015d3e: 2b00 cmp r3, #0 - 8015d40: d007 beq.n 8015d52 <_ZN6Remote6updateEb+0x56> - { - remoteMode = true; - 8015d42: 697a ldr r2, [r7, #20] - 8015d44: f04f 0301 mov.w r3, #1 ; 0x1 - 8015d48: 7113 strb r3, [r2, #4] - Remote::log("Reçu, avant toute commandant !"); - 8015d4a: 4b72 ldr r3, [pc, #456] (8015f14 <_ZN6Remote6updateEb+0x218>) - 8015d4c: 4618 mov r0, r3 - 8015d4e: f7ff ffa1 bl 8015c94 <_ZN6Remote3logEPc> - } - if (remoteMode) - 8015d52: 697b ldr r3, [r7, #20] - 8015d54: 791b ldrb r3, [r3, #4] - 8015d56: 2b00 cmp r3, #0 - 8015d58: d004 beq.n 8015d64 <_ZN6Remote6updateEb+0x68> - Led::setOn(1); - 8015d5a: f04f 0001 mov.w r0, #1 ; 0x1 - 8015d5e: f7ff f935 bl 8014fcc <_ZN3Led5setOnEi> - 8015d62: e003 b.n 8015d6c <_ZN6Remote6updateEb+0x70> - else - Led::setOff(1); - 8015d64: f04f 0001 mov.w r0, #1 ; 0x1 - 8015d68: f7ff f8fe bl 8014f68 <_ZN3Led6setOffEi> - } - - if (!allowChangeMode && remoteMode && dataAvailable()) - 8015d6c: 7cfb ldrb r3, [r7, #19] - 8015d6e: f083 0301 eor.w r3, r3, #1 ; 0x1 - 8015d72: b2db uxtb r3, r3 - 8015d74: f083 0301 eor.w r3, r3, #1 ; 0x1 - 8015d78: b2db uxtb r3, r3 - 8015d7a: 2b00 cmp r3, #0 - 8015d7c: d113 bne.n 8015da6 <_ZN6Remote6updateEb+0xaa> - 8015d7e: 697b ldr r3, [r7, #20] - 8015d80: 791b ldrb r3, [r3, #4] - 8015d82: f083 0301 eor.w r3, r3, #1 ; 0x1 - 8015d86: b2db uxtb r3, r3 - 8015d88: 2b00 cmp r3, #0 - 8015d8a: d10c bne.n 8015da6 <_ZN6Remote6updateEb+0xaa> - 8015d8c: 6978 ldr r0, [r7, #20] - 8015d8e: f7ff fdfb bl 8015988 <_ZN6Remote13dataAvailableEv> - 8015d92: 4603 mov r3, r0 - 8015d94: f083 0301 eor.w r3, r3, #1 ; 0x1 - 8015d98: b2db uxtb r3, r3 - 8015d9a: 2b00 cmp r3, #0 - 8015d9c: d103 bne.n 8015da6 <_ZN6Remote6updateEb+0xaa> - 8015d9e: f04f 0301 mov.w r3, #1 ; 0x1 - 8015da2: 60fb str r3, [r7, #12] - 8015da4: e002 b.n 8015dac <_ZN6Remote6updateEb+0xb0> - 8015da6: f04f 0300 mov.w r3, #0 ; 0x0 - 8015daa: 60fb str r3, [r7, #12] - 8015dac: 68fb ldr r3, [r7, #12] - 8015dae: 2b00 cmp r3, #0 - 8015db0: f000 80ab beq.w 8015f0a <_ZN6Remote6updateEb+0x20e> - { - int order = receiveData(); - 8015db4: 6978 ldr r0, [r7, #20] - 8015db6: f7ff fdfd bl 80159b4 <_ZN6Remote11receiveDataEv> - 8015dba: 4603 mov r3, r0 - 8015dbc: 61fb str r3, [r7, #28] - Remote::log("Got:"); - 8015dbe: 4b56 ldr r3, [pc, #344] (8015f18 <_ZN6Remote6updateEb+0x21c>) - 8015dc0: 4618 mov r0, r3 - 8015dc2: f7ff ff67 bl 8015c94 <_ZN6Remote3logEPc> - Remote::getSingleton()->sendData(order); - 8015dc6: f7ff ff41 bl 8015c4c <_ZN6Remote12getSingletonEv> - 8015dca: 4603 mov r3, r0 - 8015dcc: 4618 mov r0, r3 - 8015dce: 69f9 ldr r1, [r7, #28] - 8015dd0: f7ff fe34 bl 8015a3c <_ZN6Remote8sendDataEi> -#ifdef KRABI_JR - switch(order) - 8015dd4: 69fb ldr r3, [r7, #28] - 8015dd6: 607b str r3, [r7, #4] - 8015dd8: 687b ldr r3, [r7, #4] - 8015dda: 2b02 cmp r3, #2 - 8015ddc: d01e beq.n 8015e1c <_ZN6Remote6updateEb+0x120> - 8015dde: 687b ldr r3, [r7, #4] - 8015de0: 2b03 cmp r3, #3 - 8015de2: d034 beq.n 8015e4e <_ZN6Remote6updateEb+0x152> - 8015de4: 687b ldr r3, [r7, #4] - 8015de6: 2b01 cmp r3, #1 - 8015de8: d149 bne.n 8015e7e <_ZN6Remote6updateEb+0x182> - { - case 1: - if (isOpenContainer) - 8015dea: 697b ldr r3, [r7, #20] - 8015dec: 795b ldrb r3, [r3, #5] - 8015dee: 2b00 cmp r3, #0 - 8015df0: d006 beq.n 8015e00 <_ZN6Remote6updateEb+0x104> - Container::getSingleton()->close(); - 8015df2: f7f8 fda5 bl 800e940 <_ZN9Container12getSingletonEv> - 8015df6: 4603 mov r3, r0 - 8015df8: 4618 mov r0, r3 - 8015dfa: f7f8 fd33 bl 800e864 <_ZN9Container5closeEv> - 8015dfe: e005 b.n 8015e0c <_ZN6Remote6updateEb+0x110> - else - Container::getSingleton()->open(); - 8015e00: f7f8 fd9e bl 800e940 <_ZN9Container12getSingletonEv> - 8015e04: 4603 mov r3, r0 - 8015e06: 4618 mov r0, r3 - 8015e08: f7f8 fd3c bl 800e884 <_ZN9Container4openEv> - isOpenContainer = !isOpenContainer; - 8015e0c: 697b ldr r3, [r7, #20] - 8015e0e: 795b ldrb r3, [r3, #5] - 8015e10: f083 0301 eor.w r3, r3, #1 ; 0x1 - 8015e14: b2db uxtb r3, r3 - 8015e16: 697a ldr r2, [r7, #20] - 8015e18: 7153 strb r3, [r2, #5] - 8015e1a: e030 b.n 8015e7e <_ZN6Remote6updateEb+0x182> - break; - case 2: - if (isOpenLeftArm) - 8015e1c: 697b ldr r3, [r7, #20] - 8015e1e: 799b ldrb r3, [r3, #6] - 8015e20: 2b00 cmp r3, #0 - 8015e22: d006 beq.n 8015e32 <_ZN6Remote6updateEb+0x136> - BrasLateral::getLeft()->collapse(); - 8015e24: f7f8 fb0e bl 800e444 <_ZN11BrasLateral7getLeftEv> - 8015e28: 4603 mov r3, r0 - 8015e2a: 4618 mov r0, r3 - 8015e2c: f7f8 fa22 bl 800e274 <_ZN11BrasLateral8collapseEv> - 8015e30: e005 b.n 8015e3e <_ZN6Remote6updateEb+0x142> - else - BrasLateral::getLeft()->expand(); - 8015e32: f7f8 fb07 bl 800e444 <_ZN11BrasLateral7getLeftEv> - 8015e36: 4603 mov r3, r0 - 8015e38: 4618 mov r0, r3 - 8015e3a: f7f8 fa2b bl 800e294 <_ZN11BrasLateral6expandEv> - isOpenLeftArm = !isOpenLeftArm; - 8015e3e: 697b ldr r3, [r7, #20] - 8015e40: 799b ldrb r3, [r3, #6] - 8015e42: f083 0301 eor.w r3, r3, #1 ; 0x1 - 8015e46: b2db uxtb r3, r3 - 8015e48: 697a ldr r2, [r7, #20] - 8015e4a: 7193 strb r3, [r2, #6] - 8015e4c: e017 b.n 8015e7e <_ZN6Remote6updateEb+0x182> - break; - case 3: - if (isOpenRightArm) - 8015e4e: 697b ldr r3, [r7, #20] - 8015e50: 79db ldrb r3, [r3, #7] - 8015e52: 2b00 cmp r3, #0 - 8015e54: d006 beq.n 8015e64 <_ZN6Remote6updateEb+0x168> - BrasLateral::getRight()->collapse(); - 8015e56: f7f8 fae5 bl 800e424 <_ZN11BrasLateral8getRightEv> - 8015e5a: 4603 mov r3, r0 - 8015e5c: 4618 mov r0, r3 - 8015e5e: f7f8 fa09 bl 800e274 <_ZN11BrasLateral8collapseEv> - 8015e62: e005 b.n 8015e70 <_ZN6Remote6updateEb+0x174> - else - BrasLateral::getRight()->expand(); - 8015e64: f7f8 fade bl 800e424 <_ZN11BrasLateral8getRightEv> - 8015e68: 4603 mov r3, r0 - 8015e6a: 4618 mov r0, r3 - 8015e6c: f7f8 fa12 bl 800e294 <_ZN11BrasLateral6expandEv> - isOpenRightArm = !isOpenRightArm; - 8015e70: 697b ldr r3, [r7, #20] - 8015e72: 79db ldrb r3, [r3, #7] - 8015e74: f083 0301 eor.w r3, r3, #1 ; 0x1 - 8015e78: b2db uxtb r3, r3 - 8015e7a: 697a ldr r2, [r7, #20] - 8015e7c: 71d3 strb r3, [r2, #7] - break; - } -#endif - - // Linear Speed - if (order>=0 and order<=50) - 8015e7e: 69fb ldr r3, [r7, #28] - 8015e80: 2b00 cmp r3, #0 - 8015e82: db2d blt.n 8015ee0 <_ZN6Remote6updateEb+0x1e4> - 8015e84: 69fb ldr r3, [r7, #28] - 8015e86: 2b32 cmp r3, #50 - 8015e88: dc2a bgt.n 8015ee0 <_ZN6Remote6updateEb+0x1e4> - linSpeed = ((float)(order-25)) / 25. * LINEAR_REMOTE_SPEED_LIMIT; - 8015e8a: 69fb ldr r3, [r7, #28] - 8015e8c: f1a3 0319 sub.w r3, r3, #25 ; 0x19 - 8015e90: 4618 mov r0, r3 - 8015e92: f017 f83d bl 802cf10 <__aeabi_i2f> - 8015e96: 4603 mov r3, r0 - 8015e98: 4618 mov r0, r3 - 8015e9a: f016 fc1b bl 802c6d4 <__aeabi_f2d> - 8015e9e: 4602 mov r2, r0 - 8015ea0: 460b mov r3, r1 - 8015ea2: 4610 mov r0, r2 - 8015ea4: 4619 mov r1, r3 - 8015ea6: f04f 0200 mov.w r2, #0 ; 0x0 - 8015eaa: f04f 4380 mov.w r3, #1073741824 ; 0x40000000 - 8015eae: f503 1364 add.w r3, r3, #3735552 ; 0x390000 - 8015eb2: f016 fd8d bl 802c9d0 <__aeabi_ddiv> - 8015eb6: 4602 mov r2, r0 - 8015eb8: 460b mov r3, r1 - 8015eba: 4610 mov r0, r2 - 8015ebc: 4619 mov r1, r3 - 8015ebe: f04f 0200 mov.w r2, #0 ; 0x0 - 8015ec2: f04f 4380 mov.w r3, #1073741824 ; 0x40000000 - 8015ec6: f503 1350 add.w r3, r3, #3407872 ; 0x340000 - 8015eca: f016 fc57 bl 802c77c <__aeabi_dmul> - 8015ece: 4602 mov r2, r0 - 8015ed0: 460b mov r3, r1 - 8015ed2: 4610 mov r0, r2 - 8015ed4: 4619 mov r1, r3 - 8015ed6: f016 ff11 bl 802ccfc <__aeabi_d2f> - 8015eda: 4602 mov r2, r0 - 8015edc: 697b ldr r3, [r7, #20] - 8015ede: 60da str r2, [r3, #12] - - // Angular Speed - if (order>=51 and order<=101) - 8015ee0: 69fb ldr r3, [r7, #28] - 8015ee2: 2b32 cmp r3, #50 - 8015ee4: dd11 ble.n 8015f0a <_ZN6Remote6updateEb+0x20e> - 8015ee6: 69fb ldr r3, [r7, #28] - 8015ee8: 2b65 cmp r3, #101 - 8015eea: dc0e bgt.n 8015f0a <_ZN6Remote6updateEb+0x20e> - angSpeed = -((float)(order-75)) / 25. * ANGULAR_REMOTE_SPEED_LIMIT; - 8015eec: 69fb ldr r3, [r7, #28] - 8015eee: f1a3 034b sub.w r3, r3, #75 ; 0x4b - 8015ef2: 4618 mov r0, r3 - 8015ef4: f017 f80c bl 802cf10 <__aeabi_i2f> - 8015ef8: 4603 mov r3, r0 - 8015efa: 4618 mov r0, r3 - 8015efc: 4907 ldr r1, [pc, #28] (8015f1c <_ZN6Remote6updateEb+0x220>) - 8015efe: f017 f90f bl 802d120 <__aeabi_fdiv> - 8015f02: 4603 mov r3, r0 - 8015f04: 461a mov r2, r3 - 8015f06: 697b ldr r3, [r7, #20] - 8015f08: 611a str r2, [r3, #16] - } -} - 8015f0a: f107 0720 add.w r7, r7, #32 ; 0x20 - 8015f0e: 46bd mov sp, r7 - 8015f10: bd80 pop {r7, pc} - 8015f12: 46c0 nop (mov r8, r8) - 8015f14: 08033f98 .word 0x08033f98 - 8015f18: 08033fb8 .word 0x08033fb8 - 8015f1c: c1c80000 .word 0xc1c80000 - -08015f20 <_ZN4Roue6tourneEf>: - GPIO_InitStructureSortie2.GPIO_Speed = GPIO_Speed_2MHz; //La vitesse de rafraichissement du port - GPIO_Init(GPIOx_Sens, &GPIO_InitStructureSortie2); - -} - -void Roue::tourne(float rapport) - 8015f20: b580 push {r7, lr} - 8015f22: b082 sub sp, #8 - 8015f24: af00 add r7, sp, #0 - 8015f26: 6078 str r0, [r7, #4] - 8015f28: 6039 str r1, [r7, #0] -{ - //rapport = 1; - if(rapport >=0) - 8015f2a: 6838 ldr r0, [r7, #0] - 8015f2c: 4915 ldr r1, [pc, #84] (8015f84 <_ZN4Roue6tourneEf+0x64>) - 8015f2e: f017 f9f3 bl 802d318 <__aeabi_fcmpge> - 8015f32: 4603 mov r3, r0 - 8015f34: 2b00 cmp r3, #0 - 8015f36: d00f beq.n 8015f58 <_ZN4Roue6tourneEf+0x38> - //if((rapport >= 0 && !oppositeDirection) || (rapport<0 && oppositeDirection)) - { - GPIO_WriteBit(GPIOx_Sens, GPIO_Pin_Sens, Bit_RESET); - 8015f38: 687b ldr r3, [r7, #4] - 8015f3a: 689a ldr r2, [r3, #8] - 8015f3c: 687b ldr r3, [r7, #4] - 8015f3e: 899b ldrh r3, [r3, #12] - 8015f40: 4610 mov r0, r2 - 8015f42: 4619 mov r1, r3 - 8015f44: f04f 0200 mov.w r2, #0 ; 0x0 - 8015f48: f7f3 ff60 bl 8009e0c - pwm.setDutyCycle(rapport); - 8015f4c: 687b ldr r3, [r7, #4] - 8015f4e: 4618 mov r0, r3 - 8015f50: 6839 ldr r1, [r7, #0] - 8015f52: f7ff fb21 bl 8015598 <_ZN10PWMHandler12setDutyCycleEf> - 8015f56: e011 b.n 8015f7c <_ZN4Roue6tourneEf+0x5c> - } - else - { - GPIO_WriteBit(GPIOx_Sens, GPIO_Pin_Sens, Bit_SET); - 8015f58: 687b ldr r3, [r7, #4] - 8015f5a: 689a ldr r2, [r3, #8] - 8015f5c: 687b ldr r3, [r7, #4] - 8015f5e: 899b ldrh r3, [r3, #12] - 8015f60: 4610 mov r0, r2 - 8015f62: 4619 mov r1, r3 - 8015f64: f04f 0201 mov.w r2, #1 ; 0x1 - 8015f68: f7f3 ff50 bl 8009e0c - pwm.setDutyCycle(-rapport); - 8015f6c: 687a ldr r2, [r7, #4] - 8015f6e: 683b ldr r3, [r7, #0] - 8015f70: f083 4300 eor.w r3, r3, #2147483648 ; 0x80000000 - 8015f74: 4610 mov r0, r2 - 8015f76: 4619 mov r1, r3 - 8015f78: f7ff fb0e bl 8015598 <_ZN10PWMHandler12setDutyCycleEf> -/* - if(fabs(rapport) < RAPPORT_OK) - pwm.setDutyCycle(0); - else - pwm.setDutyCycle(fabs(rapport)+RAPPORT_SUPPLEMENTAIRE);*/ -} - 8015f7c: f107 0708 add.w r7, r7, #8 ; 0x8 - 8015f80: 46bd mov sp, r7 - 8015f82: bd80 pop {r7, pc} - 8015f84: 00000000 .word 0x00000000 - -08015f88 <_ZN4RoueC1EP11TIM_TypeDefhP12GPIO_TypeDeftS3_t>: -#elif defined(STM32F10X_MD) || defined(STM32F10X_CL) - #include "stm32f10x_rcc.h" -#endif -#include - -Roue::Roue(TIM_TypeDef* TIMx, unsigned char OCx, GPIO_TypeDef* GPIOx_pwm, uint16_t GPIO_Pin_pwm, GPIO_TypeDef* GPIOx_Sens, uint16_t GPIO_Pin_Sens) - 8015f88: b580 push {r7, lr} - 8015f8a: b088 sub sp, #32 - 8015f8c: af02 add r7, sp, #8 - 8015f8e: 60f8 str r0, [r7, #12] - 8015f90: 60b9 str r1, [r7, #8] - 8015f92: 603b str r3, [r7, #0] - 8015f94: 4613 mov r3, r2 - 8015f96: 71fb strb r3, [r7, #7] - : Moteur(TIMx, OCx, GPIOx_pwm, GPIO_Pin_pwm) - 8015f98: 68fa ldr r2, [r7, #12] - 8015f9a: f897 c007 ldrb.w ip, [r7, #7] - 8015f9e: 8c3b ldrh r3, [r7, #32] - 8015fa0: 9300 str r3, [sp, #0] - 8015fa2: 4610 mov r0, r2 - 8015fa4: 68b9 ldr r1, [r7, #8] - 8015fa6: 4662 mov r2, ip - 8015fa8: 683b ldr r3, [r7, #0] - 8015faa: f7f8 fe71 bl 800ec90 <_ZN6MoteurC2EP11TIM_TypeDefhP12GPIO_TypeDeft> -{ - this->GPIOx_Sens = GPIOx_Sens; - 8015fae: 68fa ldr r2, [r7, #12] - 8015fb0: 6a7b ldr r3, [r7, #36] - 8015fb2: 6093 str r3, [r2, #8] - this->GPIO_Pin_Sens = GPIO_Pin_Sens; - 8015fb4: 68fa ldr r2, [r7, #12] - 8015fb6: 8d3b ldrh r3, [r7, #40] - 8015fb8: 8193 strh r3, [r2, #12] - GPIO_InitStructureSortie.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_Init(GPIOD, &GPIO_InitStructureSortie); -*/ - // initialiser pins d'entrée sur le STM du port x_sens - GPIO_InitTypeDef GPIO_InitStructureSortie2; - GPIO_InitStructureSortie2.GPIO_Pin = GPIO_Pin_Sens; - 8015fba: 8d3b ldrh r3, [r7, #40] - 8015fbc: 613b str r3, [r7, #16] - #ifdef STM32F40_41xxx - GPIO_InitStructureSortie2.GPIO_Mode = GPIO_Mode_OUT; - 8015fbe: f04f 0301 mov.w r3, #1 ; 0x1 - 8015fc2: 753b strb r3, [r7, #20] - GPIO_InitStructureSortie2.GPIO_OType = GPIO_OType_PP; - 8015fc4: f04f 0300 mov.w r3, #0 ; 0x0 - 8015fc8: 75bb strb r3, [r7, #22] - #elif defined(STM32F10X_MD) || defined(STM32F10X_CL) - GPIO_InitStructureSortie2.GPIO_Mode = GPIO_Mode_Out_PP; - #endif - GPIO_InitStructureSortie2.GPIO_Speed = GPIO_Speed_2MHz; //La vitesse de rafraichissement du port - 8015fca: f04f 0300 mov.w r3, #0 ; 0x0 - 8015fce: 757b strb r3, [r7, #21] - GPIO_Init(GPIOx_Sens, &GPIO_InitStructureSortie2); - 8015fd0: f107 0310 add.w r3, r7, #16 ; 0x10 - 8015fd4: 6a78 ldr r0, [r7, #36] - 8015fd6: 4619 mov r1, r3 - 8015fd8: f7f3 fdb6 bl 8009b48 - -} - 8015fdc: 68fb ldr r3, [r7, #12] - 8015fde: 4618 mov r0, r3 - 8015fe0: f107 0718 add.w r7, r7, #24 ; 0x18 - 8015fe4: 46bd mov sp, r7 - 8015fe6: bd80 pop {r7, pc} - -08015fe8 <_ZN4RoueC2EP11TIM_TypeDefhP12GPIO_TypeDeftS3_t>: -#elif defined(STM32F10X_MD) || defined(STM32F10X_CL) - #include "stm32f10x_rcc.h" -#endif -#include - -Roue::Roue(TIM_TypeDef* TIMx, unsigned char OCx, GPIO_TypeDef* GPIOx_pwm, uint16_t GPIO_Pin_pwm, GPIO_TypeDef* GPIOx_Sens, uint16_t GPIO_Pin_Sens) - 8015fe8: b580 push {r7, lr} - 8015fea: b088 sub sp, #32 - 8015fec: af02 add r7, sp, #8 - 8015fee: 60f8 str r0, [r7, #12] - 8015ff0: 60b9 str r1, [r7, #8] - 8015ff2: 603b str r3, [r7, #0] - 8015ff4: 4613 mov r3, r2 - 8015ff6: 71fb strb r3, [r7, #7] - : Moteur(TIMx, OCx, GPIOx_pwm, GPIO_Pin_pwm) - 8015ff8: 68fa ldr r2, [r7, #12] - 8015ffa: f897 c007 ldrb.w ip, [r7, #7] - 8015ffe: 8c3b ldrh r3, [r7, #32] - 8016000: 9300 str r3, [sp, #0] - 8016002: 4610 mov r0, r2 - 8016004: 68b9 ldr r1, [r7, #8] - 8016006: 4662 mov r2, ip - 8016008: 683b ldr r3, [r7, #0] - 801600a: f7f8 fe41 bl 800ec90 <_ZN6MoteurC2EP11TIM_TypeDefhP12GPIO_TypeDeft> -{ - this->GPIOx_Sens = GPIOx_Sens; - 801600e: 68fa ldr r2, [r7, #12] - 8016010: 6a7b ldr r3, [r7, #36] - 8016012: 6093 str r3, [r2, #8] - this->GPIO_Pin_Sens = GPIO_Pin_Sens; - 8016014: 68fa ldr r2, [r7, #12] - 8016016: 8d3b ldrh r3, [r7, #40] - 8016018: 8193 strh r3, [r2, #12] - GPIO_InitStructureSortie.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_Init(GPIOD, &GPIO_InitStructureSortie); -*/ - // initialiser pins d'entrée sur le STM du port x_sens - GPIO_InitTypeDef GPIO_InitStructureSortie2; - GPIO_InitStructureSortie2.GPIO_Pin = GPIO_Pin_Sens; - 801601a: 8d3b ldrh r3, [r7, #40] - 801601c: 613b str r3, [r7, #16] - #ifdef STM32F40_41xxx - GPIO_InitStructureSortie2.GPIO_Mode = GPIO_Mode_OUT; - 801601e: f04f 0301 mov.w r3, #1 ; 0x1 - 8016022: 753b strb r3, [r7, #20] - GPIO_InitStructureSortie2.GPIO_OType = GPIO_OType_PP; - 8016024: f04f 0300 mov.w r3, #0 ; 0x0 - 8016028: 75bb strb r3, [r7, #22] - #elif defined(STM32F10X_MD) || defined(STM32F10X_CL) - GPIO_InitStructureSortie2.GPIO_Mode = GPIO_Mode_Out_PP; - #endif - GPIO_InitStructureSortie2.GPIO_Speed = GPIO_Speed_2MHz; //La vitesse de rafraichissement du port - 801602a: f04f 0300 mov.w r3, #0 ; 0x0 - 801602e: 757b strb r3, [r7, #21] - GPIO_Init(GPIOx_Sens, &GPIO_InitStructureSortie2); - 8016030: f107 0310 add.w r3, r7, #16 ; 0x10 - 8016034: 6a78 ldr r0, [r7, #36] - 8016036: 4619 mov r1, r3 - 8016038: f7f3 fd86 bl 8009b48 - -} - 801603c: 68fb ldr r3, [r7, #12] - 801603e: 4618 mov r0, r3 - 8016040: f107 0718 add.w r7, r7, #24 ; 0x18 - 8016044: 46bd mov sp, r7 - 8016046: bd80 pop {r7, pc} - -08016048 <_ZN11SharpSensor8getValueEv>: - output = false; - #endif - -} - -Sensor::OutputSensor SharpSensor::getValue() - 8016048: b580 push {r7, lr} - 801604a: b088 sub sp, #32 - 801604c: af00 add r7, sp, #0 - 801604e: 6078 str r0, [r7, #4] - 8016050: 60f9 str r1, [r7, #12] -{ - OutputSensor outputR; - outputR.type = SHARP; - 8016052: f04f 0300 mov.w r3, #0 ; 0x0 - 8016056: 687a ldr r2, [r7, #4] - 8016058: 7013 strb r3, [r2, #0] - outputR.f = (float)value; - 801605a: 68fb ldr r3, [r7, #12] - 801605c: 691b ldr r3, [r3, #16] - 801605e: 4618 mov r0, r3 - 8016060: f016 ff56 bl 802cf10 <__aeabi_i2f> - 8016064: 4603 mov r3, r0 - 8016066: 687a ldr r2, [r7, #4] - 8016068: 6053 str r3, [r2, #4] - outputR.b = (output && actif);// && actif && !SharpSensor::estDesactive); - 801606a: 68fb ldr r3, [r7, #12] - 801606c: 7b9b ldrb r3, [r3, #14] - 801606e: f083 0301 eor.w r3, r3, #1 ; 0x1 - 8016072: b2db uxtb r3, r3 - 8016074: 2b00 cmp r3, #0 - 8016076: d10a bne.n 801608e <_ZN11SharpSensor8getValueEv+0x46> - 8016078: 68fb ldr r3, [r7, #12] - 801607a: 7bdb ldrb r3, [r3, #15] - 801607c: f083 0301 eor.w r3, r3, #1 ; 0x1 - 8016080: b2db uxtb r3, r3 - 8016082: 2b00 cmp r3, #0 - 8016084: d103 bne.n 801608e <_ZN11SharpSensor8getValueEv+0x46> - 8016086: f04f 0301 mov.w r3, #1 ; 0x1 - 801608a: 60bb str r3, [r7, #8] - 801608c: e002 b.n 8016094 <_ZN11SharpSensor8getValueEv+0x4c> - 801608e: f04f 0200 mov.w r2, #0 ; 0x0 - 8016092: 60ba str r2, [r7, #8] - 8016094: 68ba ldr r2, [r7, #8] - 8016096: 4613 mov r3, r2 - 8016098: 687a ldr r2, [r7, #4] - 801609a: 7213 strb r3, [r2, #8] - return outputR; -} - 801609c: 6878 ldr r0, [r7, #4] - 801609e: f107 0720 add.w r7, r7, #32 ; 0x20 - 80160a2: 46bd mov sp, r7 - 80160a4: bd80 pop {r7, pc} - 80160a6: 46c0 nop (mov r8, r8) - -080160a8 <_ZN11SharpSensor7getNameEv>: - -SharpSensor::SharpName SharpSensor::getName() - 80160a8: b480 push {r7} - 80160aa: b083 sub sp, #12 - 80160ac: af00 add r7, sp, #0 - 80160ae: 6078 str r0, [r7, #4] -{ - return name; - 80160b0: 687b ldr r3, [r7, #4] - 80160b2: 7b5b ldrb r3, [r3, #13] -} - 80160b4: 4618 mov r0, r3 - 80160b6: f107 070c add.w r7, r7, #12 ; 0xc - 80160ba: 46bd mov sp, r7 - 80160bc: bc80 pop {r7} - 80160be: 4770 bx lr - -080160c0 <_ZN11SharpSensor8setActifEv>: - - -void SharpSensor::setActif() - 80160c0: b480 push {r7} - 80160c2: b083 sub sp, #12 - 80160c4: af00 add r7, sp, #0 - 80160c6: 6078 str r0, [r7, #4] -{ - actif = true; - 80160c8: 687b ldr r3, [r7, #4] - 80160ca: f04f 0201 mov.w r2, #1 ; 0x1 - 80160ce: 73da strb r2, [r3, #15] -} - 80160d0: f107 070c add.w r7, r7, #12 ; 0xc - 80160d4: 46bd mov sp, r7 - 80160d6: bc80 pop {r7} - 80160d8: 4770 bx lr - 80160da: 46c0 nop (mov r8, r8) - -080160dc <_ZN11SharpSensor10unsetActifEv>: - -void SharpSensor::unsetActif() - 80160dc: b480 push {r7} - 80160de: b083 sub sp, #12 - 80160e0: af00 add r7, sp, #0 - 80160e2: 6078 str r0, [r7, #4] -{ - actif = false; - 80160e4: 687b ldr r3, [r7, #4] - 80160e6: f04f 0200 mov.w r2, #0 ; 0x0 - 80160ea: 73da strb r2, [r3, #15] -} - 80160ec: f107 070c add.w r7, r7, #12 ; 0xc - 80160f0: 46bd mov sp, r7 - 80160f2: bc80 pop {r7} - 80160f4: 4770 bx lr - 80160f6: 46c0 nop (mov r8, r8) - -080160f8 <_ZN11SharpSensor11updateValueEv>: -SharpSensor::~SharpSensor() -{ - //dtor -} - -void SharpSensor::updateValue() - 80160f8: b580 push {r7, lr} - 80160fa: b082 sub sp, #8 - 80160fc: af00 add r7, sp, #0 - 80160fe: 6078 str r0, [r7, #4] -{ - #ifdef ROBOTHW - while(!AnalogSensor::conversionFinished()); // au cas où l'interrupt de l'asservissement tombe avant la fin de l'acquisition/conversion - 8016100: f7fd fe30 bl 8013d64 <_ZN12AnalogSensor18conversionFinishedEv> - 8016104: 4603 mov r3, r0 - 8016106: f083 0301 eor.w r3, r3, #1 ; 0x1 - 801610a: b2db uxtb r3, r3 - 801610c: 2b00 cmp r3, #0 - 801610e: d1f7 bne.n 8016100 <_ZN11SharpSensor11updateValueEv+0x8> - ** ** - ** ** - ***********************************************/ - - #if defined(STM32F10X_MD) || defined(STM32F40_41xxx) // KJ - H405 - value = *data; - 8016110: 687b ldr r3, [r7, #4] - 8016112: 689b ldr r3, [r3, #8] - 8016114: 681b ldr r3, [r3, #0] - 8016116: 461a mov r2, r3 - 8016118: 687b ldr r3, [r7, #4] - 801611a: 611a str r2, [r3, #16] - value >>= 4; - 801611c: 687b ldr r3, [r7, #4] - 801611e: 691b ldr r3, [r3, #16] - 8016120: ea4f 1223 mov.w r2, r3, asr #4 - 8016124: 687b ldr r3, [r7, #4] - 8016126: 611a str r2, [r3, #16] - #else // K - H107 - value = *data; - #endif - - counter <<= 1; - 8016128: 687b ldr r3, [r7, #4] - 801612a: 7b1b ldrb r3, [r3, #12] - 801612c: ea4f 0343 mov.w r3, r3, lsl #1 - 8016130: b2db uxtb r3, r3 - 8016132: 687a ldr r2, [r7, #4] - 8016134: 7313 strb r3, [r2, #12] - counter |= (value > seuilDetection); - 8016136: 687b ldr r3, [r7, #4] - 8016138: 7b1b ldrb r3, [r3, #12] - 801613a: 4619 mov r1, r3 - 801613c: 687b ldr r3, [r7, #4] - 801613e: 691b ldr r3, [r3, #16] - 8016140: 461a mov r2, r3 - 8016142: 687b ldr r3, [r7, #4] - 8016144: 695b ldr r3, [r3, #20] - 8016146: 429a cmp r2, r3 - 8016148: bf94 ite ls - 801614a: 2300 movls r3, #0 - 801614c: 2301 movhi r3, #1 - 801614e: 460a mov r2, r1 - 8016150: ea42 0303 orr.w r3, r2, r3 - 8016154: b2db uxtb r3, r3 - 8016156: b2db uxtb r3, r3 - 8016158: 687a ldr r2, [r7, #4] - 801615a: 7313 strb r3, [r2, #12] - //if (*data > threshold) - // allumerLED(); - output = output ? !((counter & 0xff) == 0x00) : (counter & 0xff) == 0xff ; // Permet de s'assurer qu'au moins 8 détections succéssive ont eu lieu avant de retourner un true et que rien a été detecté au moins 8 fois pour retourner false. - 801615c: 687b ldr r3, [r7, #4] - 801615e: 7b9b ldrb r3, [r3, #14] - 8016160: 2b00 cmp r3, #0 - 8016162: d008 beq.n 8016176 <_ZN11SharpSensor11updateValueEv+0x7e> - 8016164: 687b ldr r3, [r7, #4] - 8016166: 7b1b ldrb r3, [r3, #12] - 8016168: 2b00 cmp r3, #0 - 801616a: bf0c ite eq - 801616c: 2300 moveq r3, #0 - 801616e: 2301 movne r3, #1 - 8016170: b2db uxtb r3, r3 - 8016172: 603b str r3, [r7, #0] - 8016174: e007 b.n 8016186 <_ZN11SharpSensor11updateValueEv+0x8e> - 8016176: 687b ldr r3, [r7, #4] - 8016178: 7b1b ldrb r3, [r3, #12] - 801617a: 2bff cmp r3, #255 - 801617c: bf14 ite ne - 801617e: 2300 movne r3, #0 - 8016180: 2301 moveq r3, #1 - 8016182: b2db uxtb r3, r3 - 8016184: 603b str r3, [r7, #0] - 8016186: 687a ldr r2, [r7, #4] - 8016188: 6839 ldr r1, [r7, #0] - 801618a: 460b mov r3, r1 - 801618c: 7393 strb r3, [r2, #14] - } - else - output = false; - #endif - -} - 801618e: f107 0708 add.w r7, r7, #8 ; 0x8 - 8016192: 46bd mov sp, r7 - 8016194: bd80 pop {r7, pc} - 8016196: 46c0 nop (mov r8, r8) - -08016198 <_ZN11SharpSensorD0Ev>: - this->evt = false; - #endif - -} - -SharpSensor::~SharpSensor() - 8016198: b580 push {r7, lr} - 801619a: b082 sub sp, #8 - 801619c: af00 add r7, sp, #0 - 801619e: 6078 str r0, [r7, #4] - 80161a0: 687a ldr r2, [r7, #4] - 80161a2: 4b0a ldr r3, [pc, #40] (80161cc <_ZN11SharpSensorD0Ev+0x34>) - 80161a4: 6013 str r3, [r2, #0] -{ - //dtor -} - 80161a6: 687b ldr r3, [r7, #4] - 80161a8: 4618 mov r0, r3 - 80161aa: f7fd fecd bl 8013f48 <_ZN12AnalogSensorD2Ev> - 80161ae: f04f 0301 mov.w r3, #1 ; 0x1 - 80161b2: b2db uxtb r3, r3 - 80161b4: 2b00 cmp r3, #0 - 80161b6: d002 beq.n 80161be <_ZN11SharpSensorD0Ev+0x26> - 80161b8: 6878 ldr r0, [r7, #4] - 80161ba: f001 fa27 bl 801760c <_ZdlPv> - 80161be: 687b ldr r3, [r7, #4] - 80161c0: 4618 mov r0, r3 - 80161c2: f107 0708 add.w r7, r7, #8 ; 0x8 - 80161c6: 46bd mov sp, r7 - 80161c8: bd80 pop {r7, pc} - 80161ca: 46c0 nop (mov r8, r8) - 80161cc: 08033fc8 .word 0x08033fc8 - -080161d0 <_ZN11SharpSensorD1Ev>: - this->evt = false; - #endif - -} - -SharpSensor::~SharpSensor() - 80161d0: b580 push {r7, lr} - 80161d2: b082 sub sp, #8 - 80161d4: af00 add r7, sp, #0 - 80161d6: 6078 str r0, [r7, #4] - 80161d8: 687a ldr r2, [r7, #4] - 80161da: 4b0a ldr r3, [pc, #40] (8016204 <_ZN11SharpSensorD1Ev+0x34>) - 80161dc: 6013 str r3, [r2, #0] -{ - //dtor -} - 80161de: 687b ldr r3, [r7, #4] - 80161e0: 4618 mov r0, r3 - 80161e2: f7fd feb1 bl 8013f48 <_ZN12AnalogSensorD2Ev> - 80161e6: f04f 0300 mov.w r3, #0 ; 0x0 - 80161ea: b2db uxtb r3, r3 - 80161ec: 2b00 cmp r3, #0 - 80161ee: d002 beq.n 80161f6 <_ZN11SharpSensorD1Ev+0x26> - 80161f0: 6878 ldr r0, [r7, #4] - 80161f2: f001 fa0b bl 801760c <_ZdlPv> - 80161f6: 687b ldr r3, [r7, #4] - 80161f8: 4618 mov r0, r3 - 80161fa: f107 0708 add.w r7, r7, #8 ; 0x8 - 80161fe: 46bd mov sp, r7 - 8016200: bd80 pop {r7, pc} - 8016202: 46c0 nop (mov r8, r8) - 8016204: 08033fc8 .word 0x08033fc8 - -08016208 <_ZN11SharpSensorD2Ev>: - this->evt = false; - #endif - -} - -SharpSensor::~SharpSensor() - 8016208: b580 push {r7, lr} - 801620a: b082 sub sp, #8 - 801620c: af00 add r7, sp, #0 - 801620e: 6078 str r0, [r7, #4] - 8016210: 687a ldr r2, [r7, #4] - 8016212: 4b0a ldr r3, [pc, #40] (801623c <_ZN11SharpSensorD2Ev+0x34>) - 8016214: 6013 str r3, [r2, #0] -{ - //dtor -} - 8016216: 687b ldr r3, [r7, #4] - 8016218: 4618 mov r0, r3 - 801621a: f7fd fe95 bl 8013f48 <_ZN12AnalogSensorD2Ev> - 801621e: f04f 0300 mov.w r3, #0 ; 0x0 - 8016222: b2db uxtb r3, r3 - 8016224: 2b00 cmp r3, #0 - 8016226: d002 beq.n 801622e <_ZN11SharpSensorD2Ev+0x26> - 8016228: 6878 ldr r0, [r7, #4] - 801622a: f001 f9ef bl 801760c <_ZdlPv> - 801622e: 687b ldr r3, [r7, #4] - 8016230: 4618 mov r0, r3 - 8016232: f107 0708 add.w r7, r7, #8 ; 0x8 - 8016236: 46bd mov sp, r7 - 8016238: bd80 pop {r7, pc} - 801623a: 46c0 nop (mov r8, r8) - 801623c: 08033fc8 .word 0x08033fc8 - -08016240 <_ZN11SharpSensorC1ENS_9SharpNameEhPmi>: -#include "leds.h" - -int SharpSensor::threshold = SEUIL_DETECTION; -bool SharpSensor::estDesactive = false; - -SharpSensor::SharpSensor(SharpName name, uint8_t channel, DMA_MEMORY_TYPE* pData, int seuil) : AnalogSensor(channel, pData) - 8016240: b580 push {r7, lr} - 8016242: b084 sub sp, #16 - 8016244: af00 add r7, sp, #0 - 8016246: 60f8 str r0, [r7, #12] - 8016248: 607b str r3, [r7, #4] - 801624a: 460b mov r3, r1 - 801624c: 72fb strb r3, [r7, #11] - 801624e: 4613 mov r3, r2 - 8016250: 72bb strb r3, [r7, #10] - 8016252: 68fb ldr r3, [r7, #12] - 8016254: 7aba ldrb r2, [r7, #10] - 8016256: 4618 mov r0, r3 - 8016258: 4611 mov r1, r2 - 801625a: 687a ldr r2, [r7, #4] - 801625c: f7fd feba bl 8013fd4 <_ZN12AnalogSensorC2EhPm> - 8016260: 68fa ldr r2, [r7, #12] - 8016262: 4b0f ldr r3, [pc, #60] (80162a0 <_ZN11SharpSensorC1ENS_9SharpNameEhPmi+0x60>) - 8016264: 6013 str r3, [r2, #0] -{ - this->name = name; - 8016266: 68fa ldr r2, [r7, #12] - 8016268: 7afb ldrb r3, [r7, #11] - 801626a: 7353 strb r3, [r2, #13] - counter = 0; - 801626c: 68fa ldr r2, [r7, #12] - 801626e: f04f 0300 mov.w r3, #0 ; 0x0 - 8016272: 7313 strb r3, [r2, #12] - output = false; - 8016274: 68fa ldr r2, [r7, #12] - 8016276: f04f 0300 mov.w r3, #0 ; 0x0 - 801627a: 7393 strb r3, [r2, #14] - actif = true; - 801627c: 68fa ldr r2, [r7, #12] - 801627e: f04f 0301 mov.w r3, #1 ; 0x1 - 8016282: 73d3 strb r3, [r2, #15] - seuilDetection = seuil; - 8016284: 69ba ldr r2, [r7, #24] - 8016286: 68fb ldr r3, [r7, #12] - 8016288: 615a str r2, [r3, #20] - value = 0; - 801628a: 68fa ldr r2, [r7, #12] - 801628c: f04f 0300 mov.w r3, #0 ; 0x0 - 8016290: 6113 str r3, [r2, #16] - #ifndef ROBOTHW - this->evt = false; - #endif - -} - 8016292: 68fb ldr r3, [r7, #12] - 8016294: 4618 mov r0, r3 - 8016296: f107 0710 add.w r7, r7, #16 ; 0x10 - 801629a: 46bd mov sp, r7 - 801629c: bd80 pop {r7, pc} - 801629e: 46c0 nop (mov r8, r8) - 80162a0: 08033fc8 .word 0x08033fc8 - -080162a4 <_ZN11SharpSensorC2ENS_9SharpNameEhPmi>: -#include "leds.h" - -int SharpSensor::threshold = SEUIL_DETECTION; -bool SharpSensor::estDesactive = false; - -SharpSensor::SharpSensor(SharpName name, uint8_t channel, DMA_MEMORY_TYPE* pData, int seuil) : AnalogSensor(channel, pData) - 80162a4: b580 push {r7, lr} - 80162a6: b084 sub sp, #16 - 80162a8: af00 add r7, sp, #0 - 80162aa: 60f8 str r0, [r7, #12] - 80162ac: 607b str r3, [r7, #4] - 80162ae: 460b mov r3, r1 - 80162b0: 72fb strb r3, [r7, #11] - 80162b2: 4613 mov r3, r2 - 80162b4: 72bb strb r3, [r7, #10] - 80162b6: 68fb ldr r3, [r7, #12] - 80162b8: 7aba ldrb r2, [r7, #10] - 80162ba: 4618 mov r0, r3 - 80162bc: 4611 mov r1, r2 - 80162be: 687a ldr r2, [r7, #4] - 80162c0: f7fd fe88 bl 8013fd4 <_ZN12AnalogSensorC2EhPm> - 80162c4: 68fa ldr r2, [r7, #12] - 80162c6: 4b0f ldr r3, [pc, #60] (8016304 <_ZN11SharpSensorC2ENS_9SharpNameEhPmi+0x60>) - 80162c8: 6013 str r3, [r2, #0] -{ - this->name = name; - 80162ca: 68fa ldr r2, [r7, #12] - 80162cc: 7afb ldrb r3, [r7, #11] - 80162ce: 7353 strb r3, [r2, #13] - counter = 0; - 80162d0: 68fa ldr r2, [r7, #12] - 80162d2: f04f 0300 mov.w r3, #0 ; 0x0 - 80162d6: 7313 strb r3, [r2, #12] - output = false; - 80162d8: 68fa ldr r2, [r7, #12] - 80162da: f04f 0300 mov.w r3, #0 ; 0x0 - 80162de: 7393 strb r3, [r2, #14] - actif = true; - 80162e0: 68fa ldr r2, [r7, #12] - 80162e2: f04f 0301 mov.w r3, #1 ; 0x1 - 80162e6: 73d3 strb r3, [r2, #15] - seuilDetection = seuil; - 80162e8: 69ba ldr r2, [r7, #24] - 80162ea: 68fb ldr r3, [r7, #12] - 80162ec: 615a str r2, [r3, #20] - value = 0; - 80162ee: 68fa ldr r2, [r7, #12] - 80162f0: f04f 0300 mov.w r3, #0 ; 0x0 - 80162f4: 6113 str r3, [r2, #16] - #ifndef ROBOTHW - this->evt = false; - #endif - -} - 80162f6: 68fb ldr r3, [r7, #12] - 80162f8: 4618 mov r0, r3 - 80162fa: f107 0710 add.w r7, r7, #16 ; 0x10 - 80162fe: 46bd mov sp, r7 - 8016300: bd80 pop {r7, pc} - 8016302: 46c0 nop (mov r8, r8) - 8016304: 08033fc8 .word 0x08033fc8 - -08016308 <_ZN5Timer7getTIMxEv>: - else if (m_TIMx == TIM5) - RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM5,ENABLE); -} - -// Retourne le timer (TIM1, TIM2 ou TIM3), voir TIM_TypeDef. -TIM_TypeDef* Timer::getTIMx() - 8016308: b480 push {r7} - 801630a: b083 sub sp, #12 - 801630c: af00 add r7, sp, #0 - 801630e: 6078 str r0, [r7, #4] -{ - return m_TIMx; - 8016310: 687b ldr r3, [r7, #4] - 8016312: 681b ldr r3, [r3, #0] -} - 8016314: 4618 mov r0, r3 - 8016316: f107 070c add.w r7, r7, #12 ; 0xc - 801631a: 46bd mov sp, r7 - 801631c: bc80 pop {r7} - 801631e: 4770 bx lr - -08016320 <_ZN5Timer9getPeriodEv>: - timInit.TIM_RepetitionCounter = 0; - - TIM_TimeBaseInit(getTIMx(), &timInit); -} - -uint16_t Timer::getPeriod() - 8016320: b480 push {r7} - 8016322: b083 sub sp, #12 - 8016324: af00 add r7, sp, #0 - 8016326: 6078 str r0, [r7, #4] -{ - return m_period; - 8016328: 687b ldr r3, [r7, #4] - 801632a: 891b ldrh r3, [r3, #8] -} - 801632c: 4618 mov r0, r3 - 801632e: f107 070c add.w r7, r7, #12 ; 0xc - 8016332: 46bd mov sp, r7 - 8016334: bc80 pop {r7} - 8016336: 4770 bx lr - -08016338 <_ZN5Timer16enableTimerClockEP11TIM_TypeDef>: - -void Timer::enableTimerClock(TIM_TypeDef* TIMx) - 8016338: b580 push {r7, lr} - 801633a: b082 sub sp, #8 - 801633c: af00 add r7, sp, #0 - 801633e: 6078 str r0, [r7, #4] -{ - if (TIMx == TIM1) - 8016340: 687a ldr r2, [r7, #4] - 8016342: 4b27 ldr r3, [pc, #156] (80163e0 <_ZN5Timer16enableTimerClockEP11TIM_TypeDef+0xa8>) - 8016344: 429a cmp r2, r3 - 8016346: d106 bne.n 8016356 <_ZN5Timer16enableTimerClockEP11TIM_TypeDef+0x1e> - { - RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE); - 8016348: f04f 0001 mov.w r0, #1 ; 0x1 - 801634c: f04f 0101 mov.w r1, #1 ; 0x1 - 8016350: f7f4 fa92 bl 800a878 - 8016354: e040 b.n 80163d8 <_ZN5Timer16enableTimerClockEP11TIM_TypeDef+0xa0> - } - else if (TIMx == TIM2) - 8016356: 687b ldr r3, [r7, #4] - 8016358: f1b3 4f80 cmp.w r3, #1073741824 ; 0x40000000 - 801635c: d106 bne.n 801636c <_ZN5Timer16enableTimerClockEP11TIM_TypeDef+0x34> - { - RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); - 801635e: f04f 0001 mov.w r0, #1 ; 0x1 - 8016362: f04f 0101 mov.w r1, #1 ; 0x1 - 8016366: f7f4 fa65 bl 800a834 - 801636a: e035 b.n 80163d8 <_ZN5Timer16enableTimerClockEP11TIM_TypeDef+0xa0> - } - else if (TIMx == TIM3) - 801636c: 687a ldr r2, [r7, #4] - 801636e: 4b1d ldr r3, [pc, #116] (80163e4 <_ZN5Timer16enableTimerClockEP11TIM_TypeDef+0xac>) - 8016370: 429a cmp r2, r3 - 8016372: d106 bne.n 8016382 <_ZN5Timer16enableTimerClockEP11TIM_TypeDef+0x4a> - { - RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); - 8016374: f04f 0002 mov.w r0, #2 ; 0x2 - 8016378: f04f 0101 mov.w r1, #1 ; 0x1 - 801637c: f7f4 fa5a bl 800a834 - 8016380: e02a b.n 80163d8 <_ZN5Timer16enableTimerClockEP11TIM_TypeDef+0xa0> - } - else if (TIMx == TIM4) - 8016382: 687a ldr r2, [r7, #4] - 8016384: 4b18 ldr r3, [pc, #96] (80163e8 <_ZN5Timer16enableTimerClockEP11TIM_TypeDef+0xb0>) - 8016386: 429a cmp r2, r3 - 8016388: d106 bne.n 8016398 <_ZN5Timer16enableTimerClockEP11TIM_TypeDef+0x60> - { - RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE); - 801638a: f04f 0004 mov.w r0, #4 ; 0x4 - 801638e: f04f 0101 mov.w r1, #1 ; 0x1 - 8016392: f7f4 fa4f bl 800a834 - 8016396: e01f b.n 80163d8 <_ZN5Timer16enableTimerClockEP11TIM_TypeDef+0xa0> - } - else if (TIMx == TIM5) - 8016398: 687a ldr r2, [r7, #4] - 801639a: 4b14 ldr r3, [pc, #80] (80163ec <_ZN5Timer16enableTimerClockEP11TIM_TypeDef+0xb4>) - 801639c: 429a cmp r2, r3 - 801639e: d106 bne.n 80163ae <_ZN5Timer16enableTimerClockEP11TIM_TypeDef+0x76> - { - RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM5, ENABLE); - 80163a0: f04f 0008 mov.w r0, #8 ; 0x8 - 80163a4: f04f 0101 mov.w r1, #1 ; 0x1 - 80163a8: f7f4 fa44 bl 800a834 - 80163ac: e014 b.n 80163d8 <_ZN5Timer16enableTimerClockEP11TIM_TypeDef+0xa0> - } - else if (TIMx == TIM6) - 80163ae: 687a ldr r2, [r7, #4] - 80163b0: 4b0f ldr r3, [pc, #60] (80163f0 <_ZN5Timer16enableTimerClockEP11TIM_TypeDef+0xb8>) - 80163b2: 429a cmp r2, r3 - 80163b4: d106 bne.n 80163c4 <_ZN5Timer16enableTimerClockEP11TIM_TypeDef+0x8c> - { - RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM6, ENABLE); - 80163b6: f04f 0010 mov.w r0, #16 ; 0x10 - 80163ba: f04f 0101 mov.w r1, #1 ; 0x1 - 80163be: f7f4 fa39 bl 800a834 - 80163c2: e009 b.n 80163d8 <_ZN5Timer16enableTimerClockEP11TIM_TypeDef+0xa0> - } - else if (TIMx == TIM7) - 80163c4: 687a ldr r2, [r7, #4] - 80163c6: 4b0b ldr r3, [pc, #44] (80163f4 <_ZN5Timer16enableTimerClockEP11TIM_TypeDef+0xbc>) - 80163c8: 429a cmp r2, r3 - 80163ca: d105 bne.n 80163d8 <_ZN5Timer16enableTimerClockEP11TIM_TypeDef+0xa0> - { - RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM7, ENABLE); - 80163cc: f04f 0020 mov.w r0, #32 ; 0x20 - 80163d0: f04f 0101 mov.w r1, #1 ; 0x1 - 80163d4: f7f4 fa2e bl 800a834 - } -} - 80163d8: f107 0708 add.w r7, r7, #8 ; 0x8 - 80163dc: 46bd mov sp, r7 - 80163de: bd80 pop {r7, pc} - 80163e0: 40010000 .word 0x40010000 - 80163e4: 40000400 .word 0x40000400 - 80163e8: 40000800 .word 0x40000800 - 80163ec: 40000c00 .word 0x40000c00 - 80163f0: 40001000 .word 0x40001000 - 80163f4: 40001400 .word 0x40001400 - -080163f8 <_ZN5Timer11enableClockEv>: -#include "timerHandler.h" - -// Propage le signal de l’horloge système au timer. -void Timer::enableClock() - 80163f8: b580 push {r7, lr} - 80163fa: b082 sub sp, #8 - 80163fc: af00 add r7, sp, #0 - 80163fe: 6078 str r0, [r7, #4] -{ - if (m_TIMx == TIM1) - 8016400: 687b ldr r3, [r7, #4] - 8016402: 681a ldr r2, [r3, #0] - 8016404: 4b1e ldr r3, [pc, #120] (8016480 <_ZN5Timer11enableClockEv+0x88>) - 8016406: 429a cmp r2, r3 - 8016408: d106 bne.n 8016418 <_ZN5Timer11enableClockEv+0x20> - RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1,ENABLE); - 801640a: f04f 0001 mov.w r0, #1 ; 0x1 - 801640e: f04f 0101 mov.w r1, #1 ; 0x1 - 8016412: f7f4 fa31 bl 800a878 - 8016416: e02e b.n 8016476 <_ZN5Timer11enableClockEv+0x7e> - else if (m_TIMx == TIM2) - 8016418: 687b ldr r3, [r7, #4] - 801641a: 681b ldr r3, [r3, #0] - 801641c: f1b3 4f80 cmp.w r3, #1073741824 ; 0x40000000 - 8016420: d106 bne.n 8016430 <_ZN5Timer11enableClockEv+0x38> - RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE); - 8016422: f04f 0001 mov.w r0, #1 ; 0x1 - 8016426: f04f 0101 mov.w r1, #1 ; 0x1 - 801642a: f7f4 fa03 bl 800a834 - 801642e: e022 b.n 8016476 <_ZN5Timer11enableClockEv+0x7e> - else if (m_TIMx == TIM3) - 8016430: 687b ldr r3, [r7, #4] - 8016432: 681a ldr r2, [r3, #0] - 8016434: 4b13 ldr r3, [pc, #76] (8016484 <_ZN5Timer11enableClockEv+0x8c>) - 8016436: 429a cmp r2, r3 - 8016438: d106 bne.n 8016448 <_ZN5Timer11enableClockEv+0x50> - RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE); - 801643a: f04f 0002 mov.w r0, #2 ; 0x2 - 801643e: f04f 0101 mov.w r1, #1 ; 0x1 - 8016442: f7f4 f9f7 bl 800a834 - 8016446: e016 b.n 8016476 <_ZN5Timer11enableClockEv+0x7e> - else if (m_TIMx == TIM4) - 8016448: 687b ldr r3, [r7, #4] - 801644a: 681a ldr r2, [r3, #0] - 801644c: 4b0e ldr r3, [pc, #56] (8016488 <_ZN5Timer11enableClockEv+0x90>) - 801644e: 429a cmp r2, r3 - 8016450: d106 bne.n 8016460 <_ZN5Timer11enableClockEv+0x68> - RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4,ENABLE); - 8016452: f04f 0004 mov.w r0, #4 ; 0x4 - 8016456: f04f 0101 mov.w r1, #1 ; 0x1 - 801645a: f7f4 f9eb bl 800a834 - 801645e: e00a b.n 8016476 <_ZN5Timer11enableClockEv+0x7e> - else if (m_TIMx == TIM5) - 8016460: 687b ldr r3, [r7, #4] - 8016462: 681a ldr r2, [r3, #0] - 8016464: 4b09 ldr r3, [pc, #36] (801648c <_ZN5Timer11enableClockEv+0x94>) - 8016466: 429a cmp r2, r3 - 8016468: d105 bne.n 8016476 <_ZN5Timer11enableClockEv+0x7e> - RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM5,ENABLE); - 801646a: f04f 0008 mov.w r0, #8 ; 0x8 - 801646e: f04f 0101 mov.w r1, #1 ; 0x1 - 8016472: f7f4 f9df bl 800a834 -} - 8016476: f107 0708 add.w r7, r7, #8 ; 0x8 - 801647a: 46bd mov sp, r7 - 801647c: bd80 pop {r7, pc} - 801647e: 46c0 nop (mov r8, r8) - 8016480: 40010000 .word 0x40010000 - 8016484: 40000400 .word 0x40000400 - 8016488: 40000800 .word 0x40000800 - 801648c: 40000c00 .word 0x40000c00 - -08016490 <_ZN5TimerC1EP11TIM_TypeDefttNS_11ClkDivisionE>: -TIM_TypeDef* Timer::getTIMx() -{ - return m_TIMx; -} - -Timer::Timer(TIM_TypeDef* TIMx, uint16_t period, uint16_t prescaler, ClkDivision clockDivision) - 8016490: b580 push {r7, lr} - 8016492: b088 sub sp, #32 - 8016494: af00 add r7, sp, #0 - 8016496: 60f8 str r0, [r7, #12] - 8016498: 60b9 str r1, [r7, #8] - 801649a: 4619 mov r1, r3 - 801649c: 4613 mov r3, r2 - 801649e: 80fb strh r3, [r7, #6] - 80164a0: 460b mov r3, r1 - 80164a2: 80bb strh r3, [r7, #4] -{ - m_TIMx = TIMx; - 80164a4: 68fa ldr r2, [r7, #12] - 80164a6: 68bb ldr r3, [r7, #8] - 80164a8: 6013 str r3, [r2, #0] - m_period = period; - 80164aa: 68fa ldr r2, [r7, #12] - 80164ac: 88fb ldrh r3, [r7, #6] - 80164ae: 8113 strh r3, [r2, #8] - m_prescaler = prescaler; - 80164b0: 68fa ldr r2, [r7, #12] - 80164b2: 88bb ldrh r3, [r7, #4] - 80164b4: 8093 strh r3, [r2, #4] - m_div = clockDivision; - 80164b6: 68fa ldr r2, [r7, #12] - 80164b8: 8d3b ldrh r3, [r7, #40] - 80164ba: 80d3 strh r3, [r2, #6] - - enableClock(); - 80164bc: 68f8 ldr r0, [r7, #12] - 80164be: f7ff ff9b bl 80163f8 <_ZN5Timer11enableClockEv> - - TIM_TimeBaseInitTypeDef timInit; - timInit.TIM_Prescaler = prescaler; - 80164c2: 88bb ldrh r3, [r7, #4] - 80164c4: 82bb strh r3, [r7, #20] - timInit.TIM_CounterMode = TIM_CounterMode_Up; - 80164c6: f04f 0300 mov.w r3, #0 ; 0x0 - 80164ca: 82fb strh r3, [r7, #22] - timInit.TIM_Period = period; - 80164cc: 88fb ldrh r3, [r7, #6] - 80164ce: 61bb str r3, [r7, #24] - timInit.TIM_ClockDivision = clockDivision; - 80164d0: 8d3b ldrh r3, [r7, #40] - 80164d2: 83bb strh r3, [r7, #28] - timInit.TIM_RepetitionCounter = 0; - 80164d4: f04f 0300 mov.w r3, #0 ; 0x0 - 80164d8: 77bb strb r3, [r7, #30] - - TIM_TimeBaseInit(getTIMx(), &timInit); - 80164da: 68f8 ldr r0, [r7, #12] - 80164dc: f7ff ff14 bl 8016308 <_ZN5Timer7getTIMxEv> - 80164e0: 4603 mov r3, r0 - 80164e2: f107 0214 add.w r2, r7, #20 ; 0x14 - 80164e6: 4618 mov r0, r3 - 80164e8: 4611 mov r1, r2 - 80164ea: f7f4 fdaf bl 800b04c -} - 80164ee: 68fb ldr r3, [r7, #12] - 80164f0: 4618 mov r0, r3 - 80164f2: f107 0720 add.w r7, r7, #32 ; 0x20 - 80164f6: 46bd mov sp, r7 - 80164f8: bd80 pop {r7, pc} - 80164fa: 46c0 nop (mov r8, r8) - -080164fc <_ZN5TimerC2EP11TIM_TypeDefttNS_11ClkDivisionE>: -TIM_TypeDef* Timer::getTIMx() -{ - return m_TIMx; -} - -Timer::Timer(TIM_TypeDef* TIMx, uint16_t period, uint16_t prescaler, ClkDivision clockDivision) - 80164fc: b580 push {r7, lr} - 80164fe: b088 sub sp, #32 - 8016500: af00 add r7, sp, #0 - 8016502: 60f8 str r0, [r7, #12] - 8016504: 60b9 str r1, [r7, #8] - 8016506: 4619 mov r1, r3 - 8016508: 4613 mov r3, r2 - 801650a: 80fb strh r3, [r7, #6] - 801650c: 460b mov r3, r1 - 801650e: 80bb strh r3, [r7, #4] -{ - m_TIMx = TIMx; - 8016510: 68fa ldr r2, [r7, #12] - 8016512: 68bb ldr r3, [r7, #8] - 8016514: 6013 str r3, [r2, #0] - m_period = period; - 8016516: 68fa ldr r2, [r7, #12] - 8016518: 88fb ldrh r3, [r7, #6] - 801651a: 8113 strh r3, [r2, #8] - m_prescaler = prescaler; - 801651c: 68fa ldr r2, [r7, #12] - 801651e: 88bb ldrh r3, [r7, #4] - 8016520: 8093 strh r3, [r2, #4] - m_div = clockDivision; - 8016522: 68fa ldr r2, [r7, #12] - 8016524: 8d3b ldrh r3, [r7, #40] - 8016526: 80d3 strh r3, [r2, #6] - - enableClock(); - 8016528: 68f8 ldr r0, [r7, #12] - 801652a: f7ff ff65 bl 80163f8 <_ZN5Timer11enableClockEv> - - TIM_TimeBaseInitTypeDef timInit; - timInit.TIM_Prescaler = prescaler; - 801652e: 88bb ldrh r3, [r7, #4] - 8016530: 82bb strh r3, [r7, #20] - timInit.TIM_CounterMode = TIM_CounterMode_Up; - 8016532: f04f 0300 mov.w r3, #0 ; 0x0 - 8016536: 82fb strh r3, [r7, #22] - timInit.TIM_Period = period; - 8016538: 88fb ldrh r3, [r7, #6] - 801653a: 61bb str r3, [r7, #24] - timInit.TIM_ClockDivision = clockDivision; - 801653c: 8d3b ldrh r3, [r7, #40] - 801653e: 83bb strh r3, [r7, #28] - timInit.TIM_RepetitionCounter = 0; - 8016540: f04f 0300 mov.w r3, #0 ; 0x0 - 8016544: 77bb strb r3, [r7, #30] - - TIM_TimeBaseInit(getTIMx(), &timInit); - 8016546: 68f8 ldr r0, [r7, #12] - 8016548: f7ff fede bl 8016308 <_ZN5Timer7getTIMxEv> - 801654c: 4603 mov r3, r0 - 801654e: f107 0214 add.w r2, r7, #20 ; 0x14 - 8016552: 4618 mov r0, r3 - 8016554: 4611 mov r1, r2 - 8016556: f7f4 fd79 bl 800b04c -} - 801655a: 68fb ldr r3, [r7, #12] - 801655c: 4618 mov r0, r3 - 801655e: f107 0720 add.w r7, r7, #32 ; 0x20 - 8016562: 46bd mov sp, r7 - 8016564: bd80 pop {r7, pc} - 8016566: 46c0 nop (mov r8, r8) - -08016568 <_ZNK7Tirette7enleveeEv>: - buffer |= enlevee(); - } -} - -// est ce que la tirette est enlevée ? -bool Tirette::enlevee() const - 8016568: b580 push {r7, lr} - 801656a: b082 sub sp, #8 - 801656c: af00 add r7, sp, #0 - 801656e: 6078 str r0, [r7, #4] -{ - #ifdef STM32F40_41xxx - return GPIO_ReadInputDataBit(GPIOx, GPIO_Pin_x) == Bit_RESET; - 8016570: 687b ldr r3, [r7, #4] - 8016572: 681a ldr r2, [r3, #0] - 8016574: 687b ldr r3, [r7, #4] - 8016576: 889b ldrh r3, [r3, #4] - 8016578: 4610 mov r0, r2 - 801657a: 4619 mov r1, r3 - 801657c: f7f3 fbd2 bl 8009d24 - 8016580: 4603 mov r3, r0 - 8016582: 2b00 cmp r3, #0 - 8016584: bf14 ite ne - 8016586: 2300 movne r3, #0 - 8016588: 2301 moveq r3, #1 - 801658a: b2db uxtb r3, r3 - #else - return GPIO_ReadInputDataBit(GPIOx, GPIO_Pin_x) == Bit_SET; - #endif -} - 801658c: 4618 mov r0, r3 - 801658e: f107 0708 add.w r7, r7, #8 ; 0x8 - 8016592: 46bd mov sp, r7 - 8016594: bd80 pop {r7, pc} - 8016596: 46c0 nop (mov r8, r8) - -08016598 <_ZNK7Tirette14attendreRemiseEv>: - buffer |= !enlevee(); - } -} - -// attends jusqu'à ce que la tirette soit remise -void Tirette::attendreRemise() const - 8016598: b580 push {r7, lr} - 801659a: b084 sub sp, #16 - 801659c: af00 add r7, sp, #0 - 801659e: 6078 str r0, [r7, #4] -{ - Remote::log("Waiting for 'tirette remise'"); - 80165a0: 4b16 ldr r3, [pc, #88] (80165fc <_ZNK7Tirette14attendreRemiseEv+0x64>) - 80165a2: 4618 mov r0, r3 - 80165a4: f7ff fb76 bl 8015c94 <_ZN6Remote3logEPc> - - int buffer = 0xffffffff; - 80165a8: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 80165ac: 60fb str r3, [r7, #12] - 80165ae: e01d b.n 80165ec <_ZNK7Tirette14attendreRemiseEv+0x54> - while (buffer) - { - Remote::getSingleton()->update(true); - 80165b0: f7ff fb4c bl 8015c4c <_ZN6Remote12getSingletonEv> - 80165b4: 4603 mov r3, r0 - 80165b6: 4618 mov r0, r3 - 80165b8: f04f 0101 mov.w r1, #1 ; 0x1 - 80165bc: f7ff fb9e bl 8015cfc <_ZN6Remote6updateEb> - if (Remote::getSingleton()->isRemoteMode()) - 80165c0: f7ff fb44 bl 8015c4c <_ZN6Remote12getSingletonEv> - 80165c4: 4603 mov r3, r0 - 80165c6: 4618 mov r0, r3 - 80165c8: f7ff fa14 bl 80159f4 <_ZN6Remote12isRemoteModeEv> - 80165cc: 4603 mov r3, r0 - 80165ce: 2b00 cmp r3, #0 - 80165d0: d10f bne.n 80165f2 <_ZNK7Tirette14attendreRemiseEv+0x5a> - break; - - buffer <<= 1; - 80165d2: 68fb ldr r3, [r7, #12] - 80165d4: ea4f 0343 mov.w r3, r3, lsl #1 - 80165d8: 60fb str r3, [r7, #12] - buffer |= enlevee(); - 80165da: 6878 ldr r0, [r7, #4] - 80165dc: f7ff ffc4 bl 8016568 <_ZNK7Tirette7enleveeEv> - 80165e0: 4603 mov r3, r0 - 80165e2: 461a mov r2, r3 - 80165e4: 68fb ldr r3, [r7, #12] - 80165e6: ea43 0302 orr.w r3, r3, r2 - 80165ea: 60fb str r3, [r7, #12] -void Tirette::attendreRemise() const -{ - Remote::log("Waiting for 'tirette remise'"); - - int buffer = 0xffffffff; - while (buffer) - 80165ec: 68fb ldr r3, [r7, #12] - 80165ee: 2b00 cmp r3, #0 - 80165f0: d1de bne.n 80165b0 <_ZNK7Tirette14attendreRemiseEv+0x18> - break; - - buffer <<= 1; - buffer |= enlevee(); - } -} - 80165f2: f107 0710 add.w r7, r7, #16 ; 0x10 - 80165f6: 46bd mov sp, r7 - 80165f8: bd80 pop {r7, pc} - 80165fa: 46c0 nop (mov r8, r8) - 80165fc: 08033fd8 .word 0x08033fd8 - -08016600 <_ZNK7Tirette15attendreEnleveeEv>: - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_Init(GPIOx_tirette, &GPIO_InitStructure); -} - -// attends jusqu'à ce que la tirette soit enlevée -void Tirette::attendreEnlevee() const - 8016600: b580 push {r7, lr} - 8016602: b084 sub sp, #16 - 8016604: af00 add r7, sp, #0 - 8016606: 6078 str r0, [r7, #4] -{ - Remote::log("Waiting for 'tirette enleve'"); - 8016608: 4b17 ldr r3, [pc, #92] (8016668 <_ZNK7Tirette15attendreEnleveeEv+0x68>) - 801660a: 4618 mov r0, r3 - 801660c: f7ff fb42 bl 8015c94 <_ZN6Remote3logEPc> - - int buffer = 0xffffffff; - 8016610: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8016614: 60fb str r3, [r7, #12] - 8016616: e020 b.n 801665a <_ZNK7Tirette15attendreEnleveeEv+0x5a> - //int waiting = 0; - while (buffer) - { - Remote::getSingleton()->update(true); - 8016618: f7ff fb18 bl 8015c4c <_ZN6Remote12getSingletonEv> - 801661c: 4603 mov r3, r0 - 801661e: 4618 mov r0, r3 - 8016620: f04f 0101 mov.w r1, #1 ; 0x1 - 8016624: f7ff fb6a bl 8015cfc <_ZN6Remote6updateEb> - if (Remote::getSingleton()->isRemoteMode()) - 8016628: f7ff fb10 bl 8015c4c <_ZN6Remote12getSingletonEv> - 801662c: 4603 mov r3, r0 - 801662e: 4618 mov r0, r3 - 8016630: f7ff f9e0 bl 80159f4 <_ZN6Remote12isRemoteModeEv> - 8016634: 4603 mov r3, r0 - 8016636: 2b00 cmp r3, #0 - 8016638: d112 bne.n 8016660 <_ZNK7Tirette15attendreEnleveeEv+0x60> - break; - - buffer <<= 1; - 801663a: 68fb ldr r3, [r7, #12] - 801663c: ea4f 0343 mov.w r3, r3, lsl #1 - 8016640: 60fb str r3, [r7, #12] - buffer |= !enlevee(); - 8016642: 6878 ldr r0, [r7, #4] - 8016644: f7ff ff90 bl 8016568 <_ZNK7Tirette7enleveeEv> - 8016648: 4603 mov r3, r0 - 801664a: f083 0301 eor.w r3, r3, #1 ; 0x1 - 801664e: b2db uxtb r3, r3 - 8016650: 461a mov r2, r3 - 8016652: 68fb ldr r3, [r7, #12] - 8016654: ea43 0302 orr.w r3, r3, r2 - 8016658: 60fb str r3, [r7, #12] -{ - Remote::log("Waiting for 'tirette enleve'"); - - int buffer = 0xffffffff; - //int waiting = 0; - while (buffer) - 801665a: 68fb ldr r3, [r7, #12] - 801665c: 2b00 cmp r3, #0 - 801665e: d1db bne.n 8016618 <_ZNK7Tirette15attendreEnleveeEv+0x18> - break; - - buffer <<= 1; - buffer |= !enlevee(); - } -} - 8016660: f107 0710 add.w r7, r7, #16 ; 0x10 - 8016664: 46bd mov sp, r7 - 8016666: bd80 pop {r7, pc} - 8016668: 08033ff8 .word 0x08033ff8 - -0801666c <_ZN7TiretteC1EP12GPIO_TypeDeft>: -#include "remote.h" -#include "leds.h" - - -// initialise la pin de la tirette -Tirette::Tirette(GPIO_TypeDef* GPIOx_tirette, uint16_t GPIO_Pin_x_tirette) - 801666c: b580 push {r7, lr} - 801666e: b086 sub sp, #24 - 8016670: af00 add r7, sp, #0 - 8016672: 60f8 str r0, [r7, #12] - 8016674: 60b9 str r1, [r7, #8] - 8016676: 4613 mov r3, r2 - 8016678: 80fb strh r3, [r7, #6] - : GPIOx(GPIOx_tirette), GPIO_Pin_x(GPIO_Pin_x_tirette) - 801667a: 68fa ldr r2, [r7, #12] - 801667c: 68bb ldr r3, [r7, #8] - 801667e: 6013 str r3, [r2, #0] - 8016680: 68fa ldr r2, [r7, #12] - 8016682: 88fb ldrh r3, [r7, #6] - 8016684: 8093 strh r3, [r2, #4] -{ - GPIO_InitTypeDef GPIO_InitStructure; - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_x_tirette; - 8016686: 88fb ldrh r3, [r7, #6] - 8016688: 613b str r3, [r7, #16] - - #ifdef STM32F40_41xxx - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN; - 801668a: f04f 0300 mov.w r3, #0 ; 0x0 - 801668e: 753b strb r3, [r7, #20] - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN; - 8016690: f04f 0302 mov.w r3, #2 ; 0x2 - 8016694: 75fb strb r3, [r7, #23] - #elif defined(STM32F10X_MD) || defined(STM32F10X_CL) - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; - #endif - - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - 8016696: f04f 0302 mov.w r3, #2 ; 0x2 - 801669a: 757b strb r3, [r7, #21] - GPIO_Init(GPIOx_tirette, &GPIO_InitStructure); - 801669c: f107 0310 add.w r3, r7, #16 ; 0x10 - 80166a0: 68b8 ldr r0, [r7, #8] - 80166a2: 4619 mov r1, r3 - 80166a4: f7f3 fa50 bl 8009b48 -} - 80166a8: 68fb ldr r3, [r7, #12] - 80166aa: 4618 mov r0, r3 - 80166ac: f107 0718 add.w r7, r7, #24 ; 0x18 - 80166b0: 46bd mov sp, r7 - 80166b2: bd80 pop {r7, pc} - -080166b4 <_ZN7TiretteC2EP12GPIO_TypeDeft>: -#include "remote.h" -#include "leds.h" - - -// initialise la pin de la tirette -Tirette::Tirette(GPIO_TypeDef* GPIOx_tirette, uint16_t GPIO_Pin_x_tirette) - 80166b4: b580 push {r7, lr} - 80166b6: b086 sub sp, #24 - 80166b8: af00 add r7, sp, #0 - 80166ba: 60f8 str r0, [r7, #12] - 80166bc: 60b9 str r1, [r7, #8] - 80166be: 4613 mov r3, r2 - 80166c0: 80fb strh r3, [r7, #6] - : GPIOx(GPIOx_tirette), GPIO_Pin_x(GPIO_Pin_x_tirette) - 80166c2: 68fa ldr r2, [r7, #12] - 80166c4: 68bb ldr r3, [r7, #8] - 80166c6: 6013 str r3, [r2, #0] - 80166c8: 68fa ldr r2, [r7, #12] - 80166ca: 88fb ldrh r3, [r7, #6] - 80166cc: 8093 strh r3, [r2, #4] -{ - GPIO_InitTypeDef GPIO_InitStructure; - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_x_tirette; - 80166ce: 88fb ldrh r3, [r7, #6] - 80166d0: 613b str r3, [r7, #16] - - #ifdef STM32F40_41xxx - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN; - 80166d2: f04f 0300 mov.w r3, #0 ; 0x0 - 80166d6: 753b strb r3, [r7, #20] - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN; - 80166d8: f04f 0302 mov.w r3, #2 ; 0x2 - 80166dc: 75fb strb r3, [r7, #23] - #elif defined(STM32F10X_MD) || defined(STM32F10X_CL) - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; - #endif - - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - 80166de: f04f 0302 mov.w r3, #2 ; 0x2 - 80166e2: 757b strb r3, [r7, #21] - GPIO_Init(GPIOx_tirette, &GPIO_InitStructure); - 80166e4: f107 0310 add.w r3, r7, #16 ; 0x10 - 80166e8: 68b8 ldr r0, [r7, #8] - 80166ea: 4619 mov r1, r3 - 80166ec: f7f3 fa2c bl 8009b48 -} - 80166f0: 68fb ldr r3, [r7, #12] - 80166f2: 4618 mov r0, r3 - 80166f4: f107 0718 add.w r7, r7, #24 ; 0x18 - 80166f8: 46bd mov sp, r7 - 80166fa: bd80 pop {r7, pc} - -080166fc <_ZN8Tourelle9getAlerteEv>: -//{ -// this->zonesCritiques[numeroZone][0] = (uint16_t) -1; -// this->zonesCritiques[numeroZone][1] = (uint16_t) -1; -//} - -bool Tourelle::getAlerte(void) - 80166fc: b480 push {r7} - 80166fe: b083 sub sp, #12 - 8016700: af00 add r7, sp, #0 - 8016702: 6078 str r0, [r7, #4] -{ - return this->alerte; - 8016704: 687b ldr r3, [r7, #4] - 8016706: 781b ldrb r3, [r3, #0] -} - 8016708: 4618 mov r0, r3 - 801670a: f107 070c add.w r7, r7, #12 ; 0xc - 801670e: 46bd mov sp, r7 - 8016710: bc80 pop {r7} - 8016712: 4770 bx lr - -08016714 <_ZN8Tourelle12updateSimpleEv>: -// this->alerte = newAlerte; -// -// return newAlerte; -//} - -bool Tourelle::updateSimple(void) - 8016714: b480 push {r7} - 8016716: b085 sub sp, #20 - 8016718: af00 add r7, sp, #0 - 801671a: 6078 str r0, [r7, #4] -{ - //Copie locale pour être thread-safe, et avoir une chance infime de louper un objet une fois - uint8_t nombreObjets = nombreObjetDetecte; - 801671c: 4b0f ldr r3, [pc, #60] (801675c <_ZN8Tourelle12updateSimpleEv+0x48>) - 801671e: 781b ldrb r3, [r3, #0] - 8016720: 73fb strb r3, [r7, #15] - nombreObjetDetecte = 0; - 8016722: 4a0e ldr r2, [pc, #56] (801675c <_ZN8Tourelle12updateSimpleEv+0x48>) - 8016724: f04f 0300 mov.w r3, #0 ; 0x0 - 8016728: 7013 strb r3, [r2, #0] - if(nombreObjets) - 801672a: 7bfb ldrb r3, [r7, #15] - 801672c: 2b00 cmp r3, #0 - 801672e: d007 beq.n 8016740 <_ZN8Tourelle12updateSimpleEv+0x2c> - { - this->alerte = true; - 8016730: 687b ldr r3, [r7, #4] - 8016732: f04f 0201 mov.w r2, #1 ; 0x1 - 8016736: 701a strb r2, [r3, #0] - return true; - 8016738: f04f 0301 mov.w r3, #1 ; 0x1 - 801673c: 603b str r3, [r7, #0] - 801673e: e006 b.n 801674e <_ZN8Tourelle12updateSimpleEv+0x3a> - } - else - { - this->alerte = false; - 8016740: 687b ldr r3, [r7, #4] - 8016742: f04f 0200 mov.w r2, #0 ; 0x0 - 8016746: 701a strb r2, [r3, #0] - return false; - 8016748: f04f 0300 mov.w r3, #0 ; 0x0 - 801674c: 603b str r3, [r7, #0] - 801674e: 683b ldr r3, [r7, #0] - } -} - 8016750: 4618 mov r0, r3 - 8016752: f107 0714 add.w r7, r7, #20 ; 0x14 - 8016756: 46bd mov sp, r7 - 8016758: bc80 pop {r7} - 801675a: 4770 bx lr - 801675c: 200005a5 .word 0x200005a5 - -08016760 <_Z16EXTILine5_Configv>: - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - NVIC_Init(&NVIC_InitStructure); -#endif -} - -void EXTILine5_Config(void) - 8016760: b480 push {r7} - 8016762: af00 add r7, sp, #0 - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x01;//0x01 for lowest priority - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x01; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - NVIC_Init(&NVIC_InitStructure); -#endif -} - 8016764: 46bd mov sp, r7 - 8016766: bc80 pop {r7} - 8016768: 4770 bx lr - 801676a: 46c0 nop (mov r8, r8) - -0801676c : -/** - * @brief This function handles External line 3 interrupt request. - * @param None - * @retval None - */ -extern "C" void EXTI3_IRQHandler(void) - 801676c: b580 push {r7, lr} - 801676e: af00 add r7, sp, #0 -{ - if(EXTI_GetITStatus(EXTI_Line3) != RESET) - 8016770: f04f 0008 mov.w r0, #8 ; 0x8 - 8016774: f7f3 f8e4 bl 8009940 - 8016778: 4603 mov r3, r0 - 801677a: 2b00 cmp r3, #0 - 801677c: bf0c ite eq - 801677e: 2300 moveq r3, #0 - 8016780: 2301 movne r3, #1 - 8016782: b2db uxtb r3, r3 - 8016784: 2b00 cmp r3, #0 - 8016786: d00c beq.n 80167a2 - -// if(nombreObjetDetecte < 20) -// { - //Stocke l'instant de détection de l'objet - //objectDetectionInstant[nombreObjetDetecte] = TIM_GetCounter(TIM6); - nombreObjetDetecte++; - 8016788: 4b07 ldr r3, [pc, #28] (80167a8 ) - 801678a: 781b ldrb r3, [r3, #0] - 801678c: f103 0301 add.w r3, r3, #1 ; 0x1 - 8016790: b2db uxtb r3, r3 - 8016792: 4a05 ldr r2, [pc, #20] (80167a8 ) - 8016794: 7013 strb r3, [r2, #0] - - allumerLED2(); - 8016796: f7fe fc57 bl 8015048 <_Z11allumerLED2v> - -// } - - /* Clear the EXTI line 2 pending bit */ - EXTI_ClearITPendingBit(EXTI_Line3); - 801679a: f04f 0008 mov.w r0, #8 ; 0x8 - 801679e: f7f3 f8ed bl 800997c - } -} - 80167a2: 46bd mov sp, r7 - 80167a4: bd80 pop {r7, pc} - 80167a6: 46c0 nop (mov r8, r8) - 80167a8: 200005a5 .word 0x200005a5 - -080167ac <_Z16EXTILine3_Configv>: -/** - * @brief Configures EXTI Line3 (connected to PA3 pin) in interrupt mode - * @param None - * @retval None - */ -void EXTILine3_Config(void) - 80167ac: b580 push {r7, lr} - 80167ae: b086 sub sp, #24 - 80167b0: af00 add r7, sp, #0 - NVIC_InitTypeDef NVIC_InitStructure; - - EXTI_InitTypeDef EXTI_InitStructure; - - /* Enable GPIOA clock */ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE); - 80167b2: f04f 0001 mov.w r0, #1 ; 0x1 - 80167b6: f04f 0101 mov.w r1, #1 ; 0x1 - 80167ba: f7f3 ffd5 bl 800a768 - /* Enable SYSCFG clock */ - RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE); - 80167be: f44f 4080 mov.w r0, #16384 ; 0x4000 - 80167c2: f04f 0101 mov.w r1, #1 ; 0x1 - 80167c6: f7f4 f857 bl 800a878 - - /* Configure PA3 pin as input floating */ - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN; - 80167ca: f04f 0300 mov.w r3, #0 ; 0x0 - 80167ce: 753b strb r3, [r7, #20] - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN;//GPIO_PuPd_NOPULL; - 80167d0: f04f 0302 mov.w r3, #2 ; 0x2 - 80167d4: 75fb strb r3, [r7, #23] - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3; - 80167d6: f04f 0308 mov.w r3, #8 ; 0x8 - 80167da: 613b str r3, [r7, #16] - GPIO_Init(GPIOA, &GPIO_InitStructure); - 80167dc: f107 0310 add.w r3, r7, #16 ; 0x10 - 80167e0: 4817 ldr r0, [pc, #92] (8016840 <_Z16EXTILine3_Configv+0x94>) - 80167e2: 4619 mov r1, r3 - 80167e4: f7f3 f9b0 bl 8009b48 - - /* Connect EXTI Line3 to PA3 pin */ - SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA, EXTI_PinSource3); - 80167e8: f04f 0000 mov.w r0, #0 ; 0x0 - 80167ec: f04f 0103 mov.w r1, #3 ; 0x3 - 80167f0: f7f4 fa90 bl 800ad14 - - /* Configure EXTI Line3 */ - EXTI_InitStructure.EXTI_Line = EXTI_Line3; - 80167f4: f04f 0308 mov.w r3, #8 ; 0x8 - 80167f8: 607b str r3, [r7, #4] - EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; - 80167fa: f04f 0300 mov.w r3, #0 ; 0x0 - 80167fe: 723b strb r3, [r7, #8] - EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising; - 8016800: f04f 0308 mov.w r3, #8 ; 0x8 - 8016804: 727b strb r3, [r7, #9] - EXTI_InitStructure.EXTI_LineCmd = ENABLE; - 8016806: f04f 0301 mov.w r3, #1 ; 0x1 - 801680a: 72bb strb r3, [r7, #10] - EXTI_Init(&EXTI_InitStructure); - 801680c: f107 0304 add.w r3, r7, #4 ; 0x4 - 8016810: 4618 mov r0, r3 - 8016812: f7f2 ffbd bl 8009790 - - /* Enable and set EXTI Line3 Interrupt to the (not anymore) lowest priority */ - NVIC_InitStructure.NVIC_IRQChannel = EXTI3_IRQn; - 8016816: f04f 0309 mov.w r3, #9 ; 0x9 - 801681a: 733b strb r3, [r7, #12] - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x08;//0x01 for lowest priority - 801681c: f04f 0308 mov.w r3, #8 ; 0x8 - 8016820: 737b strb r3, [r7, #13] - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x01; - 8016822: f04f 0301 mov.w r3, #1 ; 0x1 - 8016826: 73bb strb r3, [r7, #14] - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - 8016828: f04f 0301 mov.w r3, #1 ; 0x1 - 801682c: 73fb strb r3, [r7, #15] - NVIC_Init(&NVIC_InitStructure); - 801682e: f107 030c add.w r3, r7, #12 ; 0xc - 8016832: 4618 mov r0, r3 - 8016834: f7f1 fd32 bl 800829c - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x08;//0x01 for lowest priority - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x01; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - NVIC_Init(&NVIC_InitStructure); -#endif -} - 8016838: f107 0718 add.w r7, r7, #24 ; 0x18 - 801683c: 46bd mov sp, r7 - 801683e: bd80 pop {r7, pc} - 8016840: 40020000 .word 0x40020000 - -08016844 <_ZN8TourelleC1Ev>: -//uint16_t objectDetectionInstant[20]; - -/** @brief nombre d'objets détectés */ -uint8_t nombreObjetDetecte; - -Tourelle::Tourelle() - 8016844: b580 push {r7, lr} - 8016846: b082 sub sp, #8 - 8016848: af00 add r7, sp, #0 - 801684a: 6078 str r0, [r7, #4] -{ - alerte = false; - 801684c: 687a ldr r2, [r7, #4] - 801684e: f04f 0300 mov.w r3, #0 ; 0x0 - 8016852: 7013 strb r3, [r2, #0] - - nombreObjetDetecte = 0; - 8016854: 4a05 ldr r2, [pc, #20] (801686c <_ZN8TourelleC1Ev+0x28>) - 8016856: f04f 0300 mov.w r3, #0 ; 0x0 - 801685a: 7013 strb r3, [r2, #0] - - //EXTILine2_Config(); - EXTILine3_Config(); - 801685c: f7ff ffa6 bl 80167ac <_Z16EXTILine3_Configv> -// EXTILine3_Config(); -// #elif defined(STM32F10X_MD) || defined(STM32F10X_CL) -// EXTILine5_Config(); -// #endif - -} - 8016860: 687b ldr r3, [r7, #4] - 8016862: 4618 mov r0, r3 - 8016864: f107 0708 add.w r7, r7, #8 ; 0x8 - 8016868: 46bd mov sp, r7 - 801686a: bd80 pop {r7, pc} - 801686c: 200005a5 .word 0x200005a5 - -08016870 <_ZN8TourelleC2Ev>: -//uint16_t objectDetectionInstant[20]; - -/** @brief nombre d'objets détectés */ -uint8_t nombreObjetDetecte; - -Tourelle::Tourelle() - 8016870: b580 push {r7, lr} - 8016872: b082 sub sp, #8 - 8016874: af00 add r7, sp, #0 - 8016876: 6078 str r0, [r7, #4] -{ - alerte = false; - 8016878: 687a ldr r2, [r7, #4] - 801687a: f04f 0300 mov.w r3, #0 ; 0x0 - 801687e: 7013 strb r3, [r2, #0] - - nombreObjetDetecte = 0; - 8016880: 4a05 ldr r2, [pc, #20] (8016898 <_ZN8TourelleC2Ev+0x28>) - 8016882: f04f 0300 mov.w r3, #0 ; 0x0 - 8016886: 7013 strb r3, [r2, #0] - - //EXTILine2_Config(); - EXTILine3_Config(); - 8016888: f7ff ff90 bl 80167ac <_Z16EXTILine3_Configv> -// EXTILine3_Config(); -// #elif defined(STM32F10X_MD) || defined(STM32F10X_CL) -// EXTILine5_Config(); -// #endif - -} - 801688c: 687b ldr r3, [r7, #4] - 801688e: 4618 mov r0, r3 - 8016890: f107 0708 add.w r7, r7, #8 ; 0x8 - 8016894: 46bd mov sp, r7 - 8016896: bd80 pop {r7, pc} - 8016898: 200005a5 .word 0x200005a5 - -0801689c <_ZN16UltrasoundSensor7getNameEv>: -UltrasoundSensor::~UltrasoundSensor() -{ - //dtor -} - -UltrasoundSensor::UltrasoundName UltrasoundSensor::getName() - 801689c: b480 push {r7} - 801689e: b083 sub sp, #12 - 80168a0: af00 add r7, sp, #0 - 80168a2: 6078 str r0, [r7, #4] -{ - return name; - 80168a4: 687b ldr r3, [r7, #4] - 80168a6: 7b1b ldrb r3, [r3, #12] -} - 80168a8: 4618 mov r0, r3 - 80168aa: f107 070c add.w r7, r7, #12 ; 0xc - 80168ae: 46bd mov sp, r7 - 80168b0: bc80 pop {r7} - 80168b2: 4770 bx lr - -080168b4 <_ZN16UltrasoundSensor8getValueEv>: - - -Sensor::OutputSensor UltrasoundSensor::getValue() - 80168b4: b580 push {r7, lr} - 80168b6: b086 sub sp, #24 - 80168b8: af00 add r7, sp, #0 - 80168ba: 6038 str r0, [r7, #0] - 80168bc: 6079 str r1, [r7, #4] -{ - while(!AnalogSensor::conversionFinished()); // au cas où l'interrupt de l'asservissement tombe avant la fin de l'acquisition/conversion - 80168be: f7fd fa51 bl 8013d64 <_ZN12AnalogSensor18conversionFinishedEv> - 80168c2: 4603 mov r3, r0 - 80168c4: f083 0301 eor.w r3, r3, #1 ; 0x1 - 80168c8: b2db uxtb r3, r3 - 80168ca: 2b00 cmp r3, #0 - 80168cc: d1f7 bne.n 80168be <_ZN16UltrasoundSensor8getValueEv+0xa> - ** POUR AVOIR LA VALEUR DES CAPTEURS ** - ** ** - ** ** - ***********************************************/ - OutputSensor output; - output.type = ULTRASOUND; - 80168ce: f04f 0301 mov.w r3, #1 ; 0x1 - 80168d2: 683a ldr r2, [r7, #0] - 80168d4: 7013 strb r3, [r2, #0] - output.b = false; - 80168d6: f04f 0300 mov.w r3, #0 ; 0x0 - 80168da: 683a ldr r2, [r7, #0] - 80168dc: 7213 strb r3, [r2, #8] - #ifdef ROBOTHW - output.f = coeff*(*data)/2.; - 80168de: 687b ldr r3, [r7, #4] - 80168e0: 689b ldr r3, [r3, #8] - 80168e2: 681b ldr r3, [r3, #0] - 80168e4: 4618 mov r0, r3 - 80168e6: f016 fb0f bl 802cf08 <__aeabi_ui2f> - 80168ea: 4602 mov r2, r0 - 80168ec: 4b09 ldr r3, [pc, #36] (8016914 <_ZN16UltrasoundSensor8getValueEv+0x60>) - 80168ee: 681b ldr r3, [r3, #0] - 80168f0: 4610 mov r0, r2 - 80168f2: 4619 mov r1, r3 - 80168f4: f016 fb60 bl 802cfb8 <__aeabi_fmul> - 80168f8: 4603 mov r3, r0 - 80168fa: 4618 mov r0, r3 - 80168fc: 4906 ldr r1, [pc, #24] (8016918 <_ZN16UltrasoundSensor8getValueEv+0x64>) - 80168fe: f016 fc0f bl 802d120 <__aeabi_fdiv> - 8016902: 4603 mov r3, r0 - 8016904: 683a ldr r2, [r7, #0] - 8016906: 6053 str r3, [r2, #4] - #else - output.f = 0; - #endif - return output; -} - 8016908: 6838 ldr r0, [r7, #0] - 801690a: f107 0718 add.w r7, r7, #24 ; 0x18 - 801690e: 46bd mov sp, r7 - 8016910: bd80 pop {r7, pc} - 8016912: 46c0 nop (mov r8, r8) - 8016914: 20000038 .word 0x20000038 - 8016918: 40000000 .word 0x40000000 - -0801691c <_ZN16UltrasoundSensorD0Ev>: -UltrasoundSensor::UltrasoundSensor(UltrasoundName name, uint8_t channel, DMA_MEMORY_TYPE* pData) : AnalogSensor(channel, pData) -{ - this->name = name; -} - -UltrasoundSensor::~UltrasoundSensor() - 801691c: b580 push {r7, lr} - 801691e: b082 sub sp, #8 - 8016920: af00 add r7, sp, #0 - 8016922: 6078 str r0, [r7, #4] - 8016924: 687a ldr r2, [r7, #4] - 8016926: 4b0a ldr r3, [pc, #40] (8016950 <_ZN16UltrasoundSensorD0Ev+0x34>) - 8016928: 6013 str r3, [r2, #0] -{ - //dtor -} - 801692a: 687b ldr r3, [r7, #4] - 801692c: 4618 mov r0, r3 - 801692e: f7fd fb0b bl 8013f48 <_ZN12AnalogSensorD2Ev> - 8016932: f04f 0301 mov.w r3, #1 ; 0x1 - 8016936: b2db uxtb r3, r3 - 8016938: 2b00 cmp r3, #0 - 801693a: d002 beq.n 8016942 <_ZN16UltrasoundSensorD0Ev+0x26> - 801693c: 6878 ldr r0, [r7, #4] - 801693e: f000 fe65 bl 801760c <_ZdlPv> - 8016942: 687b ldr r3, [r7, #4] - 8016944: 4618 mov r0, r3 - 8016946: f107 0708 add.w r7, r7, #8 ; 0x8 - 801694a: 46bd mov sp, r7 - 801694c: bd80 pop {r7, pc} - 801694e: 46c0 nop (mov r8, r8) - 8016950: 08034020 .word 0x08034020 - -08016954 <_ZN16UltrasoundSensorD1Ev>: -UltrasoundSensor::UltrasoundSensor(UltrasoundName name, uint8_t channel, DMA_MEMORY_TYPE* pData) : AnalogSensor(channel, pData) -{ - this->name = name; -} - -UltrasoundSensor::~UltrasoundSensor() - 8016954: b580 push {r7, lr} - 8016956: b082 sub sp, #8 - 8016958: af00 add r7, sp, #0 - 801695a: 6078 str r0, [r7, #4] - 801695c: 687a ldr r2, [r7, #4] - 801695e: 4b0a ldr r3, [pc, #40] (8016988 <_ZN16UltrasoundSensorD1Ev+0x34>) - 8016960: 6013 str r3, [r2, #0] -{ - //dtor -} - 8016962: 687b ldr r3, [r7, #4] - 8016964: 4618 mov r0, r3 - 8016966: f7fd faef bl 8013f48 <_ZN12AnalogSensorD2Ev> - 801696a: f04f 0300 mov.w r3, #0 ; 0x0 - 801696e: b2db uxtb r3, r3 - 8016970: 2b00 cmp r3, #0 - 8016972: d002 beq.n 801697a <_ZN16UltrasoundSensorD1Ev+0x26> - 8016974: 6878 ldr r0, [r7, #4] - 8016976: f000 fe49 bl 801760c <_ZdlPv> - 801697a: 687b ldr r3, [r7, #4] - 801697c: 4618 mov r0, r3 - 801697e: f107 0708 add.w r7, r7, #8 ; 0x8 - 8016982: 46bd mov sp, r7 - 8016984: bd80 pop {r7, pc} - 8016986: 46c0 nop (mov r8, r8) - 8016988: 08034020 .word 0x08034020 - -0801698c <_ZN16UltrasoundSensorD2Ev>: -UltrasoundSensor::UltrasoundSensor(UltrasoundName name, uint8_t channel, DMA_MEMORY_TYPE* pData) : AnalogSensor(channel, pData) -{ - this->name = name; -} - -UltrasoundSensor::~UltrasoundSensor() - 801698c: b580 push {r7, lr} - 801698e: b082 sub sp, #8 - 8016990: af00 add r7, sp, #0 - 8016992: 6078 str r0, [r7, #4] - 8016994: 687a ldr r2, [r7, #4] - 8016996: 4b0a ldr r3, [pc, #40] (80169c0 <_ZN16UltrasoundSensorD2Ev+0x34>) - 8016998: 6013 str r3, [r2, #0] -{ - //dtor -} - 801699a: 687b ldr r3, [r7, #4] - 801699c: 4618 mov r0, r3 - 801699e: f7fd fad3 bl 8013f48 <_ZN12AnalogSensorD2Ev> - 80169a2: f04f 0300 mov.w r3, #0 ; 0x0 - 80169a6: b2db uxtb r3, r3 - 80169a8: 2b00 cmp r3, #0 - 80169aa: d002 beq.n 80169b2 <_ZN16UltrasoundSensorD2Ev+0x26> - 80169ac: 6878 ldr r0, [r7, #4] - 80169ae: f000 fe2d bl 801760c <_ZdlPv> - 80169b2: 687b ldr r3, [r7, #4] - 80169b4: 4618 mov r0, r3 - 80169b6: f107 0708 add.w r7, r7, #8 ; 0x8 - 80169ba: 46bd mov sp, r7 - 80169bc: bd80 pop {r7, pc} - 80169be: 46c0 nop (mov r8, r8) - 80169c0: 08034020 .word 0x08034020 - -080169c4 <_ZN16UltrasoundSensorC1ENS_14UltrasoundNameEhPm>: -#include "ultrasoundSensor.h" - -float UltrasoundSensor::coeff = COEFFICIENT_LIN_ULTRASON; - -UltrasoundSensor::UltrasoundSensor(UltrasoundName name, uint8_t channel, DMA_MEMORY_TYPE* pData) : AnalogSensor(channel, pData) - 80169c4: b580 push {r7, lr} - 80169c6: b084 sub sp, #16 - 80169c8: af00 add r7, sp, #0 - 80169ca: 60f8 str r0, [r7, #12] - 80169cc: 607b str r3, [r7, #4] - 80169ce: 460b mov r3, r1 - 80169d0: 72fb strb r3, [r7, #11] - 80169d2: 4613 mov r3, r2 - 80169d4: 72bb strb r3, [r7, #10] - 80169d6: 68fb ldr r3, [r7, #12] - 80169d8: 7aba ldrb r2, [r7, #10] - 80169da: 4618 mov r0, r3 - 80169dc: 4611 mov r1, r2 - 80169de: 687a ldr r2, [r7, #4] - 80169e0: f7fd faf8 bl 8013fd4 <_ZN12AnalogSensorC2EhPm> - 80169e4: 68fa ldr r2, [r7, #12] - 80169e6: 4b05 ldr r3, [pc, #20] (80169fc <_ZN16UltrasoundSensorC1ENS_14UltrasoundNameEhPm+0x38>) - 80169e8: 6013 str r3, [r2, #0] -{ - this->name = name; - 80169ea: 68fa ldr r2, [r7, #12] - 80169ec: 7afb ldrb r3, [r7, #11] - 80169ee: 7313 strb r3, [r2, #12] -} - 80169f0: 68fb ldr r3, [r7, #12] - 80169f2: 4618 mov r0, r3 - 80169f4: f107 0710 add.w r7, r7, #16 ; 0x10 - 80169f8: 46bd mov sp, r7 - 80169fa: bd80 pop {r7, pc} - 80169fc: 08034020 .word 0x08034020 - -08016a00 <_ZN16UltrasoundSensorC2ENS_14UltrasoundNameEhPm>: -#include "ultrasoundSensor.h" - -float UltrasoundSensor::coeff = COEFFICIENT_LIN_ULTRASON; - -UltrasoundSensor::UltrasoundSensor(UltrasoundName name, uint8_t channel, DMA_MEMORY_TYPE* pData) : AnalogSensor(channel, pData) - 8016a00: b580 push {r7, lr} - 8016a02: b084 sub sp, #16 - 8016a04: af00 add r7, sp, #0 - 8016a06: 60f8 str r0, [r7, #12] - 8016a08: 607b str r3, [r7, #4] - 8016a0a: 460b mov r3, r1 - 8016a0c: 72fb strb r3, [r7, #11] - 8016a0e: 4613 mov r3, r2 - 8016a10: 72bb strb r3, [r7, #10] - 8016a12: 68fb ldr r3, [r7, #12] - 8016a14: 7aba ldrb r2, [r7, #10] - 8016a16: 4618 mov r0, r3 - 8016a18: 4611 mov r1, r2 - 8016a1a: 687a ldr r2, [r7, #4] - 8016a1c: f7fd fada bl 8013fd4 <_ZN12AnalogSensorC2EhPm> - 8016a20: 68fa ldr r2, [r7, #12] - 8016a22: 4b05 ldr r3, [pc, #20] (8016a38 <_ZN16UltrasoundSensorC2ENS_14UltrasoundNameEhPm+0x38>) - 8016a24: 6013 str r3, [r2, #0] -{ - this->name = name; - 8016a26: 68fa ldr r2, [r7, #12] - 8016a28: 7afb ldrb r3, [r7, #11] - 8016a2a: 7313 strb r3, [r2, #12] -} - 8016a2c: 68fb ldr r3, [r7, #12] - 8016a2e: 4618 mov r0, r3 - 8016a30: f107 0710 add.w r7, r7, #16 ; 0x10 - 8016a34: 46bd mov sp, r7 - 8016a36: bd80 pop {r7, pc} - 8016a38: 08034020 .word 0x08034020 - -08016a3c <_Z8Clk_Initv>: -//#include "stm32f10x_remap.h" - -#include "initialisation.h" - -// Initialise le système d'horloge -void Clk_Init() - 8016a3c: b480 push {r7} - 8016a3e: af00 add r7, sp, #0 - // Flash 1 wait state - *(vu32 *)0x40022000 = 0x12; - // On utilise le PLL comme horloge de référence - RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); // system clock (SYSCLK) : 72MHz - #endif -} - 8016a40: 46bd mov sp, r7 - 8016a42: bc80 pop {r7} - 8016a44: 4770 bx lr - 8016a46: 46c0 nop (mov r8, r8) - -08016a48 <_Z20initialisationDesPINv>: - - - -// Mettez toutes vos initialisations de PIN dans la fonction "initialisation" -// On l'appellera ensuite dans le main au tout début pour tout initialiser d'un coup -void initialisationDesPIN() - 8016a48: b580 push {r7, lr} - 8016a4a: b082 sub sp, #8 - 8016a4c: af00 add r7, sp, #0 - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; // La vitesse de rafraichissement du port - GPIO_Init(GPIOA, &GPIO_InitStructure); - GPIO_WriteBit(GPIOA, GPIO_Pin_1, Bit_SET);*/ - GPIO_PinAFConfig(GPIOA, GPIO_PinSource0, GPIO_AF_TIM2); - 8016a4e: 486b ldr r0, [pc, #428] (8016bfc <_Z20initialisationDesPINv+0x1b4>) - 8016a50: f04f 0100 mov.w r1, #0 ; 0x0 - 8016a54: f04f 0201 mov.w r2, #1 ; 0x1 - 8016a58: f7f3 fa10 bl 8009e7c - GPIO_PinAFConfig(GPIOA, GPIO_PinSource1, GPIO_AF_TIM2); - 8016a5c: 4867 ldr r0, [pc, #412] (8016bfc <_Z20initialisationDesPINv+0x1b4>) - 8016a5e: f04f 0101 mov.w r1, #1 ; 0x1 - 8016a62: f04f 0201 mov.w r2, #1 ; 0x1 - 8016a66: f7f3 fa09 bl 8009e7c - - // Sharps - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_5; - 8016a6a: f04f 032f mov.w r3, #47 ; 0x2f - 8016a6e: 603b str r3, [r7, #0] - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN; - 8016a70: f04f 0303 mov.w r3, #3 ; 0x3 - 8016a74: 713b strb r3, [r7, #4] - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL ; - 8016a76: f04f 0300 mov.w r3, #0 ; 0x0 - 8016a7a: 71fb strb r3, [r7, #7] - GPIO_Init(GPIOC, &GPIO_InitStructure); - 8016a7c: 463b mov r3, r7 - 8016a7e: 4860 ldr r0, [pc, #384] (8016c00 <_Z20initialisationDesPINv+0x1b8>) - 8016a80: 4619 mov r1, r3 - 8016a82: f7f3 f861 bl 8009b48 - - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1; - 8016a86: f04f 0303 mov.w r3, #3 ; 0x3 - 8016a8a: 603b str r3, [r7, #0] - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN; - 8016a8c: f04f 0303 mov.w r3, #3 ; 0x3 - 8016a90: 713b strb r3, [r7, #4] - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL ; - 8016a92: f04f 0300 mov.w r3, #0 ; 0x0 - 8016a96: 71fb strb r3, [r7, #7] - GPIO_Init(GPIOB, &GPIO_InitStructure); - 8016a98: 463b mov r3, r7 - 8016a9a: 485a ldr r0, [pc, #360] (8016c04 <_Z20initialisationDesPINv+0x1bc>) - 8016a9c: 4619 mov r1, r3 - 8016a9e: f7f3 f853 bl 8009b48 - - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 |GPIO_Pin_7; - 8016aa2: f04f 03c0 mov.w r3, #192 ; 0xc0 - 8016aa6: 603b str r3, [r7, #0] - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN; - 8016aa8: f04f 0303 mov.w r3, #3 ; 0x3 - 8016aac: 713b strb r3, [r7, #4] - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL ; - 8016aae: f04f 0300 mov.w r3, #0 ; 0x0 - 8016ab2: 71fb strb r3, [r7, #7] - GPIO_Init(GPIOA, &GPIO_InitStructure); - 8016ab4: 463b mov r3, r7 - 8016ab6: 4851 ldr r0, [pc, #324] (8016bfc <_Z20initialisationDesPINv+0x1b4>) - 8016ab8: 4619 mov r1, r3 - 8016aba: f7f3 f845 bl 8009b48 - - // Patte coté de la partie bleu ou jaune - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; - 8016abe: f44f 7300 mov.w r3, #512 ; 0x200 - 8016ac2: 603b str r3, [r7, #0] - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN; - 8016ac4: f04f 0300 mov.w r3, #0 ; 0x0 - 8016ac8: 713b strb r3, [r7, #4] - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN; - 8016aca: f04f 0302 mov.w r3, #2 ; 0x2 - 8016ace: 71fb strb r3, [r7, #7] - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - 8016ad0: f04f 0302 mov.w r3, #2 ; 0x2 - 8016ad4: 717b strb r3, [r7, #5] - GPIO_Init(GPIOB, &GPIO_InitStructure); - 8016ad6: 463b mov r3, r7 - 8016ad8: 484a ldr r0, [pc, #296] (8016c04 <_Z20initialisationDesPINv+0x1bc>) - 8016ada: 4619 mov r1, r3 - 8016adc: f7f3 f834 bl 8009b48 - - // Tirette - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10; - 8016ae0: f44f 6380 mov.w r3, #1024 ; 0x400 - 8016ae4: 603b str r3, [r7, #0] - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN; - 8016ae6: f04f 0300 mov.w r3, #0 ; 0x0 - 8016aea: 713b strb r3, [r7, #4] - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; - 8016aec: f04f 0301 mov.w r3, #1 ; 0x1 - 8016af0: 71fb strb r3, [r7, #7] - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - 8016af2: f04f 0302 mov.w r3, #2 ; 0x2 - 8016af6: 717b strb r3, [r7, #5] - GPIO_Init(GPIOA, &GPIO_InitStructure); - 8016af8: 463b mov r3, r7 - 8016afa: 4840 ldr r0, [pc, #256] (8016bfc <_Z20initialisationDesPINv+0x1b4>) - 8016afc: 4619 mov r1, r3 - 8016afe: f7f3 f823 bl 8009b48 - - // Pattes des servos - GPIO_PinAFConfig(GPIOC, GPIO_PinSource6, GPIO_AF_TIM3); - 8016b02: 483f ldr r0, [pc, #252] (8016c00 <_Z20initialisationDesPINv+0x1b8>) - 8016b04: f04f 0106 mov.w r1, #6 ; 0x6 - 8016b08: f04f 0202 mov.w r2, #2 ; 0x2 - 8016b0c: f7f3 f9b6 bl 8009e7c - GPIO_PinAFConfig(GPIOC, GPIO_PinSource7, GPIO_AF_TIM3); - 8016b10: 483b ldr r0, [pc, #236] (8016c00 <_Z20initialisationDesPINv+0x1b8>) - 8016b12: f04f 0107 mov.w r1, #7 ; 0x7 - 8016b16: f04f 0202 mov.w r2, #2 ; 0x2 - 8016b1a: f7f3 f9af bl 8009e7c - GPIO_PinAFConfig(GPIOC, GPIO_PinSource8, GPIO_AF_TIM3); - 8016b1e: 4838 ldr r0, [pc, #224] (8016c00 <_Z20initialisationDesPINv+0x1b8>) - 8016b20: f04f 0108 mov.w r1, #8 ; 0x8 - 8016b24: f04f 0202 mov.w r2, #2 ; 0x2 - 8016b28: f7f3 f9a8 bl 8009e7c - GPIO_PinAFConfig(GPIOC, GPIO_PinSource9, GPIO_AF_TIM3); - 8016b2c: 4834 ldr r0, [pc, #208] (8016c00 <_Z20initialisationDesPINv+0x1b8>) - 8016b2e: f04f 0109 mov.w r1, #9 ; 0x9 - 8016b32: f04f 0202 mov.w r2, #2 ; 0x2 - 8016b36: f7f3 f9a1 bl 8009e7c - - // servo 1 - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7; - 8016b3a: f04f 0380 mov.w r3, #128 ; 0x80 - 8016b3e: 603b str r3, [r7, #0] - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - 8016b40: f04f 0302 mov.w r3, #2 ; 0x2 - 8016b44: 713b strb r3, [r7, #4] - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - 8016b46: f04f 0300 mov.w r3, #0 ; 0x0 - 8016b4a: 71bb strb r3, [r7, #6] - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - 8016b4c: f04f 0302 mov.w r3, #2 ; 0x2 - 8016b50: 717b strb r3, [r7, #5] - GPIO_Init(GPIOC, &GPIO_InitStructure); - 8016b52: 463b mov r3, r7 - 8016b54: 482a ldr r0, [pc, #168] (8016c00 <_Z20initialisationDesPINv+0x1b8>) - 8016b56: 4619 mov r1, r3 - 8016b58: f7f2 fff6 bl 8009b48 - - // servo 2 - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6; - 8016b5c: f04f 0340 mov.w r3, #64 ; 0x40 - 8016b60: 603b str r3, [r7, #0] - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - 8016b62: f04f 0302 mov.w r3, #2 ; 0x2 - 8016b66: 713b strb r3, [r7, #4] - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - 8016b68: f04f 0300 mov.w r3, #0 ; 0x0 - 8016b6c: 71bb strb r3, [r7, #6] - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - 8016b6e: f04f 0302 mov.w r3, #2 ; 0x2 - 8016b72: 717b strb r3, [r7, #5] - GPIO_Init(GPIOC, &GPIO_InitStructure); - 8016b74: 463b mov r3, r7 - 8016b76: 4822 ldr r0, [pc, #136] (8016c00 <_Z20initialisationDesPINv+0x1b8>) - 8016b78: 4619 mov r1, r3 - 8016b7a: f7f2 ffe5 bl 8009b48 - - // servo 3 - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; - 8016b7e: f44f 7380 mov.w r3, #256 ; 0x100 - 8016b82: 603b str r3, [r7, #0] - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - 8016b84: f04f 0302 mov.w r3, #2 ; 0x2 - 8016b88: 713b strb r3, [r7, #4] - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - 8016b8a: f04f 0300 mov.w r3, #0 ; 0x0 - 8016b8e: 71bb strb r3, [r7, #6] - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - 8016b90: f04f 0302 mov.w r3, #2 ; 0x2 - 8016b94: 717b strb r3, [r7, #5] - GPIO_Init(GPIOC, &GPIO_InitStructure); - 8016b96: 463b mov r3, r7 - 8016b98: 4819 ldr r0, [pc, #100] (8016c00 <_Z20initialisationDesPINv+0x1b8>) - 8016b9a: 4619 mov r1, r3 - 8016b9c: f7f2 ffd4 bl 8009b48 - - // servo 4 - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; - 8016ba0: f44f 7300 mov.w r3, #512 ; 0x200 - 8016ba4: 603b str r3, [r7, #0] - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - 8016ba6: f04f 0302 mov.w r3, #2 ; 0x2 - 8016baa: 713b strb r3, [r7, #4] - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - 8016bac: f04f 0300 mov.w r3, #0 ; 0x0 - 8016bb0: 71bb strb r3, [r7, #6] - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - 8016bb2: f04f 0302 mov.w r3, #2 ; 0x2 - 8016bb6: 717b strb r3, [r7, #5] - GPIO_Init(GPIOC, &GPIO_InitStructure); - 8016bb8: 463b mov r3, r7 - 8016bba: 4811 ldr r0, [pc, #68] (8016c00 <_Z20initialisationDesPINv+0x1b8>) - 8016bbc: 4619 mov r1, r3 - 8016bbe: f7f2 ffc3 bl 8009b48 - - // LED Verte - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12; - 8016bc2: f44f 5380 mov.w r3, #4096 ; 0x1000 - 8016bc6: 603b str r3, [r7, #0] - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; - 8016bc8: f04f 0301 mov.w r3, #1 ; 0x1 - 8016bcc: 713b strb r3, [r7, #4] - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - 8016bce: f04f 0300 mov.w r3, #0 ; 0x0 - 8016bd2: 71bb strb r3, [r7, #6] - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; // La vitesse de rafraichissement du port - 8016bd4: f04f 0300 mov.w r3, #0 ; 0x0 - 8016bd8: 717b strb r3, [r7, #5] - GPIO_Init(GPIOC, &GPIO_InitStructure); - 8016bda: 463b mov r3, r7 - 8016bdc: 4808 ldr r0, [pc, #32] (8016c00 <_Z20initialisationDesPINv+0x1b8>) - 8016bde: 4619 mov r1, r3 - 8016be0: f7f2 ffb2 bl 8009b48 - GPIO_WriteBit(GPIOC, GPIO_Pin_12, Bit_SET); - 8016be4: 4806 ldr r0, [pc, #24] (8016c00 <_Z20initialisationDesPINv+0x1b8>) - 8016be6: f44f 5180 mov.w r1, #4096 ; 0x1000 - 8016bea: f04f 0201 mov.w r2, #1 ; 0x1 - 8016bee: f7f3 f90d bl 8009e0c - -#endif //STM32F40_41xxx - -} - 8016bf2: f107 0708 add.w r7, r7, #8 ; 0x8 - 8016bf6: 46bd mov sp, r7 - 8016bf8: bd80 pop {r7, pc} - 8016bfa: 46c0 nop (mov r8, r8) - 8016bfc: 40020000 .word 0x40020000 - 8016c00: 40020800 .word 0x40020800 - 8016c04: 40020400 .word 0x40020400 - -08016c08 <_Z18initAutresHorlogesv>: - RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); // system clock (SYSCLK) : 72MHz - #endif -} - -// Définit quelques horloges supplémentaires -void initAutresHorloges() - 8016c08: b580 push {r7, lr} - 8016c0a: af00 add r7, sp, #0 -{ - #ifdef STM32F40_41xxx - RCC_AHB1PeriphClockCmd( RCC_AHB1Periph_GPIOA, ENABLE); - 8016c0c: f04f 0001 mov.w r0, #1 ; 0x1 - 8016c10: f04f 0101 mov.w r1, #1 ; 0x1 - 8016c14: f7f3 fda8 bl 800a768 - RCC_AHB1PeriphClockCmd( RCC_AHB1Periph_GPIOB, ENABLE); - 8016c18: f04f 0002 mov.w r0, #2 ; 0x2 - 8016c1c: f04f 0101 mov.w r1, #1 ; 0x1 - 8016c20: f7f3 fda2 bl 800a768 - RCC_AHB1PeriphClockCmd( RCC_AHB1Periph_GPIOC, ENABLE); - 8016c24: f04f 0004 mov.w r0, #4 ; 0x4 - 8016c28: f04f 0101 mov.w r1, #1 ; 0x1 - 8016c2c: f7f3 fd9c bl 800a768 - RCC_AHB1PeriphClockCmd( RCC_AHB1Periph_GPIOD, ENABLE); - 8016c30: f04f 0008 mov.w r0, #8 ; 0x8 - 8016c34: f04f 0101 mov.w r1, #1 ; 0x1 - 8016c38: f7f3 fd96 bl 800a768 - RCC_AHB1PeriphClockCmd( RCC_AHB1Periph_GPIOE, ENABLE); - 8016c3c: f04f 0010 mov.w r0, #16 ; 0x10 - 8016c40: f04f 0101 mov.w r1, #1 ; 0x1 - 8016c44: f7f3 fd90 bl 800a768 - /*RCC_AHB1PeriphClockCmd( RCC_AHB1Periph_DMA1, ENABLE); - RCC_APB2PeriphClockCmd( RCC_APB2Periph_ADC1, ENABLE);*/ - //RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); no equivalent in F4, seems to be unecessary - - // Sharps - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_DMA2, ENABLE); - 8016c48: f44f 0080 mov.w r0, #4194304 ; 0x400000 - 8016c4c: f04f 0101 mov.w r1, #1 ; 0x1 - 8016c50: f7f3 fd8a bl 800a768 - RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC3, ENABLE); - 8016c54: f44f 6080 mov.w r0, #1024 ; 0x400 - 8016c58: f04f 0101 mov.w r1, #1 ; 0x1 - 8016c5c: f7f3 fe0c bl 800a878 - RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); - #ifdef STM32F10X_CL // stm h107 - RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE, ENABLE); - #endif - #endif -} - 8016c60: 46bd mov sp, r7 - 8016c62: bd80 pop {r7, pc} - -08016c64 <_ZN16ServosNumeriques8sendModeEv>: - USART_Init(USART3, &USART_InitStruct); - //USART_ClockInit(USART3, &USART_ClockInitStruct); - USART_Cmd(USART3, ENABLE); -} - -void sendMode() - 8016c64: b480 push {r7} - 8016c66: af00 add r7, sp, #0 - #ifdef STM32F10X_CL - GPIO_WriteBit(GPIOD, GPIO_Pin_10, Bit_SET); - #elif defined(STM32F10X_MD) || defined(STM32F10X_CL) - GPIO_WriteBit(GPIOB, GPIO_Pin_5, Bit_SET); - #endif -} - 8016c68: 46bd mov sp, r7 - 8016c6a: bc80 pop {r7} - 8016c6c: 4770 bx lr - 8016c6e: 46c0 nop (mov r8, r8) - -08016c70 <_ZN16ServosNumeriques11receiveModeEv>: -void receiveMode() - 8016c70: b480 push {r7} - 8016c72: af00 add r7, sp, #0 - #ifdef STM32F10X_CL - GPIO_WriteBit(GPIOD, GPIO_Pin_10, Bit_RESET); - #elif defined(STM32F10X_MD) || defined(STM32F10X_CL) - GPIO_WriteBit(GPIOB, GPIO_Pin_5, Bit_SET); - #endif -} - 8016c74: 46bd mov sp, r7 - 8016c76: bc80 pop {r7} - 8016c78: 4770 bx lr - 8016c7a: 46c0 nop (mov r8, r8) - -08016c7c <_ZN16ServosNumeriques11receiveDataEv>: - // Wait until the send buffer is cleared finishes - while (USART_GetFlagStatus(USART3, USART_FLAG_TXE) == RESET); - USART_SendData(USART3, (u16) data); -} - -int receiveData() - 8016c7c: b480 push {r7} - 8016c7e: af00 add r7, sp, #0 -{ - while (!(USART3->SR & USART_FLAG_RXNE)); - 8016c80: 4b0b ldr r3, [pc, #44] (8016cb0 <_ZN16ServosNumeriques11receiveDataEv+0x34>) - 8016c82: 881b ldrh r3, [r3, #0] - 8016c84: b29b uxth r3, r3 - 8016c86: f003 0320 and.w r3, r3, #32 ; 0x20 - 8016c8a: 2b00 cmp r3, #0 - 8016c8c: bf14 ite ne - 8016c8e: 2300 movne r3, #0 - 8016c90: 2301 moveq r3, #1 - 8016c92: b2db uxtb r3, r3 - 8016c94: 2b00 cmp r3, #0 - 8016c96: d1f3 bne.n 8016c80 <_ZN16ServosNumeriques11receiveDataEv+0x4> - - return ((int)(USART3->DR & 0x1FF)); - 8016c98: 4b05 ldr r3, [pc, #20] (8016cb0 <_ZN16ServosNumeriques11receiveDataEv+0x34>) - 8016c9a: 889b ldrh r3, [r3, #4] - 8016c9c: b29b uxth r3, r3 - 8016c9e: ea4f 53c3 mov.w r3, r3, lsl #23 - 8016ca2: ea4f 53d3 mov.w r3, r3, lsr #23 -} - 8016ca6: 4618 mov r0, r3 - 8016ca8: 46bd mov sp, r7 - 8016caa: bc80 pop {r7} - 8016cac: 4770 bx lr - 8016cae: 46c0 nop (mov r8, r8) - 8016cb0: 40004800 .word 0x40004800 - -08016cb4 <_ZN16ServosNumeriques19receiveStatusPacketEPi>: - -int receiveStatusPacket(int* tableau) - 8016cb4: b590 push {r4, r7, lr} - 8016cb6: b089 sub sp, #36 - 8016cb8: af00 add r7, sp, #0 - 8016cba: 6078 str r0, [r7, #4] -{ - int msg = receiveData(); - 8016cbc: f7ff ffde bl 8016c7c <_ZN16ServosNumeriques11receiveDataEv> - 8016cc0: 4603 mov r3, r0 - 8016cc2: 60fb str r3, [r7, #12] - int i = 0; - 8016cc4: f04f 0300 mov.w r3, #0 ; 0x0 - 8016cc8: 613b str r3, [r7, #16] - 8016cca: e003 b.n 8016cd4 <_ZN16ServosNumeriques19receiveStatusPacketEPi+0x20> - while(msg == 0) { - msg = receiveData(); - 8016ccc: f7ff ffd6 bl 8016c7c <_ZN16ServosNumeriques11receiveDataEv> - 8016cd0: 4603 mov r3, r0 - 8016cd2: 60fb str r3, [r7, #12] - -int receiveStatusPacket(int* tableau) -{ - int msg = receiveData(); - int i = 0; - while(msg == 0) { - 8016cd4: 68fb ldr r3, [r7, #12] - 8016cd6: 2b00 cmp r3, #0 - 8016cd8: d0f8 beq.n 8016ccc <_ZN16ServosNumeriques19receiveStatusPacketEPi+0x18> - msg = receiveData(); - } // on attend de lire quelque chose - if (msg == 0xff) { // début fanion - 8016cda: 68fb ldr r3, [r7, #12] - 8016cdc: 2bff cmp r3, #255 - 8016cde: d176 bne.n 8016dce <_ZN16ServosNumeriques19receiveStatusPacketEPi+0x11a> - msg = receiveData(); - 8016ce0: f7ff ffcc bl 8016c7c <_ZN16ServosNumeriques11receiveDataEv> - 8016ce4: 4603 mov r3, r0 - 8016ce6: 60fb str r3, [r7, #12] - if (msg == 0xff) { // fin fanion - 8016ce8: 68fb ldr r3, [r7, #12] - 8016cea: 2bff cmp r3, #255 - 8016cec: d16f bne.n 8016dce <_ZN16ServosNumeriques19receiveStatusPacketEPi+0x11a> - tableau[i++] = receiveData(); // on lit quel servo a envoyé le msg - 8016cee: 693b ldr r3, [r7, #16] - 8016cf0: ea4f 0283 mov.w r2, r3, lsl #2 - 8016cf4: 687b ldr r3, [r7, #4] - 8016cf6: eb03 0402 add.w r4, r3, r2 - 8016cfa: f7ff ffbf bl 8016c7c <_ZN16ServosNumeriques11receiveDataEv> - 8016cfe: 4603 mov r3, r0 - 8016d00: 6023 str r3, [r4, #0] - 8016d02: 693b ldr r3, [r7, #16] - 8016d04: f103 0301 add.w r3, r3, #1 ; 0x1 - 8016d08: 613b str r3, [r7, #16] - tableau[i++] = receiveData(); // on lit la taille du message - 8016d0a: 693b ldr r3, [r7, #16] - 8016d0c: ea4f 0283 mov.w r2, r3, lsl #2 - 8016d10: 687b ldr r3, [r7, #4] - 8016d12: eb03 0402 add.w r4, r3, r2 - 8016d16: f7ff ffb1 bl 8016c7c <_ZN16ServosNumeriques11receiveDataEv> - 8016d1a: 4603 mov r3, r0 - 8016d1c: 6023 str r3, [r4, #0] - 8016d1e: 693b ldr r3, [r7, #16] - 8016d20: f103 0301 add.w r3, r3, #1 ; 0x1 - 8016d24: 613b str r3, [r7, #16] - for (int i = 2; i < tableau[1]+2; i++) { - 8016d26: f04f 0302 mov.w r3, #2 ; 0x2 - 8016d2a: 61bb str r3, [r7, #24] - 8016d2c: e00d b.n 8016d4a <_ZN16ServosNumeriques19receiveStatusPacketEPi+0x96> - tableau[i] = receiveData(); - 8016d2e: 69bb ldr r3, [r7, #24] - 8016d30: ea4f 0283 mov.w r2, r3, lsl #2 - 8016d34: 687b ldr r3, [r7, #4] - 8016d36: eb03 0402 add.w r4, r3, r2 - 8016d3a: f7ff ff9f bl 8016c7c <_ZN16ServosNumeriques11receiveDataEv> - 8016d3e: 4603 mov r3, r0 - 8016d40: 6023 str r3, [r4, #0] - if (msg == 0xff) { // début fanion - msg = receiveData(); - if (msg == 0xff) { // fin fanion - tableau[i++] = receiveData(); // on lit quel servo a envoyé le msg - tableau[i++] = receiveData(); // on lit la taille du message - for (int i = 2; i < tableau[1]+2; i++) { - 8016d42: 69bb ldr r3, [r7, #24] - 8016d44: f103 0301 add.w r3, r3, #1 ; 0x1 - 8016d48: 61bb str r3, [r7, #24] - 8016d4a: 687b ldr r3, [r7, #4] - 8016d4c: f103 0304 add.w r3, r3, #4 ; 0x4 - 8016d50: 681b ldr r3, [r3, #0] - 8016d52: f103 0202 add.w r2, r3, #2 ; 0x2 - 8016d56: 69bb ldr r3, [r7, #24] - 8016d58: 429a cmp r2, r3 - 8016d5a: dce8 bgt.n 8016d2e <_ZN16ServosNumeriques19receiveStatusPacketEPi+0x7a> - tableau[i] = receiveData(); - } - // on a tout lu : check la checksum - unsigned int sum = 0; - 8016d5c: f04f 0300 mov.w r3, #0 ; 0x0 - 8016d60: 617b str r3, [r7, #20] - for (int i = 0; i < tableau[1]+2; i++) { - 8016d62: f04f 0300 mov.w r3, #0 ; 0x0 - 8016d66: 61fb str r3, [r7, #28] - 8016d68: e00d b.n 8016d86 <_ZN16ServosNumeriques19receiveStatusPacketEPi+0xd2> - sum += tableau[i]; - 8016d6a: 69fb ldr r3, [r7, #28] - 8016d6c: ea4f 0283 mov.w r2, r3, lsl #2 - 8016d70: 687b ldr r3, [r7, #4] - 8016d72: 4413 add r3, r2 - 8016d74: 681b ldr r3, [r3, #0] - 8016d76: 461a mov r2, r3 - 8016d78: 697b ldr r3, [r7, #20] - 8016d7a: 4413 add r3, r2 - 8016d7c: 617b str r3, [r7, #20] - for (int i = 2; i < tableau[1]+2; i++) { - tableau[i] = receiveData(); - } - // on a tout lu : check la checksum - unsigned int sum = 0; - for (int i = 0; i < tableau[1]+2; i++) { - 8016d7e: 69fb ldr r3, [r7, #28] - 8016d80: f103 0301 add.w r3, r3, #1 ; 0x1 - 8016d84: 61fb str r3, [r7, #28] - 8016d86: 687b ldr r3, [r7, #4] - 8016d88: f103 0304 add.w r3, r3, #4 ; 0x4 - 8016d8c: 681b ldr r3, [r3, #0] - 8016d8e: f103 0202 add.w r2, r3, #2 ; 0x2 - 8016d92: 69fb ldr r3, [r7, #28] - 8016d94: 429a cmp r2, r3 - 8016d96: dce8 bgt.n 8016d6a <_ZN16ServosNumeriques19receiveStatusPacketEPi+0xb6> - sum += tableau[i]; - } - if ((int16_t)~(sum) != tableau[tableau[1]+1]) - 8016d98: 697b ldr r3, [r7, #20] - 8016d9a: b29b uxth r3, r3 - 8016d9c: ea6f 0303 mvn.w r3, r3 - 8016da0: b29b uxth r3, r3 - 8016da2: b219 sxth r1, r3 - 8016da4: 687b ldr r3, [r7, #4] - 8016da6: f103 0304 add.w r3, r3, #4 ; 0x4 - 8016daa: 681b ldr r3, [r3, #0] - 8016dac: f103 0301 add.w r3, r3, #1 ; 0x1 - 8016db0: ea4f 0283 mov.w r2, r3, lsl #2 - 8016db4: 687b ldr r3, [r7, #4] - 8016db6: 4413 add r3, r2 - 8016db8: 681b ldr r3, [r3, #0] - 8016dba: 4299 cmp r1, r3 - 8016dbc: d003 beq.n 8016dc6 <_ZN16ServosNumeriques19receiveStatusPacketEPi+0x112> - return -1; - 8016dbe: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8016dc2: 603b str r3, [r7, #0] - 8016dc4: e006 b.n 8016dd4 <_ZN16ServosNumeriques19receiveStatusPacketEPi+0x120> - return 0; - 8016dc6: f04f 0300 mov.w r3, #0 ; 0x0 - 8016dca: 603b str r3, [r7, #0] - 8016dcc: e002 b.n 8016dd4 <_ZN16ServosNumeriques19receiveStatusPacketEPi+0x120> - } - } - return 1; - 8016dce: f04f 0301 mov.w r3, #1 ; 0x1 - 8016dd2: 603b str r3, [r7, #0] - 8016dd4: 683b ldr r3, [r7, #0] -} - 8016dd6: 4618 mov r0, r3 - 8016dd8: f107 0724 add.w r7, r7, #36 ; 0x24 - 8016ddc: 46bd mov sp, r7 - 8016dde: bd90 pop {r4, r7, pc} - -08016de0 <_ZN16ServosNumeriques8sendDataEi>: - #elif defined(STM32F10X_MD) || defined(STM32F10X_CL) - GPIO_WriteBit(GPIOB, GPIO_Pin_5, Bit_SET); - #endif -} - -void sendData(int data) - 8016de0: b580 push {r7, lr} - 8016de2: b082 sub sp, #8 - 8016de4: af00 add r7, sp, #0 - 8016de6: 6078 str r0, [r7, #4] -{ - // Wait until the send buffer is cleared finishes - while (USART_GetFlagStatus(USART3, USART_FLAG_TXE) == RESET); - 8016de8: 480b ldr r0, [pc, #44] (8016e18 <_ZN16ServosNumeriques8sendDataEi+0x38>) - 8016dea: f04f 0180 mov.w r1, #128 ; 0x80 - 8016dee: f7f6 fcab bl 800d748 - 8016df2: 4603 mov r3, r0 - 8016df4: 2b00 cmp r3, #0 - 8016df6: bf14 ite ne - 8016df8: 2300 movne r3, #0 - 8016dfa: 2301 moveq r3, #1 - 8016dfc: b2db uxtb r3, r3 - 8016dfe: 2b00 cmp r3, #0 - 8016e00: d1f2 bne.n 8016de8 <_ZN16ServosNumeriques8sendDataEi+0x8> - USART_SendData(USART3, (u16) data); - 8016e02: 687b ldr r3, [r7, #4] - 8016e04: b29b uxth r3, r3 - 8016e06: 4804 ldr r0, [pc, #16] (8016e18 <_ZN16ServosNumeriques8sendDataEi+0x38>) - 8016e08: 4619 mov r1, r3 - 8016e0a: f7f6 fa59 bl 800d2c0 -} - 8016e0e: f107 0708 add.w r7, r7, #8 ; 0x8 - 8016e12: 46bd mov sp, r7 - 8016e14: bd80 pop {r7, pc} - 8016e16: 46c0 nop (mov r8, r8) - 8016e18: 40004800 .word 0x40004800 - -08016e1c <_ZN16ServosNumeriques12setMaxTorqueEth>: - int packetLength = AX12::getTorqueLimitInstruction(packet, torque, servo); - for (int i = 0; i < packetLength; i++) { - sendData(packet[i]); - } -} -void setMaxTorque(uint16_t torque, uint8_t servo) // EEPROM, automatiquement mis dans la RAM au démarrage - 8016e1c: b580 push {r7, lr} - 8016e1e: b094 sub sp, #80 - 8016e20: af00 add r7, sp, #0 - 8016e22: 4603 mov r3, r0 - 8016e24: 460a mov r2, r1 - 8016e26: 80fb strh r3, [r7, #6] - 8016e28: 4613 mov r3, r2 - 8016e2a: 717b strb r3, [r7, #5] -{ - int packet[16]; - int packetLength = AX12::getMaxTorqueInstruction(packet, torque, servo); - 8016e2c: f897 c005 ldrb.w ip, [r7, #5] - 8016e30: f107 0308 add.w r3, r7, #8 ; 0x8 - 8016e34: 88fa ldrh r2, [r7, #6] - 8016e36: 4618 mov r0, r3 - 8016e38: 4611 mov r1, r2 - 8016e3a: 4662 mov r2, ip - 8016e3c: f7fd f9aa bl 8014194 <_ZN4AX1223getMaxTorqueInstructionEPiti> - 8016e40: 4603 mov r3, r0 - 8016e42: 64bb str r3, [r7, #72] - for (int i = 0; i < packetLength; i++) { - 8016e44: f04f 0300 mov.w r3, #0 ; 0x0 - 8016e48: 64fb str r3, [r7, #76] - 8016e4a: e00e b.n 8016e6a <_ZN16ServosNumeriques12setMaxTorqueEth+0x4e> - sendData(packet[i]); - 8016e4c: 6cfb ldr r3, [r7, #76] - 8016e4e: ea4f 0383 mov.w r3, r3, lsl #2 - 8016e52: f107 0250 add.w r2, r7, #80 ; 0x50 - 8016e56: 4413 add r3, r2 - 8016e58: f853 3c48 ldr.w r3, [r3, #-72] - 8016e5c: 4618 mov r0, r3 - 8016e5e: f7ff ffbf bl 8016de0 <_ZN16ServosNumeriques8sendDataEi> -} -void setMaxTorque(uint16_t torque, uint8_t servo) // EEPROM, automatiquement mis dans la RAM au démarrage -{ - int packet[16]; - int packetLength = AX12::getMaxTorqueInstruction(packet, torque, servo); - for (int i = 0; i < packetLength; i++) { - 8016e62: 6cfb ldr r3, [r7, #76] - 8016e64: f103 0301 add.w r3, r3, #1 ; 0x1 - 8016e68: 64fb str r3, [r7, #76] - 8016e6a: 6cfa ldr r2, [r7, #76] - 8016e6c: 6cbb ldr r3, [r7, #72] - 8016e6e: 429a cmp r2, r3 - 8016e70: dbec blt.n 8016e4c <_ZN16ServosNumeriques12setMaxTorqueEth+0x30> - sendData(packet[i]); - } -} - 8016e72: f107 0750 add.w r7, r7, #80 ; 0x50 - 8016e76: 46bd mov sp, r7 - 8016e78: bd80 pop {r7, pc} - 8016e7a: 46c0 nop (mov r8, r8) - -08016e7c <_ZN16ServosNumeriques15setTorqueLimiteEth>: - sendData(packet[i]); - } -} - - -void setTorqueLimite(uint16_t torque, uint8_t servo) // dans la RAM - 8016e7c: b580 push {r7, lr} - 8016e7e: b094 sub sp, #80 - 8016e80: af00 add r7, sp, #0 - 8016e82: 4603 mov r3, r0 - 8016e84: 460a mov r2, r1 - 8016e86: 80fb strh r3, [r7, #6] - 8016e88: 4613 mov r3, r2 - 8016e8a: 717b strb r3, [r7, #5] -{ - int packet[16]; - int packetLength = AX12::getTorqueLimitInstruction(packet, torque, servo); - 8016e8c: f897 c005 ldrb.w ip, [r7, #5] - 8016e90: f107 0308 add.w r3, r7, #8 ; 0x8 - 8016e94: 88fa ldrh r2, [r7, #6] - 8016e96: 4618 mov r0, r3 - 8016e98: 4611 mov r1, r2 - 8016e9a: 4662 mov r2, ip - 8016e9c: f7fd f9b4 bl 8014208 <_ZN4AX1225getTorqueLimitInstructionEPiti> - 8016ea0: 4603 mov r3, r0 - 8016ea2: 64bb str r3, [r7, #72] - for (int i = 0; i < packetLength; i++) { - 8016ea4: f04f 0300 mov.w r3, #0 ; 0x0 - 8016ea8: 64fb str r3, [r7, #76] - 8016eaa: e00e b.n 8016eca <_ZN16ServosNumeriques15setTorqueLimiteEth+0x4e> - sendData(packet[i]); - 8016eac: 6cfb ldr r3, [r7, #76] - 8016eae: ea4f 0383 mov.w r3, r3, lsl #2 - 8016eb2: f107 0250 add.w r2, r7, #80 ; 0x50 - 8016eb6: 4413 add r3, r2 - 8016eb8: f853 3c48 ldr.w r3, [r3, #-72] - 8016ebc: 4618 mov r0, r3 - 8016ebe: f7ff ff8f bl 8016de0 <_ZN16ServosNumeriques8sendDataEi> - -void setTorqueLimite(uint16_t torque, uint8_t servo) // dans la RAM -{ - int packet[16]; - int packetLength = AX12::getTorqueLimitInstruction(packet, torque, servo); - for (int i = 0; i < packetLength; i++) { - 8016ec2: 6cfb ldr r3, [r7, #76] - 8016ec4: f103 0301 add.w r3, r3, #1 ; 0x1 - 8016ec8: 64fb str r3, [r7, #76] - 8016eca: 6cfa ldr r2, [r7, #76] - 8016ecc: 6cbb ldr r3, [r7, #72] - 8016ece: 429a cmp r2, r3 - 8016ed0: dbec blt.n 8016eac <_ZN16ServosNumeriques15setTorqueLimiteEth+0x30> - sendData(packet[i]); - } -} - 8016ed2: f107 0750 add.w r7, r7, #80 ; 0x50 - 8016ed6: 46bd mov sp, r7 - 8016ed8: bd80 pop {r7, pc} - 8016eda: 46c0 nop (mov r8, r8) - -08016edc <_ZN16ServosNumeriques11setBaudRateEhh>: - int packetLength = AX12::getAngleUpperLimitInstruction(packet, angle, servo); - for (int i = 0; i < packetLength; i++) { - sendData(packet[i]); - } -} -void setBaudRate(uint8_t baudRate, uint8_t servo) - 8016edc: b580 push {r7, lr} - 8016ede: b094 sub sp, #80 - 8016ee0: af00 add r7, sp, #0 - 8016ee2: 4603 mov r3, r0 - 8016ee4: 460a mov r2, r1 - 8016ee6: 71fb strb r3, [r7, #7] - 8016ee8: 4613 mov r3, r2 - 8016eea: 71bb strb r3, [r7, #6] -{ - int packet[16]; - int packetLength = AX12::getBaudRateInstruction(packet, baudRate, servo); - 8016eec: f897 c006 ldrb.w ip, [r7, #6] - 8016ef0: f107 0308 add.w r3, r7, #8 ; 0x8 - 8016ef4: 79fa ldrb r2, [r7, #7] - 8016ef6: 4618 mov r0, r3 - 8016ef8: 4611 mov r1, r2 - 8016efa: 4662 mov r2, ip - 8016efc: f7fd f8ea bl 80140d4 <_ZN4AX1222getBaudRateInstructionEPihi> - 8016f00: 4603 mov r3, r0 - 8016f02: 64bb str r3, [r7, #72] - for (int i = 0; i < packetLength; i++) { - 8016f04: f04f 0300 mov.w r3, #0 ; 0x0 - 8016f08: 64fb str r3, [r7, #76] - 8016f0a: e00e b.n 8016f2a <_ZN16ServosNumeriques11setBaudRateEhh+0x4e> - sendData(packet[i]); - 8016f0c: 6cfb ldr r3, [r7, #76] - 8016f0e: ea4f 0383 mov.w r3, r3, lsl #2 - 8016f12: f107 0250 add.w r2, r7, #80 ; 0x50 - 8016f16: 4413 add r3, r2 - 8016f18: f853 3c48 ldr.w r3, [r3, #-72] - 8016f1c: 4618 mov r0, r3 - 8016f1e: f7ff ff5f bl 8016de0 <_ZN16ServosNumeriques8sendDataEi> -} -void setBaudRate(uint8_t baudRate, uint8_t servo) -{ - int packet[16]; - int packetLength = AX12::getBaudRateInstruction(packet, baudRate, servo); - for (int i = 0; i < packetLength; i++) { - 8016f22: 6cfb ldr r3, [r7, #76] - 8016f24: f103 0301 add.w r3, r3, #1 ; 0x1 - 8016f28: 64fb str r3, [r7, #76] - 8016f2a: 6cfa ldr r2, [r7, #76] - 8016f2c: 6cbb ldr r3, [r7, #72] - 8016f2e: 429a cmp r2, r3 - 8016f30: dbec blt.n 8016f0c <_ZN16ServosNumeriques11setBaudRateEhh+0x30> - sendData(packet[i]); - } -} - 8016f32: f107 0750 add.w r7, r7, #80 ; 0x50 - 8016f36: 46bd mov sp, r7 - 8016f38: bd80 pop {r7, pc} - 8016f3a: 46c0 nop (mov r8, r8) - -08016f3c <_ZN16ServosNumeriques15setMaximumAngleEth>: - for (int i = 0; i < packetLength; i++) { - sendData(packet[i]); - } -} - -void setMaximumAngle(uint16_t angle, uint8_t servo) - 8016f3c: b580 push {r7, lr} - 8016f3e: b094 sub sp, #80 - 8016f40: af00 add r7, sp, #0 - 8016f42: 4603 mov r3, r0 - 8016f44: 460a mov r2, r1 - 8016f46: 80fb strh r3, [r7, #6] - 8016f48: 4613 mov r3, r2 - 8016f4a: 717b strb r3, [r7, #5] -{ - int packet[16]; - int packetLength = AX12::getAngleUpperLimitInstruction(packet, angle, servo); - 8016f4c: f897 c005 ldrb.w ip, [r7, #5] - 8016f50: f107 0308 add.w r3, r7, #8 ; 0x8 - 8016f54: 88fa ldrh r2, [r7, #6] - 8016f56: 4618 mov r0, r3 - 8016f58: 4611 mov r1, r2 - 8016f5a: 4662 mov r2, ip - 8016f5c: f7fd f98e bl 801427c <_ZN4AX1229getAngleUpperLimitInstructionEPiti> - 8016f60: 4603 mov r3, r0 - 8016f62: 64bb str r3, [r7, #72] - for (int i = 0; i < packetLength; i++) { - 8016f64: f04f 0300 mov.w r3, #0 ; 0x0 - 8016f68: 64fb str r3, [r7, #76] - 8016f6a: e00e b.n 8016f8a <_ZN16ServosNumeriques15setMaximumAngleEth+0x4e> - sendData(packet[i]); - 8016f6c: 6cfb ldr r3, [r7, #76] - 8016f6e: ea4f 0383 mov.w r3, r3, lsl #2 - 8016f72: f107 0250 add.w r2, r7, #80 ; 0x50 - 8016f76: 4413 add r3, r2 - 8016f78: f853 3c48 ldr.w r3, [r3, #-72] - 8016f7c: 4618 mov r0, r3 - 8016f7e: f7ff ff2f bl 8016de0 <_ZN16ServosNumeriques8sendDataEi> - -void setMaximumAngle(uint16_t angle, uint8_t servo) -{ - int packet[16]; - int packetLength = AX12::getAngleUpperLimitInstruction(packet, angle, servo); - for (int i = 0; i < packetLength; i++) { - 8016f82: 6cfb ldr r3, [r7, #76] - 8016f84: f103 0301 add.w r3, r3, #1 ; 0x1 - 8016f88: 64fb str r3, [r7, #76] - 8016f8a: 6cfa ldr r2, [r7, #76] - 8016f8c: 6cbb ldr r3, [r7, #72] - 8016f8e: 429a cmp r2, r3 - 8016f90: dbec blt.n 8016f6c <_ZN16ServosNumeriques15setMaximumAngleEth+0x30> - sendData(packet[i]); - } -} - 8016f92: f107 0750 add.w r7, r7, #80 ; 0x50 - 8016f96: 46bd mov sp, r7 - 8016f98: bd80 pop {r7, pc} - 8016f9a: 46c0 nop (mov r8, r8) - -08016f9c <_ZN16ServosNumeriques15setMinimumAngleEth>: - for (int i = 0; i < packetLength; i++) { - sendData(packet[i]); - } -} - -void setMinimumAngle(uint16_t angle, uint8_t servo) - 8016f9c: b580 push {r7, lr} - 8016f9e: b094 sub sp, #80 - 8016fa0: af00 add r7, sp, #0 - 8016fa2: 4603 mov r3, r0 - 8016fa4: 460a mov r2, r1 - 8016fa6: 80fb strh r3, [r7, #6] - 8016fa8: 4613 mov r3, r2 - 8016faa: 717b strb r3, [r7, #5] -{ - int packet[16]; - int packetLength = AX12::getAngleLowerLimitInstruction(packet, angle, servo); - 8016fac: f897 c005 ldrb.w ip, [r7, #5] - 8016fb0: f107 0308 add.w r3, r7, #8 ; 0x8 - 8016fb4: 88fa ldrh r2, [r7, #6] - 8016fb6: 4618 mov r0, r3 - 8016fb8: 4611 mov r1, r2 - 8016fba: 4662 mov r2, ip - 8016fbc: f7fd f998 bl 80142f0 <_ZN4AX1229getAngleLowerLimitInstructionEPiti> - 8016fc0: 4603 mov r3, r0 - 8016fc2: 64bb str r3, [r7, #72] - for (int i = 0; i < packetLength; i++) { - 8016fc4: f04f 0300 mov.w r3, #0 ; 0x0 - 8016fc8: 64fb str r3, [r7, #76] - 8016fca: e00e b.n 8016fea <_ZN16ServosNumeriques15setMinimumAngleEth+0x4e> - sendData(packet[i]); - 8016fcc: 6cfb ldr r3, [r7, #76] - 8016fce: ea4f 0383 mov.w r3, r3, lsl #2 - 8016fd2: f107 0250 add.w r2, r7, #80 ; 0x50 - 8016fd6: 4413 add r3, r2 - 8016fd8: f853 3c48 ldr.w r3, [r3, #-72] - 8016fdc: 4618 mov r0, r3 - 8016fde: f7ff feff bl 8016de0 <_ZN16ServosNumeriques8sendDataEi> - -void setMinimumAngle(uint16_t angle, uint8_t servo) -{ - int packet[16]; - int packetLength = AX12::getAngleLowerLimitInstruction(packet, angle, servo); - for (int i = 0; i < packetLength; i++) { - 8016fe2: 6cfb ldr r3, [r7, #76] - 8016fe4: f103 0301 add.w r3, r3, #1 ; 0x1 - 8016fe8: 64fb str r3, [r7, #76] - 8016fea: 6cfa ldr r2, [r7, #76] - 8016fec: 6cbb ldr r3, [r7, #72] - 8016fee: 429a cmp r2, r3 - 8016ff0: dbec blt.n 8016fcc <_ZN16ServosNumeriques15setMinimumAngleEth+0x30> - sendData(packet[i]); - } -} - 8016ff2: f107 0750 add.w r7, r7, #80 ; 0x50 - 8016ff6: 46bd mov sp, r7 - 8016ff8: bd80 pop {r7, pc} - 8016ffa: 46c0 nop (mov r8, r8) - -08016ffc <_ZN16ServosNumeriques11setLedStateEhh>: - for (int i = 0; i < packetLength; i++) { - sendData(packet[i]); - } -} - -void setLedState(uint8_t ledOn, uint8_t servo) - 8016ffc: b580 push {r7, lr} - 8016ffe: b094 sub sp, #80 - 8017000: af00 add r7, sp, #0 - 8017002: 4603 mov r3, r0 - 8017004: 460a mov r2, r1 - 8017006: 71fb strb r3, [r7, #7] - 8017008: 4613 mov r3, r2 - 801700a: 71bb strb r3, [r7, #6] -{ - int packet[16]; - int packetLength = AX12::getLedInstruction(packet, ledOn, servo); - 801700c: f897 c006 ldrb.w ip, [r7, #6] - 8017010: f107 0308 add.w r3, r7, #8 ; 0x8 - 8017014: 79fa ldrb r2, [r7, #7] - 8017016: 4618 mov r0, r3 - 8017018: 4611 mov r1, r2 - 801701a: 4662 mov r2, ip - 801701c: f7fd f88a bl 8014134 <_ZN4AX1217getLedInstructionEPihi> - 8017020: 4603 mov r3, r0 - 8017022: 64bb str r3, [r7, #72] - for (int i = 0; i < packetLength; i++) { - 8017024: f04f 0300 mov.w r3, #0 ; 0x0 - 8017028: 64fb str r3, [r7, #76] - 801702a: e00e b.n 801704a <_ZN16ServosNumeriques11setLedStateEhh+0x4e> - sendData(packet[i]); - 801702c: 6cfb ldr r3, [r7, #76] - 801702e: ea4f 0383 mov.w r3, r3, lsl #2 - 8017032: f107 0250 add.w r2, r7, #80 ; 0x50 - 8017036: 4413 add r3, r2 - 8017038: f853 3c48 ldr.w r3, [r3, #-72] - 801703c: 4618 mov r0, r3 - 801703e: f7ff fecf bl 8016de0 <_ZN16ServosNumeriques8sendDataEi> - -void setLedState(uint8_t ledOn, uint8_t servo) -{ - int packet[16]; - int packetLength = AX12::getLedInstruction(packet, ledOn, servo); - for (int i = 0; i < packetLength; i++) { - 8017042: 6cfb ldr r3, [r7, #76] - 8017044: f103 0301 add.w r3, r3, #1 ; 0x1 - 8017048: 64fb str r3, [r7, #76] - 801704a: 6cfa ldr r2, [r7, #76] - 801704c: 6cbb ldr r3, [r7, #72] - 801704e: 429a cmp r2, r3 - 8017050: dbec blt.n 801702c <_ZN16ServosNumeriques11setLedStateEhh+0x30> - sendData(packet[i]); - } -} - 8017052: f107 0750 add.w r7, r7, #80 ; 0x50 - 8017056: 46bd mov sp, r7 - 8017058: bd80 pop {r7, pc} - 801705a: 46c0 nop (mov r8, r8) - -0801705c <_ZN16ServosNumeriques11moveAtSpeedEth>: - int packetLength = AX12::getMoveToInstruction(packet, position, servo); - for (int i = 0; i < packetLength; i++) { - sendData(packet[i]); - } -} -void moveAtSpeed(uint16_t vitesse, uint8_t servo) - 801705c: b580 push {r7, lr} - 801705e: b094 sub sp, #80 - 8017060: af00 add r7, sp, #0 - 8017062: 4603 mov r3, r0 - 8017064: 460a mov r2, r1 - 8017066: 80fb strh r3, [r7, #6] - 8017068: 4613 mov r3, r2 - 801706a: 717b strb r3, [r7, #5] -{ - int packet[16]; - int packetLength = AX12::getMoveSpeedInstruction(packet, vitesse, servo); - 801706c: f107 0308 add.w r3, r7, #8 ; 0x8 - 8017070: 88fa ldrh r2, [r7, #6] - 8017072: f897 c005 ldrb.w ip, [r7, #5] - 8017076: 4618 mov r0, r3 - 8017078: 4611 mov r1, r2 - 801707a: 4662 mov r2, ip - 801707c: f7fd f972 bl 8014364 <_ZN4AX1223getMoveSpeedInstructionEPith> - 8017080: 4603 mov r3, r0 - 8017082: 64bb str r3, [r7, #72] - for (int i = 0; i < packetLength; i++) { - 8017084: f04f 0300 mov.w r3, #0 ; 0x0 - 8017088: 64fb str r3, [r7, #76] - 801708a: e00e b.n 80170aa <_ZN16ServosNumeriques11moveAtSpeedEth+0x4e> - sendData(packet[i]); - 801708c: 6cfb ldr r3, [r7, #76] - 801708e: ea4f 0383 mov.w r3, r3, lsl #2 - 8017092: f107 0250 add.w r2, r7, #80 ; 0x50 - 8017096: 4413 add r3, r2 - 8017098: f853 3c48 ldr.w r3, [r3, #-72] - 801709c: 4618 mov r0, r3 - 801709e: f7ff fe9f bl 8016de0 <_ZN16ServosNumeriques8sendDataEi> -} -void moveAtSpeed(uint16_t vitesse, uint8_t servo) -{ - int packet[16]; - int packetLength = AX12::getMoveSpeedInstruction(packet, vitesse, servo); - for (int i = 0; i < packetLength; i++) { - 80170a2: 6cfb ldr r3, [r7, #76] - 80170a4: f103 0301 add.w r3, r3, #1 ; 0x1 - 80170a8: 64fb str r3, [r7, #76] - 80170aa: 6cfa ldr r2, [r7, #76] - 80170ac: 6cbb ldr r3, [r7, #72] - 80170ae: 429a cmp r2, r3 - 80170b0: dbec blt.n 801708c <_ZN16ServosNumeriques11moveAtSpeedEth+0x30> - sendData(packet[i]); - } -} - 80170b2: f107 0750 add.w r7, r7, #80 ; 0x50 - 80170b6: 46bd mov sp, r7 - 80170b8: bd80 pop {r7, pc} - 80170ba: 46c0 nop (mov r8, r8) - -080170bc <_ZN16ServosNumeriques6moveToEth>: - int packetLength = AX12::getMoveInstruction(packet, position, vitesse, servo); - for (int i = 0; i < packetLength; i++) { - sendData(packet[i]); - } -} -void moveTo(uint16_t position, uint8_t servo) - 80170bc: b580 push {r7, lr} - 80170be: b094 sub sp, #80 - 80170c0: af00 add r7, sp, #0 - 80170c2: 4603 mov r3, r0 - 80170c4: 460a mov r2, r1 - 80170c6: 80fb strh r3, [r7, #6] - 80170c8: 4613 mov r3, r2 - 80170ca: 717b strb r3, [r7, #5] -{ - int packet[16]; - int packetLength = AX12::getMoveToInstruction(packet, position, servo); - 80170cc: f107 0308 add.w r3, r7, #8 ; 0x8 - 80170d0: 88fa ldrh r2, [r7, #6] - 80170d2: f897 c005 ldrb.w ip, [r7, #5] - 80170d6: 4618 mov r0, r3 - 80170d8: 4611 mov r1, r2 - 80170da: 4662 mov r2, ip - 80170dc: f7fd f97e bl 80143dc <_ZN4AX1220getMoveToInstructionEPith> - 80170e0: 4603 mov r3, r0 - 80170e2: 64bb str r3, [r7, #72] - for (int i = 0; i < packetLength; i++) { - 80170e4: f04f 0300 mov.w r3, #0 ; 0x0 - 80170e8: 64fb str r3, [r7, #76] - 80170ea: e00e b.n 801710a <_ZN16ServosNumeriques6moveToEth+0x4e> - sendData(packet[i]); - 80170ec: 6cfb ldr r3, [r7, #76] - 80170ee: ea4f 0383 mov.w r3, r3, lsl #2 - 80170f2: f107 0250 add.w r2, r7, #80 ; 0x50 - 80170f6: 4413 add r3, r2 - 80170f8: f853 3c48 ldr.w r3, [r3, #-72] - 80170fc: 4618 mov r0, r3 - 80170fe: f7ff fe6f bl 8016de0 <_ZN16ServosNumeriques8sendDataEi> -} -void moveTo(uint16_t position, uint8_t servo) -{ - int packet[16]; - int packetLength = AX12::getMoveToInstruction(packet, position, servo); - for (int i = 0; i < packetLength; i++) { - 8017102: 6cfb ldr r3, [r7, #76] - 8017104: f103 0301 add.w r3, r3, #1 ; 0x1 - 8017108: 64fb str r3, [r7, #76] - 801710a: 6cfa ldr r2, [r7, #76] - 801710c: 6cbb ldr r3, [r7, #72] - 801710e: 429a cmp r2, r3 - 8017110: dbec blt.n 80170ec <_ZN16ServosNumeriques6moveToEth+0x30> - sendData(packet[i]); - } -} - 8017112: f107 0750 add.w r7, r7, #80 ; 0x50 - 8017116: 46bd mov sp, r7 - 8017118: bd80 pop {r7, pc} - 801711a: 46c0 nop (mov r8, r8) - -0801711c <_ZN16ServosNumeriques13moveToAtSpeedEtth>: - } - } - return 1; -} - -void moveToAtSpeed(uint16_t position, uint16_t vitesse, uint8_t servo) - 801711c: b580 push {r7, lr} - 801711e: b094 sub sp, #80 - 8017120: af00 add r7, sp, #0 - 8017122: 4603 mov r3, r0 - 8017124: 80fb strh r3, [r7, #6] - 8017126: 460b mov r3, r1 - 8017128: 80bb strh r3, [r7, #4] - 801712a: 4613 mov r3, r2 - 801712c: 70fb strb r3, [r7, #3] -{ - int packet[16]; - int packetLength = AX12::getMoveInstruction(packet, position, vitesse, servo); - 801712e: f107 0308 add.w r3, r7, #8 ; 0x8 - 8017132: 88fa ldrh r2, [r7, #6] - 8017134: f8b7 c004 ldrh.w ip, [r7, #4] - 8017138: f897 e003 ldrb.w lr, [r7, #3] - 801713c: 4618 mov r0, r3 - 801713e: 4611 mov r1, r2 - 8017140: 4662 mov r2, ip - 8017142: 4673 mov r3, lr - 8017144: f7fd f986 bl 8014454 <_ZN4AX1218getMoveInstructionEPitth> - 8017148: 4603 mov r3, r0 - 801714a: 64bb str r3, [r7, #72] - for (int i = 0; i < packetLength; i++) { - 801714c: f04f 0300 mov.w r3, #0 ; 0x0 - 8017150: 64fb str r3, [r7, #76] - 8017152: e00e b.n 8017172 <_ZN16ServosNumeriques13moveToAtSpeedEtth+0x56> - sendData(packet[i]); - 8017154: 6cfb ldr r3, [r7, #76] - 8017156: ea4f 0383 mov.w r3, r3, lsl #2 - 801715a: f107 0250 add.w r2, r7, #80 ; 0x50 - 801715e: 4413 add r3, r2 - 8017160: f853 3c48 ldr.w r3, [r3, #-72] - 8017164: 4618 mov r0, r3 - 8017166: f7ff fe3b bl 8016de0 <_ZN16ServosNumeriques8sendDataEi> - -void moveToAtSpeed(uint16_t position, uint16_t vitesse, uint8_t servo) -{ - int packet[16]; - int packetLength = AX12::getMoveInstruction(packet, position, vitesse, servo); - for (int i = 0; i < packetLength; i++) { - 801716a: 6cfb ldr r3, [r7, #76] - 801716c: f103 0301 add.w r3, r3, #1 ; 0x1 - 8017170: 64fb str r3, [r7, #76] - 8017172: 6cfa ldr r2, [r7, #76] - 8017174: 6cbb ldr r3, [r7, #72] - 8017176: 429a cmp r2, r3 - 8017178: dbec blt.n 8017154 <_ZN16ServosNumeriques13moveToAtSpeedEtth+0x38> - sendData(packet[i]); - } -} - 801717a: f107 0750 add.w r7, r7, #80 ; 0x50 - 801717e: 46bd mov sp, r7 - 8017180: bd80 pop {r7, pc} - 8017182: 46c0 nop (mov r8, r8) - -08017184 <_Z25ServosNumeriques_sendDatai>: -#include "interfaceServosNumeriques.h" -//#include "stm32f4xx_usart.h" - -void ServosNumeriques_sendData(int data) - 8017184: b580 push {r7, lr} - 8017186: b082 sub sp, #8 - 8017188: af00 add r7, sp, #0 - 801718a: 6078 str r0, [r7, #4] -{ - // Wait until the send buffer is cleared finishes - while (USART_GetFlagStatus(USART3, USART_FLAG_TXE) == RESET); - 801718c: 480b ldr r0, [pc, #44] (80171bc <_Z25ServosNumeriques_sendDatai+0x38>) - 801718e: f04f 0180 mov.w r1, #128 ; 0x80 - 8017192: f7f6 fad9 bl 800d748 - 8017196: 4603 mov r3, r0 - 8017198: 2b00 cmp r3, #0 - 801719a: bf14 ite ne - 801719c: 2300 movne r3, #0 - 801719e: 2301 moveq r3, #1 - 80171a0: b2db uxtb r3, r3 - 80171a2: 2b00 cmp r3, #0 - 80171a4: d1f2 bne.n 801718c <_Z25ServosNumeriques_sendDatai+0x8> - USART_SendData(USART3, (u16) data); - 80171a6: 687b ldr r3, [r7, #4] - 80171a8: b29b uxth r3, r3 - 80171aa: 4804 ldr r0, [pc, #16] (80171bc <_Z25ServosNumeriques_sendDatai+0x38>) - 80171ac: 4619 mov r1, r3 - 80171ae: f7f6 f887 bl 800d2c0 -} - 80171b2: f107 0708 add.w r7, r7, #8 ; 0x8 - 80171b6: 46bd mov sp, r7 - 80171b8: bd80 pop {r7, pc} - 80171ba: 46c0 nop (mov r8, r8) - 80171bc: 40004800 .word 0x40004800 - -080171c0 <_ZN16ServosNumeriques8initUARTEi>: -#endif - - -} - -void initUART(int baudRate) - 80171c0: b580 push {r7, lr} - 80171c2: b086 sub sp, #24 - 80171c4: af00 add r7, sp, #0 - 80171c6: 6078 str r0, [r7, #4] -{ - USART_InitTypeDef USART_InitStruct; - // Protocole ax12 : Half duplex Asynchronous Serial Communication (8bit,1stop,No Parity) - /* Initialisation des caracteristiques USART_InitStruct */ - USART_InitStruct.USART_BaudRate = baudRate; - 80171c8: 687b ldr r3, [r7, #4] - 80171ca: 60bb str r3, [r7, #8] - USART_InitStruct.USART_WordLength = USART_WordLength_8b; - 80171cc: f04f 0300 mov.w r3, #0 ; 0x0 - 80171d0: 81bb strh r3, [r7, #12] - USART_InitStruct.USART_StopBits = USART_StopBits_1; - 80171d2: f04f 0300 mov.w r3, #0 ; 0x0 - 80171d6: 81fb strh r3, [r7, #14] - USART_InitStruct.USART_Parity = USART_Parity_No ; - 80171d8: f04f 0300 mov.w r3, #0 ; 0x0 - 80171dc: 823b strh r3, [r7, #16] - USART_InitStruct.USART_HardwareFlowControl = USART_HardwareFlowControl_None; - 80171de: f04f 0300 mov.w r3, #0 ; 0x0 - 80171e2: 82bb strh r3, [r7, #20] - USART_InitStruct.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; - 80171e4: f04f 030c mov.w r3, #12 ; 0xc - 80171e8: 827b strh r3, [r7, #18] - - /* On configure et on lance */ - USART_Init(USART3, &USART_InitStruct); - 80171ea: f107 0308 add.w r3, r7, #8 ; 0x8 - 80171ee: 4806 ldr r0, [pc, #24] (8017208 <_ZN16ServosNumeriques8initUARTEi+0x48>) - 80171f0: 4619 mov r1, r3 - 80171f2: f7f5 fe8b bl 800cf0c - //USART_ClockInit(USART3, &USART_ClockInitStruct); - USART_Cmd(USART3, ENABLE); - 80171f6: 4804 ldr r0, [pc, #16] (8017208 <_ZN16ServosNumeriques8initUARTEi+0x48>) - 80171f8: f04f 0101 mov.w r1, #1 ; 0x1 - 80171fc: f7f5 ffd0 bl 800d1a0 -} - 8017200: f107 0718 add.w r7, r7, #24 ; 0x18 - 8017204: 46bd mov sp, r7 - 8017206: bd80 pop {r7, pc} - 8017208: 40004800 .word 0x40004800 - -0801720c <_ZN16ServosNumeriques22initClocksAndPortsGPIOEv>: -} - -namespace ServosNumeriques -{ - -void initClocksAndPortsGPIO() - 801720c: b580 push {r7, lr} - 801720e: b082 sub sp, #8 - 8017210: af00 add r7, sp, #0 -{ -#ifdef STM32F40_41xxx // Pin pour le stm32 h405 - // bus APB1 : allow usart 3 - RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3, ENABLE); - 8017212: f44f 2080 mov.w r0, #262144 ; 0x40000 - 8017216: f04f 0101 mov.w r1, #1 ; 0x1 - 801721a: f7f3 fb0b bl 800a834 - - // on remap l'usart3 pour que le stm soit bien configuré sur les ports 10 et 11 du GPIOC, et le sens sur le par 5 du GPIOB - GPIO_PinAFConfig(GPIOC, GPIO_Pin_10, GPIO_AF_USART3); - 801721e: 4822 ldr r0, [pc, #136] (80172a8 <_ZN16ServosNumeriques22initClocksAndPortsGPIOEv+0x9c>) - 8017220: f44f 6180 mov.w r1, #1024 ; 0x400 - 8017224: f04f 0207 mov.w r2, #7 ; 0x7 - 8017228: f7f2 fe28 bl 8009e7c - GPIO_PinAFConfig(GPIOC, GPIO_Pin_11, GPIO_AF_USART3); - 801722c: 481e ldr r0, [pc, #120] (80172a8 <_ZN16ServosNumeriques22initClocksAndPortsGPIOEv+0x9c>) - 801722e: f44f 6100 mov.w r1, #2048 ; 0x800 - 8017232: f04f 0207 mov.w r2, #7 ; 0x7 - 8017236: f7f2 fe21 bl 8009e7c - //GPIO_PinRemapConfig(GPIO_FullRemap_USART3, ENABLE); - - GPIO_InitTypeDef GPIO_InitStructure; - // port C pin 10 TX : un servo numérique en Ecriture - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10; - 801723a: f44f 6380 mov.w r3, #1024 ; 0x400 - 801723e: 603b str r3, [r7, #0] - #ifdef STM32F40_41xxx - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - 8017240: f04f 0302 mov.w r3, #2 ; 0x2 - 8017244: 713b strb r3, [r7, #4] - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - 8017246: f04f 0300 mov.w r3, #0 ; 0x0 - 801724a: 71bb strb r3, [r7, #6] - #elif defined(STM32F10X_MD) || defined(STM32F10X_CL) - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; - #endif - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; // La vitesse de rafraichissement du port - 801724c: f04f 0302 mov.w r3, #2 ; 0x2 - 8017250: 717b strb r3, [r7, #5] - GPIO_Init(GPIOC, &GPIO_InitStructure); - 8017252: 463b mov r3, r7 - 8017254: 4814 ldr r0, [pc, #80] (80172a8 <_ZN16ServosNumeriques22initClocksAndPortsGPIOEv+0x9c>) - 8017256: 4619 mov r1, r3 - 8017258: f7f2 fc76 bl 8009b48 - - // port C pin 11 RX : un servo numérique en Lecture - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11; - 801725c: f44f 6300 mov.w r3, #2048 ; 0x800 - 8017260: 603b str r3, [r7, #0] - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN; - 8017262: f04f 0300 mov.w r3, #0 ; 0x0 - 8017266: 713b strb r3, [r7, #4] - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; - 8017268: f04f 0300 mov.w r3, #0 ; 0x0 - 801726c: 71fb strb r3, [r7, #7] - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; // La vitesse de rafraichissement du port - 801726e: f04f 0302 mov.w r3, #2 ; 0x2 - 8017272: 717b strb r3, [r7, #5] - GPIO_Init(GPIOC, &GPIO_InitStructure); - 8017274: 463b mov r3, r7 - 8017276: 480c ldr r0, [pc, #48] (80172a8 <_ZN16ServosNumeriques22initClocksAndPortsGPIOEv+0x9c>) - 8017278: 4619 mov r1, r3 - 801727a: f7f2 fc65 bl 8009b48 - - // port B pin 5 : la direction (TX/RX) - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; - 801727e: f04f 0320 mov.w r3, #32 ; 0x20 - 8017282: 603b str r3, [r7, #0] - #ifdef STM32F40_41xxx - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; - 8017284: f04f 0301 mov.w r3, #1 ; 0x1 - 8017288: 713b strb r3, [r7, #4] - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - 801728a: f04f 0300 mov.w r3, #0 ; 0x0 - 801728e: 71bb strb r3, [r7, #6] - #elif defined(STM32F10X_MD) || defined(STM32F10X_CL) - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; - #endif - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; // La vitesse de rafraichissement du port - 8017290: f04f 0300 mov.w r3, #0 ; 0x0 - 8017294: 717b strb r3, [r7, #5] - GPIO_Init(GPIOB, &GPIO_InitStructure); - 8017296: 463b mov r3, r7 - 8017298: 4804 ldr r0, [pc, #16] (80172ac <_ZN16ServosNumeriques22initClocksAndPortsGPIOEv+0xa0>) - 801729a: 4619 mov r1, r3 - 801729c: f7f2 fc54 bl 8009b48 - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; // La vitesse de rafraichissement du port - GPIO_Init(GPIOD, &GPIO_InitStructure); -#endif - - -} - 80172a0: f107 0708 add.w r7, r7, #8 ; 0x8 - 80172a4: 46bd mov sp, r7 - 80172a6: bd80 pop {r7, pc} - 80172a8: 40020800 .word 0x40020800 - 80172ac: 40020400 .word 0x40020400 - -080172b0 <_Z6isBluev>: - - -#define NVIC_CCR ((volatile unsigned long *)(0xE000ED14)) - -// Dit si on est du coté bleu -bool isBlue() // = ROUGE - 80172b0: b580 push {r7, lr} - 80172b2: af00 add r7, sp, #0 -{ -#ifdef STM32F40_41xxx // Pin pour le stm32 h103 - return GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_9) == Bit_RESET; - 80172b4: 4806 ldr r0, [pc, #24] (80172d0 <_Z6isBluev+0x20>) - 80172b6: f44f 7100 mov.w r1, #512 ; 0x200 - 80172ba: f7f2 fd33 bl 8009d24 - 80172be: 4603 mov r3, r0 - 80172c0: 2b00 cmp r3, #0 - 80172c2: bf14 ite ne - 80172c4: 2300 movne r3, #0 - 80172c6: 2301 moveq r3, #1 - 80172c8: b2db uxtb r3, r3 - return GPIO_ReadInputDataBit(GPIOE, GPIO_Pin_4) == Bit_RESET; -#endif -#ifdef STM32F10X_MD // Pin pour le stm32 h103 - return GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_9) == Bit_RESET; -#endif -} - 80172ca: 4618 mov r0, r3 - 80172cc: 46bd mov sp, r7 - 80172ce: bd80 pop {r7, pc} - 80172d0: 40020400 .word 0x40020400 - -080172d4
: - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_Init(GPIOx, &GPIO_InitStructure); -} -*/ - -int main() - 80172d4: b580 push {r7, lr} - 80172d6: b0a2 sub sp, #136 - 80172d8: af06 add r7, sp, #24 -{ - #if defined(STM32F10X_MD) || defined(STM32F10X_CL) - *NVIC_CCR = *NVIC_CCR | 0x200; // Set STKALIGN in NVIC - #else - SystemInit(); // Appelée implicitement ? - 80172da: f7f0 fe91 bl 8008000 - #endif - - // On initialise les horloges - Clk_Init(); - 80172de: f7ff fbad bl 8016a3c <_Z8Clk_Initv> - - // Définit quelques horloges supplémentaires - initAutresHorloges(); - 80172e2: f7ff fc91 bl 8016c08 <_Z18initAutresHorlogesv> - - // Appel de la fonction qui permet d'initialiser tous les PINS - initialisationDesPIN(); - 80172e6: f7ff fbaf bl 8016a48 <_Z20initialisationDesPINv> - - Remote::log("Init"); - 80172ea: 4b6d ldr r3, [pc, #436] (80174a0 ) - 80172ec: 4618 mov r0, r3 - 80172ee: f7fe fcd1 bl 8015c94 <_ZN6Remote3logEPc> -// UartDebug::sendData(42); -// UartDebug::sendData(50); -// UartDebug::sendData(51); -// UartDebug::sendData(52); - - ServosNumeriques::initClocksAndPortsGPIO(); - 80172f2: f7ff ff8b bl 801720c <_ZN16ServosNumeriques22initClocksAndPortsGPIOEv> - ServosNumeriques::initUART(19231); - 80172f6: f644 301f movw r0, #19231 ; 0x4b1f - 80172fa: f7ff ff61 bl 80171c0 <_ZN16ServosNumeriques8initUARTEi> - ServosNumeriques::sendMode(); - 80172fe: f7ff fcb1 bl 8016c64 <_ZN16ServosNumeriques8sendModeEv> - - #ifdef STM32F40_41xxx // pour la STM32 H405 2014 v1 : - Tirette tirette(GPIOA, GPIO_Pin_10); - 8017302: f107 0348 add.w r3, r7, #72 ; 0x48 - 8017306: 4618 mov r0, r3 - 8017308: 4966 ldr r1, [pc, #408] (80174a4 ) - 801730a: f44f 6280 mov.w r2, #1024 ; 0x400 - 801730e: f7ff f9ad bl 801666c <_ZN7TiretteC1EP12GPIO_TypeDeft> - //Debug::testTirette(&tirette); -#endif - - // Initialisation des actionneurs 1 - #if defined(STM32F40_41xxx) || defined(STM32F10X_MD) // H405 - BrasLateral::initBrasLateraux(); - 8017312: f7f6 ffff bl 800e314 <_ZN11BrasLateral16initBrasLaterauxEv> - Container::getSingleton(); - 8017316: f7f7 fb13 bl 800e940 <_ZN9Container12getSingletonEv> -#endif - -// tirette.attendreRemise(); -// tirette.attendreEnlevee(); - - Remote::getSingleton(); - 801731a: f7fe fc97 bl 8015c4c <_ZN6Remote12getSingletonEv> - #endif - - - - #ifdef STM32F40_41xxx // pour la STM32 H405 2014 v1 : - QuadratureCoderHandler* rcd = new QuadratureCoderHandler(TIM4, GPIOB, GPIO_Pin_6, GPIOB, GPIO_Pin_7, GPIO_AF_TIM4 ,GPIO_PinSource6, GPIO_PinSource7); - 801731e: f04f 0004 mov.w r0, #4 ; 0x4 - 8017322: f000 f8cd bl 80174c0 <_Znwj> - 8017326: 4603 mov r3, r0 - 8017328: 607b str r3, [r7, #4] - 801732a: 687b ldr r3, [r7, #4] - 801732c: 2b00 cmp r3, #0 - 801732e: d017 beq.n 8017360 - 8017330: 4b5d ldr r3, [pc, #372] (80174a8 ) - 8017332: 9300 str r3, [sp, #0] - 8017334: f04f 0380 mov.w r3, #128 ; 0x80 - 8017338: 9301 str r3, [sp, #4] - 801733a: f04f 0302 mov.w r3, #2 ; 0x2 - 801733e: 9302 str r3, [sp, #8] - 8017340: f04f 0306 mov.w r3, #6 ; 0x6 - 8017344: 9303 str r3, [sp, #12] - 8017346: f04f 0307 mov.w r3, #7 ; 0x7 - 801734a: 9304 str r3, [sp, #16] - 801734c: 6878 ldr r0, [r7, #4] - 801734e: 4957 ldr r1, [pc, #348] (80174ac ) - 8017350: 4a55 ldr r2, [pc, #340] (80174a8 ) - 8017352: f04f 0340 mov.w r3, #64 ; 0x40 - 8017356: f7fe fa37 bl 80157c8 <_ZN22QuadratureCoderHandlerC1EP11TIM_TypeDefP12GPIO_TypeDeftS3_thhh> - 801735a: 687b ldr r3, [r7, #4] - 801735c: 60bb str r3, [r7, #8] - 801735e: e001 b.n 8017364 - 8017360: 687b ldr r3, [r7, #4] - 8017362: 60bb str r3, [r7, #8] - 8017364: 68bb ldr r3, [r7, #8] - 8017366: 65fb str r3, [r7, #92] - QuadratureCoderHandler* rcg = new QuadratureCoderHandler(TIM1, GPIOA, GPIO_Pin_8, GPIOA, GPIO_Pin_9, GPIO_AF_TIM1 ,GPIO_PinSource8, GPIO_PinSource9); - 8017368: f04f 0004 mov.w r0, #4 ; 0x4 - 801736c: f000 f8a8 bl 80174c0 <_Znwj> - 8017370: 4603 mov r3, r0 - 8017372: 60fb str r3, [r7, #12] - 8017374: 68fb ldr r3, [r7, #12] - 8017376: 2b00 cmp r3, #0 - 8017378: d017 beq.n 80173aa - 801737a: 4b4a ldr r3, [pc, #296] (80174a4 ) - 801737c: 9300 str r3, [sp, #0] - 801737e: f44f 7300 mov.w r3, #512 ; 0x200 - 8017382: 9301 str r3, [sp, #4] - 8017384: f04f 0301 mov.w r3, #1 ; 0x1 - 8017388: 9302 str r3, [sp, #8] - 801738a: f04f 0308 mov.w r3, #8 ; 0x8 - 801738e: 9303 str r3, [sp, #12] - 8017390: f04f 0309 mov.w r3, #9 ; 0x9 - 8017394: 9304 str r3, [sp, #16] - 8017396: 68f8 ldr r0, [r7, #12] - 8017398: 4945 ldr r1, [pc, #276] (80174b0 ) - 801739a: 4a42 ldr r2, [pc, #264] (80174a4 ) - 801739c: f44f 7380 mov.w r3, #256 ; 0x100 - 80173a0: f7fe fa12 bl 80157c8 <_ZN22QuadratureCoderHandlerC1EP11TIM_TypeDefP12GPIO_TypeDeftS3_thhh> - 80173a4: 68fb ldr r3, [r7, #12] - 80173a6: 613b str r3, [r7, #16] - 80173a8: e001 b.n 80173ae - 80173aa: 68fb ldr r3, [r7, #12] - 80173ac: 613b str r3, [r7, #16] - 80173ae: 693b ldr r3, [r7, #16] - 80173b0: 663b str r3, [r7, #96] - - -// Pour la v1 : -// QuadratureCoderHandler* rcd = new QuadratureCoderHandler(TIM2, GPIOA, GPIO_Pin_0, GPIOA, GPIO_Pin_1); - // QuadratureCoderHandler* rcg = new QuadratureCoderHandler(TIM3, GPIOA, GPIO_Pin_6, GPIOA, GPIO_Pin_7); - Odometrie* odometrie = new Odometrie(rcg, rcd); - 80173b2: f04f 0078 mov.w r0, #120 ; 0x78 - 80173b6: f000 f883 bl 80174c0 <_Znwj> - 80173ba: 4603 mov r3, r0 - 80173bc: 617b str r3, [r7, #20] - 80173be: 697b ldr r3, [r7, #20] - 80173c0: 2b00 cmp r3, #0 - 80173c2: d007 beq.n 80173d4 - 80173c4: 6978 ldr r0, [r7, #20] - 80173c6: 6e39 ldr r1, [r7, #96] - 80173c8: 6dfa ldr r2, [r7, #92] - 80173ca: f7fb ff3d bl 8013248 <_ZN9OdometrieC1EP22QuadratureCoderHandlerS1_> - 80173ce: 697b ldr r3, [r7, #20] - 80173d0: 61bb str r3, [r7, #24] - 80173d2: e001 b.n 80173d8 - 80173d4: 697b ldr r3, [r7, #20] - 80173d6: 61bb str r3, [r7, #24] - 80173d8: 69bb ldr r3, [r7, #24] - 80173da: 667b str r3, [r7, #100] - Position pos(200,1850, isBlue());//1500, isBlue()); - 80173dc: f7ff ff68 bl 80172b0 <_Z6isBluev> - 80173e0: 4603 mov r3, r0 - 80173e2: 469c mov ip, r3 - 80173e4: f107 0340 add.w r3, r7, #64 ; 0x40 - 80173e8: 4618 mov r0, r3 - 80173ea: 4932 ldr r1, [pc, #200] (80174b4 ) - 80173ec: 4a32 ldr r2, [pc, #200] (80174b8 ) - 80173ee: 4663 mov r3, ip - 80173f0: f000 f9de bl 80177b0 <_ZN8PositionC1Effb> - PositionPlusAngle posPlusAngle(pos,-M_PI/2); - 80173f4: f107 0334 add.w r3, r7, #52 ; 0x34 - 80173f8: f107 0240 add.w r2, r7, #64 ; 0x40 - 80173fc: 4618 mov r0, r3 - 80173fe: 4611 mov r1, r2 - 8017400: 4a2e ldr r2, [pc, #184] (80174bc ) - 8017402: f000 fbdb bl 8017bbc <_ZN17PositionPlusAngleC1ERK8Positionf> - if (!isBlue()) - 8017406: f7ff ff53 bl 80172b0 <_Z6isBluev> - 801740a: 4603 mov r3, r0 - 801740c: f083 0301 eor.w r3, r3, #1 ; 0x1 - 8017410: b2db uxtb r3, r3 - 8017412: 2b00 cmp r3, #0 - 8017414: d010 beq.n 8017438 - posPlusAngle = PositionPlusAngle(pos,-M_PI/2); - 8017416: f107 0350 add.w r3, r7, #80 ; 0x50 - 801741a: f107 0240 add.w r2, r7, #64 ; 0x40 - 801741e: 4618 mov r0, r3 - 8017420: 4611 mov r1, r2 - 8017422: 4a26 ldr r2, [pc, #152] (80174bc ) - 8017424: f000 fbca bl 8017bbc <_ZN17PositionPlusAngleC1ERK8Positionf> - 8017428: f107 0334 add.w r3, r7, #52 ; 0x34 - 801742c: f107 0250 add.w r2, r7, #80 ; 0x50 - 8017430: 4618 mov r0, r3 - 8017432: 4611 mov r1, r2 - 8017434: f000 fc62 bl 8017cfc <_ZN17PositionPlusAngleaSERKS_> - odometrie->setPos(posPlusAngle); - 8017438: f107 0334 add.w r3, r7, #52 ; 0x34 - 801743c: 6e78 ldr r0, [r7, #100] - 801743e: 4619 mov r1, r3 - 8017440: f7fb fbc2 bl 8012bc8 <_ZN9Odometrie6setPosERK17PositionPlusAngle> - - StrategieV2* strat = new StrategieV2(isBlue()); - 8017444: f7ff ff34 bl 80172b0 <_Z6isBluev> - 8017448: 4603 mov r3, r0 - 801744a: 61fb str r3, [r7, #28] - 801744c: f04f 0004 mov.w r0, #4 ; 0x4 - 8017450: f000 f836 bl 80174c0 <_Znwj> - 8017454: 4603 mov r3, r0 - 8017456: 623b str r3, [r7, #32] - 8017458: 6a3b ldr r3, [r7, #32] - 801745a: 2b00 cmp r3, #0 - 801745c: d006 beq.n 801746c - 801745e: 6a38 ldr r0, [r7, #32] - 8017460: 69f9 ldr r1, [r7, #28] - 8017462: f008 ff3d bl 80202e0 <_ZN11StrategieV2C1Eb> - 8017466: 6a3b ldr r3, [r7, #32] - 8017468: 627b str r3, [r7, #36] - 801746a: e001 b.n 8017470 - 801746c: 6a3b ldr r3, [r7, #32] - 801746e: 627b str r3, [r7, #36] - 8017470: 6a7b ldr r3, [r7, #36] - 8017472: 66bb str r3, [r7, #104] - Asservissement* asserv = new Asservissement(odometrie); - 8017474: f04f 0060 mov.w r0, #96 ; 0x60 - 8017478: f000 f822 bl 80174c0 <_Znwj> - 801747c: 4603 mov r3, r0 - 801747e: 62bb str r3, [r7, #40] - 8017480: 6abb ldr r3, [r7, #40] - 8017482: 2b00 cmp r3, #0 - 8017484: d006 beq.n 8017494 - 8017486: 6ab8 ldr r0, [r7, #40] - 8017488: 6e79 ldr r1, [r7, #100] - 801748a: f7f9 fb99 bl 8010bc0 <_ZN14AsservissementC1EP9Odometrie> - 801748e: 6abb ldr r3, [r7, #40] - 8017490: 62fb str r3, [r7, #44] - 8017492: e001 b.n 8017498 - 8017494: 6abb ldr r3, [r7, #40] - 8017496: 62fb str r3, [r7, #44] - 8017498: 6afb ldr r3, [r7, #44] - 801749a: 66fb str r3, [r7, #108] - 801749c: e7fe b.n 801749c - 801749e: 46c0 nop (mov r8, r8) - 80174a0: 08034030 .word 0x08034030 - 80174a4: 40020000 .word 0x40020000 - 80174a8: 40020400 .word 0x40020400 - 80174ac: 40000800 .word 0x40000800 - 80174b0: 40010000 .word 0x40010000 - 80174b4: 43480000 .word 0x43480000 - 80174b8: 44e74000 .word 0x44e74000 - 80174bc: bfc90fdb .word 0xbfc90fdb - -080174c0 <_Znwj>: -static Header* nextFreeMemory; -static Header* base = NULL; -static int nbPlace = 0; -static int sizeM = 0; - -void * operator new(size_t size) throw() - 80174c0: b480 push {r7} - 80174c2: b089 sub sp, #36 - 80174c4: af00 add r7, sp, #0 - 80174c6: 6078 str r0, [r7, #4] -{ - nbPlace++; - 80174c8: 4b44 ldr r3, [pc, #272] (80175dc <_Znwj+0x11c>) - 80174ca: 681b ldr r3, [r3, #0] - 80174cc: f103 0201 add.w r2, r3, #1 ; 0x1 - 80174d0: 4b42 ldr r3, [pc, #264] (80175dc <_Znwj+0x11c>) - 80174d2: 601a str r2, [r3, #0] - if (base == NULL) - 80174d4: 4b42 ldr r3, [pc, #264] (80175e0 <_Znwj+0x120>) - 80174d6: 681b ldr r3, [r3, #0] - 80174d8: 2b00 cmp r3, #0 - 80174da: d111 bne.n 8017500 <_Znwj+0x40> - { - base = memory_ptr; - 80174dc: 4b41 ldr r3, [pc, #260] (80175e4 <_Znwj+0x124>) - 80174de: 681a ldr r2, [r3, #0] - 80174e0: 4b3f ldr r3, [pc, #252] (80175e0 <_Znwj+0x120>) - 80174e2: 601a str r2, [r3, #0] - base->s.nextFree = memory_ptr; - 80174e4: 4b3e ldr r3, [pc, #248] (80175e0 <_Znwj+0x120>) - 80174e6: 681a ldr r2, [r3, #0] - 80174e8: 4b3e ldr r3, [pc, #248] (80175e4 <_Znwj+0x124>) - 80174ea: 681b ldr r3, [r3, #0] - 80174ec: 6013 str r3, [r2, #0] - #ifdef STM32F40_41xxx // stm h405 - base->s.size = 48000; // Initialisation de la mémoire = Taille disponible dans la ram en unit de base de la mémoire (une unité = 4 octets). Ici 192kB -> 48000 unit - 80174ee: 4b3c ldr r3, [pc, #240] (80175e0 <_Znwj+0x120>) - 80174f0: 681a ldr r2, [r3, #0] - 80174f2: f64b 3380 movw r3, #48000 ; 0xbb80 - 80174f6: 6053 str r3, [r2, #4] - base->s.size = 5000; // Initialisation de la mémoire = Taille disponible dans la ram en unit de base de la mémoire (une unité = 4 octets). Ici 20kB -> 5000 unit - #endif - #ifdef STM32F10X_CL // stm h107 - base->s.size = 16000; // Initialisation de la mémoire = Taille disponible dans la ram en unit de base de la mémoire (une unité = 4 octets). Ici 64kB -> 16000 unit - #endif - nextFreeMemory = memory_ptr; - 80174f8: 4b3a ldr r3, [pc, #232] (80175e4 <_Znwj+0x124>) - 80174fa: 681a ldr r2, [r3, #0] - 80174fc: 4b3a ldr r3, [pc, #232] (80175e8 <_Znwj+0x128>) - 80174fe: 601a str r2, [r3, #0] - - } - unsigned nunit = (size + sizeof(Header)-1)/sizeof(Header)+1; - 8017500: 687b ldr r3, [r7, #4] - 8017502: f103 0307 add.w r3, r3, #7 ; 0x7 - 8017506: ea4f 03d3 mov.w r3, r3, lsr #3 - 801750a: f103 0301 add.w r3, r3, #1 ; 0x1 - 801750e: 60fb str r3, [r7, #12] - sizeM += nunit; - 8017510: 4b36 ldr r3, [pc, #216] (80175ec <_Znwj+0x12c>) - 8017512: 681b ldr r3, [r3, #0] - 8017514: 461a mov r2, r3 - 8017516: 68fb ldr r3, [r7, #12] - 8017518: 4413 add r3, r2 - 801751a: 461a mov r2, r3 - 801751c: 4b33 ldr r3, [pc, #204] (80175ec <_Znwj+0x12c>) - 801751e: 601a str r2, [r3, #0] - Header *p = nextFreeMemory; - 8017520: 4b31 ldr r3, [pc, #196] (80175e8 <_Znwj+0x128>) - 8017522: 681b ldr r3, [r3, #0] - 8017524: 613b str r3, [r7, #16] - Header *oldP = p; - 8017526: 693b ldr r3, [r7, #16] - 8017528: 617b str r3, [r7, #20] - Header *ip; - for (ip = nextFreeMemory; ; p = ip, ip = ip->s.nextFree) - 801752a: 4b2f ldr r3, [pc, #188] (80175e8 <_Znwj+0x128>) - 801752c: 681b ldr r3, [r3, #0] - 801752e: 61bb str r3, [r7, #24] - { - if (nunit <= ip->s.size ) - 8017530: 69bb ldr r3, [r7, #24] - 8017532: 685a ldr r2, [r3, #4] - 8017534: 68fb ldr r3, [r7, #12] - 8017536: 429a cmp r2, r3 - 8017538: d33a bcc.n 80175b0 <_Znwj+0xf0> - { - if (nunit == ip->s.size) - 801753a: 69bb ldr r3, [r7, #24] - 801753c: 685a ldr r2, [r3, #4] - 801753e: 68fb ldr r3, [r7, #12] - 8017540: 429a cmp r2, r3 - 8017542: d10e bne.n 8017562 <_Znwj+0xa2> - { - if (ip->s.nextFree != ip) - 8017544: 69bb ldr r3, [r7, #24] - 8017546: 681a ldr r2, [r3, #0] - 8017548: 69bb ldr r3, [r7, #24] - 801754a: 429a cmp r2, r3 - 801754c: d004 beq.n 8017558 <_Znwj+0x98> - { - nextFreeMemory = ip->s.nextFree; - 801754e: 69bb ldr r3, [r7, #24] - 8017550: 681a ldr r2, [r3, #0] - 8017552: 4b25 ldr r3, [pc, #148] (80175e8 <_Znwj+0x128>) - 8017554: 601a str r2, [r3, #0] - 8017556: e026 b.n 80175a6 <_Znwj+0xe6> - } - else - { - nextFreeMemory = NULL; - 8017558: 4a23 ldr r2, [pc, #140] (80175e8 <_Znwj+0x128>) - 801755a: f04f 0300 mov.w r3, #0 ; 0x0 - 801755e: 6013 str r3, [r2, #0] - 8017560: e021 b.n 80175a6 <_Znwj+0xe6> - } - } - else - { - unsigned oldFreeUnit = p->s.size; - 8017562: 693b ldr r3, [r7, #16] - 8017564: 685b ldr r3, [r3, #4] - 8017566: 61fb str r3, [r7, #28] - p->s.size = nunit; - 8017568: 693a ldr r2, [r7, #16] - 801756a: 68fb ldr r3, [r7, #12] - 801756c: 6053 str r3, [r2, #4] - oldP = p; - 801756e: 693b ldr r3, [r7, #16] - 8017570: 617b str r3, [r7, #20] - p += nunit; - 8017572: 68fb ldr r3, [r7, #12] - 8017574: ea4f 02c3 mov.w r2, r3, lsl #3 - 8017578: 693b ldr r3, [r7, #16] - 801757a: 4413 add r3, r2 - 801757c: 613b str r3, [r7, #16] - oldP->s.nextFree = p; - 801757e: 697a ldr r2, [r7, #20] - 8017580: 693b ldr r3, [r7, #16] - 8017582: 6013 str r3, [r2, #0] - p->s.size = oldFreeUnit - nunit; - 8017584: 69fa ldr r2, [r7, #28] - 8017586: 68fb ldr r3, [r7, #12] - 8017588: ebc3 0202 rsb r2, r3, r2 - 801758c: 693b ldr r3, [r7, #16] - 801758e: 605a str r2, [r3, #4] - p->s.nextFree = p; - 8017590: 693a ldr r2, [r7, #16] - 8017592: 693b ldr r3, [r7, #16] - 8017594: 6013 str r3, [r2, #0] - if (ip == nextFreeMemory) - 8017596: 4b14 ldr r3, [pc, #80] (80175e8 <_Znwj+0x128>) - 8017598: 681a ldr r2, [r3, #0] - 801759a: 69bb ldr r3, [r7, #24] - 801759c: 4293 cmp r3, r2 - 801759e: d102 bne.n 80175a6 <_Znwj+0xe6> - { - nextFreeMemory = p; - 80175a0: 4a11 ldr r2, [pc, #68] (80175e8 <_Znwj+0x128>) - 80175a2: 693b ldr r3, [r7, #16] - 80175a4: 6013 str r3, [r2, #0] - } - } - - return ip+1; - 80175a6: 69bb ldr r3, [r7, #24] - 80175a8: f103 0308 add.w r3, r3, #8 ; 0x8 - 80175ac: 603b str r3, [r7, #0] - 80175ae: e00d b.n 80175cc <_Znwj+0x10c> - } - if (ip==oldP) - 80175b0: 69ba ldr r2, [r7, #24] - 80175b2: 697b ldr r3, [r7, #20] - 80175b4: 429a cmp r2, r3 - 80175b6: d103 bne.n 80175c0 <_Znwj+0x100> - { - return NULL; - 80175b8: f04f 0300 mov.w r3, #0 ; 0x0 - 80175bc: 603b str r3, [r7, #0] - 80175be: e005 b.n 80175cc <_Znwj+0x10c> - unsigned nunit = (size + sizeof(Header)-1)/sizeof(Header)+1; - sizeM += nunit; - Header *p = nextFreeMemory; - Header *oldP = p; - Header *ip; - for (ip = nextFreeMemory; ; p = ip, ip = ip->s.nextFree) - 80175c0: 69bb ldr r3, [r7, #24] - 80175c2: 613b str r3, [r7, #16] - 80175c4: 69bb ldr r3, [r7, #24] - 80175c6: 681b ldr r3, [r3, #0] - 80175c8: 61bb str r3, [r7, #24] - 80175ca: e7b1 b.n 8017530 <_Znwj+0x70> - 80175cc: 683b ldr r3, [r7, #0] - if (ip==oldP) - { - return NULL; - } - } -} - 80175ce: 4618 mov r0, r3 - 80175d0: f107 0724 add.w r7, r7, #36 ; 0x24 - 80175d4: 46bd mov sp, r7 - 80175d6: bc80 pop {r7} - 80175d8: 4770 bx lr - 80175da: 46c0 nop (mov r8, r8) - 80175dc: 200005a8 .word 0x200005a8 - 80175e0: 200005b4 .word 0x200005b4 - 80175e4: 2000003c .word 0x2000003c - 80175e8: 200005b0 .word 0x200005b0 - 80175ec: 200005ac .word 0x200005ac - -080175f0 <_Znaj>: - -void * operator new[](size_t size) throw() - 80175f0: b580 push {r7, lr} - 80175f2: b082 sub sp, #8 - 80175f4: af00 add r7, sp, #0 - 80175f6: 6078 str r0, [r7, #4] -{ - return operator new(size); - 80175f8: 6878 ldr r0, [r7, #4] - 80175fa: f7ff ff61 bl 80174c0 <_Znwj> - 80175fe: 4603 mov r3, r0 -} - 8017600: 4618 mov r0, r3 - 8017602: f107 0708 add.w r7, r7, #8 ; 0x8 - 8017606: 46bd mov sp, r7 - 8017608: bd80 pop {r7, pc} - 801760a: 46c0 nop (mov r8, r8) - -0801760c <_ZdlPv>: - -void operator delete(void * p) throw() - 801760c: b480 push {r7} - 801760e: b085 sub sp, #20 - 8017610: af00 add r7, sp, #0 - 8017612: 6078 str r0, [r7, #4] -{ - nbPlace--; - 8017614: 4b36 ldr r3, [pc, #216] (80176f0 <_ZdlPv+0xe4>) - 8017616: 681b ldr r3, [r3, #0] - 8017618: f103 32ff add.w r2, r3, #4294967295 ; 0xffffffff - 801761c: 4b34 ldr r3, [pc, #208] (80176f0 <_ZdlPv+0xe4>) - 801761e: 601a str r2, [r3, #0] - Header* d = (Header*)p -1; - 8017620: 687b ldr r3, [r7, #4] - 8017622: f1a3 0308 sub.w r3, r3, #8 ; 0x8 - 8017626: 60bb str r3, [r7, #8] - sizeM -= d->s.size; - 8017628: 4b32 ldr r3, [pc, #200] (80176f4 <_ZdlPv+0xe8>) - 801762a: 681b ldr r3, [r3, #0] - 801762c: 461a mov r2, r3 - 801762e: 68bb ldr r3, [r7, #8] - 8017630: 685b ldr r3, [r3, #4] - 8017632: ebc3 0302 rsb r3, r3, r2 - 8017636: 461a mov r2, r3 - 8017638: 4b2e ldr r3, [pc, #184] (80176f4 <_ZdlPv+0xe8>) - 801763a: 601a str r2, [r3, #0] - Header* predFree; - for(predFree = nextFreeMemory; !((d > predFree)&&(ds.nextFree)); predFree = predFree->s.nextFree ) - 801763c: 4b2e ldr r3, [pc, #184] (80176f8 <_ZdlPv+0xec>) - 801763e: 681b ldr r3, [r3, #0] - 8017640: 60fb str r3, [r7, #12] - 8017642: e010 b.n 8017666 <_ZdlPv+0x5a> - { - if(predFree>=predFree->s.nextFree && (d > predFree || ds.nextFree)) - 8017644: 68fb ldr r3, [r7, #12] - 8017646: 681a ldr r2, [r3, #0] - 8017648: 68fb ldr r3, [r7, #12] - 801764a: 429a cmp r2, r3 - 801764c: d808 bhi.n 8017660 <_ZdlPv+0x54> - 801764e: 68ba ldr r2, [r7, #8] - 8017650: 68fb ldr r3, [r7, #12] - 8017652: 429a cmp r2, r3 - 8017654: d810 bhi.n 8017678 <_ZdlPv+0x6c> - 8017656: 68fb ldr r3, [r7, #12] - 8017658: 681a ldr r2, [r3, #0] - 801765a: 68bb ldr r3, [r7, #8] - 801765c: 429a cmp r2, r3 - 801765e: d80b bhi.n 8017678 <_ZdlPv+0x6c> -{ - nbPlace--; - Header* d = (Header*)p -1; - sizeM -= d->s.size; - Header* predFree; - for(predFree = nextFreeMemory; !((d > predFree)&&(ds.nextFree)); predFree = predFree->s.nextFree ) - 8017660: 68fb ldr r3, [r7, #12] - 8017662: 681b ldr r3, [r3, #0] - 8017664: 60fb str r3, [r7, #12] - 8017666: 68ba ldr r2, [r7, #8] - 8017668: 68fb ldr r3, [r7, #12] - 801766a: 429a cmp r2, r3 - 801766c: d9ea bls.n 8017644 <_ZdlPv+0x38> - 801766e: 68fb ldr r3, [r7, #12] - 8017670: 681a ldr r2, [r3, #0] - 8017672: 68bb ldr r3, [r7, #8] - 8017674: 429a cmp r2, r3 - 8017676: d9e5 bls.n 8017644 <_ZdlPv+0x38> - { - if(predFree>=predFree->s.nextFree && (d > predFree || ds.nextFree)) - break; - } - - if ( d + d->s.size == predFree->s.nextFree ) // si le prochain vide est collé au block libéré - 8017678: 68bb ldr r3, [r7, #8] - 801767a: 685b ldr r3, [r3, #4] - 801767c: ea4f 02c3 mov.w r2, r3, lsl #3 - 8017680: 68bb ldr r3, [r7, #8] - 8017682: 441a add r2, r3 - 8017684: 68fb ldr r3, [r7, #12] - 8017686: 681b ldr r3, [r3, #0] - 8017688: 429a cmp r2, r3 - 801768a: d10d bne.n 80176a8 <_ZdlPv+0x9c> - { - d->s.size += predFree->s.nextFree->s.size; - 801768c: 68bb ldr r3, [r7, #8] - 801768e: 685a ldr r2, [r3, #4] - 8017690: 68fb ldr r3, [r7, #12] - 8017692: 681b ldr r3, [r3, #0] - 8017694: 685b ldr r3, [r3, #4] - 8017696: 441a add r2, r3 - 8017698: 68bb ldr r3, [r7, #8] - 801769a: 605a str r2, [r3, #4] - d->s.nextFree = predFree->s.nextFree->s.nextFree; - 801769c: 68fb ldr r3, [r7, #12] - 801769e: 681b ldr r3, [r3, #0] - 80176a0: 681a ldr r2, [r3, #0] - 80176a2: 68bb ldr r3, [r7, #8] - 80176a4: 601a str r2, [r3, #0] - 80176a6: e003 b.n 80176b0 <_ZdlPv+0xa4> - } - else - { - d->s.nextFree = predFree->s.nextFree; - 80176a8: 68fb ldr r3, [r7, #12] - 80176aa: 681a ldr r2, [r3, #0] - 80176ac: 68bb ldr r3, [r7, #8] - 80176ae: 601a str r2, [r3, #0] - } - if (predFree+predFree->s.size == d) - 80176b0: 68fb ldr r3, [r7, #12] - 80176b2: 685b ldr r3, [r3, #4] - 80176b4: ea4f 02c3 mov.w r2, r3, lsl #3 - 80176b8: 68fb ldr r3, [r7, #12] - 80176ba: 441a add r2, r3 - 80176bc: 68bb ldr r3, [r7, #8] - 80176be: 429a cmp r2, r3 - 80176c0: d10b bne.n 80176da <_ZdlPv+0xce> - { - predFree->s.nextFree = d->s.nextFree; - 80176c2: 68bb ldr r3, [r7, #8] - 80176c4: 681a ldr r2, [r3, #0] - 80176c6: 68fb ldr r3, [r7, #12] - 80176c8: 601a str r2, [r3, #0] - predFree->s.size += d->s.size; - 80176ca: 68fb ldr r3, [r7, #12] - 80176cc: 685a ldr r2, [r3, #4] - 80176ce: 68bb ldr r3, [r7, #8] - 80176d0: 685b ldr r3, [r3, #4] - 80176d2: 441a add r2, r3 - 80176d4: 68fb ldr r3, [r7, #12] - 80176d6: 605a str r2, [r3, #4] - 80176d8: e002 b.n 80176e0 <_ZdlPv+0xd4> - } - else - { - predFree->s.nextFree = d; - 80176da: 68fa ldr r2, [r7, #12] - 80176dc: 68bb ldr r3, [r7, #8] - 80176de: 6013 str r3, [r2, #0] - } - nextFreeMemory = predFree; - 80176e0: 4a05 ldr r2, [pc, #20] (80176f8 <_ZdlPv+0xec>) - 80176e2: 68fb ldr r3, [r7, #12] - 80176e4: 6013 str r3, [r2, #0] - - /* d--; // d est maintenant le Header de la zone mémoire contenant l'objet que l'on delete - d->s.nextFree = nextFreeMemory; // On indique que la prochaîne mémoire vide sera la première mémoire vide au moment où on a lancé le delete - nextFreeMemory = d; - */ -} - 80176e6: f107 0714 add.w r7, r7, #20 ; 0x14 - 80176ea: 46bd mov sp, r7 - 80176ec: bc80 pop {r7} - 80176ee: 4770 bx lr - 80176f0: 200005a8 .word 0x200005a8 - 80176f4: 200005ac .word 0x200005ac - 80176f8: 200005b0 .word 0x200005b0 - -080176fc <_ZdaPv>: - -void operator delete[](void * p) throw() - 80176fc: b580 push {r7, lr} - 80176fe: b082 sub sp, #8 - 8017700: af00 add r7, sp, #0 - 8017702: 6078 str r0, [r7, #4] -{ - return operator delete(p); - 8017704: 6878 ldr r0, [r7, #4] - 8017706: f7ff ff81 bl 801760c <_ZdlPv> -} - 801770a: f107 0708 add.w r7, r7, #8 ; 0x8 - 801770e: 46bd mov sp, r7 - 8017710: bd80 pop {r7, pc} - 8017712: 46c0 nop (mov r8, r8) - -08017714 <_ZN8PositionC2Ev>: - -#include "position.h" - - -// Constructeur par défaut avec des coordonnées nulles. -Position::Position() - 8017714: b480 push {r7} - 8017716: b083 sub sp, #12 - 8017718: af00 add r7, sp, #0 - 801771a: 6078 str r0, [r7, #4] - : x(0), y(0) - 801771c: 687a ldr r2, [r7, #4] - 801771e: 4b06 ldr r3, [pc, #24] (8017738 <_ZN8PositionC2Ev+0x24>) - 8017720: 6013 str r3, [r2, #0] - 8017722: 687a ldr r2, [r7, #4] - 8017724: 4b04 ldr r3, [pc, #16] (8017738 <_ZN8PositionC2Ev+0x24>) - 8017726: 6053 str r3, [r2, #4] -{ -} - 8017728: 687b ldr r3, [r7, #4] - 801772a: 4618 mov r0, r3 - 801772c: f107 070c add.w r7, r7, #12 ; 0xc - 8017730: 46bd mov sp, r7 - 8017732: bc80 pop {r7} - 8017734: 4770 bx lr - 8017736: 46c0 nop (mov r8, r8) - 8017738: 00000000 .word 0x00000000 - -0801773c <_ZN8PositionC1Ev>: - -#include "position.h" - - -// Constructeur par défaut avec des coordonnées nulles. -Position::Position() - 801773c: b480 push {r7} - 801773e: b083 sub sp, #12 - 8017740: af00 add r7, sp, #0 - 8017742: 6078 str r0, [r7, #4] - : x(0), y(0) - 8017744: 687a ldr r2, [r7, #4] - 8017746: 4b06 ldr r3, [pc, #24] (8017760 <_ZN8PositionC1Ev+0x24>) - 8017748: 6013 str r3, [r2, #0] - 801774a: 687a ldr r2, [r7, #4] - 801774c: 4b04 ldr r3, [pc, #16] (8017760 <_ZN8PositionC1Ev+0x24>) - 801774e: 6053 str r3, [r2, #4] -{ -} - 8017750: 687b ldr r3, [r7, #4] - 8017752: 4618 mov r0, r3 - 8017754: f107 070c add.w r7, r7, #12 ; 0xc - 8017758: 46bd mov sp, r7 - 801775a: bc80 pop {r7} - 801775c: 4770 bx lr - 801775e: 46c0 nop (mov r8, r8) - 8017760: 00000000 .word 0x00000000 - -08017764 <_ZN8PositionC2Effb>: - -Position::Position(Distance X, Distance Y, bool isBlue) - 8017764: b580 push {r7, lr} - 8017766: b084 sub sp, #16 - 8017768: af00 add r7, sp, #0 - 801776a: 60f8 str r0, [r7, #12] - 801776c: 60b9 str r1, [r7, #8] - 801776e: 607a str r2, [r7, #4] - 8017770: 70fb strb r3, [r7, #3] - : x(X), y(Y) - 8017772: 68fa ldr r2, [r7, #12] - 8017774: 68bb ldr r3, [r7, #8] - 8017776: 6013 str r3, [r2, #0] - 8017778: 68fa ldr r2, [r7, #12] - 801777a: 687b ldr r3, [r7, #4] - 801777c: 6053 str r3, [r2, #4] -{ - if (!isBlue) - 801777e: 78fb ldrb r3, [r7, #3] - 8017780: f083 0301 eor.w r3, r3, #1 ; 0x1 - 8017784: b2db uxtb r3, r3 - 8017786: 2b00 cmp r3, #0 - 8017788: d009 beq.n 801779e <_ZN8PositionC2Effb+0x3a> - { - x = 3000-x; - 801778a: 68fb ldr r3, [r7, #12] - 801778c: 681b ldr r3, [r3, #0] - 801778e: 4807 ldr r0, [pc, #28] (80177ac <_ZN8PositionC2Effb+0x48>) - 8017790: 4619 mov r1, r3 - 8017792: f015 fb07 bl 802cda4 <__aeabi_fsub> - 8017796: 4603 mov r3, r0 - 8017798: 461a mov r2, r3 - 801779a: 68fb ldr r3, [r7, #12] - 801779c: 601a str r2, [r3, #0] - } -} - 801779e: 68fb ldr r3, [r7, #12] - 80177a0: 4618 mov r0, r3 - 80177a2: f107 0710 add.w r7, r7, #16 ; 0x10 - 80177a6: 46bd mov sp, r7 - 80177a8: bd80 pop {r7, pc} - 80177aa: 46c0 nop (mov r8, r8) - 80177ac: 453b8000 .word 0x453b8000 - -080177b0 <_ZN8PositionC1Effb>: -Position::Position() - : x(0), y(0) -{ -} - -Position::Position(Distance X, Distance Y, bool isBlue) - 80177b0: b580 push {r7, lr} - 80177b2: b084 sub sp, #16 - 80177b4: af00 add r7, sp, #0 - 80177b6: 60f8 str r0, [r7, #12] - 80177b8: 60b9 str r1, [r7, #8] - 80177ba: 607a str r2, [r7, #4] - 80177bc: 70fb strb r3, [r7, #3] - : x(X), y(Y) - 80177be: 68fa ldr r2, [r7, #12] - 80177c0: 68bb ldr r3, [r7, #8] - 80177c2: 6013 str r3, [r2, #0] - 80177c4: 68fa ldr r2, [r7, #12] - 80177c6: 687b ldr r3, [r7, #4] - 80177c8: 6053 str r3, [r2, #4] -{ - if (!isBlue) - 80177ca: 78fb ldrb r3, [r7, #3] - 80177cc: f083 0301 eor.w r3, r3, #1 ; 0x1 - 80177d0: b2db uxtb r3, r3 - 80177d2: 2b00 cmp r3, #0 - 80177d4: d009 beq.n 80177ea <_ZN8PositionC1Effb+0x3a> - { - x = 3000-x; - 80177d6: 68fb ldr r3, [r7, #12] - 80177d8: 681b ldr r3, [r3, #0] - 80177da: 4807 ldr r0, [pc, #28] (80177f8 <_ZN8PositionC1Effb+0x48>) - 80177dc: 4619 mov r1, r3 - 80177de: f015 fae1 bl 802cda4 <__aeabi_fsub> - 80177e2: 4603 mov r3, r0 - 80177e4: 461a mov r2, r3 - 80177e6: 68fb ldr r3, [r7, #12] - 80177e8: 601a str r2, [r3, #0] - } -} - 80177ea: 68fb ldr r3, [r7, #12] - 80177ec: 4618 mov r0, r3 - 80177ee: f107 0710 add.w r7, r7, #16 ; 0x10 - 80177f2: 46bd mov sp, r7 - 80177f4: bd80 pop {r7, pc} - 80177f6: 46c0 nop (mov r8, r8) - 80177f8: 453b8000 .word 0x453b8000 - -080177fc <_ZNK8Position4getXEv>: - -Distance Position::getX() const - 80177fc: b480 push {r7} - 80177fe: b083 sub sp, #12 - 8017800: af00 add r7, sp, #0 - 8017802: 6078 str r0, [r7, #4] -{ - return x; - 8017804: 687b ldr r3, [r7, #4] - 8017806: 681b ldr r3, [r3, #0] -} - 8017808: 4618 mov r0, r3 - 801780a: f107 070c add.w r7, r7, #12 ; 0xc - 801780e: 46bd mov sp, r7 - 8017810: bc80 pop {r7} - 8017812: 4770 bx lr - -08017814 <_ZNK8Position4getYEv>: - -Distance Position::getY() const - 8017814: b480 push {r7} - 8017816: b083 sub sp, #12 - 8017818: af00 add r7, sp, #0 - 801781a: 6078 str r0, [r7, #4] -{ - return y; - 801781c: 687b ldr r3, [r7, #4] - 801781e: 685b ldr r3, [r3, #4] -} - 8017820: 4618 mov r0, r3 - 8017822: f107 070c add.w r7, r7, #12 ; 0xc - 8017826: 46bd mov sp, r7 - 8017828: bc80 pop {r7} - 801782a: 4770 bx lr - -0801782c <_ZN8Position4setXEf>: - -void Position::setX(Distance X) - 801782c: b480 push {r7} - 801782e: b083 sub sp, #12 - 8017830: af00 add r7, sp, #0 - 8017832: 6078 str r0, [r7, #4] - 8017834: 6039 str r1, [r7, #0] -{ - x = X; - 8017836: 687a ldr r2, [r7, #4] - 8017838: 683b ldr r3, [r7, #0] - 801783a: 6013 str r3, [r2, #0] -} - 801783c: f107 070c add.w r7, r7, #12 ; 0xc - 8017840: 46bd mov sp, r7 - 8017842: bc80 pop {r7} - 8017844: 4770 bx lr - 8017846: 46c0 nop (mov r8, r8) - -08017848 <_ZN8Position4setYEf>: - -void Position::setY(Distance Y) - 8017848: b480 push {r7} - 801784a: b083 sub sp, #12 - 801784c: af00 add r7, sp, #0 - 801784e: 6078 str r0, [r7, #4] - 8017850: 6039 str r1, [r7, #0] -{ - y = Y; - 8017852: 687a ldr r2, [r7, #4] - 8017854: 683b ldr r3, [r7, #0] - 8017856: 6053 str r3, [r2, #4] -} - 8017858: f107 070c add.w r7, r7, #12 ; 0xc - 801785c: 46bd mov sp, r7 - 801785e: bc80 pop {r7} - 8017860: 4770 bx lr - 8017862: 46c0 nop (mov r8, r8) - -08017864 <_ZNK8PositionplERKS_>: - -Position Position::operator+(const Position &position) const - 8017864: b5b0 push {r4, r5, r7, lr} - 8017866: b084 sub sp, #16 - 8017868: af00 add r7, sp, #0 - 801786a: 4604 mov r4, r0 - 801786c: 6079 str r1, [r7, #4] - 801786e: 603a str r2, [r7, #0] -{ - Position resultat(x+position.x,y+position.y); - 8017870: 687b ldr r3, [r7, #4] - 8017872: 681a ldr r2, [r3, #0] - 8017874: 683b ldr r3, [r7, #0] - 8017876: 681b ldr r3, [r3, #0] - 8017878: 4610 mov r0, r2 - 801787a: 4619 mov r1, r3 - 801787c: f015 fa94 bl 802cda8 <__addsf3> - 8017880: 4603 mov r3, r0 - 8017882: 461d mov r5, r3 - 8017884: 687b ldr r3, [r7, #4] - 8017886: 685a ldr r2, [r3, #4] - 8017888: 683b ldr r3, [r7, #0] - 801788a: 685b ldr r3, [r3, #4] - 801788c: 4610 mov r0, r2 - 801788e: 4619 mov r1, r3 - 8017890: f015 fa8a bl 802cda8 <__addsf3> - 8017894: 4603 mov r3, r0 - 8017896: 4620 mov r0, r4 - 8017898: 4629 mov r1, r5 - 801789a: 461a mov r2, r3 - 801789c: f04f 0301 mov.w r3, #1 ; 0x1 - 80178a0: f7ff ff86 bl 80177b0 <_ZN8PositionC1Effb> - return resultat; -} - 80178a4: 4620 mov r0, r4 - 80178a6: f107 0710 add.w r7, r7, #16 ; 0x10 - 80178aa: 46bd mov sp, r7 - 80178ac: bdb0 pop {r4, r5, r7, pc} - 80178ae: 46c0 nop (mov r8, r8) - -080178b0 <_ZNK8PositionmiERKS_>: - -Position Position::operator-(const Position &position) const - 80178b0: b5b0 push {r4, r5, r7, lr} - 80178b2: b084 sub sp, #16 - 80178b4: af00 add r7, sp, #0 - 80178b6: 4604 mov r4, r0 - 80178b8: 6079 str r1, [r7, #4] - 80178ba: 603a str r2, [r7, #0] -{ - Position resultat(x-position.x,y-position.y); - 80178bc: 687b ldr r3, [r7, #4] - 80178be: 681a ldr r2, [r3, #0] - 80178c0: 683b ldr r3, [r7, #0] - 80178c2: 681b ldr r3, [r3, #0] - 80178c4: 4610 mov r0, r2 - 80178c6: 4619 mov r1, r3 - 80178c8: f015 fa6c bl 802cda4 <__aeabi_fsub> - 80178cc: 4603 mov r3, r0 - 80178ce: 461d mov r5, r3 - 80178d0: 687b ldr r3, [r7, #4] - 80178d2: 685a ldr r2, [r3, #4] - 80178d4: 683b ldr r3, [r7, #0] - 80178d6: 685b ldr r3, [r3, #4] - 80178d8: 4610 mov r0, r2 - 80178da: 4619 mov r1, r3 - 80178dc: f015 fa62 bl 802cda4 <__aeabi_fsub> - 80178e0: 4603 mov r3, r0 - 80178e2: 4620 mov r0, r4 - 80178e4: 4629 mov r1, r5 - 80178e6: 461a mov r2, r3 - 80178e8: f04f 0301 mov.w r3, #1 ; 0x1 - 80178ec: f7ff ff60 bl 80177b0 <_ZN8PositionC1Effb> - return resultat; -} - 80178f0: 4620 mov r0, r4 - 80178f2: f107 0710 add.w r7, r7, #16 ; 0x10 - 80178f6: 46bd mov sp, r7 - 80178f8: bdb0 pop {r4, r5, r7, pc} - 80178fa: 46c0 nop (mov r8, r8) - -080178fc <_ZN8PositionaSES_>: - -void Position::operator=(Position position) - 80178fc: b480 push {r7} - 80178fe: b085 sub sp, #20 - 8017900: af00 add r7, sp, #0 - 8017902: 60f8 str r0, [r7, #12] - 8017904: f107 0304 add.w r3, r7, #4 ; 0x4 - 8017908: e883 0006 stmia.w r3, {r1, r2} -{ - - x = position.x; - 801790c: 687a ldr r2, [r7, #4] - 801790e: 68fb ldr r3, [r7, #12] - 8017910: 601a str r2, [r3, #0] - y = position.y; - 8017912: 68ba ldr r2, [r7, #8] - 8017914: 68fb ldr r3, [r7, #12] - 8017916: 605a str r2, [r3, #4] - -} - 8017918: f107 0714 add.w r7, r7, #20 ; 0x14 - 801791c: 46bd mov sp, r7 - 801791e: bc80 pop {r7} - 8017920: 4770 bx lr - 8017922: 46c0 nop (mov r8, r8) - -08017924 <_ZN8PositionpLERKS_>: - -Position Position::operator+=(const Position &position) - 8017924: b590 push {r4, r7, lr} - 8017926: b083 sub sp, #12 - 8017928: af00 add r7, sp, #0 - 801792a: 4604 mov r4, r0 - 801792c: 6079 str r1, [r7, #4] - 801792e: 603a str r2, [r7, #0] -{ - this->x+=position.x; - 8017930: 687b ldr r3, [r7, #4] - 8017932: 681a ldr r2, [r3, #0] - 8017934: 683b ldr r3, [r7, #0] - 8017936: 681b ldr r3, [r3, #0] - 8017938: 4610 mov r0, r2 - 801793a: 4619 mov r1, r3 - 801793c: f015 fa34 bl 802cda8 <__addsf3> - 8017940: 4603 mov r3, r0 - 8017942: 461a mov r2, r3 - 8017944: 687b ldr r3, [r7, #4] - 8017946: 601a str r2, [r3, #0] - this->y+=position.y; - 8017948: 687b ldr r3, [r7, #4] - 801794a: 685a ldr r2, [r3, #4] - 801794c: 683b ldr r3, [r7, #0] - 801794e: 685b ldr r3, [r3, #4] - 8017950: 4610 mov r0, r2 - 8017952: 4619 mov r1, r3 - 8017954: f015 fa28 bl 802cda8 <__addsf3> - 8017958: 4603 mov r3, r0 - 801795a: 461a mov r2, r3 - 801795c: 687b ldr r3, [r7, #4] - 801795e: 605a str r2, [r3, #4] - - return *this; - 8017960: 687b ldr r3, [r7, #4] - 8017962: 4620 mov r0, r4 - 8017964: 4619 mov r1, r3 - 8017966: f04f 0208 mov.w r2, #8 ; 0x8 - 801796a: f01b f885 bl 8032a78 -} - 801796e: 4620 mov r0, r4 - 8017970: f107 070c add.w r7, r7, #12 ; 0xc - 8017974: 46bd mov sp, r7 - 8017976: bd90 pop {r4, r7, pc} - -08017978 <_ZN8PositionmIERKS_>: - -Position Position::operator-=(const Position &position) - 8017978: b590 push {r4, r7, lr} - 801797a: b083 sub sp, #12 - 801797c: af00 add r7, sp, #0 - 801797e: 4604 mov r4, r0 - 8017980: 6079 str r1, [r7, #4] - 8017982: 603a str r2, [r7, #0] -{ - this->x-=position.x; - 8017984: 687b ldr r3, [r7, #4] - 8017986: 681a ldr r2, [r3, #0] - 8017988: 683b ldr r3, [r7, #0] - 801798a: 681b ldr r3, [r3, #0] - 801798c: 4610 mov r0, r2 - 801798e: 4619 mov r1, r3 - 8017990: f015 fa08 bl 802cda4 <__aeabi_fsub> - 8017994: 4603 mov r3, r0 - 8017996: 461a mov r2, r3 - 8017998: 687b ldr r3, [r7, #4] - 801799a: 601a str r2, [r3, #0] - this->y-=position.y; - 801799c: 687b ldr r3, [r7, #4] - 801799e: 685a ldr r2, [r3, #4] - 80179a0: 683b ldr r3, [r7, #0] - 80179a2: 685b ldr r3, [r3, #4] - 80179a4: 4610 mov r0, r2 - 80179a6: 4619 mov r1, r3 - 80179a8: f015 f9fc bl 802cda4 <__aeabi_fsub> - 80179ac: 4603 mov r3, r0 - 80179ae: 461a mov r2, r3 - 80179b0: 687b ldr r3, [r7, #4] - 80179b2: 605a str r2, [r3, #4] - - return *this; - 80179b4: 687b ldr r3, [r7, #4] - 80179b6: 4620 mov r0, r4 - 80179b8: 4619 mov r1, r3 - 80179ba: f04f 0208 mov.w r2, #8 ; 0x8 - 80179be: f01b f85b bl 8032a78 -} - 80179c2: 4620 mov r0, r4 - 80179c4: f107 070c add.w r7, r7, #12 ; 0xc - 80179c8: 46bd mov sp, r7 - 80179ca: bd90 pop {r4, r7, pc} - -080179cc <_ZNK8PositioneqERKS_>: -bool Position::presqueEgales(const Position &p) const -{ - return (distancePresqueEgales(x, p.x) && distancePresqueEgales(y,p.y)); -} - -bool Position::operator==(const Position &p) const - 80179cc: b580 push {r7, lr} - 80179ce: b084 sub sp, #16 - 80179d0: af00 add r7, sp, #0 - 80179d2: 60f8 str r0, [r7, #12] - 80179d4: 60b9 str r1, [r7, #8] -{ - return (x == p.x && y == p.y); - 80179d6: 68fb ldr r3, [r7, #12] - 80179d8: 681a ldr r2, [r3, #0] - 80179da: 68bb ldr r3, [r7, #8] - 80179dc: 6819 ldr r1, [r3, #0] - 80179de: f04f 0300 mov.w r3, #0 ; 0x0 - 80179e2: 70fb strb r3, [r7, #3] - 80179e4: 4610 mov r0, r2 - 80179e6: f015 fc79 bl 802d2dc <__aeabi_fcmpeq> - 80179ea: 4603 mov r3, r0 - 80179ec: 2b00 cmp r3, #0 - 80179ee: d002 beq.n 80179f6 <_ZNK8PositioneqERKS_+0x2a> - 80179f0: f04f 0301 mov.w r3, #1 ; 0x1 - 80179f4: 70fb strb r3, [r7, #3] - 80179f6: 78fb ldrb r3, [r7, #3] - 80179f8: f083 0301 eor.w r3, r3, #1 ; 0x1 - 80179fc: b2db uxtb r3, r3 - 80179fe: 2b00 cmp r3, #0 - 8017a00: d119 bne.n 8017a36 <_ZNK8PositioneqERKS_+0x6a> - 8017a02: 68fb ldr r3, [r7, #12] - 8017a04: 685a ldr r2, [r3, #4] - 8017a06: 68bb ldr r3, [r7, #8] - 8017a08: 6859 ldr r1, [r3, #4] - 8017a0a: f04f 0300 mov.w r3, #0 ; 0x0 - 8017a0e: 70bb strb r3, [r7, #2] - 8017a10: 4610 mov r0, r2 - 8017a12: f015 fc63 bl 802d2dc <__aeabi_fcmpeq> - 8017a16: 4603 mov r3, r0 - 8017a18: 2b00 cmp r3, #0 - 8017a1a: d002 beq.n 8017a22 <_ZNK8PositioneqERKS_+0x56> - 8017a1c: f04f 0301 mov.w r3, #1 ; 0x1 - 8017a20: 70bb strb r3, [r7, #2] - 8017a22: 78bb ldrb r3, [r7, #2] - 8017a24: f083 0301 eor.w r3, r3, #1 ; 0x1 - 8017a28: b2db uxtb r3, r3 - 8017a2a: 2b00 cmp r3, #0 - 8017a2c: d103 bne.n 8017a36 <_ZNK8PositioneqERKS_+0x6a> - 8017a2e: f04f 0301 mov.w r3, #1 ; 0x1 - 8017a32: 607b str r3, [r7, #4] - 8017a34: e002 b.n 8017a3c <_ZNK8PositioneqERKS_+0x70> - 8017a36: f04f 0300 mov.w r3, #0 ; 0x0 - 8017a3a: 607b str r3, [r7, #4] - 8017a3c: 687b ldr r3, [r7, #4] -} - 8017a3e: 4618 mov r0, r3 - 8017a40: f107 0710 add.w r7, r7, #16 ; 0x10 - 8017a44: 46bd mov sp, r7 - 8017a46: bd80 pop {r7, pc} - -08017a48 <_ZN8PositionmLEf>: - -bool Position::operator*=(float val) - 8017a48: b580 push {r7, lr} - 8017a4a: b082 sub sp, #8 - 8017a4c: af00 add r7, sp, #0 - 8017a4e: 6078 str r0, [r7, #4] - 8017a50: 6039 str r1, [r7, #0] -{ - this->x = this->x*val; - 8017a52: 687b ldr r3, [r7, #4] - 8017a54: 681b ldr r3, [r3, #0] - 8017a56: 4618 mov r0, r3 - 8017a58: 6839 ldr r1, [r7, #0] - 8017a5a: f015 faad bl 802cfb8 <__aeabi_fmul> - 8017a5e: 4603 mov r3, r0 - 8017a60: 461a mov r2, r3 - 8017a62: 687b ldr r3, [r7, #4] - 8017a64: 601a str r2, [r3, #0] - this->y = this->y*val; - 8017a66: 687b ldr r3, [r7, #4] - 8017a68: 685b ldr r3, [r3, #4] - 8017a6a: 4618 mov r0, r3 - 8017a6c: 6839 ldr r1, [r7, #0] - 8017a6e: f015 faa3 bl 802cfb8 <__aeabi_fmul> - 8017a72: 4603 mov r3, r0 - 8017a74: 461a mov r2, r3 - 8017a76: 687b ldr r3, [r7, #4] - 8017a78: 605a str r2, [r3, #4] - - return true; - 8017a7a: f04f 0301 mov.w r3, #1 ; 0x1 -} - 8017a7e: 4618 mov r0, r3 - 8017a80: f107 0708 add.w r7, r7, #8 ; 0x8 - 8017a84: 46bd mov sp, r7 - 8017a86: bd80 pop {r7, pc} - -08017a88 <_ZNK8Position8getAngleEv>: -Distance Position::getNorme() const -{ - return Distance(sqrt(x*x+y*y)); -} - -Angle Position::getAngle() const - 8017a88: b5b0 push {r4, r5, r7, lr} - 8017a8a: b082 sub sp, #8 - 8017a8c: af00 add r7, sp, #0 - 8017a8e: 6078 str r0, [r7, #4] -{ - return atan2(y,x); - 8017a90: 687b ldr r3, [r7, #4] - 8017a92: 685b ldr r3, [r3, #4] - 8017a94: 4618 mov r0, r3 - 8017a96: f014 fe1d bl 802c6d4 <__aeabi_f2d> - 8017a9a: 4604 mov r4, r0 - 8017a9c: 460d mov r5, r1 - 8017a9e: 687b ldr r3, [r7, #4] - 8017aa0: 681b ldr r3, [r3, #0] - 8017aa2: 4618 mov r0, r3 - 8017aa4: f014 fe16 bl 802c6d4 <__aeabi_f2d> - 8017aa8: 4602 mov r2, r0 - 8017aaa: 460b mov r3, r1 - 8017aac: 4620 mov r0, r4 - 8017aae: 4629 mov r1, r5 - 8017ab0: f018 ff1c bl 80308ec - 8017ab4: 4602 mov r2, r0 - 8017ab6: 460b mov r3, r1 - 8017ab8: 4610 mov r0, r2 - 8017aba: 4619 mov r1, r3 - 8017abc: f015 f91e bl 802ccfc <__aeabi_d2f> - 8017ac0: 4603 mov r3, r0 -} - 8017ac2: 4618 mov r0, r3 - 8017ac4: f107 0708 add.w r7, r7, #8 ; 0x8 - 8017ac8: 46bd mov sp, r7 - 8017aca: bdb0 pop {r4, r5, r7, pc} - -08017acc <_ZNK8Position8getNormeEv>: - this->y = this->y*val; - - return true; -} - -Distance Position::getNorme() const - 8017acc: b590 push {r4, r7, lr} - 8017ace: b083 sub sp, #12 - 8017ad0: af00 add r7, sp, #0 - 8017ad2: 6078 str r0, [r7, #4] -{ - return Distance(sqrt(x*x+y*y)); - 8017ad4: 687b ldr r3, [r7, #4] - 8017ad6: 681a ldr r2, [r3, #0] - 8017ad8: 687b ldr r3, [r7, #4] - 8017ada: 681b ldr r3, [r3, #0] - 8017adc: 4610 mov r0, r2 - 8017ade: 4619 mov r1, r3 - 8017ae0: f015 fa6a bl 802cfb8 <__aeabi_fmul> - 8017ae4: 4603 mov r3, r0 - 8017ae6: 461c mov r4, r3 - 8017ae8: 687b ldr r3, [r7, #4] - 8017aea: 685a ldr r2, [r3, #4] - 8017aec: 687b ldr r3, [r7, #4] - 8017aee: 685b ldr r3, [r3, #4] - 8017af0: 4610 mov r0, r2 - 8017af2: 4619 mov r1, r3 - 8017af4: f015 fa60 bl 802cfb8 <__aeabi_fmul> - 8017af8: 4603 mov r3, r0 - 8017afa: 4620 mov r0, r4 - 8017afc: 4619 mov r1, r3 - 8017afe: f015 f953 bl 802cda8 <__addsf3> - 8017b02: 4603 mov r3, r0 - 8017b04: 4618 mov r0, r3 - 8017b06: f014 fde5 bl 802c6d4 <__aeabi_f2d> - 8017b0a: 4602 mov r2, r0 - 8017b0c: 460b mov r3, r1 - 8017b0e: 4610 mov r0, r2 - 8017b10: 4619 mov r1, r3 - 8017b12: f018 fef1 bl 80308f8 - 8017b16: 4602 mov r2, r0 - 8017b18: 460b mov r3, r1 - 8017b1a: 4610 mov r0, r2 - 8017b1c: 4619 mov r1, r3 - 8017b1e: f015 f8ed bl 802ccfc <__aeabi_d2f> - 8017b22: 4603 mov r3, r0 -} - 8017b24: 4618 mov r0, r3 - 8017b26: f107 070c add.w r7, r7, #12 ; 0xc - 8017b2a: 46bd mov sp, r7 - 8017b2c: bd90 pop {r4, r7, pc} - 8017b2e: 46c0 nop (mov r8, r8) - -08017b30 <_ZNK8Position13presqueEgalesERKS_>: - this->y-=position.y; - - return *this; -} - -bool Position::presqueEgales(const Position &p) const - 8017b30: b580 push {r7, lr} - 8017b32: b084 sub sp, #16 - 8017b34: af00 add r7, sp, #0 - 8017b36: 60f8 str r0, [r7, #12] - 8017b38: 60b9 str r1, [r7, #8] -{ - return (distancePresqueEgales(x, p.x) && distancePresqueEgales(y,p.y)); - 8017b3a: 68fb ldr r3, [r7, #12] - 8017b3c: 681a ldr r2, [r3, #0] - 8017b3e: 68bb ldr r3, [r7, #8] - 8017b40: 681b ldr r3, [r3, #0] - 8017b42: 4610 mov r0, r2 - 8017b44: 4619 mov r1, r3 - 8017b46: f7fc f8eb bl 8013d20 <_Z21distancePresqueEgalesff> - 8017b4a: 4603 mov r3, r0 - 8017b4c: f083 0301 eor.w r3, r3, #1 ; 0x1 - 8017b50: b2db uxtb r3, r3 - 8017b52: 2b00 cmp r3, #0 - 8017b54: d111 bne.n 8017b7a <_ZNK8Position13presqueEgalesERKS_+0x4a> - 8017b56: 68fb ldr r3, [r7, #12] - 8017b58: 685a ldr r2, [r3, #4] - 8017b5a: 68bb ldr r3, [r7, #8] - 8017b5c: 685b ldr r3, [r3, #4] - 8017b5e: 4610 mov r0, r2 - 8017b60: 4619 mov r1, r3 - 8017b62: f7fc f8dd bl 8013d20 <_Z21distancePresqueEgalesff> - 8017b66: 4603 mov r3, r0 - 8017b68: f083 0301 eor.w r3, r3, #1 ; 0x1 - 8017b6c: b2db uxtb r3, r3 - 8017b6e: 2b00 cmp r3, #0 - 8017b70: d103 bne.n 8017b7a <_ZNK8Position13presqueEgalesERKS_+0x4a> - 8017b72: f04f 0301 mov.w r3, #1 ; 0x1 - 8017b76: 607b str r3, [r7, #4] - 8017b78: e002 b.n 8017b80 <_ZNK8Position13presqueEgalesERKS_+0x50> - 8017b7a: f04f 0300 mov.w r3, #0 ; 0x0 - 8017b7e: 607b str r3, [r7, #4] - 8017b80: 687b ldr r3, [r7, #4] -} - 8017b82: 4618 mov r0, r3 - 8017b84: f107 0710 add.w r7, r7, #16 ; 0x10 - 8017b88: 46bd mov sp, r7 - 8017b8a: bd80 pop {r7, pc} - -08017b8c <_ZN17PositionPlusAngleC2ERK8Positionf>: - -PositionPlusAngle::PositionPlusAngle() -{ -} - -PositionPlusAngle::PositionPlusAngle(const Position& pos, Angle ang) - 8017b8c: b480 push {r7} - 8017b8e: b085 sub sp, #20 - 8017b90: af00 add r7, sp, #0 - 8017b92: 60f8 str r0, [r7, #12] - 8017b94: 60b9 str r1, [r7, #8] - 8017b96: 607a str r2, [r7, #4] - : position(pos), angle(ang) - 8017b98: 68fb ldr r3, [r7, #12] - 8017b9a: 68ba ldr r2, [r7, #8] - 8017b9c: 469c mov ip, r3 - 8017b9e: 4613 mov r3, r2 - 8017ba0: e893 0003 ldmia.w r3, {r0, r1} - 8017ba4: e88c 0003 stmia.w ip, {r0, r1} - 8017ba8: 68fa ldr r2, [r7, #12] - 8017baa: 687b ldr r3, [r7, #4] - 8017bac: 6093 str r3, [r2, #8] -{ -} - 8017bae: 68fb ldr r3, [r7, #12] - 8017bb0: 4618 mov r0, r3 - 8017bb2: f107 0714 add.w r7, r7, #20 ; 0x14 - 8017bb6: 46bd mov sp, r7 - 8017bb8: bc80 pop {r7} - 8017bba: 4770 bx lr - -08017bbc <_ZN17PositionPlusAngleC1ERK8Positionf>: - -PositionPlusAngle::PositionPlusAngle() -{ -} - -PositionPlusAngle::PositionPlusAngle(const Position& pos, Angle ang) - 8017bbc: b480 push {r7} - 8017bbe: b085 sub sp, #20 - 8017bc0: af00 add r7, sp, #0 - 8017bc2: 60f8 str r0, [r7, #12] - 8017bc4: 60b9 str r1, [r7, #8] - 8017bc6: 607a str r2, [r7, #4] - : position(pos), angle(ang) - 8017bc8: 68fb ldr r3, [r7, #12] - 8017bca: 68ba ldr r2, [r7, #8] - 8017bcc: 469c mov ip, r3 - 8017bce: 4613 mov r3, r2 - 8017bd0: e893 0003 ldmia.w r3, {r0, r1} - 8017bd4: e88c 0003 stmia.w ip, {r0, r1} - 8017bd8: 68fa ldr r2, [r7, #12] - 8017bda: 687b ldr r3, [r7, #4] - 8017bdc: 6093 str r3, [r2, #8] -{ -} - 8017bde: 68fb ldr r3, [r7, #12] - 8017be0: 4618 mov r0, r3 - 8017be2: f107 0714 add.w r7, r7, #20 ; 0x14 - 8017be6: 46bd mov sp, r7 - 8017be8: bc80 pop {r7} - 8017bea: 4770 bx lr - -08017bec <_ZN17PositionPlusAngleC2ERKS_>: - -PositionPlusAngle::PositionPlusAngle(const PositionPlusAngle& original) - 8017bec: b480 push {r7} - 8017bee: b083 sub sp, #12 - 8017bf0: af00 add r7, sp, #0 - 8017bf2: 6078 str r0, [r7, #4] - 8017bf4: 6039 str r1, [r7, #0] - : position(original.position), angle(original.angle) - 8017bf6: 687b ldr r3, [r7, #4] - 8017bf8: 683a ldr r2, [r7, #0] - 8017bfa: 469c mov ip, r3 - 8017bfc: 4613 mov r3, r2 - 8017bfe: e893 0003 ldmia.w r3, {r0, r1} - 8017c02: e88c 0003 stmia.w ip, {r0, r1} - 8017c06: 683b ldr r3, [r7, #0] - 8017c08: 689a ldr r2, [r3, #8] - 8017c0a: 687b ldr r3, [r7, #4] - 8017c0c: 609a str r2, [r3, #8] -{ -} - 8017c0e: 687b ldr r3, [r7, #4] - 8017c10: 4618 mov r0, r3 - 8017c12: f107 070c add.w r7, r7, #12 ; 0xc - 8017c16: 46bd mov sp, r7 - 8017c18: bc80 pop {r7} - 8017c1a: 4770 bx lr - -08017c1c <_ZN17PositionPlusAngleC1ERKS_>: -PositionPlusAngle::PositionPlusAngle(const Position& pos, Angle ang) - : position(pos), angle(ang) -{ -} - -PositionPlusAngle::PositionPlusAngle(const PositionPlusAngle& original) - 8017c1c: b480 push {r7} - 8017c1e: b083 sub sp, #12 - 8017c20: af00 add r7, sp, #0 - 8017c22: 6078 str r0, [r7, #4] - 8017c24: 6039 str r1, [r7, #0] - : position(original.position), angle(original.angle) - 8017c26: 687b ldr r3, [r7, #4] - 8017c28: 683a ldr r2, [r7, #0] - 8017c2a: 469c mov ip, r3 - 8017c2c: 4613 mov r3, r2 - 8017c2e: e893 0003 ldmia.w r3, {r0, r1} - 8017c32: e88c 0003 stmia.w ip, {r0, r1} - 8017c36: 683b ldr r3, [r7, #0] - 8017c38: 689a ldr r2, [r3, #8] - 8017c3a: 687b ldr r3, [r7, #4] - 8017c3c: 609a str r2, [r3, #8] -{ -} - 8017c3e: 687b ldr r3, [r7, #4] - 8017c40: 4618 mov r0, r3 - 8017c42: f107 070c add.w r7, r7, #12 ; 0xc - 8017c46: 46bd mov sp, r7 - 8017c48: bc80 pop {r7} - 8017c4a: 4770 bx lr - -08017c4c <_ZNK17PositionPlusAngle11getPositionEv>: -bool PositionPlusAngle::presqueEgales(const PositionPlusAngle& positionPlusAngle) const -{ - return(position.presqueEgales(positionPlusAngle.position) && angleEq(angle,positionPlusAngle.angle)); -} - -Position PositionPlusAngle::getPosition() const - 8017c4c: b480 push {r7} - 8017c4e: b083 sub sp, #12 - 8017c50: af00 add r7, sp, #0 - 8017c52: 4684 mov ip, r0 - 8017c54: 6079 str r1, [r7, #4] -{ - return position; - 8017c56: 687b ldr r3, [r7, #4] - 8017c58: 4662 mov r2, ip - 8017c5a: e893 0003 ldmia.w r3, {r0, r1} - 8017c5e: e882 0003 stmia.w r2, {r0, r1} -} - 8017c62: 4660 mov r0, ip - 8017c64: f107 070c add.w r7, r7, #12 ; 0xc - 8017c68: 46bd mov sp, r7 - 8017c6a: bc80 pop {r7} - 8017c6c: 4770 bx lr - 8017c6e: 46c0 nop (mov r8, r8) - -08017c70 <_ZNK17PositionPlusAngle8getAngleEv>: -void PositionPlusAngle::setPosition(const Position& p) -{ - position = p; -} - -Angle PositionPlusAngle::getAngle() const - 8017c70: b480 push {r7} - 8017c72: b083 sub sp, #12 - 8017c74: af00 add r7, sp, #0 - 8017c76: 6078 str r0, [r7, #4] -{ - return angle; - 8017c78: 687b ldr r3, [r7, #4] - 8017c7a: 689b ldr r3, [r3, #8] -} - 8017c7c: 4618 mov r0, r3 - 8017c7e: f107 070c add.w r7, r7, #12 ; 0xc - 8017c82: 46bd mov sp, r7 - 8017c84: bc80 pop {r7} - 8017c86: 4770 bx lr - -08017c88 <_ZN17PositionPlusAngle8setAngleEf>: - -void PositionPlusAngle::setAngle(Angle a) - 8017c88: b480 push {r7} - 8017c8a: b083 sub sp, #12 - 8017c8c: af00 add r7, sp, #0 - 8017c8e: 6078 str r0, [r7, #4] - 8017c90: 6039 str r1, [r7, #0] -{ - angle = a; - 8017c92: 687a ldr r2, [r7, #4] - 8017c94: 683b ldr r3, [r7, #0] - 8017c96: 6093 str r3, [r2, #8] -} - 8017c98: f107 070c add.w r7, r7, #12 ; 0xc - 8017c9c: 46bd mov sp, r7 - 8017c9e: bc80 pop {r7} - 8017ca0: 4770 bx lr - 8017ca2: 46c0 nop (mov r8, r8) - -08017ca4 <_ZN17PositionPlusAngle4setYEf>: -void PositionPlusAngle::setX(Distance X) -{ - position.setX(X); -} - -void PositionPlusAngle::setY(Distance Y) - 8017ca4: b580 push {r7, lr} - 8017ca6: b082 sub sp, #8 - 8017ca8: af00 add r7, sp, #0 - 8017caa: 6078 str r0, [r7, #4] - 8017cac: 6039 str r1, [r7, #0] -{ - position.setY(Y); - 8017cae: 687b ldr r3, [r7, #4] - 8017cb0: 4618 mov r0, r3 - 8017cb2: 6839 ldr r1, [r7, #0] - 8017cb4: f7ff fdc8 bl 8017848 <_ZN8Position4setYEf> -} - 8017cb8: f107 0708 add.w r7, r7, #8 ; 0x8 - 8017cbc: 46bd mov sp, r7 - 8017cbe: bd80 pop {r7, pc} - -08017cc0 <_ZN17PositionPlusAngle4setXEf>: -void PositionPlusAngle::setAngle(Angle a) -{ - angle = a; -} - -void PositionPlusAngle::setX(Distance X) - 8017cc0: b580 push {r7, lr} - 8017cc2: b082 sub sp, #8 - 8017cc4: af00 add r7, sp, #0 - 8017cc6: 6078 str r0, [r7, #4] - 8017cc8: 6039 str r1, [r7, #0] -{ - position.setX(X); - 8017cca: 687b ldr r3, [r7, #4] - 8017ccc: 4618 mov r0, r3 - 8017cce: 6839 ldr r1, [r7, #0] - 8017cd0: f7ff fdac bl 801782c <_ZN8Position4setXEf> -} - 8017cd4: f107 0708 add.w r7, r7, #8 ; 0x8 - 8017cd8: 46bd mov sp, r7 - 8017cda: bd80 pop {r7, pc} - -08017cdc <_ZN17PositionPlusAngle11setPositionERK8Position>: -Position PositionPlusAngle::getPosition() const -{ - return position; -} - -void PositionPlusAngle::setPosition(const Position& p) - 8017cdc: b580 push {r7, lr} - 8017cde: b082 sub sp, #8 - 8017ce0: af00 add r7, sp, #0 - 8017ce2: 6078 str r0, [r7, #4] - 8017ce4: 6039 str r1, [r7, #0] -{ - position = p; - 8017ce6: 687a ldr r2, [r7, #4] - 8017ce8: 683b ldr r3, [r7, #0] - 8017cea: 4610 mov r0, r2 - 8017cec: e893 0006 ldmia.w r3, {r1, r2} - 8017cf0: f7ff fe04 bl 80178fc <_ZN8PositionaSES_> -} - 8017cf4: f107 0708 add.w r7, r7, #8 ; 0x8 - 8017cf8: 46bd mov sp, r7 - 8017cfa: bd80 pop {r7, pc} - -08017cfc <_ZN17PositionPlusAngleaSERKS_>: -PositionPlusAngle PositionPlusAngle::operator-(Distance distance) const -{ - return *this + (-distance); -} - -const PositionPlusAngle& PositionPlusAngle::operator=(const PositionPlusAngle& positionPlusAngle) - 8017cfc: b580 push {r7, lr} - 8017cfe: b082 sub sp, #8 - 8017d00: af00 add r7, sp, #0 - 8017d02: 6078 str r0, [r7, #4] - 8017d04: 6039 str r1, [r7, #0] -{ - position = positionPlusAngle.position; - 8017d06: 687a ldr r2, [r7, #4] - 8017d08: 683b ldr r3, [r7, #0] - 8017d0a: 4610 mov r0, r2 - 8017d0c: e893 0006 ldmia.w r3, {r1, r2} - 8017d10: f7ff fdf4 bl 80178fc <_ZN8PositionaSES_> - angle = positionPlusAngle.angle; - 8017d14: 683b ldr r3, [r7, #0] - 8017d16: 689a ldr r2, [r3, #8] - 8017d18: 687b ldr r3, [r7, #4] - 8017d1a: 609a str r2, [r3, #8] - - return *this; - 8017d1c: 687b ldr r3, [r7, #4] -} - 8017d1e: 4618 mov r0, r3 - 8017d20: f107 0708 add.w r7, r7, #8 ; 0x8 - 8017d24: 46bd mov sp, r7 - 8017d26: bd80 pop {r7, pc} - -08017d28 <_ZNK17PositionPlusAngle13presqueEgalesERKS_>: -bool PositionPlusAngle::operator==(const PositionPlusAngle& p) const -{ - return ((position==p.position) && (angle==p.angle)); -} - -bool PositionPlusAngle::presqueEgales(const PositionPlusAngle& positionPlusAngle) const - 8017d28: b580 push {r7, lr} - 8017d2a: b084 sub sp, #16 - 8017d2c: af00 add r7, sp, #0 - 8017d2e: 60f8 str r0, [r7, #12] - 8017d30: 60b9 str r1, [r7, #8] -{ - return(position.presqueEgales(positionPlusAngle.position) && angleEq(angle,positionPlusAngle.angle)); - 8017d32: 68fb ldr r3, [r7, #12] - 8017d34: 68ba ldr r2, [r7, #8] - 8017d36: 4618 mov r0, r3 - 8017d38: 4611 mov r1, r2 - 8017d3a: f7ff fef9 bl 8017b30 <_ZNK8Position13presqueEgalesERKS_> - 8017d3e: 4603 mov r3, r0 - 8017d40: f083 0301 eor.w r3, r3, #1 ; 0x1 - 8017d44: b2db uxtb r3, r3 - 8017d46: 2b00 cmp r3, #0 - 8017d48: d111 bne.n 8017d6e <_ZNK17PositionPlusAngle13presqueEgalesERKS_+0x46> - 8017d4a: 68fb ldr r3, [r7, #12] - 8017d4c: 689a ldr r2, [r3, #8] - 8017d4e: 68bb ldr r3, [r7, #8] - 8017d50: 689b ldr r3, [r3, #8] - 8017d52: 4610 mov r0, r2 - 8017d54: 4619 mov r1, r3 - 8017d56: f7f8 fba3 bl 80104a0 <_Z7angleEqff> - 8017d5a: 4603 mov r3, r0 - 8017d5c: f083 0301 eor.w r3, r3, #1 ; 0x1 - 8017d60: b2db uxtb r3, r3 - 8017d62: 2b00 cmp r3, #0 - 8017d64: d103 bne.n 8017d6e <_ZNK17PositionPlusAngle13presqueEgalesERKS_+0x46> - 8017d66: f04f 0301 mov.w r3, #1 ; 0x1 - 8017d6a: 607b str r3, [r7, #4] - 8017d6c: e002 b.n 8017d74 <_ZNK17PositionPlusAngle13presqueEgalesERKS_+0x4c> - 8017d6e: f04f 0300 mov.w r3, #0 ; 0x0 - 8017d72: 607b str r3, [r7, #4] - 8017d74: 687b ldr r3, [r7, #4] -} - 8017d76: 4618 mov r0, r3 - 8017d78: f107 0710 add.w r7, r7, #16 ; 0x10 - 8017d7c: 46bd mov sp, r7 - 8017d7e: bd80 pop {r7, pc} - -08017d80 <_ZNK17PositionPlusAngleeqERKS_>: - angle = positionPlusAngle.angle; - - return *this; -} - -bool PositionPlusAngle::operator==(const PositionPlusAngle& p) const - 8017d80: b580 push {r7, lr} - 8017d82: b084 sub sp, #16 - 8017d84: af00 add r7, sp, #0 - 8017d86: 60f8 str r0, [r7, #12] - 8017d88: 60b9 str r1, [r7, #8] -{ - return ((position==p.position) && (angle==p.angle)); - 8017d8a: 68fb ldr r3, [r7, #12] - 8017d8c: 68ba ldr r2, [r7, #8] - 8017d8e: 4618 mov r0, r3 - 8017d90: 4611 mov r1, r2 - 8017d92: f7ff fe1b bl 80179cc <_ZNK8PositioneqERKS_> - 8017d96: 4603 mov r3, r0 - 8017d98: f083 0301 eor.w r3, r3, #1 ; 0x1 - 8017d9c: b2db uxtb r3, r3 - 8017d9e: 2b00 cmp r3, #0 - 8017da0: d119 bne.n 8017dd6 <_ZNK17PositionPlusAngleeqERKS_+0x56> - 8017da2: 68fb ldr r3, [r7, #12] - 8017da4: 689a ldr r2, [r3, #8] - 8017da6: 68bb ldr r3, [r7, #8] - 8017da8: 6899 ldr r1, [r3, #8] - 8017daa: f04f 0300 mov.w r3, #0 ; 0x0 - 8017dae: 70fb strb r3, [r7, #3] - 8017db0: 4610 mov r0, r2 - 8017db2: f015 fa93 bl 802d2dc <__aeabi_fcmpeq> - 8017db6: 4603 mov r3, r0 - 8017db8: 2b00 cmp r3, #0 - 8017dba: d002 beq.n 8017dc2 <_ZNK17PositionPlusAngleeqERKS_+0x42> - 8017dbc: f04f 0301 mov.w r3, #1 ; 0x1 - 8017dc0: 70fb strb r3, [r7, #3] - 8017dc2: 78fb ldrb r3, [r7, #3] - 8017dc4: f083 0301 eor.w r3, r3, #1 ; 0x1 - 8017dc8: b2db uxtb r3, r3 - 8017dca: 2b00 cmp r3, #0 - 8017dcc: d103 bne.n 8017dd6 <_ZNK17PositionPlusAngleeqERKS_+0x56> - 8017dce: f04f 0301 mov.w r3, #1 ; 0x1 - 8017dd2: 607b str r3, [r7, #4] - 8017dd4: e002 b.n 8017ddc <_ZNK17PositionPlusAngleeqERKS_+0x5c> - 8017dd6: f04f 0300 mov.w r3, #0 ; 0x0 - 8017dda: 607b str r3, [r7, #4] - 8017ddc: 687b ldr r3, [r7, #4] -} - 8017dde: 4618 mov r0, r3 - 8017de0: f107 0710 add.w r7, r7, #16 ; 0x10 - 8017de4: 46bd mov sp, r7 - 8017de6: bd80 pop {r7, pc} - -08017de8 <_ZNK17PositionPlusAngleplERKS_>: -PositionPlusAngle PositionPlusAngle::operator+(Distance distance) const -{ - return PositionPlusAngle(Position(position.getX() + distance*cos(angle), position.getY() + distance*sin(angle)), angle); -} - -PositionPlusAngle PositionPlusAngle::operator+(const PositionPlusAngle& posAngAdd) const - 8017de8: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 8017dec: b088 sub sp, #32 - 8017dee: af00 add r7, sp, #0 - 8017df0: 4605 mov r5, r0 - 8017df2: 6079 str r1, [r7, #4] - 8017df4: 603a str r2, [r7, #0] -{ - return PositionPlusAngle(Position(position.getX() + posAngAdd.getPosition().getX(), position.getY() + posAngAdd.getPosition().getY()), angle + posAngAdd.getAngle()); - 8017df6: 462e mov r6, r5 - 8017df8: 687b ldr r3, [r7, #4] - 8017dfa: 4618 mov r0, r3 - 8017dfc: f7ff fcfe bl 80177fc <_ZNK8Position4getXEv> - 8017e00: 4604 mov r4, r0 - 8017e02: f107 0310 add.w r3, r7, #16 ; 0x10 - 8017e06: 4618 mov r0, r3 - 8017e08: 6839 ldr r1, [r7, #0] - 8017e0a: f7ff ff1f bl 8017c4c <_ZNK17PositionPlusAngle11getPositionEv> - 8017e0e: f107 0310 add.w r3, r7, #16 ; 0x10 - 8017e12: 4618 mov r0, r3 - 8017e14: f7ff fcf2 bl 80177fc <_ZNK8Position4getXEv> - 8017e18: 4603 mov r3, r0 - 8017e1a: 4620 mov r0, r4 - 8017e1c: 4619 mov r1, r3 - 8017e1e: f014 ffc3 bl 802cda8 <__addsf3> - 8017e22: 4603 mov r3, r0 - 8017e24: 4698 mov r8, r3 - 8017e26: 687b ldr r3, [r7, #4] - 8017e28: 4618 mov r0, r3 - 8017e2a: f7ff fcf3 bl 8017814 <_ZNK8Position4getYEv> - 8017e2e: 4604 mov r4, r0 - 8017e30: f107 0318 add.w r3, r7, #24 ; 0x18 - 8017e34: 4618 mov r0, r3 - 8017e36: 6839 ldr r1, [r7, #0] - 8017e38: f7ff ff08 bl 8017c4c <_ZNK17PositionPlusAngle11getPositionEv> - 8017e3c: f107 0318 add.w r3, r7, #24 ; 0x18 - 8017e40: 4618 mov r0, r3 - 8017e42: f7ff fce7 bl 8017814 <_ZNK8Position4getYEv> - 8017e46: 4603 mov r3, r0 - 8017e48: 4620 mov r0, r4 - 8017e4a: 4619 mov r1, r3 - 8017e4c: f014 ffac bl 802cda8 <__addsf3> - 8017e50: 4603 mov r3, r0 - 8017e52: 461a mov r2, r3 - 8017e54: f107 0308 add.w r3, r7, #8 ; 0x8 - 8017e58: 4618 mov r0, r3 - 8017e5a: 4641 mov r1, r8 - 8017e5c: f04f 0301 mov.w r3, #1 ; 0x1 - 8017e60: f7ff fca6 bl 80177b0 <_ZN8PositionC1Effb> - 8017e64: 687b ldr r3, [r7, #4] - 8017e66: 689c ldr r4, [r3, #8] - 8017e68: 6838 ldr r0, [r7, #0] - 8017e6a: f7ff ff01 bl 8017c70 <_ZNK17PositionPlusAngle8getAngleEv> - 8017e6e: 4603 mov r3, r0 - 8017e70: 4620 mov r0, r4 - 8017e72: 4619 mov r1, r3 - 8017e74: f014 ff98 bl 802cda8 <__addsf3> - 8017e78: 4603 mov r3, r0 - 8017e7a: 461a mov r2, r3 - 8017e7c: f107 0308 add.w r3, r7, #8 ; 0x8 - 8017e80: 4630 mov r0, r6 - 8017e82: 4619 mov r1, r3 - 8017e84: f7ff fe9a bl 8017bbc <_ZN17PositionPlusAngleC1ERK8Positionf> -} - 8017e88: 4628 mov r0, r5 - 8017e8a: 4628 mov r0, r5 - 8017e8c: f107 0720 add.w r7, r7, #32 ; 0x20 - 8017e90: 46bd mov sp, r7 - 8017e92: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - 8017e96: 46c0 nop (mov r8, r8) - -08017e98 <_ZNK17PositionPlusAngleplEf>: -PositionPlusAngle::PositionPlusAngle(const PositionPlusAngle& original) - : position(original.position), angle(original.angle) -{ -} - -PositionPlusAngle PositionPlusAngle::operator+(Distance distance) const - 8017e98: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 8017e9c: b085 sub sp, #20 - 8017e9e: af00 add r7, sp, #0 - 8017ea0: 4606 mov r6, r0 - 8017ea2: 6079 str r1, [r7, #4] - 8017ea4: 603a str r2, [r7, #0] -{ - return PositionPlusAngle(Position(position.getX() + distance*cos(angle), position.getY() + distance*sin(angle)), angle); - 8017ea6: 46b2 mov sl, r6 - 8017ea8: 687b ldr r3, [r7, #4] - 8017eaa: 4618 mov r0, r3 - 8017eac: f7ff fca6 bl 80177fc <_ZNK8Position4getXEv> - 8017eb0: 4603 mov r3, r0 - 8017eb2: 4618 mov r0, r3 - 8017eb4: f014 fc0e bl 802c6d4 <__aeabi_f2d> - 8017eb8: 4680 mov r8, r0 - 8017eba: 4689 mov r9, r1 - 8017ebc: 6838 ldr r0, [r7, #0] - 8017ebe: f014 fc09 bl 802c6d4 <__aeabi_f2d> - 8017ec2: 4604 mov r4, r0 - 8017ec4: 460d mov r5, r1 - 8017ec6: 687b ldr r3, [r7, #4] - 8017ec8: 689b ldr r3, [r3, #8] - 8017eca: 4618 mov r0, r3 - 8017ecc: f014 fc02 bl 802c6d4 <__aeabi_f2d> - 8017ed0: 4602 mov r2, r0 - 8017ed2: 460b mov r3, r1 - 8017ed4: 4610 mov r0, r2 - 8017ed6: 4619 mov r1, r3 - 8017ed8: f018 fc80 bl 80307dc - 8017edc: 4602 mov r2, r0 - 8017ede: 460b mov r3, r1 - 8017ee0: 4620 mov r0, r4 - 8017ee2: 4629 mov r1, r5 - 8017ee4: f014 fc4a bl 802c77c <__aeabi_dmul> - 8017ee8: 4602 mov r2, r0 - 8017eea: 460b mov r3, r1 - 8017eec: 4640 mov r0, r8 - 8017eee: 4649 mov r1, r9 - 8017ef0: f014 fa92 bl 802c418 <__adddf3> - 8017ef4: 4602 mov r2, r0 - 8017ef6: 460b mov r3, r1 - 8017ef8: 4610 mov r0, r2 - 8017efa: 4619 mov r1, r3 - 8017efc: f014 fefe bl 802ccfc <__aeabi_d2f> - 8017f00: 4683 mov fp, r0 - 8017f02: 687b ldr r3, [r7, #4] - 8017f04: 4618 mov r0, r3 - 8017f06: f7ff fc85 bl 8017814 <_ZNK8Position4getYEv> - 8017f0a: 4603 mov r3, r0 - 8017f0c: 4618 mov r0, r3 - 8017f0e: f014 fbe1 bl 802c6d4 <__aeabi_f2d> - 8017f12: 4680 mov r8, r0 - 8017f14: 4689 mov r9, r1 - 8017f16: 6838 ldr r0, [r7, #0] - 8017f18: f014 fbdc bl 802c6d4 <__aeabi_f2d> - 8017f1c: 4604 mov r4, r0 - 8017f1e: 460d mov r5, r1 - 8017f20: 687b ldr r3, [r7, #4] - 8017f22: 689b ldr r3, [r3, #8] - 8017f24: 4618 mov r0, r3 - 8017f26: f014 fbd5 bl 802c6d4 <__aeabi_f2d> - 8017f2a: 4602 mov r2, r0 - 8017f2c: 460b mov r3, r1 - 8017f2e: 4610 mov r0, r2 - 8017f30: 4619 mov r1, r3 - 8017f32: f018 fc95 bl 8030860 - 8017f36: 4602 mov r2, r0 - 8017f38: 460b mov r3, r1 - 8017f3a: 4620 mov r0, r4 - 8017f3c: 4629 mov r1, r5 - 8017f3e: f014 fc1d bl 802c77c <__aeabi_dmul> - 8017f42: 4602 mov r2, r0 - 8017f44: 460b mov r3, r1 - 8017f46: 4640 mov r0, r8 - 8017f48: 4649 mov r1, r9 - 8017f4a: f014 fa65 bl 802c418 <__adddf3> - 8017f4e: 4602 mov r2, r0 - 8017f50: 460b mov r3, r1 - 8017f52: 4610 mov r0, r2 - 8017f54: 4619 mov r1, r3 - 8017f56: f014 fed1 bl 802ccfc <__aeabi_d2f> - 8017f5a: 4602 mov r2, r0 - 8017f5c: f107 0308 add.w r3, r7, #8 ; 0x8 - 8017f60: 4618 mov r0, r3 - 8017f62: 4659 mov r1, fp - 8017f64: f04f 0301 mov.w r3, #1 ; 0x1 - 8017f68: f7ff fc22 bl 80177b0 <_ZN8PositionC1Effb> - 8017f6c: 687b ldr r3, [r7, #4] - 8017f6e: 689a ldr r2, [r3, #8] - 8017f70: f107 0308 add.w r3, r7, #8 ; 0x8 - 8017f74: 4650 mov r0, sl - 8017f76: 4619 mov r1, r3 - 8017f78: f7ff fe20 bl 8017bbc <_ZN17PositionPlusAngleC1ERK8Positionf> -} - 8017f7c: 4630 mov r0, r6 - 8017f7e: 4630 mov r0, r6 - 8017f80: f107 0714 add.w r7, r7, #20 ; 0x14 - 8017f84: 46bd mov sp, r7 - 8017f86: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} - 8017f8a: 46c0 nop (mov r8, r8) - -08017f8c <_ZNK17PositionPlusAnglemiEf>: -PositionPlusAngle PositionPlusAngle::operator+(const PositionPlusAngle& posAngAdd) const -{ - return PositionPlusAngle(Position(position.getX() + posAngAdd.getPosition().getX(), position.getY() + posAngAdd.getPosition().getY()), angle + posAngAdd.getAngle()); -} - -PositionPlusAngle PositionPlusAngle::operator-(Distance distance) const - 8017f8c: b590 push {r4, r7, lr} - 8017f8e: b083 sub sp, #12 - 8017f90: af00 add r7, sp, #0 - 8017f92: 4604 mov r4, r0 - 8017f94: 6079 str r1, [r7, #4] - 8017f96: 603a str r2, [r7, #0] -{ - return *this + (-distance); - 8017f98: 4622 mov r2, r4 - 8017f9a: 683b ldr r3, [r7, #0] - 8017f9c: f083 4300 eor.w r3, r3, #2147483648 ; 0x80000000 - 8017fa0: 4610 mov r0, r2 - 8017fa2: 6879 ldr r1, [r7, #4] - 8017fa4: 461a mov r2, r3 - 8017fa6: f7ff ff77 bl 8017e98 <_ZNK17PositionPlusAngleplEf> -} - 8017faa: 4620 mov r0, r4 - 8017fac: 4620 mov r0, r4 - 8017fae: f107 070c add.w r7, r7, #12 ; 0xc - 8017fb2: 46bd mov sp, r7 - 8017fb4: bd90 pop {r4, r7, pc} - 8017fb6: 46c0 nop (mov r8, r8) - -08017fb8 <_ZN17PositionPlusAngleC1Ev>: -#include - -#include "positionPlusAngle.h" - -PositionPlusAngle::PositionPlusAngle() - 8017fb8: b580 push {r7, lr} - 8017fba: b082 sub sp, #8 - 8017fbc: af00 add r7, sp, #0 - 8017fbe: 6078 str r0, [r7, #4] - 8017fc0: 687b ldr r3, [r7, #4] - 8017fc2: 4618 mov r0, r3 - 8017fc4: f7ff fbba bl 801773c <_ZN8PositionC1Ev> -{ -} - 8017fc8: 687b ldr r3, [r7, #4] - 8017fca: 4618 mov r0, r3 - 8017fcc: f107 0708 add.w r7, r7, #8 ; 0x8 - 8017fd0: 46bd mov sp, r7 - 8017fd2: bd80 pop {r7, pc} - -08017fd4 <_ZN17PositionPlusAngleC2Ev>: -#include - -#include "positionPlusAngle.h" - -PositionPlusAngle::PositionPlusAngle() - 8017fd4: b580 push {r7, lr} - 8017fd6: b082 sub sp, #8 - 8017fd8: af00 add r7, sp, #0 - 8017fda: 6078 str r0, [r7, #4] - 8017fdc: 687b ldr r3, [r7, #4] - 8017fde: 4618 mov r0, r3 - 8017fe0: f7ff fbac bl 801773c <_ZN8PositionC1Ev> -{ -} - 8017fe4: 687b ldr r3, [r7, #4] - 8017fe6: 4618 mov r0, r3 - 8017fe8: f107 0708 add.w r7, r7, #8 ; 0x8 - 8017fec: 46bd mov sp, r7 - 8017fee: bd80 pop {r7, pc} - -08017ff0 <_ZN10ActionGoTo16collisionAvoidedEv>: - status = -1; - } - return status; -} - -void ActionGoTo::collisionAvoided() - 8017ff0: b480 push {r7} - 8017ff2: b083 sub sp, #12 - 8017ff4: af00 add r7, sp, #0 - 8017ff6: 6078 str r0, [r7, #4] -{ - //if (status > 0) - this->status = 0; - 8017ff8: 687a ldr r2, [r7, #4] - 8017ffa: f04f 0300 mov.w r3, #0 ; 0x0 - 8017ffe: 60d3 str r3, [r2, #12] -} - 8018000: f107 070c add.w r7, r7, #12 ; 0xc - 8018004: 46bd mov sp, r7 - 8018006: bc80 pop {r7} - 8018008: 4770 bx lr - 801800a: 46c0 nop (mov r8, r8) - -0801800c <_ZN10ActionGoTo5resetEv>: - -void ActionGoTo::reset() - 801800c: b480 push {r7} - 801800e: b083 sub sp, #12 - 8018010: af00 add r7, sp, #0 - 8018012: 6078 str r0, [r7, #4] -{ - this->status = 0; - 8018014: 687a ldr r2, [r7, #4] - 8018016: f04f 0300 mov.w r3, #0 ; 0x0 - 801801a: 60d3 str r3, [r2, #12] -} - 801801c: f107 070c add.w r7, r7, #12 ; 0xc - 8018020: 46bd mov sp, r7 - 8018022: bc80 pop {r7} - 8018024: 4770 bx lr - 8018026: 46c0 nop (mov r8, r8) - -08018028 <_ZN10ActionGoTo6updateEv>: -ActionGoTo::~ActionGoTo() -{ - //dtor -} - -int ActionGoTo::update() - 8018028: b590 push {r4, r7, lr} - 801802a: b099 sub sp, #100 - 801802c: af02 add r7, sp, #8 - 801802e: 6078 str r0, [r7, #4] -{ - if (status == 0) - 8018030: 687b ldr r3, [r7, #4] - 8018032: 68db ldr r3, [r3, #12] - 8018034: 2b00 cmp r3, #0 - 8018036: d126 bne.n 8018086 <_ZN10ActionGoTo6updateEv+0x5e> - { -#ifndef ROBOTHW - qDebug() << "actionGoTo"; -#endif - //allumerLED2(); - Position pos = Odometrie::odometrie->getPos().getPosition(); - 8018038: 4b4c ldr r3, [pc, #304] (801816c <_ZN10ActionGoTo6updateEv+0x144>) - 801803a: 681a ldr r2, [r3, #0] - 801803c: f107 0324 add.w r3, r7, #36 ; 0x24 - 8018040: 4618 mov r0, r3 - 8018042: 4611 mov r1, r2 - 8018044: f7fa fdac bl 8012ba0 <_ZNK9Odometrie6getPosEv> - 8018048: f107 031c add.w r3, r7, #28 ; 0x1c - 801804c: f107 0224 add.w r2, r7, #36 ; 0x24 - 8018050: 4618 mov r0, r3 - 8018052: 4611 mov r1, r2 - 8018054: f7ff fdfa bl 8017c4c <_ZNK17PositionPlusAngle11getPositionEv> - //Position vect = goalPosition - pos; - //vect *= (1.f/vect.getNorme()); - - goingCurve = false;//StrategieV2::getJustAvoided(); - 8018058: 687a ldr r2, [r7, #4] - 801805a: f04f 0300 mov.w r3, #0 ; 0x0 - 801805e: 7713 strb r3, [r2, #28] - StrategieV2::setCurrentGoal(intermediateGoalPosition, true); // a changer selon le servo qui détecte - status = 1; - } - else*/ - { - StrategieV2::setCurrentGoal(goalPosition, goBack); - 8018060: 687b ldr r3, [r7, #4] - 8018062: f893 c010 ldrb.w ip, [r3, #16] - 8018066: 687a ldr r2, [r7, #4] - 8018068: 4b41 ldr r3, [pc, #260] (8018170 <_ZN10ActionGoTo6updateEv+0x148>) - 801806a: 9300 str r3, [sp, #0] - 801806c: f102 0304 add.w r3, r2, #4 ; 0x4 - 8018070: e893 0003 ldmia.w r3, {r0, r1} - 8018074: 4662 mov r2, ip - 8018076: 4b3f ldr r3, [pc, #252] (8018174 <_ZN10ActionGoTo6updateEv+0x14c>) - 8018078: f007 fd94 bl 801fba4 <_ZN11StrategieV214setCurrentGoalE8Positionbff> - status = 3; - 801807c: 687a ldr r2, [r7, #4] - 801807e: f04f 0303 mov.w r3, #3 ; 0x3 - 8018082: 60d3 str r3, [r2, #12] - 8018084: e06b b.n 801815e <_ZN10ActionGoTo6updateEv+0x136> - } - - } - else if (status ==1) // on recule - 8018086: 687b ldr r3, [r7, #4] - 8018088: 68db ldr r3, [r3, #12] - 801808a: 2b01 cmp r3, #1 - 801808c: d129 bne.n 80180e2 <_ZN10ActionGoTo6updateEv+0xba> - { - Position vect = intermediateGoalPosition - Odometrie::odometrie->getPos().getPosition(); - 801808e: 687b ldr r3, [r7, #4] - 8018090: f103 0428 add.w r4, r3, #40 ; 0x28 - 8018094: 4b35 ldr r3, [pc, #212] (801816c <_ZN10ActionGoTo6updateEv+0x144>) - 8018096: 681a ldr r2, [r3, #0] - 8018098: f107 0338 add.w r3, r7, #56 ; 0x38 - 801809c: 4618 mov r0, r3 - 801809e: 4611 mov r1, r2 - 80180a0: f7fa fd7e bl 8012ba0 <_ZNK9Odometrie6getPosEv> - 80180a4: f107 0330 add.w r3, r7, #48 ; 0x30 - 80180a8: f107 0238 add.w r2, r7, #56 ; 0x38 - 80180ac: 4618 mov r0, r3 - 80180ae: 4611 mov r1, r2 - 80180b0: f7ff fdcc bl 8017c4c <_ZNK17PositionPlusAngle11getPositionEv> - 80180b4: f107 0314 add.w r3, r7, #20 ; 0x14 - 80180b8: f107 0230 add.w r2, r7, #48 ; 0x30 - 80180bc: 4618 mov r0, r3 - 80180be: 4621 mov r1, r4 - 80180c0: f7ff fbf6 bl 80178b0 <_ZNK8PositionmiERKS_> - //std::cout << "status = 1 " << vect.getNorme() << std::endl; - if (vect.getNorme() < precision) // now we have - 80180c4: f107 0314 add.w r3, r7, #20 ; 0x14 - 80180c8: 4618 mov r0, r3 - 80180ca: f7ff fcff bl 8017acc <_ZNK8Position8getNormeEv> - 80180ce: 4602 mov r2, r0 - 80180d0: 687b ldr r3, [r7, #4] - 80180d2: 6a5b ldr r3, [r3, #36] - 80180d4: 4610 mov r0, r2 - 80180d6: 4619 mov r1, r3 - 80180d8: f015 f90a bl 802d2f0 <__aeabi_fcmplt> - 80180dc: 4603 mov r3, r0 - 80180de: 2b00 cmp r3, #0 - 80180e0: e03d b.n 801815e <_ZN10ActionGoTo6updateEv+0x136> - sign = -1; - else if (vect.getX() < 0) - vect = vect + Position(500*vect.getY(), 500*vect.getX());*/ - } - } - else if (status == 2) - 80180e2: 687b ldr r3, [r7, #4] - 80180e4: 68db ldr r3, [r3, #12] - 80180e6: 2b02 cmp r3, #2 - 80180e8: d039 beq.n 801815e <_ZN10ActionGoTo6updateEv+0x136> - StrategieV2::setCurrentGoal(goalPosition, goBack); - status = 3; - } - }*/ - } - else if (status == 3) - 80180ea: 687b ldr r3, [r7, #4] - 80180ec: 68db ldr r3, [r3, #12] - 80180ee: 2b03 cmp r3, #3 - 80180f0: d135 bne.n 801815e <_ZN10ActionGoTo6updateEv+0x136> - { -// allumerLED(); - //std::cout << "status = 3" << std::endl; - Position vect = goalPosition - Odometrie::odometrie->getPos().getPosition(); - 80180f2: 687b ldr r3, [r7, #4] - 80180f4: f103 0404 add.w r4, r3, #4 ; 0x4 - 80180f8: 4b1c ldr r3, [pc, #112] (801816c <_ZN10ActionGoTo6updateEv+0x144>) - 80180fa: 681a ldr r2, [r3, #0] - 80180fc: f107 034c add.w r3, r7, #76 ; 0x4c - 8018100: 4618 mov r0, r3 - 8018102: 4611 mov r1, r2 - 8018104: f7fa fd4c bl 8012ba0 <_ZNK9Odometrie6getPosEv> - 8018108: f107 0344 add.w r3, r7, #68 ; 0x44 - 801810c: f107 024c add.w r2, r7, #76 ; 0x4c - 8018110: 4618 mov r0, r3 - 8018112: 4611 mov r1, r2 - 8018114: f7ff fd9a bl 8017c4c <_ZNK17PositionPlusAngle11getPositionEv> - 8018118: f107 030c add.w r3, r7, #12 ; 0xc - 801811c: f107 0244 add.w r2, r7, #68 ; 0x44 - 8018120: 4618 mov r0, r3 - 8018122: 4621 mov r1, r4 - 8018124: f7ff fbc4 bl 80178b0 <_ZNK8PositionmiERKS_> - //std::cout << vect.getNorme() << std::endl; - //std::cout << Odometrie::odometrie->getPos().getPosition().getX() << " "<< Odometrie::odometrie->getPos().getPosition().getY() << std::endl; - if (vect.getNorme() < precision) - 8018128: f107 030c add.w r3, r7, #12 ; 0xc - 801812c: 4618 mov r0, r3 - 801812e: f7ff fccd bl 8017acc <_ZNK8Position8getNormeEv> - 8018132: 4602 mov r2, r0 - 8018134: 687b ldr r3, [r7, #4] - 8018136: 6a59 ldr r1, [r3, #36] - 8018138: f04f 0300 mov.w r3, #0 ; 0x0 - 801813c: 70fb strb r3, [r7, #3] - 801813e: 4610 mov r0, r2 - 8018140: f015 f8d6 bl 802d2f0 <__aeabi_fcmplt> - 8018144: 4603 mov r3, r0 - 8018146: 2b00 cmp r3, #0 - 8018148: d002 beq.n 8018150 <_ZN10ActionGoTo6updateEv+0x128> - 801814a: f04f 0301 mov.w r3, #1 ; 0x1 - 801814e: 70fb strb r3, [r7, #3] - 8018150: 78fb ldrb r3, [r7, #3] - 8018152: 2b00 cmp r3, #0 - 8018154: d003 beq.n 801815e <_ZN10ActionGoTo6updateEv+0x136> - status = -1; - 8018156: 687a ldr r2, [r7, #4] - 8018158: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 801815c: 60d3 str r3, [r2, #12] - } - return status; - 801815e: 687b ldr r3, [r7, #4] - 8018160: 68db ldr r3, [r3, #12] -} - 8018162: 4618 mov r0, r3 - 8018164: f107 075c add.w r7, r7, #92 ; 0x5c - 8018168: 46bd mov sp, r7 - 801816a: bd90 pop {r4, r7, pc} - 801816c: 20000590 .word 0x20000590 - 8018170: c2c80000 .word 0xc2c80000 - 8018174: 3f800000 .word 0x3f800000 - -08018178 <_ZN10ActionGoToD0Ev>: - goingCurve = false; - curveFactor = 1; - precision = _precision; -} - -ActionGoTo::~ActionGoTo() - 8018178: b580 push {r7, lr} - 801817a: b082 sub sp, #8 - 801817c: af00 add r7, sp, #0 - 801817e: 6078 str r0, [r7, #4] - 8018180: 687a ldr r2, [r7, #4] - 8018182: 4b0a ldr r3, [pc, #40] (80181ac <_ZN10ActionGoToD0Ev+0x34>) - 8018184: 6013 str r3, [r2, #0] -{ - //dtor -} - 8018186: 687b ldr r3, [r7, #4] - 8018188: 4618 mov r0, r3 - 801818a: f003 ff41 bl 801c010 <_ZN17MediumLevelActionD2Ev> - 801818e: f04f 0301 mov.w r3, #1 ; 0x1 - 8018192: b2db uxtb r3, r3 - 8018194: 2b00 cmp r3, #0 - 8018196: d002 beq.n 801819e <_ZN10ActionGoToD0Ev+0x26> - 8018198: 6878 ldr r0, [r7, #4] - 801819a: f7ff fa37 bl 801760c <_ZdlPv> - 801819e: 687b ldr r3, [r7, #4] - 80181a0: 4618 mov r0, r3 - 80181a2: f107 0708 add.w r7, r7, #8 ; 0x8 - 80181a6: 46bd mov sp, r7 - 80181a8: bd80 pop {r7, pc} - 80181aa: 46c0 nop (mov r8, r8) - 80181ac: 08034040 .word 0x08034040 - -080181b0 <_ZN10ActionGoToD1Ev>: - goingCurve = false; - curveFactor = 1; - precision = _precision; -} - -ActionGoTo::~ActionGoTo() - 80181b0: b580 push {r7, lr} - 80181b2: b082 sub sp, #8 - 80181b4: af00 add r7, sp, #0 - 80181b6: 6078 str r0, [r7, #4] - 80181b8: 687a ldr r2, [r7, #4] - 80181ba: 4b0a ldr r3, [pc, #40] (80181e4 <_ZN10ActionGoToD1Ev+0x34>) - 80181bc: 6013 str r3, [r2, #0] -{ - //dtor -} - 80181be: 687b ldr r3, [r7, #4] - 80181c0: 4618 mov r0, r3 - 80181c2: f003 ff25 bl 801c010 <_ZN17MediumLevelActionD2Ev> - 80181c6: f04f 0300 mov.w r3, #0 ; 0x0 - 80181ca: b2db uxtb r3, r3 - 80181cc: 2b00 cmp r3, #0 - 80181ce: d002 beq.n 80181d6 <_ZN10ActionGoToD1Ev+0x26> - 80181d0: 6878 ldr r0, [r7, #4] - 80181d2: f7ff fa1b bl 801760c <_ZdlPv> - 80181d6: 687b ldr r3, [r7, #4] - 80181d8: 4618 mov r0, r3 - 80181da: f107 0708 add.w r7, r7, #8 ; 0x8 - 80181de: 46bd mov sp, r7 - 80181e0: bd80 pop {r7, pc} - 80181e2: 46c0 nop (mov r8, r8) - 80181e4: 08034040 .word 0x08034040 - -080181e8 <_ZN10ActionGoToD2Ev>: - goingCurve = false; - curveFactor = 1; - precision = _precision; -} - -ActionGoTo::~ActionGoTo() - 80181e8: b580 push {r7, lr} - 80181ea: b082 sub sp, #8 - 80181ec: af00 add r7, sp, #0 - 80181ee: 6078 str r0, [r7, #4] - 80181f0: 687a ldr r2, [r7, #4] - 80181f2: 4b0a ldr r3, [pc, #40] (801821c <_ZN10ActionGoToD2Ev+0x34>) - 80181f4: 6013 str r3, [r2, #0] -{ - //dtor -} - 80181f6: 687b ldr r3, [r7, #4] - 80181f8: 4618 mov r0, r3 - 80181fa: f003 ff09 bl 801c010 <_ZN17MediumLevelActionD2Ev> - 80181fe: f04f 0300 mov.w r3, #0 ; 0x0 - 8018202: b2db uxtb r3, r3 - 8018204: 2b00 cmp r3, #0 - 8018206: d002 beq.n 801820e <_ZN10ActionGoToD2Ev+0x26> - 8018208: 6878 ldr r0, [r7, #4] - 801820a: f7ff f9ff bl 801760c <_ZdlPv> - 801820e: 687b ldr r3, [r7, #4] - 8018210: 4618 mov r0, r3 - 8018212: f107 0708 add.w r7, r7, #8 ; 0x8 - 8018216: 46bd mov sp, r7 - 8018218: bd80 pop {r7, pc} - 801821a: 46c0 nop (mov r8, r8) - 801821c: 08034040 .word 0x08034040 - -08018220 <_ZN10ActionGoToC1E8Positionbf>: - 1, 1, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 1, 1, // 2 - 1, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 1, // 1 - 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, // 0 - };//0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 - */ -ActionGoTo::ActionGoTo(Position goalPos, bool goBack1, float _precision) : MediumLevelAction(goalPos) - 8018220: b580 push {r7, lr} - 8018222: b084 sub sp, #16 - 8018224: af00 add r7, sp, #0 - 8018226: 60f8 str r0, [r7, #12] - 8018228: f107 0004 add.w r0, r7, #4 ; 0x4 - 801822c: e880 0006 stmia.w r0, {r1, r2} - 8018230: 70fb strb r3, [r7, #3] - 8018232: 68fb ldr r3, [r7, #12] - 8018234: 4618 mov r0, r3 - 8018236: f107 0304 add.w r3, r7, #4 ; 0x4 - 801823a: e893 0006 ldmia.w r3, {r1, r2} - 801823e: f003 ff27 bl 801c090 <_ZN17MediumLevelActionC2E8Position> - 8018242: 68fa ldr r2, [r7, #12] - 8018244: 4b0f ldr r3, [pc, #60] (8018284 <_ZN10ActionGoToC1E8Positionbf+0x64>) - 8018246: 6013 str r3, [r2, #0] - 8018248: 68fb ldr r3, [r7, #12] - 801824a: f103 0328 add.w r3, r3, #40 ; 0x28 - 801824e: 4618 mov r0, r3 - 8018250: f7ff fa74 bl 801773c <_ZN8PositionC1Ev> -{ - goBack = goBack1; - 8018254: 68fa ldr r2, [r7, #12] - 8018256: 78fb ldrb r3, [r7, #3] - 8018258: 7413 strb r3, [r2, #16] - goalAngle = 0; - 801825a: 68fa ldr r2, [r7, #12] - 801825c: 4b0a ldr r3, [pc, #40] (8018288 <_ZN10ActionGoToC1E8Positionbf+0x68>) - 801825e: 6193 str r3, [r2, #24] - goingCurve = false; - 8018260: 68fa ldr r2, [r7, #12] - 8018262: f04f 0300 mov.w r3, #0 ; 0x0 - 8018266: 7713 strb r3, [r2, #28] - curveFactor = 1; - 8018268: 68fa ldr r2, [r7, #12] - 801826a: f04f 0301 mov.w r3, #1 ; 0x1 - 801826e: 6213 str r3, [r2, #32] - precision = _precision; - 8018270: 68fa ldr r2, [r7, #12] - 8018272: 69bb ldr r3, [r7, #24] - 8018274: 6253 str r3, [r2, #36] -} - 8018276: 68fb ldr r3, [r7, #12] - 8018278: 4618 mov r0, r3 - 801827a: f107 0710 add.w r7, r7, #16 ; 0x10 - 801827e: 46bd mov sp, r7 - 8018280: bd80 pop {r7, pc} - 8018282: 46c0 nop (mov r8, r8) - 8018284: 08034040 .word 0x08034040 - 8018288: 00000000 .word 0x00000000 - -0801828c <_ZN10ActionGoToC2E8Positionbf>: - 1, 1, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 1, 1, // 2 - 1, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 1, // 1 - 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, // 0 - };//0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 - */ -ActionGoTo::ActionGoTo(Position goalPos, bool goBack1, float _precision) : MediumLevelAction(goalPos) - 801828c: b580 push {r7, lr} - 801828e: b084 sub sp, #16 - 8018290: af00 add r7, sp, #0 - 8018292: 60f8 str r0, [r7, #12] - 8018294: f107 0004 add.w r0, r7, #4 ; 0x4 - 8018298: e880 0006 stmia.w r0, {r1, r2} - 801829c: 70fb strb r3, [r7, #3] - 801829e: 68fb ldr r3, [r7, #12] - 80182a0: 4618 mov r0, r3 - 80182a2: f107 0304 add.w r3, r7, #4 ; 0x4 - 80182a6: e893 0006 ldmia.w r3, {r1, r2} - 80182aa: f003 fef1 bl 801c090 <_ZN17MediumLevelActionC2E8Position> - 80182ae: 68fa ldr r2, [r7, #12] - 80182b0: 4b0f ldr r3, [pc, #60] (80182f0 <_ZN10ActionGoToC2E8Positionbf+0x64>) - 80182b2: 6013 str r3, [r2, #0] - 80182b4: 68fb ldr r3, [r7, #12] - 80182b6: f103 0328 add.w r3, r3, #40 ; 0x28 - 80182ba: 4618 mov r0, r3 - 80182bc: f7ff fa3e bl 801773c <_ZN8PositionC1Ev> -{ - goBack = goBack1; - 80182c0: 68fa ldr r2, [r7, #12] - 80182c2: 78fb ldrb r3, [r7, #3] - 80182c4: 7413 strb r3, [r2, #16] - goalAngle = 0; - 80182c6: 68fa ldr r2, [r7, #12] - 80182c8: 4b0a ldr r3, [pc, #40] (80182f4 <_ZN10ActionGoToC2E8Positionbf+0x68>) - 80182ca: 6193 str r3, [r2, #24] - goingCurve = false; - 80182cc: 68fa ldr r2, [r7, #12] - 80182ce: f04f 0300 mov.w r3, #0 ; 0x0 - 80182d2: 7713 strb r3, [r2, #28] - curveFactor = 1; - 80182d4: 68fa ldr r2, [r7, #12] - 80182d6: f04f 0301 mov.w r3, #1 ; 0x1 - 80182da: 6213 str r3, [r2, #32] - precision = _precision; - 80182dc: 68fa ldr r2, [r7, #12] - 80182de: 69bb ldr r3, [r7, #24] - 80182e0: 6253 str r3, [r2, #36] -} - 80182e2: 68fb ldr r3, [r7, #12] - 80182e4: 4618 mov r0, r3 - 80182e6: f107 0710 add.w r7, r7, #16 ; 0x10 - 80182ea: 46bd mov sp, r7 - 80182ec: bd80 pop {r7, pc} - 80182ee: 46c0 nop (mov r8, r8) - 80182f0: 08034040 .word 0x08034040 - 80182f4: 00000000 .word 0x00000000 - -080182f8 <_ZN12DeposeFruits6updateEv>: -DeposeFruits::~DeposeFruits() -{ - //dtor -} - -int DeposeFruits::update() - 80182f8: b590 push {r4, r7, lr} - 80182fa: b095 sub sp, #84 - 80182fc: af02 add r7, sp, #8 - 80182fe: 6078 str r0, [r7, #4] -{ - if (status == 0) - 8018300: 687b ldr r3, [r7, #4] - 8018302: 68db ldr r3, [r3, #12] - 8018304: 2b00 cmp r3, #0 - 8018306: d104 bne.n 8018312 <_ZN12DeposeFruits6updateEv+0x1a> - { -#ifndef ROBOTHW - qDebug() << "deposeFruits (mediumLevel) début"; -#endif - status = 1; - 8018308: 687a ldr r2, [r7, #4] - 801830a: f04f 0301 mov.w r3, #1 ; 0x1 - 801830e: 60d3 str r3, [r2, #12] - 8018310: e107 b.n 8018522 <_ZN12DeposeFruits6updateEv+0x22a> - } - - else if (status == 1) // mise en place du robot - 8018312: 687b ldr r3, [r7, #4] - 8018314: 68db ldr r3, [r3, #12] - 8018316: 2b01 cmp r3, #1 - 8018318: d112 bne.n 8018340 <_ZN12DeposeFruits6updateEv+0x48> - { - StrategieV2::setCurrentGoal(positionDepart, false); - 801831a: 687a ldr r2, [r7, #4] - 801831c: 4b84 ldr r3, [pc, #528] (8018530 <_ZN12DeposeFruits6updateEv+0x238>) - 801831e: 9300 str r3, [sp, #0] - 8018320: f102 0318 add.w r3, r2, #24 ; 0x18 - 8018324: e893 0003 ldmia.w r3, {r0, r1} - 8018328: f04f 0200 mov.w r2, #0 ; 0x0 - 801832c: 4b81 ldr r3, [pc, #516] (8018534 <_ZN12DeposeFruits6updateEv+0x23c>) - 801832e: f007 fc39 bl 801fba4 <_ZN11StrategieV214setCurrentGoalE8Positionbff> - status++; - 8018332: 687b ldr r3, [r7, #4] - 8018334: 68db ldr r3, [r3, #12] - 8018336: f103 0201 add.w r2, r3, #1 ; 0x1 - 801833a: 687b ldr r3, [r7, #4] - 801833c: 60da str r2, [r3, #12] - 801833e: e0f0 b.n 8018522 <_ZN12DeposeFruits6updateEv+0x22a> - } - else if (status == 2) // mise en place du robot - 8018340: 687b ldr r3, [r7, #4] - 8018342: 68db ldr r3, [r3, #12] - 8018344: 2b02 cmp r3, #2 - 8018346: d15d bne.n 8018404 <_ZN12DeposeFruits6updateEv+0x10c> - { - Position vect = positionDepart - Odometrie::odometrie->getPos().getPosition(); - 8018348: 687b ldr r3, [r7, #4] - 801834a: f103 0418 add.w r4, r3, #24 ; 0x18 - 801834e: 4b7a ldr r3, [pc, #488] (8018538 <_ZN12DeposeFruits6updateEv+0x240>) - 8018350: 681a ldr r2, [r3, #0] - 8018352: f107 0320 add.w r3, r7, #32 ; 0x20 - 8018356: 4618 mov r0, r3 - 8018358: 4611 mov r1, r2 - 801835a: f7fa fc21 bl 8012ba0 <_ZNK9Odometrie6getPosEv> - 801835e: f107 0318 add.w r3, r7, #24 ; 0x18 - 8018362: f107 0220 add.w r2, r7, #32 ; 0x20 - 8018366: 4618 mov r0, r3 - 8018368: 4611 mov r1, r2 - 801836a: f7ff fc6f bl 8017c4c <_ZNK17PositionPlusAngle11getPositionEv> - 801836e: f107 0310 add.w r3, r7, #16 ; 0x10 - 8018372: f107 0218 add.w r2, r7, #24 ; 0x18 - 8018376: 4618 mov r0, r3 - 8018378: 4621 mov r1, r4 - 801837a: f7ff fa99 bl 80178b0 <_ZNK8PositionmiERKS_> - - if(vect.getNorme() < (int) this->precision) - 801837e: f107 0310 add.w r3, r7, #16 ; 0x10 - 8018382: 4618 mov r0, r3 - 8018384: f7ff fba2 bl 8017acc <_ZNK8Position8getNormeEv> - 8018388: 4604 mov r4, r0 - 801838a: 687b ldr r3, [r7, #4] - 801838c: 6a5b ldr r3, [r3, #36] - 801838e: 4618 mov r0, r3 - 8018390: f014 ffd6 bl 802d340 <__aeabi_f2iz> - 8018394: 4603 mov r3, r0 - 8018396: 4618 mov r0, r3 - 8018398: f014 fdba bl 802cf10 <__aeabi_i2f> - 801839c: 4602 mov r2, r0 - 801839e: f04f 0300 mov.w r3, #0 ; 0x0 - 80183a2: 70fb strb r3, [r7, #3] - 80183a4: 4620 mov r0, r4 - 80183a6: 4611 mov r1, r2 - 80183a8: f014 ffa2 bl 802d2f0 <__aeabi_fcmplt> - 80183ac: 4603 mov r3, r0 - 80183ae: 2b00 cmp r3, #0 - 80183b0: d002 beq.n 80183b8 <_ZN12DeposeFruits6updateEv+0xc0> - 80183b2: f04f 0301 mov.w r3, #1 ; 0x1 - 80183b6: 70fb strb r3, [r7, #3] - 80183b8: 78fb ldrb r3, [r7, #3] - 80183ba: 2b00 cmp r3, #0 - 80183bc: f000 80b1 beq.w 8018522 <_ZN12DeposeFruits6updateEv+0x22a> - { -#ifndef ROBOTHW - qDebug() << "deposeFruits (mediumLevel) en position Départ"; -#endif - StrategieV2::setCurrentGoal(Position(positionDepart.getX(), 2000), true, 0.5); - 80183c0: 687b ldr r3, [r7, #4] - 80183c2: f103 0318 add.w r3, r3, #24 ; 0x18 - 80183c6: 4618 mov r0, r3 - 80183c8: f7ff fa18 bl 80177fc <_ZNK8Position4getXEv> - 80183cc: 4602 mov r2, r0 - 80183ce: f107 032c add.w r3, r7, #44 ; 0x2c - 80183d2: 4618 mov r0, r3 - 80183d4: 4611 mov r1, r2 - 80183d6: 4a59 ldr r2, [pc, #356] (801853c <_ZN12DeposeFruits6updateEv+0x244>) - 80183d8: f04f 0301 mov.w r3, #1 ; 0x1 - 80183dc: f7ff f9e8 bl 80177b0 <_ZN8PositionC1Effb> - 80183e0: 4b53 ldr r3, [pc, #332] (8018530 <_ZN12DeposeFruits6updateEv+0x238>) - 80183e2: 9300 str r3, [sp, #0] - 80183e4: f107 032c add.w r3, r7, #44 ; 0x2c - 80183e8: e893 0003 ldmia.w r3, {r0, r1} - 80183ec: f04f 0201 mov.w r2, #1 ; 0x1 - 80183f0: 4b53 ldr r3, [pc, #332] (8018540 <_ZN12DeposeFruits6updateEv+0x248>) - 80183f2: f007 fbd7 bl 801fba4 <_ZN11StrategieV214setCurrentGoalE8Positionbff> - - status++; - 80183f6: 687b ldr r3, [r7, #4] - 80183f8: 68db ldr r3, [r3, #12] - 80183fa: f103 0201 add.w r2, r3, #1 ; 0x1 - 80183fe: 687b ldr r3, [r7, #4] - 8018400: 60da str r2, [r3, #12] - 8018402: e08e b.n 8018522 <_ZN12DeposeFruits6updateEv+0x22a> - } - } - else if(status < 500)//On attend pendant (53-3) * 5ms, le temps qu'e le bras sorte'on colle la bordure - 8018404: 687b ldr r3, [r7, #4] - 8018406: 68da ldr r2, [r3, #12] - 8018408: f240 13f3 movw r3, #499 ; 0x1f3 - 801840c: 429a cmp r2, r3 - 801840e: dc06 bgt.n 801841e <_ZN12DeposeFruits6updateEv+0x126> - { - status++; - 8018410: 687b ldr r3, [r7, #4] - 8018412: 68db ldr r3, [r3, #12] - 8018414: f103 0201 add.w r2, r3, #1 ; 0x1 - 8018418: 687b ldr r3, [r7, #4] - 801841a: 60da str r2, [r3, #12] - 801841c: e081 b.n 8018522 <_ZN12DeposeFruits6updateEv+0x22a> - } - else if (status == 500) - 801841e: 687b ldr r3, [r7, #4] - 8018420: 68db ldr r3, [r3, #12] - 8018422: f5b3 7ffa cmp.w r3, #500 ; 0x1f4 - 8018426: d10c bne.n 8018442 <_ZN12DeposeFruits6updateEv+0x14a> - { -#ifndef ROBOTHW - qDebug() << "deposeFruits (mediumLevel) ouverture conteneur"; -#endif - Container::getSingleton()->open(); - 8018428: f7f6 fa8a bl 800e940 <_ZN9Container12getSingletonEv> - 801842c: 4603 mov r3, r0 - 801842e: 4618 mov r0, r3 - 8018430: f7f6 fa28 bl 800e884 <_ZN9Container4openEv> - status++; - 8018434: 687b ldr r3, [r7, #4] - 8018436: 68db ldr r3, [r3, #12] - 8018438: f103 0201 add.w r2, r3, #1 ; 0x1 - 801843c: 687b ldr r3, [r7, #4] - 801843e: 60da str r2, [r3, #12] - 8018440: e06f b.n 8018522 <_ZN12DeposeFruits6updateEv+0x22a> - } - else if(status < 1000)//On attend pendant (53-3) * 5ms, le temps qu'e le bras sorte'on colle la bordure - 8018442: 687b ldr r3, [r7, #4] - 8018444: 68da ldr r2, [r3, #12] - 8018446: f240 33e7 movw r3, #999 ; 0x3e7 - 801844a: 429a cmp r2, r3 - 801844c: dc06 bgt.n 801845c <_ZN12DeposeFruits6updateEv+0x164> - { - status++; - 801844e: 687b ldr r3, [r7, #4] - 8018450: 68db ldr r3, [r3, #12] - 8018452: f103 0201 add.w r2, r3, #1 ; 0x1 - 8018456: 687b ldr r3, [r7, #4] - 8018458: 60da str r2, [r3, #12] - 801845a: e062 b.n 8018522 <_ZN12DeposeFruits6updateEv+0x22a> - } - else if (status == 1000) - 801845c: 687b ldr r3, [r7, #4] - 801845e: 68db ldr r3, [r3, #12] - 8018460: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 - 8018464: d118 bne.n 8018498 <_ZN12DeposeFruits6updateEv+0x1a0> - { - Container::getSingleton()->close(); - 8018466: f7f6 fa6b bl 800e940 <_ZN9Container12getSingletonEv> - 801846a: 4603 mov r3, r0 - 801846c: 4618 mov r0, r3 - 801846e: f7f6 f9f9 bl 800e864 <_ZN9Container5closeEv> -#ifndef ROBOTHW - qDebug() << "deposeFruits (mediumLevel) fermeture conteneur"; -#endif - StrategieV2::setCurrentGoal(positionDepart, false); - 8018472: 687a ldr r2, [r7, #4] - 8018474: 4b2e ldr r3, [pc, #184] (8018530 <_ZN12DeposeFruits6updateEv+0x238>) - 8018476: 9300 str r3, [sp, #0] - 8018478: f102 0318 add.w r3, r2, #24 ; 0x18 - 801847c: e893 0003 ldmia.w r3, {r0, r1} - 8018480: f04f 0200 mov.w r2, #0 ; 0x0 - 8018484: 4b2b ldr r3, [pc, #172] (8018534 <_ZN12DeposeFruits6updateEv+0x23c>) - 8018486: f007 fb8d bl 801fba4 <_ZN11StrategieV214setCurrentGoalE8Positionbff> - status++; - 801848a: 687b ldr r3, [r7, #4] - 801848c: 68db ldr r3, [r3, #12] - 801848e: f103 0201 add.w r2, r3, #1 ; 0x1 - 8018492: 687b ldr r3, [r7, #4] - 8018494: 60da str r2, [r3, #12] - 8018496: e044 b.n 8018522 <_ZN12DeposeFruits6updateEv+0x22a> - } - - else if(status == 1001)//On passe à l'étape suivante - 8018498: 687b ldr r3, [r7, #4] - 801849a: 68da ldr r2, [r3, #12] - 801849c: f240 33e9 movw r3, #1001 ; 0x3e9 - 80184a0: 429a cmp r2, r3 - 80184a2: d13e bne.n 8018522 <_ZN12DeposeFruits6updateEv+0x22a> - { - Position vect = positionDepart - Odometrie::odometrie->getPos().getPosition(); - 80184a4: 687b ldr r3, [r7, #4] - 80184a6: f103 0418 add.w r4, r3, #24 ; 0x18 - 80184aa: 4b23 ldr r3, [pc, #140] (8018538 <_ZN12DeposeFruits6updateEv+0x240>) - 80184ac: 681a ldr r2, [r3, #0] - 80184ae: f107 033c add.w r3, r7, #60 ; 0x3c - 80184b2: 4618 mov r0, r3 - 80184b4: 4611 mov r1, r2 - 80184b6: f7fa fb73 bl 8012ba0 <_ZNK9Odometrie6getPosEv> - 80184ba: f107 0334 add.w r3, r7, #52 ; 0x34 - 80184be: f107 023c add.w r2, r7, #60 ; 0x3c - 80184c2: 4618 mov r0, r3 - 80184c4: 4611 mov r1, r2 - 80184c6: f7ff fbc1 bl 8017c4c <_ZNK17PositionPlusAngle11getPositionEv> - 80184ca: f107 0308 add.w r3, r7, #8 ; 0x8 - 80184ce: f107 0234 add.w r2, r7, #52 ; 0x34 - 80184d2: 4618 mov r0, r3 - 80184d4: 4621 mov r1, r4 - 80184d6: f7ff f9eb bl 80178b0 <_ZNK8PositionmiERKS_> - - if(vect.getNorme() < (int) this->precision) - 80184da: f107 0308 add.w r3, r7, #8 ; 0x8 - 80184de: 4618 mov r0, r3 - 80184e0: f7ff faf4 bl 8017acc <_ZNK8Position8getNormeEv> - 80184e4: 4604 mov r4, r0 - 80184e6: 687b ldr r3, [r7, #4] - 80184e8: 6a5b ldr r3, [r3, #36] - 80184ea: 4618 mov r0, r3 - 80184ec: f014 ff28 bl 802d340 <__aeabi_f2iz> - 80184f0: 4603 mov r3, r0 - 80184f2: 4618 mov r0, r3 - 80184f4: f014 fd0c bl 802cf10 <__aeabi_i2f> - 80184f8: 4602 mov r2, r0 - 80184fa: f04f 0300 mov.w r3, #0 ; 0x0 - 80184fe: 70bb strb r3, [r7, #2] - 8018500: 4620 mov r0, r4 - 8018502: 4611 mov r1, r2 - 8018504: f014 fef4 bl 802d2f0 <__aeabi_fcmplt> - 8018508: 4603 mov r3, r0 - 801850a: 2b00 cmp r3, #0 - 801850c: d002 beq.n 8018514 <_ZN12DeposeFruits6updateEv+0x21c> - 801850e: f04f 0301 mov.w r3, #1 ; 0x1 - 8018512: 70bb strb r3, [r7, #2] - 8018514: 78bb ldrb r3, [r7, #2] - 8018516: 2b00 cmp r3, #0 - 8018518: d003 beq.n 8018522 <_ZN12DeposeFruits6updateEv+0x22a> - { -#ifndef ROBOTHW - qDebug() << "deposeFruits (mediumLevel) reparti"; -#endif - status = -1; - 801851a: 687a ldr r2, [r7, #4] - 801851c: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8018520: 60d3 str r3, [r2, #12] - } - } - - return status; - 8018522: 687b ldr r3, [r7, #4] - 8018524: 68db ldr r3, [r3, #12] -} - 8018526: 4618 mov r0, r3 - 8018528: f107 074c add.w r7, r7, #76 ; 0x4c - 801852c: 46bd mov sp, r7 - 801852e: bd90 pop {r4, r7, pc} - 8018530: c2c80000 .word 0xc2c80000 - 8018534: 3f800000 .word 0x3f800000 - 8018538: 20000590 .word 0x20000590 - 801853c: 44fa0000 .word 0x44fa0000 - 8018540: 3f000000 .word 0x3f000000 - -08018544 <_ZN12DeposeFruitsD0Ev>: - - - status = 0; -} - -DeposeFruits::~DeposeFruits() - 8018544: b580 push {r7, lr} - 8018546: b082 sub sp, #8 - 8018548: af00 add r7, sp, #0 - 801854a: 6078 str r0, [r7, #4] - 801854c: 687a ldr r2, [r7, #4] - 801854e: 4b0a ldr r3, [pc, #40] (8018578 <_ZN12DeposeFruitsD0Ev+0x34>) - 8018550: 6013 str r3, [r2, #0] -{ - //dtor -} - 8018552: 687b ldr r3, [r7, #4] - 8018554: 4618 mov r0, r3 - 8018556: f003 fd5b bl 801c010 <_ZN17MediumLevelActionD2Ev> - 801855a: f04f 0301 mov.w r3, #1 ; 0x1 - 801855e: b2db uxtb r3, r3 - 8018560: 2b00 cmp r3, #0 - 8018562: d002 beq.n 801856a <_ZN12DeposeFruitsD0Ev+0x26> - 8018564: 6878 ldr r0, [r7, #4] - 8018566: f7ff f851 bl 801760c <_ZdlPv> - 801856a: 687b ldr r3, [r7, #4] - 801856c: 4618 mov r0, r3 - 801856e: f107 0708 add.w r7, r7, #8 ; 0x8 - 8018572: 46bd mov sp, r7 - 8018574: bd80 pop {r7, pc} - 8018576: 46c0 nop (mov r8, r8) - 8018578: 08034060 .word 0x08034060 - -0801857c <_ZN12DeposeFruitsD1Ev>: - - - status = 0; -} - -DeposeFruits::~DeposeFruits() - 801857c: b580 push {r7, lr} - 801857e: b082 sub sp, #8 - 8018580: af00 add r7, sp, #0 - 8018582: 6078 str r0, [r7, #4] - 8018584: 687a ldr r2, [r7, #4] - 8018586: 4b0a ldr r3, [pc, #40] (80185b0 <_ZN12DeposeFruitsD1Ev+0x34>) - 8018588: 6013 str r3, [r2, #0] -{ - //dtor -} - 801858a: 687b ldr r3, [r7, #4] - 801858c: 4618 mov r0, r3 - 801858e: f003 fd3f bl 801c010 <_ZN17MediumLevelActionD2Ev> - 8018592: f04f 0300 mov.w r3, #0 ; 0x0 - 8018596: b2db uxtb r3, r3 - 8018598: 2b00 cmp r3, #0 - 801859a: d002 beq.n 80185a2 <_ZN12DeposeFruitsD1Ev+0x26> - 801859c: 6878 ldr r0, [r7, #4] - 801859e: f7ff f835 bl 801760c <_ZdlPv> - 80185a2: 687b ldr r3, [r7, #4] - 80185a4: 4618 mov r0, r3 - 80185a6: f107 0708 add.w r7, r7, #8 ; 0x8 - 80185aa: 46bd mov sp, r7 - 80185ac: bd80 pop {r7, pc} - 80185ae: 46c0 nop (mov r8, r8) - 80185b0: 08034060 .word 0x08034060 - -080185b4 <_ZN12DeposeFruitsD2Ev>: - - - status = 0; -} - -DeposeFruits::~DeposeFruits() - 80185b4: b580 push {r7, lr} - 80185b6: b082 sub sp, #8 - 80185b8: af00 add r7, sp, #0 - 80185ba: 6078 str r0, [r7, #4] - 80185bc: 687a ldr r2, [r7, #4] - 80185be: 4b0a ldr r3, [pc, #40] (80185e8 <_ZN12DeposeFruitsD2Ev+0x34>) - 80185c0: 6013 str r3, [r2, #0] -{ - //dtor -} - 80185c2: 687b ldr r3, [r7, #4] - 80185c4: 4618 mov r0, r3 - 80185c6: f003 fd23 bl 801c010 <_ZN17MediumLevelActionD2Ev> - 80185ca: f04f 0300 mov.w r3, #0 ; 0x0 - 80185ce: b2db uxtb r3, r3 - 80185d0: 2b00 cmp r3, #0 - 80185d2: d002 beq.n 80185da <_ZN12DeposeFruitsD2Ev+0x26> - 80185d4: 6878 ldr r0, [r7, #4] - 80185d6: f7ff f819 bl 801760c <_ZdlPv> - 80185da: 687b ldr r3, [r7, #4] - 80185dc: 4618 mov r0, r3 - 80185de: f107 0708 add.w r7, r7, #8 ; 0x8 - 80185e2: 46bd mov sp, r7 - 80185e4: bd80 pop {r7, pc} - 80185e6: 46c0 nop (mov r8, r8) - 80185e8: 08034060 .word 0x08034060 - -080185ec <_ZN12DeposeFruitsC1Ev>: - -#ifndef ROBOTHW -#include -#endif - -DeposeFruits::DeposeFruits(){} - 80185ec: b590 push {r4, r7, lr} - 80185ee: b085 sub sp, #20 - 80185f0: af00 add r7, sp, #0 - 80185f2: 6078 str r0, [r7, #4] - 80185f4: 687c ldr r4, [r7, #4] - 80185f6: f107 0308 add.w r3, r7, #8 ; 0x8 - 80185fa: 4618 mov r0, r3 - 80185fc: 490d ldr r1, [pc, #52] (8018634 <_ZN12DeposeFruitsC1Ev+0x48>) - 80185fe: 4a0d ldr r2, [pc, #52] (8018634 <_ZN12DeposeFruitsC1Ev+0x48>) - 8018600: f04f 0301 mov.w r3, #1 ; 0x1 - 8018604: f7ff f8d4 bl 80177b0 <_ZN8PositionC1Effb> - 8018608: 4620 mov r0, r4 - 801860a: f107 0308 add.w r3, r7, #8 ; 0x8 - 801860e: e893 0006 ldmia.w r3, {r1, r2} - 8018612: f003 fd3d bl 801c090 <_ZN17MediumLevelActionC2E8Position> - 8018616: 687a ldr r2, [r7, #4] - 8018618: 4b07 ldr r3, [pc, #28] (8018638 <_ZN12DeposeFruitsC1Ev+0x4c>) - 801861a: 6013 str r3, [r2, #0] - 801861c: 687b ldr r3, [r7, #4] - 801861e: f103 0318 add.w r3, r3, #24 ; 0x18 - 8018622: 4618 mov r0, r3 - 8018624: f7ff f88a bl 801773c <_ZN8PositionC1Ev> - 8018628: 687b ldr r3, [r7, #4] - 801862a: 4618 mov r0, r3 - 801862c: f107 0714 add.w r7, r7, #20 ; 0x14 - 8018630: 46bd mov sp, r7 - 8018632: bd90 pop {r4, r7, pc} - 8018634: 00000000 .word 0x00000000 - 8018638: 08034060 .word 0x08034060 - -0801863c <_ZN12DeposeFruitsC2Ev>: - 801863c: b590 push {r4, r7, lr} - 801863e: b085 sub sp, #20 - 8018640: af00 add r7, sp, #0 - 8018642: 6078 str r0, [r7, #4] - 8018644: 687c ldr r4, [r7, #4] - 8018646: f107 0308 add.w r3, r7, #8 ; 0x8 - 801864a: 4618 mov r0, r3 - 801864c: 490d ldr r1, [pc, #52] (8018684 <_ZN12DeposeFruitsC2Ev+0x48>) - 801864e: 4a0d ldr r2, [pc, #52] (8018684 <_ZN12DeposeFruitsC2Ev+0x48>) - 8018650: f04f 0301 mov.w r3, #1 ; 0x1 - 8018654: f7ff f8ac bl 80177b0 <_ZN8PositionC1Effb> - 8018658: 4620 mov r0, r4 - 801865a: f107 0308 add.w r3, r7, #8 ; 0x8 - 801865e: e893 0006 ldmia.w r3, {r1, r2} - 8018662: f003 fd15 bl 801c090 <_ZN17MediumLevelActionC2E8Position> - 8018666: 687a ldr r2, [r7, #4] - 8018668: 4b07 ldr r3, [pc, #28] (8018688 <_ZN12DeposeFruitsC2Ev+0x4c>) - 801866a: 6013 str r3, [r2, #0] - 801866c: 687b ldr r3, [r7, #4] - 801866e: f103 0318 add.w r3, r3, #24 ; 0x18 - 8018672: 4618 mov r0, r3 - 8018674: f7ff f862 bl 801773c <_ZN8PositionC1Ev> - 8018678: 687b ldr r3, [r7, #4] - 801867a: 4618 mov r0, r3 - 801867c: f107 0714 add.w r7, r7, #20 ; 0x14 - 8018680: 46bd mov sp, r7 - 8018682: bd90 pop {r4, r7, pc} - 8018684: 00000000 .word 0x00000000 - 8018688: 08034060 .word 0x08034060 - -0801868c <_ZN12DeposeFruitsC1Eb8Positionf>: - -DeposeFruits::DeposeFruits(bool isBlue, Position positionDepart, float precision) : MediumLevelAction() - 801868c: b590 push {r4, r7, lr} - 801868e: b087 sub sp, #28 - 8018690: af00 add r7, sp, #0 - 8018692: 60f8 str r0, [r7, #12] - 8018694: 4608 mov r0, r1 - 8018696: 4639 mov r1, r7 - 8018698: e881 000c stmia.w r1, {r2, r3} - 801869c: 4603 mov r3, r0 - 801869e: 72fb strb r3, [r7, #11] - 80186a0: 68fc ldr r4, [r7, #12] - 80186a2: f107 0310 add.w r3, r7, #16 ; 0x10 - 80186a6: 4618 mov r0, r3 - 80186a8: 4917 ldr r1, [pc, #92] (8018708 <_ZN12DeposeFruitsC1Eb8Positionf+0x7c>) - 80186aa: 4a17 ldr r2, [pc, #92] (8018708 <_ZN12DeposeFruitsC1Eb8Positionf+0x7c>) - 80186ac: f04f 0301 mov.w r3, #1 ; 0x1 - 80186b0: f7ff f87e bl 80177b0 <_ZN8PositionC1Effb> - 80186b4: 4620 mov r0, r4 - 80186b6: f107 0310 add.w r3, r7, #16 ; 0x10 - 80186ba: e893 0006 ldmia.w r3, {r1, r2} - 80186be: f003 fce7 bl 801c090 <_ZN17MediumLevelActionC2E8Position> - 80186c2: 68fa ldr r2, [r7, #12] - 80186c4: 4b11 ldr r3, [pc, #68] (801870c <_ZN12DeposeFruitsC1Eb8Positionf+0x80>) - 80186c6: 6013 str r3, [r2, #0] - 80186c8: 68fb ldr r3, [r7, #12] - 80186ca: f103 0318 add.w r3, r3, #24 ; 0x18 - 80186ce: 4618 mov r0, r3 - 80186d0: f7ff f834 bl 801773c <_ZN8PositionC1Ev> -{ - this->isBlue = isBlue; - 80186d4: 68fa ldr r2, [r7, #12] - 80186d6: 7afb ldrb r3, [r7, #11] - 80186d8: f882 3020 strb.w r3, [r2, #32] - this->positionDepart = positionDepart; - 80186dc: 68fb ldr r3, [r7, #12] - 80186de: f103 0318 add.w r3, r3, #24 ; 0x18 - 80186e2: 4618 mov r0, r3 - 80186e4: 463b mov r3, r7 - 80186e6: e893 0006 ldmia.w r3, {r1, r2} - 80186ea: f7ff f907 bl 80178fc <_ZN8PositionaSES_> - - this->precision = precision; - 80186ee: 68fa ldr r2, [r7, #12] - 80186f0: 6abb ldr r3, [r7, #40] - 80186f2: 6253 str r3, [r2, #36] - - - status = 0; - 80186f4: 68fa ldr r2, [r7, #12] - 80186f6: f04f 0300 mov.w r3, #0 ; 0x0 - 80186fa: 60d3 str r3, [r2, #12] -} - 80186fc: 68fb ldr r3, [r7, #12] - 80186fe: 4618 mov r0, r3 - 8018700: f107 071c add.w r7, r7, #28 ; 0x1c - 8018704: 46bd mov sp, r7 - 8018706: bd90 pop {r4, r7, pc} - 8018708: 00000000 .word 0x00000000 - 801870c: 08034060 .word 0x08034060 - -08018710 <_ZN12DeposeFruitsC2Eb8Positionf>: -#include -#endif - -DeposeFruits::DeposeFruits(){} - -DeposeFruits::DeposeFruits(bool isBlue, Position positionDepart, float precision) : MediumLevelAction() - 8018710: b590 push {r4, r7, lr} - 8018712: b087 sub sp, #28 - 8018714: af00 add r7, sp, #0 - 8018716: 60f8 str r0, [r7, #12] - 8018718: 4608 mov r0, r1 - 801871a: 4639 mov r1, r7 - 801871c: e881 000c stmia.w r1, {r2, r3} - 8018720: 4603 mov r3, r0 - 8018722: 72fb strb r3, [r7, #11] - 8018724: 68fc ldr r4, [r7, #12] - 8018726: f107 0310 add.w r3, r7, #16 ; 0x10 - 801872a: 4618 mov r0, r3 - 801872c: 4917 ldr r1, [pc, #92] (801878c <_ZN12DeposeFruitsC2Eb8Positionf+0x7c>) - 801872e: 4a17 ldr r2, [pc, #92] (801878c <_ZN12DeposeFruitsC2Eb8Positionf+0x7c>) - 8018730: f04f 0301 mov.w r3, #1 ; 0x1 - 8018734: f7ff f83c bl 80177b0 <_ZN8PositionC1Effb> - 8018738: 4620 mov r0, r4 - 801873a: f107 0310 add.w r3, r7, #16 ; 0x10 - 801873e: e893 0006 ldmia.w r3, {r1, r2} - 8018742: f003 fca5 bl 801c090 <_ZN17MediumLevelActionC2E8Position> - 8018746: 68fa ldr r2, [r7, #12] - 8018748: 4b11 ldr r3, [pc, #68] (8018790 <_ZN12DeposeFruitsC2Eb8Positionf+0x80>) - 801874a: 6013 str r3, [r2, #0] - 801874c: 68fb ldr r3, [r7, #12] - 801874e: f103 0318 add.w r3, r3, #24 ; 0x18 - 8018752: 4618 mov r0, r3 - 8018754: f7fe fff2 bl 801773c <_ZN8PositionC1Ev> -{ - this->isBlue = isBlue; - 8018758: 68fa ldr r2, [r7, #12] - 801875a: 7afb ldrb r3, [r7, #11] - 801875c: f882 3020 strb.w r3, [r2, #32] - this->positionDepart = positionDepart; - 8018760: 68fb ldr r3, [r7, #12] - 8018762: f103 0318 add.w r3, r3, #24 ; 0x18 - 8018766: 4618 mov r0, r3 - 8018768: 463b mov r3, r7 - 801876a: e893 0006 ldmia.w r3, {r1, r2} - 801876e: f7ff f8c5 bl 80178fc <_ZN8PositionaSES_> - - this->precision = precision; - 8018772: 68fa ldr r2, [r7, #12] - 8018774: 6abb ldr r3, [r7, #40] - 8018776: 6253 str r3, [r2, #36] - - - status = 0; - 8018778: 68fa ldr r2, [r7, #12] - 801877a: f04f 0300 mov.w r3, #0 ; 0x0 - 801877e: 60d3 str r3, [r2, #12] -} - 8018780: 68fb ldr r3, [r7, #12] - 8018782: 4618 mov r0, r3 - 8018784: f107 071c add.w r7, r7, #28 ; 0x1c - 8018788: 46bd mov sp, r7 - 801878a: bd90 pop {r4, r7, pc} - 801878c: 00000000 .word 0x00000000 - 8018790: 08034060 .word 0x08034060 - -08018794 <_ZN8DijkstraC2Ev>: -//http://fr.wikipedia.org/wiki/Algorithme_de_Dijkstra - -#include "dijkstra.h" -#include - -Dijkstra::Dijkstra(){} - 8018794: b480 push {r7} - 8018796: b083 sub sp, #12 - 8018798: af00 add r7, sp, #0 - 801879a: 6078 str r0, [r7, #4] - 801879c: 687b ldr r3, [r7, #4] - 801879e: 4618 mov r0, r3 - 80187a0: f107 070c add.w r7, r7, #12 ; 0xc - 80187a4: 46bd mov sp, r7 - 80187a6: bc80 pop {r7} - 80187a8: 4770 bx lr - 80187aa: 46c0 nop (mov r8, r8) - -080187ac <_ZN8DijkstraC1Ev>: - 80187ac: b480 push {r7} - 80187ae: b083 sub sp, #12 - 80187b0: af00 add r7, sp, #0 - 80187b2: 6078 str r0, [r7, #4] - 80187b4: 687b ldr r3, [r7, #4] - 80187b6: 4618 mov r0, r3 - 80187b8: f107 070c add.w r7, r7, #12 ; 0xc - 80187bc: 46bd mov sp, r7 - 80187be: bc80 pop {r7} - 80187c0: 4770 bx lr - 80187c2: 46c0 nop (mov r8, r8) - -080187c4 <_ZN8DijkstraC2EPP5Etapei>: - - -Dijkstra::Dijkstra(Etape** tableauEtapes, int nbEtapes) - 80187c4: b480 push {r7} - 80187c6: b085 sub sp, #20 - 80187c8: af00 add r7, sp, #0 - 80187ca: 60f8 str r0, [r7, #12] - 80187cc: 60b9 str r1, [r7, #8] - 80187ce: 607a str r2, [r7, #4] -{ - this->tableauEtapes = tableauEtapes; - 80187d0: 68fa ldr r2, [r7, #12] - 80187d2: 68bb ldr r3, [r7, #8] - 80187d4: 6013 str r3, [r2, #0] - this->nombreEtapes = nbEtapes; - 80187d6: 68fa ldr r2, [r7, #12] - 80187d8: 687b ldr r3, [r7, #4] - 80187da: 6053 str r3, [r2, #4] -} - 80187dc: 68fb ldr r3, [r7, #12] - 80187de: 4618 mov r0, r3 - 80187e0: f107 0714 add.w r7, r7, #20 ; 0x14 - 80187e4: 46bd mov sp, r7 - 80187e6: bc80 pop {r7} - 80187e8: 4770 bx lr - 80187ea: 46c0 nop (mov r8, r8) - -080187ec <_ZN8DijkstraC1EPP5Etapei>: -#include - -Dijkstra::Dijkstra(){} - - -Dijkstra::Dijkstra(Etape** tableauEtapes, int nbEtapes) - 80187ec: b480 push {r7} - 80187ee: b085 sub sp, #20 - 80187f0: af00 add r7, sp, #0 - 80187f2: 60f8 str r0, [r7, #12] - 80187f4: 60b9 str r1, [r7, #8] - 80187f6: 607a str r2, [r7, #4] -{ - this->tableauEtapes = tableauEtapes; - 80187f8: 68fa ldr r2, [r7, #12] - 80187fa: 68bb ldr r3, [r7, #8] - 80187fc: 6013 str r3, [r2, #0] - this->nombreEtapes = nbEtapes; - 80187fe: 68fa ldr r2, [r7, #12] - 8018800: 687b ldr r3, [r7, #4] - 8018802: 6053 str r3, [r2, #4] -} - 8018804: 68fb ldr r3, [r7, #12] - 8018806: 4618 mov r0, r3 - 8018808: f107 0714 add.w r7, r7, #20 ; 0x14 - 801880c: 46bd mov sp, r7 - 801880e: bc80 pop {r7} - 8018810: 4770 bx lr - 8018812: 46c0 nop (mov r8, r8) - -08018814 <_ZN8Dijkstra16getEtapeCouranteEv>: - -Etape* Dijkstra::getEtapeCourante() - 8018814: b480 push {r7} - 8018816: b083 sub sp, #12 - 8018818: af00 add r7, sp, #0 - 801881a: 6078 str r0, [r7, #4] -{ - return tableauEtapes[this->numeroEtapeCourante]; - 801881c: 687b ldr r3, [r7, #4] - 801881e: 681a ldr r2, [r3, #0] - 8018820: 687b ldr r3, [r7, #4] - 8018822: 689b ldr r3, [r3, #8] - 8018824: ea4f 0383 mov.w r3, r3, lsl #2 - 8018828: 4413 add r3, r2 - 801882a: 681b ldr r3, [r3, #0] -} - 801882c: 4618 mov r0, r3 - 801882e: f107 070c add.w r7, r7, #12 ; 0xc - 8018832: 46bd mov sp, r7 - 8018834: bc80 pop {r7} - 8018836: 4770 bx lr - -08018838 <_ZN8Dijkstra16setEtapeCouranteEi>: - pow(fabs((int) etapeDepart->getPosition().getX()-etapeArrivee->getPosition().getX()),2)+ - pow(fabs((int) etapeDepart->getPosition().getY()-etapeArrivee->getPosition().getY()),2) - ); -} - -void Dijkstra::setEtapeCourante(int numeroEtapeCourante) - 8018838: b480 push {r7} - 801883a: b083 sub sp, #12 - 801883c: af00 add r7, sp, #0 - 801883e: 6078 str r0, [r7, #4] - 8018840: 6039 str r1, [r7, #0] -{ - this->numeroEtapeCourante = numeroEtapeCourante; - 8018842: 687a ldr r2, [r7, #4] - 8018844: 683b ldr r3, [r7, #0] - 8018846: 6093 str r3, [r2, #8] -} - 8018848: f107 070c add.w r7, r7, #12 ; 0xc - 801884c: 46bd mov sp, r7 - 801884e: bc80 pop {r7} - 8018850: 4770 bx lr - 8018852: 46c0 nop (mov r8, r8) - -08018854 <_ZN8Dijkstra31updateNombreElementsTransportesEiiiii>: -int Dijkstra::getDistance(Etape* etape) -{ - return etape->getDistance(); -} - -void Dijkstra::updateNombreElementsTransportes(int nbFeux, int nbFruits, int nbFresques, int nbLances, int nbFilet) - 8018854: b480 push {r7} - 8018856: b085 sub sp, #20 - 8018858: af00 add r7, sp, #0 - 801885a: 60f8 str r0, [r7, #12] - 801885c: 60b9 str r1, [r7, #8] - 801885e: 607a str r2, [r7, #4] - 8018860: 603b str r3, [r7, #0] -{ - this->nombreFruitsTransporte = nbFruits; - 8018862: 68fa ldr r2, [r7, #12] - 8018864: 687b ldr r3, [r7, #4] - 8018866: 6113 str r3, [r2, #16] - this->nombreFeuxTransporte = nbFeux; - 8018868: 68fa ldr r2, [r7, #12] - 801886a: 68bb ldr r3, [r7, #8] - 801886c: 6153 str r3, [r2, #20] - this->nombreFresquesTransporte = nbFresques; - 801886e: 68fa ldr r2, [r7, #12] - 8018870: 683b ldr r3, [r7, #0] - 8018872: 6193 str r3, [r2, #24] - this->nombreLancesTransporte = nbLances; - 8018874: 68fa ldr r2, [r7, #12] - 8018876: 69bb ldr r3, [r7, #24] - 8018878: 61d3 str r3, [r2, #28] - this->nombreFiletTransporte = nbFilet; - 801887a: 68fa ldr r2, [r7, #12] - 801887c: 69fb ldr r3, [r7, #28] - 801887e: 6213 str r3, [r2, #32] -} - 8018880: f107 0714 add.w r7, r7, #20 ; 0x14 - 8018884: 46bd mov sp, r7 - 8018886: bc80 pop {r7} - 8018888: 4770 bx lr - 801888a: 46c0 nop (mov r8, r8) - -0801888c <_ZN8Dijkstra13etapeRapporteEP5Etape>: - -bool Dijkstra::etapeRapporte(Etape* etape) - 801888c: b580 push {r7, lr} - 801888e: b082 sub sp, #8 - 8018890: af00 add r7, sp, #0 - 8018892: 6078 str r0, [r7, #4] - 8018894: 6039 str r1, [r7, #0] -{ - return (bool) etape->getScore(); - 8018896: 6838 ldr r0, [r7, #0] - 8018898: f000 fd78 bl 801938c <_ZN5Etape8getScoreEv> - 801889c: 4603 mov r3, r0 - 801889e: 2b00 cmp r3, #0 - 80188a0: bf0c ite eq - 80188a2: 2300 moveq r3, #0 - 80188a4: 2301 movne r3, #1 - 80188a6: b2db uxtb r3, r3 -} - 80188a8: 4618 mov r0, r3 - 80188aa: f107 0708 add.w r7, r7, #8 ; 0x8 - 80188ae: 46bd mov sp, r7 - 80188b0: bd80 pop {r7, pc} - 80188b2: 46c0 nop (mov r8, r8) - -080188b4 <_ZN8Dijkstra11getDistanceEP5Etape>: -int Dijkstra::getDistance(int numeroEtape) -{ - return tableauEtapes[numeroEtape]->getDistance(); -} - -int Dijkstra::getDistance(Etape* etape) - 80188b4: b580 push {r7, lr} - 80188b6: b082 sub sp, #8 - 80188b8: af00 add r7, sp, #0 - 80188ba: 6078 str r0, [r7, #4] - 80188bc: 6039 str r1, [r7, #0] -{ - return etape->getDistance(); - 80188be: 6838 ldr r0, [r7, #0] - 80188c0: f000 fc42 bl 8019148 <_ZN5Etape11getDistanceEv> - 80188c4: 4603 mov r3, r0 -} - 80188c6: 4618 mov r0, r3 - 80188c8: f107 0708 add.w r7, r7, #8 ; 0x8 - 80188cc: 46bd mov sp, r7 - 80188ce: bd80 pop {r7, pc} - -080188d0 <_ZN8Dijkstra11getDistanceEi>: - } - } - } -} - -int Dijkstra::getDistance(int numeroEtape) - 80188d0: b580 push {r7, lr} - 80188d2: b082 sub sp, #8 - 80188d4: af00 add r7, sp, #0 - 80188d6: 6078 str r0, [r7, #4] - 80188d8: 6039 str r1, [r7, #0] -{ - return tableauEtapes[numeroEtape]->getDistance(); - 80188da: 687b ldr r3, [r7, #4] - 80188dc: 681a ldr r2, [r3, #0] - 80188de: 683b ldr r3, [r7, #0] - 80188e0: ea4f 0383 mov.w r3, r3, lsl #2 - 80188e4: 4413 add r3, r2 - 80188e6: 681b ldr r3, [r3, #0] - 80188e8: 4618 mov r0, r3 - 80188ea: f000 fc2d bl 8019148 <_ZN5Etape11getDistanceEv> - 80188ee: 4603 mov r3, r0 -} - 80188f0: 4618 mov r0, r3 - 80188f2: f107 0708 add.w r7, r7, #8 ; 0x8 - 80188f6: 46bd mov sp, r7 - 80188f8: bd80 pop {r7, pc} - 80188fa: 46c0 nop (mov r8, r8) - -080188fc <_ZN8Dijkstra18mettreAJourVoisinsEi>: - this->tableauEtapes[numeroEtapeLaPlusProche]->setState(classementEtapeMinimale); - return numeroEtapeLaPlusProche; -} - -//Met à jour les voisin de l'étape spécifiée. -void Dijkstra::mettreAJourVoisins(int numeroEtape) - 80188fc: b580 push {r7, lr} - 80188fe: b086 sub sp, #24 - 8018900: af00 add r7, sp, #0 - 8018902: 6078 str r0, [r7, #4] - 8018904: 6039 str r1, [r7, #0] -{ - int distanceEtapeCourante = this->tableauEtapes[numeroEtape]->getDistance(); - 8018906: 687b ldr r3, [r7, #4] - 8018908: 681a ldr r2, [r3, #0] - 801890a: 683b ldr r3, [r7, #0] - 801890c: ea4f 0383 mov.w r3, r3, lsl #2 - 8018910: 4413 add r3, r2 - 8018912: 681b ldr r3, [r3, #0] - 8018914: 4618 mov r0, r3 - 8018916: f000 fc17 bl 8019148 <_ZN5Etape11getDistanceEv> - 801891a: 4603 mov r3, r0 - 801891c: 60bb str r3, [r7, #8] - int distanceChildCourant; - int distanceEtapeVersChild; - - for(int i = 0 ; i < this->tableauEtapes[numeroEtape]->getNbChildren() ; i++) - 801891e: f04f 0300 mov.w r3, #0 ; 0x0 - 8018922: 617b str r3, [r7, #20] - 8018924: e075 b.n 8018a12 <_ZN8Dijkstra18mettreAJourVoisinsEi+0x116> - { - //Si cette étape n'est pas bannie - //if(this->tableauEtapes[numeroEtape]->getChild(i)->getState() > -2 && ((int) this->tableauEtapes[numeroEtape]->getChild(i)->getEtapeType() < 20)) - if(!(this->tableauEtapes[numeroEtape]->getChild(i)->aEviter())) - 8018926: 687b ldr r3, [r7, #4] - 8018928: 681a ldr r2, [r3, #0] - 801892a: 683b ldr r3, [r7, #0] - 801892c: ea4f 0383 mov.w r3, r3, lsl #2 - 8018930: 4413 add r3, r2 - 8018932: 681b ldr r3, [r3, #0] - 8018934: 4618 mov r0, r3 - 8018936: 6979 ldr r1, [r7, #20] - 8018938: f000 fbae bl 8019098 <_ZN5Etape8getChildEi> - 801893c: 4603 mov r3, r0 - 801893e: 4618 mov r0, r3 - 8018940: f000 fc6a bl 8019218 <_ZN5Etape7aEviterEv> - 8018944: 4603 mov r3, r0 - 8018946: f083 0301 eor.w r3, r3, #1 ; 0x1 - 801894a: b2db uxtb r3, r3 - 801894c: 2b00 cmp r3, #0 - 801894e: d05c beq.n 8018a0a <_ZN8Dijkstra18mettreAJourVoisinsEi+0x10e> - { - distanceChildCourant = this->tableauEtapes[numeroEtape]->getChild(i)->getDistance(); - 8018950: 687b ldr r3, [r7, #4] - 8018952: 681a ldr r2, [r3, #0] - 8018954: 683b ldr r3, [r7, #0] - 8018956: ea4f 0383 mov.w r3, r3, lsl #2 - 801895a: 4413 add r3, r2 - 801895c: 681b ldr r3, [r3, #0] - 801895e: 4618 mov r0, r3 - 8018960: 6979 ldr r1, [r7, #20] - 8018962: f000 fb99 bl 8019098 <_ZN5Etape8getChildEi> - 8018966: 4603 mov r3, r0 - 8018968: 4618 mov r0, r3 - 801896a: f000 fbed bl 8019148 <_ZN5Etape11getDistanceEv> - 801896e: 4603 mov r3, r0 - 8018970: 60fb str r3, [r7, #12] - distanceEtapeVersChild = this->tableauEtapes[numeroEtape]->getDistances()[i]; - 8018972: 687b ldr r3, [r7, #4] - 8018974: 681a ldr r2, [r3, #0] - 8018976: 683b ldr r3, [r7, #0] - 8018978: ea4f 0383 mov.w r3, r3, lsl #2 - 801897c: 4413 add r3, r2 - 801897e: 681b ldr r3, [r3, #0] - 8018980: 4618 mov r0, r3 - 8018982: f000 fc97 bl 80192b4 <_ZN5Etape12getDistancesEv> - 8018986: 4602 mov r2, r0 - 8018988: 697b ldr r3, [r7, #20] - 801898a: ea4f 0383 mov.w r3, r3, lsl #2 - 801898e: 4413 add r3, r2 - 8018990: 681b ldr r3, [r3, #0] - 8018992: 613b str r3, [r7, #16] - //distanceEtapeVersChild = calculDistanceDirect(this->tableauEtapes[numeroEtape]->getChild(i), this->tableauEtapes[numeroEtape]); - if(!distanceEtapeVersChild) - 8018994: 693b ldr r3, [r7, #16] - 8018996: 2b00 cmp r3, #0 - 8018998: d102 bne.n 80189a0 <_ZN8Dijkstra18mettreAJourVoisinsEi+0xa4> - distanceEtapeVersChild = 1;//Pas de distances nulles - 801899a: f04f 0301 mov.w r3, #1 ; 0x1 - 801899e: 613b str r3, [r7, #16] - //Si le chemin vers ce voisin est plus court en passant par l'étape actuelle, mise à jour de ce voisin - //Si le voisin n'avait pas encore été atteind par un chemin, alors on le met à jour aussi (distanceChildCourant == -1) - if(distanceChildCourant == -1 || distanceChildCourant > distanceEtapeCourante + distanceEtapeVersChild) - 80189a0: 68fb ldr r3, [r7, #12] - 80189a2: f1b3 3fff cmp.w r3, #4294967295 ; 0xffffffff - 80189a6: d005 beq.n 80189b4 <_ZN8Dijkstra18mettreAJourVoisinsEi+0xb8> - 80189a8: 68ba ldr r2, [r7, #8] - 80189aa: 693b ldr r3, [r7, #16] - 80189ac: 441a add r2, r3 - 80189ae: 68fb ldr r3, [r7, #12] - 80189b0: 429a cmp r2, r3 - 80189b2: da2a bge.n 8018a0a <_ZN8Dijkstra18mettreAJourVoisinsEi+0x10e> - { - this->tableauEtapes[numeroEtape]->getChild(i)->setDistance(distanceEtapeCourante + distanceEtapeVersChild); - 80189b4: 687b ldr r3, [r7, #4] - 80189b6: 681a ldr r2, [r3, #0] - 80189b8: 683b ldr r3, [r7, #0] - 80189ba: ea4f 0383 mov.w r3, r3, lsl #2 - 80189be: 4413 add r3, r2 - 80189c0: 681b ldr r3, [r3, #0] - 80189c2: 4618 mov r0, r3 - 80189c4: 6979 ldr r1, [r7, #20] - 80189c6: f000 fb67 bl 8019098 <_ZN5Etape8getChildEi> - 80189ca: 4601 mov r1, r0 - 80189cc: 68ba ldr r2, [r7, #8] - 80189ce: 693b ldr r3, [r7, #16] - 80189d0: 4413 add r3, r2 - 80189d2: 4608 mov r0, r1 - 80189d4: 4619 mov r1, r3 - 80189d6: f000 fbc3 bl 8019160 <_ZN5Etape11setDistanceEi> - this->tableauEtapes[numeroEtape]->getChild(i)->setParent(this->tableauEtapes[this->numeroEtapeCourante]); - 80189da: 687b ldr r3, [r7, #4] - 80189dc: 681a ldr r2, [r3, #0] - 80189de: 683b ldr r3, [r7, #0] - 80189e0: ea4f 0383 mov.w r3, r3, lsl #2 - 80189e4: 4413 add r3, r2 - 80189e6: 681b ldr r3, [r3, #0] - 80189e8: 4618 mov r0, r3 - 80189ea: 6979 ldr r1, [r7, #20] - 80189ec: f000 fb54 bl 8019098 <_ZN5Etape8getChildEi> - 80189f0: 4601 mov r1, r0 - 80189f2: 687b ldr r3, [r7, #4] - 80189f4: 681a ldr r2, [r3, #0] - 80189f6: 687b ldr r3, [r7, #4] - 80189f8: 689b ldr r3, [r3, #8] - 80189fa: ea4f 0383 mov.w r3, r3, lsl #2 - 80189fe: 4413 add r3, r2 - 8018a00: 681b ldr r3, [r3, #0] - 8018a02: 4608 mov r0, r1 - 8018a04: 4619 mov r1, r3 - 8018a06: f000 fbb9 bl 801917c <_ZN5Etape9setParentEPS_> -{ - int distanceEtapeCourante = this->tableauEtapes[numeroEtape]->getDistance(); - int distanceChildCourant; - int distanceEtapeVersChild; - - for(int i = 0 ; i < this->tableauEtapes[numeroEtape]->getNbChildren() ; i++) - 8018a0a: 697b ldr r3, [r7, #20] - 8018a0c: f103 0301 add.w r3, r3, #1 ; 0x1 - 8018a10: 617b str r3, [r7, #20] - 8018a12: 687b ldr r3, [r7, #4] - 8018a14: 681a ldr r2, [r3, #0] - 8018a16: 683b ldr r3, [r7, #0] - 8018a18: ea4f 0383 mov.w r3, r3, lsl #2 - 8018a1c: 4413 add r3, r2 - 8018a1e: 681b ldr r3, [r3, #0] - 8018a20: 4618 mov r0, r3 - 8018a22: f000 fbb9 bl 8019198 <_ZN5Etape13getNbChildrenEv> - 8018a26: 4602 mov r2, r0 - 8018a28: 697b ldr r3, [r7, #20] - 8018a2a: 429a cmp r2, r3 - 8018a2c: bfd4 ite le - 8018a2e: 2300 movle r3, #0 - 8018a30: 2301 movgt r3, #1 - 8018a32: b2db uxtb r3, r3 - 8018a34: 2b00 cmp r3, #0 - 8018a36: f47f af76 bne.w 8018926 <_ZN8Dijkstra18mettreAJourVoisinsEi+0x2a> - this->tableauEtapes[numeroEtape]->getChild(i)->setDistance(distanceEtapeCourante + distanceEtapeVersChild); - this->tableauEtapes[numeroEtape]->getChild(i)->setParent(this->tableauEtapes[this->numeroEtapeCourante]); - } - } - } -} - 8018a3a: f107 0718 add.w r7, r7, #24 ; 0x18 - 8018a3e: 46bd mov sp, r7 - 8018a40: bd80 pop {r7, pc} - 8018a42: 46c0 nop (mov r8, r8) - -08018a44 <_ZN8Dijkstra11initialiserEv>: - } - return 0;*/ -} - -//On réinitialise le tableau avant le commencer une nouvelle recherche -void Dijkstra::initialiser() - 8018a44: b580 push {r7, lr} - 8018a46: b084 sub sp, #16 - 8018a48: af00 add r7, sp, #0 - 8018a4a: 6078 str r0, [r7, #4] -{ - for(int i = 0 ; inombreEtapes ; i++) - 8018a4c: f04f 0300 mov.w r3, #0 ; 0x0 - 8018a50: 60fb str r3, [r7, #12] - 8018a52: e038 b.n 8018ac6 <_ZN8Dijkstra11initialiserEv+0x82> - { - this->tableauEtapes[i]->setDistance(-1); - 8018a54: 687b ldr r3, [r7, #4] - 8018a56: 681a ldr r2, [r3, #0] - 8018a58: 68fb ldr r3, [r7, #12] - 8018a5a: ea4f 0383 mov.w r3, r3, lsl #2 - 8018a5e: 4413 add r3, r2 - 8018a60: 681b ldr r3, [r3, #0] - 8018a62: 4618 mov r0, r3 - 8018a64: f04f 31ff mov.w r1, #4294967295 ; 0xffffffff - 8018a68: f000 fb7a bl 8019160 <_ZN5Etape11setDistanceEi> - if(!(this->tableauEtapes[i]->aEviter()))//getState() != -2) - 8018a6c: 687b ldr r3, [r7, #4] - 8018a6e: 681a ldr r2, [r3, #0] - 8018a70: 68fb ldr r3, [r7, #12] - 8018a72: ea4f 0383 mov.w r3, r3, lsl #2 - 8018a76: 4413 add r3, r2 - 8018a78: 681b ldr r3, [r3, #0] - 8018a7a: 4618 mov r0, r3 - 8018a7c: f000 fbcc bl 8019218 <_ZN5Etape7aEviterEv> - 8018a80: 4603 mov r3, r0 - 8018a82: f083 0301 eor.w r3, r3, #1 ; 0x1 - 8018a86: b2db uxtb r3, r3 - 8018a88: 2b00 cmp r3, #0 - 8018a8a: d00c beq.n 8018aa6 <_ZN8Dijkstra11initialiserEv+0x62> - { - this->tableauEtapes[i]->setState(-1); - 8018a8c: 687b ldr r3, [r7, #4] - 8018a8e: 681a ldr r2, [r3, #0] - 8018a90: 68fb ldr r3, [r7, #12] - 8018a92: ea4f 0383 mov.w r3, r3, lsl #2 - 8018a96: 4413 add r3, r2 - 8018a98: 681b ldr r3, [r3, #0] - 8018a9a: 4618 mov r0, r3 - 8018a9c: f04f 31ff mov.w r1, #4294967295 ; 0xffffffff - 8018aa0: f000 fb44 bl 801912c <_ZN5Etape8setStateEi> - 8018aa4: e00b b.n 8018abe <_ZN8Dijkstra11initialiserEv+0x7a> - } - else - { - this->tableauEtapes[i]->setState(-2); - 8018aa6: 687b ldr r3, [r7, #4] - 8018aa8: 681a ldr r2, [r3, #0] - 8018aaa: 68fb ldr r3, [r7, #12] - 8018aac: ea4f 0383 mov.w r3, r3, lsl #2 - 8018ab0: 4413 add r3, r2 - 8018ab2: 681b ldr r3, [r3, #0] - 8018ab4: 4618 mov r0, r3 - 8018ab6: f06f 0101 mvn.w r1, #1 ; 0x1 - 8018aba: f000 fb37 bl 801912c <_ZN5Etape8setStateEi> -} - -//On réinitialise le tableau avant le commencer une nouvelle recherche -void Dijkstra::initialiser() -{ - for(int i = 0 ; inombreEtapes ; i++) - 8018abe: 68fb ldr r3, [r7, #12] - 8018ac0: f103 0301 add.w r3, r3, #1 ; 0x1 - 8018ac4: 60fb str r3, [r7, #12] - 8018ac6: 687b ldr r3, [r7, #4] - 8018ac8: 685a ldr r2, [r3, #4] - 8018aca: 68fb ldr r3, [r7, #12] - 8018acc: 429a cmp r2, r3 - 8018ace: dcc1 bgt.n 8018a54 <_ZN8Dijkstra11initialiserEv+0x10> - else - { - this->tableauEtapes[i]->setState(-2); - } - } - this->tableauEtapes[this->numeroEtapeCourante]->setDistance(0); - 8018ad0: 687b ldr r3, [r7, #4] - 8018ad2: 681a ldr r2, [r3, #0] - 8018ad4: 687b ldr r3, [r7, #4] - 8018ad6: 689b ldr r3, [r3, #8] - 8018ad8: ea4f 0383 mov.w r3, r3, lsl #2 - 8018adc: 4413 add r3, r2 - 8018ade: 681b ldr r3, [r3, #0] - 8018ae0: 4618 mov r0, r3 - 8018ae2: f04f 0100 mov.w r1, #0 ; 0x0 - 8018ae6: f000 fb3b bl 8019160 <_ZN5Etape11setDistanceEi> - this->tableauEtapes[this->numeroEtapeCourante]->setState(0); - 8018aea: 687b ldr r3, [r7, #4] - 8018aec: 681a ldr r2, [r3, #0] - 8018aee: 687b ldr r3, [r7, #4] - 8018af0: 689b ldr r3, [r3, #8] - 8018af2: ea4f 0383 mov.w r3, r3, lsl #2 - 8018af6: 4413 add r3, r2 - 8018af8: 681b ldr r3, [r3, #0] - 8018afa: 4618 mov r0, r3 - 8018afc: f04f 0100 mov.w r1, #0 ; 0x0 - 8018b00: f000 fb14 bl 801912c <_ZN5Etape8setStateEi> -} - 8018b04: f107 0710 add.w r7, r7, #16 ; 0x10 - 8018b08: 46bd mov sp, r7 - 8018b0a: bd80 pop {r7, pc} - -08018b0c <_ZN8Dijkstra10trouverMinEi>: - -// Renvoi le numéro de l'étape la plus proche dont on n'a pas encore mis à jour les voisins -int Dijkstra::trouverMin(int classementEtapeMinimale) - 8018b0c: b580 push {r7, lr} - 8018b0e: b0a2 sub sp, #136 - 8018b10: af00 add r7, sp, #0 - 8018b12: 6178 str r0, [r7, #20] - 8018b14: 6139 str r1, [r7, #16] -{ - int minimum = -1; - 8018b16: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8018b1a: 61bb str r3, [r7, #24] - int numeroEtapeLaPlusProche = -1; - 8018b1c: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8018b20: 61fb str r3, [r7, #28] - - for(int i = 0 ; i < this->nombreEtapes ; i++) - 8018b22: f04f 0300 mov.w r3, #0 ; 0x0 - 8018b26: 67bb str r3, [r7, #120] - 8018b28: e05c b.n 8018be4 <_ZN8Dijkstra10trouverMinEi+0xd8> - { - if(this->tableauEtapes[i]->getState()==-1 && (!(this->tableauEtapes[i]->aEviter())) && (!(this->tableauEtapes[i]->getDistance()==-1)) && (minimum == -1 || this->tableauEtapes[i]->getDistance() < minimum)) - 8018b2a: 697b ldr r3, [r7, #20] - 8018b2c: 681a ldr r2, [r3, #0] - 8018b2e: 6fbb ldr r3, [r7, #120] - 8018b30: ea4f 0383 mov.w r3, r3, lsl #2 - 8018b34: 4413 add r3, r2 - 8018b36: 681b ldr r3, [r3, #0] - 8018b38: 4618 mov r0, r3 - 8018b3a: f000 faeb bl 8019114 <_ZN5Etape8getStateEv> - 8018b3e: 4603 mov r3, r0 - 8018b40: f1b3 3fff cmp.w r3, #4294967295 ; 0xffffffff - 8018b44: d136 bne.n 8018bb4 <_ZN8Dijkstra10trouverMinEi+0xa8> - 8018b46: 697b ldr r3, [r7, #20] - 8018b48: 681a ldr r2, [r3, #0] - 8018b4a: 6fbb ldr r3, [r7, #120] - 8018b4c: ea4f 0383 mov.w r3, r3, lsl #2 - 8018b50: 4413 add r3, r2 - 8018b52: 681b ldr r3, [r3, #0] - 8018b54: 4618 mov r0, r3 - 8018b56: f000 fb5f bl 8019218 <_ZN5Etape7aEviterEv> - 8018b5a: 4603 mov r3, r0 - 8018b5c: f083 0301 eor.w r3, r3, #1 ; 0x1 - 8018b60: b2db uxtb r3, r3 - 8018b62: f083 0301 eor.w r3, r3, #1 ; 0x1 - 8018b66: b2db uxtb r3, r3 - 8018b68: 2b00 cmp r3, #0 - 8018b6a: d123 bne.n 8018bb4 <_ZN8Dijkstra10trouverMinEi+0xa8> - 8018b6c: 697b ldr r3, [r7, #20] - 8018b6e: 681a ldr r2, [r3, #0] - 8018b70: 6fbb ldr r3, [r7, #120] - 8018b72: ea4f 0383 mov.w r3, r3, lsl #2 - 8018b76: 4413 add r3, r2 - 8018b78: 681b ldr r3, [r3, #0] - 8018b7a: 4618 mov r0, r3 - 8018b7c: f000 fae4 bl 8019148 <_ZN5Etape11getDistanceEv> - 8018b80: 4603 mov r3, r0 - 8018b82: f1b3 3fff cmp.w r3, #4294967295 ; 0xffffffff - 8018b86: d015 beq.n 8018bb4 <_ZN8Dijkstra10trouverMinEi+0xa8> - 8018b88: 69bb ldr r3, [r7, #24] - 8018b8a: f1b3 3fff cmp.w r3, #4294967295 ; 0xffffffff - 8018b8e: d00d beq.n 8018bac <_ZN8Dijkstra10trouverMinEi+0xa0> - 8018b90: 697b ldr r3, [r7, #20] - 8018b92: 681a ldr r2, [r3, #0] - 8018b94: 6fbb ldr r3, [r7, #120] - 8018b96: ea4f 0383 mov.w r3, r3, lsl #2 - 8018b9a: 4413 add r3, r2 - 8018b9c: 681b ldr r3, [r3, #0] - 8018b9e: 4618 mov r0, r3 - 8018ba0: f000 fad2 bl 8019148 <_ZN5Etape11getDistanceEv> - 8018ba4: 4602 mov r2, r0 - 8018ba6: 69bb ldr r3, [r7, #24] - 8018ba8: 429a cmp r2, r3 - 8018baa: da03 bge.n 8018bb4 <_ZN8Dijkstra10trouverMinEi+0xa8> - 8018bac: f04f 0301 mov.w r3, #1 ; 0x1 - 8018bb0: 607b str r3, [r7, #4] - 8018bb2: e002 b.n 8018bba <_ZN8Dijkstra10trouverMinEi+0xae> - 8018bb4: f04f 0300 mov.w r3, #0 ; 0x0 - 8018bb8: 607b str r3, [r7, #4] - 8018bba: 687b ldr r3, [r7, #4] - 8018bbc: 2b00 cmp r3, #0 - 8018bbe: d00d beq.n 8018bdc <_ZN8Dijkstra10trouverMinEi+0xd0> - { - minimum = this->tableauEtapes[i]->getDistance(); - 8018bc0: 697b ldr r3, [r7, #20] - 8018bc2: 681a ldr r2, [r3, #0] - 8018bc4: 6fbb ldr r3, [r7, #120] - 8018bc6: ea4f 0383 mov.w r3, r3, lsl #2 - 8018bca: 4413 add r3, r2 - 8018bcc: 681b ldr r3, [r3, #0] - 8018bce: 4618 mov r0, r3 - 8018bd0: f000 faba bl 8019148 <_ZN5Etape11getDistanceEv> - 8018bd4: 4603 mov r3, r0 - 8018bd6: 61bb str r3, [r7, #24] - numeroEtapeLaPlusProche = i; - 8018bd8: 6fbb ldr r3, [r7, #120] - 8018bda: 61fb str r3, [r7, #28] -int Dijkstra::trouverMin(int classementEtapeMinimale) -{ - int minimum = -1; - int numeroEtapeLaPlusProche = -1; - - for(int i = 0 ; i < this->nombreEtapes ; i++) - 8018bdc: 6fbb ldr r3, [r7, #120] - 8018bde: f103 0301 add.w r3, r3, #1 ; 0x1 - 8018be2: 67bb str r3, [r7, #120] - 8018be4: 697b ldr r3, [r7, #20] - 8018be6: 685a ldr r2, [r3, #4] - 8018be8: 6fbb ldr r3, [r7, #120] - 8018bea: 429a cmp r2, r3 - 8018bec: dc9d bgt.n 8018b2a <_ZN8Dijkstra10trouverMinEi+0x1e> - { - minimum = this->tableauEtapes[i]->getDistance(); - numeroEtapeLaPlusProche = i; - } - } - Etape* etape1 = this->tableauEtapes[0]; - 8018bee: 697b ldr r3, [r7, #20] - 8018bf0: 681b ldr r3, [r3, #0] - 8018bf2: 681b ldr r3, [r3, #0] - 8018bf4: 623b str r3, [r7, #32] - Etape* etape2 = this->tableauEtapes[1]; - 8018bf6: 697b ldr r3, [r7, #20] - 8018bf8: 681b ldr r3, [r3, #0] - 8018bfa: f103 0304 add.w r3, r3, #4 ; 0x4 - 8018bfe: 681b ldr r3, [r3, #0] - 8018c00: 627b str r3, [r7, #36] - Etape* etape3 = this->tableauEtapes[2]; - 8018c02: 697b ldr r3, [r7, #20] - 8018c04: 681b ldr r3, [r3, #0] - 8018c06: f103 0308 add.w r3, r3, #8 ; 0x8 - 8018c0a: 681b ldr r3, [r3, #0] - 8018c0c: 62bb str r3, [r7, #40] - Etape* etape4 = this->tableauEtapes[3]; - 8018c0e: 697b ldr r3, [r7, #20] - 8018c10: 681b ldr r3, [r3, #0] - 8018c12: f103 030c add.w r3, r3, #12 ; 0xc - 8018c16: 681b ldr r3, [r3, #0] - 8018c18: 62fb str r3, [r7, #44] - Etape* etape5 = this->tableauEtapes[4]; - 8018c1a: 697b ldr r3, [r7, #20] - 8018c1c: 681b ldr r3, [r3, #0] - 8018c1e: f103 0310 add.w r3, r3, #16 ; 0x10 - 8018c22: 681b ldr r3, [r3, #0] - 8018c24: 633b str r3, [r7, #48] - Etape* etape6 = this->tableauEtapes[5]; - 8018c26: 697b ldr r3, [r7, #20] - 8018c28: 681b ldr r3, [r3, #0] - 8018c2a: f103 0314 add.w r3, r3, #20 ; 0x14 - 8018c2e: 681b ldr r3, [r3, #0] - 8018c30: 637b str r3, [r7, #52] - Etape* etape7 = this->tableauEtapes[6]; - 8018c32: 697b ldr r3, [r7, #20] - 8018c34: 681b ldr r3, [r3, #0] - 8018c36: f103 0318 add.w r3, r3, #24 ; 0x18 - 8018c3a: 681b ldr r3, [r3, #0] - 8018c3c: 63bb str r3, [r7, #56] - Etape* etape8 = this->tableauEtapes[7]; - 8018c3e: 697b ldr r3, [r7, #20] - 8018c40: 681b ldr r3, [r3, #0] - 8018c42: f103 031c add.w r3, r3, #28 ; 0x1c - 8018c46: 681b ldr r3, [r3, #0] - 8018c48: 63fb str r3, [r7, #60] - Etape* etape9 = this->tableauEtapes[8]; - 8018c4a: 697b ldr r3, [r7, #20] - 8018c4c: 681b ldr r3, [r3, #0] - 8018c4e: f103 0320 add.w r3, r3, #32 ; 0x20 - 8018c52: 681b ldr r3, [r3, #0] - 8018c54: 643b str r3, [r7, #64] - Etape* etape10 = this->tableauEtapes[9]; - 8018c56: 697b ldr r3, [r7, #20] - 8018c58: 681b ldr r3, [r3, #0] - 8018c5a: f103 0324 add.w r3, r3, #36 ; 0x24 - 8018c5e: 681b ldr r3, [r3, #0] - 8018c60: 647b str r3, [r7, #68] - Etape* etape11 = this->tableauEtapes[10]; - 8018c62: 697b ldr r3, [r7, #20] - 8018c64: 681b ldr r3, [r3, #0] - 8018c66: f103 0328 add.w r3, r3, #40 ; 0x28 - 8018c6a: 681b ldr r3, [r3, #0] - 8018c6c: 64bb str r3, [r7, #72] - Etape* etape12 = this->tableauEtapes[11]; - 8018c6e: 697b ldr r3, [r7, #20] - 8018c70: 681b ldr r3, [r3, #0] - 8018c72: f103 032c add.w r3, r3, #44 ; 0x2c - 8018c76: 681b ldr r3, [r3, #0] - 8018c78: 64fb str r3, [r7, #76] - Etape* etape13 = this->tableauEtapes[12]; - 8018c7a: 697b ldr r3, [r7, #20] - 8018c7c: 681b ldr r3, [r3, #0] - 8018c7e: f103 0330 add.w r3, r3, #48 ; 0x30 - 8018c82: 681b ldr r3, [r3, #0] - 8018c84: 653b str r3, [r7, #80] - Etape* etape14 = this->tableauEtapes[13]; - 8018c86: 697b ldr r3, [r7, #20] - 8018c88: 681b ldr r3, [r3, #0] - 8018c8a: f103 0334 add.w r3, r3, #52 ; 0x34 - 8018c8e: 681b ldr r3, [r3, #0] - 8018c90: 657b str r3, [r7, #84] - Etape* etape15 = this->tableauEtapes[14]; - 8018c92: 697b ldr r3, [r7, #20] - 8018c94: 681b ldr r3, [r3, #0] - 8018c96: f103 0338 add.w r3, r3, #56 ; 0x38 - 8018c9a: 681b ldr r3, [r3, #0] - 8018c9c: 65bb str r3, [r7, #88] - Etape* etape16 = this->tableauEtapes[15]; - 8018c9e: 697b ldr r3, [r7, #20] - 8018ca0: 681b ldr r3, [r3, #0] - 8018ca2: f103 033c add.w r3, r3, #60 ; 0x3c - 8018ca6: 681b ldr r3, [r3, #0] - 8018ca8: 65fb str r3, [r7, #92] - Etape* etape17 = this->tableauEtapes[16]; - 8018caa: 697b ldr r3, [r7, #20] - 8018cac: 681b ldr r3, [r3, #0] - 8018cae: f103 0340 add.w r3, r3, #64 ; 0x40 - 8018cb2: 681b ldr r3, [r3, #0] - 8018cb4: 663b str r3, [r7, #96] - Etape* etape18 = this->tableauEtapes[17]; - 8018cb6: 697b ldr r3, [r7, #20] - 8018cb8: 681b ldr r3, [r3, #0] - 8018cba: f103 0344 add.w r3, r3, #68 ; 0x44 - 8018cbe: 681b ldr r3, [r3, #0] - 8018cc0: 667b str r3, [r7, #100] - Etape* etape19 = this->tableauEtapes[18]; - 8018cc2: 697b ldr r3, [r7, #20] - 8018cc4: 681b ldr r3, [r3, #0] - 8018cc6: f103 0348 add.w r3, r3, #72 ; 0x48 - 8018cca: 681b ldr r3, [r3, #0] - 8018ccc: 66bb str r3, [r7, #104] - Etape* etape20 = this->tableauEtapes[19]; - 8018cce: 697b ldr r3, [r7, #20] - 8018cd0: 681b ldr r3, [r3, #0] - 8018cd2: f103 034c add.w r3, r3, #76 ; 0x4c - 8018cd6: 681b ldr r3, [r3, #0] - 8018cd8: 66fb str r3, [r7, #108] - Etape* etape21 = this->tableauEtapes[20]; - 8018cda: 697b ldr r3, [r7, #20] - 8018cdc: 681b ldr r3, [r3, #0] - 8018cde: f103 0350 add.w r3, r3, #80 ; 0x50 - 8018ce2: 681b ldr r3, [r3, #0] - 8018ce4: 673b str r3, [r7, #112] - Etape* etape22= this->tableauEtapes[21]; - 8018ce6: 697b ldr r3, [r7, #20] - 8018ce8: 681b ldr r3, [r3, #0] - 8018cea: f103 0354 add.w r3, r3, #84 ; 0x54 - 8018cee: 681b ldr r3, [r3, #0] - 8018cf0: 677b str r3, [r7, #116] - //Si on ne trouve pas d'étape la plus proche, alors c'est qu'on est coincé par les autres robots. - //Il faut donc faire des allers-retours entre les différentes étapes possibles. - //Pour cela, on change le status des étapes "robot vu" à "point de passage", puis relancer une passe de Dijkstra (récursion powa!!!). - if(numeroEtapeLaPlusProche == -1) - 8018cf2: 69fb ldr r3, [r7, #28] - 8018cf4: f1b3 3fff cmp.w r3, #4294967295 ; 0xffffffff - 8018cf8: f040 80a9 bne.w 8018e4e <_ZN8Dijkstra10trouverMinEi+0x342> - { - //On check si on a encore des points à marquer dans la zone ou on est confiné - bool onEstCoinceDansUnEndroitPourri = true; - 8018cfc: f04f 0301 mov.w r3, #1 ; 0x1 - 8018d00: f887 307f strb.w r3, [r7, #127] - for(int i = 0 ; i < this->nombreEtapes ; i++) - 8018d04: f04f 0300 mov.w r3, #0 ; 0x0 - 8018d08: f8c7 3080 str.w r3, [r7, #128] - 8018d0c: e057 b.n 8018dbe <_ZN8Dijkstra10trouverMinEi+0x2b2> - { - if(this->etapeRapporte(this->tableauEtapes[i]) && (!(this->tableauEtapes[i]->aEviter())) && this->tableauEtapes[i]->getDistance() != -1 && this->tableauEtapes[i]->getState() != -2) - 8018d0e: 697b ldr r3, [r7, #20] - 8018d10: 681a ldr r2, [r3, #0] - 8018d12: f8d7 3080 ldr.w r3, [r7, #128] - 8018d16: ea4f 0383 mov.w r3, r3, lsl #2 - 8018d1a: 4413 add r3, r2 - 8018d1c: 681b ldr r3, [r3, #0] - 8018d1e: 6978 ldr r0, [r7, #20] - 8018d20: 4619 mov r1, r3 - 8018d22: f7ff fdb3 bl 801888c <_ZN8Dijkstra13etapeRapporteEP5Etape> - 8018d26: 4603 mov r3, r0 - 8018d28: f083 0301 eor.w r3, r3, #1 ; 0x1 - 8018d2c: b2db uxtb r3, r3 - 8018d2e: 2b00 cmp r3, #0 - 8018d30: d135 bne.n 8018d9e <_ZN8Dijkstra10trouverMinEi+0x292> - 8018d32: 697b ldr r3, [r7, #20] - 8018d34: 681a ldr r2, [r3, #0] - 8018d36: f8d7 3080 ldr.w r3, [r7, #128] - 8018d3a: ea4f 0383 mov.w r3, r3, lsl #2 - 8018d3e: 4413 add r3, r2 - 8018d40: 681b ldr r3, [r3, #0] - 8018d42: 4618 mov r0, r3 - 8018d44: f000 fa68 bl 8019218 <_ZN5Etape7aEviterEv> - 8018d48: 4603 mov r3, r0 - 8018d4a: f083 0301 eor.w r3, r3, #1 ; 0x1 - 8018d4e: b2db uxtb r3, r3 - 8018d50: f083 0301 eor.w r3, r3, #1 ; 0x1 - 8018d54: b2db uxtb r3, r3 - 8018d56: 2b00 cmp r3, #0 - 8018d58: d121 bne.n 8018d9e <_ZN8Dijkstra10trouverMinEi+0x292> - 8018d5a: 697b ldr r3, [r7, #20] - 8018d5c: 681a ldr r2, [r3, #0] - 8018d5e: f8d7 3080 ldr.w r3, [r7, #128] - 8018d62: ea4f 0383 mov.w r3, r3, lsl #2 - 8018d66: 4413 add r3, r2 - 8018d68: 681b ldr r3, [r3, #0] - 8018d6a: 4618 mov r0, r3 - 8018d6c: f000 f9ec bl 8019148 <_ZN5Etape11getDistanceEv> - 8018d70: 4603 mov r3, r0 - 8018d72: f1b3 3fff cmp.w r3, #4294967295 ; 0xffffffff - 8018d76: d012 beq.n 8018d9e <_ZN8Dijkstra10trouverMinEi+0x292> - 8018d78: 697b ldr r3, [r7, #20] - 8018d7a: 681a ldr r2, [r3, #0] - 8018d7c: f8d7 3080 ldr.w r3, [r7, #128] - 8018d80: ea4f 0383 mov.w r3, r3, lsl #2 - 8018d84: 4413 add r3, r2 - 8018d86: 681b ldr r3, [r3, #0] - 8018d88: 4618 mov r0, r3 - 8018d8a: f000 f9c3 bl 8019114 <_ZN5Etape8getStateEv> - 8018d8e: 4603 mov r3, r0 - 8018d90: f113 0f02 cmn.w r3, #2 ; 0x2 - 8018d94: d003 beq.n 8018d9e <_ZN8Dijkstra10trouverMinEi+0x292> - 8018d96: f04f 0301 mov.w r3, #1 ; 0x1 - 8018d9a: 60bb str r3, [r7, #8] - 8018d9c: e002 b.n 8018da4 <_ZN8Dijkstra10trouverMinEi+0x298> - 8018d9e: f04f 0300 mov.w r3, #0 ; 0x0 - 8018da2: 60bb str r3, [r7, #8] - 8018da4: 68bb ldr r3, [r7, #8] - 8018da6: 2b00 cmp r3, #0 - 8018da8: d003 beq.n 8018db2 <_ZN8Dijkstra10trouverMinEi+0x2a6> - { - onEstCoinceDansUnEndroitPourri = false; - 8018daa: f04f 0300 mov.w r3, #0 ; 0x0 - 8018dae: f887 307f strb.w r3, [r7, #127] - //Pour cela, on change le status des étapes "robot vu" à "point de passage", puis relancer une passe de Dijkstra (récursion powa!!!). - if(numeroEtapeLaPlusProche == -1) - { - //On check si on a encore des points à marquer dans la zone ou on est confiné - bool onEstCoinceDansUnEndroitPourri = true; - for(int i = 0 ; i < this->nombreEtapes ; i++) - 8018db2: f8d7 3080 ldr.w r3, [r7, #128] - 8018db6: f103 0301 add.w r3, r3, #1 ; 0x1 - 8018dba: f8c7 3080 str.w r3, [r7, #128] - 8018dbe: 697b ldr r3, [r7, #20] - 8018dc0: 685a ldr r2, [r3, #4] - 8018dc2: f8d7 3080 ldr.w r3, [r7, #128] - 8018dc6: 429a cmp r2, r3 - 8018dc8: dca1 bgt.n 8018d0e <_ZN8Dijkstra10trouverMinEi+0x202> - { - onEstCoinceDansUnEndroitPourri = false; - } - } - //Sinon on supprime les barrières en oubliant qu'on a vu des robots - if(onEstCoinceDansUnEndroitPourri) - 8018dca: f897 307f ldrb.w r3, [r7, #127] - 8018dce: 2b00 cmp r3, #0 - 8018dd0: d039 beq.n 8018e46 <_ZN8Dijkstra10trouverMinEi+0x33a> - { - for(int i = 0 ; i < this->nombreEtapes ; i++) - 8018dd2: f04f 0300 mov.w r3, #0 ; 0x0 - 8018dd6: f8c7 3084 str.w r3, [r7, #132] - 8018dda: e027 b.n 8018e2c <_ZN8Dijkstra10trouverMinEi+0x320> - { - //On reset numeroEtapeEnCours à l'étape où on est actuellement - if(this->tableauEtapes[i]->getDistance() == 0) - 8018ddc: 697b ldr r3, [r7, #20] - 8018dde: 681a ldr r2, [r3, #0] - 8018de0: f8d7 3084 ldr.w r3, [r7, #132] - 8018de4: ea4f 0383 mov.w r3, r3, lsl #2 - 8018de8: 4413 add r3, r2 - 8018dea: 681b ldr r3, [r3, #0] - 8018dec: 4618 mov r0, r3 - 8018dee: f000 f9ab bl 8019148 <_ZN5Etape11getDistanceEv> - 8018df2: 4603 mov r3, r0 - 8018df4: 2b00 cmp r3, #0 - 8018df6: bf14 ite ne - 8018df8: 2300 movne r3, #0 - 8018dfa: 2301 moveq r3, #1 - 8018dfc: b2db uxtb r3, r3 - 8018dfe: 2b00 cmp r3, #0 - 8018e00: d003 beq.n 8018e0a <_ZN8Dijkstra10trouverMinEi+0x2fe> - { - this->numeroEtapeCourante = i; //-1? - 8018e02: 697a ldr r2, [r7, #20] - 8018e04: f8d7 3084 ldr.w r3, [r7, #132] - 8018e08: 6093 str r3, [r2, #8] - } - - this->tableauEtapes[i]->oublieRobotVu(); - 8018e0a: 697b ldr r3, [r7, #20] - 8018e0c: 681a ldr r2, [r3, #0] - 8018e0e: f8d7 3084 ldr.w r3, [r7, #132] - 8018e12: ea4f 0383 mov.w r3, r3, lsl #2 - 8018e16: 4413 add r3, r2 - 8018e18: 681b ldr r3, [r3, #0] - 8018e1a: 4618 mov r0, r3 - 8018e1c: f000 fa30 bl 8019280 <_ZN5Etape13oublieRobotVuEv> - } - } - //Sinon on supprime les barrières en oubliant qu'on a vu des robots - if(onEstCoinceDansUnEndroitPourri) - { - for(int i = 0 ; i < this->nombreEtapes ; i++) - 8018e20: f8d7 3084 ldr.w r3, [r7, #132] - 8018e24: f103 0301 add.w r3, r3, #1 ; 0x1 - 8018e28: f8c7 3084 str.w r3, [r7, #132] - 8018e2c: 697b ldr r3, [r7, #20] - 8018e2e: 685a ldr r2, [r3, #4] - 8018e30: f8d7 3084 ldr.w r3, [r7, #132] - 8018e34: 429a cmp r2, r3 - 8018e36: dcd1 bgt.n 8018ddc <_ZN8Dijkstra10trouverMinEi+0x2d0> - } - - this->tableauEtapes[i]->oublieRobotVu(); - } - - this->run(); - 8018e38: 6978 ldr r0, [r7, #20] - 8018e3a: f000 f81b bl 8018e74 <_ZN8Dijkstra3runEv> - return -1; - 8018e3e: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8018e42: 60fb str r3, [r7, #12] - 8018e44: e010 b.n 8018e68 <_ZN8Dijkstra10trouverMinEi+0x35c> - } - else - { - return -2; - 8018e46: f06f 0301 mvn.w r3, #1 ; 0x1 - 8018e4a: 60fb str r3, [r7, #12] - 8018e4c: e00c b.n 8018e68 <_ZN8Dijkstra10trouverMinEi+0x35c> - } - } - this->tableauEtapes[numeroEtapeLaPlusProche]->setState(classementEtapeMinimale); - 8018e4e: 697b ldr r3, [r7, #20] - 8018e50: 681a ldr r2, [r3, #0] - 8018e52: 69fb ldr r3, [r7, #28] - 8018e54: ea4f 0383 mov.w r3, r3, lsl #2 - 8018e58: 4413 add r3, r2 - 8018e5a: 681b ldr r3, [r3, #0] - 8018e5c: 4618 mov r0, r3 - 8018e5e: 6939 ldr r1, [r7, #16] - 8018e60: f000 f964 bl 801912c <_ZN5Etape8setStateEi> - return numeroEtapeLaPlusProche; - 8018e64: 69fb ldr r3, [r7, #28] - 8018e66: 60fb str r3, [r7, #12] - 8018e68: 68fb ldr r3, [r7, #12] -} - 8018e6a: 4618 mov r0, r3 - 8018e6c: f107 0788 add.w r7, r7, #136 ; 0x88 - 8018e70: 46bd mov sp, r7 - 8018e72: bd80 pop {r7, pc} - -08018e74 <_ZN8Dijkstra3runEv>: -{ - this->numeroEtapeCourante = numeroEtapeCourante; -} - -//Calcul des distances de toutes les étapes par rapport à l'étape en cours (étape origine) -int Dijkstra::run() - 8018e74: b580 push {r7, lr} - 8018e76: b084 sub sp, #16 - 8018e78: af00 add r7, sp, #0 - 8018e7a: 6078 str r0, [r7, #4] - else - return 0;*/ - - - - int min = -2; - 8018e7c: f06f 0301 mvn.w r3, #1 ; 0x1 - 8018e80: 60bb str r3, [r7, #8] - initialiser(); - 8018e82: 6878 ldr r0, [r7, #4] - 8018e84: f7ff fdde bl 8018a44 <_ZN8Dijkstra11initialiserEv> - - mettreAJourVoisins(this->numeroEtapeCourante); - 8018e88: 687b ldr r3, [r7, #4] - 8018e8a: 689b ldr r3, [r3, #8] - 8018e8c: 6878 ldr r0, [r7, #4] - 8018e8e: 4619 mov r1, r3 - 8018e90: f7ff fd34 bl 80188fc <_ZN8Dijkstra18mettreAJourVoisinsEi> - - for(int i = 0 ; i < this->nombreEtapes-2 ; i++) - 8018e94: f04f 0300 mov.w r3, #0 ; 0x0 - 8018e98: 60fb str r3, [r7, #12] - 8018e9a: e025 b.n 8018ee8 <_ZN8Dijkstra3runEv+0x74> - { - min = trouverMin(i+1); - 8018e9c: 68fb ldr r3, [r7, #12] - 8018e9e: f103 0301 add.w r3, r3, #1 ; 0x1 - 8018ea2: 6878 ldr r0, [r7, #4] - 8018ea4: 4619 mov r1, r3 - 8018ea6: f7ff fe31 bl 8018b0c <_ZN8Dijkstra10trouverMinEi> - 8018eaa: 4603 mov r3, r0 - 8018eac: 60bb str r3, [r7, #8] - // Si min vaut -1, c'est que le robot était coincé, et donc qu'il a fallut réinitialiser la recherche - // Donc on arrete la recherche en cours, une nouvelle a été lancée - if(min == -1) - 8018eae: 68bb ldr r3, [r7, #8] - 8018eb0: f1b3 3fff cmp.w r3, #4294967295 ; 0xffffffff - 8018eb4: d103 bne.n 8018ebe <_ZN8Dijkstra3runEv+0x4a> - { - return -1; - 8018eb6: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8018eba: 603b str r3, [r7, #0] - 8018ebc: e01e b.n 8018efc <_ZN8Dijkstra3runEv+0x88> - } - if(min == -2) - 8018ebe: 68bb ldr r3, [r7, #8] - 8018ec0: f113 0f02 cmn.w r3, #2 ; 0x2 - 8018ec4: d103 bne.n 8018ece <_ZN8Dijkstra3runEv+0x5a> - { - return 0; - 8018ec6: f04f 0300 mov.w r3, #0 ; 0x0 - 8018eca: 603b str r3, [r7, #0] - 8018ecc: e016 b.n 8018efc <_ZN8Dijkstra3runEv+0x88> - } - this->numeroEtapeCourante = min; - 8018ece: 687a ldr r2, [r7, #4] - 8018ed0: 68bb ldr r3, [r7, #8] - 8018ed2: 6093 str r3, [r2, #8] - mettreAJourVoisins(this->numeroEtapeCourante); - 8018ed4: 687b ldr r3, [r7, #4] - 8018ed6: 689b ldr r3, [r3, #8] - 8018ed8: 6878 ldr r0, [r7, #4] - 8018eda: 4619 mov r1, r3 - 8018edc: f7ff fd0e bl 80188fc <_ZN8Dijkstra18mettreAJourVoisinsEi> - int min = -2; - initialiser(); - - mettreAJourVoisins(this->numeroEtapeCourante); - - for(int i = 0 ; i < this->nombreEtapes-2 ; i++) - 8018ee0: 68fb ldr r3, [r7, #12] - 8018ee2: f103 0301 add.w r3, r3, #1 ; 0x1 - 8018ee6: 60fb str r3, [r7, #12] - 8018ee8: 687b ldr r3, [r7, #4] - 8018eea: 685b ldr r3, [r3, #4] - 8018eec: f1a3 0202 sub.w r2, r3, #2 ; 0x2 - 8018ef0: 68fb ldr r3, [r7, #12] - 8018ef2: 429a cmp r2, r3 - 8018ef4: dcd2 bgt.n 8018e9c <_ZN8Dijkstra3runEv+0x28> - return 0; - } - this->numeroEtapeCourante = min; - mettreAJourVoisins(this->numeroEtapeCourante); - } - return 0; - 8018ef6: f04f 0300 mov.w r3, #0 ; 0x0 - 8018efa: 603b str r3, [r7, #0] - 8018efc: 683b ldr r3, [r7, #0] -} - 8018efe: 4618 mov r0, r3 - 8018f00: f107 0710 add.w r7, r7, #16 ; 0x10 - 8018f04: 46bd mov sp, r7 - 8018f06: bd80 pop {r7, pc} - -08018f08 <_ZN8Dijkstra7miniRunEi>: - -int Dijkstra::miniRun(int step) - 8018f08: b580 push {r7, lr} - 8018f0a: b086 sub sp, #24 - 8018f0c: af00 add r7, sp, #0 - 8018f0e: 60f8 str r0, [r7, #12] - 8018f10: 60b9 str r1, [r7, #8] -{ - if (step == 0) - 8018f12: 68bb ldr r3, [r7, #8] - 8018f14: 2b00 cmp r3, #0 - 8018f16: d103 bne.n 8018f20 <_ZN8Dijkstra7miniRunEi+0x18> - { - initialiser(); - 8018f18: 68f8 ldr r0, [r7, #12] - 8018f1a: f7ff fd93 bl 8018a44 <_ZN8Dijkstra11initialiserEv> - 8018f1e: e02d b.n 8018f7c <_ZN8Dijkstra7miniRunEi+0x74> - } - else if(step < this->nombreEtapes-2) - 8018f20: 68fb ldr r3, [r7, #12] - 8018f22: 685b ldr r3, [r3, #4] - 8018f24: f1a3 0202 sub.w r2, r3, #2 ; 0x2 - 8018f28: 68bb ldr r3, [r7, #8] - 8018f2a: 429a cmp r2, r3 - 8018f2c: dd22 ble.n 8018f74 <_ZN8Dijkstra7miniRunEi+0x6c> - { - int min = trouverMin(step+1); - 8018f2e: 68bb ldr r3, [r7, #8] - 8018f30: f103 0301 add.w r3, r3, #1 ; 0x1 - 8018f34: 68f8 ldr r0, [r7, #12] - 8018f36: 4619 mov r1, r3 - 8018f38: f7ff fde8 bl 8018b0c <_ZN8Dijkstra10trouverMinEi> - 8018f3c: 4603 mov r3, r0 - 8018f3e: 617b str r3, [r7, #20] - // Si min vaut -1, c'est que le robot était coincé, et donc qu'il a fallut réinitialiser la recherche - // Donc on arrete la recherche en cours, une nouvelle a été lancée - if(min == -1) - 8018f40: 697b ldr r3, [r7, #20] - 8018f42: f1b3 3fff cmp.w r3, #4294967295 ; 0xffffffff - 8018f46: d103 bne.n 8018f50 <_ZN8Dijkstra7miniRunEi+0x48> - { - return -1; - 8018f48: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8018f4c: 607b str r3, [r7, #4] - 8018f4e: e018 b.n 8018f82 <_ZN8Dijkstra7miniRunEi+0x7a> - } - if(min == -2) - 8018f50: 697b ldr r3, [r7, #20] - 8018f52: f113 0f02 cmn.w r3, #2 ; 0x2 - 8018f56: d103 bne.n 8018f60 <_ZN8Dijkstra7miniRunEi+0x58> - { - return 0; - 8018f58: f04f 0300 mov.w r3, #0 ; 0x0 - 8018f5c: 607b str r3, [r7, #4] - 8018f5e: e010 b.n 8018f82 <_ZN8Dijkstra7miniRunEi+0x7a> - } - this->numeroEtapeCourante = min; - 8018f60: 68fa ldr r2, [r7, #12] - 8018f62: 697b ldr r3, [r7, #20] - 8018f64: 6093 str r3, [r2, #8] - mettreAJourVoisins(this->numeroEtapeCourante); - 8018f66: 68fb ldr r3, [r7, #12] - 8018f68: 689b ldr r3, [r3, #8] - 8018f6a: 68f8 ldr r0, [r7, #12] - 8018f6c: 4619 mov r1, r3 - 8018f6e: f7ff fcc5 bl 80188fc <_ZN8Dijkstra18mettreAJourVoisinsEi> - 8018f72: e003 b.n 8018f7c <_ZN8Dijkstra7miniRunEi+0x74> - } - else - { - return 0; - 8018f74: f04f 0300 mov.w r3, #0 ; 0x0 - 8018f78: 607b str r3, [r7, #4] - 8018f7a: e002 b.n 8018f82 <_ZN8Dijkstra7miniRunEi+0x7a> - } - return -2; - 8018f7c: f06f 0301 mvn.w r3, #1 ; 0x1 - 8018f80: 607b str r3, [r7, #4] - 8018f82: 687b ldr r3, [r7, #4] - } - this->numeroEtapeCourante = min; - mettreAJourVoisins(this->numeroEtapeCourante); - } - return 0;*/ -} - 8018f84: 4618 mov r0, r3 - 8018f86: f107 0718 add.w r7, r7, #24 ; 0x18 - 8018f8a: 46bd mov sp, r7 - 8018f8c: bd80 pop {r7, pc} - 8018f8e: 46c0 nop (mov r8, r8) - -08018f90 <_ZN8Dijkstra20calculDistanceDirectEP5EtapeS1_>: -Etape* Dijkstra::getEtapeCourante() -{ - return tableauEtapes[this->numeroEtapeCourante]; -} - -int Dijkstra::calculDistanceDirect(Etape* etapeDepart, Etape* etapeArrivee) - 8018f90: e92d 4390 stmdb sp!, {r4, r7, r8, r9, lr} - 8018f94: b08b sub sp, #44 - 8018f96: af00 add r7, sp, #0 - 8018f98: 6078 str r0, [r7, #4] - 8018f9a: 6039 str r1, [r7, #0] - //Une solution, vu que le STM32-H405 a plein de mémoire, serait de pré-calculer les distances, et de les stocker. - //Cela permettrait aussi d'ajuster certaines distances si besoin, pour préférer certains passages à d'autres - return sqrt( - pow(fabs((int) etapeDepart->getPosition().getX()-etapeArrivee->getPosition().getX()),2)+ - pow(fabs((int) etapeDepart->getPosition().getY()-etapeArrivee->getPosition().getY()),2) - ); - 8018f9c: f107 0308 add.w r3, r7, #8 ; 0x8 - 8018fa0: 4618 mov r0, r3 - 8018fa2: 6879 ldr r1, [r7, #4] - 8018fa4: f000 f8a2 bl 80190ec <_ZN5Etape11getPositionEv> - 8018fa8: f107 0308 add.w r3, r7, #8 ; 0x8 - 8018fac: 4618 mov r0, r3 - 8018fae: f7fe fc25 bl 80177fc <_ZNK8Position4getXEv> - 8018fb2: 4603 mov r3, r0 - 8018fb4: 4618 mov r0, r3 - 8018fb6: f014 f9c3 bl 802d340 <__aeabi_f2iz> - 8018fba: 4603 mov r3, r0 - 8018fbc: 4618 mov r0, r3 - 8018fbe: f013 ffa7 bl 802cf10 <__aeabi_i2f> - 8018fc2: 4604 mov r4, r0 - 8018fc4: f107 0310 add.w r3, r7, #16 ; 0x10 - 8018fc8: 4618 mov r0, r3 - 8018fca: 6839 ldr r1, [r7, #0] - 8018fcc: f000 f88e bl 80190ec <_ZN5Etape11getPositionEv> - 8018fd0: f107 0310 add.w r3, r7, #16 ; 0x10 - 8018fd4: 4618 mov r0, r3 - 8018fd6: f7fe fc11 bl 80177fc <_ZNK8Position4getXEv> - 8018fda: 4603 mov r3, r0 - 8018fdc: 4620 mov r0, r4 - 8018fde: 4619 mov r1, r3 - 8018fe0: f013 fee0 bl 802cda4 <__aeabi_fsub> - 8018fe4: 4603 mov r3, r0 - 8018fe6: f023 4300 bic.w r3, r3, #2147483648 ; 0x80000000 - 8018fea: 4618 mov r0, r3 - 8018fec: f013 fb72 bl 802c6d4 <__aeabi_f2d> - 8018ff0: 4602 mov r2, r0 - 8018ff2: 460b mov r3, r1 - 8018ff4: 4610 mov r0, r2 - 8018ff6: 4619 mov r1, r3 - 8018ff8: f013 fbc0 bl 802c77c <__aeabi_dmul> - 8018ffc: 4602 mov r2, r0 - 8018ffe: 460b mov r3, r1 - 8019000: 4690 mov r8, r2 - 8019002: 4699 mov r9, r3 - 8019004: f107 0318 add.w r3, r7, #24 ; 0x18 - 8019008: 4618 mov r0, r3 - 801900a: 6879 ldr r1, [r7, #4] - 801900c: f000 f86e bl 80190ec <_ZN5Etape11getPositionEv> - 8019010: f107 0318 add.w r3, r7, #24 ; 0x18 - 8019014: 4618 mov r0, r3 - 8019016: f7fe fbfd bl 8017814 <_ZNK8Position4getYEv> - 801901a: 4603 mov r3, r0 - 801901c: 4618 mov r0, r3 - 801901e: f014 f98f bl 802d340 <__aeabi_f2iz> - 8019022: 4603 mov r3, r0 - 8019024: 4618 mov r0, r3 - 8019026: f013 ff73 bl 802cf10 <__aeabi_i2f> - 801902a: 4604 mov r4, r0 - 801902c: f107 0320 add.w r3, r7, #32 ; 0x20 - 8019030: 4618 mov r0, r3 - 8019032: 6839 ldr r1, [r7, #0] - 8019034: f000 f85a bl 80190ec <_ZN5Etape11getPositionEv> - 8019038: f107 0320 add.w r3, r7, #32 ; 0x20 - 801903c: 4618 mov r0, r3 - 801903e: f7fe fbe9 bl 8017814 <_ZNK8Position4getYEv> - 8019042: 4603 mov r3, r0 - 8019044: 4620 mov r0, r4 - 8019046: 4619 mov r1, r3 - 8019048: f013 feac bl 802cda4 <__aeabi_fsub> - 801904c: 4603 mov r3, r0 - 801904e: f023 4300 bic.w r3, r3, #2147483648 ; 0x80000000 - 8019052: 4618 mov r0, r3 - 8019054: f013 fb3e bl 802c6d4 <__aeabi_f2d> - 8019058: 4602 mov r2, r0 - 801905a: 460b mov r3, r1 - 801905c: 4610 mov r0, r2 - 801905e: 4619 mov r1, r3 - 8019060: f013 fb8c bl 802c77c <__aeabi_dmul> - 8019064: 4602 mov r2, r0 - 8019066: 460b mov r3, r1 - 8019068: 4640 mov r0, r8 - 801906a: 4649 mov r1, r9 - 801906c: f013 f9d4 bl 802c418 <__adddf3> - 8019070: 4602 mov r2, r0 - 8019072: 460b mov r3, r1 - 8019074: 4610 mov r0, r2 - 8019076: 4619 mov r1, r3 - 8019078: f017 fc3e bl 80308f8 - 801907c: 4602 mov r2, r0 - 801907e: 460b mov r3, r1 - 8019080: 4610 mov r0, r2 - 8019082: 4619 mov r1, r3 - 8019084: f013 fe12 bl 802ccac <__aeabi_d2iz> - 8019088: 4603 mov r3, r0 -} - 801908a: 4618 mov r0, r3 - 801908c: f107 072c add.w r7, r7, #44 ; 0x2c - 8019090: 46bd mov sp, r7 - 8019092: e8bd 8390 ldmia.w sp!, {r4, r7, r8, r9, pc} - 8019096: 46c0 nop (mov r8, r8) - -08019098 <_ZN5Etape8getChildEi>: - this->score = 0; -} - -Etape::Etape(){}; - -Etape* Etape::getChild(int nb){ - 8019098: b480 push {r7} - 801909a: b083 sub sp, #12 - 801909c: af00 add r7, sp, #0 - 801909e: 6078 str r0, [r7, #4] - 80190a0: 6039 str r1, [r7, #0] - return this->children[nb]; - 80190a2: 687b ldr r3, [r7, #4] - 80190a4: 681a ldr r2, [r3, #0] - 80190a6: 683b ldr r3, [r7, #0] - 80190a8: ea4f 0383 mov.w r3, r3, lsl #2 - 80190ac: 4413 add r3, r2 - 80190ae: 681b ldr r3, [r3, #0] -} - 80190b0: 4618 mov r0, r3 - 80190b2: f107 070c add.w r7, r7, #12 ; 0xc - 80190b6: 46bd mov sp, r7 - 80190b8: bc80 pop {r7} - 80190ba: 4770 bx lr - -080190bc <_ZN5Etape11getChildrenEv>: - -Etape** Etape::getChildren(){ - 80190bc: b480 push {r7} - 80190be: b083 sub sp, #12 - 80190c0: af00 add r7, sp, #0 - 80190c2: 6078 str r0, [r7, #4] - return this->children; - 80190c4: 687b ldr r3, [r7, #4] - 80190c6: 681b ldr r3, [r3, #0] -} - 80190c8: 4618 mov r0, r3 - 80190ca: f107 070c add.w r7, r7, #12 ; 0xc - 80190ce: 46bd mov sp, r7 - 80190d0: bc80 pop {r7} - 80190d2: 4770 bx lr - -080190d4 <_ZN5Etape9getParentEv>: - -Etape* Etape::getParent(){ - 80190d4: b480 push {r7} - 80190d6: b083 sub sp, #12 - 80190d8: af00 add r7, sp, #0 - 80190da: 6078 str r0, [r7, #4] - return this->parent; - 80190dc: 687b ldr r3, [r7, #4] - 80190de: 685b ldr r3, [r3, #4] -} - 80190e0: 4618 mov r0, r3 - 80190e2: f107 070c add.w r7, r7, #12 ; 0xc - 80190e6: 46bd mov sp, r7 - 80190e8: bc80 pop {r7} - 80190ea: 4770 bx lr - -080190ec <_ZN5Etape11getPositionEv>: - -Position Etape::getPosition() - 80190ec: b480 push {r7} - 80190ee: b083 sub sp, #12 - 80190f0: af00 add r7, sp, #0 - 80190f2: 4684 mov ip, r0 - 80190f4: 6079 str r1, [r7, #4] -{ - return this->position; - 80190f6: 687b ldr r3, [r7, #4] - 80190f8: 4662 mov r2, ip - 80190fa: f103 0308 add.w r3, r3, #8 ; 0x8 - 80190fe: e893 0003 ldmia.w r3, {r0, r1} - 8019102: e882 0003 stmia.w r2, {r0, r1} -} - 8019106: 4660 mov r0, ip - 8019108: f107 070c add.w r7, r7, #12 ; 0xc - 801910c: 46bd mov sp, r7 - 801910e: bc80 pop {r7} - 8019110: 4770 bx lr - 8019112: 46c0 nop (mov r8, r8) - -08019114 <_ZN5Etape8getStateEv>: - -int Etape::getState(){ - 8019114: b480 push {r7} - 8019116: b083 sub sp, #12 - 8019118: af00 add r7, sp, #0 - 801911a: 6078 str r0, [r7, #4] - return this->state; - 801911c: 687b ldr r3, [r7, #4] - 801911e: 691b ldr r3, [r3, #16] -} - 8019120: 4618 mov r0, r3 - 8019122: f107 070c add.w r7, r7, #12 ; 0xc - 8019126: 46bd mov sp, r7 - 8019128: bc80 pop {r7} - 801912a: 4770 bx lr - -0801912c <_ZN5Etape8setStateEi>: - -void Etape::setState(int state){ - 801912c: b480 push {r7} - 801912e: b083 sub sp, #12 - 8019130: af00 add r7, sp, #0 - 8019132: 6078 str r0, [r7, #4] - 8019134: 6039 str r1, [r7, #0] - this->state = state; - 8019136: 687a ldr r2, [r7, #4] - 8019138: 683b ldr r3, [r7, #0] - 801913a: 6113 str r3, [r2, #16] -} - 801913c: f107 070c add.w r7, r7, #12 ; 0xc - 8019140: 46bd mov sp, r7 - 8019142: bc80 pop {r7} - 8019144: 4770 bx lr - 8019146: 46c0 nop (mov r8, r8) - -08019148 <_ZN5Etape11getDistanceEv>: - -int Etape::getDistance(){ - 8019148: b480 push {r7} - 801914a: b083 sub sp, #12 - 801914c: af00 add r7, sp, #0 - 801914e: 6078 str r0, [r7, #4] - return this->distance; - 8019150: 687b ldr r3, [r7, #4] - 8019152: 695b ldr r3, [r3, #20] -} - 8019154: 4618 mov r0, r3 - 8019156: f107 070c add.w r7, r7, #12 ; 0xc - 801915a: 46bd mov sp, r7 - 801915c: bc80 pop {r7} - 801915e: 4770 bx lr - -08019160 <_ZN5Etape11setDistanceEi>: - -void Etape::setDistance(int distance){ - 8019160: b480 push {r7} - 8019162: b083 sub sp, #12 - 8019164: af00 add r7, sp, #0 - 8019166: 6078 str r0, [r7, #4] - 8019168: 6039 str r1, [r7, #0] - this->distance = distance; - 801916a: 687a ldr r2, [r7, #4] - 801916c: 683b ldr r3, [r7, #0] - 801916e: 6153 str r3, [r2, #20] -} - 8019170: f107 070c add.w r7, r7, #12 ; 0xc - 8019174: 46bd mov sp, r7 - 8019176: bc80 pop {r7} - 8019178: 4770 bx lr - 801917a: 46c0 nop (mov r8, r8) - -0801917c <_ZN5Etape9setParentEPS_>: - -void Etape::setParent(Etape* parent){ - 801917c: b480 push {r7} - 801917e: b083 sub sp, #12 - 8019180: af00 add r7, sp, #0 - 8019182: 6078 str r0, [r7, #4] - 8019184: 6039 str r1, [r7, #0] - this->parent = parent; - 8019186: 687a ldr r2, [r7, #4] - 8019188: 683b ldr r3, [r7, #0] - 801918a: 6053 str r3, [r2, #4] -} - 801918c: f107 070c add.w r7, r7, #12 ; 0xc - 8019190: 46bd mov sp, r7 - 8019192: bc80 pop {r7} - 8019194: 4770 bx lr - 8019196: 46c0 nop (mov r8, r8) - -08019198 <_ZN5Etape13getNbChildrenEv>: - -int Etape::getNbChildren(){ - 8019198: b480 push {r7} - 801919a: b083 sub sp, #12 - 801919c: af00 add r7, sp, #0 - 801919e: 6078 str r0, [r7, #4] - return this->nbChildren; - 80191a0: 687b ldr r3, [r7, #4] - 80191a2: 69db ldr r3, [r3, #28] -} - 80191a4: 4618 mov r0, r3 - 80191a6: f107 070c add.w r7, r7, #12 ; 0xc - 80191aa: 46bd mov sp, r7 - 80191ac: bc80 pop {r7} - 80191ae: 4770 bx lr - -080191b0 <_ZN5Etape11setChildrenEPPS_>: - -void Etape::setChildren(Etape** children) - 80191b0: b480 push {r7} - 80191b2: b083 sub sp, #12 - 80191b4: af00 add r7, sp, #0 - 80191b6: 6078 str r0, [r7, #4] - 80191b8: 6039 str r1, [r7, #0] -{ - this->children = children; - 80191ba: 687a ldr r2, [r7, #4] - 80191bc: 683b ldr r3, [r7, #0] - 80191be: 6013 str r3, [r2, #0] -} - 80191c0: f107 070c add.w r7, r7, #12 ; 0xc - 80191c4: 46bd mov sp, r7 - 80191c6: bc80 pop {r7} - 80191c8: 4770 bx lr - 80191ca: 46c0 nop (mov r8, r8) - -080191cc <_ZN5Etape12getEtapeTypeEv>: - -Etape::EtapeType Etape::getEtapeType() - 80191cc: b480 push {r7} - 80191ce: b083 sub sp, #12 - 80191d0: af00 add r7, sp, #0 - 80191d2: 6078 str r0, [r7, #4] -{ - return this->type; - 80191d4: 687b ldr r3, [r7, #4] - 80191d6: 7e1b ldrb r3, [r3, #24] -} - 80191d8: 4618 mov r0, r3 - 80191da: f107 070c add.w r7, r7, #12 ; 0xc - 80191de: 46bd mov sp, r7 - 80191e0: bc80 pop {r7} - 80191e2: 4770 bx lr - -080191e4 <_ZN5Etape12setEtapeTypeENS_9EtapeTypeE>: - -void Etape::setEtapeType(Etape::EtapeType type) - 80191e4: b480 push {r7} - 80191e6: b083 sub sp, #12 - 80191e8: af00 add r7, sp, #0 - 80191ea: 6078 str r0, [r7, #4] - 80191ec: 460b mov r3, r1 - 80191ee: 70fb strb r3, [r7, #3] -{ - this->type = type; - 80191f0: 687a ldr r2, [r7, #4] - 80191f2: 78fb ldrb r3, [r7, #3] - 80191f4: 7613 strb r3, [r2, #24] -} - 80191f6: f107 070c add.w r7, r7, #12 ; 0xc - 80191fa: 46bd mov sp, r7 - 80191fc: bc80 pop {r7} - 80191fe: 4770 bx lr - -08019200 <_ZN5Etape9getNumeroEv>: - { - this->type = (EtapeType)(this->type + 20); - } -} - -int Etape::getNumero() - 8019200: b480 push {r7} - 8019202: b083 sub sp, #12 - 8019204: af00 add r7, sp, #0 - 8019206: 6078 str r0, [r7, #4] -{ - return this->numero; - 8019208: 687b ldr r3, [r7, #4] - 801920a: 6a1b ldr r3, [r3, #32] -} - 801920c: 4618 mov r0, r3 - 801920e: f107 070c add.w r7, r7, #12 ; 0xc - 8019212: 46bd mov sp, r7 - 8019214: bc80 pop {r7} - 8019216: 4770 bx lr - -08019218 <_ZN5Etape7aEviterEv>: - -bool Etape::aEviter() - 8019218: b580 push {r7, lr} - 801921a: b082 sub sp, #8 - 801921c: af00 add r7, sp, #0 - 801921e: 6078 str r0, [r7, #4] -{ - if(((int) this->getEtapeType()) > 19) - 8019220: 6878 ldr r0, [r7, #4] - 8019222: f7ff ffd3 bl 80191cc <_ZN5Etape12getEtapeTypeEv> - 8019226: 4603 mov r3, r0 - 8019228: 2b13 cmp r3, #19 - 801922a: bf94 ite ls - 801922c: 2300 movls r3, #0 - 801922e: 2301 movhi r3, #1 - 8019230: b2db uxtb r3, r3 - 8019232: 2b00 cmp r3, #0 - 8019234: d003 beq.n 801923e <_ZN5Etape7aEviterEv+0x26> - { - return true; - 8019236: f04f 0301 mov.w r3, #1 ; 0x1 - 801923a: 603b str r3, [r7, #0] - 801923c: e002 b.n 8019244 <_ZN5Etape7aEviterEv+0x2c> - } - else - { - return false; - 801923e: f04f 0300 mov.w r3, #0 ; 0x0 - 8019242: 603b str r3, [r7, #0] - 8019244: 683b ldr r3, [r7, #0] - } -} - 8019246: 4618 mov r0, r3 - 8019248: f107 0708 add.w r7, r7, #8 ; 0x8 - 801924c: 46bd mov sp, r7 - 801924e: bd80 pop {r7, pc} - -08019250 <_ZN5Etape7robotVuEv>: -void Etape::setEtapeType(Etape::EtapeType type) -{ - this->type = type; -} - -void Etape::robotVu() - 8019250: b580 push {r7, lr} - 8019252: b082 sub sp, #8 - 8019254: af00 add r7, sp, #0 - 8019256: 6078 str r0, [r7, #4] -{ - if(!aEviter()) - 8019258: 6878 ldr r0, [r7, #4] - 801925a: f7ff ffdd bl 8019218 <_ZN5Etape7aEviterEv> - 801925e: 4603 mov r3, r0 - 8019260: f083 0301 eor.w r3, r3, #1 ; 0x1 - 8019264: b2db uxtb r3, r3 - 8019266: 2b00 cmp r3, #0 - 8019268: d006 beq.n 8019278 <_ZN5Etape7robotVuEv+0x28> - { - this->type = (EtapeType)(this->type + 20); - 801926a: 687b ldr r3, [r7, #4] - 801926c: 7e1b ldrb r3, [r3, #24] - 801926e: f103 0314 add.w r3, r3, #20 ; 0x14 - 8019272: b2db uxtb r3, r3 - 8019274: 687a ldr r2, [r7, #4] - 8019276: 7613 strb r3, [r2, #24] - } -} - 8019278: f107 0708 add.w r7, r7, #8 ; 0x8 - 801927c: 46bd mov sp, r7 - 801927e: bd80 pop {r7, pc} - -08019280 <_ZN5Etape13oublieRobotVuEv>: - { - return false; - } -} - -void Etape::oublieRobotVu() - 8019280: b580 push {r7, lr} - 8019282: b082 sub sp, #8 - 8019284: af00 add r7, sp, #0 - 8019286: 6078 str r0, [r7, #4] -{ - if(this->aEviter()) - 8019288: 6878 ldr r0, [r7, #4] - 801928a: f7ff ffc5 bl 8019218 <_ZN5Etape7aEviterEv> - 801928e: 4603 mov r3, r0 - 8019290: 2b00 cmp r3, #0 - 8019292: d00a beq.n 80192aa <_ZN5Etape13oublieRobotVuEv+0x2a> - { - //On oublie qu'on a vu un robot - this->setEtapeType((EtapeType) ((int)this->getEtapeType() - 20)); - 8019294: 6878 ldr r0, [r7, #4] - 8019296: f7ff ff99 bl 80191cc <_ZN5Etape12getEtapeTypeEv> - 801929a: 4603 mov r3, r0 - 801929c: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 80192a0: b2db uxtb r3, r3 - 80192a2: 6878 ldr r0, [r7, #4] - 80192a4: 4619 mov r1, r3 - 80192a6: f7ff ff9d bl 80191e4 <_ZN5Etape12setEtapeTypeENS_9EtapeTypeE> - } -} - 80192aa: f107 0708 add.w r7, r7, #8 ; 0x8 - 80192ae: 46bd mov sp, r7 - 80192b0: bd80 pop {r7, pc} - 80192b2: 46c0 nop (mov r8, r8) - -080192b4 <_ZN5Etape12getDistancesEv>: - -int* Etape::getDistances() - 80192b4: b480 push {r7} - 80192b6: b083 sub sp, #12 - 80192b8: af00 add r7, sp, #0 - 80192ba: 6078 str r0, [r7, #4] -{ - return this->distances; - 80192bc: 687b ldr r3, [r7, #4] - 80192be: 6a5b ldr r3, [r3, #36] -} - 80192c0: 4618 mov r0, r3 - 80192c2: f107 070c add.w r7, r7, #12 ; 0xc - 80192c6: 46bd mov sp, r7 - 80192c8: bc80 pop {r7} - 80192ca: 4770 bx lr - -080192cc <_ZN5Etape12setDistancesEPi>: - -void Etape::setDistances(int* distances) - 80192cc: b480 push {r7} - 80192ce: b083 sub sp, #12 - 80192d0: af00 add r7, sp, #0 - 80192d2: 6078 str r0, [r7, #4] - 80192d4: 6039 str r1, [r7, #0] -{ - this->distances = distances; - 80192d6: 687a ldr r2, [r7, #4] - 80192d8: 683b ldr r3, [r7, #0] - 80192da: 6253 str r3, [r2, #36] -} - 80192dc: f107 070c add.w r7, r7, #12 ; 0xc - 80192e0: 46bd mov sp, r7 - 80192e2: bc80 pop {r7} - 80192e4: 4770 bx lr - 80192e6: 46c0 nop (mov r8, r8) - -080192e8 <_ZN5Etape27getEtapesLieesParFinirEtapeEv>: - { - this->distances[i] = Dijkstra::calculDistanceDirect(this->children[i], this); - } -} - -int* Etape::getEtapesLieesParFinirEtape() - 80192e8: b480 push {r7} - 80192ea: b083 sub sp, #12 - 80192ec: af00 add r7, sp, #0 - 80192ee: 6078 str r0, [r7, #4] -{ - return this->numerosEtapesLieesParFinirEtape; - 80192f0: 687b ldr r3, [r7, #4] - 80192f2: 6adb ldr r3, [r3, #44] -} - 80192f4: 4618 mov r0, r3 - 80192f6: f107 070c add.w r7, r7, #12 ; 0xc - 80192fa: 46bd mov sp, r7 - 80192fc: bc80 pop {r7} - 80192fe: 4770 bx lr - -08019300 <_ZN5Etape27setEtapesLieesParFinirEtapeEPi>: - -void Etape::setEtapesLieesParFinirEtape(int* numerosEtapesLieesParFinirEtape) - 8019300: b480 push {r7} - 8019302: b083 sub sp, #12 - 8019304: af00 add r7, sp, #0 - 8019306: 6078 str r0, [r7, #4] - 8019308: 6039 str r1, [r7, #0] -{ - this->numerosEtapesLieesParFinirEtape = numerosEtapesLieesParFinirEtape; - 801930a: 687a ldr r2, [r7, #4] - 801930c: 683b ldr r3, [r7, #0] - 801930e: 62d3 str r3, [r2, #44] -} - 8019310: f107 070c add.w r7, r7, #12 ; 0xc - 8019314: 46bd mov sp, r7 - 8019316: bc80 pop {r7} - 8019318: 4770 bx lr - 801931a: 46c0 nop (mov r8, r8) - -0801931c <_ZN5Etape33getNombreEtapesLieesParFinirEtapeEv>: - -int Etape::getNombreEtapesLieesParFinirEtape() - 801931c: b480 push {r7} - 801931e: b083 sub sp, #12 - 8019320: af00 add r7, sp, #0 - 8019322: 6078 str r0, [r7, #4] -{ - return this->nombreEtapesLieesParFinirEtape; - 8019324: 687b ldr r3, [r7, #4] - 8019326: 6a9b ldr r3, [r3, #40] -} - 8019328: 4618 mov r0, r3 - 801932a: f107 070c add.w r7, r7, #12 ; 0xc - 801932e: 46bd mov sp, r7 - 8019330: bc80 pop {r7} - 8019332: 4770 bx lr - -08019334 <_ZN5Etape5finirEv>: - -void Etape::finir(void) - 8019334: b480 push {r7} - 8019336: b083 sub sp, #12 - 8019338: af00 add r7, sp, #0 - 801933a: 6078 str r0, [r7, #4] -{ - if(this->type == FEU || this->type == FRUIT || this->type == FEU_COTE_NOTRE_COULEUR_FACE_TERRAIN || this->type == FEU_COTE_NOTRE_COULEUR_FACE_EXTERIEUR) - 801933c: 687b ldr r3, [r7, #4] - 801933e: 7e1b ldrb r3, [r3, #24] - 8019340: 2b03 cmp r3, #3 - 8019342: d00b beq.n 801935c <_ZN5Etape5finirEv+0x28> - 8019344: 687b ldr r3, [r7, #4] - 8019346: 7e1b ldrb r3, [r3, #24] - 8019348: 2b02 cmp r3, #2 - 801934a: d007 beq.n 801935c <_ZN5Etape5finirEv+0x28> - 801934c: 687b ldr r3, [r7, #4] - 801934e: 7e1b ldrb r3, [r3, #24] - 8019350: 2b09 cmp r3, #9 - 8019352: d003 beq.n 801935c <_ZN5Etape5finirEv+0x28> - 8019354: 687b ldr r3, [r7, #4] - 8019356: 7e1b ldrb r3, [r3, #24] - 8019358: 2b0a cmp r3, #10 - 801935a: d103 bne.n 8019364 <_ZN5Etape5finirEv+0x30> - { - this->type = POINT_PASSAGE; - 801935c: 687b ldr r3, [r7, #4] - 801935e: f04f 0200 mov.w r2, #0 ; 0x0 - 8019362: 761a strb r2, [r3, #24] - } -} - 8019364: f107 070c add.w r7, r7, #12 ; 0xc - 8019368: 46bd mov sp, r7 - 801936a: bc80 pop {r7} - 801936c: 4770 bx lr - 801936e: 46c0 nop (mov r8, r8) - -08019370 <_ZN5Etape8setScoreEi>: - -void Etape::setScore(int score) - 8019370: b480 push {r7} - 8019372: b083 sub sp, #12 - 8019374: af00 add r7, sp, #0 - 8019376: 6078 str r0, [r7, #4] - 8019378: 6039 str r1, [r7, #0] -{ - this->score = score; - 801937a: 687a ldr r2, [r7, #4] - 801937c: 683b ldr r3, [r7, #0] - 801937e: 6313 str r3, [r2, #48] -} - 8019380: f107 070c add.w r7, r7, #12 ; 0xc - 8019384: 46bd mov sp, r7 - 8019386: bc80 pop {r7} - 8019388: 4770 bx lr - 801938a: 46c0 nop (mov r8, r8) - -0801938c <_ZN5Etape8getScoreEv>: - -int Etape::getScore() - 801938c: b480 push {r7} - 801938e: b083 sub sp, #12 - 8019390: af00 add r7, sp, #0 - 8019392: 6078 str r0, [r7, #4] -{ - return this->score; - 8019394: 687b ldr r3, [r7, #4] - 8019396: 6b1b ldr r3, [r3, #48] -} - 8019398: 4618 mov r0, r3 - 801939a: f107 070c add.w r7, r7, #12 ; 0xc - 801939e: 46bd mov sp, r7 - 80193a0: bc80 pop {r7} - 80193a2: 4770 bx lr - -080193a4 <_ZN5Etape21computeChildDistancesEv>: -void Etape::setDistances(int* distances) -{ - this->distances = distances; -} - -void Etape::computeChildDistances(){ - 80193a4: b590 push {r4, r7, lr} - 80193a6: b085 sub sp, #20 - 80193a8: af00 add r7, sp, #0 - 80193aa: 6078 str r0, [r7, #4] - this->distances = new int[this->nbChildren]; - 80193ac: 687b ldr r3, [r7, #4] - 80193ae: 69db ldr r3, [r3, #28] - 80193b0: ea4f 0383 mov.w r3, r3, lsl #2 - 80193b4: 4618 mov r0, r3 - 80193b6: f7fe f91b bl 80175f0 <_Znaj> - 80193ba: 4603 mov r3, r0 - 80193bc: 461a mov r2, r3 - 80193be: 687b ldr r3, [r7, #4] - 80193c0: 625a str r2, [r3, #36] - - for(int i=0; inbChildren; i++) - 80193c2: f04f 0300 mov.w r3, #0 ; 0x0 - 80193c6: 60fb str r3, [r7, #12] - 80193c8: e017 b.n 80193fa <_ZN5Etape21computeChildDistancesEv+0x56> - { - this->distances[i] = Dijkstra::calculDistanceDirect(this->children[i], this); - 80193ca: 687b ldr r3, [r7, #4] - 80193cc: 6a5a ldr r2, [r3, #36] - 80193ce: 68fb ldr r3, [r7, #12] - 80193d0: ea4f 0383 mov.w r3, r3, lsl #2 - 80193d4: eb02 0403 add.w r4, r2, r3 - 80193d8: 687b ldr r3, [r7, #4] - 80193da: 681a ldr r2, [r3, #0] - 80193dc: 68fb ldr r3, [r7, #12] - 80193de: ea4f 0383 mov.w r3, r3, lsl #2 - 80193e2: 4413 add r3, r2 - 80193e4: 681b ldr r3, [r3, #0] - 80193e6: 4618 mov r0, r3 - 80193e8: 6879 ldr r1, [r7, #4] - 80193ea: f7ff fdd1 bl 8018f90 <_ZN8Dijkstra20calculDistanceDirectEP5EtapeS1_> - 80193ee: 4603 mov r3, r0 - 80193f0: 6023 str r3, [r4, #0] -} - -void Etape::computeChildDistances(){ - this->distances = new int[this->nbChildren]; - - for(int i=0; inbChildren; i++) - 80193f2: 68fb ldr r3, [r7, #12] - 80193f4: f103 0301 add.w r3, r3, #1 ; 0x1 - 80193f8: 60fb str r3, [r7, #12] - 80193fa: 687b ldr r3, [r7, #4] - 80193fc: 69da ldr r2, [r3, #28] - 80193fe: 68fb ldr r3, [r7, #12] - 8019400: 429a cmp r2, r3 - 8019402: dce2 bgt.n 80193ca <_ZN5Etape21computeChildDistancesEv+0x26> - { - this->distances[i] = Dijkstra::calculDistanceDirect(this->children[i], this); - } -} - 8019404: f107 0714 add.w r7, r7, #20 ; 0x14 - 8019408: 46bd mov sp, r7 - 801940a: bd90 pop {r4, r7, pc} - -0801940c <_ZN5EtapeC1Ev>: - this->numero = numero; - this->nombreEtapesLieesParFinirEtape = nombreEtapesLieesParFinirEtape; - this->score = 0; -} - -Etape::Etape(){}; - 801940c: b580 push {r7, lr} - 801940e: b082 sub sp, #8 - 8019410: af00 add r7, sp, #0 - 8019412: 6078 str r0, [r7, #4] - 8019414: 687b ldr r3, [r7, #4] - 8019416: f103 0308 add.w r3, r3, #8 ; 0x8 - 801941a: 4618 mov r0, r3 - 801941c: f7fe f98e bl 801773c <_ZN8PositionC1Ev> - 8019420: 687b ldr r3, [r7, #4] - 8019422: 4618 mov r0, r3 - 8019424: f107 0708 add.w r7, r7, #8 ; 0x8 - 8019428: 46bd mov sp, r7 - 801942a: bd80 pop {r7, pc} - -0801942c <_ZN5EtapeC2Ev>: - 801942c: b580 push {r7, lr} - 801942e: b082 sub sp, #8 - 8019430: af00 add r7, sp, #0 - 8019432: 6078 str r0, [r7, #4] - 8019434: 687b ldr r3, [r7, #4] - 8019436: f103 0308 add.w r3, r3, #8 ; 0x8 - 801943a: 4618 mov r0, r3 - 801943c: f7fe f97e bl 801773c <_ZN8PositionC1Ev> - 8019440: 687b ldr r3, [r7, #4] - 8019442: 4618 mov r0, r3 - 8019444: f107 0708 add.w r7, r7, #8 ; 0x8 - 8019448: 46bd mov sp, r7 - 801944a: bd80 pop {r7, pc} - -0801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii>: -#include "etape.h" -#include "dijkstra.h" - -Etape::Etape(Position position, Etape** children, int nbChildren, int numero, EtapeType type = POINT_PASSAGE, int state=-1, int nombreEtapesLieesParFinirEtape = 0) - 801944c: b580 push {r7, lr} - 801944e: b084 sub sp, #16 - 8019450: af00 add r7, sp, #0 - 8019452: 60f8 str r0, [r7, #12] - 8019454: f107 0004 add.w r0, r7, #4 ; 0x4 - 8019458: e880 0006 stmia.w r0, {r1, r2} - 801945c: 603b str r3, [r7, #0] - 801945e: 68fb ldr r3, [r7, #12] - 8019460: f103 0308 add.w r3, r3, #8 ; 0x8 - 8019464: 4618 mov r0, r3 - 8019466: f7fe f969 bl 801773c <_ZN8PositionC1Ev> -{ - this->position = position; - 801946a: 68fb ldr r3, [r7, #12] - 801946c: f103 0308 add.w r3, r3, #8 ; 0x8 - 8019470: 4618 mov r0, r3 - 8019472: f107 0304 add.w r3, r7, #4 ; 0x4 - 8019476: e893 0006 ldmia.w r3, {r1, r2} - 801947a: f7fe fa3f bl 80178fc <_ZN8PositionaSES_> - this->children = children; - 801947e: 68fa ldr r2, [r7, #12] - 8019480: 683b ldr r3, [r7, #0] - 8019482: 6013 str r3, [r2, #0] - this->type = type; - 8019484: 68fa ldr r2, [r7, #12] - 8019486: f897 3020 ldrb.w r3, [r7, #32] - 801948a: 7613 strb r3, [r2, #24] - this->state = state; - 801948c: 68fa ldr r2, [r7, #12] - 801948e: 6a7b ldr r3, [r7, #36] - 8019490: 6113 str r3, [r2, #16] - this->nbChildren = nbChildren; - 8019492: 68fa ldr r2, [r7, #12] - 8019494: 69bb ldr r3, [r7, #24] - 8019496: 61d3 str r3, [r2, #28] - this->distance = -1; - 8019498: 68fa ldr r2, [r7, #12] - 801949a: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 801949e: 6153 str r3, [r2, #20] - this->numero = numero; - 80194a0: 68fa ldr r2, [r7, #12] - 80194a2: 69fb ldr r3, [r7, #28] - 80194a4: 6213 str r3, [r2, #32] - this->nombreEtapesLieesParFinirEtape = nombreEtapesLieesParFinirEtape; - 80194a6: 68fa ldr r2, [r7, #12] - 80194a8: 6abb ldr r3, [r7, #40] - 80194aa: 6293 str r3, [r2, #40] - this->score = 0; - 80194ac: 68fa ldr r2, [r7, #12] - 80194ae: f04f 0300 mov.w r3, #0 ; 0x0 - 80194b2: 6313 str r3, [r2, #48] -} - 80194b4: 68fb ldr r3, [r7, #12] - 80194b6: 4618 mov r0, r3 - 80194b8: f107 0710 add.w r7, r7, #16 ; 0x10 - 80194bc: 46bd mov sp, r7 - 80194be: bd80 pop {r7, pc} - -080194c0 <_ZN5EtapeC2E8PositionPPS_iiNS_9EtapeTypeEii>: -#include "etape.h" -#include "dijkstra.h" - -Etape::Etape(Position position, Etape** children, int nbChildren, int numero, EtapeType type = POINT_PASSAGE, int state=-1, int nombreEtapesLieesParFinirEtape = 0) - 80194c0: b580 push {r7, lr} - 80194c2: b084 sub sp, #16 - 80194c4: af00 add r7, sp, #0 - 80194c6: 60f8 str r0, [r7, #12] - 80194c8: f107 0004 add.w r0, r7, #4 ; 0x4 - 80194cc: e880 0006 stmia.w r0, {r1, r2} - 80194d0: 603b str r3, [r7, #0] - 80194d2: 68fb ldr r3, [r7, #12] - 80194d4: f103 0308 add.w r3, r3, #8 ; 0x8 - 80194d8: 4618 mov r0, r3 - 80194da: f7fe f92f bl 801773c <_ZN8PositionC1Ev> -{ - this->position = position; - 80194de: 68fb ldr r3, [r7, #12] - 80194e0: f103 0308 add.w r3, r3, #8 ; 0x8 - 80194e4: 4618 mov r0, r3 - 80194e6: f107 0304 add.w r3, r7, #4 ; 0x4 - 80194ea: e893 0006 ldmia.w r3, {r1, r2} - 80194ee: f7fe fa05 bl 80178fc <_ZN8PositionaSES_> - this->children = children; - 80194f2: 68fa ldr r2, [r7, #12] - 80194f4: 683b ldr r3, [r7, #0] - 80194f6: 6013 str r3, [r2, #0] - this->type = type; - 80194f8: 68fa ldr r2, [r7, #12] - 80194fa: f897 3020 ldrb.w r3, [r7, #32] - 80194fe: 7613 strb r3, [r2, #24] - this->state = state; - 8019500: 68fa ldr r2, [r7, #12] - 8019502: 6a7b ldr r3, [r7, #36] - 8019504: 6113 str r3, [r2, #16] - this->nbChildren = nbChildren; - 8019506: 68fa ldr r2, [r7, #12] - 8019508: 69bb ldr r3, [r7, #24] - 801950a: 61d3 str r3, [r2, #28] - this->distance = -1; - 801950c: 68fa ldr r2, [r7, #12] - 801950e: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8019512: 6153 str r3, [r2, #20] - this->numero = numero; - 8019514: 68fa ldr r2, [r7, #12] - 8019516: 69fb ldr r3, [r7, #28] - 8019518: 6213 str r3, [r2, #32] - this->nombreEtapesLieesParFinirEtape = nombreEtapesLieesParFinirEtape; - 801951a: 68fa ldr r2, [r7, #12] - 801951c: 6abb ldr r3, [r7, #40] - 801951e: 6293 str r3, [r2, #40] - this->score = 0; - 8019520: 68fa ldr r2, [r7, #12] - 8019522: f04f 0300 mov.w r3, #0 ; 0x0 - 8019526: 6313 str r3, [r2, #48] -} - 8019528: 68fb ldr r3, [r7, #12] - 801952a: 4618 mov r0, r3 - 801952c: f107 0710 add.w r7, r7, #16 ; 0x10 - 8019530: 46bd mov sp, r7 - 8019532: bd80 pop {r7, pc} - 8019534: 0000 lsls r0, r0, #0 - ... - -08019538 <_ZN16EteindreBougieV216setBleuVersRougeEb>: - - return status; - -} - -void EteindreBougieV2::setBleuVersRouge(bool bleuVrouge) - 8019538: b480 push {r7} - 801953a: b083 sub sp, #12 - 801953c: af00 add r7, sp, #0 - 801953e: 6078 str r0, [r7, #4] - 8019540: 460b mov r3, r1 - 8019542: 70fb strb r3, [r7, #3] -{ - bleuVersRouge = bleuVrouge; - 8019544: 687a ldr r2, [r7, #4] - 8019546: 78fb ldrb r3, [r7, #3] - 8019548: 7713 strb r3, [r2, #28] -} - 801954a: f107 070c add.w r7, r7, #12 ; 0xc - 801954e: 46bd mov sp, r7 - 8019550: bc80 pop {r7} - 8019552: 4770 bx lr - -08019554 <_ZN16EteindreBougieV26updateEv>: -EteindreBougieV2::~EteindreBougieV2() -{ - //dtor -} - -int EteindreBougieV2::update() - 8019554: b590 push {r4, r7, lr} - 8019556: b09b sub sp, #108 - 8019558: af02 add r7, sp, #8 - 801955a: 6078 str r0, [r7, #4] -{ - allumerLED(); - 801955c: f7fb fd7c bl 8015058 <_Z10allumerLEDv> - if (status == 0) - 8019560: 687b ldr r3, [r7, #4] - 8019562: 68db ldr r3, [r3, #12] - 8019564: 2b00 cmp r3, #0 - 8019566: d110 bne.n 801958a <_ZN16EteindreBougieV26updateEv+0x36> - { - status = 1; - 8019568: 687a ldr r2, [r7, #4] - 801956a: f04f 0301 mov.w r3, #1 ; 0x1 - 801956e: 60d3 str r3, [r2, #12] - StrategieV2::setCurrentGoal(goalPosition, false, 0.50*VITESSE_LINEAIRE_MAX); - 8019570: 687a ldr r2, [r7, #4] - 8019572: 4ba7 ldr r3, [pc, #668] (8019810 <_ZN16EteindreBougieV26updateEv+0x2bc>) - 8019574: 9300 str r3, [sp, #0] - 8019576: f102 0304 add.w r3, r2, #4 ; 0x4 - 801957a: e893 0003 ldmia.w r3, {r0, r1} - 801957e: f04f 0200 mov.w r2, #0 ; 0x0 - 8019582: 4ba4 ldr r3, [pc, #656] (8019814 <_ZN16EteindreBougieV26updateEv+0x2c0>) - 8019584: f006 fb0e bl 801fba4 <_ZN11StrategieV214setCurrentGoalE8Positionbff> - 8019588: e131 b.n 80197ee <_ZN16EteindreBougieV26updateEv+0x29a> - else - StrategieV2::enableSharp(SharpSensor::FRONT_SIDE_LEFT); - if (this->checked && !this->mustPress) - status = -1;*/ - } - else if (status == 1) - 801958a: 687b ldr r3, [r7, #4] - 801958c: 68db ldr r3, [r3, #12] - 801958e: 2b01 cmp r3, #1 - 8019590: f040 808f bne.w 80196b2 <_ZN16EteindreBougieV26updateEv+0x15e> - { - Position vect = goalPosition - Odometrie::odometrie->getPos().getPosition(); - 8019594: 687b ldr r3, [r7, #4] - 8019596: f103 0404 add.w r4, r3, #4 ; 0x4 - 801959a: 4b9f ldr r3, [pc, #636] (8019818 <_ZN16EteindreBougieV26updateEv+0x2c4>) - 801959c: 681a ldr r2, [r3, #0] - 801959e: f107 031c add.w r3, r7, #28 ; 0x1c - 80195a2: 4618 mov r0, r3 - 80195a4: 4611 mov r1, r2 - 80195a6: f7f9 fafb bl 8012ba0 <_ZNK9Odometrie6getPosEv> - 80195aa: f107 0314 add.w r3, r7, #20 ; 0x14 - 80195ae: f107 021c add.w r2, r7, #28 ; 0x1c - 80195b2: 4618 mov r0, r3 - 80195b4: 4611 mov r1, r2 - 80195b6: f7fe fb49 bl 8017c4c <_ZNK17PositionPlusAngle11getPositionEv> - 80195ba: f107 030c add.w r3, r7, #12 ; 0xc - 80195be: f107 0214 add.w r2, r7, #20 ; 0x14 - 80195c2: 4618 mov r0, r3 - 80195c4: 4621 mov r1, r4 - 80195c6: f7fe f973 bl 80178b0 <_ZNK8PositionmiERKS_> - float distance = vect.getNorme(); - 80195ca: f107 030c add.w r3, r7, #12 ; 0xc - 80195ce: 4618 mov r0, r3 - 80195d0: f7fe fa7c bl 8017acc <_ZNK8Position8getNormeEv> - 80195d4: 4603 mov r3, r0 - 80195d6: 65bb str r3, [r7, #88] - allumerLED(); - 80195d8: f7fb fd3e bl 8015058 <_Z10allumerLEDv> - if (distance < 20.0) - 80195dc: 6db8 ldr r0, [r7, #88] - 80195de: 498f ldr r1, [pc, #572] (801981c <_ZN16EteindreBougieV26updateEv+0x2c8>) - 80195e0: f013 fe86 bl 802d2f0 <__aeabi_fcmplt> - 80195e4: 4603 mov r3, r0 - 80195e6: 2b00 cmp r3, #0 - 80195e8: f000 8101 beq.w 80197ee <_ZN16EteindreBougieV26updateEv+0x29a> - { - status = 2; - 80195ec: 687a ldr r2, [r7, #4] - 80195ee: f04f 0302 mov.w r3, #2 ; 0x2 - 80195f2: 60d3 str r3, [r2, #12] - StrategieV2::lookAt(Odometrie::odometrie->getPos().getPosition()+Position(1000*cos(angleToHave), 1000*sin(angleToHave))); - 80195f4: 4b88 ldr r3, [pc, #544] (8019818 <_ZN16EteindreBougieV26updateEv+0x2c4>) - 80195f6: 681a ldr r2, [r3, #0] - 80195f8: f107 0338 add.w r3, r7, #56 ; 0x38 - 80195fc: 4618 mov r0, r3 - 80195fe: 4611 mov r1, r2 - 8019600: f7f9 face bl 8012ba0 <_ZNK9Odometrie6getPosEv> - 8019604: f107 0330 add.w r3, r7, #48 ; 0x30 - 8019608: f107 0238 add.w r2, r7, #56 ; 0x38 - 801960c: 4618 mov r0, r3 - 801960e: 4611 mov r1, r2 - 8019610: f7fe fb1c bl 8017c4c <_ZNK17PositionPlusAngle11getPositionEv> - 8019614: 687b ldr r3, [r7, #4] - 8019616: 699b ldr r3, [r3, #24] - 8019618: 4618 mov r0, r3 - 801961a: f013 f85b bl 802c6d4 <__aeabi_f2d> - 801961e: 4602 mov r2, r0 - 8019620: 460b mov r3, r1 - 8019622: 4610 mov r0, r2 - 8019624: 4619 mov r1, r3 - 8019626: f017 f8d9 bl 80307dc - 801962a: 4602 mov r2, r0 - 801962c: 460b mov r3, r1 - 801962e: 4610 mov r0, r2 - 8019630: 4619 mov r1, r3 - 8019632: a273 add r2, pc, #460 (adr r2, 8019800 <_ZN16EteindreBougieV26updateEv+0x2ac>) - 8019634: ca0c ldmia r2!, {r2, r3} - 8019636: f013 f8a1 bl 802c77c <__aeabi_dmul> - 801963a: 4602 mov r2, r0 - 801963c: 460b mov r3, r1 - 801963e: 4610 mov r0, r2 - 8019640: 4619 mov r1, r3 - 8019642: f013 fb5b bl 802ccfc <__aeabi_d2f> - 8019646: 4604 mov r4, r0 - 8019648: 687b ldr r3, [r7, #4] - 801964a: 699b ldr r3, [r3, #24] - 801964c: 4618 mov r0, r3 - 801964e: f013 f841 bl 802c6d4 <__aeabi_f2d> - 8019652: 4602 mov r2, r0 - 8019654: 460b mov r3, r1 - 8019656: 4610 mov r0, r2 - 8019658: 4619 mov r1, r3 - 801965a: f017 f901 bl 8030860 - 801965e: 4602 mov r2, r0 - 8019660: 460b mov r3, r1 - 8019662: 4610 mov r0, r2 - 8019664: 4619 mov r1, r3 - 8019666: a266 add r2, pc, #408 (adr r2, 8019800 <_ZN16EteindreBougieV26updateEv+0x2ac>) - 8019668: ca0c ldmia r2!, {r2, r3} - 801966a: f013 f887 bl 802c77c <__aeabi_dmul> - 801966e: 4602 mov r2, r0 - 8019670: 460b mov r3, r1 - 8019672: 4610 mov r0, r2 - 8019674: 4619 mov r1, r3 - 8019676: f013 fb41 bl 802ccfc <__aeabi_d2f> - 801967a: 4602 mov r2, r0 - 801967c: f107 0344 add.w r3, r7, #68 ; 0x44 - 8019680: 4618 mov r0, r3 - 8019682: 4621 mov r1, r4 - 8019684: f04f 0301 mov.w r3, #1 ; 0x1 - 8019688: f7fe f892 bl 80177b0 <_ZN8PositionC1Effb> - 801968c: f107 0328 add.w r3, r7, #40 ; 0x28 - 8019690: f107 0230 add.w r2, r7, #48 ; 0x30 - 8019694: f107 0c44 add.w ip, r7, #68 ; 0x44 - 8019698: 4618 mov r0, r3 - 801969a: 4611 mov r1, r2 - 801969c: 4662 mov r2, ip - 801969e: f7fe f8e1 bl 8017864 <_ZNK8PositionplERKS_> - 80196a2: f107 0328 add.w r3, r7, #40 ; 0x28 - 80196a6: e893 0003 ldmia.w r3, {r0, r1} - 80196aa: 4a5d ldr r2, [pc, #372] (8019820 <_ZN16EteindreBougieV26updateEv+0x2cc>) - 80196ac: f006 f9e2 bl 801fa74 <_ZN11StrategieV26lookAtE8Positionf> - 80196b0: e09d b.n 80197ee <_ZN16EteindreBougieV26updateEv+0x29a> - } - } - else if (status == 2) - 80196b2: 687b ldr r3, [r7, #4] - 80196b4: 68db ldr r3, [r3, #12] - 80196b6: 2b02 cmp r3, #2 - 80196b8: d13c bne.n 8019734 <_ZN16EteindreBougieV26updateEv+0x1e0> - { - float currentAngle = wrapAngle(Odometrie::odometrie->getPos().getAngle()); - 80196ba: 4b57 ldr r3, [pc, #348] (8019818 <_ZN16EteindreBougieV26updateEv+0x2c4>) - 80196bc: 681a ldr r2, [r3, #0] - 80196be: f107 034c add.w r3, r7, #76 ; 0x4c - 80196c2: 4618 mov r0, r3 - 80196c4: 4611 mov r1, r2 - 80196c6: f7f9 fa6b bl 8012ba0 <_ZNK9Odometrie6getPosEv> - 80196ca: f107 034c add.w r3, r7, #76 ; 0x4c - 80196ce: 4618 mov r0, r3 - 80196d0: f7fe face bl 8017c70 <_ZNK17PositionPlusAngle8getAngleEv> - 80196d4: 4603 mov r3, r0 - 80196d6: 4618 mov r0, r3 - 80196d8: f7f6 fe9a bl 8010410 <_Z9wrapAnglef> - 80196dc: 4603 mov r3, r0 - 80196de: 65fb str r3, [r7, #92] - allumerLED(); - 80196e0: f7fb fcba bl 8015058 <_Z10allumerLEDv> - if (fabs(currentAngle - angleToHave ) < 0.2) - 80196e4: 687b ldr r3, [r7, #4] - 80196e6: 699b ldr r3, [r3, #24] - 80196e8: 6df8 ldr r0, [r7, #92] - 80196ea: 4619 mov r1, r3 - 80196ec: f013 fb5a bl 802cda4 <__aeabi_fsub> - 80196f0: 4603 mov r3, r0 - 80196f2: f023 4300 bic.w r3, r3, #2147483648 ; 0x80000000 - 80196f6: 4618 mov r0, r3 - 80196f8: f012 ffec bl 802c6d4 <__aeabi_f2d> - 80196fc: 4602 mov r2, r0 - 80196fe: 460b mov r3, r1 - 8019700: 4610 mov r0, r2 - 8019702: 4619 mov r1, r3 - 8019704: a240 add r2, pc, #256 (adr r2, 8019808 <_ZN16EteindreBougieV26updateEv+0x2b4>) - 8019706: ca0c ldmia r2!, {r2, r3} - 8019708: f013 faa8 bl 802cc5c <__aeabi_dcmplt> - 801970c: 4603 mov r3, r0 - 801970e: 2b00 cmp r3, #0 - 8019710: d06d beq.n 80197ee <_ZN16EteindreBougieV26updateEv+0x29a> - { - status = 3; - 8019712: 687a ldr r2, [r7, #4] - 8019714: f04f 0303 mov.w r3, #3 ; 0x3 - 8019718: 60d3 str r3, [r2, #12] - Marteaux::enfoncerMarteau(bougieBasse, bleuVersRouge); // baisser le marteau - 801971a: 687b ldr r3, [r7, #4] - 801971c: 7f5a ldrb r2, [r3, #29] - 801971e: 687b ldr r3, [r7, #4] - 8019720: 7f1b ldrb r3, [r3, #28] - 8019722: 4610 mov r0, r2 - 8019724: 4619 mov r1, r3 - 8019726: f7f5 fa4d bl 800ebc4 <_ZN8Marteaux15enfoncerMarteauEbb> - StrategieV2::setCommand(NULL); - 801972a: f04f 0000 mov.w r0, #0 ; 0x0 - 801972e: f006 f871 bl 801f814 <_ZN11StrategieV210setCommandEP7Command> - 8019732: e05c b.n 80197ee <_ZN16EteindreBougieV26updateEv+0x29a> - } - } - else if (status == 100) // - 8019734: 687b ldr r3, [r7, #4] - 8019736: 68db ldr r3, [r3, #12] - 8019738: 2b64 cmp r3, #100 - 801973a: d10e bne.n 801975a <_ZN16EteindreBougieV26updateEv+0x206> - { - Marteaux::releverMarteau(bougieBasse, bleuVersRouge); // - 801973c: 687b ldr r3, [r7, #4] - 801973e: 7f5a ldrb r2, [r3, #29] - 8019740: 687b ldr r3, [r7, #4] - 8019742: 7f1b ldrb r3, [r3, #28] - 8019744: 4610 mov r0, r2 - 8019746: 4619 mov r1, r3 - 8019748: f7f5 fa10 bl 800eb6c <_ZN8Marteaux14releverMarteauEbb> - status++; - 801974c: 687b ldr r3, [r7, #4] - 801974e: 68db ldr r3, [r3, #12] - 8019750: f103 0201 add.w r2, r3, #1 ; 0x1 - 8019754: 687b ldr r3, [r7, #4] - 8019756: 60da str r2, [r3, #12] - 8019758: e049 b.n 80197ee <_ZN16EteindreBougieV26updateEv+0x29a> - } - else if (status == 150) // - 801975a: 687b ldr r3, [r7, #4] - 801975c: 68db ldr r3, [r3, #12] - 801975e: 2b96 cmp r3, #150 - 8019760: d110 bne.n 8019784 <_ZN16EteindreBougieV26updateEv+0x230> - { - allumerLED(); - 8019762: f7fb fc79 bl 8015058 <_Z10allumerLEDv> - Marteaux::enfoncerMarteau(bougieBasse, bleuVersRouge); // - 8019766: 687b ldr r3, [r7, #4] - 8019768: 7f5a ldrb r2, [r3, #29] - 801976a: 687b ldr r3, [r7, #4] - 801976c: 7f1b ldrb r3, [r3, #28] - 801976e: 4610 mov r0, r2 - 8019770: 4619 mov r1, r3 - 8019772: f7f5 fa27 bl 800ebc4 <_ZN8Marteaux15enfoncerMarteauEbb> - status++; - 8019776: 687b ldr r3, [r7, #4] - 8019778: 68db ldr r3, [r3, #12] - 801977a: f103 0201 add.w r2, r3, #1 ; 0x1 - 801977e: 687b ldr r3, [r7, #4] - 8019780: 60da str r2, [r3, #12] - 8019782: e034 b.n 80197ee <_ZN16EteindreBougieV26updateEv+0x29a> - } - else if (status == 200) // - 8019784: 687b ldr r3, [r7, #4] - 8019786: 68db ldr r3, [r3, #12] - 8019788: 2bc8 cmp r3, #200 - 801978a: d11b bne.n 80197c4 <_ZN16EteindreBougieV26updateEv+0x270> - { - if (bougieBasse) - 801978c: 687b ldr r3, [r7, #4] - 801978e: 7f5b ldrb r3, [r3, #29] - 8019790: 2b00 cmp r3, #0 - 8019792: d008 beq.n 80197a6 <_ZN16EteindreBougieV26updateEv+0x252> - Marteaux::rangerMarteau(bougieBasse, bleuVersRouge); // - 8019794: 687b ldr r3, [r7, #4] - 8019796: 7f5a ldrb r2, [r3, #29] - 8019798: 687b ldr r3, [r7, #4] - 801979a: 7f1b ldrb r3, [r3, #28] - 801979c: 4610 mov r0, r2 - 801979e: 4619 mov r1, r3 - 80197a0: f7f5 f9b8 bl 800eb14 <_ZN8Marteaux13rangerMarteauEbb> - 80197a4: e007 b.n 80197b6 <_ZN16EteindreBougieV26updateEv+0x262> - else - Marteaux::releverMarteau(bougieBasse, bleuVersRouge); // - 80197a6: 687b ldr r3, [r7, #4] - 80197a8: 7f5a ldrb r2, [r3, #29] - 80197aa: 687b ldr r3, [r7, #4] - 80197ac: 7f1b ldrb r3, [r3, #28] - 80197ae: 4610 mov r0, r2 - 80197b0: 4619 mov r1, r3 - 80197b2: f7f5 f9db bl 800eb6c <_ZN8Marteaux14releverMarteauEbb> - status++; - 80197b6: 687b ldr r3, [r7, #4] - 80197b8: 68db ldr r3, [r3, #12] - 80197ba: f103 0201 add.w r2, r3, #1 ; 0x1 - 80197be: 687b ldr r3, [r7, #4] - 80197c0: 60da str r2, [r3, #12] - 80197c2: e014 b.n 80197ee <_ZN16EteindreBougieV26updateEv+0x29a> - } - else if (status == 250) - 80197c4: 687b ldr r3, [r7, #4] - 80197c6: 68db ldr r3, [r3, #12] - 80197c8: 2bfa cmp r3, #250 - 80197ca: d104 bne.n 80197d6 <_ZN16EteindreBougieV26updateEv+0x282> - { - status = -1; - 80197cc: 687a ldr r2, [r7, #4] - 80197ce: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 80197d2: 60d3 str r3, [r2, #12] - 80197d4: e00b b.n 80197ee <_ZN16EteindreBougieV26updateEv+0x29a> - } - else if (status > 2) - 80197d6: 687b ldr r3, [r7, #4] - 80197d8: 68db ldr r3, [r3, #12] - 80197da: 2b02 cmp r3, #2 - 80197dc: dd07 ble.n 80197ee <_ZN16EteindreBougieV26updateEv+0x29a> - { - allumerLED(); - 80197de: f7fb fc3b bl 8015058 <_Z10allumerLEDv> - status++; - 80197e2: 687b ldr r3, [r7, #4] - 80197e4: 68db ldr r3, [r3, #12] - 80197e6: f103 0201 add.w r2, r3, #1 ; 0x1 - 80197ea: 687b ldr r3, [r7, #4] - 80197ec: 60da str r2, [r3, #12] - } - - return status; - 80197ee: 687b ldr r3, [r7, #4] - 80197f0: 68db ldr r3, [r3, #12] - -} - 80197f2: 4618 mov r0, r3 - 80197f4: f107 0764 add.w r7, r7, #100 ; 0x64 - 80197f8: 46bd mov sp, r7 - 80197fa: bd90 pop {r4, r7, pc} - 80197fc: 46c0 nop (mov r8, r8) - 80197fe: 46c0 nop (mov r8, r8) - 8019800: 00000000 .word 0x00000000 - 8019804: 408f4000 .word 0x408f4000 - 8019808: 9999999a .word 0x9999999a - 801980c: 3fc99999 .word 0x3fc99999 - 8019810: c2c80000 .word 0xc2c80000 - 8019814: 3f000000 .word 0x3f000000 - 8019818: 20000590 .word 0x20000590 - 801981c: 41a00000 .word 0x41a00000 - 8019820: 3c23d70a .word 0x3c23d70a - -08019824 <_ZN16EteindreBougieV2D0Ev>: - mustPress = mine; - bleuVersRouge = bvr; - status = 0; -} - -EteindreBougieV2::~EteindreBougieV2() - 8019824: b580 push {r7, lr} - 8019826: b082 sub sp, #8 - 8019828: af00 add r7, sp, #0 - 801982a: 6078 str r0, [r7, #4] - 801982c: 687a ldr r2, [r7, #4] - 801982e: 4b0a ldr r3, [pc, #40] (8019858 <_ZN16EteindreBougieV2D0Ev+0x34>) - 8019830: 6013 str r3, [r2, #0] -{ - //dtor -} - 8019832: 687b ldr r3, [r7, #4] - 8019834: 4618 mov r0, r3 - 8019836: f002 fbeb bl 801c010 <_ZN17MediumLevelActionD2Ev> - 801983a: f04f 0301 mov.w r3, #1 ; 0x1 - 801983e: b2db uxtb r3, r3 - 8019840: 2b00 cmp r3, #0 - 8019842: d002 beq.n 801984a <_ZN16EteindreBougieV2D0Ev+0x26> - 8019844: 6878 ldr r0, [r7, #4] - 8019846: f7fd fee1 bl 801760c <_ZdlPv> - 801984a: 687b ldr r3, [r7, #4] - 801984c: 4618 mov r0, r3 - 801984e: f107 0708 add.w r7, r7, #8 ; 0x8 - 8019852: 46bd mov sp, r7 - 8019854: bd80 pop {r7, pc} - 8019856: 46c0 nop (mov r8, r8) - 8019858: 08034080 .word 0x08034080 - -0801985c <_ZN16EteindreBougieV2D1Ev>: - mustPress = mine; - bleuVersRouge = bvr; - status = 0; -} - -EteindreBougieV2::~EteindreBougieV2() - 801985c: b580 push {r7, lr} - 801985e: b082 sub sp, #8 - 8019860: af00 add r7, sp, #0 - 8019862: 6078 str r0, [r7, #4] - 8019864: 687a ldr r2, [r7, #4] - 8019866: 4b0a ldr r3, [pc, #40] (8019890 <_ZN16EteindreBougieV2D1Ev+0x34>) - 8019868: 6013 str r3, [r2, #0] -{ - //dtor -} - 801986a: 687b ldr r3, [r7, #4] - 801986c: 4618 mov r0, r3 - 801986e: f002 fbcf bl 801c010 <_ZN17MediumLevelActionD2Ev> - 8019872: f04f 0300 mov.w r3, #0 ; 0x0 - 8019876: b2db uxtb r3, r3 - 8019878: 2b00 cmp r3, #0 - 801987a: d002 beq.n 8019882 <_ZN16EteindreBougieV2D1Ev+0x26> - 801987c: 6878 ldr r0, [r7, #4] - 801987e: f7fd fec5 bl 801760c <_ZdlPv> - 8019882: 687b ldr r3, [r7, #4] - 8019884: 4618 mov r0, r3 - 8019886: f107 0708 add.w r7, r7, #8 ; 0x8 - 801988a: 46bd mov sp, r7 - 801988c: bd80 pop {r7, pc} - 801988e: 46c0 nop (mov r8, r8) - 8019890: 08034080 .word 0x08034080 - -08019894 <_ZN16EteindreBougieV2D2Ev>: - mustPress = mine; - bleuVersRouge = bvr; - status = 0; -} - -EteindreBougieV2::~EteindreBougieV2() - 8019894: b580 push {r7, lr} - 8019896: b082 sub sp, #8 - 8019898: af00 add r7, sp, #0 - 801989a: 6078 str r0, [r7, #4] - 801989c: 687a ldr r2, [r7, #4] - 801989e: 4b0a ldr r3, [pc, #40] (80198c8 <_ZN16EteindreBougieV2D2Ev+0x34>) - 80198a0: 6013 str r3, [r2, #0] -{ - //dtor -} - 80198a2: 687b ldr r3, [r7, #4] - 80198a4: 4618 mov r0, r3 - 80198a6: f002 fbb3 bl 801c010 <_ZN17MediumLevelActionD2Ev> - 80198aa: f04f 0300 mov.w r3, #0 ; 0x0 - 80198ae: b2db uxtb r3, r3 - 80198b0: 2b00 cmp r3, #0 - 80198b2: d002 beq.n 80198ba <_ZN16EteindreBougieV2D2Ev+0x26> - 80198b4: 6878 ldr r0, [r7, #4] - 80198b6: f7fd fea9 bl 801760c <_ZdlPv> - 80198ba: 687b ldr r3, [r7, #4] - 80198bc: 4618 mov r0, r3 - 80198be: f107 0708 add.w r7, r7, #8 ; 0x8 - 80198c2: 46bd mov sp, r7 - 80198c4: bd80 pop {r7, pc} - 80198c6: 46c0 nop (mov r8, r8) - 80198c8: 08034080 .word 0x08034080 - -080198cc <_ZN16EteindreBougieV2C1E8Positionfbbbb>: -#include "strategieV2.h" -#include "marteaux.h" -#include "leds.h" -#include "asservissement.h" - -EteindreBougieV2::EteindreBougieV2(Position pos, float angle, bool bas, bool check, bool mine, bool bvr) : MediumLevelAction(pos) - 80198cc: b580 push {r7, lr} - 80198ce: b086 sub sp, #24 - 80198d0: af00 add r7, sp, #0 - 80198d2: 6178 str r0, [r7, #20] - 80198d4: f107 000c add.w r0, r7, #12 ; 0xc - 80198d8: e880 0006 stmia.w r0, {r1, r2} - 80198dc: 60bb str r3, [r7, #8] - 80198de: 697b ldr r3, [r7, #20] - 80198e0: 4618 mov r0, r3 - 80198e2: f107 030c add.w r3, r7, #12 ; 0xc - 80198e6: e893 0006 ldmia.w r3, {r1, r2} - 80198ea: f002 fbd1 bl 801c090 <_ZN17MediumLevelActionC2E8Position> - 80198ee: 697a ldr r2, [r7, #20] - 80198f0: 4b21 ldr r3, [pc, #132] (8019978 <_ZN16EteindreBougieV2C1E8Positionfbbbb+0xac>) - 80198f2: 6013 str r3, [r2, #0] -{ - angleToHave = (StrategieV2::getIsBlue() ? angle : wrapAngle(M_PI+angle)); - 80198f4: f005 ff3e bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 80198f8: 4603 mov r3, r0 - 80198fa: 2b00 cmp r3, #0 - 80198fc: d002 beq.n 8019904 <_ZN16EteindreBougieV2C1E8Positionfbbbb+0x38> - 80198fe: 68ba ldr r2, [r7, #8] - 8019900: 607a str r2, [r7, #4] - 8019902: e016 b.n 8019932 <_ZN16EteindreBougieV2C1E8Positionfbbbb+0x66> - 8019904: 68b8 ldr r0, [r7, #8] - 8019906: f012 fee5 bl 802c6d4 <__aeabi_f2d> - 801990a: 4602 mov r2, r0 - 801990c: 460b mov r3, r1 - 801990e: 4610 mov r0, r2 - 8019910: 4619 mov r1, r3 - 8019912: a217 add r2, pc, #92 (adr r2, 8019970 <_ZN16EteindreBougieV2C1E8Positionfbbbb+0xa4>) - 8019914: ca0c ldmia r2!, {r2, r3} - 8019916: f012 fd7f bl 802c418 <__adddf3> - 801991a: 4602 mov r2, r0 - 801991c: 460b mov r3, r1 - 801991e: 4610 mov r0, r2 - 8019920: 4619 mov r1, r3 - 8019922: f013 f9eb bl 802ccfc <__aeabi_d2f> - 8019926: 4603 mov r3, r0 - 8019928: 4618 mov r0, r3 - 801992a: f7f6 fd71 bl 8010410 <_Z9wrapAnglef> - 801992e: 4603 mov r3, r0 - 8019930: 607b str r3, [r7, #4] - 8019932: 697b ldr r3, [r7, #20] - 8019934: 687a ldr r2, [r7, #4] - 8019936: 619a str r2, [r3, #24] - bougieBasse = bas; - 8019938: 697a ldr r2, [r7, #20] - 801993a: f897 3020 ldrb.w r3, [r7, #32] - 801993e: 7753 strb r3, [r2, #29] - checked = check; - 8019940: 697a ldr r2, [r7, #20] - 8019942: f897 3024 ldrb.w r3, [r7, #36] - 8019946: 7793 strb r3, [r2, #30] - mustPress = mine; - 8019948: 697a ldr r2, [r7, #20] - 801994a: f897 3028 ldrb.w r3, [r7, #40] - 801994e: 77d3 strb r3, [r2, #31] - bleuVersRouge = bvr; - 8019950: 697a ldr r2, [r7, #20] - 8019952: f897 302c ldrb.w r3, [r7, #44] - 8019956: 7713 strb r3, [r2, #28] - status = 0; - 8019958: 697a ldr r2, [r7, #20] - 801995a: f04f 0300 mov.w r3, #0 ; 0x0 - 801995e: 60d3 str r3, [r2, #12] -} - 8019960: 697b ldr r3, [r7, #20] - 8019962: 4618 mov r0, r3 - 8019964: f107 0718 add.w r7, r7, #24 ; 0x18 - 8019968: 46bd mov sp, r7 - 801996a: bd80 pop {r7, pc} - 801996c: 46c0 nop (mov r8, r8) - 801996e: 46c0 nop (mov r8, r8) - 8019970: 54442d18 .word 0x54442d18 - 8019974: 400921fb .word 0x400921fb - 8019978: 08034080 .word 0x08034080 - -0801997c <_ZN16EteindreBougieV2C2E8Positionfbbbb>: -#include "strategieV2.h" -#include "marteaux.h" -#include "leds.h" -#include "asservissement.h" - -EteindreBougieV2::EteindreBougieV2(Position pos, float angle, bool bas, bool check, bool mine, bool bvr) : MediumLevelAction(pos) - 801997c: b580 push {r7, lr} - 801997e: b086 sub sp, #24 - 8019980: af00 add r7, sp, #0 - 8019982: 6178 str r0, [r7, #20] - 8019984: f107 000c add.w r0, r7, #12 ; 0xc - 8019988: e880 0006 stmia.w r0, {r1, r2} - 801998c: 60bb str r3, [r7, #8] - 801998e: 697b ldr r3, [r7, #20] - 8019990: 4618 mov r0, r3 - 8019992: f107 030c add.w r3, r7, #12 ; 0xc - 8019996: e893 0006 ldmia.w r3, {r1, r2} - 801999a: f002 fb79 bl 801c090 <_ZN17MediumLevelActionC2E8Position> - 801999e: 697a ldr r2, [r7, #20] - 80199a0: 4b21 ldr r3, [pc, #132] (8019a28 <_ZN16EteindreBougieV2C2E8Positionfbbbb+0xac>) - 80199a2: 6013 str r3, [r2, #0] -{ - angleToHave = (StrategieV2::getIsBlue() ? angle : wrapAngle(M_PI+angle)); - 80199a4: f005 fee6 bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 80199a8: 4603 mov r3, r0 - 80199aa: 2b00 cmp r3, #0 - 80199ac: d002 beq.n 80199b4 <_ZN16EteindreBougieV2C2E8Positionfbbbb+0x38> - 80199ae: 68ba ldr r2, [r7, #8] - 80199b0: 607a str r2, [r7, #4] - 80199b2: e016 b.n 80199e2 <_ZN16EteindreBougieV2C2E8Positionfbbbb+0x66> - 80199b4: 68b8 ldr r0, [r7, #8] - 80199b6: f012 fe8d bl 802c6d4 <__aeabi_f2d> - 80199ba: 4602 mov r2, r0 - 80199bc: 460b mov r3, r1 - 80199be: 4610 mov r0, r2 - 80199c0: 4619 mov r1, r3 - 80199c2: a217 add r2, pc, #92 (adr r2, 8019a20 <_ZN16EteindreBougieV2C2E8Positionfbbbb+0xa4>) - 80199c4: ca0c ldmia r2!, {r2, r3} - 80199c6: f012 fd27 bl 802c418 <__adddf3> - 80199ca: 4602 mov r2, r0 - 80199cc: 460b mov r3, r1 - 80199ce: 4610 mov r0, r2 - 80199d0: 4619 mov r1, r3 - 80199d2: f013 f993 bl 802ccfc <__aeabi_d2f> - 80199d6: 4603 mov r3, r0 - 80199d8: 4618 mov r0, r3 - 80199da: f7f6 fd19 bl 8010410 <_Z9wrapAnglef> - 80199de: 4603 mov r3, r0 - 80199e0: 607b str r3, [r7, #4] - 80199e2: 697b ldr r3, [r7, #20] - 80199e4: 687a ldr r2, [r7, #4] - 80199e6: 619a str r2, [r3, #24] - bougieBasse = bas; - 80199e8: 697a ldr r2, [r7, #20] - 80199ea: f897 3020 ldrb.w r3, [r7, #32] - 80199ee: 7753 strb r3, [r2, #29] - checked = check; - 80199f0: 697a ldr r2, [r7, #20] - 80199f2: f897 3024 ldrb.w r3, [r7, #36] - 80199f6: 7793 strb r3, [r2, #30] - mustPress = mine; - 80199f8: 697a ldr r2, [r7, #20] - 80199fa: f897 3028 ldrb.w r3, [r7, #40] - 80199fe: 77d3 strb r3, [r2, #31] - bleuVersRouge = bvr; - 8019a00: 697a ldr r2, [r7, #20] - 8019a02: f897 302c ldrb.w r3, [r7, #44] - 8019a06: 7713 strb r3, [r2, #28] - status = 0; - 8019a08: 697a ldr r2, [r7, #20] - 8019a0a: f04f 0300 mov.w r3, #0 ; 0x0 - 8019a0e: 60d3 str r3, [r2, #12] -} - 8019a10: 697b ldr r3, [r7, #20] - 8019a12: 4618 mov r0, r3 - 8019a14: f107 0718 add.w r7, r7, #24 ; 0x18 - 8019a18: 46bd mov sp, r7 - 8019a1a: bd80 pop {r7, pc} - 8019a1c: 46c0 nop (mov r8, r8) - 8019a1e: 46c0 nop (mov r8, r8) - 8019a20: 54442d18 .word 0x54442d18 - 8019a24: 400921fb .word 0x400921fb - 8019a28: 08034080 .word 0x08034080 - 8019a2c: 46c046c0 .word 0x46c046c0 - -08019a30 <_ZN15EteindreBougies6updateEv>: -EteindreBougies::~EteindreBougies() -{ - //dtor -} - -int EteindreBougies::update() - 8019a30: b590 push {r4, r7, lr} - 8019a32: b0ad sub sp, #180 - 8019a34: af02 add r7, sp, #8 - 8019a36: 60f8 str r0, [r7, #12] -{ - //allumerLED2(); - if (status == 0) - 8019a38: 68fb ldr r3, [r7, #12] - 8019a3a: 68db ldr r3, [r3, #12] - 8019a3c: 2b00 cmp r3, #0 - 8019a3e: d104 bne.n 8019a4a <_ZN15EteindreBougies6updateEv+0x1a> - status = 1; - 8019a40: 68fa ldr r2, [r7, #12] - 8019a42: f04f 0301 mov.w r3, #1 ; 0x1 - 8019a46: 60d3 str r3, [r2, #12] - 8019a48: e1b5 b.n 8019db6 <_ZN15EteindreBougies6updateEv+0x386> - else if (status == 1) // mise en place du robot - 8019a4a: 68fb ldr r3, [r7, #12] - 8019a4c: 68db ldr r3, [r3, #12] - 8019a4e: 2b01 cmp r3, #1 - 8019a50: d11b bne.n 8019a8a <_ZN15EteindreBougies6updateEv+0x5a> - { - StrategieV2::setCurrentGoal(Position(1000, 1360, StrategieV2::getIsBlue()), false); // positions a changer pour ne faire que les blanches - 8019a52: f005 fe8f bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 8019a56: 4603 mov r3, r0 - 8019a58: 469c mov ip, r3 - 8019a5a: f107 0324 add.w r3, r7, #36 ; 0x24 - 8019a5e: 4618 mov r0, r3 - 8019a60: 49db ldr r1, [pc, #876] (8019dd0 <_ZN15EteindreBougies6updateEv+0x3a0>) - 8019a62: 4adc ldr r2, [pc, #880] (8019dd4 <_ZN15EteindreBougies6updateEv+0x3a4>) - 8019a64: 4663 mov r3, ip - 8019a66: f7fd fea3 bl 80177b0 <_ZN8PositionC1Effb> - 8019a6a: 4bdb ldr r3, [pc, #876] (8019dd8 <_ZN15EteindreBougies6updateEv+0x3a8>) - 8019a6c: 9300 str r3, [sp, #0] - 8019a6e: f107 0324 add.w r3, r7, #36 ; 0x24 - 8019a72: e893 0003 ldmia.w r3, {r0, r1} - 8019a76: f04f 0200 mov.w r2, #0 ; 0x0 - 8019a7a: 4bd8 ldr r3, [pc, #864] (8019ddc <_ZN15EteindreBougies6updateEv+0x3ac>) - 8019a7c: f006 f892 bl 801fba4 <_ZN11StrategieV214setCurrentGoalE8Positionbff> - status = 2; - 8019a80: 68fa ldr r2, [r7, #12] - 8019a82: f04f 0302 mov.w r3, #2 ; 0x2 - 8019a86: 60d3 str r3, [r2, #12] - 8019a88: e195 b.n 8019db6 <_ZN15EteindreBougies6updateEv+0x386> - } - else if (status == 2) // mise en place du robot - 8019a8a: 68fb ldr r3, [r7, #12] - 8019a8c: 68db ldr r3, [r3, #12] - 8019a8e: 2b02 cmp r3, #2 - 8019a90: d15b bne.n 8019b4a <_ZN15EteindreBougies6updateEv+0x11a> - { - Position vect = Position(1000, 1360, StrategieV2::getIsBlue()) - Odometrie::odometrie->getPos().getPosition(); - 8019a92: f005 fe6f bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 8019a96: 4603 mov r3, r0 - 8019a98: 469c mov ip, r3 - 8019a9a: f107 032c add.w r3, r7, #44 ; 0x2c - 8019a9e: 4618 mov r0, r3 - 8019aa0: 49cb ldr r1, [pc, #812] (8019dd0 <_ZN15EteindreBougies6updateEv+0x3a0>) - 8019aa2: 4acc ldr r2, [pc, #816] (8019dd4 <_ZN15EteindreBougies6updateEv+0x3a4>) - 8019aa4: 4663 mov r3, ip - 8019aa6: f7fd fe83 bl 80177b0 <_ZN8PositionC1Effb> - 8019aaa: 4bcd ldr r3, [pc, #820] (8019de0 <_ZN15EteindreBougies6updateEv+0x3b0>) - 8019aac: 681a ldr r2, [r3, #0] - 8019aae: f107 033c add.w r3, r7, #60 ; 0x3c - 8019ab2: 4618 mov r0, r3 - 8019ab4: 4611 mov r1, r2 - 8019ab6: f7f9 f873 bl 8012ba0 <_ZNK9Odometrie6getPosEv> - 8019aba: f107 0334 add.w r3, r7, #52 ; 0x34 - 8019abe: f107 023c add.w r2, r7, #60 ; 0x3c - 8019ac2: 4618 mov r0, r3 - 8019ac4: 4611 mov r1, r2 - 8019ac6: f7fe f8c1 bl 8017c4c <_ZNK17PositionPlusAngle11getPositionEv> - 8019aca: f107 031c add.w r3, r7, #28 ; 0x1c - 8019ace: f107 022c add.w r2, r7, #44 ; 0x2c - 8019ad2: f107 0c34 add.w ip, r7, #52 ; 0x34 - 8019ad6: 4618 mov r0, r3 - 8019ad8: 4611 mov r1, r2 - 8019ada: 4662 mov r2, ip - 8019adc: f7fd fee8 bl 80178b0 <_ZNK8PositionmiERKS_> - // allumerLED2(); - if (vect.getNorme() < 10) - 8019ae0: f107 031c add.w r3, r7, #28 ; 0x1c - 8019ae4: 4618 mov r0, r3 - 8019ae6: f7fd fff1 bl 8017acc <_ZNK8Position8getNormeEv> - 8019aea: 4602 mov r2, r0 - 8019aec: f04f 0300 mov.w r3, #0 ; 0x0 - 8019af0: 70fb strb r3, [r7, #3] - 8019af2: 4610 mov r0, r2 - 8019af4: 49bb ldr r1, [pc, #748] (8019de4 <_ZN15EteindreBougies6updateEv+0x3b4>) - 8019af6: f013 fbfb bl 802d2f0 <__aeabi_fcmplt> - 8019afa: 4603 mov r3, r0 - 8019afc: 2b00 cmp r3, #0 - 8019afe: d002 beq.n 8019b06 <_ZN15EteindreBougies6updateEv+0xd6> - 8019b00: f04f 0301 mov.w r3, #1 ; 0x1 - 8019b04: 70fb strb r3, [r7, #3] - 8019b06: 78fb ldrb r3, [r7, #3] - 8019b08: 2b00 cmp r3, #0 - 8019b0a: f000 8154 beq.w 8019db6 <_ZN15EteindreBougies6updateEv+0x386> - { - StrategieV2::setCurrentGoal(Position(850, 1793, StrategieV2::getIsBlue()), true); // positions a changer pour ne faire que les blanches - 8019b0e: f005 fe31 bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 8019b12: 4603 mov r3, r0 - 8019b14: 469c mov ip, r3 - 8019b16: f107 0348 add.w r3, r7, #72 ; 0x48 - 8019b1a: 4618 mov r0, r3 - 8019b1c: 49b2 ldr r1, [pc, #712] (8019de8 <_ZN15EteindreBougies6updateEv+0x3b8>) - 8019b1e: 4ab3 ldr r2, [pc, #716] (8019dec <_ZN15EteindreBougies6updateEv+0x3bc>) - 8019b20: 4663 mov r3, ip - 8019b22: f7fd fe45 bl 80177b0 <_ZN8PositionC1Effb> - 8019b26: 4bac ldr r3, [pc, #688] (8019dd8 <_ZN15EteindreBougies6updateEv+0x3a8>) - 8019b28: 9300 str r3, [sp, #0] - 8019b2a: f107 0348 add.w r3, r7, #72 ; 0x48 - 8019b2e: e893 0003 ldmia.w r3, {r0, r1} - 8019b32: f04f 0201 mov.w r2, #1 ; 0x1 - 8019b36: 4ba9 ldr r3, [pc, #676] (8019ddc <_ZN15EteindreBougies6updateEv+0x3ac>) - 8019b38: f006 f834 bl 801fba4 <_ZN11StrategieV214setCurrentGoalE8Positionbff> - Marteaux::releverHautGauche(); - 8019b3c: f7f5 f80a bl 800eb54 <_ZN8Marteaux17releverHautGaucheEv> - status = 3; - 8019b40: 68fa ldr r2, [r7, #12] - 8019b42: f04f 0303 mov.w r3, #3 ; 0x3 - 8019b46: 60d3 str r3, [r2, #12] - 8019b48: e135 b.n 8019db6 <_ZN15EteindreBougies6updateEv+0x386> - } - } - else if (status == 3) // choisir la bougie a faire - 8019b4a: 68fb ldr r3, [r7, #12] - 8019b4c: 68db ldr r3, [r3, #12] - 8019b4e: 2b03 cmp r3, #3 - 8019b50: d14c bne.n 8019bec <_ZN15EteindreBougies6updateEv+0x1bc> - { - Position vect = Position(850, 1793, StrategieV2::getIsBlue()) - Odometrie::odometrie->getPos().getPosition(); - 8019b52: f005 fe0f bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 8019b56: 4603 mov r3, r0 - 8019b58: 469c mov ip, r3 - 8019b5a: f107 0350 add.w r3, r7, #80 ; 0x50 - 8019b5e: 4618 mov r0, r3 - 8019b60: 49a1 ldr r1, [pc, #644] (8019de8 <_ZN15EteindreBougies6updateEv+0x3b8>) - 8019b62: 4aa2 ldr r2, [pc, #648] (8019dec <_ZN15EteindreBougies6updateEv+0x3bc>) - 8019b64: 4663 mov r3, ip - 8019b66: f7fd fe23 bl 80177b0 <_ZN8PositionC1Effb> - 8019b6a: 4b9d ldr r3, [pc, #628] (8019de0 <_ZN15EteindreBougies6updateEv+0x3b0>) - 8019b6c: 681a ldr r2, [r3, #0] - 8019b6e: f107 0360 add.w r3, r7, #96 ; 0x60 - 8019b72: 4618 mov r0, r3 - 8019b74: 4611 mov r1, r2 - 8019b76: f7f9 f813 bl 8012ba0 <_ZNK9Odometrie6getPosEv> - 8019b7a: f107 0358 add.w r3, r7, #88 ; 0x58 - 8019b7e: f107 0260 add.w r2, r7, #96 ; 0x60 - 8019b82: 4618 mov r0, r3 - 8019b84: 4611 mov r1, r2 - 8019b86: f7fe f861 bl 8017c4c <_ZNK17PositionPlusAngle11getPositionEv> - 8019b8a: f107 0314 add.w r3, r7, #20 ; 0x14 - 8019b8e: f107 0250 add.w r2, r7, #80 ; 0x50 - 8019b92: f107 0c58 add.w ip, r7, #88 ; 0x58 - 8019b96: 4618 mov r0, r3 - 8019b98: 4611 mov r1, r2 - 8019b9a: 4662 mov r2, ip - 8019b9c: f7fd fe88 bl 80178b0 <_ZNK8PositionmiERKS_> - if (vect.getNorme() < 10) - 8019ba0: f107 0314 add.w r3, r7, #20 ; 0x14 - 8019ba4: 4618 mov r0, r3 - 8019ba6: f7fd ff91 bl 8017acc <_ZNK8Position8getNormeEv> - 8019baa: 4602 mov r2, r0 - 8019bac: f04f 0300 mov.w r3, #0 ; 0x0 - 8019bb0: 70bb strb r3, [r7, #2] - 8019bb2: 4610 mov r0, r2 - 8019bb4: 498b ldr r1, [pc, #556] (8019de4 <_ZN15EteindreBougies6updateEv+0x3b4>) - 8019bb6: f013 fb9b bl 802d2f0 <__aeabi_fcmplt> - 8019bba: 4603 mov r3, r0 - 8019bbc: 2b00 cmp r3, #0 - 8019bbe: d002 beq.n 8019bc6 <_ZN15EteindreBougies6updateEv+0x196> - 8019bc0: f04f 0301 mov.w r3, #1 ; 0x1 - 8019bc4: 70bb strb r3, [r7, #2] - 8019bc6: 78bb ldrb r3, [r7, #2] - 8019bc8: 2b00 cmp r3, #0 - 8019bca: f000 80f4 beq.w 8019db6 <_ZN15EteindreBougies6updateEv+0x386> - { - //Asservissement::asservissement->roues.droite.tourne(0); - //Asservissement::asservissement->roues.gauche.tourne(0); - StrategieV2::addTemporaryAction(bougiesBas[etapeBas]); - 8019bce: 68fb ldr r3, [r7, #12] - 8019bd0: 6e9b ldr r3, [r3, #104] - 8019bd2: 68fa ldr r2, [r7, #12] - 8019bd4: f103 0306 add.w r3, r3, #6 ; 0x6 - 8019bd8: f852 3023 ldr.w r3, [r2, r3, lsl #2] - 8019bdc: 4618 mov r0, r3 - 8019bde: f005 fd8b bl 801f6f8 <_ZN11StrategieV218addTemporaryActionEP17MediumLevelAction> - status = 4; - 8019be2: 68fa ldr r2, [r7, #12] - 8019be4: f04f 0304 mov.w r3, #4 ; 0x4 - 8019be8: 60d3 str r3, [r2, #12] - 8019bea: e0e4 b.n 8019db6 <_ZN15EteindreBougies6updateEv+0x386> - } - } - else if (status == 4) // appelé quand l'action temporaire (éteindre une bougie) est terminée. - 8019bec: 68fb ldr r3, [r7, #12] - 8019bee: 68db ldr r3, [r3, #12] - 8019bf0: 2b04 cmp r3, #4 - 8019bf2: f040 809f bne.w 8019d34 <_ZN15EteindreBougies6updateEv+0x304> - { - etapeBas += 1;// (bleuVersRouge?1:-1); - 8019bf6: 68fb ldr r3, [r7, #12] - 8019bf8: 6e9b ldr r3, [r3, #104] - 8019bfa: f103 0201 add.w r2, r3, #1 ; 0x1 - 8019bfe: 68fb ldr r3, [r7, #12] - 8019c00: 669a str r2, [r3, #104] - status = 5; - 8019c02: 68fa ldr r2, [r7, #12] - 8019c04: f04f 0305 mov.w r3, #5 ; 0x5 - 8019c08: 60d3 str r3, [r2, #12] - if (etapeBas == -1 || etapeBas == 18) // c'est fini !! - 8019c0a: 68fb ldr r3, [r7, #12] - 8019c0c: 6e9b ldr r3, [r3, #104] - 8019c0e: f1b3 3fff cmp.w r3, #4294967295 ; 0xffffffff - 8019c12: d004 beq.n 8019c1e <_ZN15EteindreBougies6updateEv+0x1ee> - 8019c14: 68fb ldr r3, [r7, #12] - 8019c16: 6e9b ldr r3, [r3, #104] - 8019c18: 2b12 cmp r3, #18 - 8019c1a: f040 80cc bne.w 8019db6 <_ZN15EteindreBougies6updateEv+0x386> - { - float currentAngle = wrapAngle(Odometrie::odometrie->getPos().getAngle()); - 8019c1e: 4b70 ldr r3, [pc, #448] (8019de0 <_ZN15EteindreBougies6updateEv+0x3b0>) - 8019c20: 681a ldr r2, [r3, #0] - 8019c22: f107 036c add.w r3, r7, #108 ; 0x6c - 8019c26: 4618 mov r0, r3 - 8019c28: 4611 mov r1, r2 - 8019c2a: f7f8 ffb9 bl 8012ba0 <_ZNK9Odometrie6getPosEv> - 8019c2e: f107 036c add.w r3, r7, #108 ; 0x6c - 8019c32: 4618 mov r0, r3 - 8019c34: f7fe f81c bl 8017c70 <_ZNK17PositionPlusAngle8getAngleEv> - 8019c38: 4603 mov r3, r0 - 8019c3a: 4618 mov r0, r3 - 8019c3c: f7f6 fbe8 bl 8010410 <_Z9wrapAnglef> - 8019c40: 4603 mov r3, r0 - 8019c42: f8c7 30a4 str.w r3, [r7, #164] - StrategieV2::addTemporaryAction( new ActionGoTo(Odometrie::odometrie->getPos().getPosition() + Position(-300*cos(currentAngle), -300*sin(currentAngle)), true)); - 8019c46: 4b66 ldr r3, [pc, #408] (8019de0 <_ZN15EteindreBougies6updateEv+0x3b0>) - 8019c48: 681a ldr r2, [r3, #0] - 8019c4a: f107 0388 add.w r3, r7, #136 ; 0x88 - 8019c4e: 4618 mov r0, r3 - 8019c50: 4611 mov r1, r2 - 8019c52: f7f8 ffa5 bl 8012ba0 <_ZNK9Odometrie6getPosEv> - 8019c56: f107 0380 add.w r3, r7, #128 ; 0x80 - 8019c5a: f107 0288 add.w r2, r7, #136 ; 0x88 - 8019c5e: 4618 mov r0, r3 - 8019c60: 4611 mov r1, r2 - 8019c62: f7fd fff3 bl 8017c4c <_ZNK17PositionPlusAngle11getPositionEv> - 8019c66: f8d7 00a4 ldr.w r0, [r7, #164] - 8019c6a: f012 fd33 bl 802c6d4 <__aeabi_f2d> - 8019c6e: 4602 mov r2, r0 - 8019c70: 460b mov r3, r1 - 8019c72: 4610 mov r0, r2 - 8019c74: 4619 mov r1, r3 - 8019c76: f016 fdb1 bl 80307dc - 8019c7a: 4602 mov r2, r0 - 8019c7c: 460b mov r3, r1 - 8019c7e: 4610 mov r0, r2 - 8019c80: 4619 mov r1, r3 - 8019c82: a251 add r2, pc, #324 (adr r2, 8019dc8 <_ZN15EteindreBougies6updateEv+0x398>) - 8019c84: ca0c ldmia r2!, {r2, r3} - 8019c86: f012 fd79 bl 802c77c <__aeabi_dmul> - 8019c8a: 4602 mov r2, r0 - 8019c8c: 460b mov r3, r1 - 8019c8e: 4610 mov r0, r2 - 8019c90: 4619 mov r1, r3 - 8019c92: f013 f833 bl 802ccfc <__aeabi_d2f> - 8019c96: 4604 mov r4, r0 - 8019c98: f8d7 00a4 ldr.w r0, [r7, #164] - 8019c9c: f012 fd1a bl 802c6d4 <__aeabi_f2d> - 8019ca0: 4602 mov r2, r0 - 8019ca2: 460b mov r3, r1 - 8019ca4: 4610 mov r0, r2 - 8019ca6: 4619 mov r1, r3 - 8019ca8: f016 fdda bl 8030860 - 8019cac: 4602 mov r2, r0 - 8019cae: 460b mov r3, r1 - 8019cb0: 4610 mov r0, r2 - 8019cb2: 4619 mov r1, r3 - 8019cb4: a244 add r2, pc, #272 (adr r2, 8019dc8 <_ZN15EteindreBougies6updateEv+0x398>) - 8019cb6: ca0c ldmia r2!, {r2, r3} - 8019cb8: f012 fd60 bl 802c77c <__aeabi_dmul> - 8019cbc: 4602 mov r2, r0 - 8019cbe: 460b mov r3, r1 - 8019cc0: 4610 mov r0, r2 - 8019cc2: 4619 mov r1, r3 - 8019cc4: f013 f81a bl 802ccfc <__aeabi_d2f> - 8019cc8: 4602 mov r2, r0 - 8019cca: f107 0394 add.w r3, r7, #148 ; 0x94 - 8019cce: 4618 mov r0, r3 - 8019cd0: 4621 mov r1, r4 - 8019cd2: f04f 0301 mov.w r3, #1 ; 0x1 - 8019cd6: f7fd fd6b bl 80177b0 <_ZN8PositionC1Effb> - 8019cda: f107 0378 add.w r3, r7, #120 ; 0x78 - 8019cde: f107 0280 add.w r2, r7, #128 ; 0x80 - 8019ce2: f107 0c94 add.w ip, r7, #148 ; 0x94 - 8019ce6: 4618 mov r0, r3 - 8019ce8: 4611 mov r1, r2 - 8019cea: 4662 mov r2, ip - 8019cec: f7fd fdba bl 8017864 <_ZNK8PositionplERKS_> - 8019cf0: f04f 0030 mov.w r0, #48 ; 0x30 - 8019cf4: f7fd fbe4 bl 80174c0 <_Znwj> - 8019cf8: 4603 mov r3, r0 - 8019cfa: 607b str r3, [r7, #4] - 8019cfc: 687b ldr r3, [r7, #4] - 8019cfe: 2b00 cmp r3, #0 - 8019d00: d00d beq.n 8019d1e <_ZN15EteindreBougies6updateEv+0x2ee> - 8019d02: 4b3b ldr r3, [pc, #236] (8019df0 <_ZN15EteindreBougies6updateEv+0x3c0>) - 8019d04: 9300 str r3, [sp, #0] - 8019d06: 6878 ldr r0, [r7, #4] - 8019d08: f107 0378 add.w r3, r7, #120 ; 0x78 - 8019d0c: e893 0006 ldmia.w r3, {r1, r2} - 8019d10: f04f 0301 mov.w r3, #1 ; 0x1 - 8019d14: f7fe fa84 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 8019d18: 687b ldr r3, [r7, #4] - 8019d1a: 60bb str r3, [r7, #8] - 8019d1c: e001 b.n 8019d22 <_ZN15EteindreBougies6updateEv+0x2f2> - 8019d1e: 687b ldr r3, [r7, #4] - 8019d20: 60bb str r3, [r7, #8] - 8019d22: 68bb ldr r3, [r7, #8] - 8019d24: 4618 mov r0, r3 - 8019d26: f005 fce7 bl 801f6f8 <_ZN11StrategieV218addTemporaryActionEP17MediumLevelAction> - status = 6; - 8019d2a: 68fa ldr r2, [r7, #12] - 8019d2c: f04f 0306 mov.w r3, #6 ; 0x6 - 8019d30: 60d3 str r3, [r2, #12] - 8019d32: e040 b.n 8019db6 <_ZN15EteindreBougies6updateEv+0x386> - } - } - else if (status == 5) - 8019d34: 68fb ldr r3, [r7, #12] - 8019d36: 68db ldr r3, [r3, #12] - 8019d38: 2b05 cmp r3, #5 - 8019d3a: d10e bne.n 8019d5a <_ZN15EteindreBougies6updateEv+0x32a> - { - StrategieV2::addTemporaryAction(bougiesBas[etapeBas]); - 8019d3c: 68fb ldr r3, [r7, #12] - 8019d3e: 6e9b ldr r3, [r3, #104] - 8019d40: 68fa ldr r2, [r7, #12] - 8019d42: f103 0306 add.w r3, r3, #6 ; 0x6 - 8019d46: f852 3023 ldr.w r3, [r2, r3, lsl #2] - 8019d4a: 4618 mov r0, r3 - 8019d4c: f005 fcd4 bl 801f6f8 <_ZN11StrategieV218addTemporaryActionEP17MediumLevelAction> - status = 4; - 8019d50: 68fa ldr r2, [r7, #12] - 8019d52: f04f 0304 mov.w r3, #4 ; 0x4 - 8019d56: 60d3 str r3, [r2, #12] - 8019d58: e02d b.n 8019db6 <_ZN15EteindreBougies6updateEv+0x386> - } - else if (status == 6) - 8019d5a: 68fb ldr r3, [r7, #12] - 8019d5c: 68db ldr r3, [r3, #12] - 8019d5e: 2b06 cmp r3, #6 - 8019d60: d114 bne.n 8019d8c <_ZN15EteindreBougies6updateEv+0x35c> - { - StrategieV2::lookAt(Position(2100, 1250)); - 8019d62: f107 039c add.w r3, r7, #156 ; 0x9c - 8019d66: 4618 mov r0, r3 - 8019d68: 4922 ldr r1, [pc, #136] (8019df4 <_ZN15EteindreBougies6updateEv+0x3c4>) - 8019d6a: 4a23 ldr r2, [pc, #140] (8019df8 <_ZN15EteindreBougies6updateEv+0x3c8>) - 8019d6c: f04f 0301 mov.w r3, #1 ; 0x1 - 8019d70: f7fd fd1e bl 80177b0 <_ZN8PositionC1Effb> - 8019d74: f107 039c add.w r3, r7, #156 ; 0x9c - 8019d78: e893 0003 ldmia.w r3, {r0, r1} - 8019d7c: 4a1f ldr r2, [pc, #124] (8019dfc <_ZN15EteindreBougies6updateEv+0x3cc>) - 8019d7e: f005 fe79 bl 801fa74 <_ZN11StrategieV26lookAtE8Positionf> - status = 7; - 8019d82: 68fa ldr r2, [r7, #12] - 8019d84: f04f 0307 mov.w r3, #7 ; 0x7 - 8019d88: 60d3 str r3, [r2, #12] - 8019d8a: e014 b.n 8019db6 <_ZN15EteindreBougies6updateEv+0x386> - } - else if (status == 200) - 8019d8c: 68fb ldr r3, [r7, #12] - 8019d8e: 68db ldr r3, [r3, #12] - 8019d90: 2bc8 cmp r3, #200 - 8019d92: d106 bne.n 8019da2 <_ZN15EteindreBougies6updateEv+0x372> - { - Marteaux::rangerHautGauche(); - 8019d94: f7f4 feb2 bl 800eafc <_ZN8Marteaux16rangerHautGaucheEv> - status = -1; - 8019d98: 68fa ldr r2, [r7, #12] - 8019d9a: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8019d9e: 60d3 str r3, [r2, #12] - 8019da0: e009 b.n 8019db6 <_ZN15EteindreBougies6updateEv+0x386> - } - else if (status > 6) - 8019da2: 68fb ldr r3, [r7, #12] - 8019da4: 68db ldr r3, [r3, #12] - 8019da6: 2b06 cmp r3, #6 - 8019da8: dd05 ble.n 8019db6 <_ZN15EteindreBougies6updateEv+0x386> - status ++; - 8019daa: 68fb ldr r3, [r7, #12] - 8019dac: 68db ldr r3, [r3, #12] - 8019dae: f103 0201 add.w r2, r3, #1 ; 0x1 - 8019db2: 68fb ldr r3, [r7, #12] - 8019db4: 60da str r2, [r3, #12] - - - return status; - 8019db6: 68fb ldr r3, [r7, #12] - 8019db8: 68db ldr r3, [r3, #12] -} - 8019dba: 4618 mov r0, r3 - 8019dbc: f107 07ac add.w r7, r7, #172 ; 0xac - 8019dc0: 46bd mov sp, r7 - 8019dc2: bd90 pop {r4, r7, pc} - 8019dc4: 46c0 nop (mov r8, r8) - 8019dc6: 46c0 nop (mov r8, r8) - 8019dc8: 00000000 .word 0x00000000 - 8019dcc: c072c000 .word 0xc072c000 - 8019dd0: 447a0000 .word 0x447a0000 - 8019dd4: 44aa0000 .word 0x44aa0000 - 8019dd8: c2c80000 .word 0xc2c80000 - 8019ddc: 3f800000 .word 0x3f800000 - 8019de0: 20000590 .word 0x20000590 - 8019de4: 41200000 .word 0x41200000 - 8019de8: 44548000 .word 0x44548000 - 8019dec: 44e02000 .word 0x44e02000 - 8019df0: 41f00000 .word 0x41f00000 - 8019df4: 45034000 .word 0x45034000 - 8019df8: 449c4000 .word 0x449c4000 - 8019dfc: 3c23d70a .word 0x3c23d70a - -08019e00 <_ZN15EteindreBougiesD0Ev>: - - etapeBas = 0;//(bleuVersRouge?4:6); // valeur a laquelle on commence, mettre 4 ou 7 pour faire les blanches uniquements - status = 0; -} - -EteindreBougies::~EteindreBougies() - 8019e00: b580 push {r7, lr} - 8019e02: b082 sub sp, #8 - 8019e04: af00 add r7, sp, #0 - 8019e06: 6078 str r0, [r7, #4] - 8019e08: 687a ldr r2, [r7, #4] - 8019e0a: 4b0a ldr r3, [pc, #40] (8019e34 <_ZN15EteindreBougiesD0Ev+0x34>) - 8019e0c: 6013 str r3, [r2, #0] -{ - //dtor -} - 8019e0e: 687b ldr r3, [r7, #4] - 8019e10: 4618 mov r0, r3 - 8019e12: f002 f8fd bl 801c010 <_ZN17MediumLevelActionD2Ev> - 8019e16: f04f 0301 mov.w r3, #1 ; 0x1 - 8019e1a: b2db uxtb r3, r3 - 8019e1c: 2b00 cmp r3, #0 - 8019e1e: d002 beq.n 8019e26 <_ZN15EteindreBougiesD0Ev+0x26> - 8019e20: 6878 ldr r0, [r7, #4] - 8019e22: f7fd fbf3 bl 801760c <_ZdlPv> - 8019e26: 687b ldr r3, [r7, #4] - 8019e28: 4618 mov r0, r3 - 8019e2a: f107 0708 add.w r7, r7, #8 ; 0x8 - 8019e2e: 46bd mov sp, r7 - 8019e30: bd80 pop {r7, pc} - 8019e32: 46c0 nop (mov r8, r8) - 8019e34: 080340a0 .word 0x080340a0 - -08019e38 <_ZN15EteindreBougiesD1Ev>: - - etapeBas = 0;//(bleuVersRouge?4:6); // valeur a laquelle on commence, mettre 4 ou 7 pour faire les blanches uniquements - status = 0; -} - -EteindreBougies::~EteindreBougies() - 8019e38: b580 push {r7, lr} - 8019e3a: b082 sub sp, #8 - 8019e3c: af00 add r7, sp, #0 - 8019e3e: 6078 str r0, [r7, #4] - 8019e40: 687a ldr r2, [r7, #4] - 8019e42: 4b0a ldr r3, [pc, #40] (8019e6c <_ZN15EteindreBougiesD1Ev+0x34>) - 8019e44: 6013 str r3, [r2, #0] -{ - //dtor -} - 8019e46: 687b ldr r3, [r7, #4] - 8019e48: 4618 mov r0, r3 - 8019e4a: f002 f8e1 bl 801c010 <_ZN17MediumLevelActionD2Ev> - 8019e4e: f04f 0300 mov.w r3, #0 ; 0x0 - 8019e52: b2db uxtb r3, r3 - 8019e54: 2b00 cmp r3, #0 - 8019e56: d002 beq.n 8019e5e <_ZN15EteindreBougiesD1Ev+0x26> - 8019e58: 6878 ldr r0, [r7, #4] - 8019e5a: f7fd fbd7 bl 801760c <_ZdlPv> - 8019e5e: 687b ldr r3, [r7, #4] - 8019e60: 4618 mov r0, r3 - 8019e62: f107 0708 add.w r7, r7, #8 ; 0x8 - 8019e66: 46bd mov sp, r7 - 8019e68: bd80 pop {r7, pc} - 8019e6a: 46c0 nop (mov r8, r8) - 8019e6c: 080340a0 .word 0x080340a0 - -08019e70 <_ZN15EteindreBougiesD2Ev>: - - etapeBas = 0;//(bleuVersRouge?4:6); // valeur a laquelle on commence, mettre 4 ou 7 pour faire les blanches uniquements - status = 0; -} - -EteindreBougies::~EteindreBougies() - 8019e70: b580 push {r7, lr} - 8019e72: b082 sub sp, #8 - 8019e74: af00 add r7, sp, #0 - 8019e76: 6078 str r0, [r7, #4] - 8019e78: 687a ldr r2, [r7, #4] - 8019e7a: 4b0a ldr r3, [pc, #40] (8019ea4 <_ZN15EteindreBougiesD2Ev+0x34>) - 8019e7c: 6013 str r3, [r2, #0] -{ - //dtor -} - 8019e7e: 687b ldr r3, [r7, #4] - 8019e80: 4618 mov r0, r3 - 8019e82: f002 f8c5 bl 801c010 <_ZN17MediumLevelActionD2Ev> - 8019e86: f04f 0300 mov.w r3, #0 ; 0x0 - 8019e8a: b2db uxtb r3, r3 - 8019e8c: 2b00 cmp r3, #0 - 8019e8e: d002 beq.n 8019e96 <_ZN15EteindreBougiesD2Ev+0x26> - 8019e90: 6878 ldr r0, [r7, #4] - 8019e92: f7fd fbbb bl 801760c <_ZdlPv> - 8019e96: 687b ldr r3, [r7, #4] - 8019e98: 4618 mov r0, r3 - 8019e9a: f107 0708 add.w r7, r7, #8 ; 0x8 - 8019e9e: 46bd mov sp, r7 - 8019ea0: bd80 pop {r7, pc} - 8019ea2: 46c0 nop (mov r8, r8) - 8019ea4: 080340a0 .word 0x080340a0 - -08019ea8 <_ZN15EteindreBougiesC1Eb>: -#include "leds.h" -#include "odometrie.h" -#include "asservissement.h" -#include "marteaux.h" - -EteindreBougies::EteindreBougies(bool isBlue) : MediumLevelAction() - 8019ea8: b590 push {r4, r7, lr} - 8019eaa: b0e5 sub sp, #404 - 8019eac: af04 add r7, sp, #16 - 8019eae: f8c7 00bc str.w r0, [r7, #188] - 8019eb2: 460b mov r3, r1 - 8019eb4: f887 30bb strb.w r3, [r7, #187] - 8019eb8: f8d7 40bc ldr.w r4, [r7, #188] - 8019ebc: f107 03c0 add.w r3, r7, #192 ; 0xc0 - 8019ec0: 4618 mov r0, r3 - 8019ec2: f8df 1ab8 ldr.w r1, [pc, #2744] ; 801a97c <_ZN15EteindreBougiesC1Eb+0xad4> - 8019ec6: f8df 2ab4 ldr.w r2, [pc, #2740] ; 801a97c <_ZN15EteindreBougiesC1Eb+0xad4> - 8019eca: f04f 0301 mov.w r3, #1 ; 0x1 - 8019ece: f7fd fc6f bl 80177b0 <_ZN8PositionC1Effb> - 8019ed2: 4620 mov r0, r4 - 8019ed4: f107 03c0 add.w r3, r7, #192 ; 0xc0 - 8019ed8: e893 0006 ldmia.w r3, {r1, r2} - 8019edc: f002 f8d8 bl 801c090 <_ZN17MediumLevelActionC2E8Position> - 8019ee0: f8d7 20bc ldr.w r2, [r7, #188] - 8019ee4: f8df 3a98 ldr.w r3, [pc, #2712] ; 801a980 <_ZN15EteindreBougiesC1Eb+0xad8> - 8019ee8: 6013 str r3, [r2, #0] -{ - //bool isBlue = StrategieV2::getIsBlue(); - bleuVersRouge = isBlue; - 8019eea: f8d7 20bc ldr.w r2, [r7, #188] - 8019eee: f897 30bb ldrb.w r3, [r7, #187] - 8019ef2: f882 306c strb.w r3, [r2, #108] - - if (StrategieV2::getIsBlue()) - 8019ef6: f005 fc3d bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 8019efa: 4603 mov r3, r0 - 8019efc: 2b00 cmp r3, #0 - 8019efe: f000 843c beq.w 801a77a <_ZN15EteindreBougiesC1Eb+0x8d2> - { - bougiesBas[0] = new EteindreBougieV2(Position(850.00, 1793, StrategieV2::getIsBlue()), -1.2200, true, true, isBlue, bleuVersRouge); - 8019f02: f005 fc37 bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 8019f06: 4603 mov r3, r0 - 8019f08: 469c mov ip, r3 - 8019f0a: f107 03c8 add.w r3, r7, #200 ; 0xc8 - 8019f0e: 4618 mov r0, r3 - 8019f10: f8df 1a70 ldr.w r1, [pc, #2672] ; 801a984 <_ZN15EteindreBougiesC1Eb+0xadc> - 8019f14: f8df 2a70 ldr.w r2, [pc, #2672] ; 801a988 <_ZN15EteindreBougiesC1Eb+0xae0> - 8019f18: 4663 mov r3, ip - 8019f1a: f7fd fc49 bl 80177b0 <_ZN8PositionC1Effb> - 8019f1e: f04f 0020 mov.w r0, #32 ; 0x20 - 8019f22: f7fd facd bl 80174c0 <_Znwj> - 8019f26: 4603 mov r3, r0 - 8019f28: 603b str r3, [r7, #0] - 8019f2a: 683a ldr r2, [r7, #0] - 8019f2c: 2a00 cmp r2, #0 - 8019f2e: d019 beq.n 8019f64 <_ZN15EteindreBougiesC1Eb+0xbc> - 8019f30: f8d7 30bc ldr.w r3, [r7, #188] - 8019f34: f893 206c ldrb.w r2, [r3, #108] - 8019f38: f04f 0301 mov.w r3, #1 ; 0x1 - 8019f3c: 9300 str r3, [sp, #0] - 8019f3e: f04f 0301 mov.w r3, #1 ; 0x1 - 8019f42: 9301 str r3, [sp, #4] - 8019f44: f897 30bb ldrb.w r3, [r7, #187] - 8019f48: 9302 str r3, [sp, #8] - 8019f4a: 9203 str r2, [sp, #12] - 8019f4c: 6838 ldr r0, [r7, #0] - 8019f4e: f107 03c8 add.w r3, r7, #200 ; 0xc8 - 8019f52: e893 0006 ldmia.w r3, {r1, r2} - 8019f56: f8df 3a34 ldr.w r3, [pc, #2612] ; 801a98c <_ZN15EteindreBougiesC1Eb+0xae4> - 8019f5a: f7ff fcb7 bl 80198cc <_ZN16EteindreBougieV2C1E8Positionfbbbb> - 8019f5e: 683b ldr r3, [r7, #0] - 8019f60: 607b str r3, [r7, #4] - 8019f62: e001 b.n 8019f68 <_ZN15EteindreBougiesC1Eb+0xc0> - 8019f64: 683a ldr r2, [r7, #0] - 8019f66: 607a str r2, [r7, #4] - 8019f68: f8d7 30bc ldr.w r3, [r7, #188] - 8019f6c: 687a ldr r2, [r7, #4] - 8019f6e: 619a str r2, [r3, #24] - bougiesBas[1] = new EteindreBougieV2(Position(850.00, 1793, StrategieV2::getIsBlue()), -1.2200, false, true, isBlue, bleuVersRouge); - 8019f70: f005 fc00 bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 8019f74: 4603 mov r3, r0 - 8019f76: 469c mov ip, r3 - 8019f78: f107 03d0 add.w r3, r7, #208 ; 0xd0 - 8019f7c: 4618 mov r0, r3 - 8019f7e: f8df 1a04 ldr.w r1, [pc, #2564] ; 801a984 <_ZN15EteindreBougiesC1Eb+0xadc> - 8019f82: f8df 2a04 ldr.w r2, [pc, #2564] ; 801a988 <_ZN15EteindreBougiesC1Eb+0xae0> - 8019f86: 4663 mov r3, ip - 8019f88: f7fd fc12 bl 80177b0 <_ZN8PositionC1Effb> - 8019f8c: f04f 0020 mov.w r0, #32 ; 0x20 - 8019f90: f7fd fa96 bl 80174c0 <_Znwj> - 8019f94: 4603 mov r3, r0 - 8019f96: 60bb str r3, [r7, #8] - 8019f98: 68bb ldr r3, [r7, #8] - 8019f9a: 2b00 cmp r3, #0 - 8019f9c: d019 beq.n 8019fd2 <_ZN15EteindreBougiesC1Eb+0x12a> - 8019f9e: f8d7 30bc ldr.w r3, [r7, #188] - 8019fa2: f893 206c ldrb.w r2, [r3, #108] - 8019fa6: f04f 0300 mov.w r3, #0 ; 0x0 - 8019faa: 9300 str r3, [sp, #0] - 8019fac: f04f 0301 mov.w r3, #1 ; 0x1 - 8019fb0: 9301 str r3, [sp, #4] - 8019fb2: f897 30bb ldrb.w r3, [r7, #187] - 8019fb6: 9302 str r3, [sp, #8] - 8019fb8: 9203 str r2, [sp, #12] - 8019fba: 68b8 ldr r0, [r7, #8] - 8019fbc: f107 03d0 add.w r3, r7, #208 ; 0xd0 - 8019fc0: e893 0006 ldmia.w r3, {r1, r2} - 8019fc4: f8df 39c4 ldr.w r3, [pc, #2500] ; 801a98c <_ZN15EteindreBougiesC1Eb+0xae4> - 8019fc8: f7ff fc80 bl 80198cc <_ZN16EteindreBougieV2C1E8Positionfbbbb> - 8019fcc: 68ba ldr r2, [r7, #8] - 8019fce: 60fa str r2, [r7, #12] - 8019fd0: e001 b.n 8019fd6 <_ZN15EteindreBougiesC1Eb+0x12e> - 8019fd2: 68bb ldr r3, [r7, #8] - 8019fd4: 60fb str r3, [r7, #12] - 8019fd6: f8d7 30bc ldr.w r3, [r7, #188] - 8019fda: 68fa ldr r2, [r7, #12] - 8019fdc: 61da str r2, [r3, #28] - bougiesBas[2] = new EteindreBougieV2(Position(909.626, 1623, StrategieV2::getIsBlue()), -1.0000, true, true, isBlue, bleuVersRouge); - 8019fde: f005 fbc9 bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 8019fe2: 4603 mov r3, r0 - 8019fe4: 469c mov ip, r3 - 8019fe6: f107 03d8 add.w r3, r7, #216 ; 0xd8 - 8019fea: 4618 mov r0, r3 - 8019fec: f8df 19a0 ldr.w r1, [pc, #2464] ; 801a990 <_ZN15EteindreBougiesC1Eb+0xae8> - 8019ff0: f8df 29a0 ldr.w r2, [pc, #2464] ; 801a994 <_ZN15EteindreBougiesC1Eb+0xaec> - 8019ff4: 4663 mov r3, ip - 8019ff6: f7fd fbdb bl 80177b0 <_ZN8PositionC1Effb> - 8019ffa: f04f 0020 mov.w r0, #32 ; 0x20 - 8019ffe: f7fd fa5f bl 80174c0 <_Znwj> - 801a002: 4603 mov r3, r0 - 801a004: 613b str r3, [r7, #16] - 801a006: 693b ldr r3, [r7, #16] - 801a008: 2b00 cmp r3, #0 - 801a00a: d019 beq.n 801a040 <_ZN15EteindreBougiesC1Eb+0x198> - 801a00c: f8d7 30bc ldr.w r3, [r7, #188] - 801a010: f893 206c ldrb.w r2, [r3, #108] - 801a014: f04f 0301 mov.w r3, #1 ; 0x1 - 801a018: 9300 str r3, [sp, #0] - 801a01a: f04f 0301 mov.w r3, #1 ; 0x1 - 801a01e: 9301 str r3, [sp, #4] - 801a020: f897 30bb ldrb.w r3, [r7, #187] - 801a024: 9302 str r3, [sp, #8] - 801a026: 9203 str r2, [sp, #12] - 801a028: 6938 ldr r0, [r7, #16] - 801a02a: f107 03d8 add.w r3, r7, #216 ; 0xd8 - 801a02e: e893 0006 ldmia.w r3, {r1, r2} - 801a032: f8df 3964 ldr.w r3, [pc, #2404] ; 801a998 <_ZN15EteindreBougiesC1Eb+0xaf0> - 801a036: f7ff fc49 bl 80198cc <_ZN16EteindreBougieV2C1E8Positionfbbbb> - 801a03a: 693a ldr r2, [r7, #16] - 801a03c: 617a str r2, [r7, #20] - 801a03e: e001 b.n 801a044 <_ZN15EteindreBougiesC1Eb+0x19c> - 801a040: 693b ldr r3, [r7, #16] - 801a042: 617b str r3, [r7, #20] - 801a044: f8d7 30bc ldr.w r3, [r7, #188] - 801a048: 697a ldr r2, [r7, #20] - 801a04a: 621a str r2, [r3, #32] - bougiesBas[3] = new EteindreBougieV2(Position(941.00, 1580, StrategieV2::getIsBlue()), -0.9100, false, true, !isBlue, bleuVersRouge); - 801a04c: f005 fb92 bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 801a050: 4603 mov r3, r0 - 801a052: 469c mov ip, r3 - 801a054: f107 03e0 add.w r3, r7, #224 ; 0xe0 - 801a058: 4618 mov r0, r3 - 801a05a: f8df 1940 ldr.w r1, [pc, #2368] ; 801a99c <_ZN15EteindreBougiesC1Eb+0xaf4> - 801a05e: f8df 2940 ldr.w r2, [pc, #2368] ; 801a9a0 <_ZN15EteindreBougiesC1Eb+0xaf8> - 801a062: 4663 mov r3, ip - 801a064: f7fd fba4 bl 80177b0 <_ZN8PositionC1Effb> - 801a068: f04f 0020 mov.w r0, #32 ; 0x20 - 801a06c: f7fd fa28 bl 80174c0 <_Znwj> - 801a070: 4603 mov r3, r0 - 801a072: 61bb str r3, [r7, #24] - 801a074: 69bb ldr r3, [r7, #24] - 801a076: 2b00 cmp r3, #0 - 801a078: d01c beq.n 801a0b4 <_ZN15EteindreBougiesC1Eb+0x20c> - 801a07a: f897 30bb ldrb.w r3, [r7, #187] - 801a07e: f083 0301 eor.w r3, r3, #1 ; 0x1 - 801a082: b2da uxtb r2, r3 - 801a084: f8d7 30bc ldr.w r3, [r7, #188] - 801a088: f893 106c ldrb.w r1, [r3, #108] - 801a08c: f04f 0300 mov.w r3, #0 ; 0x0 - 801a090: 9300 str r3, [sp, #0] - 801a092: f04f 0301 mov.w r3, #1 ; 0x1 - 801a096: 9301 str r3, [sp, #4] - 801a098: 9202 str r2, [sp, #8] - 801a09a: 9103 str r1, [sp, #12] - 801a09c: 69b8 ldr r0, [r7, #24] - 801a09e: f107 03e0 add.w r3, r7, #224 ; 0xe0 - 801a0a2: e893 0006 ldmia.w r3, {r1, r2} - 801a0a6: f8df 38fc ldr.w r3, [pc, #2300] ; 801a9a4 <_ZN15EteindreBougiesC1Eb+0xafc> - 801a0aa: f7ff fc0f bl 80198cc <_ZN16EteindreBougieV2C1E8Positionfbbbb> - 801a0ae: 69ba ldr r2, [r7, #24] - 801a0b0: 61fa str r2, [r7, #28] - 801a0b2: e001 b.n 801a0b8 <_ZN15EteindreBougiesC1Eb+0x210> - 801a0b4: 69bb ldr r3, [r7, #24] - 801a0b6: 61fb str r3, [r7, #28] - 801a0b8: f8d7 30bc ldr.w r3, [r7, #188] - 801a0bc: 69fa ldr r2, [r7, #28] - 801a0be: 625a str r2, [r3, #36] - bougiesBas[4] = new EteindreBougieV2(Position(1027.09, 1483, StrategieV2::getIsBlue()), -0.916298, true, true, isBlue, bleuVersRouge); - 801a0c0: f005 fb58 bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 801a0c4: 4603 mov r3, r0 - 801a0c6: 469c mov ip, r3 - 801a0c8: f107 03e8 add.w r3, r7, #232 ; 0xe8 - 801a0cc: 4618 mov r0, r3 - 801a0ce: f8df 18d8 ldr.w r1, [pc, #2264] ; 801a9a8 <_ZN15EteindreBougiesC1Eb+0xb00> - 801a0d2: f8df 28d8 ldr.w r2, [pc, #2264] ; 801a9ac <_ZN15EteindreBougiesC1Eb+0xb04> - 801a0d6: 4663 mov r3, ip - 801a0d8: f7fd fb6a bl 80177b0 <_ZN8PositionC1Effb> - 801a0dc: f04f 0020 mov.w r0, #32 ; 0x20 - 801a0e0: f7fd f9ee bl 80174c0 <_Znwj> - 801a0e4: 4603 mov r3, r0 - 801a0e6: 623b str r3, [r7, #32] - 801a0e8: 6a3b ldr r3, [r7, #32] - 801a0ea: 2b00 cmp r3, #0 - 801a0ec: d019 beq.n 801a122 <_ZN15EteindreBougiesC1Eb+0x27a> - 801a0ee: f8d7 30bc ldr.w r3, [r7, #188] - 801a0f2: f893 206c ldrb.w r2, [r3, #108] - 801a0f6: f04f 0301 mov.w r3, #1 ; 0x1 - 801a0fa: 9300 str r3, [sp, #0] - 801a0fc: f04f 0301 mov.w r3, #1 ; 0x1 - 801a100: 9301 str r3, [sp, #4] - 801a102: f897 30bb ldrb.w r3, [r7, #187] - 801a106: 9302 str r3, [sp, #8] - 801a108: 9203 str r2, [sp, #12] - 801a10a: 6a38 ldr r0, [r7, #32] - 801a10c: f107 03e8 add.w r3, r7, #232 ; 0xe8 - 801a110: e893 0006 ldmia.w r3, {r1, r2} - 801a114: f8df 3898 ldr.w r3, [pc, #2200] ; 801a9b0 <_ZN15EteindreBougiesC1Eb+0xb08> - 801a118: f7ff fbd8 bl 80198cc <_ZN16EteindreBougieV2C1E8Positionfbbbb> - 801a11c: 6a3a ldr r2, [r7, #32] - 801a11e: 627a str r2, [r7, #36] - 801a120: e001 b.n 801a126 <_ZN15EteindreBougiesC1Eb+0x27e> - 801a122: 6a3b ldr r3, [r7, #32] - 801a124: 627b str r3, [r7, #36] - 801a126: f8d7 30bc ldr.w r3, [r7, #188] - 801a12a: 6a7a ldr r2, [r7, #36] - 801a12c: 629a str r2, [r3, #40] - bougiesBas[5] = new EteindreBougieV2(Position(1176.00, 1370, StrategieV2::getIsBlue()), -0.4000, false, true, isBlue, bleuVersRouge); - 801a12e: f005 fb21 bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 801a132: 4603 mov r3, r0 - 801a134: 469c mov ip, r3 - 801a136: f107 03f0 add.w r3, r7, #240 ; 0xf0 - 801a13a: 4618 mov r0, r3 - 801a13c: f8df 1874 ldr.w r1, [pc, #2164] ; 801a9b4 <_ZN15EteindreBougiesC1Eb+0xb0c> - 801a140: f8df 2874 ldr.w r2, [pc, #2164] ; 801a9b8 <_ZN15EteindreBougiesC1Eb+0xb10> - 801a144: 4663 mov r3, ip - 801a146: f7fd fb33 bl 80177b0 <_ZN8PositionC1Effb> - 801a14a: f04f 0020 mov.w r0, #32 ; 0x20 - 801a14e: f7fd f9b7 bl 80174c0 <_Znwj> - 801a152: 4603 mov r3, r0 - 801a154: 62bb str r3, [r7, #40] - 801a156: 6abb ldr r3, [r7, #40] - 801a158: 2b00 cmp r3, #0 - 801a15a: d019 beq.n 801a190 <_ZN15EteindreBougiesC1Eb+0x2e8> - 801a15c: f8d7 30bc ldr.w r3, [r7, #188] - 801a160: f893 206c ldrb.w r2, [r3, #108] - 801a164: f04f 0300 mov.w r3, #0 ; 0x0 - 801a168: 9300 str r3, [sp, #0] - 801a16a: f04f 0301 mov.w r3, #1 ; 0x1 - 801a16e: 9301 str r3, [sp, #4] - 801a170: f897 30bb ldrb.w r3, [r7, #187] - 801a174: 9302 str r3, [sp, #8] - 801a176: 9203 str r2, [sp, #12] - 801a178: 6ab8 ldr r0, [r7, #40] - 801a17a: f107 03f0 add.w r3, r7, #240 ; 0xf0 - 801a17e: e893 0006 ldmia.w r3, {r1, r2} - 801a182: f8df 3838 ldr.w r3, [pc, #2104] ; 801a9bc <_ZN15EteindreBougiesC1Eb+0xb14> - 801a186: f7ff fba1 bl 80198cc <_ZN16EteindreBougieV2C1E8Positionfbbbb> - 801a18a: 6aba ldr r2, [r7, #40] - 801a18c: 62fa str r2, [r7, #44] - 801a18e: e001 b.n 801a194 <_ZN15EteindreBougiesC1Eb+0x2ec> - 801a190: 6abb ldr r3, [r7, #40] - 801a192: 62fb str r3, [r7, #44] - 801a194: f8d7 30bc ldr.w r3, [r7, #188] - 801a198: 6afa ldr r2, [r7, #44] - 801a19a: 62da str r2, [r3, #44] - bougiesBas[6] = new EteindreBougieV2(Position(1176.78, 1379, StrategieV2::getIsBlue()), -0.654498, true, true, !isBlue, bleuVersRouge); - 801a19c: f005 faea bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 801a1a0: 4603 mov r3, r0 - 801a1a2: 469c mov ip, r3 - 801a1a4: f107 03f8 add.w r3, r7, #248 ; 0xf8 - 801a1a8: 4618 mov r0, r3 - 801a1aa: f8df 1814 ldr.w r1, [pc, #2068] ; 801a9c0 <_ZN15EteindreBougiesC1Eb+0xb18> - 801a1ae: f8df 2814 ldr.w r2, [pc, #2068] ; 801a9c4 <_ZN15EteindreBougiesC1Eb+0xb1c> - 801a1b2: 4663 mov r3, ip - 801a1b4: f7fd fafc bl 80177b0 <_ZN8PositionC1Effb> - 801a1b8: f04f 0020 mov.w r0, #32 ; 0x20 - 801a1bc: f7fd f980 bl 80174c0 <_Znwj> - 801a1c0: 4603 mov r3, r0 - 801a1c2: 633b str r3, [r7, #48] - 801a1c4: 6b3b ldr r3, [r7, #48] - 801a1c6: 2b00 cmp r3, #0 - 801a1c8: d01c beq.n 801a204 <_ZN15EteindreBougiesC1Eb+0x35c> - 801a1ca: f897 30bb ldrb.w r3, [r7, #187] - 801a1ce: f083 0301 eor.w r3, r3, #1 ; 0x1 - 801a1d2: b2da uxtb r2, r3 - 801a1d4: f8d7 30bc ldr.w r3, [r7, #188] - 801a1d8: f893 106c ldrb.w r1, [r3, #108] - 801a1dc: f04f 0301 mov.w r3, #1 ; 0x1 - 801a1e0: 9300 str r3, [sp, #0] - 801a1e2: f04f 0301 mov.w r3, #1 ; 0x1 - 801a1e6: 9301 str r3, [sp, #4] - 801a1e8: 9202 str r2, [sp, #8] - 801a1ea: 9103 str r1, [sp, #12] - 801a1ec: 6b38 ldr r0, [r7, #48] - 801a1ee: f107 03f8 add.w r3, r7, #248 ; 0xf8 - 801a1f2: e893 0006 ldmia.w r3, {r1, r2} - 801a1f6: f8df 37d0 ldr.w r3, [pc, #2000] ; 801a9c8 <_ZN15EteindreBougiesC1Eb+0xb20> - 801a1fa: f7ff fb67 bl 80198cc <_ZN16EteindreBougieV2C1E8Positionfbbbb> - 801a1fe: 6b3a ldr r2, [r7, #48] - 801a200: 637a str r2, [r7, #52] - 801a202: e001 b.n 801a208 <_ZN15EteindreBougiesC1Eb+0x360> - 801a204: 6b3b ldr r3, [r7, #48] - 801a206: 637b str r3, [r7, #52] - 801a208: f8d7 30bc ldr.w r3, [r7, #188] - 801a20c: 6b7a ldr r2, [r7, #52] - 801a20e: 631a str r2, [r3, #48] - bougiesBas[7] = new EteindreBougieV2(Position(1290, 1320, StrategieV2::getIsBlue()), -0.50, true, true, isBlue, bleuVersRouge); - 801a210: f005 fab0 bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 801a214: 4603 mov r3, r0 - 801a216: 469c mov ip, r3 - 801a218: f507 7380 add.w r3, r7, #256 ; 0x100 - 801a21c: 4618 mov r0, r3 - 801a21e: f8df 17ac ldr.w r1, [pc, #1964] ; 801a9cc <_ZN15EteindreBougiesC1Eb+0xb24> - 801a222: f8df 27ac ldr.w r2, [pc, #1964] ; 801a9d0 <_ZN15EteindreBougiesC1Eb+0xb28> - 801a226: 4663 mov r3, ip - 801a228: f7fd fac2 bl 80177b0 <_ZN8PositionC1Effb> - 801a22c: f04f 0020 mov.w r0, #32 ; 0x20 - 801a230: f7fd f946 bl 80174c0 <_Znwj> - 801a234: 4603 mov r3, r0 - 801a236: 63bb str r3, [r7, #56] - 801a238: 6bbb ldr r3, [r7, #56] - 801a23a: 2b00 cmp r3, #0 - 801a23c: d019 beq.n 801a272 <_ZN15EteindreBougiesC1Eb+0x3ca> - 801a23e: f8d7 30bc ldr.w r3, [r7, #188] - 801a242: f893 206c ldrb.w r2, [r3, #108] - 801a246: f04f 0301 mov.w r3, #1 ; 0x1 - 801a24a: 9300 str r3, [sp, #0] - 801a24c: f04f 0301 mov.w r3, #1 ; 0x1 - 801a250: 9301 str r3, [sp, #4] - 801a252: f897 30bb ldrb.w r3, [r7, #187] - 801a256: 9302 str r3, [sp, #8] - 801a258: 9203 str r2, [sp, #12] - 801a25a: 6bb8 ldr r0, [r7, #56] - 801a25c: f507 7380 add.w r3, r7, #256 ; 0x100 - 801a260: e893 0006 ldmia.w r3, {r1, r2} - 801a264: f8df 376c ldr.w r3, [pc, #1900] ; 801a9d4 <_ZN15EteindreBougiesC1Eb+0xb2c> - 801a268: f7ff fb30 bl 80198cc <_ZN16EteindreBougieV2C1E8Positionfbbbb> - 801a26c: 6bba ldr r2, [r7, #56] - 801a26e: 63fa str r2, [r7, #60] - 801a270: e001 b.n 801a276 <_ZN15EteindreBougiesC1Eb+0x3ce> - 801a272: 6bbb ldr r3, [r7, #56] - 801a274: 63fb str r3, [r7, #60] - 801a276: f8d7 30bc ldr.w r3, [r7, #188] - 801a27a: 6bfa ldr r2, [r7, #60] - 801a27c: 635a str r2, [r3, #52] - bougiesBas[8] = new EteindreBougieV2(Position(1430, 1300, StrategieV2::getIsBlue()), 0.0000, false, true, !isBlue, bleuVersRouge); - 801a27e: f005 fa79 bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 801a282: 4603 mov r3, r0 - 801a284: 469c mov ip, r3 - 801a286: f507 7384 add.w r3, r7, #264 ; 0x108 - 801a28a: 4618 mov r0, r3 - 801a28c: f8df 1748 ldr.w r1, [pc, #1864] ; 801a9d8 <_ZN15EteindreBougiesC1Eb+0xb30> - 801a290: f8df 2748 ldr.w r2, [pc, #1864] ; 801a9dc <_ZN15EteindreBougiesC1Eb+0xb34> - 801a294: 4663 mov r3, ip - 801a296: f7fd fa8b bl 80177b0 <_ZN8PositionC1Effb> - 801a29a: f04f 0020 mov.w r0, #32 ; 0x20 - 801a29e: f7fd f90f bl 80174c0 <_Znwj> - 801a2a2: 4603 mov r3, r0 - 801a2a4: 643b str r3, [r7, #64] - 801a2a6: 6c3b ldr r3, [r7, #64] - 801a2a8: 2b00 cmp r3, #0 - 801a2aa: d01c beq.n 801a2e6 <_ZN15EteindreBougiesC1Eb+0x43e> - 801a2ac: f897 30bb ldrb.w r3, [r7, #187] - 801a2b0: f083 0301 eor.w r3, r3, #1 ; 0x1 - 801a2b4: b2da uxtb r2, r3 - 801a2b6: f8d7 30bc ldr.w r3, [r7, #188] - 801a2ba: f893 106c ldrb.w r1, [r3, #108] - 801a2be: f04f 0300 mov.w r3, #0 ; 0x0 - 801a2c2: 9300 str r3, [sp, #0] - 801a2c4: f04f 0301 mov.w r3, #1 ; 0x1 - 801a2c8: 9301 str r3, [sp, #4] - 801a2ca: 9202 str r2, [sp, #8] - 801a2cc: 9103 str r1, [sp, #12] - 801a2ce: 6c38 ldr r0, [r7, #64] - 801a2d0: f507 7384 add.w r3, r7, #264 ; 0x108 - 801a2d4: e893 0006 ldmia.w r3, {r1, r2} - 801a2d8: f8df 36a0 ldr.w r3, [pc, #1696] ; 801a97c <_ZN15EteindreBougiesC1Eb+0xad4> - 801a2dc: f7ff faf6 bl 80198cc <_ZN16EteindreBougieV2C1E8Positionfbbbb> - 801a2e0: 6c3a ldr r2, [r7, #64] - 801a2e2: 647a str r2, [r7, #68] - 801a2e4: e001 b.n 801a2ea <_ZN15EteindreBougiesC1Eb+0x442> - 801a2e6: 6c3b ldr r3, [r7, #64] - 801a2e8: 647b str r3, [r7, #68] - 801a2ea: f8d7 30bc ldr.w r3, [r7, #188] - 801a2ee: 6c7a ldr r2, [r7, #68] - 801a2f0: 639a str r2, [r3, #56] - bougiesBas[9] = new EteindreBougieV2(Position(1485, 1260, StrategieV2::getIsBlue()), -0.0500, true, true, isBlue, bleuVersRouge); - 801a2f2: f005 fa3f bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 801a2f6: 4603 mov r3, r0 - 801a2f8: 469c mov ip, r3 - 801a2fa: f507 7388 add.w r3, r7, #272 ; 0x110 - 801a2fe: 4618 mov r0, r3 - 801a300: f8df 16dc ldr.w r1, [pc, #1756] ; 801a9e0 <_ZN15EteindreBougiesC1Eb+0xb38> - 801a304: f8df 26dc ldr.w r2, [pc, #1756] ; 801a9e4 <_ZN15EteindreBougiesC1Eb+0xb3c> - 801a308: 4663 mov r3, ip - 801a30a: f7fd fa51 bl 80177b0 <_ZN8PositionC1Effb> - 801a30e: f04f 0020 mov.w r0, #32 ; 0x20 - 801a312: f7fd f8d5 bl 80174c0 <_Znwj> - 801a316: 4603 mov r3, r0 - 801a318: 64bb str r3, [r7, #72] - 801a31a: 6cbb ldr r3, [r7, #72] - 801a31c: 2b00 cmp r3, #0 - 801a31e: d019 beq.n 801a354 <_ZN15EteindreBougiesC1Eb+0x4ac> - 801a320: f8d7 30bc ldr.w r3, [r7, #188] - 801a324: f893 206c ldrb.w r2, [r3, #108] - 801a328: f04f 0301 mov.w r3, #1 ; 0x1 - 801a32c: 9300 str r3, [sp, #0] - 801a32e: f04f 0301 mov.w r3, #1 ; 0x1 - 801a332: 9301 str r3, [sp, #4] - 801a334: f897 30bb ldrb.w r3, [r7, #187] - 801a338: 9302 str r3, [sp, #8] - 801a33a: 9203 str r2, [sp, #12] - 801a33c: 6cb8 ldr r0, [r7, #72] - 801a33e: f507 7388 add.w r3, r7, #272 ; 0x110 - 801a342: e893 0006 ldmia.w r3, {r1, r2} - 801a346: f8df 36a0 ldr.w r3, [pc, #1696] ; 801a9e8 <_ZN15EteindreBougiesC1Eb+0xb40> - 801a34a: f7ff fabf bl 80198cc <_ZN16EteindreBougieV2C1E8Positionfbbbb> - 801a34e: 6cba ldr r2, [r7, #72] - 801a350: 64fa str r2, [r7, #76] - 801a352: e001 b.n 801a358 <_ZN15EteindreBougiesC1Eb+0x4b0> - 801a354: 6cbb ldr r3, [r7, #72] - 801a356: 64fb str r3, [r7, #76] - 801a358: f8d7 30bc ldr.w r3, [r7, #188] - 801a35c: 6cfa ldr r2, [r7, #76] - 801a35e: 63da str r2, [r3, #60] - bougiesBas[10] = new EteindreBougieV2(Position(1665, 1300, StrategieV2::getIsBlue()), 0.1309, true, true, isBlue, bleuVersRouge); - 801a360: f005 fa08 bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 801a364: 4603 mov r3, r0 - 801a366: 469c mov ip, r3 - 801a368: f507 738c add.w r3, r7, #280 ; 0x118 - 801a36c: 4618 mov r0, r3 - 801a36e: f8df 167c ldr.w r1, [pc, #1660] ; 801a9ec <_ZN15EteindreBougiesC1Eb+0xb44> - 801a372: f8df 2668 ldr.w r2, [pc, #1640] ; 801a9dc <_ZN15EteindreBougiesC1Eb+0xb34> - 801a376: 4663 mov r3, ip - 801a378: f7fd fa1a bl 80177b0 <_ZN8PositionC1Effb> - 801a37c: f04f 0020 mov.w r0, #32 ; 0x20 - 801a380: f7fd f89e bl 80174c0 <_Znwj> - 801a384: 4603 mov r3, r0 - 801a386: 653b str r3, [r7, #80] - 801a388: 6d3b ldr r3, [r7, #80] - 801a38a: 2b00 cmp r3, #0 - 801a38c: d019 beq.n 801a3c2 <_ZN15EteindreBougiesC1Eb+0x51a> - 801a38e: f8d7 30bc ldr.w r3, [r7, #188] - 801a392: f893 206c ldrb.w r2, [r3, #108] - 801a396: f04f 0301 mov.w r3, #1 ; 0x1 - 801a39a: 9300 str r3, [sp, #0] - 801a39c: f04f 0301 mov.w r3, #1 ; 0x1 - 801a3a0: 9301 str r3, [sp, #4] - 801a3a2: f897 30bb ldrb.w r3, [r7, #187] - 801a3a6: 9302 str r3, [sp, #8] - 801a3a8: 9203 str r2, [sp, #12] - 801a3aa: 6d38 ldr r0, [r7, #80] - 801a3ac: f507 738c add.w r3, r7, #280 ; 0x118 - 801a3b0: e893 0006 ldmia.w r3, {r1, r2} - 801a3b4: f8df 3638 ldr.w r3, [pc, #1592] ; 801a9f0 <_ZN15EteindreBougiesC1Eb+0xb48> - 801a3b8: f7ff fa88 bl 80198cc <_ZN16EteindreBougieV2C1E8Positionfbbbb> - 801a3bc: 6d3a ldr r2, [r7, #80] - 801a3be: 657a str r2, [r7, #84] - 801a3c0: e001 b.n 801a3c6 <_ZN15EteindreBougiesC1Eb+0x51e> - 801a3c2: 6d3b ldr r3, [r7, #80] - 801a3c4: 657b str r3, [r7, #84] - 801a3c6: f8d7 30bc ldr.w r3, [r7, #188] - 801a3ca: 6d7a ldr r2, [r7, #84] - 801a3cc: 641a str r2, [r3, #64] - bougiesBas[11] = new EteindreBougieV2(Position(1665, 1300, StrategieV2::getIsBlue()), 0.2500, false, true, isBlue, bleuVersRouge); - 801a3ce: f005 f9d1 bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 801a3d2: 4603 mov r3, r0 - 801a3d4: 469c mov ip, r3 - 801a3d6: f507 7390 add.w r3, r7, #288 ; 0x120 - 801a3da: 4618 mov r0, r3 - 801a3dc: f8df 160c ldr.w r1, [pc, #1548] ; 801a9ec <_ZN15EteindreBougiesC1Eb+0xb44> - 801a3e0: f8df 25f8 ldr.w r2, [pc, #1528] ; 801a9dc <_ZN15EteindreBougiesC1Eb+0xb34> - 801a3e4: 4663 mov r3, ip - 801a3e6: f7fd f9e3 bl 80177b0 <_ZN8PositionC1Effb> - 801a3ea: f04f 0020 mov.w r0, #32 ; 0x20 - 801a3ee: f7fd f867 bl 80174c0 <_Znwj> - 801a3f2: 4603 mov r3, r0 - 801a3f4: 65bb str r3, [r7, #88] - 801a3f6: 6dbb ldr r3, [r7, #88] - 801a3f8: 2b00 cmp r3, #0 - 801a3fa: d019 beq.n 801a430 <_ZN15EteindreBougiesC1Eb+0x588> - 801a3fc: f8d7 30bc ldr.w r3, [r7, #188] - 801a400: f893 206c ldrb.w r2, [r3, #108] - 801a404: f04f 0300 mov.w r3, #0 ; 0x0 - 801a408: 9300 str r3, [sp, #0] - 801a40a: f04f 0301 mov.w r3, #1 ; 0x1 - 801a40e: 9301 str r3, [sp, #4] - 801a410: f897 30bb ldrb.w r3, [r7, #187] - 801a414: 9302 str r3, [sp, #8] - 801a416: 9203 str r2, [sp, #12] - 801a418: 6db8 ldr r0, [r7, #88] - 801a41a: f507 7390 add.w r3, r7, #288 ; 0x120 - 801a41e: e893 0006 ldmia.w r3, {r1, r2} - 801a422: f8df 35d0 ldr.w r3, [pc, #1488] ; 801a9f4 <_ZN15EteindreBougiesC1Eb+0xb4c> - 801a426: f7ff fa51 bl 80198cc <_ZN16EteindreBougieV2C1E8Positionfbbbb> - 801a42a: 6dba ldr r2, [r7, #88] - 801a42c: 65fa str r2, [r7, #92] - 801a42e: e001 b.n 801a434 <_ZN15EteindreBougiesC1Eb+0x58c> - 801a430: 6dbb ldr r3, [r7, #88] - 801a432: 65fb str r3, [r7, #92] - 801a434: f8d7 30bc ldr.w r3, [r7, #188] - 801a438: 6dfa ldr r2, [r7, #92] - 801a43a: 645a str r2, [r3, #68] - bougiesBas[12] = new EteindreBougieV2(Position(1860, 1355, StrategieV2::getIsBlue()), 0.50, true, true, isBlue, bleuVersRouge); - 801a43c: f005 f99a bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 801a440: 4603 mov r3, r0 - 801a442: 469c mov ip, r3 - 801a444: f507 7394 add.w r3, r7, #296 ; 0x128 - 801a448: 4618 mov r0, r3 - 801a44a: f8df 15ac ldr.w r1, [pc, #1452] ; 801a9f8 <_ZN15EteindreBougiesC1Eb+0xb50> - 801a44e: f8df 25ac ldr.w r2, [pc, #1452] ; 801a9fc <_ZN15EteindreBougiesC1Eb+0xb54> - 801a452: 4663 mov r3, ip - 801a454: f7fd f9ac bl 80177b0 <_ZN8PositionC1Effb> - 801a458: f04f 0020 mov.w r0, #32 ; 0x20 - 801a45c: f7fd f830 bl 80174c0 <_Znwj> - 801a460: 4603 mov r3, r0 - 801a462: 663b str r3, [r7, #96] - 801a464: 6e3b ldr r3, [r7, #96] - 801a466: 2b00 cmp r3, #0 - 801a468: d019 beq.n 801a49e <_ZN15EteindreBougiesC1Eb+0x5f6> - 801a46a: f8d7 30bc ldr.w r3, [r7, #188] - 801a46e: f893 206c ldrb.w r2, [r3, #108] - 801a472: f04f 0301 mov.w r3, #1 ; 0x1 - 801a476: 9300 str r3, [sp, #0] - 801a478: f04f 0301 mov.w r3, #1 ; 0x1 - 801a47c: 9301 str r3, [sp, #4] - 801a47e: f897 30bb ldrb.w r3, [r7, #187] - 801a482: 9302 str r3, [sp, #8] - 801a484: 9203 str r2, [sp, #12] - 801a486: 6e38 ldr r0, [r7, #96] - 801a488: f507 7394 add.w r3, r7, #296 ; 0x128 - 801a48c: e893 0006 ldmia.w r3, {r1, r2} - 801a490: f8df 356c ldr.w r3, [pc, #1388] ; 801aa00 <_ZN15EteindreBougiesC1Eb+0xb58> - 801a494: f7ff fa1a bl 80198cc <_ZN16EteindreBougieV2C1E8Positionfbbbb> - 801a498: 6e3a ldr r2, [r7, #96] - 801a49a: 667a str r2, [r7, #100] - 801a49c: e001 b.n 801a4a2 <_ZN15EteindreBougiesC1Eb+0x5fa> - 801a49e: 6e3b ldr r3, [r7, #96] - 801a4a0: 667b str r3, [r7, #100] - 801a4a2: f8d7 30bc ldr.w r3, [r7, #188] - 801a4a6: 6e7a ldr r2, [r7, #100] - 801a4a8: 649a str r2, [r3, #72] - bougiesBas[13] = new EteindreBougieV2(Position(1920, 1420, StrategieV2::getIsBlue()), 0.50, false, true, !isBlue, bleuVersRouge); - 801a4aa: f005 f963 bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 801a4ae: 4603 mov r3, r0 - 801a4b0: 469c mov ip, r3 - 801a4b2: f507 7398 add.w r3, r7, #304 ; 0x130 - 801a4b6: 4618 mov r0, r3 - 801a4b8: f8df 1548 ldr.w r1, [pc, #1352] ; 801aa04 <_ZN15EteindreBougiesC1Eb+0xb5c> - 801a4bc: f8df 2548 ldr.w r2, [pc, #1352] ; 801aa08 <_ZN15EteindreBougiesC1Eb+0xb60> - 801a4c0: 4663 mov r3, ip - 801a4c2: f7fd f975 bl 80177b0 <_ZN8PositionC1Effb> - 801a4c6: f04f 0020 mov.w r0, #32 ; 0x20 - 801a4ca: f7fc fff9 bl 80174c0 <_Znwj> - 801a4ce: 4603 mov r3, r0 - 801a4d0: 66bb str r3, [r7, #104] - 801a4d2: 6ebb ldr r3, [r7, #104] - 801a4d4: 2b00 cmp r3, #0 - 801a4d6: d01c beq.n 801a512 <_ZN15EteindreBougiesC1Eb+0x66a> - 801a4d8: f897 30bb ldrb.w r3, [r7, #187] - 801a4dc: f083 0301 eor.w r3, r3, #1 ; 0x1 - 801a4e0: b2da uxtb r2, r3 - 801a4e2: f8d7 30bc ldr.w r3, [r7, #188] - 801a4e6: f893 106c ldrb.w r1, [r3, #108] - 801a4ea: f04f 0300 mov.w r3, #0 ; 0x0 - 801a4ee: 9300 str r3, [sp, #0] - 801a4f0: f04f 0301 mov.w r3, #1 ; 0x1 - 801a4f4: 9301 str r3, [sp, #4] - 801a4f6: 9202 str r2, [sp, #8] - 801a4f8: 9103 str r1, [sp, #12] - 801a4fa: 6eb8 ldr r0, [r7, #104] - 801a4fc: f507 7398 add.w r3, r7, #304 ; 0x130 - 801a500: e893 0006 ldmia.w r3, {r1, r2} - 801a504: f8df 34f8 ldr.w r3, [pc, #1272] ; 801aa00 <_ZN15EteindreBougiesC1Eb+0xb58> - 801a508: f7ff f9e0 bl 80198cc <_ZN16EteindreBougieV2C1E8Positionfbbbb> - 801a50c: 6eba ldr r2, [r7, #104] - 801a50e: 66fa str r2, [r7, #108] - 801a510: e001 b.n 801a516 <_ZN15EteindreBougiesC1Eb+0x66e> - 801a512: 6ebb ldr r3, [r7, #104] - 801a514: 66fb str r3, [r7, #108] - 801a516: f8d7 30bc ldr.w r3, [r7, #188] - 801a51a: 6efa ldr r2, [r7, #108] - 801a51c: 64da str r2, [r3, #76] - bougiesBas[14] = new EteindreBougieV2(Position(2010, 1510, StrategieV2::getIsBlue()), 0.654498, true, true, isBlue, bleuVersRouge); - 801a51e: f005 f929 bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 801a522: 4603 mov r3, r0 - 801a524: 469c mov ip, r3 - 801a526: f507 739c add.w r3, r7, #312 ; 0x138 - 801a52a: 4618 mov r0, r3 - 801a52c: f8df 14dc ldr.w r1, [pc, #1244] ; 801aa0c <_ZN15EteindreBougiesC1Eb+0xb64> - 801a530: f8df 24dc ldr.w r2, [pc, #1244] ; 801aa10 <_ZN15EteindreBougiesC1Eb+0xb68> - 801a534: 4663 mov r3, ip - 801a536: f7fd f93b bl 80177b0 <_ZN8PositionC1Effb> - 801a53a: f04f 0020 mov.w r0, #32 ; 0x20 - 801a53e: f7fc ffbf bl 80174c0 <_Znwj> - 801a542: 4603 mov r3, r0 - 801a544: 673b str r3, [r7, #112] - 801a546: 6f3b ldr r3, [r7, #112] - 801a548: 2b00 cmp r3, #0 - 801a54a: d019 beq.n 801a580 <_ZN15EteindreBougiesC1Eb+0x6d8> - 801a54c: f8d7 30bc ldr.w r3, [r7, #188] - 801a550: f893 206c ldrb.w r2, [r3, #108] - 801a554: f04f 0301 mov.w r3, #1 ; 0x1 - 801a558: 9300 str r3, [sp, #0] - 801a55a: f04f 0301 mov.w r3, #1 ; 0x1 - 801a55e: 9301 str r3, [sp, #4] - 801a560: f897 30bb ldrb.w r3, [r7, #187] - 801a564: 9302 str r3, [sp, #8] - 801a566: 9203 str r2, [sp, #12] - 801a568: 6f38 ldr r0, [r7, #112] - 801a56a: f507 739c add.w r3, r7, #312 ; 0x138 - 801a56e: e893 0006 ldmia.w r3, {r1, r2} - 801a572: f8df 34a0 ldr.w r3, [pc, #1184] ; 801aa14 <_ZN15EteindreBougiesC1Eb+0xb6c> - 801a576: f7ff f9a9 bl 80198cc <_ZN16EteindreBougieV2C1E8Positionfbbbb> - 801a57a: 6f3a ldr r2, [r7, #112] - 801a57c: 677a str r2, [r7, #116] - 801a57e: e001 b.n 801a584 <_ZN15EteindreBougiesC1Eb+0x6dc> - 801a580: 6f3b ldr r3, [r7, #112] - 801a582: 677b str r3, [r7, #116] - 801a584: f8d7 30bc ldr.w r3, [r7, #188] - 801a588: 6f7a ldr r2, [r7, #116] - 801a58a: 651a str r2, [r3, #80] - bougiesBas[15] = new EteindreBougieV2(Position(2060, 1600, StrategieV2::getIsBlue()), 0.80, false, true, isBlue, bleuVersRouge); - 801a58c: f005 f8f2 bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 801a590: 4603 mov r3, r0 - 801a592: 469c mov ip, r3 - 801a594: f507 73a0 add.w r3, r7, #320 ; 0x140 - 801a598: 4618 mov r0, r3 - 801a59a: f8df 147c ldr.w r1, [pc, #1148] ; 801aa18 <_ZN15EteindreBougiesC1Eb+0xb70> - 801a59e: f8df 247c ldr.w r2, [pc, #1148] ; 801aa1c <_ZN15EteindreBougiesC1Eb+0xb74> - 801a5a2: 4663 mov r3, ip - 801a5a4: f7fd f904 bl 80177b0 <_ZN8PositionC1Effb> - 801a5a8: f04f 0020 mov.w r0, #32 ; 0x20 - 801a5ac: f7fc ff88 bl 80174c0 <_Znwj> - 801a5b0: 4603 mov r3, r0 - 801a5b2: 67bb str r3, [r7, #120] - 801a5b4: 6fbb ldr r3, [r7, #120] - 801a5b6: 2b00 cmp r3, #0 - 801a5b8: d019 beq.n 801a5ee <_ZN15EteindreBougiesC1Eb+0x746> - 801a5ba: f8d7 30bc ldr.w r3, [r7, #188] - 801a5be: f893 206c ldrb.w r2, [r3, #108] - 801a5c2: f04f 0300 mov.w r3, #0 ; 0x0 - 801a5c6: 9300 str r3, [sp, #0] - 801a5c8: f04f 0301 mov.w r3, #1 ; 0x1 - 801a5cc: 9301 str r3, [sp, #4] - 801a5ce: f897 30bb ldrb.w r3, [r7, #187] - 801a5d2: 9302 str r3, [sp, #8] - 801a5d4: 9203 str r2, [sp, #12] - 801a5d6: 6fb8 ldr r0, [r7, #120] - 801a5d8: f507 73a0 add.w r3, r7, #320 ; 0x140 - 801a5dc: e893 0006 ldmia.w r3, {r1, r2} - 801a5e0: f8df 343c ldr.w r3, [pc, #1084] ; 801aa20 <_ZN15EteindreBougiesC1Eb+0xb78> - 801a5e4: f7ff f972 bl 80198cc <_ZN16EteindreBougieV2C1E8Positionfbbbb> - 801a5e8: 6fba ldr r2, [r7, #120] - 801a5ea: 67fa str r2, [r7, #124] - 801a5ec: e001 b.n 801a5f2 <_ZN15EteindreBougiesC1Eb+0x74a> - 801a5ee: 6fbb ldr r3, [r7, #120] - 801a5f0: 67fb str r3, [r7, #124] - 801a5f2: f8d7 30bc ldr.w r3, [r7, #188] - 801a5f6: 6ffa ldr r2, [r7, #124] - 801a5f8: 655a str r2, [r3, #84] - bougiesBas[16] = new EteindreBougieV2(Position(2120.00, 1620, StrategieV2::getIsBlue()), 0.916298, true, true, !isBlue, bleuVersRouge); - 801a5fa: f005 f8bb bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 801a5fe: 4603 mov r3, r0 - 801a600: 469c mov ip, r3 - 801a602: f507 73a4 add.w r3, r7, #328 ; 0x148 - 801a606: 4618 mov r0, r3 - 801a608: f8df 1418 ldr.w r1, [pc, #1048] ; 801aa24 <_ZN15EteindreBougiesC1Eb+0xb7c> - 801a60c: f8df 2418 ldr.w r2, [pc, #1048] ; 801aa28 <_ZN15EteindreBougiesC1Eb+0xb80> - 801a610: 4663 mov r3, ip - 801a612: f7fd f8cd bl 80177b0 <_ZN8PositionC1Effb> - 801a616: f04f 0020 mov.w r0, #32 ; 0x20 - 801a61a: f7fc ff51 bl 80174c0 <_Znwj> - 801a61e: 4603 mov r3, r0 - 801a620: f8c7 3080 str.w r3, [r7, #128] - 801a624: f8d7 3080 ldr.w r3, [r7, #128] - 801a628: 2b00 cmp r3, #0 - 801a62a: d01e beq.n 801a66a <_ZN15EteindreBougiesC1Eb+0x7c2> - 801a62c: f897 30bb ldrb.w r3, [r7, #187] - 801a630: f083 0301 eor.w r3, r3, #1 ; 0x1 - 801a634: b2da uxtb r2, r3 - 801a636: f8d7 30bc ldr.w r3, [r7, #188] - 801a63a: f893 106c ldrb.w r1, [r3, #108] - 801a63e: f04f 0301 mov.w r3, #1 ; 0x1 - 801a642: 9300 str r3, [sp, #0] - 801a644: f04f 0301 mov.w r3, #1 ; 0x1 - 801a648: 9301 str r3, [sp, #4] - 801a64a: 9202 str r2, [sp, #8] - 801a64c: 9103 str r1, [sp, #12] - 801a64e: f8d7 0080 ldr.w r0, [r7, #128] - 801a652: f507 73a4 add.w r3, r7, #328 ; 0x148 - 801a656: e893 0006 ldmia.w r3, {r1, r2} - 801a65a: 4bf4 ldr r3, [pc, #976] (801aa2c <_ZN15EteindreBougiesC1Eb+0xb84>) - 801a65c: f7ff f936 bl 80198cc <_ZN16EteindreBougieV2C1E8Positionfbbbb> - 801a660: f8d7 2080 ldr.w r2, [r7, #128] - 801a664: f8c7 2084 str.w r2, [r7, #132] - 801a668: e003 b.n 801a672 <_ZN15EteindreBougiesC1Eb+0x7ca> - 801a66a: f8d7 3080 ldr.w r3, [r7, #128] - 801a66e: f8c7 3084 str.w r3, [r7, #132] - 801a672: f8d7 30bc ldr.w r3, [r7, #188] - 801a676: f8d7 2084 ldr.w r2, [r7, #132] - 801a67a: 659a str r2, [r3, #88] - bougiesBas[17] = new EteindreBougieV2(Position(2160.00, 1780, StrategieV2::getIsBlue()), 1.1781, true, true, !isBlue, bleuVersRouge); - 801a67c: f005 f87a bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 801a680: 4603 mov r3, r0 - 801a682: 469c mov ip, r3 - 801a684: f507 73a8 add.w r3, r7, #336 ; 0x150 - 801a688: 4618 mov r0, r3 - 801a68a: 49e9 ldr r1, [pc, #932] (801aa30 <_ZN15EteindreBougiesC1Eb+0xb88>) - 801a68c: 4ae9 ldr r2, [pc, #932] (801aa34 <_ZN15EteindreBougiesC1Eb+0xb8c>) - 801a68e: 4663 mov r3, ip - 801a690: f7fd f88e bl 80177b0 <_ZN8PositionC1Effb> - 801a694: f04f 0020 mov.w r0, #32 ; 0x20 - 801a698: f7fc ff12 bl 80174c0 <_Znwj> - 801a69c: 4603 mov r3, r0 - 801a69e: f8c7 3088 str.w r3, [r7, #136] - 801a6a2: f8d7 3088 ldr.w r3, [r7, #136] - 801a6a6: 2b00 cmp r3, #0 - 801a6a8: d01e beq.n 801a6e8 <_ZN15EteindreBougiesC1Eb+0x840> - 801a6aa: f897 30bb ldrb.w r3, [r7, #187] - 801a6ae: f083 0301 eor.w r3, r3, #1 ; 0x1 - 801a6b2: b2da uxtb r2, r3 - 801a6b4: f8d7 30bc ldr.w r3, [r7, #188] - 801a6b8: f893 106c ldrb.w r1, [r3, #108] - 801a6bc: f04f 0301 mov.w r3, #1 ; 0x1 - 801a6c0: 9300 str r3, [sp, #0] - 801a6c2: f04f 0301 mov.w r3, #1 ; 0x1 - 801a6c6: 9301 str r3, [sp, #4] - 801a6c8: 9202 str r2, [sp, #8] - 801a6ca: 9103 str r1, [sp, #12] - 801a6cc: f8d7 0088 ldr.w r0, [r7, #136] - 801a6d0: f507 73a8 add.w r3, r7, #336 ; 0x150 - 801a6d4: e893 0006 ldmia.w r3, {r1, r2} - 801a6d8: 4bd7 ldr r3, [pc, #860] (801aa38 <_ZN15EteindreBougiesC1Eb+0xb90>) - 801a6da: f7ff f8f7 bl 80198cc <_ZN16EteindreBougieV2C1E8Positionfbbbb> - 801a6de: f8d7 2088 ldr.w r2, [r7, #136] - 801a6e2: f8c7 208c str.w r2, [r7, #140] - 801a6e6: e003 b.n 801a6f0 <_ZN15EteindreBougiesC1Eb+0x848> - 801a6e8: f8d7 3088 ldr.w r3, [r7, #136] - 801a6ec: f8c7 308c str.w r3, [r7, #140] - 801a6f0: f8d7 30bc ldr.w r3, [r7, #188] - 801a6f4: f8d7 208c ldr.w r2, [r7, #140] - 801a6f8: 65da str r2, [r3, #92] - bougiesBas[18] = new EteindreBougieV2(Position(2174.18, 1890, StrategieV2::getIsBlue()), 1.4399, true, true, !isBlue, bleuVersRouge); - 801a6fa: f005 f83b bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 801a6fe: 4603 mov r3, r0 - 801a700: 469c mov ip, r3 - 801a702: f507 73ac add.w r3, r7, #344 ; 0x158 - 801a706: 4618 mov r0, r3 - 801a708: 49cc ldr r1, [pc, #816] (801aa3c <_ZN15EteindreBougiesC1Eb+0xb94>) - 801a70a: 4acd ldr r2, [pc, #820] (801aa40 <_ZN15EteindreBougiesC1Eb+0xb98>) - 801a70c: 4663 mov r3, ip - 801a70e: f7fd f84f bl 80177b0 <_ZN8PositionC1Effb> - 801a712: f04f 0020 mov.w r0, #32 ; 0x20 - 801a716: f7fc fed3 bl 80174c0 <_Znwj> - 801a71a: 4603 mov r3, r0 - 801a71c: f8c7 3090 str.w r3, [r7, #144] - 801a720: f8d7 3090 ldr.w r3, [r7, #144] - 801a724: 2b00 cmp r3, #0 - 801a726: d01e beq.n 801a766 <_ZN15EteindreBougiesC1Eb+0x8be> - 801a728: f897 30bb ldrb.w r3, [r7, #187] - 801a72c: f083 0301 eor.w r3, r3, #1 ; 0x1 - 801a730: b2da uxtb r2, r3 - 801a732: f8d7 30bc ldr.w r3, [r7, #188] - 801a736: f893 106c ldrb.w r1, [r3, #108] - 801a73a: f04f 0301 mov.w r3, #1 ; 0x1 - 801a73e: 9300 str r3, [sp, #0] - 801a740: f04f 0301 mov.w r3, #1 ; 0x1 - 801a744: 9301 str r3, [sp, #4] - 801a746: 9202 str r2, [sp, #8] - 801a748: 9103 str r1, [sp, #12] - 801a74a: f8d7 0090 ldr.w r0, [r7, #144] - 801a74e: f507 73ac add.w r3, r7, #344 ; 0x158 - 801a752: e893 0006 ldmia.w r3, {r1, r2} - 801a756: 4bbb ldr r3, [pc, #748] (801aa44 <_ZN15EteindreBougiesC1Eb+0xb9c>) - 801a758: f7ff f8b8 bl 80198cc <_ZN16EteindreBougieV2C1E8Positionfbbbb> - 801a75c: f8d7 2090 ldr.w r2, [r7, #144] - 801a760: f8c7 2094 str.w r2, [r7, #148] - 801a764: e003 b.n 801a76e <_ZN15EteindreBougiesC1Eb+0x8c6> - 801a766: f8d7 3090 ldr.w r3, [r7, #144] - 801a76a: f8c7 3094 str.w r3, [r7, #148] - 801a76e: f8d7 30bc ldr.w r3, [r7, #188] - 801a772: f8d7 2094 ldr.w r2, [r7, #148] - 801a776: 661a str r2, [r3, #96] - 801a778: e0ef b.n 801a95a <_ZN15EteindreBougiesC1Eb+0xab2> - //bougiesBas[7] = new EteindreBougieV2(Position(2150, 1895, StrategieV2::getIsBlue()), 1.10, false, true, true, bleuVersRouge); - - } - else - { - bougiesBas[4] = new EteindreBougieV2(Position(1290, 1320, StrategieV2::getIsBlue()), 0.50, true, true, true, bleuVersRouge); - 801a77a: f004 fffb bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 801a77e: 4603 mov r3, r0 - 801a780: 469c mov ip, r3 - 801a782: f507 73b0 add.w r3, r7, #352 ; 0x160 - 801a786: 4618 mov r0, r3 - 801a788: 4990 ldr r1, [pc, #576] (801a9cc <_ZN15EteindreBougiesC1Eb+0xb24>) - 801a78a: 4a91 ldr r2, [pc, #580] (801a9d0 <_ZN15EteindreBougiesC1Eb+0xb28>) - 801a78c: 4663 mov r3, ip - 801a78e: f7fd f80f bl 80177b0 <_ZN8PositionC1Effb> - 801a792: f04f 0020 mov.w r0, #32 ; 0x20 - 801a796: f7fc fe93 bl 80174c0 <_Znwj> - 801a79a: 4603 mov r3, r0 - 801a79c: f8c7 3098 str.w r3, [r7, #152] - 801a7a0: f8d7 3098 ldr.w r3, [r7, #152] - 801a7a4: 2b00 cmp r3, #0 - 801a7a6: d01b beq.n 801a7e0 <_ZN15EteindreBougiesC1Eb+0x938> - 801a7a8: f8d7 30bc ldr.w r3, [r7, #188] - 801a7ac: f893 206c ldrb.w r2, [r3, #108] - 801a7b0: f04f 0301 mov.w r3, #1 ; 0x1 - 801a7b4: 9300 str r3, [sp, #0] - 801a7b6: f04f 0301 mov.w r3, #1 ; 0x1 - 801a7ba: 9301 str r3, [sp, #4] - 801a7bc: f04f 0301 mov.w r3, #1 ; 0x1 - 801a7c0: 9302 str r3, [sp, #8] - 801a7c2: 9203 str r2, [sp, #12] - 801a7c4: f8d7 0098 ldr.w r0, [r7, #152] - 801a7c8: f507 73b0 add.w r3, r7, #352 ; 0x160 - 801a7cc: e893 0006 ldmia.w r3, {r1, r2} - 801a7d0: 4b8b ldr r3, [pc, #556] (801aa00 <_ZN15EteindreBougiesC1Eb+0xb58>) - 801a7d2: f7ff f87b bl 80198cc <_ZN16EteindreBougieV2C1E8Positionfbbbb> - 801a7d6: f8d7 2098 ldr.w r2, [r7, #152] - 801a7da: f8c7 209c str.w r2, [r7, #156] - 801a7de: e003 b.n 801a7e8 <_ZN15EteindreBougiesC1Eb+0x940> - 801a7e0: f8d7 3098 ldr.w r3, [r7, #152] - 801a7e4: f8c7 309c str.w r3, [r7, #156] - 801a7e8: f8d7 30bc ldr.w r3, [r7, #188] - 801a7ec: f8d7 209c ldr.w r2, [r7, #156] - 801a7f0: 629a str r2, [r3, #40] - bougiesBas[5] = new EteindreBougieV2(Position(1470, 1285, StrategieV2::getIsBlue()), 0.1309, true, true, true, bleuVersRouge); - 801a7f2: f004 ffbf bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 801a7f6: 4603 mov r3, r0 - 801a7f8: 469c mov ip, r3 - 801a7fa: f507 73b4 add.w r3, r7, #360 ; 0x168 - 801a7fe: 4618 mov r0, r3 - 801a800: 4991 ldr r1, [pc, #580] (801aa48 <_ZN15EteindreBougiesC1Eb+0xba0>) - 801a802: 4a92 ldr r2, [pc, #584] (801aa4c <_ZN15EteindreBougiesC1Eb+0xba4>) - 801a804: 4663 mov r3, ip - 801a806: f7fc ffd3 bl 80177b0 <_ZN8PositionC1Effb> - 801a80a: f04f 0020 mov.w r0, #32 ; 0x20 - 801a80e: f7fc fe57 bl 80174c0 <_Znwj> - 801a812: 4603 mov r3, r0 - 801a814: f8c7 30a0 str.w r3, [r7, #160] - 801a818: f8d7 30a0 ldr.w r3, [r7, #160] - 801a81c: 2b00 cmp r3, #0 - 801a81e: d01b beq.n 801a858 <_ZN15EteindreBougiesC1Eb+0x9b0> - 801a820: f8d7 30bc ldr.w r3, [r7, #188] - 801a824: f893 206c ldrb.w r2, [r3, #108] - 801a828: f04f 0301 mov.w r3, #1 ; 0x1 - 801a82c: 9300 str r3, [sp, #0] - 801a82e: f04f 0301 mov.w r3, #1 ; 0x1 - 801a832: 9301 str r3, [sp, #4] - 801a834: f04f 0301 mov.w r3, #1 ; 0x1 - 801a838: 9302 str r3, [sp, #8] - 801a83a: 9203 str r2, [sp, #12] - 801a83c: f8d7 00a0 ldr.w r0, [r7, #160] - 801a840: f507 73b4 add.w r3, r7, #360 ; 0x168 - 801a844: e893 0006 ldmia.w r3, {r1, r2} - 801a848: 4b69 ldr r3, [pc, #420] (801a9f0 <_ZN15EteindreBougiesC1Eb+0xb48>) - 801a84a: f7ff f83f bl 80198cc <_ZN16EteindreBougieV2C1E8Positionfbbbb> - 801a84e: f8d7 20a0 ldr.w r2, [r7, #160] - 801a852: f8c7 20a4 str.w r2, [r7, #164] - 801a856: e003 b.n 801a860 <_ZN15EteindreBougiesC1Eb+0x9b8> - 801a858: f8d7 30a0 ldr.w r3, [r7, #160] - 801a85c: f8c7 30a4 str.w r3, [r7, #164] - 801a860: f8d7 30bc ldr.w r3, [r7, #188] - 801a864: f8d7 20a4 ldr.w r2, [r7, #164] - 801a868: 62da str r2, [r3, #44] - bougiesBas[6] = new EteindreBougieV2(Position(1640, 1295, StrategieV2::getIsBlue()), -0.1309, true, true, true, bleuVersRouge); - 801a86a: f004 ff83 bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 801a86e: 4603 mov r3, r0 - 801a870: 469c mov ip, r3 - 801a872: f507 73b8 add.w r3, r7, #368 ; 0x170 - 801a876: 4618 mov r0, r3 - 801a878: 4975 ldr r1, [pc, #468] (801aa50 <_ZN15EteindreBougiesC1Eb+0xba8>) - 801a87a: 4a76 ldr r2, [pc, #472] (801aa54 <_ZN15EteindreBougiesC1Eb+0xbac>) - 801a87c: 4663 mov r3, ip - 801a87e: f7fc ff97 bl 80177b0 <_ZN8PositionC1Effb> - 801a882: f04f 0020 mov.w r0, #32 ; 0x20 - 801a886: f7fc fe1b bl 80174c0 <_Znwj> - 801a88a: 4603 mov r3, r0 - 801a88c: f8c7 30a8 str.w r3, [r7, #168] - 801a890: f8d7 30a8 ldr.w r3, [r7, #168] - 801a894: 2b00 cmp r3, #0 - 801a896: d01b beq.n 801a8d0 <_ZN15EteindreBougiesC1Eb+0xa28> - 801a898: f8d7 30bc ldr.w r3, [r7, #188] - 801a89c: f893 206c ldrb.w r2, [r3, #108] - 801a8a0: f04f 0301 mov.w r3, #1 ; 0x1 - 801a8a4: 9300 str r3, [sp, #0] - 801a8a6: f04f 0301 mov.w r3, #1 ; 0x1 - 801a8aa: 9301 str r3, [sp, #4] - 801a8ac: f04f 0301 mov.w r3, #1 ; 0x1 - 801a8b0: 9302 str r3, [sp, #8] - 801a8b2: 9203 str r2, [sp, #12] - 801a8b4: f8d7 00a8 ldr.w r0, [r7, #168] - 801a8b8: f507 73b8 add.w r3, r7, #368 ; 0x170 - 801a8bc: e893 0006 ldmia.w r3, {r1, r2} - 801a8c0: 4b65 ldr r3, [pc, #404] (801aa58 <_ZN15EteindreBougiesC1Eb+0xbb0>) - 801a8c2: f7ff f803 bl 80198cc <_ZN16EteindreBougieV2C1E8Positionfbbbb> - 801a8c6: f8d7 20a8 ldr.w r2, [r7, #168] - 801a8ca: f8c7 20ac str.w r2, [r7, #172] - 801a8ce: e003 b.n 801a8d8 <_ZN15EteindreBougiesC1Eb+0xa30> - 801a8d0: f8d7 30a8 ldr.w r3, [r7, #168] - 801a8d4: f8c7 30ac str.w r3, [r7, #172] - 801a8d8: f8d7 30bc ldr.w r3, [r7, #188] - 801a8dc: f8d7 20ac ldr.w r2, [r7, #172] - 801a8e0: 631a str r2, [r3, #48] - bougiesBas[7] = new EteindreBougieV2(Position(1820, 1365, StrategieV2::getIsBlue()), -0.50, true, true, true, bleuVersRouge); - 801a8e2: f004 ff47 bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 801a8e6: 4603 mov r3, r0 - 801a8e8: 469c mov ip, r3 - 801a8ea: f507 73bc add.w r3, r7, #376 ; 0x178 - 801a8ee: 4618 mov r0, r3 - 801a8f0: 495a ldr r1, [pc, #360] (801aa5c <_ZN15EteindreBougiesC1Eb+0xbb4>) - 801a8f2: 4a5b ldr r2, [pc, #364] (801aa60 <_ZN15EteindreBougiesC1Eb+0xbb8>) - 801a8f4: 4663 mov r3, ip - 801a8f6: f7fc ff5b bl 80177b0 <_ZN8PositionC1Effb> - 801a8fa: f04f 0020 mov.w r0, #32 ; 0x20 - 801a8fe: f7fc fddf bl 80174c0 <_Znwj> - 801a902: 4603 mov r3, r0 - 801a904: f8c7 30b0 str.w r3, [r7, #176] - 801a908: f8d7 30b0 ldr.w r3, [r7, #176] - 801a90c: 2b00 cmp r3, #0 - 801a90e: d01b beq.n 801a948 <_ZN15EteindreBougiesC1Eb+0xaa0> - 801a910: f8d7 30bc ldr.w r3, [r7, #188] - 801a914: f893 206c ldrb.w r2, [r3, #108] - 801a918: f04f 0301 mov.w r3, #1 ; 0x1 - 801a91c: 9300 str r3, [sp, #0] - 801a91e: f04f 0301 mov.w r3, #1 ; 0x1 - 801a922: 9301 str r3, [sp, #4] - 801a924: f04f 0301 mov.w r3, #1 ; 0x1 - 801a928: 9302 str r3, [sp, #8] - 801a92a: 9203 str r2, [sp, #12] - 801a92c: f8d7 00b0 ldr.w r0, [r7, #176] - 801a930: f507 73bc add.w r3, r7, #376 ; 0x178 - 801a934: e893 0006 ldmia.w r3, {r1, r2} - 801a938: 4b26 ldr r3, [pc, #152] (801a9d4 <_ZN15EteindreBougiesC1Eb+0xb2c>) - 801a93a: f7fe ffc7 bl 80198cc <_ZN16EteindreBougieV2C1E8Positionfbbbb> - 801a93e: f8d7 20b0 ldr.w r2, [r7, #176] - 801a942: f8c7 20b4 str.w r2, [r7, #180] - 801a946: e003 b.n 801a950 <_ZN15EteindreBougiesC1Eb+0xaa8> - 801a948: f8d7 30b0 ldr.w r3, [r7, #176] - 801a94c: f8c7 30b4 str.w r3, [r7, #180] - 801a950: f8d7 30bc ldr.w r3, [r7, #188] - 801a954: f8d7 20b4 ldr.w r2, [r7, #180] - 801a958: 635a str r2, [r3, #52] - } - - etapeBas = 0;//(bleuVersRouge?4:6); // valeur a laquelle on commence, mettre 4 ou 7 pour faire les blanches uniquements - 801a95a: f8d7 20bc ldr.w r2, [r7, #188] - 801a95e: f04f 0300 mov.w r3, #0 ; 0x0 - 801a962: 6693 str r3, [r2, #104] - status = 0; - 801a964: f8d7 20bc ldr.w r2, [r7, #188] - 801a968: f04f 0300 mov.w r3, #0 ; 0x0 - 801a96c: 60d3 str r3, [r2, #12] -} - 801a96e: f8d7 30bc ldr.w r3, [r7, #188] - 801a972: 4618 mov r0, r3 - 801a974: f507 77c2 add.w r7, r7, #388 ; 0x184 - 801a978: 46bd mov sp, r7 - 801a97a: bd90 pop {r4, r7, pc} - 801a97c: 00000000 .word 0x00000000 - 801a980: 080340a0 .word 0x080340a0 - 801a984: 44548000 .word 0x44548000 - 801a988: 44e02000 .word 0x44e02000 - 801a98c: bf9c28f6 .word 0xbf9c28f6 - 801a990: 44636810 .word 0x44636810 - 801a994: 44cae000 .word 0x44cae000 - 801a998: bf800000 .word 0xbf800000 - 801a99c: 446b4000 .word 0x446b4000 - 801a9a0: 44c58000 .word 0x44c58000 - 801a9a4: bf68f5c3 .word 0xbf68f5c3 - 801a9a8: 448062e1 .word 0x448062e1 - 801a9ac: 44b96000 .word 0x44b96000 - 801a9b0: bf6a9281 .word 0xbf6a9281 - 801a9b4: 44930000 .word 0x44930000 - 801a9b8: 44ab4000 .word 0x44ab4000 - 801a9bc: becccccd .word 0xbecccccd - 801a9c0: 449318f6 .word 0x449318f6 - 801a9c4: 44ac6000 .word 0x44ac6000 - 801a9c8: bf278d2e .word 0xbf278d2e - 801a9cc: 44a14000 .word 0x44a14000 - 801a9d0: 44a50000 .word 0x44a50000 - 801a9d4: bf000000 .word 0xbf000000 - 801a9d8: 44b2c000 .word 0x44b2c000 - 801a9dc: 44a28000 .word 0x44a28000 - 801a9e0: 44b9a000 .word 0x44b9a000 - 801a9e4: 449d8000 .word 0x449d8000 - 801a9e8: bd4ccccd .word 0xbd4ccccd - 801a9ec: 44d02000 .word 0x44d02000 - 801a9f0: 3e060aa6 .word 0x3e060aa6 - 801a9f4: 3e800000 .word 0x3e800000 - 801a9f8: 44e88000 .word 0x44e88000 - 801a9fc: 44a96000 .word 0x44a96000 - 801aa00: 3f000000 .word 0x3f000000 - 801aa04: 44f00000 .word 0x44f00000 - 801aa08: 44b18000 .word 0x44b18000 - 801aa0c: 44fb4000 .word 0x44fb4000 - 801aa10: 44bcc000 .word 0x44bcc000 - 801aa14: 3f278d2e .word 0x3f278d2e - 801aa18: 4500c000 .word 0x4500c000 - 801aa1c: 44c80000 .word 0x44c80000 - 801aa20: 3f4ccccd .word 0x3f4ccccd - 801aa24: 45048000 .word 0x45048000 - 801aa28: 44ca8000 .word 0x44ca8000 - 801aa2c: 3f6a9281 .word 0x3f6a9281 - 801aa30: 45070000 .word 0x45070000 - 801aa34: 44de8000 .word 0x44de8000 - 801aa38: 3f96cbfb .word 0x3f96cbfb - 801aa3c: 4507e2e1 .word 0x4507e2e1 - 801aa40: 44ec4000 .word 0x44ec4000 - 801aa44: 3fb84ea5 .word 0x3fb84ea5 - 801aa48: 44b7c000 .word 0x44b7c000 - 801aa4c: 44a0a000 .word 0x44a0a000 - 801aa50: 44cd0000 .word 0x44cd0000 - 801aa54: 44a1e000 .word 0x44a1e000 - 801aa58: be060aa6 .word 0xbe060aa6 - 801aa5c: 44e38000 .word 0x44e38000 - 801aa60: 44aaa000 .word 0x44aaa000 - -0801aa64 <_ZN15EteindreBougiesC2Eb>: -#include "leds.h" -#include "odometrie.h" -#include "asservissement.h" -#include "marteaux.h" - -EteindreBougies::EteindreBougies(bool isBlue) : MediumLevelAction() - 801aa64: b590 push {r4, r7, lr} - 801aa66: b0e5 sub sp, #404 - 801aa68: af04 add r7, sp, #16 - 801aa6a: f8c7 00bc str.w r0, [r7, #188] - 801aa6e: 460b mov r3, r1 - 801aa70: f887 30bb strb.w r3, [r7, #187] - 801aa74: f8d7 40bc ldr.w r4, [r7, #188] - 801aa78: f107 03c0 add.w r3, r7, #192 ; 0xc0 - 801aa7c: 4618 mov r0, r3 - 801aa7e: f8df 1ab8 ldr.w r1, [pc, #2744] ; 801b538 <_ZN15EteindreBougiesC2Eb+0xad4> - 801aa82: f8df 2ab4 ldr.w r2, [pc, #2740] ; 801b538 <_ZN15EteindreBougiesC2Eb+0xad4> - 801aa86: f04f 0301 mov.w r3, #1 ; 0x1 - 801aa8a: f7fc fe91 bl 80177b0 <_ZN8PositionC1Effb> - 801aa8e: 4620 mov r0, r4 - 801aa90: f107 03c0 add.w r3, r7, #192 ; 0xc0 - 801aa94: e893 0006 ldmia.w r3, {r1, r2} - 801aa98: f001 fafa bl 801c090 <_ZN17MediumLevelActionC2E8Position> - 801aa9c: f8d7 20bc ldr.w r2, [r7, #188] - 801aaa0: f8df 3a98 ldr.w r3, [pc, #2712] ; 801b53c <_ZN15EteindreBougiesC2Eb+0xad8> - 801aaa4: 6013 str r3, [r2, #0] -{ - //bool isBlue = StrategieV2::getIsBlue(); - bleuVersRouge = isBlue; - 801aaa6: f8d7 20bc ldr.w r2, [r7, #188] - 801aaaa: f897 30bb ldrb.w r3, [r7, #187] - 801aaae: f882 306c strb.w r3, [r2, #108] - - if (StrategieV2::getIsBlue()) - 801aab2: f004 fe5f bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 801aab6: 4603 mov r3, r0 - 801aab8: 2b00 cmp r3, #0 - 801aaba: f000 843c beq.w 801b336 <_ZN15EteindreBougiesC2Eb+0x8d2> - { - bougiesBas[0] = new EteindreBougieV2(Position(850.00, 1793, StrategieV2::getIsBlue()), -1.2200, true, true, isBlue, bleuVersRouge); - 801aabe: f004 fe59 bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 801aac2: 4603 mov r3, r0 - 801aac4: 469c mov ip, r3 - 801aac6: f107 03c8 add.w r3, r7, #200 ; 0xc8 - 801aaca: 4618 mov r0, r3 - 801aacc: f8df 1a70 ldr.w r1, [pc, #2672] ; 801b540 <_ZN15EteindreBougiesC2Eb+0xadc> - 801aad0: f8df 2a70 ldr.w r2, [pc, #2672] ; 801b544 <_ZN15EteindreBougiesC2Eb+0xae0> - 801aad4: 4663 mov r3, ip - 801aad6: f7fc fe6b bl 80177b0 <_ZN8PositionC1Effb> - 801aada: f04f 0020 mov.w r0, #32 ; 0x20 - 801aade: f7fc fcef bl 80174c0 <_Znwj> - 801aae2: 4603 mov r3, r0 - 801aae4: 603b str r3, [r7, #0] - 801aae6: 683a ldr r2, [r7, #0] - 801aae8: 2a00 cmp r2, #0 - 801aaea: d019 beq.n 801ab20 <_ZN15EteindreBougiesC2Eb+0xbc> - 801aaec: f8d7 30bc ldr.w r3, [r7, #188] - 801aaf0: f893 206c ldrb.w r2, [r3, #108] - 801aaf4: f04f 0301 mov.w r3, #1 ; 0x1 - 801aaf8: 9300 str r3, [sp, #0] - 801aafa: f04f 0301 mov.w r3, #1 ; 0x1 - 801aafe: 9301 str r3, [sp, #4] - 801ab00: f897 30bb ldrb.w r3, [r7, #187] - 801ab04: 9302 str r3, [sp, #8] - 801ab06: 9203 str r2, [sp, #12] - 801ab08: 6838 ldr r0, [r7, #0] - 801ab0a: f107 03c8 add.w r3, r7, #200 ; 0xc8 - 801ab0e: e893 0006 ldmia.w r3, {r1, r2} - 801ab12: f8df 3a34 ldr.w r3, [pc, #2612] ; 801b548 <_ZN15EteindreBougiesC2Eb+0xae4> - 801ab16: f7fe fed9 bl 80198cc <_ZN16EteindreBougieV2C1E8Positionfbbbb> - 801ab1a: 683b ldr r3, [r7, #0] - 801ab1c: 607b str r3, [r7, #4] - 801ab1e: e001 b.n 801ab24 <_ZN15EteindreBougiesC2Eb+0xc0> - 801ab20: 683a ldr r2, [r7, #0] - 801ab22: 607a str r2, [r7, #4] - 801ab24: f8d7 30bc ldr.w r3, [r7, #188] - 801ab28: 687a ldr r2, [r7, #4] - 801ab2a: 619a str r2, [r3, #24] - bougiesBas[1] = new EteindreBougieV2(Position(850.00, 1793, StrategieV2::getIsBlue()), -1.2200, false, true, isBlue, bleuVersRouge); - 801ab2c: f004 fe22 bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 801ab30: 4603 mov r3, r0 - 801ab32: 469c mov ip, r3 - 801ab34: f107 03d0 add.w r3, r7, #208 ; 0xd0 - 801ab38: 4618 mov r0, r3 - 801ab3a: f8df 1a04 ldr.w r1, [pc, #2564] ; 801b540 <_ZN15EteindreBougiesC2Eb+0xadc> - 801ab3e: f8df 2a04 ldr.w r2, [pc, #2564] ; 801b544 <_ZN15EteindreBougiesC2Eb+0xae0> - 801ab42: 4663 mov r3, ip - 801ab44: f7fc fe34 bl 80177b0 <_ZN8PositionC1Effb> - 801ab48: f04f 0020 mov.w r0, #32 ; 0x20 - 801ab4c: f7fc fcb8 bl 80174c0 <_Znwj> - 801ab50: 4603 mov r3, r0 - 801ab52: 60bb str r3, [r7, #8] - 801ab54: 68bb ldr r3, [r7, #8] - 801ab56: 2b00 cmp r3, #0 - 801ab58: d019 beq.n 801ab8e <_ZN15EteindreBougiesC2Eb+0x12a> - 801ab5a: f8d7 30bc ldr.w r3, [r7, #188] - 801ab5e: f893 206c ldrb.w r2, [r3, #108] - 801ab62: f04f 0300 mov.w r3, #0 ; 0x0 - 801ab66: 9300 str r3, [sp, #0] - 801ab68: f04f 0301 mov.w r3, #1 ; 0x1 - 801ab6c: 9301 str r3, [sp, #4] - 801ab6e: f897 30bb ldrb.w r3, [r7, #187] - 801ab72: 9302 str r3, [sp, #8] - 801ab74: 9203 str r2, [sp, #12] - 801ab76: 68b8 ldr r0, [r7, #8] - 801ab78: f107 03d0 add.w r3, r7, #208 ; 0xd0 - 801ab7c: e893 0006 ldmia.w r3, {r1, r2} - 801ab80: f8df 39c4 ldr.w r3, [pc, #2500] ; 801b548 <_ZN15EteindreBougiesC2Eb+0xae4> - 801ab84: f7fe fea2 bl 80198cc <_ZN16EteindreBougieV2C1E8Positionfbbbb> - 801ab88: 68ba ldr r2, [r7, #8] - 801ab8a: 60fa str r2, [r7, #12] - 801ab8c: e001 b.n 801ab92 <_ZN15EteindreBougiesC2Eb+0x12e> - 801ab8e: 68bb ldr r3, [r7, #8] - 801ab90: 60fb str r3, [r7, #12] - 801ab92: f8d7 30bc ldr.w r3, [r7, #188] - 801ab96: 68fa ldr r2, [r7, #12] - 801ab98: 61da str r2, [r3, #28] - bougiesBas[2] = new EteindreBougieV2(Position(909.626, 1623, StrategieV2::getIsBlue()), -1.0000, true, true, isBlue, bleuVersRouge); - 801ab9a: f004 fdeb bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 801ab9e: 4603 mov r3, r0 - 801aba0: 469c mov ip, r3 - 801aba2: f107 03d8 add.w r3, r7, #216 ; 0xd8 - 801aba6: 4618 mov r0, r3 - 801aba8: f8df 19a0 ldr.w r1, [pc, #2464] ; 801b54c <_ZN15EteindreBougiesC2Eb+0xae8> - 801abac: f8df 29a0 ldr.w r2, [pc, #2464] ; 801b550 <_ZN15EteindreBougiesC2Eb+0xaec> - 801abb0: 4663 mov r3, ip - 801abb2: f7fc fdfd bl 80177b0 <_ZN8PositionC1Effb> - 801abb6: f04f 0020 mov.w r0, #32 ; 0x20 - 801abba: f7fc fc81 bl 80174c0 <_Znwj> - 801abbe: 4603 mov r3, r0 - 801abc0: 613b str r3, [r7, #16] - 801abc2: 693b ldr r3, [r7, #16] - 801abc4: 2b00 cmp r3, #0 - 801abc6: d019 beq.n 801abfc <_ZN15EteindreBougiesC2Eb+0x198> - 801abc8: f8d7 30bc ldr.w r3, [r7, #188] - 801abcc: f893 206c ldrb.w r2, [r3, #108] - 801abd0: f04f 0301 mov.w r3, #1 ; 0x1 - 801abd4: 9300 str r3, [sp, #0] - 801abd6: f04f 0301 mov.w r3, #1 ; 0x1 - 801abda: 9301 str r3, [sp, #4] - 801abdc: f897 30bb ldrb.w r3, [r7, #187] - 801abe0: 9302 str r3, [sp, #8] - 801abe2: 9203 str r2, [sp, #12] - 801abe4: 6938 ldr r0, [r7, #16] - 801abe6: f107 03d8 add.w r3, r7, #216 ; 0xd8 - 801abea: e893 0006 ldmia.w r3, {r1, r2} - 801abee: f8df 3964 ldr.w r3, [pc, #2404] ; 801b554 <_ZN15EteindreBougiesC2Eb+0xaf0> - 801abf2: f7fe fe6b bl 80198cc <_ZN16EteindreBougieV2C1E8Positionfbbbb> - 801abf6: 693a ldr r2, [r7, #16] - 801abf8: 617a str r2, [r7, #20] - 801abfa: e001 b.n 801ac00 <_ZN15EteindreBougiesC2Eb+0x19c> - 801abfc: 693b ldr r3, [r7, #16] - 801abfe: 617b str r3, [r7, #20] - 801ac00: f8d7 30bc ldr.w r3, [r7, #188] - 801ac04: 697a ldr r2, [r7, #20] - 801ac06: 621a str r2, [r3, #32] - bougiesBas[3] = new EteindreBougieV2(Position(941.00, 1580, StrategieV2::getIsBlue()), -0.9100, false, true, !isBlue, bleuVersRouge); - 801ac08: f004 fdb4 bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 801ac0c: 4603 mov r3, r0 - 801ac0e: 469c mov ip, r3 - 801ac10: f107 03e0 add.w r3, r7, #224 ; 0xe0 - 801ac14: 4618 mov r0, r3 - 801ac16: f8df 1940 ldr.w r1, [pc, #2368] ; 801b558 <_ZN15EteindreBougiesC2Eb+0xaf4> - 801ac1a: f8df 2940 ldr.w r2, [pc, #2368] ; 801b55c <_ZN15EteindreBougiesC2Eb+0xaf8> - 801ac1e: 4663 mov r3, ip - 801ac20: f7fc fdc6 bl 80177b0 <_ZN8PositionC1Effb> - 801ac24: f04f 0020 mov.w r0, #32 ; 0x20 - 801ac28: f7fc fc4a bl 80174c0 <_Znwj> - 801ac2c: 4603 mov r3, r0 - 801ac2e: 61bb str r3, [r7, #24] - 801ac30: 69bb ldr r3, [r7, #24] - 801ac32: 2b00 cmp r3, #0 - 801ac34: d01c beq.n 801ac70 <_ZN15EteindreBougiesC2Eb+0x20c> - 801ac36: f897 30bb ldrb.w r3, [r7, #187] - 801ac3a: f083 0301 eor.w r3, r3, #1 ; 0x1 - 801ac3e: b2da uxtb r2, r3 - 801ac40: f8d7 30bc ldr.w r3, [r7, #188] - 801ac44: f893 106c ldrb.w r1, [r3, #108] - 801ac48: f04f 0300 mov.w r3, #0 ; 0x0 - 801ac4c: 9300 str r3, [sp, #0] - 801ac4e: f04f 0301 mov.w r3, #1 ; 0x1 - 801ac52: 9301 str r3, [sp, #4] - 801ac54: 9202 str r2, [sp, #8] - 801ac56: 9103 str r1, [sp, #12] - 801ac58: 69b8 ldr r0, [r7, #24] - 801ac5a: f107 03e0 add.w r3, r7, #224 ; 0xe0 - 801ac5e: e893 0006 ldmia.w r3, {r1, r2} - 801ac62: f8df 38fc ldr.w r3, [pc, #2300] ; 801b560 <_ZN15EteindreBougiesC2Eb+0xafc> - 801ac66: f7fe fe31 bl 80198cc <_ZN16EteindreBougieV2C1E8Positionfbbbb> - 801ac6a: 69ba ldr r2, [r7, #24] - 801ac6c: 61fa str r2, [r7, #28] - 801ac6e: e001 b.n 801ac74 <_ZN15EteindreBougiesC2Eb+0x210> - 801ac70: 69bb ldr r3, [r7, #24] - 801ac72: 61fb str r3, [r7, #28] - 801ac74: f8d7 30bc ldr.w r3, [r7, #188] - 801ac78: 69fa ldr r2, [r7, #28] - 801ac7a: 625a str r2, [r3, #36] - bougiesBas[4] = new EteindreBougieV2(Position(1027.09, 1483, StrategieV2::getIsBlue()), -0.916298, true, true, isBlue, bleuVersRouge); - 801ac7c: f004 fd7a bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 801ac80: 4603 mov r3, r0 - 801ac82: 469c mov ip, r3 - 801ac84: f107 03e8 add.w r3, r7, #232 ; 0xe8 - 801ac88: 4618 mov r0, r3 - 801ac8a: f8df 18d8 ldr.w r1, [pc, #2264] ; 801b564 <_ZN15EteindreBougiesC2Eb+0xb00> - 801ac8e: f8df 28d8 ldr.w r2, [pc, #2264] ; 801b568 <_ZN15EteindreBougiesC2Eb+0xb04> - 801ac92: 4663 mov r3, ip - 801ac94: f7fc fd8c bl 80177b0 <_ZN8PositionC1Effb> - 801ac98: f04f 0020 mov.w r0, #32 ; 0x20 - 801ac9c: f7fc fc10 bl 80174c0 <_Znwj> - 801aca0: 4603 mov r3, r0 - 801aca2: 623b str r3, [r7, #32] - 801aca4: 6a3b ldr r3, [r7, #32] - 801aca6: 2b00 cmp r3, #0 - 801aca8: d019 beq.n 801acde <_ZN15EteindreBougiesC2Eb+0x27a> - 801acaa: f8d7 30bc ldr.w r3, [r7, #188] - 801acae: f893 206c ldrb.w r2, [r3, #108] - 801acb2: f04f 0301 mov.w r3, #1 ; 0x1 - 801acb6: 9300 str r3, [sp, #0] - 801acb8: f04f 0301 mov.w r3, #1 ; 0x1 - 801acbc: 9301 str r3, [sp, #4] - 801acbe: f897 30bb ldrb.w r3, [r7, #187] - 801acc2: 9302 str r3, [sp, #8] - 801acc4: 9203 str r2, [sp, #12] - 801acc6: 6a38 ldr r0, [r7, #32] - 801acc8: f107 03e8 add.w r3, r7, #232 ; 0xe8 - 801accc: e893 0006 ldmia.w r3, {r1, r2} - 801acd0: f8df 3898 ldr.w r3, [pc, #2200] ; 801b56c <_ZN15EteindreBougiesC2Eb+0xb08> - 801acd4: f7fe fdfa bl 80198cc <_ZN16EteindreBougieV2C1E8Positionfbbbb> - 801acd8: 6a3a ldr r2, [r7, #32] - 801acda: 627a str r2, [r7, #36] - 801acdc: e001 b.n 801ace2 <_ZN15EteindreBougiesC2Eb+0x27e> - 801acde: 6a3b ldr r3, [r7, #32] - 801ace0: 627b str r3, [r7, #36] - 801ace2: f8d7 30bc ldr.w r3, [r7, #188] - 801ace6: 6a7a ldr r2, [r7, #36] - 801ace8: 629a str r2, [r3, #40] - bougiesBas[5] = new EteindreBougieV2(Position(1176.00, 1370, StrategieV2::getIsBlue()), -0.4000, false, true, isBlue, bleuVersRouge); - 801acea: f004 fd43 bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 801acee: 4603 mov r3, r0 - 801acf0: 469c mov ip, r3 - 801acf2: f107 03f0 add.w r3, r7, #240 ; 0xf0 - 801acf6: 4618 mov r0, r3 - 801acf8: f8df 1874 ldr.w r1, [pc, #2164] ; 801b570 <_ZN15EteindreBougiesC2Eb+0xb0c> - 801acfc: f8df 2874 ldr.w r2, [pc, #2164] ; 801b574 <_ZN15EteindreBougiesC2Eb+0xb10> - 801ad00: 4663 mov r3, ip - 801ad02: f7fc fd55 bl 80177b0 <_ZN8PositionC1Effb> - 801ad06: f04f 0020 mov.w r0, #32 ; 0x20 - 801ad0a: f7fc fbd9 bl 80174c0 <_Znwj> - 801ad0e: 4603 mov r3, r0 - 801ad10: 62bb str r3, [r7, #40] - 801ad12: 6abb ldr r3, [r7, #40] - 801ad14: 2b00 cmp r3, #0 - 801ad16: d019 beq.n 801ad4c <_ZN15EteindreBougiesC2Eb+0x2e8> - 801ad18: f8d7 30bc ldr.w r3, [r7, #188] - 801ad1c: f893 206c ldrb.w r2, [r3, #108] - 801ad20: f04f 0300 mov.w r3, #0 ; 0x0 - 801ad24: 9300 str r3, [sp, #0] - 801ad26: f04f 0301 mov.w r3, #1 ; 0x1 - 801ad2a: 9301 str r3, [sp, #4] - 801ad2c: f897 30bb ldrb.w r3, [r7, #187] - 801ad30: 9302 str r3, [sp, #8] - 801ad32: 9203 str r2, [sp, #12] - 801ad34: 6ab8 ldr r0, [r7, #40] - 801ad36: f107 03f0 add.w r3, r7, #240 ; 0xf0 - 801ad3a: e893 0006 ldmia.w r3, {r1, r2} - 801ad3e: f8df 3838 ldr.w r3, [pc, #2104] ; 801b578 <_ZN15EteindreBougiesC2Eb+0xb14> - 801ad42: f7fe fdc3 bl 80198cc <_ZN16EteindreBougieV2C1E8Positionfbbbb> - 801ad46: 6aba ldr r2, [r7, #40] - 801ad48: 62fa str r2, [r7, #44] - 801ad4a: e001 b.n 801ad50 <_ZN15EteindreBougiesC2Eb+0x2ec> - 801ad4c: 6abb ldr r3, [r7, #40] - 801ad4e: 62fb str r3, [r7, #44] - 801ad50: f8d7 30bc ldr.w r3, [r7, #188] - 801ad54: 6afa ldr r2, [r7, #44] - 801ad56: 62da str r2, [r3, #44] - bougiesBas[6] = new EteindreBougieV2(Position(1176.78, 1379, StrategieV2::getIsBlue()), -0.654498, true, true, !isBlue, bleuVersRouge); - 801ad58: f004 fd0c bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 801ad5c: 4603 mov r3, r0 - 801ad5e: 469c mov ip, r3 - 801ad60: f107 03f8 add.w r3, r7, #248 ; 0xf8 - 801ad64: 4618 mov r0, r3 - 801ad66: f8df 1814 ldr.w r1, [pc, #2068] ; 801b57c <_ZN15EteindreBougiesC2Eb+0xb18> - 801ad6a: f8df 2814 ldr.w r2, [pc, #2068] ; 801b580 <_ZN15EteindreBougiesC2Eb+0xb1c> - 801ad6e: 4663 mov r3, ip - 801ad70: f7fc fd1e bl 80177b0 <_ZN8PositionC1Effb> - 801ad74: f04f 0020 mov.w r0, #32 ; 0x20 - 801ad78: f7fc fba2 bl 80174c0 <_Znwj> - 801ad7c: 4603 mov r3, r0 - 801ad7e: 633b str r3, [r7, #48] - 801ad80: 6b3b ldr r3, [r7, #48] - 801ad82: 2b00 cmp r3, #0 - 801ad84: d01c beq.n 801adc0 <_ZN15EteindreBougiesC2Eb+0x35c> - 801ad86: f897 30bb ldrb.w r3, [r7, #187] - 801ad8a: f083 0301 eor.w r3, r3, #1 ; 0x1 - 801ad8e: b2da uxtb r2, r3 - 801ad90: f8d7 30bc ldr.w r3, [r7, #188] - 801ad94: f893 106c ldrb.w r1, [r3, #108] - 801ad98: f04f 0301 mov.w r3, #1 ; 0x1 - 801ad9c: 9300 str r3, [sp, #0] - 801ad9e: f04f 0301 mov.w r3, #1 ; 0x1 - 801ada2: 9301 str r3, [sp, #4] - 801ada4: 9202 str r2, [sp, #8] - 801ada6: 9103 str r1, [sp, #12] - 801ada8: 6b38 ldr r0, [r7, #48] - 801adaa: f107 03f8 add.w r3, r7, #248 ; 0xf8 - 801adae: e893 0006 ldmia.w r3, {r1, r2} - 801adb2: f8df 37d0 ldr.w r3, [pc, #2000] ; 801b584 <_ZN15EteindreBougiesC2Eb+0xb20> - 801adb6: f7fe fd89 bl 80198cc <_ZN16EteindreBougieV2C1E8Positionfbbbb> - 801adba: 6b3a ldr r2, [r7, #48] - 801adbc: 637a str r2, [r7, #52] - 801adbe: e001 b.n 801adc4 <_ZN15EteindreBougiesC2Eb+0x360> - 801adc0: 6b3b ldr r3, [r7, #48] - 801adc2: 637b str r3, [r7, #52] - 801adc4: f8d7 30bc ldr.w r3, [r7, #188] - 801adc8: 6b7a ldr r2, [r7, #52] - 801adca: 631a str r2, [r3, #48] - bougiesBas[7] = new EteindreBougieV2(Position(1290, 1320, StrategieV2::getIsBlue()), -0.50, true, true, isBlue, bleuVersRouge); - 801adcc: f004 fcd2 bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 801add0: 4603 mov r3, r0 - 801add2: 469c mov ip, r3 - 801add4: f507 7380 add.w r3, r7, #256 ; 0x100 - 801add8: 4618 mov r0, r3 - 801adda: f8df 17ac ldr.w r1, [pc, #1964] ; 801b588 <_ZN15EteindreBougiesC2Eb+0xb24> - 801adde: f8df 27ac ldr.w r2, [pc, #1964] ; 801b58c <_ZN15EteindreBougiesC2Eb+0xb28> - 801ade2: 4663 mov r3, ip - 801ade4: f7fc fce4 bl 80177b0 <_ZN8PositionC1Effb> - 801ade8: f04f 0020 mov.w r0, #32 ; 0x20 - 801adec: f7fc fb68 bl 80174c0 <_Znwj> - 801adf0: 4603 mov r3, r0 - 801adf2: 63bb str r3, [r7, #56] - 801adf4: 6bbb ldr r3, [r7, #56] - 801adf6: 2b00 cmp r3, #0 - 801adf8: d019 beq.n 801ae2e <_ZN15EteindreBougiesC2Eb+0x3ca> - 801adfa: f8d7 30bc ldr.w r3, [r7, #188] - 801adfe: f893 206c ldrb.w r2, [r3, #108] - 801ae02: f04f 0301 mov.w r3, #1 ; 0x1 - 801ae06: 9300 str r3, [sp, #0] - 801ae08: f04f 0301 mov.w r3, #1 ; 0x1 - 801ae0c: 9301 str r3, [sp, #4] - 801ae0e: f897 30bb ldrb.w r3, [r7, #187] - 801ae12: 9302 str r3, [sp, #8] - 801ae14: 9203 str r2, [sp, #12] - 801ae16: 6bb8 ldr r0, [r7, #56] - 801ae18: f507 7380 add.w r3, r7, #256 ; 0x100 - 801ae1c: e893 0006 ldmia.w r3, {r1, r2} - 801ae20: f8df 376c ldr.w r3, [pc, #1900] ; 801b590 <_ZN15EteindreBougiesC2Eb+0xb2c> - 801ae24: f7fe fd52 bl 80198cc <_ZN16EteindreBougieV2C1E8Positionfbbbb> - 801ae28: 6bba ldr r2, [r7, #56] - 801ae2a: 63fa str r2, [r7, #60] - 801ae2c: e001 b.n 801ae32 <_ZN15EteindreBougiesC2Eb+0x3ce> - 801ae2e: 6bbb ldr r3, [r7, #56] - 801ae30: 63fb str r3, [r7, #60] - 801ae32: f8d7 30bc ldr.w r3, [r7, #188] - 801ae36: 6bfa ldr r2, [r7, #60] - 801ae38: 635a str r2, [r3, #52] - bougiesBas[8] = new EteindreBougieV2(Position(1430, 1300, StrategieV2::getIsBlue()), 0.0000, false, true, !isBlue, bleuVersRouge); - 801ae3a: f004 fc9b bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 801ae3e: 4603 mov r3, r0 - 801ae40: 469c mov ip, r3 - 801ae42: f507 7384 add.w r3, r7, #264 ; 0x108 - 801ae46: 4618 mov r0, r3 - 801ae48: f8df 1748 ldr.w r1, [pc, #1864] ; 801b594 <_ZN15EteindreBougiesC2Eb+0xb30> - 801ae4c: f8df 2748 ldr.w r2, [pc, #1864] ; 801b598 <_ZN15EteindreBougiesC2Eb+0xb34> - 801ae50: 4663 mov r3, ip - 801ae52: f7fc fcad bl 80177b0 <_ZN8PositionC1Effb> - 801ae56: f04f 0020 mov.w r0, #32 ; 0x20 - 801ae5a: f7fc fb31 bl 80174c0 <_Znwj> - 801ae5e: 4603 mov r3, r0 - 801ae60: 643b str r3, [r7, #64] - 801ae62: 6c3b ldr r3, [r7, #64] - 801ae64: 2b00 cmp r3, #0 - 801ae66: d01c beq.n 801aea2 <_ZN15EteindreBougiesC2Eb+0x43e> - 801ae68: f897 30bb ldrb.w r3, [r7, #187] - 801ae6c: f083 0301 eor.w r3, r3, #1 ; 0x1 - 801ae70: b2da uxtb r2, r3 - 801ae72: f8d7 30bc ldr.w r3, [r7, #188] - 801ae76: f893 106c ldrb.w r1, [r3, #108] - 801ae7a: f04f 0300 mov.w r3, #0 ; 0x0 - 801ae7e: 9300 str r3, [sp, #0] - 801ae80: f04f 0301 mov.w r3, #1 ; 0x1 - 801ae84: 9301 str r3, [sp, #4] - 801ae86: 9202 str r2, [sp, #8] - 801ae88: 9103 str r1, [sp, #12] - 801ae8a: 6c38 ldr r0, [r7, #64] - 801ae8c: f507 7384 add.w r3, r7, #264 ; 0x108 - 801ae90: e893 0006 ldmia.w r3, {r1, r2} - 801ae94: f8df 36a0 ldr.w r3, [pc, #1696] ; 801b538 <_ZN15EteindreBougiesC2Eb+0xad4> - 801ae98: f7fe fd18 bl 80198cc <_ZN16EteindreBougieV2C1E8Positionfbbbb> - 801ae9c: 6c3a ldr r2, [r7, #64] - 801ae9e: 647a str r2, [r7, #68] - 801aea0: e001 b.n 801aea6 <_ZN15EteindreBougiesC2Eb+0x442> - 801aea2: 6c3b ldr r3, [r7, #64] - 801aea4: 647b str r3, [r7, #68] - 801aea6: f8d7 30bc ldr.w r3, [r7, #188] - 801aeaa: 6c7a ldr r2, [r7, #68] - 801aeac: 639a str r2, [r3, #56] - bougiesBas[9] = new EteindreBougieV2(Position(1485, 1260, StrategieV2::getIsBlue()), -0.0500, true, true, isBlue, bleuVersRouge); - 801aeae: f004 fc61 bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 801aeb2: 4603 mov r3, r0 - 801aeb4: 469c mov ip, r3 - 801aeb6: f507 7388 add.w r3, r7, #272 ; 0x110 - 801aeba: 4618 mov r0, r3 - 801aebc: f8df 16dc ldr.w r1, [pc, #1756] ; 801b59c <_ZN15EteindreBougiesC2Eb+0xb38> - 801aec0: f8df 26dc ldr.w r2, [pc, #1756] ; 801b5a0 <_ZN15EteindreBougiesC2Eb+0xb3c> - 801aec4: 4663 mov r3, ip - 801aec6: f7fc fc73 bl 80177b0 <_ZN8PositionC1Effb> - 801aeca: f04f 0020 mov.w r0, #32 ; 0x20 - 801aece: f7fc faf7 bl 80174c0 <_Znwj> - 801aed2: 4603 mov r3, r0 - 801aed4: 64bb str r3, [r7, #72] - 801aed6: 6cbb ldr r3, [r7, #72] - 801aed8: 2b00 cmp r3, #0 - 801aeda: d019 beq.n 801af10 <_ZN15EteindreBougiesC2Eb+0x4ac> - 801aedc: f8d7 30bc ldr.w r3, [r7, #188] - 801aee0: f893 206c ldrb.w r2, [r3, #108] - 801aee4: f04f 0301 mov.w r3, #1 ; 0x1 - 801aee8: 9300 str r3, [sp, #0] - 801aeea: f04f 0301 mov.w r3, #1 ; 0x1 - 801aeee: 9301 str r3, [sp, #4] - 801aef0: f897 30bb ldrb.w r3, [r7, #187] - 801aef4: 9302 str r3, [sp, #8] - 801aef6: 9203 str r2, [sp, #12] - 801aef8: 6cb8 ldr r0, [r7, #72] - 801aefa: f507 7388 add.w r3, r7, #272 ; 0x110 - 801aefe: e893 0006 ldmia.w r3, {r1, r2} - 801af02: f8df 36a0 ldr.w r3, [pc, #1696] ; 801b5a4 <_ZN15EteindreBougiesC2Eb+0xb40> - 801af06: f7fe fce1 bl 80198cc <_ZN16EteindreBougieV2C1E8Positionfbbbb> - 801af0a: 6cba ldr r2, [r7, #72] - 801af0c: 64fa str r2, [r7, #76] - 801af0e: e001 b.n 801af14 <_ZN15EteindreBougiesC2Eb+0x4b0> - 801af10: 6cbb ldr r3, [r7, #72] - 801af12: 64fb str r3, [r7, #76] - 801af14: f8d7 30bc ldr.w r3, [r7, #188] - 801af18: 6cfa ldr r2, [r7, #76] - 801af1a: 63da str r2, [r3, #60] - bougiesBas[10] = new EteindreBougieV2(Position(1665, 1300, StrategieV2::getIsBlue()), 0.1309, true, true, isBlue, bleuVersRouge); - 801af1c: f004 fc2a bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 801af20: 4603 mov r3, r0 - 801af22: 469c mov ip, r3 - 801af24: f507 738c add.w r3, r7, #280 ; 0x118 - 801af28: 4618 mov r0, r3 - 801af2a: f8df 167c ldr.w r1, [pc, #1660] ; 801b5a8 <_ZN15EteindreBougiesC2Eb+0xb44> - 801af2e: f8df 2668 ldr.w r2, [pc, #1640] ; 801b598 <_ZN15EteindreBougiesC2Eb+0xb34> - 801af32: 4663 mov r3, ip - 801af34: f7fc fc3c bl 80177b0 <_ZN8PositionC1Effb> - 801af38: f04f 0020 mov.w r0, #32 ; 0x20 - 801af3c: f7fc fac0 bl 80174c0 <_Znwj> - 801af40: 4603 mov r3, r0 - 801af42: 653b str r3, [r7, #80] - 801af44: 6d3b ldr r3, [r7, #80] - 801af46: 2b00 cmp r3, #0 - 801af48: d019 beq.n 801af7e <_ZN15EteindreBougiesC2Eb+0x51a> - 801af4a: f8d7 30bc ldr.w r3, [r7, #188] - 801af4e: f893 206c ldrb.w r2, [r3, #108] - 801af52: f04f 0301 mov.w r3, #1 ; 0x1 - 801af56: 9300 str r3, [sp, #0] - 801af58: f04f 0301 mov.w r3, #1 ; 0x1 - 801af5c: 9301 str r3, [sp, #4] - 801af5e: f897 30bb ldrb.w r3, [r7, #187] - 801af62: 9302 str r3, [sp, #8] - 801af64: 9203 str r2, [sp, #12] - 801af66: 6d38 ldr r0, [r7, #80] - 801af68: f507 738c add.w r3, r7, #280 ; 0x118 - 801af6c: e893 0006 ldmia.w r3, {r1, r2} - 801af70: f8df 3638 ldr.w r3, [pc, #1592] ; 801b5ac <_ZN15EteindreBougiesC2Eb+0xb48> - 801af74: f7fe fcaa bl 80198cc <_ZN16EteindreBougieV2C1E8Positionfbbbb> - 801af78: 6d3a ldr r2, [r7, #80] - 801af7a: 657a str r2, [r7, #84] - 801af7c: e001 b.n 801af82 <_ZN15EteindreBougiesC2Eb+0x51e> - 801af7e: 6d3b ldr r3, [r7, #80] - 801af80: 657b str r3, [r7, #84] - 801af82: f8d7 30bc ldr.w r3, [r7, #188] - 801af86: 6d7a ldr r2, [r7, #84] - 801af88: 641a str r2, [r3, #64] - bougiesBas[11] = new EteindreBougieV2(Position(1665, 1300, StrategieV2::getIsBlue()), 0.2500, false, true, isBlue, bleuVersRouge); - 801af8a: f004 fbf3 bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 801af8e: 4603 mov r3, r0 - 801af90: 469c mov ip, r3 - 801af92: f507 7390 add.w r3, r7, #288 ; 0x120 - 801af96: 4618 mov r0, r3 - 801af98: f8df 160c ldr.w r1, [pc, #1548] ; 801b5a8 <_ZN15EteindreBougiesC2Eb+0xb44> - 801af9c: f8df 25f8 ldr.w r2, [pc, #1528] ; 801b598 <_ZN15EteindreBougiesC2Eb+0xb34> - 801afa0: 4663 mov r3, ip - 801afa2: f7fc fc05 bl 80177b0 <_ZN8PositionC1Effb> - 801afa6: f04f 0020 mov.w r0, #32 ; 0x20 - 801afaa: f7fc fa89 bl 80174c0 <_Znwj> - 801afae: 4603 mov r3, r0 - 801afb0: 65bb str r3, [r7, #88] - 801afb2: 6dbb ldr r3, [r7, #88] - 801afb4: 2b00 cmp r3, #0 - 801afb6: d019 beq.n 801afec <_ZN15EteindreBougiesC2Eb+0x588> - 801afb8: f8d7 30bc ldr.w r3, [r7, #188] - 801afbc: f893 206c ldrb.w r2, [r3, #108] - 801afc0: f04f 0300 mov.w r3, #0 ; 0x0 - 801afc4: 9300 str r3, [sp, #0] - 801afc6: f04f 0301 mov.w r3, #1 ; 0x1 - 801afca: 9301 str r3, [sp, #4] - 801afcc: f897 30bb ldrb.w r3, [r7, #187] - 801afd0: 9302 str r3, [sp, #8] - 801afd2: 9203 str r2, [sp, #12] - 801afd4: 6db8 ldr r0, [r7, #88] - 801afd6: f507 7390 add.w r3, r7, #288 ; 0x120 - 801afda: e893 0006 ldmia.w r3, {r1, r2} - 801afde: f8df 35d0 ldr.w r3, [pc, #1488] ; 801b5b0 <_ZN15EteindreBougiesC2Eb+0xb4c> - 801afe2: f7fe fc73 bl 80198cc <_ZN16EteindreBougieV2C1E8Positionfbbbb> - 801afe6: 6dba ldr r2, [r7, #88] - 801afe8: 65fa str r2, [r7, #92] - 801afea: e001 b.n 801aff0 <_ZN15EteindreBougiesC2Eb+0x58c> - 801afec: 6dbb ldr r3, [r7, #88] - 801afee: 65fb str r3, [r7, #92] - 801aff0: f8d7 30bc ldr.w r3, [r7, #188] - 801aff4: 6dfa ldr r2, [r7, #92] - 801aff6: 645a str r2, [r3, #68] - bougiesBas[12] = new EteindreBougieV2(Position(1860, 1355, StrategieV2::getIsBlue()), 0.50, true, true, isBlue, bleuVersRouge); - 801aff8: f004 fbbc bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 801affc: 4603 mov r3, r0 - 801affe: 469c mov ip, r3 - 801b000: f507 7394 add.w r3, r7, #296 ; 0x128 - 801b004: 4618 mov r0, r3 - 801b006: f8df 15ac ldr.w r1, [pc, #1452] ; 801b5b4 <_ZN15EteindreBougiesC2Eb+0xb50> - 801b00a: f8df 25ac ldr.w r2, [pc, #1452] ; 801b5b8 <_ZN15EteindreBougiesC2Eb+0xb54> - 801b00e: 4663 mov r3, ip - 801b010: f7fc fbce bl 80177b0 <_ZN8PositionC1Effb> - 801b014: f04f 0020 mov.w r0, #32 ; 0x20 - 801b018: f7fc fa52 bl 80174c0 <_Znwj> - 801b01c: 4603 mov r3, r0 - 801b01e: 663b str r3, [r7, #96] - 801b020: 6e3b ldr r3, [r7, #96] - 801b022: 2b00 cmp r3, #0 - 801b024: d019 beq.n 801b05a <_ZN15EteindreBougiesC2Eb+0x5f6> - 801b026: f8d7 30bc ldr.w r3, [r7, #188] - 801b02a: f893 206c ldrb.w r2, [r3, #108] - 801b02e: f04f 0301 mov.w r3, #1 ; 0x1 - 801b032: 9300 str r3, [sp, #0] - 801b034: f04f 0301 mov.w r3, #1 ; 0x1 - 801b038: 9301 str r3, [sp, #4] - 801b03a: f897 30bb ldrb.w r3, [r7, #187] - 801b03e: 9302 str r3, [sp, #8] - 801b040: 9203 str r2, [sp, #12] - 801b042: 6e38 ldr r0, [r7, #96] - 801b044: f507 7394 add.w r3, r7, #296 ; 0x128 - 801b048: e893 0006 ldmia.w r3, {r1, r2} - 801b04c: f8df 356c ldr.w r3, [pc, #1388] ; 801b5bc <_ZN15EteindreBougiesC2Eb+0xb58> - 801b050: f7fe fc3c bl 80198cc <_ZN16EteindreBougieV2C1E8Positionfbbbb> - 801b054: 6e3a ldr r2, [r7, #96] - 801b056: 667a str r2, [r7, #100] - 801b058: e001 b.n 801b05e <_ZN15EteindreBougiesC2Eb+0x5fa> - 801b05a: 6e3b ldr r3, [r7, #96] - 801b05c: 667b str r3, [r7, #100] - 801b05e: f8d7 30bc ldr.w r3, [r7, #188] - 801b062: 6e7a ldr r2, [r7, #100] - 801b064: 649a str r2, [r3, #72] - bougiesBas[13] = new EteindreBougieV2(Position(1920, 1420, StrategieV2::getIsBlue()), 0.50, false, true, !isBlue, bleuVersRouge); - 801b066: f004 fb85 bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 801b06a: 4603 mov r3, r0 - 801b06c: 469c mov ip, r3 - 801b06e: f507 7398 add.w r3, r7, #304 ; 0x130 - 801b072: 4618 mov r0, r3 - 801b074: f8df 1548 ldr.w r1, [pc, #1352] ; 801b5c0 <_ZN15EteindreBougiesC2Eb+0xb5c> - 801b078: f8df 2548 ldr.w r2, [pc, #1352] ; 801b5c4 <_ZN15EteindreBougiesC2Eb+0xb60> - 801b07c: 4663 mov r3, ip - 801b07e: f7fc fb97 bl 80177b0 <_ZN8PositionC1Effb> - 801b082: f04f 0020 mov.w r0, #32 ; 0x20 - 801b086: f7fc fa1b bl 80174c0 <_Znwj> - 801b08a: 4603 mov r3, r0 - 801b08c: 66bb str r3, [r7, #104] - 801b08e: 6ebb ldr r3, [r7, #104] - 801b090: 2b00 cmp r3, #0 - 801b092: d01c beq.n 801b0ce <_ZN15EteindreBougiesC2Eb+0x66a> - 801b094: f897 30bb ldrb.w r3, [r7, #187] - 801b098: f083 0301 eor.w r3, r3, #1 ; 0x1 - 801b09c: b2da uxtb r2, r3 - 801b09e: f8d7 30bc ldr.w r3, [r7, #188] - 801b0a2: f893 106c ldrb.w r1, [r3, #108] - 801b0a6: f04f 0300 mov.w r3, #0 ; 0x0 - 801b0aa: 9300 str r3, [sp, #0] - 801b0ac: f04f 0301 mov.w r3, #1 ; 0x1 - 801b0b0: 9301 str r3, [sp, #4] - 801b0b2: 9202 str r2, [sp, #8] - 801b0b4: 9103 str r1, [sp, #12] - 801b0b6: 6eb8 ldr r0, [r7, #104] - 801b0b8: f507 7398 add.w r3, r7, #304 ; 0x130 - 801b0bc: e893 0006 ldmia.w r3, {r1, r2} - 801b0c0: f8df 34f8 ldr.w r3, [pc, #1272] ; 801b5bc <_ZN15EteindreBougiesC2Eb+0xb58> - 801b0c4: f7fe fc02 bl 80198cc <_ZN16EteindreBougieV2C1E8Positionfbbbb> - 801b0c8: 6eba ldr r2, [r7, #104] - 801b0ca: 66fa str r2, [r7, #108] - 801b0cc: e001 b.n 801b0d2 <_ZN15EteindreBougiesC2Eb+0x66e> - 801b0ce: 6ebb ldr r3, [r7, #104] - 801b0d0: 66fb str r3, [r7, #108] - 801b0d2: f8d7 30bc ldr.w r3, [r7, #188] - 801b0d6: 6efa ldr r2, [r7, #108] - 801b0d8: 64da str r2, [r3, #76] - bougiesBas[14] = new EteindreBougieV2(Position(2010, 1510, StrategieV2::getIsBlue()), 0.654498, true, true, isBlue, bleuVersRouge); - 801b0da: f004 fb4b bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 801b0de: 4603 mov r3, r0 - 801b0e0: 469c mov ip, r3 - 801b0e2: f507 739c add.w r3, r7, #312 ; 0x138 - 801b0e6: 4618 mov r0, r3 - 801b0e8: f8df 14dc ldr.w r1, [pc, #1244] ; 801b5c8 <_ZN15EteindreBougiesC2Eb+0xb64> - 801b0ec: f8df 24dc ldr.w r2, [pc, #1244] ; 801b5cc <_ZN15EteindreBougiesC2Eb+0xb68> - 801b0f0: 4663 mov r3, ip - 801b0f2: f7fc fb5d bl 80177b0 <_ZN8PositionC1Effb> - 801b0f6: f04f 0020 mov.w r0, #32 ; 0x20 - 801b0fa: f7fc f9e1 bl 80174c0 <_Znwj> - 801b0fe: 4603 mov r3, r0 - 801b100: 673b str r3, [r7, #112] - 801b102: 6f3b ldr r3, [r7, #112] - 801b104: 2b00 cmp r3, #0 - 801b106: d019 beq.n 801b13c <_ZN15EteindreBougiesC2Eb+0x6d8> - 801b108: f8d7 30bc ldr.w r3, [r7, #188] - 801b10c: f893 206c ldrb.w r2, [r3, #108] - 801b110: f04f 0301 mov.w r3, #1 ; 0x1 - 801b114: 9300 str r3, [sp, #0] - 801b116: f04f 0301 mov.w r3, #1 ; 0x1 - 801b11a: 9301 str r3, [sp, #4] - 801b11c: f897 30bb ldrb.w r3, [r7, #187] - 801b120: 9302 str r3, [sp, #8] - 801b122: 9203 str r2, [sp, #12] - 801b124: 6f38 ldr r0, [r7, #112] - 801b126: f507 739c add.w r3, r7, #312 ; 0x138 - 801b12a: e893 0006 ldmia.w r3, {r1, r2} - 801b12e: f8df 34a0 ldr.w r3, [pc, #1184] ; 801b5d0 <_ZN15EteindreBougiesC2Eb+0xb6c> - 801b132: f7fe fbcb bl 80198cc <_ZN16EteindreBougieV2C1E8Positionfbbbb> - 801b136: 6f3a ldr r2, [r7, #112] - 801b138: 677a str r2, [r7, #116] - 801b13a: e001 b.n 801b140 <_ZN15EteindreBougiesC2Eb+0x6dc> - 801b13c: 6f3b ldr r3, [r7, #112] - 801b13e: 677b str r3, [r7, #116] - 801b140: f8d7 30bc ldr.w r3, [r7, #188] - 801b144: 6f7a ldr r2, [r7, #116] - 801b146: 651a str r2, [r3, #80] - bougiesBas[15] = new EteindreBougieV2(Position(2060, 1600, StrategieV2::getIsBlue()), 0.80, false, true, isBlue, bleuVersRouge); - 801b148: f004 fb14 bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 801b14c: 4603 mov r3, r0 - 801b14e: 469c mov ip, r3 - 801b150: f507 73a0 add.w r3, r7, #320 ; 0x140 - 801b154: 4618 mov r0, r3 - 801b156: f8df 147c ldr.w r1, [pc, #1148] ; 801b5d4 <_ZN15EteindreBougiesC2Eb+0xb70> - 801b15a: f8df 247c ldr.w r2, [pc, #1148] ; 801b5d8 <_ZN15EteindreBougiesC2Eb+0xb74> - 801b15e: 4663 mov r3, ip - 801b160: f7fc fb26 bl 80177b0 <_ZN8PositionC1Effb> - 801b164: f04f 0020 mov.w r0, #32 ; 0x20 - 801b168: f7fc f9aa bl 80174c0 <_Znwj> - 801b16c: 4603 mov r3, r0 - 801b16e: 67bb str r3, [r7, #120] - 801b170: 6fbb ldr r3, [r7, #120] - 801b172: 2b00 cmp r3, #0 - 801b174: d019 beq.n 801b1aa <_ZN15EteindreBougiesC2Eb+0x746> - 801b176: f8d7 30bc ldr.w r3, [r7, #188] - 801b17a: f893 206c ldrb.w r2, [r3, #108] - 801b17e: f04f 0300 mov.w r3, #0 ; 0x0 - 801b182: 9300 str r3, [sp, #0] - 801b184: f04f 0301 mov.w r3, #1 ; 0x1 - 801b188: 9301 str r3, [sp, #4] - 801b18a: f897 30bb ldrb.w r3, [r7, #187] - 801b18e: 9302 str r3, [sp, #8] - 801b190: 9203 str r2, [sp, #12] - 801b192: 6fb8 ldr r0, [r7, #120] - 801b194: f507 73a0 add.w r3, r7, #320 ; 0x140 - 801b198: e893 0006 ldmia.w r3, {r1, r2} - 801b19c: f8df 343c ldr.w r3, [pc, #1084] ; 801b5dc <_ZN15EteindreBougiesC2Eb+0xb78> - 801b1a0: f7fe fb94 bl 80198cc <_ZN16EteindreBougieV2C1E8Positionfbbbb> - 801b1a4: 6fba ldr r2, [r7, #120] - 801b1a6: 67fa str r2, [r7, #124] - 801b1a8: e001 b.n 801b1ae <_ZN15EteindreBougiesC2Eb+0x74a> - 801b1aa: 6fbb ldr r3, [r7, #120] - 801b1ac: 67fb str r3, [r7, #124] - 801b1ae: f8d7 30bc ldr.w r3, [r7, #188] - 801b1b2: 6ffa ldr r2, [r7, #124] - 801b1b4: 655a str r2, [r3, #84] - bougiesBas[16] = new EteindreBougieV2(Position(2120.00, 1620, StrategieV2::getIsBlue()), 0.916298, true, true, !isBlue, bleuVersRouge); - 801b1b6: f004 fadd bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 801b1ba: 4603 mov r3, r0 - 801b1bc: 469c mov ip, r3 - 801b1be: f507 73a4 add.w r3, r7, #328 ; 0x148 - 801b1c2: 4618 mov r0, r3 - 801b1c4: f8df 1418 ldr.w r1, [pc, #1048] ; 801b5e0 <_ZN15EteindreBougiesC2Eb+0xb7c> - 801b1c8: f8df 2418 ldr.w r2, [pc, #1048] ; 801b5e4 <_ZN15EteindreBougiesC2Eb+0xb80> - 801b1cc: 4663 mov r3, ip - 801b1ce: f7fc faef bl 80177b0 <_ZN8PositionC1Effb> - 801b1d2: f04f 0020 mov.w r0, #32 ; 0x20 - 801b1d6: f7fc f973 bl 80174c0 <_Znwj> - 801b1da: 4603 mov r3, r0 - 801b1dc: f8c7 3080 str.w r3, [r7, #128] - 801b1e0: f8d7 3080 ldr.w r3, [r7, #128] - 801b1e4: 2b00 cmp r3, #0 - 801b1e6: d01e beq.n 801b226 <_ZN15EteindreBougiesC2Eb+0x7c2> - 801b1e8: f897 30bb ldrb.w r3, [r7, #187] - 801b1ec: f083 0301 eor.w r3, r3, #1 ; 0x1 - 801b1f0: b2da uxtb r2, r3 - 801b1f2: f8d7 30bc ldr.w r3, [r7, #188] - 801b1f6: f893 106c ldrb.w r1, [r3, #108] - 801b1fa: f04f 0301 mov.w r3, #1 ; 0x1 - 801b1fe: 9300 str r3, [sp, #0] - 801b200: f04f 0301 mov.w r3, #1 ; 0x1 - 801b204: 9301 str r3, [sp, #4] - 801b206: 9202 str r2, [sp, #8] - 801b208: 9103 str r1, [sp, #12] - 801b20a: f8d7 0080 ldr.w r0, [r7, #128] - 801b20e: f507 73a4 add.w r3, r7, #328 ; 0x148 - 801b212: e893 0006 ldmia.w r3, {r1, r2} - 801b216: 4bf4 ldr r3, [pc, #976] (801b5e8 <_ZN15EteindreBougiesC2Eb+0xb84>) - 801b218: f7fe fb58 bl 80198cc <_ZN16EteindreBougieV2C1E8Positionfbbbb> - 801b21c: f8d7 2080 ldr.w r2, [r7, #128] - 801b220: f8c7 2084 str.w r2, [r7, #132] - 801b224: e003 b.n 801b22e <_ZN15EteindreBougiesC2Eb+0x7ca> - 801b226: f8d7 3080 ldr.w r3, [r7, #128] - 801b22a: f8c7 3084 str.w r3, [r7, #132] - 801b22e: f8d7 30bc ldr.w r3, [r7, #188] - 801b232: f8d7 2084 ldr.w r2, [r7, #132] - 801b236: 659a str r2, [r3, #88] - bougiesBas[17] = new EteindreBougieV2(Position(2160.00, 1780, StrategieV2::getIsBlue()), 1.1781, true, true, !isBlue, bleuVersRouge); - 801b238: f004 fa9c bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 801b23c: 4603 mov r3, r0 - 801b23e: 469c mov ip, r3 - 801b240: f507 73a8 add.w r3, r7, #336 ; 0x150 - 801b244: 4618 mov r0, r3 - 801b246: 49e9 ldr r1, [pc, #932] (801b5ec <_ZN15EteindreBougiesC2Eb+0xb88>) - 801b248: 4ae9 ldr r2, [pc, #932] (801b5f0 <_ZN15EteindreBougiesC2Eb+0xb8c>) - 801b24a: 4663 mov r3, ip - 801b24c: f7fc fab0 bl 80177b0 <_ZN8PositionC1Effb> - 801b250: f04f 0020 mov.w r0, #32 ; 0x20 - 801b254: f7fc f934 bl 80174c0 <_Znwj> - 801b258: 4603 mov r3, r0 - 801b25a: f8c7 3088 str.w r3, [r7, #136] - 801b25e: f8d7 3088 ldr.w r3, [r7, #136] - 801b262: 2b00 cmp r3, #0 - 801b264: d01e beq.n 801b2a4 <_ZN15EteindreBougiesC2Eb+0x840> - 801b266: f897 30bb ldrb.w r3, [r7, #187] - 801b26a: f083 0301 eor.w r3, r3, #1 ; 0x1 - 801b26e: b2da uxtb r2, r3 - 801b270: f8d7 30bc ldr.w r3, [r7, #188] - 801b274: f893 106c ldrb.w r1, [r3, #108] - 801b278: f04f 0301 mov.w r3, #1 ; 0x1 - 801b27c: 9300 str r3, [sp, #0] - 801b27e: f04f 0301 mov.w r3, #1 ; 0x1 - 801b282: 9301 str r3, [sp, #4] - 801b284: 9202 str r2, [sp, #8] - 801b286: 9103 str r1, [sp, #12] - 801b288: f8d7 0088 ldr.w r0, [r7, #136] - 801b28c: f507 73a8 add.w r3, r7, #336 ; 0x150 - 801b290: e893 0006 ldmia.w r3, {r1, r2} - 801b294: 4bd7 ldr r3, [pc, #860] (801b5f4 <_ZN15EteindreBougiesC2Eb+0xb90>) - 801b296: f7fe fb19 bl 80198cc <_ZN16EteindreBougieV2C1E8Positionfbbbb> - 801b29a: f8d7 2088 ldr.w r2, [r7, #136] - 801b29e: f8c7 208c str.w r2, [r7, #140] - 801b2a2: e003 b.n 801b2ac <_ZN15EteindreBougiesC2Eb+0x848> - 801b2a4: f8d7 3088 ldr.w r3, [r7, #136] - 801b2a8: f8c7 308c str.w r3, [r7, #140] - 801b2ac: f8d7 30bc ldr.w r3, [r7, #188] - 801b2b0: f8d7 208c ldr.w r2, [r7, #140] - 801b2b4: 65da str r2, [r3, #92] - bougiesBas[18] = new EteindreBougieV2(Position(2174.18, 1890, StrategieV2::getIsBlue()), 1.4399, true, true, !isBlue, bleuVersRouge); - 801b2b6: f004 fa5d bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 801b2ba: 4603 mov r3, r0 - 801b2bc: 469c mov ip, r3 - 801b2be: f507 73ac add.w r3, r7, #344 ; 0x158 - 801b2c2: 4618 mov r0, r3 - 801b2c4: 49cc ldr r1, [pc, #816] (801b5f8 <_ZN15EteindreBougiesC2Eb+0xb94>) - 801b2c6: 4acd ldr r2, [pc, #820] (801b5fc <_ZN15EteindreBougiesC2Eb+0xb98>) - 801b2c8: 4663 mov r3, ip - 801b2ca: f7fc fa71 bl 80177b0 <_ZN8PositionC1Effb> - 801b2ce: f04f 0020 mov.w r0, #32 ; 0x20 - 801b2d2: f7fc f8f5 bl 80174c0 <_Znwj> - 801b2d6: 4603 mov r3, r0 - 801b2d8: f8c7 3090 str.w r3, [r7, #144] - 801b2dc: f8d7 3090 ldr.w r3, [r7, #144] - 801b2e0: 2b00 cmp r3, #0 - 801b2e2: d01e beq.n 801b322 <_ZN15EteindreBougiesC2Eb+0x8be> - 801b2e4: f897 30bb ldrb.w r3, [r7, #187] - 801b2e8: f083 0301 eor.w r3, r3, #1 ; 0x1 - 801b2ec: b2da uxtb r2, r3 - 801b2ee: f8d7 30bc ldr.w r3, [r7, #188] - 801b2f2: f893 106c ldrb.w r1, [r3, #108] - 801b2f6: f04f 0301 mov.w r3, #1 ; 0x1 - 801b2fa: 9300 str r3, [sp, #0] - 801b2fc: f04f 0301 mov.w r3, #1 ; 0x1 - 801b300: 9301 str r3, [sp, #4] - 801b302: 9202 str r2, [sp, #8] - 801b304: 9103 str r1, [sp, #12] - 801b306: f8d7 0090 ldr.w r0, [r7, #144] - 801b30a: f507 73ac add.w r3, r7, #344 ; 0x158 - 801b30e: e893 0006 ldmia.w r3, {r1, r2} - 801b312: 4bbb ldr r3, [pc, #748] (801b600 <_ZN15EteindreBougiesC2Eb+0xb9c>) - 801b314: f7fe fada bl 80198cc <_ZN16EteindreBougieV2C1E8Positionfbbbb> - 801b318: f8d7 2090 ldr.w r2, [r7, #144] - 801b31c: f8c7 2094 str.w r2, [r7, #148] - 801b320: e003 b.n 801b32a <_ZN15EteindreBougiesC2Eb+0x8c6> - 801b322: f8d7 3090 ldr.w r3, [r7, #144] - 801b326: f8c7 3094 str.w r3, [r7, #148] - 801b32a: f8d7 30bc ldr.w r3, [r7, #188] - 801b32e: f8d7 2094 ldr.w r2, [r7, #148] - 801b332: 661a str r2, [r3, #96] - 801b334: e0ef b.n 801b516 <_ZN15EteindreBougiesC2Eb+0xab2> - //bougiesBas[7] = new EteindreBougieV2(Position(2150, 1895, StrategieV2::getIsBlue()), 1.10, false, true, true, bleuVersRouge); - - } - else - { - bougiesBas[4] = new EteindreBougieV2(Position(1290, 1320, StrategieV2::getIsBlue()), 0.50, true, true, true, bleuVersRouge); - 801b336: f004 fa1d bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 801b33a: 4603 mov r3, r0 - 801b33c: 469c mov ip, r3 - 801b33e: f507 73b0 add.w r3, r7, #352 ; 0x160 - 801b342: 4618 mov r0, r3 - 801b344: 4990 ldr r1, [pc, #576] (801b588 <_ZN15EteindreBougiesC2Eb+0xb24>) - 801b346: 4a91 ldr r2, [pc, #580] (801b58c <_ZN15EteindreBougiesC2Eb+0xb28>) - 801b348: 4663 mov r3, ip - 801b34a: f7fc fa31 bl 80177b0 <_ZN8PositionC1Effb> - 801b34e: f04f 0020 mov.w r0, #32 ; 0x20 - 801b352: f7fc f8b5 bl 80174c0 <_Znwj> - 801b356: 4603 mov r3, r0 - 801b358: f8c7 3098 str.w r3, [r7, #152] - 801b35c: f8d7 3098 ldr.w r3, [r7, #152] - 801b360: 2b00 cmp r3, #0 - 801b362: d01b beq.n 801b39c <_ZN15EteindreBougiesC2Eb+0x938> - 801b364: f8d7 30bc ldr.w r3, [r7, #188] - 801b368: f893 206c ldrb.w r2, [r3, #108] - 801b36c: f04f 0301 mov.w r3, #1 ; 0x1 - 801b370: 9300 str r3, [sp, #0] - 801b372: f04f 0301 mov.w r3, #1 ; 0x1 - 801b376: 9301 str r3, [sp, #4] - 801b378: f04f 0301 mov.w r3, #1 ; 0x1 - 801b37c: 9302 str r3, [sp, #8] - 801b37e: 9203 str r2, [sp, #12] - 801b380: f8d7 0098 ldr.w r0, [r7, #152] - 801b384: f507 73b0 add.w r3, r7, #352 ; 0x160 - 801b388: e893 0006 ldmia.w r3, {r1, r2} - 801b38c: 4b8b ldr r3, [pc, #556] (801b5bc <_ZN15EteindreBougiesC2Eb+0xb58>) - 801b38e: f7fe fa9d bl 80198cc <_ZN16EteindreBougieV2C1E8Positionfbbbb> - 801b392: f8d7 2098 ldr.w r2, [r7, #152] - 801b396: f8c7 209c str.w r2, [r7, #156] - 801b39a: e003 b.n 801b3a4 <_ZN15EteindreBougiesC2Eb+0x940> - 801b39c: f8d7 3098 ldr.w r3, [r7, #152] - 801b3a0: f8c7 309c str.w r3, [r7, #156] - 801b3a4: f8d7 30bc ldr.w r3, [r7, #188] - 801b3a8: f8d7 209c ldr.w r2, [r7, #156] - 801b3ac: 629a str r2, [r3, #40] - bougiesBas[5] = new EteindreBougieV2(Position(1470, 1285, StrategieV2::getIsBlue()), 0.1309, true, true, true, bleuVersRouge); - 801b3ae: f004 f9e1 bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 801b3b2: 4603 mov r3, r0 - 801b3b4: 469c mov ip, r3 - 801b3b6: f507 73b4 add.w r3, r7, #360 ; 0x168 - 801b3ba: 4618 mov r0, r3 - 801b3bc: 4991 ldr r1, [pc, #580] (801b604 <_ZN15EteindreBougiesC2Eb+0xba0>) - 801b3be: 4a92 ldr r2, [pc, #584] (801b608 <_ZN15EteindreBougiesC2Eb+0xba4>) - 801b3c0: 4663 mov r3, ip - 801b3c2: f7fc f9f5 bl 80177b0 <_ZN8PositionC1Effb> - 801b3c6: f04f 0020 mov.w r0, #32 ; 0x20 - 801b3ca: f7fc f879 bl 80174c0 <_Znwj> - 801b3ce: 4603 mov r3, r0 - 801b3d0: f8c7 30a0 str.w r3, [r7, #160] - 801b3d4: f8d7 30a0 ldr.w r3, [r7, #160] - 801b3d8: 2b00 cmp r3, #0 - 801b3da: d01b beq.n 801b414 <_ZN15EteindreBougiesC2Eb+0x9b0> - 801b3dc: f8d7 30bc ldr.w r3, [r7, #188] - 801b3e0: f893 206c ldrb.w r2, [r3, #108] - 801b3e4: f04f 0301 mov.w r3, #1 ; 0x1 - 801b3e8: 9300 str r3, [sp, #0] - 801b3ea: f04f 0301 mov.w r3, #1 ; 0x1 - 801b3ee: 9301 str r3, [sp, #4] - 801b3f0: f04f 0301 mov.w r3, #1 ; 0x1 - 801b3f4: 9302 str r3, [sp, #8] - 801b3f6: 9203 str r2, [sp, #12] - 801b3f8: f8d7 00a0 ldr.w r0, [r7, #160] - 801b3fc: f507 73b4 add.w r3, r7, #360 ; 0x168 - 801b400: e893 0006 ldmia.w r3, {r1, r2} - 801b404: 4b69 ldr r3, [pc, #420] (801b5ac <_ZN15EteindreBougiesC2Eb+0xb48>) - 801b406: f7fe fa61 bl 80198cc <_ZN16EteindreBougieV2C1E8Positionfbbbb> - 801b40a: f8d7 20a0 ldr.w r2, [r7, #160] - 801b40e: f8c7 20a4 str.w r2, [r7, #164] - 801b412: e003 b.n 801b41c <_ZN15EteindreBougiesC2Eb+0x9b8> - 801b414: f8d7 30a0 ldr.w r3, [r7, #160] - 801b418: f8c7 30a4 str.w r3, [r7, #164] - 801b41c: f8d7 30bc ldr.w r3, [r7, #188] - 801b420: f8d7 20a4 ldr.w r2, [r7, #164] - 801b424: 62da str r2, [r3, #44] - bougiesBas[6] = new EteindreBougieV2(Position(1640, 1295, StrategieV2::getIsBlue()), -0.1309, true, true, true, bleuVersRouge); - 801b426: f004 f9a5 bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 801b42a: 4603 mov r3, r0 - 801b42c: 469c mov ip, r3 - 801b42e: f507 73b8 add.w r3, r7, #368 ; 0x170 - 801b432: 4618 mov r0, r3 - 801b434: 4975 ldr r1, [pc, #468] (801b60c <_ZN15EteindreBougiesC2Eb+0xba8>) - 801b436: 4a76 ldr r2, [pc, #472] (801b610 <_ZN15EteindreBougiesC2Eb+0xbac>) - 801b438: 4663 mov r3, ip - 801b43a: f7fc f9b9 bl 80177b0 <_ZN8PositionC1Effb> - 801b43e: f04f 0020 mov.w r0, #32 ; 0x20 - 801b442: f7fc f83d bl 80174c0 <_Znwj> - 801b446: 4603 mov r3, r0 - 801b448: f8c7 30a8 str.w r3, [r7, #168] - 801b44c: f8d7 30a8 ldr.w r3, [r7, #168] - 801b450: 2b00 cmp r3, #0 - 801b452: d01b beq.n 801b48c <_ZN15EteindreBougiesC2Eb+0xa28> - 801b454: f8d7 30bc ldr.w r3, [r7, #188] - 801b458: f893 206c ldrb.w r2, [r3, #108] - 801b45c: f04f 0301 mov.w r3, #1 ; 0x1 - 801b460: 9300 str r3, [sp, #0] - 801b462: f04f 0301 mov.w r3, #1 ; 0x1 - 801b466: 9301 str r3, [sp, #4] - 801b468: f04f 0301 mov.w r3, #1 ; 0x1 - 801b46c: 9302 str r3, [sp, #8] - 801b46e: 9203 str r2, [sp, #12] - 801b470: f8d7 00a8 ldr.w r0, [r7, #168] - 801b474: f507 73b8 add.w r3, r7, #368 ; 0x170 - 801b478: e893 0006 ldmia.w r3, {r1, r2} - 801b47c: 4b65 ldr r3, [pc, #404] (801b614 <_ZN15EteindreBougiesC2Eb+0xbb0>) - 801b47e: f7fe fa25 bl 80198cc <_ZN16EteindreBougieV2C1E8Positionfbbbb> - 801b482: f8d7 20a8 ldr.w r2, [r7, #168] - 801b486: f8c7 20ac str.w r2, [r7, #172] - 801b48a: e003 b.n 801b494 <_ZN15EteindreBougiesC2Eb+0xa30> - 801b48c: f8d7 30a8 ldr.w r3, [r7, #168] - 801b490: f8c7 30ac str.w r3, [r7, #172] - 801b494: f8d7 30bc ldr.w r3, [r7, #188] - 801b498: f8d7 20ac ldr.w r2, [r7, #172] - 801b49c: 631a str r2, [r3, #48] - bougiesBas[7] = new EteindreBougieV2(Position(1820, 1365, StrategieV2::getIsBlue()), -0.50, true, true, true, bleuVersRouge); - 801b49e: f004 f969 bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 801b4a2: 4603 mov r3, r0 - 801b4a4: 469c mov ip, r3 - 801b4a6: f507 73bc add.w r3, r7, #376 ; 0x178 - 801b4aa: 4618 mov r0, r3 - 801b4ac: 495a ldr r1, [pc, #360] (801b618 <_ZN15EteindreBougiesC2Eb+0xbb4>) - 801b4ae: 4a5b ldr r2, [pc, #364] (801b61c <_ZN15EteindreBougiesC2Eb+0xbb8>) - 801b4b0: 4663 mov r3, ip - 801b4b2: f7fc f97d bl 80177b0 <_ZN8PositionC1Effb> - 801b4b6: f04f 0020 mov.w r0, #32 ; 0x20 - 801b4ba: f7fc f801 bl 80174c0 <_Znwj> - 801b4be: 4603 mov r3, r0 - 801b4c0: f8c7 30b0 str.w r3, [r7, #176] - 801b4c4: f8d7 30b0 ldr.w r3, [r7, #176] - 801b4c8: 2b00 cmp r3, #0 - 801b4ca: d01b beq.n 801b504 <_ZN15EteindreBougiesC2Eb+0xaa0> - 801b4cc: f8d7 30bc ldr.w r3, [r7, #188] - 801b4d0: f893 206c ldrb.w r2, [r3, #108] - 801b4d4: f04f 0301 mov.w r3, #1 ; 0x1 - 801b4d8: 9300 str r3, [sp, #0] - 801b4da: f04f 0301 mov.w r3, #1 ; 0x1 - 801b4de: 9301 str r3, [sp, #4] - 801b4e0: f04f 0301 mov.w r3, #1 ; 0x1 - 801b4e4: 9302 str r3, [sp, #8] - 801b4e6: 9203 str r2, [sp, #12] - 801b4e8: f8d7 00b0 ldr.w r0, [r7, #176] - 801b4ec: f507 73bc add.w r3, r7, #376 ; 0x178 - 801b4f0: e893 0006 ldmia.w r3, {r1, r2} - 801b4f4: 4b26 ldr r3, [pc, #152] (801b590 <_ZN15EteindreBougiesC2Eb+0xb2c>) - 801b4f6: f7fe f9e9 bl 80198cc <_ZN16EteindreBougieV2C1E8Positionfbbbb> - 801b4fa: f8d7 20b0 ldr.w r2, [r7, #176] - 801b4fe: f8c7 20b4 str.w r2, [r7, #180] - 801b502: e003 b.n 801b50c <_ZN15EteindreBougiesC2Eb+0xaa8> - 801b504: f8d7 30b0 ldr.w r3, [r7, #176] - 801b508: f8c7 30b4 str.w r3, [r7, #180] - 801b50c: f8d7 30bc ldr.w r3, [r7, #188] - 801b510: f8d7 20b4 ldr.w r2, [r7, #180] - 801b514: 635a str r2, [r3, #52] - } - - etapeBas = 0;//(bleuVersRouge?4:6); // valeur a laquelle on commence, mettre 4 ou 7 pour faire les blanches uniquements - 801b516: f8d7 20bc ldr.w r2, [r7, #188] - 801b51a: f04f 0300 mov.w r3, #0 ; 0x0 - 801b51e: 6693 str r3, [r2, #104] - status = 0; - 801b520: f8d7 20bc ldr.w r2, [r7, #188] - 801b524: f04f 0300 mov.w r3, #0 ; 0x0 - 801b528: 60d3 str r3, [r2, #12] -} - 801b52a: f8d7 30bc ldr.w r3, [r7, #188] - 801b52e: 4618 mov r0, r3 - 801b530: f507 77c2 add.w r7, r7, #388 ; 0x184 - 801b534: 46bd mov sp, r7 - 801b536: bd90 pop {r4, r7, pc} - 801b538: 00000000 .word 0x00000000 - 801b53c: 080340a0 .word 0x080340a0 - 801b540: 44548000 .word 0x44548000 - 801b544: 44e02000 .word 0x44e02000 - 801b548: bf9c28f6 .word 0xbf9c28f6 - 801b54c: 44636810 .word 0x44636810 - 801b550: 44cae000 .word 0x44cae000 - 801b554: bf800000 .word 0xbf800000 - 801b558: 446b4000 .word 0x446b4000 - 801b55c: 44c58000 .word 0x44c58000 - 801b560: bf68f5c3 .word 0xbf68f5c3 - 801b564: 448062e1 .word 0x448062e1 - 801b568: 44b96000 .word 0x44b96000 - 801b56c: bf6a9281 .word 0xbf6a9281 - 801b570: 44930000 .word 0x44930000 - 801b574: 44ab4000 .word 0x44ab4000 - 801b578: becccccd .word 0xbecccccd - 801b57c: 449318f6 .word 0x449318f6 - 801b580: 44ac6000 .word 0x44ac6000 - 801b584: bf278d2e .word 0xbf278d2e - 801b588: 44a14000 .word 0x44a14000 - 801b58c: 44a50000 .word 0x44a50000 - 801b590: bf000000 .word 0xbf000000 - 801b594: 44b2c000 .word 0x44b2c000 - 801b598: 44a28000 .word 0x44a28000 - 801b59c: 44b9a000 .word 0x44b9a000 - 801b5a0: 449d8000 .word 0x449d8000 - 801b5a4: bd4ccccd .word 0xbd4ccccd - 801b5a8: 44d02000 .word 0x44d02000 - 801b5ac: 3e060aa6 .word 0x3e060aa6 - 801b5b0: 3e800000 .word 0x3e800000 - 801b5b4: 44e88000 .word 0x44e88000 - 801b5b8: 44a96000 .word 0x44a96000 - 801b5bc: 3f000000 .word 0x3f000000 - 801b5c0: 44f00000 .word 0x44f00000 - 801b5c4: 44b18000 .word 0x44b18000 - 801b5c8: 44fb4000 .word 0x44fb4000 - 801b5cc: 44bcc000 .word 0x44bcc000 - 801b5d0: 3f278d2e .word 0x3f278d2e - 801b5d4: 4500c000 .word 0x4500c000 - 801b5d8: 44c80000 .word 0x44c80000 - 801b5dc: 3f4ccccd .word 0x3f4ccccd - 801b5e0: 45048000 .word 0x45048000 - 801b5e4: 44ca8000 .word 0x44ca8000 - 801b5e8: 3f6a9281 .word 0x3f6a9281 - 801b5ec: 45070000 .word 0x45070000 - 801b5f0: 44de8000 .word 0x44de8000 - 801b5f4: 3f96cbfb .word 0x3f96cbfb - 801b5f8: 4507e2e1 .word 0x4507e2e1 - 801b5fc: 44ec4000 .word 0x44ec4000 - 801b600: 3fb84ea5 .word 0x3fb84ea5 - 801b604: 44b7c000 .word 0x44b7c000 - 801b608: 44a0a000 .word 0x44a0a000 - 801b60c: 44cd0000 .word 0x44cd0000 - 801b610: 44a1e000 .word 0x44a1e000 - 801b614: be060aa6 .word 0xbe060aa6 - 801b618: 44e38000 .word 0x44e38000 - 801b61c: 44aaa000 .word 0x44aaa000 - -0801b620 <_ZN7FeuCote6updateEv>: -FeuCote::~FeuCote() -{ - //dtor -} - -int FeuCote::update() - 801b620: b590 push {r4, r7, lr} - 801b622: b09b sub sp, #108 - 801b624: af02 add r7, sp, #8 - 801b626: 6078 str r0, [r7, #4] -{ - if (status == 0) - 801b628: 687b ldr r3, [r7, #4] - 801b62a: 68db ldr r3, [r3, #12] - 801b62c: 2b00 cmp r3, #0 - 801b62e: d104 bne.n 801b63a <_ZN7FeuCote6updateEv+0x1a> - { -#ifndef ROBOTHW - qDebug() << "feuCote"; -#endif - status = 1; - 801b630: 687a ldr r2, [r7, #4] - 801b632: f04f 0301 mov.w r3, #1 ; 0x1 - 801b636: 60d3 str r3, [r2, #12] - 801b638: e13f b.n 801b8ba <_ZN7FeuCote6updateEv+0x29a> - } - - else if (status == 1) // mise en place du robot - 801b63a: 687b ldr r3, [r7, #4] - 801b63c: 68db ldr r3, [r3, #12] - 801b63e: 2b01 cmp r3, #1 - 801b640: d112 bne.n 801b668 <_ZN7FeuCote6updateEv+0x48> - { - StrategieV2::setCurrentGoal(positionDepart, false); - 801b642: 687a ldr r2, [r7, #4] - 801b644: 4ba0 ldr r3, [pc, #640] (801b8c8 <_ZN7FeuCote6updateEv+0x2a8>) - 801b646: 9300 str r3, [sp, #0] - 801b648: f102 0318 add.w r3, r2, #24 ; 0x18 - 801b64c: e893 0003 ldmia.w r3, {r0, r1} - 801b650: f04f 0200 mov.w r2, #0 ; 0x0 - 801b654: 4b9d ldr r3, [pc, #628] (801b8cc <_ZN7FeuCote6updateEv+0x2ac>) - 801b656: f004 faa5 bl 801fba4 <_ZN11StrategieV214setCurrentGoalE8Positionbff> - status++; - 801b65a: 687b ldr r3, [r7, #4] - 801b65c: 68db ldr r3, [r3, #12] - 801b65e: f103 0201 add.w r2, r3, #1 ; 0x1 - 801b662: 687b ldr r3, [r7, #4] - 801b664: 60da str r2, [r3, #12] - 801b666: e128 b.n 801b8ba <_ZN7FeuCote6updateEv+0x29a> - } - else if (status == 2) // mise en place du robot - 801b668: 687b ldr r3, [r7, #4] - 801b66a: 68db ldr r3, [r3, #12] - 801b66c: 2b02 cmp r3, #2 - 801b66e: d14e bne.n 801b70e <_ZN7FeuCote6updateEv+0xee> - { - Position vect = positionDepart - Odometrie::odometrie->getPos().getPosition(); - 801b670: 687b ldr r3, [r7, #4] - 801b672: f103 0418 add.w r4, r3, #24 ; 0x18 - 801b676: 4b96 ldr r3, [pc, #600] (801b8d0 <_ZN7FeuCote6updateEv+0x2b0>) - 801b678: 681a ldr r2, [r3, #0] - 801b67a: f107 032c add.w r3, r7, #44 ; 0x2c - 801b67e: 4618 mov r0, r3 - 801b680: 4611 mov r1, r2 - 801b682: f7f7 fa8d bl 8012ba0 <_ZNK9Odometrie6getPosEv> - 801b686: f107 0324 add.w r3, r7, #36 ; 0x24 - 801b68a: f107 022c add.w r2, r7, #44 ; 0x2c - 801b68e: 4618 mov r0, r3 - 801b690: 4611 mov r1, r2 - 801b692: f7fc fadb bl 8017c4c <_ZNK17PositionPlusAngle11getPositionEv> - 801b696: f107 031c add.w r3, r7, #28 ; 0x1c - 801b69a: f107 0224 add.w r2, r7, #36 ; 0x24 - 801b69e: 4618 mov r0, r3 - 801b6a0: 4621 mov r1, r4 - 801b6a2: f7fc f905 bl 80178b0 <_ZNK8PositionmiERKS_> - - if(vect.getNorme() < (int) this->precision) - 801b6a6: f107 031c add.w r3, r7, #28 ; 0x1c - 801b6aa: 4618 mov r0, r3 - 801b6ac: f7fc fa0e bl 8017acc <_ZNK8Position8getNormeEv> - 801b6b0: 4604 mov r4, r0 - 801b6b2: 687b ldr r3, [r7, #4] - 801b6b4: 6a9b ldr r3, [r3, #40] - 801b6b6: 4618 mov r0, r3 - 801b6b8: f011 fe42 bl 802d340 <__aeabi_f2iz> - 801b6bc: 4603 mov r3, r0 - 801b6be: 4618 mov r0, r3 - 801b6c0: f011 fc26 bl 802cf10 <__aeabi_i2f> - 801b6c4: 4602 mov r2, r0 - 801b6c6: f04f 0300 mov.w r3, #0 ; 0x0 - 801b6ca: 70fb strb r3, [r7, #3] - 801b6cc: 4620 mov r0, r4 - 801b6ce: 4611 mov r1, r2 - 801b6d0: f011 fe0e bl 802d2f0 <__aeabi_fcmplt> - 801b6d4: 4603 mov r3, r0 - 801b6d6: 2b00 cmp r3, #0 - 801b6d8: d002 beq.n 801b6e0 <_ZN7FeuCote6updateEv+0xc0> - 801b6da: f04f 0301 mov.w r3, #1 ; 0x1 - 801b6de: 70fb strb r3, [r7, #3] - 801b6e0: 78fb ldrb r3, [r7, #3] - 801b6e2: 2b00 cmp r3, #0 - 801b6e4: f000 80e9 beq.w 801b8ba <_ZN7FeuCote6updateEv+0x29a> - { - StrategieV2::setCurrentGoal(this->positionColleBordure, false); - 801b6e8: 687a ldr r2, [r7, #4] - 801b6ea: 4b77 ldr r3, [pc, #476] (801b8c8 <_ZN7FeuCote6updateEv+0x2a8>) - 801b6ec: 9300 str r3, [sp, #0] - 801b6ee: f102 032c add.w r3, r2, #44 ; 0x2c - 801b6f2: e893 0003 ldmia.w r3, {r0, r1} - 801b6f6: f04f 0200 mov.w r2, #0 ; 0x0 - 801b6fa: 4b74 ldr r3, [pc, #464] (801b8cc <_ZN7FeuCote6updateEv+0x2ac>) - 801b6fc: f004 fa52 bl 801fba4 <_ZN11StrategieV214setCurrentGoalE8Positionbff> - - status++; - 801b700: 687b ldr r3, [r7, #4] - 801b702: 68db ldr r3, [r3, #12] - 801b704: f103 0201 add.w r2, r3, #1 ; 0x1 - 801b708: 687b ldr r3, [r7, #4] - 801b70a: 60da str r2, [r3, #12] - 801b70c: e0d5 b.n 801b8ba <_ZN7FeuCote6updateEv+0x29a> - } - } - else if(status == 3) - 801b70e: 687b ldr r3, [r7, #4] - 801b710: 68db ldr r3, [r3, #12] - 801b712: 2b03 cmp r3, #3 - 801b714: d150 bne.n 801b7b8 <_ZN7FeuCote6updateEv+0x198> - { - Position vect = this->positionColleBordure - Odometrie::odometrie->getPos().getPosition(); - 801b716: 687b ldr r3, [r7, #4] - 801b718: f103 042c add.w r4, r3, #44 ; 0x2c - 801b71c: 4b6c ldr r3, [pc, #432] (801b8d0 <_ZN7FeuCote6updateEv+0x2b0>) - 801b71e: 681a ldr r2, [r3, #0] - 801b720: f107 0340 add.w r3, r7, #64 ; 0x40 - 801b724: 4618 mov r0, r3 - 801b726: 4611 mov r1, r2 - 801b728: f7f7 fa3a bl 8012ba0 <_ZNK9Odometrie6getPosEv> - 801b72c: f107 0338 add.w r3, r7, #56 ; 0x38 - 801b730: f107 0240 add.w r2, r7, #64 ; 0x40 - 801b734: 4618 mov r0, r3 - 801b736: 4611 mov r1, r2 - 801b738: f7fc fa88 bl 8017c4c <_ZNK17PositionPlusAngle11getPositionEv> - 801b73c: f107 0314 add.w r3, r7, #20 ; 0x14 - 801b740: f107 0238 add.w r2, r7, #56 ; 0x38 - 801b744: 4618 mov r0, r3 - 801b746: 4621 mov r1, r4 - 801b748: f7fc f8b2 bl 80178b0 <_ZNK8PositionmiERKS_> - if(vect.getNorme() < (int) this->precision) - 801b74c: f107 0314 add.w r3, r7, #20 ; 0x14 - 801b750: 4618 mov r0, r3 - 801b752: f7fc f9bb bl 8017acc <_ZNK8Position8getNormeEv> - 801b756: 4604 mov r4, r0 - 801b758: 687b ldr r3, [r7, #4] - 801b75a: 6a9b ldr r3, [r3, #40] - 801b75c: 4618 mov r0, r3 - 801b75e: f011 fdef bl 802d340 <__aeabi_f2iz> - 801b762: 4603 mov r3, r0 - 801b764: 4618 mov r0, r3 - 801b766: f011 fbd3 bl 802cf10 <__aeabi_i2f> - 801b76a: 4602 mov r2, r0 - 801b76c: f04f 0300 mov.w r3, #0 ; 0x0 - 801b770: 70bb strb r3, [r7, #2] - 801b772: 4620 mov r0, r4 - 801b774: 4611 mov r1, r2 - 801b776: f011 fdbb bl 802d2f0 <__aeabi_fcmplt> - 801b77a: 4603 mov r3, r0 - 801b77c: 2b00 cmp r3, #0 - 801b77e: d002 beq.n 801b786 <_ZN7FeuCote6updateEv+0x166> - 801b780: f04f 0301 mov.w r3, #1 ; 0x1 - 801b784: 70bb strb r3, [r7, #2] - 801b786: 78bb ldrb r3, [r7, #2] - 801b788: 2b00 cmp r3, #0 - 801b78a: f000 8096 beq.w 801b8ba <_ZN7FeuCote6updateEv+0x29a> - { - - StrategieV2::lookAt(this->positionLookAt);//On garde le même angle pour éviter que le robot ne dévie - 801b78e: 687b ldr r3, [r7, #4] - 801b790: f103 0334 add.w r3, r3, #52 ; 0x34 - 801b794: e893 0003 ldmia.w r3, {r0, r1} - 801b798: 4a4e ldr r2, [pc, #312] (801b8d4 <_ZN7FeuCote6updateEv+0x2b4>) - 801b79a: f004 f96b bl 801fa74 <_ZN11StrategieV26lookAtE8Positionf> - //Sortir le bras pour pousser de feu - BrasLateral::getLeft()->collapse(); - 801b79e: f7f2 fe51 bl 800e444 <_ZN11BrasLateral7getLeftEv> - 801b7a2: 4603 mov r3, r0 - 801b7a4: 4618 mov r0, r3 - 801b7a6: f7f2 fd65 bl 800e274 <_ZN11BrasLateral8collapseEv> -#ifndef ROBOTHW - qDebug() << "Sortie du bras"; -#endif - status++; - 801b7aa: 687b ldr r3, [r7, #4] - 801b7ac: 68db ldr r3, [r3, #12] - 801b7ae: f103 0201 add.w r2, r3, #1 ; 0x1 - 801b7b2: 687b ldr r3, [r7, #4] - 801b7b4: 60da str r2, [r3, #12] - 801b7b6: e080 b.n 801b8ba <_ZN7FeuCote6updateEv+0x29a> - } - } - else if(status < 53)//On attend pendant (53-3) * 5ms, le temps que le bras sorte - 801b7b8: 687b ldr r3, [r7, #4] - 801b7ba: 68db ldr r3, [r3, #12] - 801b7bc: 2b34 cmp r3, #52 - 801b7be: dc06 bgt.n 801b7ce <_ZN7FeuCote6updateEv+0x1ae> - { - status++; - 801b7c0: 687b ldr r3, [r7, #4] - 801b7c2: 68db ldr r3, [r3, #12] - 801b7c4: f103 0201 add.w r2, r3, #1 ; 0x1 - 801b7c8: 687b ldr r3, [r7, #4] - 801b7ca: 60da str r2, [r3, #12] - 801b7cc: e075 b.n 801b8ba <_ZN7FeuCote6updateEv+0x29a> - } - else if(status == 53) - 801b7ce: 687b ldr r3, [r7, #4] - 801b7d0: 68db ldr r3, [r3, #12] - 801b7d2: 2b35 cmp r3, #53 - 801b7d4: d10c bne.n 801b7f0 <_ZN7FeuCote6updateEv+0x1d0> - { - //Rentrer le bras - BrasLateral::getLeft()->expand(); - 801b7d6: f7f2 fe35 bl 800e444 <_ZN11BrasLateral7getLeftEv> - 801b7da: 4603 mov r3, r0 - 801b7dc: 4618 mov r0, r3 - 801b7de: f7f2 fd59 bl 800e294 <_ZN11BrasLateral6expandEv> -#ifndef ROBOTHW - qDebug() << "Rentrée du bras"; -#endif - status++; - 801b7e2: 687b ldr r3, [r7, #4] - 801b7e4: 68db ldr r3, [r3, #12] - 801b7e6: f103 0201 add.w r2, r3, #1 ; 0x1 - 801b7ea: 687b ldr r3, [r7, #4] - 801b7ec: 60da str r2, [r3, #12] - 801b7ee: e064 b.n 801b8ba <_ZN7FeuCote6updateEv+0x29a> - } - else if(status < 103)//On attend pendant, le temps que le bras rentre - 801b7f0: 687b ldr r3, [r7, #4] - 801b7f2: 68db ldr r3, [r3, #12] - 801b7f4: 2b66 cmp r3, #102 - 801b7f6: dc06 bgt.n 801b806 <_ZN7FeuCote6updateEv+0x1e6> - { - status++; - 801b7f8: 687b ldr r3, [r7, #4] - 801b7fa: 68db ldr r3, [r3, #12] - 801b7fc: f103 0201 add.w r2, r3, #1 ; 0x1 - 801b800: 687b ldr r3, [r7, #4] - 801b802: 60da str r2, [r3, #12] - 801b804: e059 b.n 801b8ba <_ZN7FeuCote6updateEv+0x29a> - } - else if(status == 103)//On revient au départ de l'étape, en marche arrière - 801b806: 687b ldr r3, [r7, #4] - 801b808: 68db ldr r3, [r3, #12] - 801b80a: 2b67 cmp r3, #103 - 801b80c: d112 bne.n 801b834 <_ZN7FeuCote6updateEv+0x214> - { - StrategieV2::setCurrentGoal(positionDepart, true); - 801b80e: 687a ldr r2, [r7, #4] - 801b810: 4b2d ldr r3, [pc, #180] (801b8c8 <_ZN7FeuCote6updateEv+0x2a8>) - 801b812: 9300 str r3, [sp, #0] - 801b814: f102 0318 add.w r3, r2, #24 ; 0x18 - 801b818: e893 0003 ldmia.w r3, {r0, r1} - 801b81c: f04f 0201 mov.w r2, #1 ; 0x1 - 801b820: 4b2a ldr r3, [pc, #168] (801b8cc <_ZN7FeuCote6updateEv+0x2ac>) - 801b822: f004 f9bf bl 801fba4 <_ZN11StrategieV214setCurrentGoalE8Positionbff> - status++; - 801b826: 687b ldr r3, [r7, #4] - 801b828: 68db ldr r3, [r3, #12] - 801b82a: f103 0201 add.w r2, r3, #1 ; 0x1 - 801b82e: 687b ldr r3, [r7, #4] - 801b830: 60da str r2, [r3, #12] - 801b832: e042 b.n 801b8ba <_ZN7FeuCote6updateEv+0x29a> - } - else if(status == 104)//On passe à l'étape suivante - 801b834: 687b ldr r3, [r7, #4] - 801b836: 68db ldr r3, [r3, #12] - 801b838: 2b68 cmp r3, #104 - 801b83a: d13e bne.n 801b8ba <_ZN7FeuCote6updateEv+0x29a> - { - Position vect = positionDepart - Odometrie::odometrie->getPos().getPosition(); - 801b83c: 687b ldr r3, [r7, #4] - 801b83e: f103 0418 add.w r4, r3, #24 ; 0x18 - 801b842: 4b23 ldr r3, [pc, #140] (801b8d0 <_ZN7FeuCote6updateEv+0x2b0>) - 801b844: 681a ldr r2, [r3, #0] - 801b846: f107 0354 add.w r3, r7, #84 ; 0x54 - 801b84a: 4618 mov r0, r3 - 801b84c: 4611 mov r1, r2 - 801b84e: f7f7 f9a7 bl 8012ba0 <_ZNK9Odometrie6getPosEv> - 801b852: f107 034c add.w r3, r7, #76 ; 0x4c - 801b856: f107 0254 add.w r2, r7, #84 ; 0x54 - 801b85a: 4618 mov r0, r3 - 801b85c: 4611 mov r1, r2 - 801b85e: f7fc f9f5 bl 8017c4c <_ZNK17PositionPlusAngle11getPositionEv> - 801b862: f107 030c add.w r3, r7, #12 ; 0xc - 801b866: f107 024c add.w r2, r7, #76 ; 0x4c - 801b86a: 4618 mov r0, r3 - 801b86c: 4621 mov r1, r4 - 801b86e: f7fc f81f bl 80178b0 <_ZNK8PositionmiERKS_> - - if(vect.getNorme() < (int) this->precision) - 801b872: f107 030c add.w r3, r7, #12 ; 0xc - 801b876: 4618 mov r0, r3 - 801b878: f7fc f928 bl 8017acc <_ZNK8Position8getNormeEv> - 801b87c: 4604 mov r4, r0 - 801b87e: 687b ldr r3, [r7, #4] - 801b880: 6a9b ldr r3, [r3, #40] - 801b882: 4618 mov r0, r3 - 801b884: f011 fd5c bl 802d340 <__aeabi_f2iz> - 801b888: 4603 mov r3, r0 - 801b88a: 4618 mov r0, r3 - 801b88c: f011 fb40 bl 802cf10 <__aeabi_i2f> - 801b890: 4602 mov r2, r0 - 801b892: f04f 0300 mov.w r3, #0 ; 0x0 - 801b896: 707b strb r3, [r7, #1] - 801b898: 4620 mov r0, r4 - 801b89a: 4611 mov r1, r2 - 801b89c: f011 fd28 bl 802d2f0 <__aeabi_fcmplt> - 801b8a0: 4603 mov r3, r0 - 801b8a2: 2b00 cmp r3, #0 - 801b8a4: d002 beq.n 801b8ac <_ZN7FeuCote6updateEv+0x28c> - 801b8a6: f04f 0301 mov.w r3, #1 ; 0x1 - 801b8aa: 707b strb r3, [r7, #1] - 801b8ac: 787b ldrb r3, [r7, #1] - 801b8ae: 2b00 cmp r3, #0 - 801b8b0: d003 beq.n 801b8ba <_ZN7FeuCote6updateEv+0x29a> - { - status = -1; - 801b8b2: 687a ldr r2, [r7, #4] - 801b8b4: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 801b8b8: 60d3 str r3, [r2, #12] - } - } - - return status; - 801b8ba: 687b ldr r3, [r7, #4] - 801b8bc: 68db ldr r3, [r3, #12] -} - 801b8be: 4618 mov r0, r3 - 801b8c0: f107 0764 add.w r7, r7, #100 ; 0x64 - 801b8c4: 46bd mov sp, r7 - 801b8c6: bd90 pop {r4, r7, pc} - 801b8c8: c2c80000 .word 0xc2c80000 - 801b8cc: 3f800000 .word 0x3f800000 - 801b8d0: 20000590 .word 0x20000590 - 801b8d4: 3c23d70a .word 0x3c23d70a - -0801b8d8 <_ZN7FeuCoteD0Ev>: - } - - status = 0; -} - -FeuCote::~FeuCote() - 801b8d8: b580 push {r7, lr} - 801b8da: b082 sub sp, #8 - 801b8dc: af00 add r7, sp, #0 - 801b8de: 6078 str r0, [r7, #4] - 801b8e0: 687a ldr r2, [r7, #4] - 801b8e2: 4b0a ldr r3, [pc, #40] (801b90c <_ZN7FeuCoteD0Ev+0x34>) - 801b8e4: 6013 str r3, [r2, #0] -{ - //dtor -} - 801b8e6: 687b ldr r3, [r7, #4] - 801b8e8: 4618 mov r0, r3 - 801b8ea: f000 fb91 bl 801c010 <_ZN17MediumLevelActionD2Ev> - 801b8ee: f04f 0301 mov.w r3, #1 ; 0x1 - 801b8f2: b2db uxtb r3, r3 - 801b8f4: 2b00 cmp r3, #0 - 801b8f6: d002 beq.n 801b8fe <_ZN7FeuCoteD0Ev+0x26> - 801b8f8: 6878 ldr r0, [r7, #4] - 801b8fa: f7fb fe87 bl 801760c <_ZdlPv> - 801b8fe: 687b ldr r3, [r7, #4] - 801b900: 4618 mov r0, r3 - 801b902: f107 0708 add.w r7, r7, #8 ; 0x8 - 801b906: 46bd mov sp, r7 - 801b908: bd80 pop {r7, pc} - 801b90a: 46c0 nop (mov r8, r8) - 801b90c: 080340c0 .word 0x080340c0 - -0801b910 <_ZN7FeuCoteD1Ev>: - } - - status = 0; -} - -FeuCote::~FeuCote() - 801b910: b580 push {r7, lr} - 801b912: b082 sub sp, #8 - 801b914: af00 add r7, sp, #0 - 801b916: 6078 str r0, [r7, #4] - 801b918: 687a ldr r2, [r7, #4] - 801b91a: 4b0a ldr r3, [pc, #40] (801b944 <_ZN7FeuCoteD1Ev+0x34>) - 801b91c: 6013 str r3, [r2, #0] -{ - //dtor -} - 801b91e: 687b ldr r3, [r7, #4] - 801b920: 4618 mov r0, r3 - 801b922: f000 fb75 bl 801c010 <_ZN17MediumLevelActionD2Ev> - 801b926: f04f 0300 mov.w r3, #0 ; 0x0 - 801b92a: b2db uxtb r3, r3 - 801b92c: 2b00 cmp r3, #0 - 801b92e: d002 beq.n 801b936 <_ZN7FeuCoteD1Ev+0x26> - 801b930: 6878 ldr r0, [r7, #4] - 801b932: f7fb fe6b bl 801760c <_ZdlPv> - 801b936: 687b ldr r3, [r7, #4] - 801b938: 4618 mov r0, r3 - 801b93a: f107 0708 add.w r7, r7, #8 ; 0x8 - 801b93e: 46bd mov sp, r7 - 801b940: bd80 pop {r7, pc} - 801b942: 46c0 nop (mov r8, r8) - 801b944: 080340c0 .word 0x080340c0 - -0801b948 <_ZN7FeuCoteD2Ev>: - } - - status = 0; -} - -FeuCote::~FeuCote() - 801b948: b580 push {r7, lr} - 801b94a: b082 sub sp, #8 - 801b94c: af00 add r7, sp, #0 - 801b94e: 6078 str r0, [r7, #4] - 801b950: 687a ldr r2, [r7, #4] - 801b952: 4b0a ldr r3, [pc, #40] (801b97c <_ZN7FeuCoteD2Ev+0x34>) - 801b954: 6013 str r3, [r2, #0] -{ - //dtor -} - 801b956: 687b ldr r3, [r7, #4] - 801b958: 4618 mov r0, r3 - 801b95a: f000 fb59 bl 801c010 <_ZN17MediumLevelActionD2Ev> - 801b95e: f04f 0300 mov.w r3, #0 ; 0x0 - 801b962: b2db uxtb r3, r3 - 801b964: 2b00 cmp r3, #0 - 801b966: d002 beq.n 801b96e <_ZN7FeuCoteD2Ev+0x26> - 801b968: 6878 ldr r0, [r7, #4] - 801b96a: f7fb fe4f bl 801760c <_ZdlPv> - 801b96e: 687b ldr r3, [r7, #4] - 801b970: 4618 mov r0, r3 - 801b972: f107 0708 add.w r7, r7, #8 ; 0x8 - 801b976: 46bd mov sp, r7 - 801b978: bd80 pop {r7, pc} - 801b97a: 46c0 nop (mov r8, r8) - 801b97c: 080340c0 .word 0x080340c0 - -0801b980 <_ZN7FeuCoteC1Ev>: - -#ifndef ROBOTHW -#include -#endif - -FeuCote::FeuCote(){} - 801b980: b590 push {r4, r7, lr} - 801b982: b085 sub sp, #20 - 801b984: af00 add r7, sp, #0 - 801b986: 6078 str r0, [r7, #4] - 801b988: 687c ldr r4, [r7, #4] - 801b98a: f107 0308 add.w r3, r7, #8 ; 0x8 - 801b98e: 4618 mov r0, r3 - 801b990: 4913 ldr r1, [pc, #76] (801b9e0 <_ZN7FeuCoteC1Ev+0x60>) - 801b992: 4a13 ldr r2, [pc, #76] (801b9e0 <_ZN7FeuCoteC1Ev+0x60>) - 801b994: f04f 0301 mov.w r3, #1 ; 0x1 - 801b998: f7fb ff0a bl 80177b0 <_ZN8PositionC1Effb> - 801b99c: 4620 mov r0, r4 - 801b99e: f107 0308 add.w r3, r7, #8 ; 0x8 - 801b9a2: e893 0006 ldmia.w r3, {r1, r2} - 801b9a6: f000 fb73 bl 801c090 <_ZN17MediumLevelActionC2E8Position> - 801b9aa: 687a ldr r2, [r7, #4] - 801b9ac: 4b0d ldr r3, [pc, #52] (801b9e4 <_ZN7FeuCoteC1Ev+0x64>) - 801b9ae: 6013 str r3, [r2, #0] - 801b9b0: 687b ldr r3, [r7, #4] - 801b9b2: f103 0318 add.w r3, r3, #24 ; 0x18 - 801b9b6: 4618 mov r0, r3 - 801b9b8: f7fb fec0 bl 801773c <_ZN8PositionC1Ev> - 801b9bc: 687b ldr r3, [r7, #4] - 801b9be: f103 032c add.w r3, r3, #44 ; 0x2c - 801b9c2: 4618 mov r0, r3 - 801b9c4: f7fb feba bl 801773c <_ZN8PositionC1Ev> - 801b9c8: 687b ldr r3, [r7, #4] - 801b9ca: f103 0334 add.w r3, r3, #52 ; 0x34 - 801b9ce: 4618 mov r0, r3 - 801b9d0: f7fb feb4 bl 801773c <_ZN8PositionC1Ev> - 801b9d4: 687b ldr r3, [r7, #4] - 801b9d6: 4618 mov r0, r3 - 801b9d8: f107 0714 add.w r7, r7, #20 ; 0x14 - 801b9dc: 46bd mov sp, r7 - 801b9de: bd90 pop {r4, r7, pc} - 801b9e0: 00000000 .word 0x00000000 - 801b9e4: 080340c0 .word 0x080340c0 - -0801b9e8 <_ZN7FeuCoteC2Ev>: - 801b9e8: b590 push {r4, r7, lr} - 801b9ea: b085 sub sp, #20 - 801b9ec: af00 add r7, sp, #0 - 801b9ee: 6078 str r0, [r7, #4] - 801b9f0: 687c ldr r4, [r7, #4] - 801b9f2: f107 0308 add.w r3, r7, #8 ; 0x8 - 801b9f6: 4618 mov r0, r3 - 801b9f8: 4913 ldr r1, [pc, #76] (801ba48 <_ZN7FeuCoteC2Ev+0x60>) - 801b9fa: 4a13 ldr r2, [pc, #76] (801ba48 <_ZN7FeuCoteC2Ev+0x60>) - 801b9fc: f04f 0301 mov.w r3, #1 ; 0x1 - 801ba00: f7fb fed6 bl 80177b0 <_ZN8PositionC1Effb> - 801ba04: 4620 mov r0, r4 - 801ba06: f107 0308 add.w r3, r7, #8 ; 0x8 - 801ba0a: e893 0006 ldmia.w r3, {r1, r2} - 801ba0e: f000 fb3f bl 801c090 <_ZN17MediumLevelActionC2E8Position> - 801ba12: 687a ldr r2, [r7, #4] - 801ba14: 4b0d ldr r3, [pc, #52] (801ba4c <_ZN7FeuCoteC2Ev+0x64>) - 801ba16: 6013 str r3, [r2, #0] - 801ba18: 687b ldr r3, [r7, #4] - 801ba1a: f103 0318 add.w r3, r3, #24 ; 0x18 - 801ba1e: 4618 mov r0, r3 - 801ba20: f7fb fe8c bl 801773c <_ZN8PositionC1Ev> - 801ba24: 687b ldr r3, [r7, #4] - 801ba26: f103 032c add.w r3, r3, #44 ; 0x2c - 801ba2a: 4618 mov r0, r3 - 801ba2c: f7fb fe86 bl 801773c <_ZN8PositionC1Ev> - 801ba30: 687b ldr r3, [r7, #4] - 801ba32: f103 0334 add.w r3, r3, #52 ; 0x34 - 801ba36: 4618 mov r0, r3 - 801ba38: f7fb fe80 bl 801773c <_ZN8PositionC1Ev> - 801ba3c: 687b ldr r3, [r7, #4] - 801ba3e: 4618 mov r0, r3 - 801ba40: f107 0714 add.w r7, r7, #20 ; 0x14 - 801ba44: 46bd mov sp, r7 - 801ba46: bd90 pop {r4, r7, pc} - 801ba48: 00000000 .word 0x00000000 - 801ba4c: 080340c0 .word 0x080340c0 - -0801ba50 <_ZN7FeuCoteC1Eb8Positionibbf>: - -FeuCote::FeuCote(bool isBlue, Position positionDepart, int bordureFeu, bool sensFeu, bool coteDuFeu, float precision) : MediumLevelAction() - 801ba50: b5b0 push {r4, r5, r7, lr} - 801ba52: b092 sub sp, #72 - 801ba54: af00 add r7, sp, #0 - 801ba56: 60f8 str r0, [r7, #12] - 801ba58: 4608 mov r0, r1 - 801ba5a: 4639 mov r1, r7 - 801ba5c: e881 000c stmia.w r1, {r2, r3} - 801ba60: 4603 mov r3, r0 - 801ba62: 72fb strb r3, [r7, #11] - 801ba64: 68fc ldr r4, [r7, #12] - 801ba66: f107 0310 add.w r3, r7, #16 ; 0x10 - 801ba6a: 4618 mov r0, r3 - 801ba6c: 498b ldr r1, [pc, #556] (801bc9c <_ZN7FeuCoteC1Eb8Positionibbf+0x24c>) - 801ba6e: 4a8b ldr r2, [pc, #556] (801bc9c <_ZN7FeuCoteC1Eb8Positionibbf+0x24c>) - 801ba70: f04f 0301 mov.w r3, #1 ; 0x1 - 801ba74: f7fb fe9c bl 80177b0 <_ZN8PositionC1Effb> - 801ba78: 4620 mov r0, r4 - 801ba7a: f107 0310 add.w r3, r7, #16 ; 0x10 - 801ba7e: e893 0006 ldmia.w r3, {r1, r2} - 801ba82: f000 fb05 bl 801c090 <_ZN17MediumLevelActionC2E8Position> - 801ba86: 68fa ldr r2, [r7, #12] - 801ba88: 4b85 ldr r3, [pc, #532] (801bca0 <_ZN7FeuCoteC1Eb8Positionibbf+0x250>) - 801ba8a: 6013 str r3, [r2, #0] - 801ba8c: 68fb ldr r3, [r7, #12] - 801ba8e: f103 0318 add.w r3, r3, #24 ; 0x18 - 801ba92: 4618 mov r0, r3 - 801ba94: f7fb fe52 bl 801773c <_ZN8PositionC1Ev> - 801ba98: 68fb ldr r3, [r7, #12] - 801ba9a: f103 032c add.w r3, r3, #44 ; 0x2c - 801ba9e: 4618 mov r0, r3 - 801baa0: f7fb fe4c bl 801773c <_ZN8PositionC1Ev> - 801baa4: 68fb ldr r3, [r7, #12] - 801baa6: f103 0334 add.w r3, r3, #52 ; 0x34 - 801baaa: 4618 mov r0, r3 - 801baac: f7fb fe46 bl 801773c <_ZN8PositionC1Ev> -{ - this->isBlue = isBlue; - 801bab0: 68fa ldr r2, [r7, #12] - 801bab2: 7afb ldrb r3, [r7, #11] - 801bab4: f882 3025 strb.w r3, [r2, #37] - this->positionDepart = positionDepart; - 801bab8: 68fb ldr r3, [r7, #12] - 801baba: f103 0318 add.w r3, r3, #24 ; 0x18 - 801babe: 4618 mov r0, r3 - 801bac0: 463b mov r3, r7 - 801bac2: e893 0006 ldmia.w r3, {r1, r2} - 801bac6: f7fb ff19 bl 80178fc <_ZN8PositionaSES_> - this->bordureFeu = bordureFeu; - 801baca: 68fa ldr r2, [r7, #12] - 801bacc: 6dbb ldr r3, [r7, #88] - 801bace: 6213 str r3, [r2, #32] - this->sensFeu = sensFeu; - 801bad0: 68fa ldr r2, [r7, #12] - 801bad2: f897 305c ldrb.w r3, [r7, #92] - 801bad6: f882 3026 strb.w r3, [r2, #38] - this->coteDuFeu = coteDuFeu; - 801bada: 68fa ldr r2, [r7, #12] - 801badc: f897 3060 ldrb.w r3, [r7, #96] - 801bae0: f882 3027 strb.w r3, [r2, #39] - this->precision = precision; - 801bae4: 68fa ldr r2, [r7, #12] - 801bae6: 6e7b ldr r3, [r7, #100] - 801bae8: 6293 str r3, [r2, #40] - - if(this->bordureFeu == NOTRE_BORDURE) - 801baea: 68fb ldr r3, [r7, #12] - 801baec: 6a1b ldr r3, [r3, #32] - 801baee: 2b00 cmp r3, #0 - 801baf0: d123 bne.n 801bb3a <_ZN7FeuCoteC1Eb8Positionibbf+0xea> - { - this->positionColleBordure = Position(positionDepart.getX()-75, positionDepart.getY(), isBlue); - 801baf2: 68fb ldr r3, [r7, #12] - 801baf4: f103 052c add.w r5, r3, #44 ; 0x2c - 801baf8: 463b mov r3, r7 - 801bafa: 4618 mov r0, r3 - 801bafc: f7fb fe7e bl 80177fc <_ZNK8Position4getXEv> - 801bb00: 4603 mov r3, r0 - 801bb02: 4618 mov r0, r3 - 801bb04: 4967 ldr r1, [pc, #412] (801bca4 <_ZN7FeuCoteC1Eb8Positionibbf+0x254>) - 801bb06: f011 f94d bl 802cda4 <__aeabi_fsub> - 801bb0a: 4603 mov r3, r0 - 801bb0c: 461c mov r4, r3 - 801bb0e: 463b mov r3, r7 - 801bb10: 4618 mov r0, r3 - 801bb12: f7fb fe7f bl 8017814 <_ZNK8Position4getYEv> - 801bb16: 4602 mov r2, r0 - 801bb18: f107 0318 add.w r3, r7, #24 ; 0x18 - 801bb1c: f897 c00b ldrb.w ip, [r7, #11] - 801bb20: 4618 mov r0, r3 - 801bb22: 4621 mov r1, r4 - 801bb24: 4663 mov r3, ip - 801bb26: f7fb fe43 bl 80177b0 <_ZN8PositionC1Effb> - 801bb2a: 4628 mov r0, r5 - 801bb2c: f107 0318 add.w r3, r7, #24 ; 0x18 - 801bb30: e893 0006 ldmia.w r3, {r1, r2} - 801bb34: f7fb fee2 bl 80178fc <_ZN8PositionaSES_> - 801bb38: e04e b.n 801bbd8 <_ZN7FeuCoteC1Eb8Positionibbf+0x188> - } - else if(this->bordureFeu == BORDURE_MILIEU) - 801bb3a: 68fb ldr r3, [r7, #12] - 801bb3c: 6a1b ldr r3, [r3, #32] - 801bb3e: 2b01 cmp r3, #1 - 801bb40: d123 bne.n 801bb8a <_ZN7FeuCoteC1Eb8Positionibbf+0x13a> - { - this->positionColleBordure = Position(positionDepart.getX(), positionDepart.getY()-75, isBlue); - 801bb42: 68fb ldr r3, [r7, #12] - 801bb44: f103 042c add.w r4, r3, #44 ; 0x2c - 801bb48: 463b mov r3, r7 - 801bb4a: 4618 mov r0, r3 - 801bb4c: f7fb fe56 bl 80177fc <_ZNK8Position4getXEv> - 801bb50: 4605 mov r5, r0 - 801bb52: 463b mov r3, r7 - 801bb54: 4618 mov r0, r3 - 801bb56: f7fb fe5d bl 8017814 <_ZNK8Position4getYEv> - 801bb5a: 4603 mov r3, r0 - 801bb5c: 4618 mov r0, r3 - 801bb5e: 4951 ldr r1, [pc, #324] (801bca4 <_ZN7FeuCoteC1Eb8Positionibbf+0x254>) - 801bb60: f011 f920 bl 802cda4 <__aeabi_fsub> - 801bb64: 4603 mov r3, r0 - 801bb66: 461a mov r2, r3 - 801bb68: f107 0320 add.w r3, r7, #32 ; 0x20 - 801bb6c: f897 c00b ldrb.w ip, [r7, #11] - 801bb70: 4618 mov r0, r3 - 801bb72: 4629 mov r1, r5 - 801bb74: 4663 mov r3, ip - 801bb76: f7fb fe1b bl 80177b0 <_ZN8PositionC1Effb> - 801bb7a: 4620 mov r0, r4 - 801bb7c: f107 0320 add.w r3, r7, #32 ; 0x20 - 801bb80: e893 0006 ldmia.w r3, {r1, r2} - 801bb84: f7fb feba bl 80178fc <_ZN8PositionaSES_> - 801bb88: e026 b.n 801bbd8 <_ZN7FeuCoteC1Eb8Positionibbf+0x188> - } - else if(this->bordureFeu == BORDURE_ADVERSAIRE) - 801bb8a: 68fb ldr r3, [r7, #12] - 801bb8c: 6a1b ldr r3, [r3, #32] - 801bb8e: 2b02 cmp r3, #2 - 801bb90: d122 bne.n 801bbd8 <_ZN7FeuCoteC1Eb8Positionibbf+0x188> - { - this->positionColleBordure = Position(positionDepart.getX()+75, positionDepart.getY(), isBlue); - 801bb92: 68fb ldr r3, [r7, #12] - 801bb94: f103 052c add.w r5, r3, #44 ; 0x2c - 801bb98: 463b mov r3, r7 - 801bb9a: 4618 mov r0, r3 - 801bb9c: f7fb fe2e bl 80177fc <_ZNK8Position4getXEv> - 801bba0: 4603 mov r3, r0 - 801bba2: 4618 mov r0, r3 - 801bba4: 493f ldr r1, [pc, #252] (801bca4 <_ZN7FeuCoteC1Eb8Positionibbf+0x254>) - 801bba6: f011 f8ff bl 802cda8 <__addsf3> - 801bbaa: 4603 mov r3, r0 - 801bbac: 461c mov r4, r3 - 801bbae: 463b mov r3, r7 - 801bbb0: 4618 mov r0, r3 - 801bbb2: f7fb fe2f bl 8017814 <_ZNK8Position4getYEv> - 801bbb6: 4602 mov r2, r0 - 801bbb8: f107 0328 add.w r3, r7, #40 ; 0x28 - 801bbbc: f897 c00b ldrb.w ip, [r7, #11] - 801bbc0: 4618 mov r0, r3 - 801bbc2: 4621 mov r1, r4 - 801bbc4: 4663 mov r3, ip - 801bbc6: f7fb fdf3 bl 80177b0 <_ZN8PositionC1Effb> - 801bbca: 4628 mov r0, r5 - 801bbcc: f107 0328 add.w r3, r7, #40 ; 0x28 - 801bbd0: e893 0006 ldmia.w r3, {r1, r2} - 801bbd4: f7fb fe92 bl 80178fc <_ZN8PositionaSES_> - } - - if(this->bordureFeu == NOTRE_BORDURE) - 801bbd8: 68fb ldr r3, [r7, #12] - 801bbda: 6a1b ldr r3, [r3, #32] - 801bbdc: 2b00 cmp r3, #0 - 801bbde: d118 bne.n 801bc12 <_ZN7FeuCoteC1Eb8Positionibbf+0x1c2> - { - this->positionLookAt = Position(0, positionDepart.getY(), isBlue); - 801bbe0: 68fb ldr r3, [r7, #12] - 801bbe2: f103 0434 add.w r4, r3, #52 ; 0x34 - 801bbe6: 463b mov r3, r7 - 801bbe8: 4618 mov r0, r3 - 801bbea: f7fb fe13 bl 8017814 <_ZNK8Position4getYEv> - 801bbee: 4602 mov r2, r0 - 801bbf0: f107 0330 add.w r3, r7, #48 ; 0x30 - 801bbf4: f897 c00b ldrb.w ip, [r7, #11] - 801bbf8: 4618 mov r0, r3 - 801bbfa: 4928 ldr r1, [pc, #160] (801bc9c <_ZN7FeuCoteC1Eb8Positionibbf+0x24c>) - 801bbfc: 4663 mov r3, ip - 801bbfe: f7fb fdd7 bl 80177b0 <_ZN8PositionC1Effb> - 801bc02: 4620 mov r0, r4 - 801bc04: f107 0330 add.w r3, r7, #48 ; 0x30 - 801bc08: e893 0006 ldmia.w r3, {r1, r2} - 801bc0c: f7fb fe76 bl 80178fc <_ZN8PositionaSES_> - 801bc10: e039 b.n 801bc86 <_ZN7FeuCoteC1Eb8Positionibbf+0x236> - } - else if(this->bordureFeu == BORDURE_MILIEU) - 801bc12: 68fb ldr r3, [r7, #12] - 801bc14: 6a1b ldr r3, [r3, #32] - 801bc16: 2b01 cmp r3, #1 - 801bc18: d119 bne.n 801bc4e <_ZN7FeuCoteC1Eb8Positionibbf+0x1fe> - { - this->positionLookAt = Position(positionDepart.getX(), 0, isBlue); - 801bc1a: 68fb ldr r3, [r7, #12] - 801bc1c: f103 0434 add.w r4, r3, #52 ; 0x34 - 801bc20: 463b mov r3, r7 - 801bc22: 4618 mov r0, r3 - 801bc24: f7fb fdea bl 80177fc <_ZNK8Position4getXEv> - 801bc28: 4602 mov r2, r0 - 801bc2a: f107 0338 add.w r3, r7, #56 ; 0x38 - 801bc2e: f897 c00b ldrb.w ip, [r7, #11] - 801bc32: 4618 mov r0, r3 - 801bc34: 4611 mov r1, r2 - 801bc36: 4a19 ldr r2, [pc, #100] (801bc9c <_ZN7FeuCoteC1Eb8Positionibbf+0x24c>) - 801bc38: 4663 mov r3, ip - 801bc3a: f7fb fdb9 bl 80177b0 <_ZN8PositionC1Effb> - 801bc3e: 4620 mov r0, r4 - 801bc40: f107 0338 add.w r3, r7, #56 ; 0x38 - 801bc44: e893 0006 ldmia.w r3, {r1, r2} - 801bc48: f7fb fe58 bl 80178fc <_ZN8PositionaSES_> - 801bc4c: e01b b.n 801bc86 <_ZN7FeuCoteC1Eb8Positionibbf+0x236> - } - else if(this->bordureFeu == BORDURE_ADVERSAIRE) - 801bc4e: 68fb ldr r3, [r7, #12] - 801bc50: 6a1b ldr r3, [r3, #32] - 801bc52: 2b02 cmp r3, #2 - 801bc54: d117 bne.n 801bc86 <_ZN7FeuCoteC1Eb8Positionibbf+0x236> - { - this->positionLookAt = Position(3000, positionDepart.getY(), isBlue); - 801bc56: 68fb ldr r3, [r7, #12] - 801bc58: f103 0434 add.w r4, r3, #52 ; 0x34 - 801bc5c: 463b mov r3, r7 - 801bc5e: 4618 mov r0, r3 - 801bc60: f7fb fdd8 bl 8017814 <_ZNK8Position4getYEv> - 801bc64: 4602 mov r2, r0 - 801bc66: f107 0340 add.w r3, r7, #64 ; 0x40 - 801bc6a: f897 c00b ldrb.w ip, [r7, #11] - 801bc6e: 4618 mov r0, r3 - 801bc70: 490d ldr r1, [pc, #52] (801bca8 <_ZN7FeuCoteC1Eb8Positionibbf+0x258>) - 801bc72: 4663 mov r3, ip - 801bc74: f7fb fd9c bl 80177b0 <_ZN8PositionC1Effb> - 801bc78: 4620 mov r0, r4 - 801bc7a: f107 0340 add.w r3, r7, #64 ; 0x40 - 801bc7e: e893 0006 ldmia.w r3, {r1, r2} - 801bc82: f7fb fe3b bl 80178fc <_ZN8PositionaSES_> - } - - status = 0; - 801bc86: 68fa ldr r2, [r7, #12] - 801bc88: f04f 0300 mov.w r3, #0 ; 0x0 - 801bc8c: 60d3 str r3, [r2, #12] -} - 801bc8e: 68fb ldr r3, [r7, #12] - 801bc90: 4618 mov r0, r3 - 801bc92: f107 0748 add.w r7, r7, #72 ; 0x48 - 801bc96: 46bd mov sp, r7 - 801bc98: bdb0 pop {r4, r5, r7, pc} - 801bc9a: 46c0 nop (mov r8, r8) - 801bc9c: 00000000 .word 0x00000000 - 801bca0: 080340c0 .word 0x080340c0 - 801bca4: 42960000 .word 0x42960000 - 801bca8: 453b8000 .word 0x453b8000 - -0801bcac <_ZN7FeuCoteC2Eb8Positionibbf>: -#include -#endif - -FeuCote::FeuCote(){} - -FeuCote::FeuCote(bool isBlue, Position positionDepart, int bordureFeu, bool sensFeu, bool coteDuFeu, float precision) : MediumLevelAction() - 801bcac: b5b0 push {r4, r5, r7, lr} - 801bcae: b092 sub sp, #72 - 801bcb0: af00 add r7, sp, #0 - 801bcb2: 60f8 str r0, [r7, #12] - 801bcb4: 4608 mov r0, r1 - 801bcb6: 4639 mov r1, r7 - 801bcb8: e881 000c stmia.w r1, {r2, r3} - 801bcbc: 4603 mov r3, r0 - 801bcbe: 72fb strb r3, [r7, #11] - 801bcc0: 68fc ldr r4, [r7, #12] - 801bcc2: f107 0310 add.w r3, r7, #16 ; 0x10 - 801bcc6: 4618 mov r0, r3 - 801bcc8: 498b ldr r1, [pc, #556] (801bef8 <_ZN7FeuCoteC2Eb8Positionibbf+0x24c>) - 801bcca: 4a8b ldr r2, [pc, #556] (801bef8 <_ZN7FeuCoteC2Eb8Positionibbf+0x24c>) - 801bccc: f04f 0301 mov.w r3, #1 ; 0x1 - 801bcd0: f7fb fd6e bl 80177b0 <_ZN8PositionC1Effb> - 801bcd4: 4620 mov r0, r4 - 801bcd6: f107 0310 add.w r3, r7, #16 ; 0x10 - 801bcda: e893 0006 ldmia.w r3, {r1, r2} - 801bcde: f000 f9d7 bl 801c090 <_ZN17MediumLevelActionC2E8Position> - 801bce2: 68fa ldr r2, [r7, #12] - 801bce4: 4b85 ldr r3, [pc, #532] (801befc <_ZN7FeuCoteC2Eb8Positionibbf+0x250>) - 801bce6: 6013 str r3, [r2, #0] - 801bce8: 68fb ldr r3, [r7, #12] - 801bcea: f103 0318 add.w r3, r3, #24 ; 0x18 - 801bcee: 4618 mov r0, r3 - 801bcf0: f7fb fd24 bl 801773c <_ZN8PositionC1Ev> - 801bcf4: 68fb ldr r3, [r7, #12] - 801bcf6: f103 032c add.w r3, r3, #44 ; 0x2c - 801bcfa: 4618 mov r0, r3 - 801bcfc: f7fb fd1e bl 801773c <_ZN8PositionC1Ev> - 801bd00: 68fb ldr r3, [r7, #12] - 801bd02: f103 0334 add.w r3, r3, #52 ; 0x34 - 801bd06: 4618 mov r0, r3 - 801bd08: f7fb fd18 bl 801773c <_ZN8PositionC1Ev> -{ - this->isBlue = isBlue; - 801bd0c: 68fa ldr r2, [r7, #12] - 801bd0e: 7afb ldrb r3, [r7, #11] - 801bd10: f882 3025 strb.w r3, [r2, #37] - this->positionDepart = positionDepart; - 801bd14: 68fb ldr r3, [r7, #12] - 801bd16: f103 0318 add.w r3, r3, #24 ; 0x18 - 801bd1a: 4618 mov r0, r3 - 801bd1c: 463b mov r3, r7 - 801bd1e: e893 0006 ldmia.w r3, {r1, r2} - 801bd22: f7fb fdeb bl 80178fc <_ZN8PositionaSES_> - this->bordureFeu = bordureFeu; - 801bd26: 68fa ldr r2, [r7, #12] - 801bd28: 6dbb ldr r3, [r7, #88] - 801bd2a: 6213 str r3, [r2, #32] - this->sensFeu = sensFeu; - 801bd2c: 68fa ldr r2, [r7, #12] - 801bd2e: f897 305c ldrb.w r3, [r7, #92] - 801bd32: f882 3026 strb.w r3, [r2, #38] - this->coteDuFeu = coteDuFeu; - 801bd36: 68fa ldr r2, [r7, #12] - 801bd38: f897 3060 ldrb.w r3, [r7, #96] - 801bd3c: f882 3027 strb.w r3, [r2, #39] - this->precision = precision; - 801bd40: 68fa ldr r2, [r7, #12] - 801bd42: 6e7b ldr r3, [r7, #100] - 801bd44: 6293 str r3, [r2, #40] - - if(this->bordureFeu == NOTRE_BORDURE) - 801bd46: 68fb ldr r3, [r7, #12] - 801bd48: 6a1b ldr r3, [r3, #32] - 801bd4a: 2b00 cmp r3, #0 - 801bd4c: d123 bne.n 801bd96 <_ZN7FeuCoteC2Eb8Positionibbf+0xea> - { - this->positionColleBordure = Position(positionDepart.getX()-75, positionDepart.getY(), isBlue); - 801bd4e: 68fb ldr r3, [r7, #12] - 801bd50: f103 052c add.w r5, r3, #44 ; 0x2c - 801bd54: 463b mov r3, r7 - 801bd56: 4618 mov r0, r3 - 801bd58: f7fb fd50 bl 80177fc <_ZNK8Position4getXEv> - 801bd5c: 4603 mov r3, r0 - 801bd5e: 4618 mov r0, r3 - 801bd60: 4967 ldr r1, [pc, #412] (801bf00 <_ZN7FeuCoteC2Eb8Positionibbf+0x254>) - 801bd62: f011 f81f bl 802cda4 <__aeabi_fsub> - 801bd66: 4603 mov r3, r0 - 801bd68: 461c mov r4, r3 - 801bd6a: 463b mov r3, r7 - 801bd6c: 4618 mov r0, r3 - 801bd6e: f7fb fd51 bl 8017814 <_ZNK8Position4getYEv> - 801bd72: 4602 mov r2, r0 - 801bd74: f107 0318 add.w r3, r7, #24 ; 0x18 - 801bd78: f897 c00b ldrb.w ip, [r7, #11] - 801bd7c: 4618 mov r0, r3 - 801bd7e: 4621 mov r1, r4 - 801bd80: 4663 mov r3, ip - 801bd82: f7fb fd15 bl 80177b0 <_ZN8PositionC1Effb> - 801bd86: 4628 mov r0, r5 - 801bd88: f107 0318 add.w r3, r7, #24 ; 0x18 - 801bd8c: e893 0006 ldmia.w r3, {r1, r2} - 801bd90: f7fb fdb4 bl 80178fc <_ZN8PositionaSES_> - 801bd94: e04e b.n 801be34 <_ZN7FeuCoteC2Eb8Positionibbf+0x188> - } - else if(this->bordureFeu == BORDURE_MILIEU) - 801bd96: 68fb ldr r3, [r7, #12] - 801bd98: 6a1b ldr r3, [r3, #32] - 801bd9a: 2b01 cmp r3, #1 - 801bd9c: d123 bne.n 801bde6 <_ZN7FeuCoteC2Eb8Positionibbf+0x13a> - { - this->positionColleBordure = Position(positionDepart.getX(), positionDepart.getY()-75, isBlue); - 801bd9e: 68fb ldr r3, [r7, #12] - 801bda0: f103 042c add.w r4, r3, #44 ; 0x2c - 801bda4: 463b mov r3, r7 - 801bda6: 4618 mov r0, r3 - 801bda8: f7fb fd28 bl 80177fc <_ZNK8Position4getXEv> - 801bdac: 4605 mov r5, r0 - 801bdae: 463b mov r3, r7 - 801bdb0: 4618 mov r0, r3 - 801bdb2: f7fb fd2f bl 8017814 <_ZNK8Position4getYEv> - 801bdb6: 4603 mov r3, r0 - 801bdb8: 4618 mov r0, r3 - 801bdba: 4951 ldr r1, [pc, #324] (801bf00 <_ZN7FeuCoteC2Eb8Positionibbf+0x254>) - 801bdbc: f010 fff2 bl 802cda4 <__aeabi_fsub> - 801bdc0: 4603 mov r3, r0 - 801bdc2: 461a mov r2, r3 - 801bdc4: f107 0320 add.w r3, r7, #32 ; 0x20 - 801bdc8: f897 c00b ldrb.w ip, [r7, #11] - 801bdcc: 4618 mov r0, r3 - 801bdce: 4629 mov r1, r5 - 801bdd0: 4663 mov r3, ip - 801bdd2: f7fb fced bl 80177b0 <_ZN8PositionC1Effb> - 801bdd6: 4620 mov r0, r4 - 801bdd8: f107 0320 add.w r3, r7, #32 ; 0x20 - 801bddc: e893 0006 ldmia.w r3, {r1, r2} - 801bde0: f7fb fd8c bl 80178fc <_ZN8PositionaSES_> - 801bde4: e026 b.n 801be34 <_ZN7FeuCoteC2Eb8Positionibbf+0x188> - } - else if(this->bordureFeu == BORDURE_ADVERSAIRE) - 801bde6: 68fb ldr r3, [r7, #12] - 801bde8: 6a1b ldr r3, [r3, #32] - 801bdea: 2b02 cmp r3, #2 - 801bdec: d122 bne.n 801be34 <_ZN7FeuCoteC2Eb8Positionibbf+0x188> - { - this->positionColleBordure = Position(positionDepart.getX()+75, positionDepart.getY(), isBlue); - 801bdee: 68fb ldr r3, [r7, #12] - 801bdf0: f103 052c add.w r5, r3, #44 ; 0x2c - 801bdf4: 463b mov r3, r7 - 801bdf6: 4618 mov r0, r3 - 801bdf8: f7fb fd00 bl 80177fc <_ZNK8Position4getXEv> - 801bdfc: 4603 mov r3, r0 - 801bdfe: 4618 mov r0, r3 - 801be00: 493f ldr r1, [pc, #252] (801bf00 <_ZN7FeuCoteC2Eb8Positionibbf+0x254>) - 801be02: f010 ffd1 bl 802cda8 <__addsf3> - 801be06: 4603 mov r3, r0 - 801be08: 461c mov r4, r3 - 801be0a: 463b mov r3, r7 - 801be0c: 4618 mov r0, r3 - 801be0e: f7fb fd01 bl 8017814 <_ZNK8Position4getYEv> - 801be12: 4602 mov r2, r0 - 801be14: f107 0328 add.w r3, r7, #40 ; 0x28 - 801be18: f897 c00b ldrb.w ip, [r7, #11] - 801be1c: 4618 mov r0, r3 - 801be1e: 4621 mov r1, r4 - 801be20: 4663 mov r3, ip - 801be22: f7fb fcc5 bl 80177b0 <_ZN8PositionC1Effb> - 801be26: 4628 mov r0, r5 - 801be28: f107 0328 add.w r3, r7, #40 ; 0x28 - 801be2c: e893 0006 ldmia.w r3, {r1, r2} - 801be30: f7fb fd64 bl 80178fc <_ZN8PositionaSES_> - } - - if(this->bordureFeu == NOTRE_BORDURE) - 801be34: 68fb ldr r3, [r7, #12] - 801be36: 6a1b ldr r3, [r3, #32] - 801be38: 2b00 cmp r3, #0 - 801be3a: d118 bne.n 801be6e <_ZN7FeuCoteC2Eb8Positionibbf+0x1c2> - { - this->positionLookAt = Position(0, positionDepart.getY(), isBlue); - 801be3c: 68fb ldr r3, [r7, #12] - 801be3e: f103 0434 add.w r4, r3, #52 ; 0x34 - 801be42: 463b mov r3, r7 - 801be44: 4618 mov r0, r3 - 801be46: f7fb fce5 bl 8017814 <_ZNK8Position4getYEv> - 801be4a: 4602 mov r2, r0 - 801be4c: f107 0330 add.w r3, r7, #48 ; 0x30 - 801be50: f897 c00b ldrb.w ip, [r7, #11] - 801be54: 4618 mov r0, r3 - 801be56: 4928 ldr r1, [pc, #160] (801bef8 <_ZN7FeuCoteC2Eb8Positionibbf+0x24c>) - 801be58: 4663 mov r3, ip - 801be5a: f7fb fca9 bl 80177b0 <_ZN8PositionC1Effb> - 801be5e: 4620 mov r0, r4 - 801be60: f107 0330 add.w r3, r7, #48 ; 0x30 - 801be64: e893 0006 ldmia.w r3, {r1, r2} - 801be68: f7fb fd48 bl 80178fc <_ZN8PositionaSES_> - 801be6c: e039 b.n 801bee2 <_ZN7FeuCoteC2Eb8Positionibbf+0x236> - } - else if(this->bordureFeu == BORDURE_MILIEU) - 801be6e: 68fb ldr r3, [r7, #12] - 801be70: 6a1b ldr r3, [r3, #32] - 801be72: 2b01 cmp r3, #1 - 801be74: d119 bne.n 801beaa <_ZN7FeuCoteC2Eb8Positionibbf+0x1fe> - { - this->positionLookAt = Position(positionDepart.getX(), 0, isBlue); - 801be76: 68fb ldr r3, [r7, #12] - 801be78: f103 0434 add.w r4, r3, #52 ; 0x34 - 801be7c: 463b mov r3, r7 - 801be7e: 4618 mov r0, r3 - 801be80: f7fb fcbc bl 80177fc <_ZNK8Position4getXEv> - 801be84: 4602 mov r2, r0 - 801be86: f107 0338 add.w r3, r7, #56 ; 0x38 - 801be8a: f897 c00b ldrb.w ip, [r7, #11] - 801be8e: 4618 mov r0, r3 - 801be90: 4611 mov r1, r2 - 801be92: 4a19 ldr r2, [pc, #100] (801bef8 <_ZN7FeuCoteC2Eb8Positionibbf+0x24c>) - 801be94: 4663 mov r3, ip - 801be96: f7fb fc8b bl 80177b0 <_ZN8PositionC1Effb> - 801be9a: 4620 mov r0, r4 - 801be9c: f107 0338 add.w r3, r7, #56 ; 0x38 - 801bea0: e893 0006 ldmia.w r3, {r1, r2} - 801bea4: f7fb fd2a bl 80178fc <_ZN8PositionaSES_> - 801bea8: e01b b.n 801bee2 <_ZN7FeuCoteC2Eb8Positionibbf+0x236> - } - else if(this->bordureFeu == BORDURE_ADVERSAIRE) - 801beaa: 68fb ldr r3, [r7, #12] - 801beac: 6a1b ldr r3, [r3, #32] - 801beae: 2b02 cmp r3, #2 - 801beb0: d117 bne.n 801bee2 <_ZN7FeuCoteC2Eb8Positionibbf+0x236> - { - this->positionLookAt = Position(3000, positionDepart.getY(), isBlue); - 801beb2: 68fb ldr r3, [r7, #12] - 801beb4: f103 0434 add.w r4, r3, #52 ; 0x34 - 801beb8: 463b mov r3, r7 - 801beba: 4618 mov r0, r3 - 801bebc: f7fb fcaa bl 8017814 <_ZNK8Position4getYEv> - 801bec0: 4602 mov r2, r0 - 801bec2: f107 0340 add.w r3, r7, #64 ; 0x40 - 801bec6: f897 c00b ldrb.w ip, [r7, #11] - 801beca: 4618 mov r0, r3 - 801becc: 490d ldr r1, [pc, #52] (801bf04 <_ZN7FeuCoteC2Eb8Positionibbf+0x258>) - 801bece: 4663 mov r3, ip - 801bed0: f7fb fc6e bl 80177b0 <_ZN8PositionC1Effb> - 801bed4: 4620 mov r0, r4 - 801bed6: f107 0340 add.w r3, r7, #64 ; 0x40 - 801beda: e893 0006 ldmia.w r3, {r1, r2} - 801bede: f7fb fd0d bl 80178fc <_ZN8PositionaSES_> - } - - status = 0; - 801bee2: 68fa ldr r2, [r7, #12] - 801bee4: f04f 0300 mov.w r3, #0 ; 0x0 - 801bee8: 60d3 str r3, [r2, #12] -} - 801beea: 68fb ldr r3, [r7, #12] - 801beec: 4618 mov r0, r3 - 801beee: f107 0748 add.w r7, r7, #72 ; 0x48 - 801bef2: 46bd mov sp, r7 - 801bef4: bdb0 pop {r4, r5, r7, pc} - 801bef6: 46c0 nop (mov r8, r8) - 801bef8: 00000000 .word 0x00000000 - 801befc: 080340c0 .word 0x080340c0 - 801bf00: 42960000 .word 0x42960000 - 801bf04: 453b8000 .word 0x453b8000 - -0801bf08 <_ZN17MediumLevelAction15getGoalPositionEv>: -MediumLevelAction::~MediumLevelAction() -{ - //dtor -} - -Position MediumLevelAction::getGoalPosition() - 801bf08: b480 push {r7} - 801bf0a: b083 sub sp, #12 - 801bf0c: af00 add r7, sp, #0 - 801bf0e: 4684 mov ip, r0 - 801bf10: 6079 str r1, [r7, #4] -{ - return goalPosition; - 801bf12: 687b ldr r3, [r7, #4] - 801bf14: 4662 mov r2, ip - 801bf16: f103 0304 add.w r3, r3, #4 ; 0x4 - 801bf1a: e893 0003 ldmia.w r3, {r0, r1} - 801bf1e: e882 0003 stmia.w r2, {r0, r1} -} - 801bf22: 4660 mov r0, ip - 801bf24: f107 070c add.w r7, r7, #12 ; 0xc - 801bf28: 46bd mov sp, r7 - 801bf2a: bc80 pop {r7} - 801bf2c: 4770 bx lr - 801bf2e: 46c0 nop (mov r8, r8) - -0801bf30 <_ZN17MediumLevelAction9getGoBackEv>: - -bool MediumLevelAction::getGoBack() - 801bf30: b480 push {r7} - 801bf32: b083 sub sp, #12 - 801bf34: af00 add r7, sp, #0 - 801bf36: 6078 str r0, [r7, #4] -{ - return goBack; - 801bf38: 687b ldr r3, [r7, #4] - 801bf3a: 7c1b ldrb r3, [r3, #16] -} - 801bf3c: 4618 mov r0, r3 - 801bf3e: f107 070c add.w r7, r7, #12 ; 0xc - 801bf42: 46bd mov sp, r7 - 801bf44: bc80 pop {r7} - 801bf46: 4770 bx lr - -0801bf48 <_ZN17MediumLevelAction16collisionAvoidedEv>: - -void MediumLevelAction::collisionAvoided() - 801bf48: b480 push {r7} - 801bf4a: b083 sub sp, #12 - 801bf4c: af00 add r7, sp, #0 - 801bf4e: 6078 str r0, [r7, #4] -{ - status = 0; // reinitialize the status if function not overloaded - 801bf50: 687a ldr r2, [r7, #4] - 801bf52: f04f 0300 mov.w r3, #0 ; 0x0 - 801bf56: 60d3 str r3, [r2, #12] -} - 801bf58: f107 070c add.w r7, r7, #12 ; 0xc - 801bf5c: 46bd mov sp, r7 - 801bf5e: bc80 pop {r7} - 801bf60: 4770 bx lr - 801bf62: 46c0 nop (mov r8, r8) - -0801bf64 <_ZN17MediumLevelAction9setGoBackEb>: - -void MediumLevelAction::setGoBack(bool val) - 801bf64: b480 push {r7} - 801bf66: b083 sub sp, #12 - 801bf68: af00 add r7, sp, #0 - 801bf6a: 6078 str r0, [r7, #4] - 801bf6c: 460b mov r3, r1 - 801bf6e: 70fb strb r3, [r7, #3] -{ - goBack = val; - 801bf70: 687a ldr r2, [r7, #4] - 801bf72: 78fb ldrb r3, [r7, #3] - 801bf74: 7413 strb r3, [r2, #16] -} - 801bf76: f107 070c add.w r7, r7, #12 ; 0xc - 801bf7a: 46bd mov sp, r7 - 801bf7c: bc80 pop {r7} - 801bf7e: 4770 bx lr - -0801bf80 <_ZN17MediumLevelAction5resetEv>: - -void MediumLevelAction::reset() - 801bf80: b480 push {r7} - 801bf82: b083 sub sp, #12 - 801bf84: af00 add r7, sp, #0 - 801bf86: 6078 str r0, [r7, #4] -{ - -} - 801bf88: f107 070c add.w r7, r7, #12 ; 0xc - 801bf8c: 46bd mov sp, r7 - 801bf8e: bc80 pop {r7} - 801bf90: 4770 bx lr - 801bf92: 46c0 nop (mov r8, r8) - -0801bf94 <_ZN17MediumLevelAction10updateTimeEi>: -{ - -} -#endif - -void MediumLevelAction::updateTime(int millisecondesRestantes) - 801bf94: b480 push {r7} - 801bf96: b083 sub sp, #12 - 801bf98: af00 add r7, sp, #0 - 801bf9a: 6078 str r0, [r7, #4] - 801bf9c: 6039 str r1, [r7, #0] -{ - this->millisecondesRestantes = millisecondesRestantes; - 801bf9e: 687a ldr r2, [r7, #4] - 801bfa0: 683b ldr r3, [r7, #0] - 801bfa2: 6153 str r3, [r2, #20] -} - 801bfa4: f107 070c add.w r7, r7, #12 ; 0xc - 801bfa8: 46bd mov sp, r7 - 801bfaa: bc80 pop {r7} - 801bfac: 4770 bx lr - 801bfae: 46c0 nop (mov r8, r8) - -0801bfb0 <_ZN17MediumLevelActionD0Ev>: -{ - goalPosition = goalPos; //(StrategieV2::getIsBlue() ? goalPos : Position(3000,0)-goalPos); - status = 0; -} - -MediumLevelAction::~MediumLevelAction() - 801bfb0: b580 push {r7, lr} - 801bfb2: b082 sub sp, #8 - 801bfb4: af00 add r7, sp, #0 - 801bfb6: 6078 str r0, [r7, #4] - 801bfb8: 687a ldr r2, [r7, #4] - 801bfba: 4b08 ldr r3, [pc, #32] (801bfdc <_ZN17MediumLevelActionD0Ev+0x2c>) - 801bfbc: 6013 str r3, [r2, #0] -{ - //dtor -} - 801bfbe: f04f 0301 mov.w r3, #1 ; 0x1 - 801bfc2: b2db uxtb r3, r3 - 801bfc4: 2b00 cmp r3, #0 - 801bfc6: d002 beq.n 801bfce <_ZN17MediumLevelActionD0Ev+0x1e> - 801bfc8: 6878 ldr r0, [r7, #4] - 801bfca: f7fb fb1f bl 801760c <_ZdlPv> - 801bfce: 687b ldr r3, [r7, #4] - 801bfd0: 4618 mov r0, r3 - 801bfd2: f107 0708 add.w r7, r7, #8 ; 0x8 - 801bfd6: 46bd mov sp, r7 - 801bfd8: bd80 pop {r7, pc} - 801bfda: 46c0 nop (mov r8, r8) - 801bfdc: 080340e0 .word 0x080340e0 - -0801bfe0 <_ZN17MediumLevelActionD1Ev>: -{ - goalPosition = goalPos; //(StrategieV2::getIsBlue() ? goalPos : Position(3000,0)-goalPos); - status = 0; -} - -MediumLevelAction::~MediumLevelAction() - 801bfe0: b580 push {r7, lr} - 801bfe2: b082 sub sp, #8 - 801bfe4: af00 add r7, sp, #0 - 801bfe6: 6078 str r0, [r7, #4] - 801bfe8: 687a ldr r2, [r7, #4] - 801bfea: 4b08 ldr r3, [pc, #32] (801c00c <_ZN17MediumLevelActionD1Ev+0x2c>) - 801bfec: 6013 str r3, [r2, #0] -{ - //dtor -} - 801bfee: f04f 0300 mov.w r3, #0 ; 0x0 - 801bff2: b2db uxtb r3, r3 - 801bff4: 2b00 cmp r3, #0 - 801bff6: d002 beq.n 801bffe <_ZN17MediumLevelActionD1Ev+0x1e> - 801bff8: 6878 ldr r0, [r7, #4] - 801bffa: f7fb fb07 bl 801760c <_ZdlPv> - 801bffe: 687b ldr r3, [r7, #4] - 801c000: 4618 mov r0, r3 - 801c002: f107 0708 add.w r7, r7, #8 ; 0x8 - 801c006: 46bd mov sp, r7 - 801c008: bd80 pop {r7, pc} - 801c00a: 46c0 nop (mov r8, r8) - 801c00c: 080340e0 .word 0x080340e0 - -0801c010 <_ZN17MediumLevelActionD2Ev>: -{ - goalPosition = goalPos; //(StrategieV2::getIsBlue() ? goalPos : Position(3000,0)-goalPos); - status = 0; -} - -MediumLevelAction::~MediumLevelAction() - 801c010: b580 push {r7, lr} - 801c012: b082 sub sp, #8 - 801c014: af00 add r7, sp, #0 - 801c016: 6078 str r0, [r7, #4] - 801c018: 687a ldr r2, [r7, #4] - 801c01a: 4b08 ldr r3, [pc, #32] (801c03c <_ZN17MediumLevelActionD2Ev+0x2c>) - 801c01c: 6013 str r3, [r2, #0] -{ - //dtor -} - 801c01e: f04f 0300 mov.w r3, #0 ; 0x0 - 801c022: b2db uxtb r3, r3 - 801c024: 2b00 cmp r3, #0 - 801c026: d002 beq.n 801c02e <_ZN17MediumLevelActionD2Ev+0x1e> - 801c028: 6878 ldr r0, [r7, #4] - 801c02a: f7fb faef bl 801760c <_ZdlPv> - 801c02e: 687b ldr r3, [r7, #4] - 801c030: 4618 mov r0, r3 - 801c032: f107 0708 add.w r7, r7, #8 ; 0x8 - 801c036: 46bd mov sp, r7 - 801c038: bd80 pop {r7, pc} - 801c03a: 46c0 nop (mov r8, r8) - 801c03c: 080340e0 .word 0x080340e0 - -0801c040 <_ZN17MediumLevelActionC1E8Position>: -#include "mediumLevelAction.h" -#include "strategieV2.h" - -MediumLevelAction::MediumLevelAction(Position goalPos) - 801c040: b580 push {r7, lr} - 801c042: b084 sub sp, #16 - 801c044: af00 add r7, sp, #0 - 801c046: 60f8 str r0, [r7, #12] - 801c048: f107 0304 add.w r3, r7, #4 ; 0x4 - 801c04c: e883 0006 stmia.w r3, {r1, r2} - 801c050: 68fa ldr r2, [r7, #12] - 801c052: 4b0e ldr r3, [pc, #56] (801c08c <_ZN17MediumLevelActionC1E8Position+0x4c>) - 801c054: 6013 str r3, [r2, #0] - 801c056: 68fb ldr r3, [r7, #12] - 801c058: f103 0304 add.w r3, r3, #4 ; 0x4 - 801c05c: 4618 mov r0, r3 - 801c05e: f7fb fb6d bl 801773c <_ZN8PositionC1Ev> -{ - goalPosition = goalPos; //(StrategieV2::getIsBlue() ? goalPos : Position(3000,0)-goalPos); - 801c062: 68fb ldr r3, [r7, #12] - 801c064: f103 0304 add.w r3, r3, #4 ; 0x4 - 801c068: 4618 mov r0, r3 - 801c06a: f107 0304 add.w r3, r7, #4 ; 0x4 - 801c06e: e893 0006 ldmia.w r3, {r1, r2} - 801c072: f7fb fc43 bl 80178fc <_ZN8PositionaSES_> - status = 0; - 801c076: 68fa ldr r2, [r7, #12] - 801c078: f04f 0300 mov.w r3, #0 ; 0x0 - 801c07c: 60d3 str r3, [r2, #12] -} - 801c07e: 68fb ldr r3, [r7, #12] - 801c080: 4618 mov r0, r3 - 801c082: f107 0710 add.w r7, r7, #16 ; 0x10 - 801c086: 46bd mov sp, r7 - 801c088: bd80 pop {r7, pc} - 801c08a: 46c0 nop (mov r8, r8) - 801c08c: 080340e0 .word 0x080340e0 - -0801c090 <_ZN17MediumLevelActionC2E8Position>: -#include "mediumLevelAction.h" -#include "strategieV2.h" - -MediumLevelAction::MediumLevelAction(Position goalPos) - 801c090: b580 push {r7, lr} - 801c092: b084 sub sp, #16 - 801c094: af00 add r7, sp, #0 - 801c096: 60f8 str r0, [r7, #12] - 801c098: f107 0304 add.w r3, r7, #4 ; 0x4 - 801c09c: e883 0006 stmia.w r3, {r1, r2} - 801c0a0: 68fa ldr r2, [r7, #12] - 801c0a2: 4b0e ldr r3, [pc, #56] (801c0dc <_ZN17MediumLevelActionC2E8Position+0x4c>) - 801c0a4: 6013 str r3, [r2, #0] - 801c0a6: 68fb ldr r3, [r7, #12] - 801c0a8: f103 0304 add.w r3, r3, #4 ; 0x4 - 801c0ac: 4618 mov r0, r3 - 801c0ae: f7fb fb45 bl 801773c <_ZN8PositionC1Ev> -{ - goalPosition = goalPos; //(StrategieV2::getIsBlue() ? goalPos : Position(3000,0)-goalPos); - 801c0b2: 68fb ldr r3, [r7, #12] - 801c0b4: f103 0304 add.w r3, r3, #4 ; 0x4 - 801c0b8: 4618 mov r0, r3 - 801c0ba: f107 0304 add.w r3, r7, #4 ; 0x4 - 801c0be: e893 0006 ldmia.w r3, {r1, r2} - 801c0c2: f7fb fc1b bl 80178fc <_ZN8PositionaSES_> - status = 0; - 801c0c6: 68fa ldr r2, [r7, #12] - 801c0c8: f04f 0300 mov.w r3, #0 ; 0x0 - 801c0cc: 60d3 str r3, [r2, #12] -} - 801c0ce: 68fb ldr r3, [r7, #12] - 801c0d0: 4618 mov r0, r3 - 801c0d2: f107 0710 add.w r7, r7, #16 ; 0x10 - 801c0d6: 46bd mov sp, r7 - 801c0d8: bd80 pop {r7, pc} - 801c0da: 46c0 nop (mov r8, r8) - 801c0dc: 080340e0 .word 0x080340e0 - -0801c0e0 <_ZN15RamasserVerreV26updateEv>: -RamasserVerreV2::~RamasserVerreV2() -{ - //dtor -} - -int RamasserVerreV2::update() - 801c0e0: b590 push {r4, r7, lr} - 801c0e2: b08f sub sp, #60 - 801c0e4: af02 add r7, sp, #8 - 801c0e6: 60f8 str r0, [r7, #12] -{ - if (status == 0) // trying to go - 801c0e8: 68fb ldr r3, [r7, #12] - 801c0ea: 68db ldr r3, [r3, #12] - 801c0ec: 2b00 cmp r3, #0 - 801c0ee: d11e bne.n 801c12e <_ZN15RamasserVerreV26updateEv+0x4e> - { - StrategieV2::addTemporaryAction(new ActionGoTo(goalPosition, false, 10)); - 801c0f0: f04f 0030 mov.w r0, #48 ; 0x30 - 801c0f4: f7fb f9e4 bl 80174c0 <_Znwj> - 801c0f8: 4603 mov r3, r0 - 801c0fa: 607b str r3, [r7, #4] - 801c0fc: 687b ldr r3, [r7, #4] - 801c0fe: 2b00 cmp r3, #0 - 801c100: d00e beq.n 801c120 <_ZN15RamasserVerreV26updateEv+0x40> - 801c102: 68fa ldr r2, [r7, #12] - 801c104: 4b26 ldr r3, [pc, #152] (801c1a0 <_ZN15RamasserVerreV26updateEv+0xc0>) - 801c106: 9300 str r3, [sp, #0] - 801c108: 6878 ldr r0, [r7, #4] - 801c10a: f102 0304 add.w r3, r2, #4 ; 0x4 - 801c10e: e893 0006 ldmia.w r3, {r1, r2} - 801c112: f04f 0300 mov.w r3, #0 ; 0x0 - 801c116: f7fc f883 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801c11a: 687b ldr r3, [r7, #4] - 801c11c: 60bb str r3, [r7, #8] - 801c11e: e001 b.n 801c124 <_ZN15RamasserVerreV26updateEv+0x44> - 801c120: 687b ldr r3, [r7, #4] - 801c122: 60bb str r3, [r7, #8] - 801c124: 68bb ldr r3, [r7, #8] - 801c126: 4618 mov r0, r3 - 801c128: f003 fae6 bl 801f6f8 <_ZN11StrategieV218addTemporaryActionEP17MediumLevelAction> - 801c12c: e033 b.n 801c196 <_ZN15RamasserVerreV26updateEv+0xb6> - } - else if (status == 1) - 801c12e: 68fb ldr r3, [r7, #12] - 801c130: 68db ldr r3, [r3, #12] - 801c132: 2b01 cmp r3, #1 - 801c134: d12f bne.n 801c196 <_ZN15RamasserVerreV26updateEv+0xb6> - { - Position vect = goalPosition - Odometrie::odometrie->getPos().getPosition(); - 801c136: 68fb ldr r3, [r7, #12] - 801c138: f103 0404 add.w r4, r3, #4 ; 0x4 - 801c13c: 4b19 ldr r3, [pc, #100] (801c1a4 <_ZN15RamasserVerreV26updateEv+0xc4>) - 801c13e: 681a ldr r2, [r3, #0] - 801c140: f107 0320 add.w r3, r7, #32 ; 0x20 - 801c144: 4618 mov r0, r3 - 801c146: 4611 mov r1, r2 - 801c148: f7f6 fd2a bl 8012ba0 <_ZNK9Odometrie6getPosEv> - 801c14c: f107 0318 add.w r3, r7, #24 ; 0x18 - 801c150: f107 0220 add.w r2, r7, #32 ; 0x20 - 801c154: 4618 mov r0, r3 - 801c156: 4611 mov r1, r2 - 801c158: f7fb fd78 bl 8017c4c <_ZNK17PositionPlusAngle11getPositionEv> - 801c15c: f107 0310 add.w r3, r7, #16 ; 0x10 - 801c160: f107 0218 add.w r2, r7, #24 ; 0x18 - 801c164: 4618 mov r0, r3 - 801c166: 4621 mov r1, r4 - 801c168: f7fb fba2 bl 80178b0 <_ZNK8PositionmiERKS_> - float distance = vect.getNorme(); - 801c16c: f107 0310 add.w r3, r7, #16 ; 0x10 - 801c170: 4618 mov r0, r3 - 801c172: f7fb fcab bl 8017acc <_ZNK8Position8getNormeEv> - 801c176: 4603 mov r3, r0 - 801c178: 62fb str r3, [r7, #44] - if (distance < 20.0) - 801c17a: 6af8 ldr r0, [r7, #44] - 801c17c: 490a ldr r1, [pc, #40] (801c1a8 <_ZN15RamasserVerreV26updateEv+0xc8>) - 801c17e: f011 f8b7 bl 802d2f0 <__aeabi_fcmplt> - 801c182: 4603 mov r3, r0 - 801c184: 2b00 cmp r3, #0 - 801c186: d006 beq.n 801c196 <_ZN15RamasserVerreV26updateEv+0xb6> - { - StrategieV2::gatherGlass(); - 801c188: f003 fafe bl 801f788 <_ZN11StrategieV211gatherGlassEv> - return -1; - 801c18c: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 801c190: 603b str r3, [r7, #0] - } - } -} - 801c192: 6838 ldr r0, [r7, #0] - 801c194: e7ff b.n 801c196 <_ZN15RamasserVerreV26updateEv+0xb6> - 801c196: f107 0734 add.w r7, r7, #52 ; 0x34 - 801c19a: 46bd mov sp, r7 - 801c19c: bd90 pop {r4, r7, pc} - 801c19e: 46c0 nop (mov r8, r8) - 801c1a0: 41200000 .word 0x41200000 - 801c1a4: 20000590 .word 0x20000590 - 801c1a8: 41a00000 .word 0x41a00000 - -0801c1ac <_ZN15RamasserVerreV2D0Ev>: -RamasserVerreV2::RamasserVerreV2(Position goalPos) : MediumLevelAction(goalPos) -{ - -} - -RamasserVerreV2::~RamasserVerreV2() - 801c1ac: b580 push {r7, lr} - 801c1ae: b082 sub sp, #8 - 801c1b0: af00 add r7, sp, #0 - 801c1b2: 6078 str r0, [r7, #4] - 801c1b4: 687a ldr r2, [r7, #4] - 801c1b6: 4b0a ldr r3, [pc, #40] (801c1e0 <_ZN15RamasserVerreV2D0Ev+0x34>) - 801c1b8: 6013 str r3, [r2, #0] -{ - //dtor -} - 801c1ba: 687b ldr r3, [r7, #4] - 801c1bc: 4618 mov r0, r3 - 801c1be: f7ff ff27 bl 801c010 <_ZN17MediumLevelActionD2Ev> - 801c1c2: f04f 0301 mov.w r3, #1 ; 0x1 - 801c1c6: b2db uxtb r3, r3 - 801c1c8: 2b00 cmp r3, #0 - 801c1ca: d002 beq.n 801c1d2 <_ZN15RamasserVerreV2D0Ev+0x26> - 801c1cc: 6878 ldr r0, [r7, #4] - 801c1ce: f7fb fa1d bl 801760c <_ZdlPv> - 801c1d2: 687b ldr r3, [r7, #4] - 801c1d4: 4618 mov r0, r3 - 801c1d6: f107 0708 add.w r7, r7, #8 ; 0x8 - 801c1da: 46bd mov sp, r7 - 801c1dc: bd80 pop {r7, pc} - 801c1de: 46c0 nop (mov r8, r8) - 801c1e0: 08034100 .word 0x08034100 - -0801c1e4 <_ZN15RamasserVerreV2D1Ev>: -RamasserVerreV2::RamasserVerreV2(Position goalPos) : MediumLevelAction(goalPos) -{ - -} - -RamasserVerreV2::~RamasserVerreV2() - 801c1e4: b580 push {r7, lr} - 801c1e6: b082 sub sp, #8 - 801c1e8: af00 add r7, sp, #0 - 801c1ea: 6078 str r0, [r7, #4] - 801c1ec: 687a ldr r2, [r7, #4] - 801c1ee: 4b0a ldr r3, [pc, #40] (801c218 <_ZN15RamasserVerreV2D1Ev+0x34>) - 801c1f0: 6013 str r3, [r2, #0] -{ - //dtor -} - 801c1f2: 687b ldr r3, [r7, #4] - 801c1f4: 4618 mov r0, r3 - 801c1f6: f7ff ff0b bl 801c010 <_ZN17MediumLevelActionD2Ev> - 801c1fa: f04f 0300 mov.w r3, #0 ; 0x0 - 801c1fe: b2db uxtb r3, r3 - 801c200: 2b00 cmp r3, #0 - 801c202: d002 beq.n 801c20a <_ZN15RamasserVerreV2D1Ev+0x26> - 801c204: 6878 ldr r0, [r7, #4] - 801c206: f7fb fa01 bl 801760c <_ZdlPv> - 801c20a: 687b ldr r3, [r7, #4] - 801c20c: 4618 mov r0, r3 - 801c20e: f107 0708 add.w r7, r7, #8 ; 0x8 - 801c212: 46bd mov sp, r7 - 801c214: bd80 pop {r7, pc} - 801c216: 46c0 nop (mov r8, r8) - 801c218: 08034100 .word 0x08034100 - -0801c21c <_ZN15RamasserVerreV2D2Ev>: -RamasserVerreV2::RamasserVerreV2(Position goalPos) : MediumLevelAction(goalPos) -{ - -} - -RamasserVerreV2::~RamasserVerreV2() - 801c21c: b580 push {r7, lr} - 801c21e: b082 sub sp, #8 - 801c220: af00 add r7, sp, #0 - 801c222: 6078 str r0, [r7, #4] - 801c224: 687a ldr r2, [r7, #4] - 801c226: 4b0a ldr r3, [pc, #40] (801c250 <_ZN15RamasserVerreV2D2Ev+0x34>) - 801c228: 6013 str r3, [r2, #0] -{ - //dtor -} - 801c22a: 687b ldr r3, [r7, #4] - 801c22c: 4618 mov r0, r3 - 801c22e: f7ff feef bl 801c010 <_ZN17MediumLevelActionD2Ev> - 801c232: f04f 0300 mov.w r3, #0 ; 0x0 - 801c236: b2db uxtb r3, r3 - 801c238: 2b00 cmp r3, #0 - 801c23a: d002 beq.n 801c242 <_ZN15RamasserVerreV2D2Ev+0x26> - 801c23c: 6878 ldr r0, [r7, #4] - 801c23e: f7fb f9e5 bl 801760c <_ZdlPv> - 801c242: 687b ldr r3, [r7, #4] - 801c244: 4618 mov r0, r3 - 801c246: f107 0708 add.w r7, r7, #8 ; 0x8 - 801c24a: 46bd mov sp, r7 - 801c24c: bd80 pop {r7, pc} - 801c24e: 46c0 nop (mov r8, r8) - 801c250: 08034100 .word 0x08034100 - -0801c254 <_ZN15RamasserVerreV2C1E8Position>: -#include "position.h" -#include "odometrie.h" -#include "strategieV2.h" -#include "actionGoTo.h" - -RamasserVerreV2::RamasserVerreV2(Position goalPos) : MediumLevelAction(goalPos) - 801c254: b580 push {r7, lr} - 801c256: b084 sub sp, #16 - 801c258: af00 add r7, sp, #0 - 801c25a: 60f8 str r0, [r7, #12] - 801c25c: f107 0304 add.w r3, r7, #4 ; 0x4 - 801c260: e883 0006 stmia.w r3, {r1, r2} - 801c264: 68fb ldr r3, [r7, #12] - 801c266: 4618 mov r0, r3 - 801c268: f107 0304 add.w r3, r7, #4 ; 0x4 - 801c26c: e893 0006 ldmia.w r3, {r1, r2} - 801c270: f7ff ff0e bl 801c090 <_ZN17MediumLevelActionC2E8Position> - 801c274: 68fa ldr r2, [r7, #12] - 801c276: 4b04 ldr r3, [pc, #16] (801c288 <_ZN15RamasserVerreV2C1E8Position+0x34>) - 801c278: 6013 str r3, [r2, #0] -{ - -} - 801c27a: 68fb ldr r3, [r7, #12] - 801c27c: 4618 mov r0, r3 - 801c27e: f107 0710 add.w r7, r7, #16 ; 0x10 - 801c282: 46bd mov sp, r7 - 801c284: bd80 pop {r7, pc} - 801c286: 46c0 nop (mov r8, r8) - 801c288: 08034100 .word 0x08034100 - -0801c28c <_ZN15RamasserVerreV2C2E8Position>: -#include "position.h" -#include "odometrie.h" -#include "strategieV2.h" -#include "actionGoTo.h" - -RamasserVerreV2::RamasserVerreV2(Position goalPos) : MediumLevelAction(goalPos) - 801c28c: b580 push {r7, lr} - 801c28e: b084 sub sp, #16 - 801c290: af00 add r7, sp, #0 - 801c292: 60f8 str r0, [r7, #12] - 801c294: f107 0304 add.w r3, r7, #4 ; 0x4 - 801c298: e883 0006 stmia.w r3, {r1, r2} - 801c29c: 68fb ldr r3, [r7, #12] - 801c29e: 4618 mov r0, r3 - 801c2a0: f107 0304 add.w r3, r7, #4 ; 0x4 - 801c2a4: e893 0006 ldmia.w r3, {r1, r2} - 801c2a8: f7ff fef2 bl 801c090 <_ZN17MediumLevelActionC2E8Position> - 801c2ac: 68fa ldr r2, [r7, #12] - 801c2ae: 4b04 ldr r3, [pc, #16] (801c2c0 <_ZN15RamasserVerreV2C2E8Position+0x34>) - 801c2b0: 6013 str r3, [r2, #0] -{ - -} - 801c2b2: 68fb ldr r3, [r7, #12] - 801c2b4: 4618 mov r0, r3 - 801c2b6: f107 0710 add.w r7, r7, #16 ; 0x10 - 801c2ba: 46bd mov sp, r7 - 801c2bc: bd80 pop {r7, pc} - 801c2be: 46c0 nop (mov r8, r8) - 801c2c0: 08034100 .word 0x08034100 - -0801c2c4 <_ZN14RamasserVerres10othersTurnEv>: - } - - return status; -} - -void RamasserVerres::othersTurn() - 801c2c4: b480 push {r7} - 801c2c6: b083 sub sp, #12 - 801c2c8: af00 add r7, sp, #0 - 801c2ca: 6078 str r0, [r7, #4] -{ - myTurn = false; - 801c2cc: 687a ldr r2, [r7, #4] - 801c2ce: f04f 0300 mov.w r3, #0 ; 0x0 - 801c2d2: f882 3818 strb.w r3, [r2, #2072] - status = 1; // on revient au choix des actions - 801c2d6: 687a ldr r2, [r7, #4] - 801c2d8: f04f 0301 mov.w r3, #1 ; 0x1 - 801c2dc: 60d3 str r3, [r2, #12] -} - 801c2de: f107 070c add.w r7, r7, #12 ; 0xc - 801c2e2: 46bd mov sp, r7 - 801c2e4: bc80 pop {r7} - 801c2e6: 4770 bx lr - -0801c2e8 <_ZN14RamasserVerres6updateEv>: -RamasserVerres::~RamasserVerres() -{ - //dtor -} - -int RamasserVerres::update() - 801c2e8: b580 push {r7, lr} - 801c2ea: b082 sub sp, #8 - 801c2ec: af00 add r7, sp, #0 - 801c2ee: 6078 str r0, [r7, #4] -{ - if (status == 0) - 801c2f0: 687b ldr r3, [r7, #4] - 801c2f2: 68db ldr r3, [r3, #12] - 801c2f4: 2b00 cmp r3, #0 - 801c2f6: d103 bne.n 801c300 <_ZN14RamasserVerres6updateEv+0x18> - status = 1; - 801c2f8: 687a ldr r2, [r7, #4] - 801c2fa: f04f 0301 mov.w r3, #1 ; 0x1 - 801c2fe: 60d3 str r3, [r2, #12] - if (status == 1) // commencer une action - 801c300: 687b ldr r3, [r7, #4] - 801c302: 68db ldr r3, [r3, #12] - 801c304: 2b01 cmp r3, #1 - 801c306: d163 bne.n 801c3d0 <_ZN14RamasserVerres6updateEv+0xe8> - { - ligneEnCours ++; //= ligneAFaire - 801c308: 687b ldr r3, [r7, #4] - 801c30a: f8d3 3804 ldr.w r3, [r3, #2052] - 801c30e: f103 0201 add.w r2, r3, #1 ; 0x1 - 801c312: 687b ldr r3, [r7, #4] - 801c314: f8c3 2804 str.w r2, [r3, #2052] - ligneAFaire = i; - } - }*/ - // une ligne non entierement faite est détectée - - if (ligneEnCours >= 0 && ligneEnCours < 3) // if (ligneAFaire >= 0 && ligneAFaire <=5) - 801c318: 687b ldr r3, [r7, #4] - 801c31a: f8d3 3804 ldr.w r3, [r3, #2052] - 801c31e: 2b00 cmp r3, #0 - 801c320: db4e blt.n 801c3c0 <_ZN14RamasserVerres6updateEv+0xd8> - 801c322: 687b ldr r3, [r7, #4] - 801c324: f8d3 3804 ldr.w r3, [r3, #2052] - 801c328: 2b02 cmp r3, #2 - 801c32a: dc49 bgt.n 801c3c0 <_ZN14RamasserVerres6updateEv+0xd8> - // reste-il la demi-ligne la plus lointaine ? - //ramasserTouteLaLigne = (! demiLignesRamassees[ligneEnCours][1]); - //if (ramasserTouteLaLigne) - // nextPosition = 2; - //else - if (ligneEnCours == 0) - 801c32c: 687b ldr r3, [r7, #4] - 801c32e: f8d3 3804 ldr.w r3, [r3, #2052] - 801c332: 2b00 cmp r3, #0 - 801c334: d105 bne.n 801c342 <_ZN14RamasserVerres6updateEv+0x5a> - nextPosition = 1; - 801c336: 687a ldr r2, [r7, #4] - 801c338: f04f 0301 mov.w r3, #1 ; 0x1 - 801c33c: f8c2 380c str.w r3, [r2, #2060] - 801c340: e004 b.n 801c34c <_ZN14RamasserVerres6updateEv+0x64> - else - nextPosition = 1; - 801c342: 687a ldr r2, [r7, #4] - 801c344: f04f 0301 mov.w r3, #1 ; 0x1 - 801c348: f8c2 380c str.w r3, [r2, #2060] - if ((nextPosition == 0 && myTurn) || nextPosition == 1 && myTurn) // si on doit aller se positionner, et qu'on vient de finir la ligne précédente - 801c34c: 687b ldr r3, [r7, #4] - 801c34e: f8d3 380c ldr.w r3, [r3, #2060] - 801c352: 2b00 cmp r3, #0 - 801c354: d104 bne.n 801c360 <_ZN14RamasserVerres6updateEv+0x78> - 801c356: 687b ldr r3, [r7, #4] - 801c358: f893 3818 ldrb.w r3, [r3, #2072] - 801c35c: 2b00 cmp r3, #0 - 801c35e: d109 bne.n 801c374 <_ZN14RamasserVerres6updateEv+0x8c> - 801c360: 687b ldr r3, [r7, #4] - 801c362: f8d3 380c ldr.w r3, [r3, #2060] - 801c366: 2b01 cmp r3, #1 - 801c368: d125 bne.n 801c3b6 <_ZN14RamasserVerres6updateEv+0xce> - 801c36a: 687b ldr r3, [r7, #4] - 801c36c: f893 3818 ldrb.w r3, [r3, #2072] - 801c370: 2b00 cmp r3, #0 - 801c372: d020 beq.n 801c3b6 <_ZN14RamasserVerres6updateEv+0xce> - { - positionsToGo[ligneEnCours][nextPosition].setGoBack(true); // on continue à reculer. - 801c374: 687b ldr r3, [r7, #4] - 801c376: f8d3 2804 ldr.w r2, [r3, #2052] - 801c37a: 687b ldr r3, [r7, #4] - 801c37c: f8d3 380c ldr.w r3, [r3, #2060] - 801c380: ea4f 1303 mov.w r3, r3, lsl #4 - 801c384: ea4f 0183 mov.w r1, r3, lsl #2 - 801c388: ebc3 0101 rsb r1, r3, r1 - 801c38c: 4613 mov r3, r2 - 801c38e: ea4f 1303 mov.w r3, r3, lsl #4 - 801c392: ea4f 0283 mov.w r2, r3, lsl #2 - 801c396: ebc3 0202 rsb r2, r3, r2 - 801c39a: ea4f 03c2 mov.w r3, r2, lsl #3 - 801c39e: ebc2 0303 rsb r3, r2, r3 - 801c3a2: 440b add r3, r1 - 801c3a4: f103 0218 add.w r2, r3, #24 ; 0x18 - 801c3a8: 687b ldr r3, [r7, #4] - 801c3aa: 4413 add r3, r2 - 801c3ac: 4618 mov r0, r3 - 801c3ae: f04f 0101 mov.w r1, #1 ; 0x1 - 801c3b2: f7ff fdd7 bl 801bf64 <_ZN17MediumLevelAction9setGoBackEb> - } - status = 2; // on passe a l'action - 801c3b6: 687a ldr r2, [r7, #4] - 801c3b8: f04f 0302 mov.w r3, #2 ; 0x2 - 801c3bc: 60d3 str r3, [r2, #12] - 801c3be: e066 b.n 801c48e <_ZN14RamasserVerres6updateEv+0x1a6> - } - else - { - status = -1; // on a tout fini - 801c3c0: 687b ldr r3, [r7, #4] - 801c3c2: f04f 32ff mov.w r2, #4294967295 ; 0xffffffff - 801c3c6: 60da str r2, [r3, #12] - return status; - 801c3c8: 687b ldr r3, [r7, #4] - 801c3ca: 68db ldr r3, [r3, #12] - 801c3cc: 603b str r3, [r7, #0] - 801c3ce: e061 b.n 801c494 <_ZN14RamasserVerres6updateEv+0x1ac> - } - } - else if (status == 2) // suivre les positions - 801c3d0: 687b ldr r3, [r7, #4] - 801c3d2: 68db ldr r3, [r3, #12] - 801c3d4: 2b02 cmp r3, #2 - 801c3d6: d15a bne.n 801c48e <_ZN14RamasserVerres6updateEv+0x1a6> - { -// allumerLED2(); - if (nextPosition >= 6) // fini - 801c3d8: 687b ldr r3, [r7, #4] - 801c3da: f8d3 380c ldr.w r3, [r3, #2060] - 801c3de: 2b05 cmp r3, #5 - 801c3e0: dd2e ble.n 801c440 <_ZN14RamasserVerres6updateEv+0x158> - { - myTurn = true; // on vient de finir notre action - 801c3e2: 687a ldr r2, [r7, #4] - 801c3e4: f04f 0301 mov.w r3, #1 ; 0x1 - 801c3e8: f882 3818 strb.w r3, [r2, #2072] - // enregistrer les actions faites - if (ramasserTouteLaLigne) - 801c3ec: 687b ldr r3, [r7, #4] - 801c3ee: f893 3808 ldrb.w r3, [r3, #2056] - 801c3f2: 2b00 cmp r3, #0 - 801c3f4: d015 beq.n 801c422 <_ZN14RamasserVerres6updateEv+0x13a> - { - demiLignesRamassees[ligneEnCours][0] = true; - 801c3f6: 687b ldr r3, [r7, #4] - 801c3f8: f8d3 3804 ldr.w r3, [r3, #2052] - 801c3fc: 6879 ldr r1, [r7, #4] - 801c3fe: f503 727f add.w r2, r3, #1020 ; 0x3fc - 801c402: f04f 0301 mov.w r3, #1 ; 0x1 - 801c406: f801 3012 strb.w r3, [r1, r2, lsl #1] - demiLignesRamassees[ligneEnCours][1] = true; - 801c40a: 687b ldr r3, [r7, #4] - 801c40c: f8d3 3804 ldr.w r3, [r3, #2052] - 801c410: 687a ldr r2, [r7, #4] - 801c412: ea4f 0343 mov.w r3, r3, lsl #1 - 801c416: 4413 add r3, r2 - 801c418: f04f 0201 mov.w r2, #1 ; 0x1 - 801c41c: f883 27f9 strb.w r2, [r3, #2041] - 801c420: e009 b.n 801c436 <_ZN14RamasserVerres6updateEv+0x14e> - } - else - { - demiLignesRamassees[ligneEnCours][0] = true; - 801c422: 687b ldr r3, [r7, #4] - 801c424: f8d3 3804 ldr.w r3, [r3, #2052] - 801c428: 6879 ldr r1, [r7, #4] - 801c42a: f503 727f add.w r2, r3, #1020 ; 0x3fc - 801c42e: f04f 0301 mov.w r3, #1 ; 0x1 - 801c432: f801 3012 strb.w r3, [r1, r2, lsl #1] - } - status = 1; // passer a l'action suivante - 801c436: 687a ldr r2, [r7, #4] - 801c438: f04f 0301 mov.w r3, #1 ; 0x1 - 801c43c: 60d3 str r3, [r2, #12] - 801c43e: e026 b.n 801c48e <_ZN14RamasserVerres6updateEv+0x1a6> - StrategieV2::sharpsToCheck[SharpSensor::NONE] = true; - StrategieV2::sharpsToCheck[SharpSensor::FRONT_LEFT] = true; - //StrategieV2::sharpsToCheck[SharpSensor::FRONT_RIGHT] = true; - StrategieV2::sharpsToCheck[SharpSensor::FRONT_SIDE_LEFT] = true; - StrategieV2::sharpsToCheck[SharpSensor::FRONT_SIDE_RIGHT] = true;*/ - nextPosition++; - 801c440: 687b ldr r3, [r7, #4] - 801c442: f8d3 380c ldr.w r3, [r3, #2060] - 801c446: f103 0201 add.w r2, r3, #1 ; 0x1 - 801c44a: 687b ldr r3, [r7, #4] - 801c44c: f8c3 280c str.w r2, [r3, #2060] - StrategieV2::addTemporaryAction(&positionsToGo[ligneEnCours][nextPosition]); - 801c450: 687b ldr r3, [r7, #4] - 801c452: f8d3 2804 ldr.w r2, [r3, #2052] - 801c456: 687b ldr r3, [r7, #4] - 801c458: f8d3 380c ldr.w r3, [r3, #2060] - 801c45c: ea4f 1303 mov.w r3, r3, lsl #4 - 801c460: ea4f 0183 mov.w r1, r3, lsl #2 - 801c464: ebc3 0101 rsb r1, r3, r1 - 801c468: 4613 mov r3, r2 - 801c46a: ea4f 1303 mov.w r3, r3, lsl #4 - 801c46e: ea4f 0283 mov.w r2, r3, lsl #2 - 801c472: ebc3 0202 rsb r2, r3, r2 - 801c476: ea4f 03c2 mov.w r3, r2, lsl #3 - 801c47a: ebc2 0303 rsb r3, r2, r3 - 801c47e: 440b add r3, r1 - 801c480: f103 0218 add.w r2, r3, #24 ; 0x18 - 801c484: 687b ldr r3, [r7, #4] - 801c486: 4413 add r3, r2 - 801c488: 4618 mov r0, r3 - 801c48a: f003 f935 bl 801f6f8 <_ZN11StrategieV218addTemporaryActionEP17MediumLevelAction> - if (status == 900) - { - - } - - return status; - 801c48e: 687b ldr r3, [r7, #4] - 801c490: 68db ldr r3, [r3, #12] - 801c492: 603b str r3, [r7, #0] - 801c494: 683b ldr r3, [r7, #0] -} - 801c496: 4618 mov r0, r3 - 801c498: f107 0708 add.w r7, r7, #8 ; 0x8 - 801c49c: 46bd mov sp, r7 - 801c49e: bd80 pop {r7, pc} - -0801c4a0 <_ZN14RamasserVerresD0Ev>: - myTurn = false; - nextPosition = 0; - ligneEnCours = -1; -} - -RamasserVerres::~RamasserVerres() - 801c4a0: b580 push {r7, lr} - 801c4a2: b082 sub sp, #8 - 801c4a4: af00 add r7, sp, #0 - 801c4a6: 6078 str r0, [r7, #4] - 801c4a8: 687a ldr r2, [r7, #4] - 801c4aa: 4b17 ldr r3, [pc, #92] (801c508 <_ZN14RamasserVerresD0Ev+0x68>) - 801c4ac: 6013 str r3, [r2, #0] -{ - //dtor -} - 801c4ae: 687b ldr r3, [r7, #4] - 801c4b0: f103 0318 add.w r3, r3, #24 ; 0x18 - 801c4b4: 2b00 cmp r3, #0 - 801c4b6: d015 beq.n 801c4e4 <_ZN14RamasserVerresD0Ev+0x44> - 801c4b8: 687b ldr r3, [r7, #4] - 801c4ba: f103 0318 add.w r3, r3, #24 ; 0x18 - 801c4be: f503 63fc add.w r3, r3, #2016 ; 0x7e0 - 801c4c2: 603b str r3, [r7, #0] - 801c4c4: 687b ldr r3, [r7, #4] - 801c4c6: f103 0318 add.w r3, r3, #24 ; 0x18 - 801c4ca: 683a ldr r2, [r7, #0] - 801c4cc: 429a cmp r2, r3 - 801c4ce: d009 beq.n 801c4e4 <_ZN14RamasserVerresD0Ev+0x44> - 801c4d0: 683b ldr r3, [r7, #0] - 801c4d2: f1a3 0330 sub.w r3, r3, #48 ; 0x30 - 801c4d6: 603b str r3, [r7, #0] - 801c4d8: 683a ldr r2, [r7, #0] - 801c4da: 6813 ldr r3, [r2, #0] - 801c4dc: 681b ldr r3, [r3, #0] - 801c4de: 6838 ldr r0, [r7, #0] - 801c4e0: 4798 blx r3 - 801c4e2: e7ef b.n 801c4c4 <_ZN14RamasserVerresD0Ev+0x24> - 801c4e4: 687b ldr r3, [r7, #4] - 801c4e6: 4618 mov r0, r3 - 801c4e8: f7ff fd92 bl 801c010 <_ZN17MediumLevelActionD2Ev> - 801c4ec: f04f 0301 mov.w r3, #1 ; 0x1 - 801c4f0: b2db uxtb r3, r3 - 801c4f2: 2b00 cmp r3, #0 - 801c4f4: d002 beq.n 801c4fc <_ZN14RamasserVerresD0Ev+0x5c> - 801c4f6: 6878 ldr r0, [r7, #4] - 801c4f8: f7fb f888 bl 801760c <_ZdlPv> - 801c4fc: 687b ldr r3, [r7, #4] - 801c4fe: 4618 mov r0, r3 - 801c500: f107 0708 add.w r7, r7, #8 ; 0x8 - 801c504: 46bd mov sp, r7 - 801c506: bd80 pop {r7, pc} - 801c508: 08034120 .word 0x08034120 - -0801c50c <_ZN14RamasserVerresD1Ev>: - myTurn = false; - nextPosition = 0; - ligneEnCours = -1; -} - -RamasserVerres::~RamasserVerres() - 801c50c: b580 push {r7, lr} - 801c50e: b082 sub sp, #8 - 801c510: af00 add r7, sp, #0 - 801c512: 6078 str r0, [r7, #4] - 801c514: 687a ldr r2, [r7, #4] - 801c516: 4b17 ldr r3, [pc, #92] (801c574 <_ZN14RamasserVerresD1Ev+0x68>) - 801c518: 6013 str r3, [r2, #0] -{ - //dtor -} - 801c51a: 687b ldr r3, [r7, #4] - 801c51c: f103 0318 add.w r3, r3, #24 ; 0x18 - 801c520: 2b00 cmp r3, #0 - 801c522: d015 beq.n 801c550 <_ZN14RamasserVerresD1Ev+0x44> - 801c524: 687b ldr r3, [r7, #4] - 801c526: f103 0318 add.w r3, r3, #24 ; 0x18 - 801c52a: f503 63fc add.w r3, r3, #2016 ; 0x7e0 - 801c52e: 603b str r3, [r7, #0] - 801c530: 687b ldr r3, [r7, #4] - 801c532: f103 0318 add.w r3, r3, #24 ; 0x18 - 801c536: 683a ldr r2, [r7, #0] - 801c538: 429a cmp r2, r3 - 801c53a: d009 beq.n 801c550 <_ZN14RamasserVerresD1Ev+0x44> - 801c53c: 683b ldr r3, [r7, #0] - 801c53e: f1a3 0330 sub.w r3, r3, #48 ; 0x30 - 801c542: 603b str r3, [r7, #0] - 801c544: 683a ldr r2, [r7, #0] - 801c546: 6813 ldr r3, [r2, #0] - 801c548: 681b ldr r3, [r3, #0] - 801c54a: 6838 ldr r0, [r7, #0] - 801c54c: 4798 blx r3 - 801c54e: e7ef b.n 801c530 <_ZN14RamasserVerresD1Ev+0x24> - 801c550: 687b ldr r3, [r7, #4] - 801c552: 4618 mov r0, r3 - 801c554: f7ff fd5c bl 801c010 <_ZN17MediumLevelActionD2Ev> - 801c558: f04f 0300 mov.w r3, #0 ; 0x0 - 801c55c: b2db uxtb r3, r3 - 801c55e: 2b00 cmp r3, #0 - 801c560: d002 beq.n 801c568 <_ZN14RamasserVerresD1Ev+0x5c> - 801c562: 6878 ldr r0, [r7, #4] - 801c564: f7fb f852 bl 801760c <_ZdlPv> - 801c568: 687b ldr r3, [r7, #4] - 801c56a: 4618 mov r0, r3 - 801c56c: f107 0708 add.w r7, r7, #8 ; 0x8 - 801c570: 46bd mov sp, r7 - 801c572: bd80 pop {r7, pc} - 801c574: 08034120 .word 0x08034120 - -0801c578 <_ZN14RamasserVerresD2Ev>: - myTurn = false; - nextPosition = 0; - ligneEnCours = -1; -} - -RamasserVerres::~RamasserVerres() - 801c578: b580 push {r7, lr} - 801c57a: b082 sub sp, #8 - 801c57c: af00 add r7, sp, #0 - 801c57e: 6078 str r0, [r7, #4] - 801c580: 687a ldr r2, [r7, #4] - 801c582: 4b17 ldr r3, [pc, #92] (801c5e0 <_ZN14RamasserVerresD2Ev+0x68>) - 801c584: 6013 str r3, [r2, #0] -{ - //dtor -} - 801c586: 687b ldr r3, [r7, #4] - 801c588: f103 0318 add.w r3, r3, #24 ; 0x18 - 801c58c: 2b00 cmp r3, #0 - 801c58e: d015 beq.n 801c5bc <_ZN14RamasserVerresD2Ev+0x44> - 801c590: 687b ldr r3, [r7, #4] - 801c592: f103 0318 add.w r3, r3, #24 ; 0x18 - 801c596: f503 63fc add.w r3, r3, #2016 ; 0x7e0 - 801c59a: 603b str r3, [r7, #0] - 801c59c: 687b ldr r3, [r7, #4] - 801c59e: f103 0318 add.w r3, r3, #24 ; 0x18 - 801c5a2: 683a ldr r2, [r7, #0] - 801c5a4: 429a cmp r2, r3 - 801c5a6: d009 beq.n 801c5bc <_ZN14RamasserVerresD2Ev+0x44> - 801c5a8: 683b ldr r3, [r7, #0] - 801c5aa: f1a3 0330 sub.w r3, r3, #48 ; 0x30 - 801c5ae: 603b str r3, [r7, #0] - 801c5b0: 683a ldr r2, [r7, #0] - 801c5b2: 6813 ldr r3, [r2, #0] - 801c5b4: 681b ldr r3, [r3, #0] - 801c5b6: 6838 ldr r0, [r7, #0] - 801c5b8: 4798 blx r3 - 801c5ba: e7ef b.n 801c59c <_ZN14RamasserVerresD2Ev+0x24> - 801c5bc: 687b ldr r3, [r7, #4] - 801c5be: 4618 mov r0, r3 - 801c5c0: f7ff fd26 bl 801c010 <_ZN17MediumLevelActionD2Ev> - 801c5c4: f04f 0300 mov.w r3, #0 ; 0x0 - 801c5c8: b2db uxtb r3, r3 - 801c5ca: 2b00 cmp r3, #0 - 801c5cc: d002 beq.n 801c5d4 <_ZN14RamasserVerresD2Ev+0x5c> - 801c5ce: 6878 ldr r0, [r7, #4] - 801c5d0: f7fb f81c bl 801760c <_ZdlPv> - 801c5d4: 687b ldr r3, [r7, #4] - 801c5d6: 4618 mov r0, r3 - 801c5d8: f107 0708 add.w r7, r7, #8 ; 0x8 - 801c5dc: 46bd mov sp, r7 - 801c5de: bd80 pop {r7, pc} - 801c5e0: 08034120 .word 0x08034120 - -0801c5e4 <_ZN14RamasserVerresC1Ev>: -#include "ramasserVerres.h" -#include "strategieV2.h" -#include "leds.h" - -RamasserVerres::RamasserVerres() : MediumLevelAction() - 801c5e4: b590 push {r4, r7, lr} - 801c5e6: f5ad 6d16 sub.w sp, sp, #2400 ; 0x960 - 801c5ea: b085 sub sp, #20 - 801c5ec: af02 add r7, sp, #8 - 801c5ee: f107 0328 add.w r3, r7, #40 ; 0x28 - 801c5f2: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801c5f6: 6018 str r0, [r3, #0] - 801c5f8: f107 0328 add.w r3, r7, #40 ; 0x28 - 801c5fc: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801c600: 681c ldr r4, [r3, #0] - 801c602: f107 0328 add.w r3, r7, #40 ; 0x28 - 801c606: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801c60a: 4618 mov r0, r3 - 801c60c: 4913 ldr r1, [pc, #76] (801c65c <_ZN14RamasserVerresC1Ev+0x78>) - 801c60e: 4a13 ldr r2, [pc, #76] (801c65c <_ZN14RamasserVerresC1Ev+0x78>) - 801c610: f04f 0301 mov.w r3, #1 ; 0x1 - 801c614: f7fb f8cc bl 80177b0 <_ZN8PositionC1Effb> - 801c618: f107 0328 add.w r3, r7, #40 ; 0x28 - 801c61c: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801c620: 4620 mov r0, r4 - 801c622: e893 0006 ldmia.w r3, {r1, r2} - 801c626: f7ff fd33 bl 801c090 <_ZN17MediumLevelActionC2E8Position> - 801c62a: f107 0328 add.w r3, r7, #40 ; 0x28 - 801c62e: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801c632: 681a ldr r2, [r3, #0] - 801c634: 4b0a ldr r3, [pc, #40] (801c660 <_ZN14RamasserVerresC1Ev+0x7c>) - 801c636: 6013 str r3, [r2, #0] - 801c638: f107 0328 add.w r3, r7, #40 ; 0x28 - 801c63c: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801c640: 681b ldr r3, [r3, #0] - 801c642: f103 0318 add.w r3, r3, #24 ; 0x18 - 801c646: 607b str r3, [r7, #4] - 801c648: f04f 0305 mov.w r3, #5 ; 0x5 - 801c64c: 60bb str r3, [r7, #8] - 801c64e: e038 b.n 801c6c2 <_ZN14RamasserVerresC1Ev+0xde> - 801c650: 687b ldr r3, [r7, #4] - 801c652: 60fb str r3, [r7, #12] - 801c654: f04f 0306 mov.w r3, #6 ; 0x6 - 801c658: 613b str r3, [r7, #16] - 801c65a: e026 b.n 801c6aa <_ZN14RamasserVerresC1Ev+0xc6> - 801c65c: 00000000 .word 0x00000000 - 801c660: 08034120 .word 0x08034120 - 801c664: f107 0328 add.w r3, r7, #40 ; 0x28 - 801c668: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801c66c: 4618 mov r0, r3 - 801c66e: f8df 1ccc ldr.w r1, [pc, #3276] ; 801d33c <_ZN14RamasserVerresC1Ev+0xd58> - 801c672: f8df 2cc8 ldr.w r2, [pc, #3272] ; 801d33c <_ZN14RamasserVerresC1Ev+0xd58> - 801c676: f04f 0301 mov.w r3, #1 ; 0x1 - 801c67a: f7fb f899 bl 80177b0 <_ZN8PositionC1Effb> - 801c67e: f107 0328 add.w r3, r7, #40 ; 0x28 - 801c682: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801c686: f8df 2cb8 ldr.w r2, [pc, #3256] ; 801d340 <_ZN14RamasserVerresC1Ev+0xd5c> - 801c68a: 9200 str r2, [sp, #0] - 801c68c: 68f8 ldr r0, [r7, #12] - 801c68e: e893 0006 ldmia.w r3, {r1, r2} - 801c692: f04f 0300 mov.w r3, #0 ; 0x0 - 801c696: f7fb fdc3 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801c69a: 68fb ldr r3, [r7, #12] - 801c69c: f103 0330 add.w r3, r3, #48 ; 0x30 - 801c6a0: 60fb str r3, [r7, #12] - 801c6a2: 693b ldr r3, [r7, #16] - 801c6a4: f103 33ff add.w r3, r3, #4294967295 ; 0xffffffff - 801c6a8: 613b str r3, [r7, #16] - 801c6aa: 693b ldr r3, [r7, #16] - 801c6ac: f1b3 3fff cmp.w r3, #4294967295 ; 0xffffffff - 801c6b0: d1d8 bne.n 801c664 <_ZN14RamasserVerresC1Ev+0x80> - 801c6b2: 687b ldr r3, [r7, #4] - 801c6b4: f503 73a8 add.w r3, r3, #336 ; 0x150 - 801c6b8: 607b str r3, [r7, #4] - 801c6ba: 68bb ldr r3, [r7, #8] - 801c6bc: f103 33ff add.w r3, r3, #4294967295 ; 0xffffffff - 801c6c0: 60bb str r3, [r7, #8] - 801c6c2: 68bb ldr r3, [r7, #8] - 801c6c4: f1b3 3fff cmp.w r3, #4294967295 ; 0xffffffff - 801c6c8: d1c2 bne.n 801c650 <_ZN14RamasserVerresC1Ev+0x6c> - 801c6ca: f107 0328 add.w r3, r7, #40 ; 0x28 - 801c6ce: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801c6d2: 681b ldr r3, [r3, #0] - 801c6d4: f503 6301 add.w r3, r3, #2064 ; 0x810 - 801c6d8: 4618 mov r0, r3 - 801c6da: f7fb f82f bl 801773c <_ZN8PositionC1Ev> -{ - bool isBlue = StrategieV2::getIsBlue(); - 801c6de: f003 f849 bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 801c6e2: 4603 mov r3, r0 - 801c6e4: f887 395f strb.w r3, [r7, #2399] - positionsToGo[0][0] = ActionGoTo(Position(600, 1300, isBlue), false); - 801c6e8: f107 0328 add.w r3, r7, #40 ; 0x28 - 801c6ec: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801c6f0: 681b ldr r3, [r3, #0] - 801c6f2: f103 0418 add.w r4, r3, #24 ; 0x18 - 801c6f6: f107 0368 add.w r3, r7, #104 ; 0x68 - 801c6fa: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801c6fe: f897 c95f ldrb.w ip, [r7, #2399] - 801c702: 4618 mov r0, r3 - 801c704: f8df 1c3c ldr.w r1, [pc, #3132] ; 801d344 <_ZN14RamasserVerresC1Ev+0xd60> - 801c708: f8df 2c3c ldr.w r2, [pc, #3132] ; 801d348 <_ZN14RamasserVerresC1Ev+0xd64> - 801c70c: 4663 mov r3, ip - 801c70e: f7fb f84f bl 80177b0 <_ZN8PositionC1Effb> - 801c712: f107 0148 add.w r1, r7, #72 ; 0x48 - 801c716: f1a1 011c sub.w r1, r1, #28 ; 0x1c - 801c71a: f107 0368 add.w r3, r7, #104 ; 0x68 - 801c71e: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801c722: f8df 2c1c ldr.w r2, [pc, #3100] ; 801d340 <_ZN14RamasserVerresC1Ev+0xd5c> - 801c726: 9200 str r2, [sp, #0] - 801c728: 4608 mov r0, r1 - 801c72a: e893 0006 ldmia.w r3, {r1, r2} - 801c72e: f04f 0300 mov.w r3, #0 ; 0x0 - 801c732: f7fb fd75 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801c736: f107 0348 add.w r3, r7, #72 ; 0x48 - 801c73a: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 801c73e: 4620 mov r0, r4 - 801c740: 4619 mov r1, r3 - 801c742: f012 fb59 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801c746: f107 0348 add.w r3, r7, #72 ; 0x48 - 801c74a: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 801c74e: 4618 mov r0, r3 - 801c750: f7fb fd2e bl 80181b0 <_ZN10ActionGoToD1Ev> - //positionsToGo[0][1] = new ActionGoTo(Position(2100, 1300, isBlue), false); - positionsToGo[0][1] = ActionGoTo(Position(700, 1360, isBlue), false); - 801c754: f107 0328 add.w r3, r7, #40 ; 0x28 - 801c758: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801c75c: 681b ldr r3, [r3, #0] - 801c75e: f103 0448 add.w r4, r3, #72 ; 0x48 - 801c762: f107 03a8 add.w r3, r7, #168 ; 0xa8 - 801c766: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801c76a: f897 c95f ldrb.w ip, [r7, #2399] - 801c76e: 4618 mov r0, r3 - 801c770: f8df 1bd8 ldr.w r1, [pc, #3032] ; 801d34c <_ZN14RamasserVerresC1Ev+0xd68> - 801c774: f8df 2bd8 ldr.w r2, [pc, #3032] ; 801d350 <_ZN14RamasserVerresC1Ev+0xd6c> - 801c778: 4663 mov r3, ip - 801c77a: f7fb f819 bl 80177b0 <_ZN8PositionC1Effb> - 801c77e: f107 0168 add.w r1, r7, #104 ; 0x68 - 801c782: f1a1 0104 sub.w r1, r1, #4 ; 0x4 - 801c786: f107 03a8 add.w r3, r7, #168 ; 0xa8 - 801c78a: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801c78e: f8df 2bb0 ldr.w r2, [pc, #2992] ; 801d340 <_ZN14RamasserVerresC1Ev+0xd5c> - 801c792: 9200 str r2, [sp, #0] - 801c794: 4608 mov r0, r1 - 801c796: e893 0006 ldmia.w r3, {r1, r2} - 801c79a: f04f 0300 mov.w r3, #0 ; 0x0 - 801c79e: f7fb fd3f bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801c7a2: f107 0368 add.w r3, r7, #104 ; 0x68 - 801c7a6: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801c7aa: 4620 mov r0, r4 - 801c7ac: 4619 mov r1, r3 - 801c7ae: f012 fb23 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801c7b2: f107 0368 add.w r3, r7, #104 ; 0x68 - 801c7b6: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801c7ba: 4618 mov r0, r3 - 801c7bc: f7fb fcf8 bl 80181b0 <_ZN10ActionGoToD1Ev> - //positionsToGo[0][2] = new ActionGoTo(Position(2100, 1050, isBlue), false); - positionsToGo[0][2] = ActionGoTo(Position(2100, 1250, isBlue), true); - 801c7c0: f107 0328 add.w r3, r7, #40 ; 0x28 - 801c7c4: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801c7c8: 681b ldr r3, [r3, #0] - 801c7ca: f103 0478 add.w r4, r3, #120 ; 0x78 - 801c7ce: f107 03e8 add.w r3, r7, #232 ; 0xe8 - 801c7d2: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 801c7d6: f897 c95f ldrb.w ip, [r7, #2399] - 801c7da: 4618 mov r0, r3 - 801c7dc: f8df 1b74 ldr.w r1, [pc, #2932] ; 801d354 <_ZN14RamasserVerresC1Ev+0xd70> - 801c7e0: f8df 2b74 ldr.w r2, [pc, #2932] ; 801d358 <_ZN14RamasserVerresC1Ev+0xd74> - 801c7e4: 4663 mov r3, ip - 801c7e6: f7fa ffe3 bl 80177b0 <_ZN8PositionC1Effb> - 801c7ea: f107 01a8 add.w r1, r7, #168 ; 0xa8 - 801c7ee: f1a1 010c sub.w r1, r1, #12 ; 0xc - 801c7f2: f107 03e8 add.w r3, r7, #232 ; 0xe8 - 801c7f6: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 801c7fa: f8df 2b44 ldr.w r2, [pc, #2884] ; 801d340 <_ZN14RamasserVerresC1Ev+0xd5c> - 801c7fe: 9200 str r2, [sp, #0] - 801c800: 4608 mov r0, r1 - 801c802: e893 0006 ldmia.w r3, {r1, r2} - 801c806: f04f 0301 mov.w r3, #1 ; 0x1 - 801c80a: f7fb fd09 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801c80e: f107 03a8 add.w r3, r7, #168 ; 0xa8 - 801c812: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801c816: 4620 mov r0, r4 - 801c818: 4619 mov r1, r3 - 801c81a: f012 faed bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801c81e: f107 03a8 add.w r3, r7, #168 ; 0xa8 - 801c822: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801c826: 4618 mov r0, r3 - 801c828: f7fb fcc2 bl 80181b0 <_ZN10ActionGoToD1Ev> - positionsToGo[0][3] = ActionGoTo(Position(2100, 1050, isBlue), false); - 801c82c: f107 0328 add.w r3, r7, #40 ; 0x28 - 801c830: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801c834: 681b ldr r3, [r3, #0] - 801c836: f103 04a8 add.w r4, r3, #168 ; 0xa8 - 801c83a: f507 7384 add.w r3, r7, #264 ; 0x108 - 801c83e: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801c842: f897 c95f ldrb.w ip, [r7, #2399] - 801c846: 4618 mov r0, r3 - 801c848: f8df 1b08 ldr.w r1, [pc, #2824] ; 801d354 <_ZN14RamasserVerresC1Ev+0xd70> - 801c84c: f8df 2b0c ldr.w r2, [pc, #2828] ; 801d35c <_ZN14RamasserVerresC1Ev+0xd78> - 801c850: 4663 mov r3, ip - 801c852: f7fa ffad bl 80177b0 <_ZN8PositionC1Effb> - 801c856: f107 01e8 add.w r1, r7, #232 ; 0xe8 - 801c85a: f1a1 0114 sub.w r1, r1, #20 ; 0x14 - 801c85e: f507 7384 add.w r3, r7, #264 ; 0x108 - 801c862: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801c866: f8df 2ad8 ldr.w r2, [pc, #2776] ; 801d340 <_ZN14RamasserVerresC1Ev+0xd5c> - 801c86a: 9200 str r2, [sp, #0] - 801c86c: 4608 mov r0, r1 - 801c86e: e893 0006 ldmia.w r3, {r1, r2} - 801c872: f04f 0300 mov.w r3, #0 ; 0x0 - 801c876: f7fb fcd3 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801c87a: f107 03e8 add.w r3, r7, #232 ; 0xe8 - 801c87e: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801c882: 4620 mov r0, r4 - 801c884: 4619 mov r1, r3 - 801c886: f012 fab7 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801c88a: f107 03e8 add.w r3, r7, #232 ; 0xe8 - 801c88e: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801c892: 4618 mov r0, r3 - 801c894: f7fb fc8c bl 80181b0 <_ZN10ActionGoToD1Ev> - positionsToGo[0][4] = ActionGoTo(Position(900, 1050, isBlue), false); - 801c898: f107 0328 add.w r3, r7, #40 ; 0x28 - 801c89c: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801c8a0: 681b ldr r3, [r3, #0] - 801c8a2: f103 04d8 add.w r4, r3, #216 ; 0xd8 - 801c8a6: f507 73a4 add.w r3, r7, #328 ; 0x148 - 801c8aa: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801c8ae: f897 c95f ldrb.w ip, [r7, #2399] - 801c8b2: 4618 mov r0, r3 - 801c8b4: f8df 1aa8 ldr.w r1, [pc, #2728] ; 801d360 <_ZN14RamasserVerresC1Ev+0xd7c> - 801c8b8: f8df 2aa0 ldr.w r2, [pc, #2720] ; 801d35c <_ZN14RamasserVerresC1Ev+0xd78> - 801c8bc: 4663 mov r3, ip - 801c8be: f7fa ff77 bl 80177b0 <_ZN8PositionC1Effb> - 801c8c2: f507 7194 add.w r1, r7, #296 ; 0x128 - 801c8c6: f1a1 011c sub.w r1, r1, #28 ; 0x1c - 801c8ca: f507 73a4 add.w r3, r7, #328 ; 0x148 - 801c8ce: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801c8d2: f8df 2a6c ldr.w r2, [pc, #2668] ; 801d340 <_ZN14RamasserVerresC1Ev+0xd5c> - 801c8d6: 9200 str r2, [sp, #0] - 801c8d8: 4608 mov r0, r1 - 801c8da: e893 0006 ldmia.w r3, {r1, r2} - 801c8de: f04f 0300 mov.w r3, #0 ; 0x0 - 801c8e2: f7fb fc9d bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801c8e6: f507 7394 add.w r3, r7, #296 ; 0x128 - 801c8ea: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 801c8ee: 4620 mov r0, r4 - 801c8f0: 4619 mov r1, r3 - 801c8f2: f012 fa81 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801c8f6: f507 7394 add.w r3, r7, #296 ; 0x128 - 801c8fa: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 801c8fe: 4618 mov r0, r3 - 801c900: f7fb fc56 bl 80181b0 <_ZN10ActionGoToD1Ev> - positionsToGo[0][5] = ActionGoTo(Position(350, 1250, isBlue), false); - 801c904: f107 0328 add.w r3, r7, #40 ; 0x28 - 801c908: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801c90c: 681b ldr r3, [r3, #0] - 801c90e: f503 7484 add.w r4, r3, #264 ; 0x108 - 801c912: f507 73bc add.w r3, r7, #376 ; 0x178 - 801c916: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801c91a: f897 c95f ldrb.w ip, [r7, #2399] - 801c91e: 4618 mov r0, r3 - 801c920: f8df 1a40 ldr.w r1, [pc, #2624] ; 801d364 <_ZN14RamasserVerresC1Ev+0xd80> - 801c924: f8df 2a30 ldr.w r2, [pc, #2608] ; 801d358 <_ZN14RamasserVerresC1Ev+0xd74> - 801c928: 4663 mov r3, ip - 801c92a: f7fa ff41 bl 80177b0 <_ZN8PositionC1Effb> - 801c92e: f507 71a4 add.w r1, r7, #328 ; 0x148 - 801c932: f1a1 0104 sub.w r1, r1, #4 ; 0x4 - 801c936: f507 73bc add.w r3, r7, #376 ; 0x178 - 801c93a: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801c93e: f8df 2a00 ldr.w r2, [pc, #2560] ; 801d340 <_ZN14RamasserVerresC1Ev+0xd5c> - 801c942: 9200 str r2, [sp, #0] - 801c944: 4608 mov r0, r1 - 801c946: e893 0006 ldmia.w r3, {r1, r2} - 801c94a: f04f 0300 mov.w r3, #0 ; 0x0 - 801c94e: f7fb fc67 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801c952: f507 73a4 add.w r3, r7, #328 ; 0x148 - 801c956: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801c95a: 4620 mov r0, r4 - 801c95c: 4619 mov r1, r3 - 801c95e: f012 fa4b bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801c962: f507 73a4 add.w r3, r7, #328 ; 0x148 - 801c966: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801c96a: 4618 mov r0, r3 - 801c96c: f7fb fc20 bl 80181b0 <_ZN10ActionGoToD1Ev> - positionsToGo[0][6] = ActionGoTo(Position(900, 1050, isBlue), true); - 801c970: f107 0328 add.w r3, r7, #40 ; 0x28 - 801c974: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801c978: 681b ldr r3, [r3, #0] - 801c97a: f503 749c add.w r4, r3, #312 ; 0x138 - 801c97e: f507 73dc add.w r3, r7, #440 ; 0x1b8 - 801c982: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801c986: f897 c95f ldrb.w ip, [r7, #2399] - 801c98a: 4618 mov r0, r3 - 801c98c: f8df 19d0 ldr.w r1, [pc, #2512] ; 801d360 <_ZN14RamasserVerresC1Ev+0xd7c> - 801c990: f8df 29c8 ldr.w r2, [pc, #2504] ; 801d35c <_ZN14RamasserVerresC1Ev+0xd78> - 801c994: 4663 mov r3, ip - 801c996: f7fa ff0b bl 80177b0 <_ZN8PositionC1Effb> - 801c99a: f507 71c4 add.w r1, r7, #392 ; 0x188 - 801c99e: f1a1 010c sub.w r1, r1, #12 ; 0xc - 801c9a2: f507 73dc add.w r3, r7, #440 ; 0x1b8 - 801c9a6: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801c9aa: f8df 2994 ldr.w r2, [pc, #2452] ; 801d340 <_ZN14RamasserVerresC1Ev+0xd5c> - 801c9ae: 9200 str r2, [sp, #0] - 801c9b0: 4608 mov r0, r1 - 801c9b2: e893 0006 ldmia.w r3, {r1, r2} - 801c9b6: f04f 0301 mov.w r3, #1 ; 0x1 - 801c9ba: f7fb fc31 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801c9be: f507 73c4 add.w r3, r7, #392 ; 0x188 - 801c9c2: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801c9c6: 4620 mov r0, r4 - 801c9c8: 4619 mov r1, r3 - 801c9ca: f012 fa15 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801c9ce: f507 73c4 add.w r3, r7, #392 ; 0x188 - 801c9d2: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801c9d6: 4618 mov r0, r3 - 801c9d8: f7fb fbea bl 80181b0 <_ZN10ActionGoToD1Ev> - - positionsToGo[1][0] = ActionGoTo(Position(600, 1050, isBlue), false); - 801c9dc: f107 0328 add.w r3, r7, #40 ; 0x28 - 801c9e0: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801c9e4: 681b ldr r3, [r3, #0] - 801c9e6: f503 74b4 add.w r4, r3, #360 ; 0x168 - 801c9ea: f507 73f4 add.w r3, r7, #488 ; 0x1e8 - 801c9ee: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801c9f2: f897 c95f ldrb.w ip, [r7, #2399] - 801c9f6: 4618 mov r0, r3 - 801c9f8: f8df 1948 ldr.w r1, [pc, #2376] ; 801d344 <_ZN14RamasserVerresC1Ev+0xd60> - 801c9fc: f8df 295c ldr.w r2, [pc, #2396] ; 801d35c <_ZN14RamasserVerresC1Ev+0xd78> - 801ca00: 4663 mov r3, ip - 801ca02: f7fa fed5 bl 80177b0 <_ZN8PositionC1Effb> - 801ca06: f507 71dc add.w r1, r7, #440 ; 0x1b8 - 801ca0a: f1a1 0104 sub.w r1, r1, #4 ; 0x4 - 801ca0e: f507 73f4 add.w r3, r7, #488 ; 0x1e8 - 801ca12: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801ca16: f8df 2928 ldr.w r2, [pc, #2344] ; 801d340 <_ZN14RamasserVerresC1Ev+0xd5c> - 801ca1a: 9200 str r2, [sp, #0] - 801ca1c: 4608 mov r0, r1 - 801ca1e: e893 0006 ldmia.w r3, {r1, r2} - 801ca22: f04f 0300 mov.w r3, #0 ; 0x0 - 801ca26: f7fb fbfb bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801ca2a: f507 73dc add.w r3, r7, #440 ; 0x1b8 - 801ca2e: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801ca32: 4620 mov r0, r4 - 801ca34: 4619 mov r1, r3 - 801ca36: f012 f9df bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801ca3a: f507 73dc add.w r3, r7, #440 ; 0x1b8 - 801ca3e: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801ca42: 4618 mov r0, r3 - 801ca44: f7fb fbb4 bl 80181b0 <_ZN10ActionGoToD1Ev> - //positionsToGo[1][1] = new ActionGoTo(Position(2100, 1050, isBlue), false); - positionsToGo[1][1] = ActionGoTo(Position(1350, 1050, isBlue), false); - 801ca48: f107 0328 add.w r3, r7, #40 ; 0x28 - 801ca4c: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801ca50: 681b ldr r3, [r3, #0] - 801ca52: f503 74cc add.w r4, r3, #408 ; 0x198 - 801ca56: f507 730a add.w r3, r7, #552 ; 0x228 - 801ca5a: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801ca5e: f897 c95f ldrb.w ip, [r7, #2399] - 801ca62: 4618 mov r0, r3 - 801ca64: f8df 1900 ldr.w r1, [pc, #2304] ; 801d368 <_ZN14RamasserVerresC1Ev+0xd84> - 801ca68: f8df 28f0 ldr.w r2, [pc, #2288] ; 801d35c <_ZN14RamasserVerresC1Ev+0xd78> - 801ca6c: 4663 mov r3, ip - 801ca6e: f7fa fe9f bl 80177b0 <_ZN8PositionC1Effb> - 801ca72: f507 71fc add.w r1, r7, #504 ; 0x1f8 - 801ca76: f1a1 010c sub.w r1, r1, #12 ; 0xc - 801ca7a: f507 730a add.w r3, r7, #552 ; 0x228 - 801ca7e: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801ca82: f8df 28bc ldr.w r2, [pc, #2236] ; 801d340 <_ZN14RamasserVerresC1Ev+0xd5c> - 801ca86: 9200 str r2, [sp, #0] - 801ca88: 4608 mov r0, r1 - 801ca8a: e893 0006 ldmia.w r3, {r1, r2} - 801ca8e: f04f 0300 mov.w r3, #0 ; 0x0 - 801ca92: f7fb fbc5 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801ca96: f507 73fc add.w r3, r7, #504 ; 0x1f8 - 801ca9a: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801ca9e: 4620 mov r0, r4 - 801caa0: 4619 mov r1, r3 - 801caa2: f012 f9a9 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801caa6: f507 73fc add.w r3, r7, #504 ; 0x1f8 - 801caaa: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801caae: 4618 mov r0, r3 - 801cab0: f7fb fb7e bl 80181b0 <_ZN10ActionGoToD1Ev> - //positionsToGo[1][2] = new ActionGoTo(Position(1950, 800, isBlue), false); - positionsToGo[1][2] = ActionGoTo(Position(2100, 1050, isBlue), true); - 801cab4: f107 0328 add.w r3, r7, #40 ; 0x28 - 801cab8: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801cabc: 681b ldr r3, [r3, #0] - 801cabe: f503 74e4 add.w r4, r3, #456 ; 0x1c8 - 801cac2: f507 7316 add.w r3, r7, #600 ; 0x258 - 801cac6: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801caca: f897 c95f ldrb.w ip, [r7, #2399] - 801cace: 4618 mov r0, r3 - 801cad0: f8df 1880 ldr.w r1, [pc, #2176] ; 801d354 <_ZN14RamasserVerresC1Ev+0xd70> - 801cad4: f8df 2884 ldr.w r2, [pc, #2180] ; 801d35c <_ZN14RamasserVerresC1Ev+0xd78> - 801cad8: 4663 mov r3, ip - 801cada: f7fa fe69 bl 80177b0 <_ZN8PositionC1Effb> - 801cade: f507 710a add.w r1, r7, #552 ; 0x228 - 801cae2: f1a1 0104 sub.w r1, r1, #4 ; 0x4 - 801cae6: f507 7316 add.w r3, r7, #600 ; 0x258 - 801caea: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801caee: f8df 2850 ldr.w r2, [pc, #2128] ; 801d340 <_ZN14RamasserVerresC1Ev+0xd5c> - 801caf2: 9200 str r2, [sp, #0] - 801caf4: 4608 mov r0, r1 - 801caf6: e893 0006 ldmia.w r3, {r1, r2} - 801cafa: f04f 0301 mov.w r3, #1 ; 0x1 - 801cafe: f7fb fb8f bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801cb02: f507 730a add.w r3, r7, #552 ; 0x228 - 801cb06: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801cb0a: 4620 mov r0, r4 - 801cb0c: 4619 mov r1, r3 - 801cb0e: f012 f973 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801cb12: f507 730a add.w r3, r7, #552 ; 0x228 - 801cb16: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801cb1a: 4618 mov r0, r3 - 801cb1c: f7fb fb48 bl 80181b0 <_ZN10ActionGoToD1Ev> - positionsToGo[1][3] = ActionGoTo(Position(2100, 760, isBlue), false); - 801cb20: f107 0328 add.w r3, r7, #40 ; 0x28 - 801cb24: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801cb28: 681b ldr r3, [r3, #0] - 801cb2a: f503 74fc add.w r4, r3, #504 ; 0x1f8 - 801cb2e: f507 7326 add.w r3, r7, #664 ; 0x298 - 801cb32: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801cb36: f897 c95f ldrb.w ip, [r7, #2399] - 801cb3a: 4618 mov r0, r3 - 801cb3c: f8df 1814 ldr.w r1, [pc, #2068] ; 801d354 <_ZN14RamasserVerresC1Ev+0xd70> - 801cb40: f8df 2828 ldr.w r2, [pc, #2088] ; 801d36c <_ZN14RamasserVerresC1Ev+0xd88> - 801cb44: 4663 mov r3, ip - 801cb46: f7fa fe33 bl 80177b0 <_ZN8PositionC1Effb> - 801cb4a: f507 711a add.w r1, r7, #616 ; 0x268 - 801cb4e: f1a1 010c sub.w r1, r1, #12 ; 0xc - 801cb52: f507 7326 add.w r3, r7, #664 ; 0x298 - 801cb56: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801cb5a: f8df 27e4 ldr.w r2, [pc, #2020] ; 801d340 <_ZN14RamasserVerresC1Ev+0xd5c> - 801cb5e: 9200 str r2, [sp, #0] - 801cb60: 4608 mov r0, r1 - 801cb62: e893 0006 ldmia.w r3, {r1, r2} - 801cb66: f04f 0300 mov.w r3, #0 ; 0x0 - 801cb6a: f7fb fb59 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801cb6e: f507 731a add.w r3, r7, #616 ; 0x268 - 801cb72: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801cb76: 4620 mov r0, r4 - 801cb78: 4619 mov r1, r3 - 801cb7a: f012 f93d bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801cb7e: f507 731a add.w r3, r7, #616 ; 0x268 - 801cb82: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801cb86: 4618 mov r0, r3 - 801cb88: f7fb fb12 bl 80181b0 <_ZN10ActionGoToD1Ev> - positionsToGo[1][4] = ActionGoTo(Position(900, 760, isBlue), false); - 801cb8c: f107 0328 add.w r3, r7, #40 ; 0x28 - 801cb90: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801cb94: 681b ldr r3, [r3, #0] - 801cb96: f503 740a add.w r4, r3, #552 ; 0x228 - 801cb9a: f507 7332 add.w r3, r7, #712 ; 0x2c8 - 801cb9e: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801cba2: f897 c95f ldrb.w ip, [r7, #2399] - 801cba6: 4618 mov r0, r3 - 801cba8: f8df 17b4 ldr.w r1, [pc, #1972] ; 801d360 <_ZN14RamasserVerresC1Ev+0xd7c> - 801cbac: f8df 27bc ldr.w r2, [pc, #1980] ; 801d36c <_ZN14RamasserVerresC1Ev+0xd88> - 801cbb0: 4663 mov r3, ip - 801cbb2: f7fa fdfd bl 80177b0 <_ZN8PositionC1Effb> - 801cbb6: f507 7126 add.w r1, r7, #664 ; 0x298 - 801cbba: f1a1 0104 sub.w r1, r1, #4 ; 0x4 - 801cbbe: f507 7332 add.w r3, r7, #712 ; 0x2c8 - 801cbc2: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801cbc6: f8df 2778 ldr.w r2, [pc, #1912] ; 801d340 <_ZN14RamasserVerresC1Ev+0xd5c> - 801cbca: 9200 str r2, [sp, #0] - 801cbcc: 4608 mov r0, r1 - 801cbce: e893 0006 ldmia.w r3, {r1, r2} - 801cbd2: f04f 0300 mov.w r3, #0 ; 0x0 - 801cbd6: f7fb fb23 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801cbda: f507 7326 add.w r3, r7, #664 ; 0x298 - 801cbde: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801cbe2: 4620 mov r0, r4 - 801cbe4: 4619 mov r1, r3 - 801cbe6: f012 f907 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801cbea: f507 7326 add.w r3, r7, #664 ; 0x298 - 801cbee: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801cbf2: 4618 mov r0, r3 - 801cbf4: f7fb fadc bl 80181b0 <_ZN10ActionGoToD1Ev> - positionsToGo[1][5] = ActionGoTo(Position(370, 760, isBlue), false); - 801cbf8: f107 0328 add.w r3, r7, #40 ; 0x28 - 801cbfc: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801cc00: 681b ldr r3, [r3, #0] - 801cc02: f503 7416 add.w r4, r3, #600 ; 0x258 - 801cc06: f507 7342 add.w r3, r7, #776 ; 0x308 - 801cc0a: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801cc0e: f897 c95f ldrb.w ip, [r7, #2399] - 801cc12: 4618 mov r0, r3 - 801cc14: f8df 1758 ldr.w r1, [pc, #1880] ; 801d370 <_ZN14RamasserVerresC1Ev+0xd8c> - 801cc18: f8df 2750 ldr.w r2, [pc, #1872] ; 801d36c <_ZN14RamasserVerresC1Ev+0xd88> - 801cc1c: 4663 mov r3, ip - 801cc1e: f7fa fdc7 bl 80177b0 <_ZN8PositionC1Effb> - 801cc22: f507 7136 add.w r1, r7, #728 ; 0x2d8 - 801cc26: f1a1 010c sub.w r1, r1, #12 ; 0xc - 801cc2a: f507 7342 add.w r3, r7, #776 ; 0x308 - 801cc2e: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801cc32: f8df 270c ldr.w r2, [pc, #1804] ; 801d340 <_ZN14RamasserVerresC1Ev+0xd5c> - 801cc36: 9200 str r2, [sp, #0] - 801cc38: 4608 mov r0, r1 - 801cc3a: e893 0006 ldmia.w r3, {r1, r2} - 801cc3e: f04f 0300 mov.w r3, #0 ; 0x0 - 801cc42: f7fb faed bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801cc46: f507 7336 add.w r3, r7, #728 ; 0x2d8 - 801cc4a: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801cc4e: 4620 mov r0, r4 - 801cc50: 4619 mov r1, r3 - 801cc52: f012 f8d1 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801cc56: f507 7336 add.w r3, r7, #728 ; 0x2d8 - 801cc5a: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801cc5e: 4618 mov r0, r3 - 801cc60: f7fb faa6 bl 80181b0 <_ZN10ActionGoToD1Ev> - positionsToGo[1][6] = ActionGoTo(Position(500, 760, isBlue), true); - 801cc64: f107 0328 add.w r3, r7, #40 ; 0x28 - 801cc68: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801cc6c: 681b ldr r3, [r3, #0] - 801cc6e: f503 7422 add.w r4, r3, #648 ; 0x288 - 801cc72: f507 734e add.w r3, r7, #824 ; 0x338 - 801cc76: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801cc7a: f897 c95f ldrb.w ip, [r7, #2399] - 801cc7e: 4618 mov r0, r3 - 801cc80: f8df 16f0 ldr.w r1, [pc, #1776] ; 801d374 <_ZN14RamasserVerresC1Ev+0xd90> - 801cc84: f8df 26e4 ldr.w r2, [pc, #1764] ; 801d36c <_ZN14RamasserVerresC1Ev+0xd88> - 801cc88: 4663 mov r3, ip - 801cc8a: f7fa fd91 bl 80177b0 <_ZN8PositionC1Effb> - 801cc8e: f507 7142 add.w r1, r7, #776 ; 0x308 - 801cc92: f1a1 0104 sub.w r1, r1, #4 ; 0x4 - 801cc96: f507 734e add.w r3, r7, #824 ; 0x338 - 801cc9a: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801cc9e: f8df 26a0 ldr.w r2, [pc, #1696] ; 801d340 <_ZN14RamasserVerresC1Ev+0xd5c> - 801cca2: 9200 str r2, [sp, #0] - 801cca4: 4608 mov r0, r1 - 801cca6: e893 0006 ldmia.w r3, {r1, r2} - 801ccaa: f04f 0301 mov.w r3, #1 ; 0x1 - 801ccae: f7fb fab7 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801ccb2: f507 7342 add.w r3, r7, #776 ; 0x308 - 801ccb6: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801ccba: 4620 mov r0, r4 - 801ccbc: 4619 mov r1, r3 - 801ccbe: f012 f89b bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801ccc2: f507 7342 add.w r3, r7, #776 ; 0x308 - 801ccc6: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801ccca: 4618 mov r0, r3 - 801cccc: f7fb fa70 bl 80181b0 <_ZN10ActionGoToD1Ev> - - positionsToGo[2][0] = ActionGoTo(Position(600, 800, isBlue), false); - 801ccd0: f107 0328 add.w r3, r7, #40 ; 0x28 - 801ccd4: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801ccd8: 681b ldr r3, [r3, #0] - 801ccda: f503 742e add.w r4, r3, #696 ; 0x2b8 - 801ccde: f507 735e add.w r3, r7, #888 ; 0x378 - 801cce2: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801cce6: f897 c95f ldrb.w ip, [r7, #2399] - 801ccea: 4618 mov r0, r3 - 801ccec: f8df 1654 ldr.w r1, [pc, #1620] ; 801d344 <_ZN14RamasserVerresC1Ev+0xd60> - 801ccf0: f8df 2684 ldr.w r2, [pc, #1668] ; 801d378 <_ZN14RamasserVerresC1Ev+0xd94> - 801ccf4: 4663 mov r3, ip - 801ccf6: f7fa fd5b bl 80177b0 <_ZN8PositionC1Effb> - 801ccfa: f507 7152 add.w r1, r7, #840 ; 0x348 - 801ccfe: f1a1 010c sub.w r1, r1, #12 ; 0xc - 801cd02: f507 735e add.w r3, r7, #888 ; 0x378 - 801cd06: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801cd0a: f8df 2634 ldr.w r2, [pc, #1588] ; 801d340 <_ZN14RamasserVerresC1Ev+0xd5c> - 801cd0e: 9200 str r2, [sp, #0] - 801cd10: 4608 mov r0, r1 - 801cd12: e893 0006 ldmia.w r3, {r1, r2} - 801cd16: f04f 0300 mov.w r3, #0 ; 0x0 - 801cd1a: f7fb fa81 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801cd1e: f507 7352 add.w r3, r7, #840 ; 0x348 - 801cd22: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801cd26: 4620 mov r0, r4 - 801cd28: 4619 mov r1, r3 - 801cd2a: f012 f865 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801cd2e: f507 7352 add.w r3, r7, #840 ; 0x348 - 801cd32: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801cd36: 4618 mov r0, r3 - 801cd38: f7fb fa3a bl 80181b0 <_ZN10ActionGoToD1Ev> - //positionsToGo[2][1] = new ActionGoTo(Position(2100, 800, isBlue), false); - positionsToGo[2][1] = ActionGoTo(Position(700, 1360, isBlue), false); - 801cd3c: f107 0328 add.w r3, r7, #40 ; 0x28 - 801cd40: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801cd44: 681b ldr r3, [r3, #0] - 801cd46: f503 743a add.w r4, r3, #744 ; 0x2e8 - 801cd4a: f507 736a add.w r3, r7, #936 ; 0x3a8 - 801cd4e: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801cd52: f897 c95f ldrb.w ip, [r7, #2399] - 801cd56: 4618 mov r0, r3 - 801cd58: f8df 15f0 ldr.w r1, [pc, #1520] ; 801d34c <_ZN14RamasserVerresC1Ev+0xd68> - 801cd5c: f8df 25f0 ldr.w r2, [pc, #1520] ; 801d350 <_ZN14RamasserVerresC1Ev+0xd6c> - 801cd60: 4663 mov r3, ip - 801cd62: f7fa fd25 bl 80177b0 <_ZN8PositionC1Effb> - 801cd66: f507 715e add.w r1, r7, #888 ; 0x378 - 801cd6a: f1a1 0104 sub.w r1, r1, #4 ; 0x4 - 801cd6e: f507 736a add.w r3, r7, #936 ; 0x3a8 - 801cd72: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801cd76: f8df 25c8 ldr.w r2, [pc, #1480] ; 801d340 <_ZN14RamasserVerresC1Ev+0xd5c> - 801cd7a: 9200 str r2, [sp, #0] - 801cd7c: 4608 mov r0, r1 - 801cd7e: e893 0006 ldmia.w r3, {r1, r2} - 801cd82: f04f 0300 mov.w r3, #0 ; 0x0 - 801cd86: f7fb fa4b bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801cd8a: f507 735e add.w r3, r7, #888 ; 0x378 - 801cd8e: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801cd92: 4620 mov r0, r4 - 801cd94: 4619 mov r1, r3 - 801cd96: f012 f82f bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801cd9a: f507 735e add.w r3, r7, #888 ; 0x378 - 801cd9e: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801cda2: 4618 mov r0, r3 - 801cda4: f7fb fa04 bl 80181b0 <_ZN10ActionGoToD1Ev> - //positionsToGo[2][2] = new ActionGoTo(Position(2100, 550, isBlue), false); - positionsToGo[2][2] = ActionGoTo(Position(2100, 760, isBlue), true); - 801cda8: f107 0328 add.w r3, r7, #40 ; 0x28 - 801cdac: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801cdb0: 681b ldr r3, [r3, #0] - 801cdb2: f503 7446 add.w r4, r3, #792 ; 0x318 - 801cdb6: f507 737a add.w r3, r7, #1000 ; 0x3e8 - 801cdba: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801cdbe: f897 c95f ldrb.w ip, [r7, #2399] - 801cdc2: 4618 mov r0, r3 - 801cdc4: f8df 158c ldr.w r1, [pc, #1420] ; 801d354 <_ZN14RamasserVerresC1Ev+0xd70> - 801cdc8: f8df 25a0 ldr.w r2, [pc, #1440] ; 801d36c <_ZN14RamasserVerresC1Ev+0xd88> - 801cdcc: 4663 mov r3, ip - 801cdce: f7fa fcef bl 80177b0 <_ZN8PositionC1Effb> - 801cdd2: f507 716e add.w r1, r7, #952 ; 0x3b8 - 801cdd6: f1a1 010c sub.w r1, r1, #12 ; 0xc - 801cdda: f507 737a add.w r3, r7, #1000 ; 0x3e8 - 801cdde: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801cde2: f8df 255c ldr.w r2, [pc, #1372] ; 801d340 <_ZN14RamasserVerresC1Ev+0xd5c> - 801cde6: 9200 str r2, [sp, #0] - 801cde8: 4608 mov r0, r1 - 801cdea: e893 0006 ldmia.w r3, {r1, r2} - 801cdee: f04f 0301 mov.w r3, #1 ; 0x1 - 801cdf2: f7fb fa15 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801cdf6: f507 736e add.w r3, r7, #952 ; 0x3b8 - 801cdfa: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801cdfe: 4620 mov r0, r4 - 801ce00: 4619 mov r1, r3 - 801ce02: f011 fff9 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801ce06: f507 736e add.w r3, r7, #952 ; 0x3b8 - 801ce0a: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801ce0e: 4618 mov r0, r3 - 801ce10: f7fb f9ce bl 80181b0 <_ZN10ActionGoToD1Ev> - positionsToGo[2][3] = ActionGoTo(Position(2100, 550, isBlue), false); - 801ce14: f107 0328 add.w r3, r7, #40 ; 0x28 - 801ce18: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801ce1c: 681b ldr r3, [r3, #0] - 801ce1e: f503 7452 add.w r4, r3, #840 ; 0x348 - 801ce22: f507 6383 add.w r3, r7, #1048 ; 0x418 - 801ce26: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801ce2a: f897 c95f ldrb.w ip, [r7, #2399] - 801ce2e: 4618 mov r0, r3 - 801ce30: f8df 1520 ldr.w r1, [pc, #1312] ; 801d354 <_ZN14RamasserVerresC1Ev+0xd70> - 801ce34: f8df 2544 ldr.w r2, [pc, #1348] ; 801d37c <_ZN14RamasserVerresC1Ev+0xd98> - 801ce38: 4663 mov r3, ip - 801ce3a: f7fa fcb9 bl 80177b0 <_ZN8PositionC1Effb> - 801ce3e: f507 717a add.w r1, r7, #1000 ; 0x3e8 - 801ce42: f1a1 0104 sub.w r1, r1, #4 ; 0x4 - 801ce46: f507 6383 add.w r3, r7, #1048 ; 0x418 - 801ce4a: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801ce4e: f8df 24f0 ldr.w r2, [pc, #1264] ; 801d340 <_ZN14RamasserVerresC1Ev+0xd5c> - 801ce52: 9200 str r2, [sp, #0] - 801ce54: 4608 mov r0, r1 - 801ce56: e893 0006 ldmia.w r3, {r1, r2} - 801ce5a: f04f 0300 mov.w r3, #0 ; 0x0 - 801ce5e: f7fb f9df bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801ce62: f507 737a add.w r3, r7, #1000 ; 0x3e8 - 801ce66: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801ce6a: 4620 mov r0, r4 - 801ce6c: 4619 mov r1, r3 - 801ce6e: f011 ffc3 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801ce72: f507 737a add.w r3, r7, #1000 ; 0x3e8 - 801ce76: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801ce7a: 4618 mov r0, r3 - 801ce7c: f7fb f998 bl 80181b0 <_ZN10ActionGoToD1Ev> - positionsToGo[2][4] = ActionGoTo(Position(900, 550, isBlue), false); - 801ce80: f107 0328 add.w r3, r7, #40 ; 0x28 - 801ce84: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801ce88: 681b ldr r3, [r3, #0] - 801ce8a: f503 745e add.w r4, r3, #888 ; 0x378 - 801ce8e: f507 638b add.w r3, r7, #1112 ; 0x458 - 801ce92: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801ce96: f897 c95f ldrb.w ip, [r7, #2399] - 801ce9a: 4618 mov r0, r3 - 801ce9c: f8df 14c0 ldr.w r1, [pc, #1216] ; 801d360 <_ZN14RamasserVerresC1Ev+0xd7c> - 801cea0: f8df 24d8 ldr.w r2, [pc, #1240] ; 801d37c <_ZN14RamasserVerresC1Ev+0xd98> - 801cea4: 4663 mov r3, ip - 801cea6: f7fa fc83 bl 80177b0 <_ZN8PositionC1Effb> - 801ceaa: f507 6185 add.w r1, r7, #1064 ; 0x428 - 801ceae: f1a1 010c sub.w r1, r1, #12 ; 0xc - 801ceb2: f507 638b add.w r3, r7, #1112 ; 0x458 - 801ceb6: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801ceba: f8df 2484 ldr.w r2, [pc, #1156] ; 801d340 <_ZN14RamasserVerresC1Ev+0xd5c> - 801cebe: 9200 str r2, [sp, #0] - 801cec0: 4608 mov r0, r1 - 801cec2: e893 0006 ldmia.w r3, {r1, r2} - 801cec6: f04f 0300 mov.w r3, #0 ; 0x0 - 801ceca: f7fb f9a9 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801cece: f507 6385 add.w r3, r7, #1064 ; 0x428 - 801ced2: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801ced6: 4620 mov r0, r4 - 801ced8: 4619 mov r1, r3 - 801ceda: f011 ff8d bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801cede: f507 6385 add.w r3, r7, #1064 ; 0x428 - 801cee2: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801cee6: 4618 mov r0, r3 - 801cee8: f7fb f962 bl 80181b0 <_ZN10ActionGoToD1Ev> - positionsToGo[2][5] = ActionGoTo(Position(350, 450, isBlue), false); - 801ceec: f107 0328 add.w r3, r7, #40 ; 0x28 - 801cef0: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801cef4: 681b ldr r3, [r3, #0] - 801cef6: f503 746a add.w r4, r3, #936 ; 0x3a8 - 801cefa: f507 6391 add.w r3, r7, #1160 ; 0x488 - 801cefe: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801cf02: f897 c95f ldrb.w ip, [r7, #2399] - 801cf06: 4618 mov r0, r3 - 801cf08: f8df 1458 ldr.w r1, [pc, #1112] ; 801d364 <_ZN14RamasserVerresC1Ev+0xd80> - 801cf0c: f8df 2470 ldr.w r2, [pc, #1136] ; 801d380 <_ZN14RamasserVerresC1Ev+0xd9c> - 801cf10: 4663 mov r3, ip - 801cf12: f7fa fc4d bl 80177b0 <_ZN8PositionC1Effb> - 801cf16: f507 618b add.w r1, r7, #1112 ; 0x458 - 801cf1a: f1a1 0104 sub.w r1, r1, #4 ; 0x4 - 801cf1e: f507 6391 add.w r3, r7, #1160 ; 0x488 - 801cf22: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801cf26: f8df 2418 ldr.w r2, [pc, #1048] ; 801d340 <_ZN14RamasserVerresC1Ev+0xd5c> - 801cf2a: 9200 str r2, [sp, #0] - 801cf2c: 4608 mov r0, r1 - 801cf2e: e893 0006 ldmia.w r3, {r1, r2} - 801cf32: f04f 0300 mov.w r3, #0 ; 0x0 - 801cf36: f7fb f973 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801cf3a: f507 638b add.w r3, r7, #1112 ; 0x458 - 801cf3e: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801cf42: 4620 mov r0, r4 - 801cf44: 4619 mov r1, r3 - 801cf46: f011 ff57 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801cf4a: f507 638b add.w r3, r7, #1112 ; 0x458 - 801cf4e: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801cf52: 4618 mov r0, r3 - 801cf54: f7fb f92c bl 80181b0 <_ZN10ActionGoToD1Ev> - positionsToGo[2][6] = ActionGoTo(Position(350, 450, isBlue), true); - 801cf58: f107 0328 add.w r3, r7, #40 ; 0x28 - 801cf5c: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801cf60: 681b ldr r3, [r3, #0] - 801cf62: f503 7476 add.w r4, r3, #984 ; 0x3d8 - 801cf66: f507 6399 add.w r3, r7, #1224 ; 0x4c8 - 801cf6a: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801cf6e: f897 c95f ldrb.w ip, [r7, #2399] - 801cf72: 4618 mov r0, r3 - 801cf74: 49fb ldr r1, [pc, #1004] (801d364 <_ZN14RamasserVerresC1Ev+0xd80>) - 801cf76: f8df 2408 ldr.w r2, [pc, #1032] ; 801d380 <_ZN14RamasserVerresC1Ev+0xd9c> - 801cf7a: 4663 mov r3, ip - 801cf7c: f7fa fc18 bl 80177b0 <_ZN8PositionC1Effb> - 801cf80: f507 6193 add.w r1, r7, #1176 ; 0x498 - 801cf84: f1a1 010c sub.w r1, r1, #12 ; 0xc - 801cf88: f507 6399 add.w r3, r7, #1224 ; 0x4c8 - 801cf8c: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801cf90: 4aeb ldr r2, [pc, #940] (801d340 <_ZN14RamasserVerresC1Ev+0xd5c>) - 801cf92: 9200 str r2, [sp, #0] - 801cf94: 4608 mov r0, r1 - 801cf96: e893 0006 ldmia.w r3, {r1, r2} - 801cf9a: f04f 0301 mov.w r3, #1 ; 0x1 - 801cf9e: f7fb f93f bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801cfa2: f507 6393 add.w r3, r7, #1176 ; 0x498 - 801cfa6: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801cfaa: 4620 mov r0, r4 - 801cfac: 4619 mov r1, r3 - 801cfae: f011 ff23 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801cfb2: f507 6393 add.w r3, r7, #1176 ; 0x498 - 801cfb6: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801cfba: 4618 mov r0, r3 - 801cfbc: f7fb f8f8 bl 80181b0 <_ZN10ActionGoToD1Ev> - - - positionsToGo[3][0] = ActionGoTo(Position(600, 800, isBlue), false); - 801cfc0: f107 0328 add.w r3, r7, #40 ; 0x28 - 801cfc4: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801cfc8: 681b ldr r3, [r3, #0] - 801cfca: f503 6481 add.w r4, r3, #1032 ; 0x408 - 801cfce: f507 639f add.w r3, r7, #1272 ; 0x4f8 - 801cfd2: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801cfd6: f897 c95f ldrb.w ip, [r7, #2399] - 801cfda: 4618 mov r0, r3 - 801cfdc: 49d9 ldr r1, [pc, #868] (801d344 <_ZN14RamasserVerresC1Ev+0xd60>) - 801cfde: 4ae6 ldr r2, [pc, #920] (801d378 <_ZN14RamasserVerresC1Ev+0xd94>) - 801cfe0: 4663 mov r3, ip - 801cfe2: f7fa fbe5 bl 80177b0 <_ZN8PositionC1Effb> - 801cfe6: f507 6199 add.w r1, r7, #1224 ; 0x4c8 - 801cfea: f1a1 0104 sub.w r1, r1, #4 ; 0x4 - 801cfee: f507 639f add.w r3, r7, #1272 ; 0x4f8 - 801cff2: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801cff6: 4ad2 ldr r2, [pc, #840] (801d340 <_ZN14RamasserVerresC1Ev+0xd5c>) - 801cff8: 9200 str r2, [sp, #0] - 801cffa: 4608 mov r0, r1 - 801cffc: e893 0006 ldmia.w r3, {r1, r2} - 801d000: f04f 0300 mov.w r3, #0 ; 0x0 - 801d004: f7fb f90c bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801d008: f507 6399 add.w r3, r7, #1224 ; 0x4c8 - 801d00c: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801d010: 4620 mov r0, r4 - 801d012: 4619 mov r1, r3 - 801d014: f011 fef0 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801d018: f507 6399 add.w r3, r7, #1224 ; 0x4c8 - 801d01c: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801d020: 4618 mov r0, r3 - 801d022: f7fb f8c5 bl 80181b0 <_ZN10ActionGoToD1Ev> - //positionsToGo[2][1] = new ActionGoTo(Position(2100, 800, isBlue), false); - positionsToGo[3][1] = ActionGoTo(Position(2100, 800, isBlue), false); - 801d026: f107 0328 add.w r3, r7, #40 ; 0x28 - 801d02a: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801d02e: 681b ldr r3, [r3, #0] - 801d030: f503 6487 add.w r4, r3, #1080 ; 0x438 - 801d034: f507 63a7 add.w r3, r7, #1336 ; 0x538 - 801d038: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801d03c: f897 c95f ldrb.w ip, [r7, #2399] - 801d040: 4618 mov r0, r3 - 801d042: 49c4 ldr r1, [pc, #784] (801d354 <_ZN14RamasserVerresC1Ev+0xd70>) - 801d044: 4acc ldr r2, [pc, #816] (801d378 <_ZN14RamasserVerresC1Ev+0xd94>) - 801d046: 4663 mov r3, ip - 801d048: f7fa fbb2 bl 80177b0 <_ZN8PositionC1Effb> - 801d04c: f507 61a1 add.w r1, r7, #1288 ; 0x508 - 801d050: f1a1 010c sub.w r1, r1, #12 ; 0xc - 801d054: f507 63a7 add.w r3, r7, #1336 ; 0x538 - 801d058: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801d05c: 4ab8 ldr r2, [pc, #736] (801d340 <_ZN14RamasserVerresC1Ev+0xd5c>) - 801d05e: 9200 str r2, [sp, #0] - 801d060: 4608 mov r0, r1 - 801d062: e893 0006 ldmia.w r3, {r1, r2} - 801d066: f04f 0300 mov.w r3, #0 ; 0x0 - 801d06a: f7fb f8d9 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801d06e: f507 63a1 add.w r3, r7, #1288 ; 0x508 - 801d072: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801d076: 4620 mov r0, r4 - 801d078: 4619 mov r1, r3 - 801d07a: f011 febd bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801d07e: f507 63a1 add.w r3, r7, #1288 ; 0x508 - 801d082: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801d086: 4618 mov r0, r3 - 801d088: f7fb f892 bl 80181b0 <_ZN10ActionGoToD1Ev> - //positionsToGo[2][2] = new ActionGoTo(Position(2100, 550, isBlue), false); - positionsToGo[3][2] = ActionGoTo(Position(2100, 1200, isBlue), false); - 801d08c: f107 0328 add.w r3, r7, #40 ; 0x28 - 801d090: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801d094: 681b ldr r3, [r3, #0] - 801d096: f503 648d add.w r4, r3, #1128 ; 0x468 - 801d09a: f507 63ad add.w r3, r7, #1384 ; 0x568 - 801d09e: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801d0a2: f897 c95f ldrb.w ip, [r7, #2399] - 801d0a6: 4618 mov r0, r3 - 801d0a8: 49aa ldr r1, [pc, #680] (801d354 <_ZN14RamasserVerresC1Ev+0xd70>) - 801d0aa: 4ab6 ldr r2, [pc, #728] (801d384 <_ZN14RamasserVerresC1Ev+0xda0>) - 801d0ac: 4663 mov r3, ip - 801d0ae: f7fa fb7f bl 80177b0 <_ZN8PositionC1Effb> - 801d0b2: f507 61a7 add.w r1, r7, #1336 ; 0x538 - 801d0b6: f1a1 0104 sub.w r1, r1, #4 ; 0x4 - 801d0ba: f507 63ad add.w r3, r7, #1384 ; 0x568 - 801d0be: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801d0c2: 4a9f ldr r2, [pc, #636] (801d340 <_ZN14RamasserVerresC1Ev+0xd5c>) - 801d0c4: 9200 str r2, [sp, #0] - 801d0c6: 4608 mov r0, r1 - 801d0c8: e893 0006 ldmia.w r3, {r1, r2} - 801d0cc: f04f 0300 mov.w r3, #0 ; 0x0 - 801d0d0: f7fb f8a6 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801d0d4: f507 63a7 add.w r3, r7, #1336 ; 0x538 - 801d0d8: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801d0dc: 4620 mov r0, r4 - 801d0de: 4619 mov r1, r3 - 801d0e0: f011 fe8a bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801d0e4: f507 63a7 add.w r3, r7, #1336 ; 0x538 - 801d0e8: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801d0ec: 4618 mov r0, r3 - 801d0ee: f7fb f85f bl 80181b0 <_ZN10ActionGoToD1Ev> - positionsToGo[3][3] = ActionGoTo(Position(2100, 1050, isBlue), false); - 801d0f2: f107 0328 add.w r3, r7, #40 ; 0x28 - 801d0f6: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801d0fa: 681b ldr r3, [r3, #0] - 801d0fc: f503 6493 add.w r4, r3, #1176 ; 0x498 - 801d100: f507 63b2 add.w r3, r7, #1424 ; 0x590 - 801d104: f103 030c add.w r3, r3, #12 ; 0xc - 801d108: f897 c95f ldrb.w ip, [r7, #2399] - 801d10c: 4618 mov r0, r3 - 801d10e: 4991 ldr r1, [pc, #580] (801d354 <_ZN14RamasserVerresC1Ev+0xd70>) - 801d110: 4a92 ldr r2, [pc, #584] (801d35c <_ZN14RamasserVerresC1Ev+0xd78>) - 801d112: 4663 mov r3, ip - 801d114: f7fa fb4c bl 80177b0 <_ZN8PositionC1Effb> - 801d118: f507 61ac add.w r1, r7, #1376 ; 0x560 - 801d11c: f101 010c add.w r1, r1, #12 ; 0xc - 801d120: f507 62b2 add.w r2, r7, #1424 ; 0x590 - 801d124: f102 020c add.w r2, r2, #12 ; 0xc - 801d128: 4b85 ldr r3, [pc, #532] (801d340 <_ZN14RamasserVerresC1Ev+0xd5c>) - 801d12a: 9300 str r3, [sp, #0] - 801d12c: 4608 mov r0, r1 - 801d12e: ca06 ldmia r2!, {r1, r2} - 801d130: f04f 0300 mov.w r3, #0 ; 0x0 - 801d134: f7fb f874 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801d138: f507 63ac add.w r3, r7, #1376 ; 0x560 - 801d13c: f103 030c add.w r3, r3, #12 ; 0xc - 801d140: 4620 mov r0, r4 - 801d142: 4619 mov r1, r3 - 801d144: f011 fe58 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801d148: f507 63ac add.w r3, r7, #1376 ; 0x560 - 801d14c: f103 030c add.w r3, r3, #12 ; 0xc - 801d150: 4618 mov r0, r3 - 801d152: f7fb f82d bl 80181b0 <_ZN10ActionGoToD1Ev> - positionsToGo[3][4] = ActionGoTo(Position(1500, 1050, isBlue), false); - 801d156: f107 0328 add.w r3, r7, #40 ; 0x28 - 801d15a: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801d15e: 681b ldr r3, [r3, #0] - 801d160: f503 6499 add.w r4, r3, #1224 ; 0x4c8 - 801d164: f507 63ba add.w r3, r7, #1488 ; 0x5d0 - 801d168: f103 0304 add.w r3, r3, #4 ; 0x4 - 801d16c: f897 c95f ldrb.w ip, [r7, #2399] - 801d170: 4618 mov r0, r3 - 801d172: 4985 ldr r1, [pc, #532] (801d388 <_ZN14RamasserVerresC1Ev+0xda4>) - 801d174: 4a79 ldr r2, [pc, #484] (801d35c <_ZN14RamasserVerresC1Ev+0xd78>) - 801d176: 4663 mov r3, ip - 801d178: f7fa fb1a bl 80177b0 <_ZN8PositionC1Effb> - 801d17c: f507 61b4 add.w r1, r7, #1440 ; 0x5a0 - 801d180: f101 0104 add.w r1, r1, #4 ; 0x4 - 801d184: f507 62ba add.w r2, r7, #1488 ; 0x5d0 - 801d188: f102 0204 add.w r2, r2, #4 ; 0x4 - 801d18c: 4b6c ldr r3, [pc, #432] (801d340 <_ZN14RamasserVerresC1Ev+0xd5c>) - 801d18e: 9300 str r3, [sp, #0] - 801d190: 4608 mov r0, r1 - 801d192: ca06 ldmia r2!, {r1, r2} - 801d194: f04f 0300 mov.w r3, #0 ; 0x0 - 801d198: f7fb f842 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801d19c: f507 63b4 add.w r3, r7, #1440 ; 0x5a0 - 801d1a0: f103 0304 add.w r3, r3, #4 ; 0x4 - 801d1a4: 4620 mov r0, r4 - 801d1a6: 4619 mov r1, r3 - 801d1a8: f011 fe26 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801d1ac: f507 63b4 add.w r3, r7, #1440 ; 0x5a0 - 801d1b0: f103 0304 add.w r3, r3, #4 ; 0x4 - 801d1b4: 4618 mov r0, r3 - 801d1b6: f7fa fffb bl 80181b0 <_ZN10ActionGoToD1Ev> - positionsToGo[3][5] = ActionGoTo(Position(350, 350, isBlue), false); - 801d1ba: f107 0328 add.w r3, r7, #40 ; 0x28 - 801d1be: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801d1c2: 681b ldr r3, [r3, #0] - 801d1c4: f503 649f add.w r4, r3, #1272 ; 0x4f8 - 801d1c8: f507 63c0 add.w r3, r7, #1536 ; 0x600 - 801d1cc: f103 030c add.w r3, r3, #12 ; 0xc - 801d1d0: f897 c95f ldrb.w ip, [r7, #2399] - 801d1d4: 4618 mov r0, r3 - 801d1d6: 4963 ldr r1, [pc, #396] (801d364 <_ZN14RamasserVerresC1Ev+0xd80>) - 801d1d8: 4a62 ldr r2, [pc, #392] (801d364 <_ZN14RamasserVerresC1Ev+0xd80>) - 801d1da: 4663 mov r3, ip - 801d1dc: f7fa fae8 bl 80177b0 <_ZN8PositionC1Effb> - 801d1e0: f507 61ba add.w r1, r7, #1488 ; 0x5d0 - 801d1e4: f101 010c add.w r1, r1, #12 ; 0xc - 801d1e8: f507 62c0 add.w r2, r7, #1536 ; 0x600 - 801d1ec: f102 020c add.w r2, r2, #12 ; 0xc - 801d1f0: 4b53 ldr r3, [pc, #332] (801d340 <_ZN14RamasserVerresC1Ev+0xd5c>) - 801d1f2: 9300 str r3, [sp, #0] - 801d1f4: 4608 mov r0, r1 - 801d1f6: ca06 ldmia r2!, {r1, r2} - 801d1f8: f04f 0300 mov.w r3, #0 ; 0x0 - 801d1fc: f7fb f810 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801d200: f507 63ba add.w r3, r7, #1488 ; 0x5d0 - 801d204: f103 030c add.w r3, r3, #12 ; 0xc - 801d208: 4620 mov r0, r4 - 801d20a: 4619 mov r1, r3 - 801d20c: f011 fdf4 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801d210: f507 63ba add.w r3, r7, #1488 ; 0x5d0 - 801d214: f103 030c add.w r3, r3, #12 ; 0xc - 801d218: 4618 mov r0, r3 - 801d21a: f7fa ffc9 bl 80181b0 <_ZN10ActionGoToD1Ev> - positionsToGo[3][6] = ActionGoTo(Position(30, 1050, isBlue), true); - 801d21e: f107 0328 add.w r3, r7, #40 ; 0x28 - 801d222: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801d226: 681b ldr r3, [r3, #0] - 801d228: f503 64a5 add.w r4, r3, #1320 ; 0x528 - 801d22c: f507 63c8 add.w r3, r7, #1600 ; 0x640 - 801d230: f103 0304 add.w r3, r3, #4 ; 0x4 - 801d234: f897 c95f ldrb.w ip, [r7, #2399] - 801d238: 4618 mov r0, r3 - 801d23a: 4941 ldr r1, [pc, #260] (801d340 <_ZN14RamasserVerresC1Ev+0xd5c>) - 801d23c: 4a47 ldr r2, [pc, #284] (801d35c <_ZN14RamasserVerresC1Ev+0xd78>) - 801d23e: 4663 mov r3, ip - 801d240: f7fa fab6 bl 80177b0 <_ZN8PositionC1Effb> - 801d244: f507 61c2 add.w r1, r7, #1552 ; 0x610 - 801d248: f101 0104 add.w r1, r1, #4 ; 0x4 - 801d24c: f507 62c8 add.w r2, r7, #1600 ; 0x640 - 801d250: f102 0204 add.w r2, r2, #4 ; 0x4 - 801d254: 4b3a ldr r3, [pc, #232] (801d340 <_ZN14RamasserVerresC1Ev+0xd5c>) - 801d256: 9300 str r3, [sp, #0] - 801d258: 4608 mov r0, r1 - 801d25a: ca06 ldmia r2!, {r1, r2} - 801d25c: f04f 0301 mov.w r3, #1 ; 0x1 - 801d260: f7fa ffde bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801d264: f507 63c2 add.w r3, r7, #1552 ; 0x610 - 801d268: f103 0304 add.w r3, r3, #4 ; 0x4 - 801d26c: 4620 mov r0, r4 - 801d26e: 4619 mov r1, r3 - 801d270: f011 fdc2 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801d274: f507 63c2 add.w r3, r7, #1552 ; 0x610 - 801d278: f103 0304 add.w r3, r3, #4 ; 0x4 - 801d27c: 4618 mov r0, r3 - 801d27e: f7fa ff97 bl 80181b0 <_ZN10ActionGoToD1Ev> - - - positionsToGo[4][0] = ActionGoTo(Position(600, 1050, isBlue), false); - 801d282: f107 0328 add.w r3, r7, #40 ; 0x28 - 801d286: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801d28a: 681b ldr r3, [r3, #0] - 801d28c: f503 64ab add.w r4, r3, #1368 ; 0x558 - 801d290: f507 63ce add.w r3, r7, #1648 ; 0x670 - 801d294: f103 030c add.w r3, r3, #12 ; 0xc - 801d298: f897 c95f ldrb.w ip, [r7, #2399] - 801d29c: 4618 mov r0, r3 - 801d29e: 4929 ldr r1, [pc, #164] (801d344 <_ZN14RamasserVerresC1Ev+0xd60>) - 801d2a0: 4a2e ldr r2, [pc, #184] (801d35c <_ZN14RamasserVerresC1Ev+0xd78>) - 801d2a2: 4663 mov r3, ip - 801d2a4: f7fa fa84 bl 80177b0 <_ZN8PositionC1Effb> - 801d2a8: f507 61c8 add.w r1, r7, #1600 ; 0x640 - 801d2ac: f101 010c add.w r1, r1, #12 ; 0xc - 801d2b0: f507 62ce add.w r2, r7, #1648 ; 0x670 - 801d2b4: f102 020c add.w r2, r2, #12 ; 0xc - 801d2b8: 4b21 ldr r3, [pc, #132] (801d340 <_ZN14RamasserVerresC1Ev+0xd5c>) - 801d2ba: 9300 str r3, [sp, #0] - 801d2bc: 4608 mov r0, r1 - 801d2be: ca06 ldmia r2!, {r1, r2} - 801d2c0: f04f 0300 mov.w r3, #0 ; 0x0 - 801d2c4: f7fa ffac bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801d2c8: f507 63c8 add.w r3, r7, #1600 ; 0x640 - 801d2cc: f103 030c add.w r3, r3, #12 ; 0xc - 801d2d0: 4620 mov r0, r4 - 801d2d2: 4619 mov r1, r3 - 801d2d4: f011 fd90 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801d2d8: f507 63c8 add.w r3, r7, #1600 ; 0x640 - 801d2dc: f103 030c add.w r3, r3, #12 ; 0xc - 801d2e0: 4618 mov r0, r3 - 801d2e2: f7fa ff65 bl 80181b0 <_ZN10ActionGoToD1Ev> - //positionsToGo[2][1] = new ActionGoTo(Position(2100, 800, isBlue), false); - positionsToGo[4][1] = ActionGoTo(Position(2100, 550, isBlue), false); - 801d2e6: f107 0328 add.w r3, r7, #40 ; 0x28 - 801d2ea: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801d2ee: 681b ldr r3, [r3, #0] - 801d2f0: f503 64b1 add.w r4, r3, #1416 ; 0x588 - 801d2f4: f507 63d6 add.w r3, r7, #1712 ; 0x6b0 - 801d2f8: f103 0304 add.w r3, r3, #4 ; 0x4 - 801d2fc: f897 c95f ldrb.w ip, [r7, #2399] - 801d300: 4618 mov r0, r3 - 801d302: 4914 ldr r1, [pc, #80] (801d354 <_ZN14RamasserVerresC1Ev+0xd70>) - 801d304: 4a1d ldr r2, [pc, #116] (801d37c <_ZN14RamasserVerresC1Ev+0xd98>) - 801d306: 4663 mov r3, ip - 801d308: f7fa fa52 bl 80177b0 <_ZN8PositionC1Effb> - 801d30c: f507 61d0 add.w r1, r7, #1664 ; 0x680 - 801d310: f101 0104 add.w r1, r1, #4 ; 0x4 - 801d314: f507 62d6 add.w r2, r7, #1712 ; 0x6b0 - 801d318: f102 0204 add.w r2, r2, #4 ; 0x4 - 801d31c: 4b08 ldr r3, [pc, #32] (801d340 <_ZN14RamasserVerresC1Ev+0xd5c>) - 801d31e: 9300 str r3, [sp, #0] - 801d320: 4608 mov r0, r1 - 801d322: ca06 ldmia r2!, {r1, r2} - 801d324: f04f 0300 mov.w r3, #0 ; 0x0 - 801d328: f7fa ff7a bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801d32c: f507 63d0 add.w r3, r7, #1664 ; 0x680 - 801d330: f103 0304 add.w r3, r3, #4 ; 0x4 - 801d334: 4620 mov r0, r4 - 801d336: 4619 mov r1, r3 - 801d338: e028 b.n 801d38c <_ZN14RamasserVerresC1Ev+0xda8> - 801d33a: 46c0 nop (mov r8, r8) - 801d33c: 00000000 .word 0x00000000 - 801d340: 41f00000 .word 0x41f00000 - 801d344: 44160000 .word 0x44160000 - 801d348: 44a28000 .word 0x44a28000 - 801d34c: 442f0000 .word 0x442f0000 - 801d350: 44aa0000 .word 0x44aa0000 - 801d354: 45034000 .word 0x45034000 - 801d358: 449c4000 .word 0x449c4000 - 801d35c: 44834000 .word 0x44834000 - 801d360: 44610000 .word 0x44610000 - 801d364: 43af0000 .word 0x43af0000 - 801d368: 44a8c000 .word 0x44a8c000 - 801d36c: 443e0000 .word 0x443e0000 - 801d370: 43b90000 .word 0x43b90000 - 801d374: 43fa0000 .word 0x43fa0000 - 801d378: 44480000 .word 0x44480000 - 801d37c: 44098000 .word 0x44098000 - 801d380: 43e10000 .word 0x43e10000 - 801d384: 44960000 .word 0x44960000 - 801d388: 44bb8000 .word 0x44bb8000 - 801d38c: f011 fd34 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801d390: f507 63d0 add.w r3, r7, #1664 ; 0x680 - 801d394: f103 0304 add.w r3, r3, #4 ; 0x4 - 801d398: 4618 mov r0, r3 - 801d39a: f7fa ff09 bl 80181b0 <_ZN10ActionGoToD1Ev> - //positionsToGo[2][2] = new ActionGoTo(Position(2100, 550, isBlue), false); - positionsToGo[4][2] = ActionGoTo(Position(2100, 1050, isBlue), false); - 801d39e: f107 0328 add.w r3, r7, #40 ; 0x28 - 801d3a2: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801d3a6: 681b ldr r3, [r3, #0] - 801d3a8: f503 64b7 add.w r4, r3, #1464 ; 0x5b8 - 801d3ac: f507 63dc add.w r3, r7, #1760 ; 0x6e0 - 801d3b0: f103 030c add.w r3, r3, #12 ; 0xc - 801d3b4: f897 c95f ldrb.w ip, [r7, #2399] - 801d3b8: 4618 mov r0, r3 - 801d3ba: f8df 1564 ldr.w r1, [pc, #1380] ; 801d920 <_ZN14RamasserVerresC1Ev+0x133c> - 801d3be: f8df 2564 ldr.w r2, [pc, #1380] ; 801d924 <_ZN14RamasserVerresC1Ev+0x1340> - 801d3c2: 4663 mov r3, ip - 801d3c4: f7fa f9f4 bl 80177b0 <_ZN8PositionC1Effb> - 801d3c8: f507 61d6 add.w r1, r7, #1712 ; 0x6b0 - 801d3cc: f101 010c add.w r1, r1, #12 ; 0xc - 801d3d0: f507 62dc add.w r2, r7, #1760 ; 0x6e0 - 801d3d4: f102 020c add.w r2, r2, #12 ; 0xc - 801d3d8: f8df 354c ldr.w r3, [pc, #1356] ; 801d928 <_ZN14RamasserVerresC1Ev+0x1344> - 801d3dc: 9300 str r3, [sp, #0] - 801d3de: 4608 mov r0, r1 - 801d3e0: ca06 ldmia r2!, {r1, r2} - 801d3e2: f04f 0300 mov.w r3, #0 ; 0x0 - 801d3e6: f7fa ff1b bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801d3ea: f507 63d6 add.w r3, r7, #1712 ; 0x6b0 - 801d3ee: f103 030c add.w r3, r3, #12 ; 0xc - 801d3f2: 4620 mov r0, r4 - 801d3f4: 4619 mov r1, r3 - 801d3f6: f011 fcff bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801d3fa: f507 63d6 add.w r3, r7, #1712 ; 0x6b0 - 801d3fe: f103 030c add.w r3, r3, #12 ; 0xc - 801d402: 4618 mov r0, r3 - 801d404: f7fa fed4 bl 80181b0 <_ZN10ActionGoToD1Ev> - positionsToGo[4][3] = ActionGoTo(Position(2100, 800, isBlue), false); - 801d408: f107 0328 add.w r3, r7, #40 ; 0x28 - 801d40c: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801d410: 681b ldr r3, [r3, #0] - 801d412: f503 64bd add.w r4, r3, #1512 ; 0x5e8 - 801d416: f507 63e4 add.w r3, r7, #1824 ; 0x720 - 801d41a: f103 0304 add.w r3, r3, #4 ; 0x4 - 801d41e: f897 c95f ldrb.w ip, [r7, #2399] - 801d422: 4618 mov r0, r3 - 801d424: f8df 14f8 ldr.w r1, [pc, #1272] ; 801d920 <_ZN14RamasserVerresC1Ev+0x133c> - 801d428: f8df 2500 ldr.w r2, [pc, #1280] ; 801d92c <_ZN14RamasserVerresC1Ev+0x1348> - 801d42c: 4663 mov r3, ip - 801d42e: f7fa f9bf bl 80177b0 <_ZN8PositionC1Effb> - 801d432: f507 61de add.w r1, r7, #1776 ; 0x6f0 - 801d436: f101 0104 add.w r1, r1, #4 ; 0x4 - 801d43a: f507 62e4 add.w r2, r7, #1824 ; 0x720 - 801d43e: f102 0204 add.w r2, r2, #4 ; 0x4 - 801d442: f8df 34e4 ldr.w r3, [pc, #1252] ; 801d928 <_ZN14RamasserVerresC1Ev+0x1344> - 801d446: 9300 str r3, [sp, #0] - 801d448: 4608 mov r0, r1 - 801d44a: ca06 ldmia r2!, {r1, r2} - 801d44c: f04f 0300 mov.w r3, #0 ; 0x0 - 801d450: f7fa fee6 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801d454: f507 63de add.w r3, r7, #1776 ; 0x6f0 - 801d458: f103 0304 add.w r3, r3, #4 ; 0x4 - 801d45c: 4620 mov r0, r4 - 801d45e: 4619 mov r1, r3 - 801d460: f011 fcca bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801d464: f507 63de add.w r3, r7, #1776 ; 0x6f0 - 801d468: f103 0304 add.w r3, r3, #4 ; 0x4 - 801d46c: 4618 mov r0, r3 - 801d46e: f7fa fe9f bl 80181b0 <_ZN10ActionGoToD1Ev> - positionsToGo[4][4] = ActionGoTo(Position(1500, 800, isBlue), false); - 801d472: f107 0328 add.w r3, r7, #40 ; 0x28 - 801d476: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801d47a: 681b ldr r3, [r3, #0] - 801d47c: f503 64c3 add.w r4, r3, #1560 ; 0x618 - 801d480: f507 63ea add.w r3, r7, #1872 ; 0x750 - 801d484: f103 030c add.w r3, r3, #12 ; 0xc - 801d488: f897 c95f ldrb.w ip, [r7, #2399] - 801d48c: 4618 mov r0, r3 - 801d48e: f8df 14a0 ldr.w r1, [pc, #1184] ; 801d930 <_ZN14RamasserVerresC1Ev+0x134c> - 801d492: f8df 2498 ldr.w r2, [pc, #1176] ; 801d92c <_ZN14RamasserVerresC1Ev+0x1348> - 801d496: 4663 mov r3, ip - 801d498: f7fa f98a bl 80177b0 <_ZN8PositionC1Effb> - 801d49c: f507 61e4 add.w r1, r7, #1824 ; 0x720 - 801d4a0: f101 010c add.w r1, r1, #12 ; 0xc - 801d4a4: f507 62ea add.w r2, r7, #1872 ; 0x750 - 801d4a8: f102 020c add.w r2, r2, #12 ; 0xc - 801d4ac: f8df 3478 ldr.w r3, [pc, #1144] ; 801d928 <_ZN14RamasserVerresC1Ev+0x1344> - 801d4b0: 9300 str r3, [sp, #0] - 801d4b2: 4608 mov r0, r1 - 801d4b4: ca06 ldmia r2!, {r1, r2} - 801d4b6: f04f 0300 mov.w r3, #0 ; 0x0 - 801d4ba: f7fa feb1 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801d4be: f507 63e4 add.w r3, r7, #1824 ; 0x720 - 801d4c2: f103 030c add.w r3, r3, #12 ; 0xc - 801d4c6: 4620 mov r0, r4 - 801d4c8: 4619 mov r1, r3 - 801d4ca: f011 fc95 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801d4ce: f507 63e4 add.w r3, r7, #1824 ; 0x720 - 801d4d2: f103 030c add.w r3, r3, #12 ; 0xc - 801d4d6: 4618 mov r0, r3 - 801d4d8: f7fa fe6a bl 80181b0 <_ZN10ActionGoToD1Ev> - positionsToGo[4][5] = ActionGoTo(Position(350, 350, isBlue), false); - 801d4dc: f107 0328 add.w r3, r7, #40 ; 0x28 - 801d4e0: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801d4e4: 681b ldr r3, [r3, #0] - 801d4e6: f503 64c9 add.w r4, r3, #1608 ; 0x648 - 801d4ea: f507 63f2 add.w r3, r7, #1936 ; 0x790 - 801d4ee: f103 0304 add.w r3, r3, #4 ; 0x4 - 801d4f2: f897 c95f ldrb.w ip, [r7, #2399] - 801d4f6: 4618 mov r0, r3 - 801d4f8: f8df 1438 ldr.w r1, [pc, #1080] ; 801d934 <_ZN14RamasserVerresC1Ev+0x1350> - 801d4fc: f8df 2434 ldr.w r2, [pc, #1076] ; 801d934 <_ZN14RamasserVerresC1Ev+0x1350> - 801d500: 4663 mov r3, ip - 801d502: f7fa f955 bl 80177b0 <_ZN8PositionC1Effb> - 801d506: f507 61ec add.w r1, r7, #1888 ; 0x760 - 801d50a: f101 0104 add.w r1, r1, #4 ; 0x4 - 801d50e: f507 62f2 add.w r2, r7, #1936 ; 0x790 - 801d512: f102 0204 add.w r2, r2, #4 ; 0x4 - 801d516: f8df 3410 ldr.w r3, [pc, #1040] ; 801d928 <_ZN14RamasserVerresC1Ev+0x1344> - 801d51a: 9300 str r3, [sp, #0] - 801d51c: 4608 mov r0, r1 - 801d51e: ca06 ldmia r2!, {r1, r2} - 801d520: f04f 0300 mov.w r3, #0 ; 0x0 - 801d524: f7fa fe7c bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801d528: f507 63ec add.w r3, r7, #1888 ; 0x760 - 801d52c: f103 0304 add.w r3, r3, #4 ; 0x4 - 801d530: 4620 mov r0, r4 - 801d532: 4619 mov r1, r3 - 801d534: f011 fc60 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801d538: f507 63ec add.w r3, r7, #1888 ; 0x760 - 801d53c: f103 0304 add.w r3, r3, #4 ; 0x4 - 801d540: 4618 mov r0, r3 - 801d542: f7fa fe35 bl 80181b0 <_ZN10ActionGoToD1Ev> - positionsToGo[4][6] = ActionGoTo(Position(1500, 800, isBlue), true); - 801d546: f107 0328 add.w r3, r7, #40 ; 0x28 - 801d54a: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801d54e: 681b ldr r3, [r3, #0] - 801d550: f503 64cf add.w r4, r3, #1656 ; 0x678 - 801d554: f507 63f8 add.w r3, r7, #1984 ; 0x7c0 - 801d558: f103 030c add.w r3, r3, #12 ; 0xc - 801d55c: f897 c95f ldrb.w ip, [r7, #2399] - 801d560: 4618 mov r0, r3 - 801d562: 49f3 ldr r1, [pc, #972] (801d930 <_ZN14RamasserVerresC1Ev+0x134c>) - 801d564: 4af1 ldr r2, [pc, #964] (801d92c <_ZN14RamasserVerresC1Ev+0x1348>) - 801d566: 4663 mov r3, ip - 801d568: f7fa f922 bl 80177b0 <_ZN8PositionC1Effb> - 801d56c: f507 61f2 add.w r1, r7, #1936 ; 0x790 - 801d570: f101 010c add.w r1, r1, #12 ; 0xc - 801d574: f507 62f8 add.w r2, r7, #1984 ; 0x7c0 - 801d578: f102 020c add.w r2, r2, #12 ; 0xc - 801d57c: 4bea ldr r3, [pc, #936] (801d928 <_ZN14RamasserVerresC1Ev+0x1344>) - 801d57e: 9300 str r3, [sp, #0] - 801d580: 4608 mov r0, r1 - 801d582: ca06 ldmia r2!, {r1, r2} - 801d584: f04f 0301 mov.w r3, #1 ; 0x1 - 801d588: f7fa fe4a bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801d58c: f507 63f2 add.w r3, r7, #1936 ; 0x790 - 801d590: f103 030c add.w r3, r3, #12 ; 0xc - 801d594: 4620 mov r0, r4 - 801d596: 4619 mov r1, r3 - 801d598: f011 fc2e bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801d59c: f507 63f2 add.w r3, r7, #1936 ; 0x790 - 801d5a0: f103 030c add.w r3, r3, #12 ; 0xc - 801d5a4: 4618 mov r0, r3 - 801d5a6: f7fa fe03 bl 80181b0 <_ZN10ActionGoToD1Ev> - - - positionsToGo[5][0] = ActionGoTo(Position(600, 800, isBlue), false); - 801d5aa: f107 0328 add.w r3, r7, #40 ; 0x28 - 801d5ae: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801d5b2: 681b ldr r3, [r3, #0] - 801d5b4: f503 64d5 add.w r4, r3, #1704 ; 0x6a8 - 801d5b8: f507 6300 add.w r3, r7, #2048 ; 0x800 - 801d5bc: f103 0304 add.w r3, r3, #4 ; 0x4 - 801d5c0: f897 c95f ldrb.w ip, [r7, #2399] - 801d5c4: 4618 mov r0, r3 - 801d5c6: 49dc ldr r1, [pc, #880] (801d938 <_ZN14RamasserVerresC1Ev+0x1354>) - 801d5c8: 4ad8 ldr r2, [pc, #864] (801d92c <_ZN14RamasserVerresC1Ev+0x1348>) - 801d5ca: 4663 mov r3, ip - 801d5cc: f7fa f8f0 bl 80177b0 <_ZN8PositionC1Effb> - 801d5d0: f507 61fa add.w r1, r7, #2000 ; 0x7d0 - 801d5d4: f101 0104 add.w r1, r1, #4 ; 0x4 - 801d5d8: f507 6200 add.w r2, r7, #2048 ; 0x800 - 801d5dc: f102 0204 add.w r2, r2, #4 ; 0x4 - 801d5e0: 4bd1 ldr r3, [pc, #836] (801d928 <_ZN14RamasserVerresC1Ev+0x1344>) - 801d5e2: 9300 str r3, [sp, #0] - 801d5e4: 4608 mov r0, r1 - 801d5e6: ca06 ldmia r2!, {r1, r2} - 801d5e8: f04f 0300 mov.w r3, #0 ; 0x0 - 801d5ec: f7fa fe18 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801d5f0: f507 63fa add.w r3, r7, #2000 ; 0x7d0 - 801d5f4: f103 0304 add.w r3, r3, #4 ; 0x4 - 801d5f8: 4620 mov r0, r4 - 801d5fa: 4619 mov r1, r3 - 801d5fc: f011 fbfc bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801d600: f507 63fa add.w r3, r7, #2000 ; 0x7d0 - 801d604: f103 0304 add.w r3, r3, #4 ; 0x4 - 801d608: 4618 mov r0, r3 - 801d60a: f7fa fdd1 bl 80181b0 <_ZN10ActionGoToD1Ev> - //positionsToGo[2][1] = new ActionGoTo(Position(2100, 800, isBlue), false); - positionsToGo[5][1] = ActionGoTo(Position(2100, 800, isBlue), false); - 801d60e: f107 0328 add.w r3, r7, #40 ; 0x28 - 801d612: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801d616: 681b ldr r3, [r3, #0] - 801d618: f503 64db add.w r4, r3, #1752 ; 0x6d8 - 801d61c: f507 6302 add.w r3, r7, #2080 ; 0x820 - 801d620: f103 031c add.w r3, r3, #28 ; 0x1c - 801d624: f897 c95f ldrb.w ip, [r7, #2399] - 801d628: 4618 mov r0, r3 - 801d62a: 49bd ldr r1, [pc, #756] (801d920 <_ZN14RamasserVerresC1Ev+0x133c>) - 801d62c: 4abf ldr r2, [pc, #764] (801d92c <_ZN14RamasserVerresC1Ev+0x1348>) - 801d62e: 4663 mov r3, ip - 801d630: f7fa f8be bl 80177b0 <_ZN8PositionC1Effb> - 801d634: f507 6100 add.w r1, r7, #2048 ; 0x800 - 801d638: f101 010c add.w r1, r1, #12 ; 0xc - 801d63c: f507 6202 add.w r2, r7, #2080 ; 0x820 - 801d640: f102 021c add.w r2, r2, #28 ; 0x1c - 801d644: 4bb8 ldr r3, [pc, #736] (801d928 <_ZN14RamasserVerresC1Ev+0x1344>) - 801d646: 9300 str r3, [sp, #0] - 801d648: 4608 mov r0, r1 - 801d64a: ca06 ldmia r2!, {r1, r2} - 801d64c: f04f 0300 mov.w r3, #0 ; 0x0 - 801d650: f7fa fde6 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801d654: f507 6300 add.w r3, r7, #2048 ; 0x800 - 801d658: f103 030c add.w r3, r3, #12 ; 0xc - 801d65c: 4620 mov r0, r4 - 801d65e: 4619 mov r1, r3 - 801d660: f011 fbca bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801d664: f507 6300 add.w r3, r7, #2048 ; 0x800 - 801d668: f103 030c add.w r3, r3, #12 ; 0xc - 801d66c: 4618 mov r0, r3 - 801d66e: f7fa fd9f bl 80181b0 <_ZN10ActionGoToD1Ev> - //positionsToGo[2][2] = new ActionGoTo(Position(2100, 550, isBlue), false); - positionsToGo[5][2] = ActionGoTo(Position(2100, 800, isBlue), false); - 801d672: f107 0328 add.w r3, r7, #40 ; 0x28 - 801d676: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801d67a: 681b ldr r3, [r3, #0] - 801d67c: f503 64e1 add.w r4, r3, #1800 ; 0x708 - 801d680: f507 6306 add.w r3, r7, #2144 ; 0x860 - 801d684: f103 0314 add.w r3, r3, #20 ; 0x14 - 801d688: f897 c95f ldrb.w ip, [r7, #2399] - 801d68c: 4618 mov r0, r3 - 801d68e: 49a4 ldr r1, [pc, #656] (801d920 <_ZN14RamasserVerresC1Ev+0x133c>) - 801d690: 4aa6 ldr r2, [pc, #664] (801d92c <_ZN14RamasserVerresC1Ev+0x1348>) - 801d692: 4663 mov r3, ip - 801d694: f7fa f88c bl 80177b0 <_ZN8PositionC1Effb> - 801d698: f507 6204 add.w r2, r7, #2112 ; 0x840 - 801d69c: f102 0204 add.w r2, r2, #4 ; 0x4 - 801d6a0: 4ba1 ldr r3, [pc, #644] (801d928 <_ZN14RamasserVerresC1Ev+0x1344>) - 801d6a2: 9300 str r3, [sp, #0] - 801d6a4: 4610 mov r0, r2 - 801d6a6: f507 6306 add.w r3, r7, #2144 ; 0x860 - 801d6aa: f103 0314 add.w r3, r3, #20 ; 0x14 - 801d6ae: e893 0006 ldmia.w r3, {r1, r2} - 801d6b2: f04f 0300 mov.w r3, #0 ; 0x0 - 801d6b6: f7fa fdb3 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801d6ba: f507 6304 add.w r3, r7, #2112 ; 0x840 - 801d6be: f103 0304 add.w r3, r3, #4 ; 0x4 - 801d6c2: 4620 mov r0, r4 - 801d6c4: 4619 mov r1, r3 - 801d6c6: f011 fb97 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801d6ca: f507 6304 add.w r3, r7, #2112 ; 0x840 - 801d6ce: f103 0304 add.w r3, r3, #4 ; 0x4 - 801d6d2: 4618 mov r0, r3 - 801d6d4: f7fa fd6c bl 80181b0 <_ZN10ActionGoToD1Ev> - positionsToGo[5][3] = ActionGoTo(Position(2100, 550, isBlue), false); - 801d6d8: f107 0328 add.w r3, r7, #40 ; 0x28 - 801d6dc: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801d6e0: 681b ldr r3, [r3, #0] - 801d6e2: f503 64e7 add.w r4, r3, #1848 ; 0x738 - 801d6e6: f507 630a add.w r3, r7, #2208 ; 0x8a0 - 801d6ea: f103 030c add.w r3, r3, #12 ; 0xc - 801d6ee: f897 c95f ldrb.w ip, [r7, #2399] - 801d6f2: 4618 mov r0, r3 - 801d6f4: 498a ldr r1, [pc, #552] (801d920 <_ZN14RamasserVerresC1Ev+0x133c>) - 801d6f6: 4a91 ldr r2, [pc, #580] (801d93c <_ZN14RamasserVerresC1Ev+0x1358>) - 801d6f8: 4663 mov r3, ip - 801d6fa: f7fa f859 bl 80177b0 <_ZN8PositionC1Effb> - 801d6fe: f507 6206 add.w r2, r7, #2144 ; 0x860 - 801d702: f102 021c add.w r2, r2, #28 ; 0x1c - 801d706: 4b88 ldr r3, [pc, #544] (801d928 <_ZN14RamasserVerresC1Ev+0x1344>) - 801d708: 9300 str r3, [sp, #0] - 801d70a: 4610 mov r0, r2 - 801d70c: f507 630a add.w r3, r7, #2208 ; 0x8a0 - 801d710: f103 030c add.w r3, r3, #12 ; 0xc - 801d714: e893 0006 ldmia.w r3, {r1, r2} - 801d718: f04f 0300 mov.w r3, #0 ; 0x0 - 801d71c: f7fa fd80 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801d720: f507 6306 add.w r3, r7, #2144 ; 0x860 - 801d724: f103 031c add.w r3, r3, #28 ; 0x1c - 801d728: 4620 mov r0, r4 - 801d72a: 4619 mov r1, r3 - 801d72c: f011 fb64 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801d730: f507 6306 add.w r3, r7, #2144 ; 0x860 - 801d734: f103 031c add.w r3, r3, #28 ; 0x1c - 801d738: 4618 mov r0, r3 - 801d73a: f7fa fd39 bl 80181b0 <_ZN10ActionGoToD1Ev> - positionsToGo[5][4] = ActionGoTo(Position(1500, 550, isBlue), false); - 801d73e: f107 0328 add.w r3, r7, #40 ; 0x28 - 801d742: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801d746: 681b ldr r3, [r3, #0] - 801d748: f503 64ed add.w r4, r3, #1896 ; 0x768 - 801d74c: f507 630e add.w r3, r7, #2272 ; 0x8e0 - 801d750: f103 0304 add.w r3, r3, #4 ; 0x4 - 801d754: f897 c95f ldrb.w ip, [r7, #2399] - 801d758: 4618 mov r0, r3 - 801d75a: 4975 ldr r1, [pc, #468] (801d930 <_ZN14RamasserVerresC1Ev+0x134c>) - 801d75c: 4a77 ldr r2, [pc, #476] (801d93c <_ZN14RamasserVerresC1Ev+0x1358>) - 801d75e: 4663 mov r3, ip - 801d760: f7fa f826 bl 80177b0 <_ZN8PositionC1Effb> - 801d764: f507 620a add.w r2, r7, #2208 ; 0x8a0 - 801d768: f102 0214 add.w r2, r2, #20 ; 0x14 - 801d76c: 4b6e ldr r3, [pc, #440] (801d928 <_ZN14RamasserVerresC1Ev+0x1344>) - 801d76e: 9300 str r3, [sp, #0] - 801d770: 4610 mov r0, r2 - 801d772: f507 630e add.w r3, r7, #2272 ; 0x8e0 - 801d776: f103 0304 add.w r3, r3, #4 ; 0x4 - 801d77a: e893 0006 ldmia.w r3, {r1, r2} - 801d77e: f04f 0300 mov.w r3, #0 ; 0x0 - 801d782: f7fa fd4d bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801d786: f507 630a add.w r3, r7, #2208 ; 0x8a0 - 801d78a: f103 0314 add.w r3, r3, #20 ; 0x14 - 801d78e: 4620 mov r0, r4 - 801d790: 4619 mov r1, r3 - 801d792: f011 fb31 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801d796: f507 630a add.w r3, r7, #2208 ; 0x8a0 - 801d79a: f103 0314 add.w r3, r3, #20 ; 0x14 - 801d79e: 4618 mov r0, r3 - 801d7a0: f7fa fd06 bl 80181b0 <_ZN10ActionGoToD1Ev> - positionsToGo[5][5] = ActionGoTo(Position(350, 350, isBlue), false); - 801d7a4: f107 0328 add.w r3, r7, #40 ; 0x28 - 801d7a8: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801d7ac: 681b ldr r3, [r3, #0] - 801d7ae: f503 64f3 add.w r4, r3, #1944 ; 0x798 - 801d7b2: f507 6310 add.w r3, r7, #2304 ; 0x900 - 801d7b6: f103 031c add.w r3, r3, #28 ; 0x1c - 801d7ba: f897 c95f ldrb.w ip, [r7, #2399] - 801d7be: 4618 mov r0, r3 - 801d7c0: 495c ldr r1, [pc, #368] (801d934 <_ZN14RamasserVerresC1Ev+0x1350>) - 801d7c2: 4a5c ldr r2, [pc, #368] (801d934 <_ZN14RamasserVerresC1Ev+0x1350>) - 801d7c4: 4663 mov r3, ip - 801d7c6: f7f9 fff3 bl 80177b0 <_ZN8PositionC1Effb> - 801d7ca: f507 620e add.w r2, r7, #2272 ; 0x8e0 - 801d7ce: f102 020c add.w r2, r2, #12 ; 0xc - 801d7d2: 4b55 ldr r3, [pc, #340] (801d928 <_ZN14RamasserVerresC1Ev+0x1344>) - 801d7d4: 9300 str r3, [sp, #0] - 801d7d6: 4610 mov r0, r2 - 801d7d8: f507 6310 add.w r3, r7, #2304 ; 0x900 - 801d7dc: f103 031c add.w r3, r3, #28 ; 0x1c - 801d7e0: e893 0006 ldmia.w r3, {r1, r2} - 801d7e4: f04f 0300 mov.w r3, #0 ; 0x0 - 801d7e8: f7fa fd1a bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801d7ec: f507 630e add.w r3, r7, #2272 ; 0x8e0 - 801d7f0: f103 030c add.w r3, r3, #12 ; 0xc - 801d7f4: 4620 mov r0, r4 - 801d7f6: 4619 mov r1, r3 - 801d7f8: f011 fafe bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801d7fc: f507 630e add.w r3, r7, #2272 ; 0x8e0 - 801d800: f103 030c add.w r3, r3, #12 ; 0xc - 801d804: 4618 mov r0, r3 - 801d806: f7fa fcd3 bl 80181b0 <_ZN10ActionGoToD1Ev> - positionsToGo[5][6] = ActionGoTo(Position(1000, 1000, isBlue), true); - 801d80a: f107 0328 add.w r3, r7, #40 ; 0x28 - 801d80e: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801d812: 681b ldr r3, [r3, #0] - 801d814: f503 64f9 add.w r4, r3, #1992 ; 0x7c8 - 801d818: f507 6314 add.w r3, r7, #2368 ; 0x940 - 801d81c: f103 0314 add.w r3, r3, #20 ; 0x14 - 801d820: f897 c95f ldrb.w ip, [r7, #2399] - 801d824: 4618 mov r0, r3 - 801d826: 4946 ldr r1, [pc, #280] (801d940 <_ZN14RamasserVerresC1Ev+0x135c>) - 801d828: 4a45 ldr r2, [pc, #276] (801d940 <_ZN14RamasserVerresC1Ev+0x135c>) - 801d82a: 4663 mov r3, ip - 801d82c: f7f9 ffc0 bl 80177b0 <_ZN8PositionC1Effb> - 801d830: f507 6212 add.w r2, r7, #2336 ; 0x920 - 801d834: f102 0204 add.w r2, r2, #4 ; 0x4 - 801d838: 4b3b ldr r3, [pc, #236] (801d928 <_ZN14RamasserVerresC1Ev+0x1344>) - 801d83a: 9300 str r3, [sp, #0] - 801d83c: 4610 mov r0, r2 - 801d83e: f507 6314 add.w r3, r7, #2368 ; 0x940 - 801d842: f103 0314 add.w r3, r3, #20 ; 0x14 - 801d846: e893 0006 ldmia.w r3, {r1, r2} - 801d84a: f04f 0301 mov.w r3, #1 ; 0x1 - 801d84e: f7fa fce7 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801d852: f507 6312 add.w r3, r7, #2336 ; 0x920 - 801d856: f103 0304 add.w r3, r3, #4 ; 0x4 - 801d85a: 4620 mov r0, r4 - 801d85c: 4619 mov r1, r3 - 801d85e: f011 facb bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801d862: f507 6312 add.w r3, r7, #2336 ; 0x920 - 801d866: f103 0304 add.w r3, r3, #4 ; 0x4 - 801d86a: 4618 mov r0, r3 - 801d86c: f7fa fca0 bl 80181b0 <_ZN10ActionGoToD1Ev> - - - for (int i = 0; i < 6; i++) - 801d870: f04f 0300 mov.w r3, #0 ; 0x0 - 801d874: f8c7 3960 str.w r3, [r7, #2400] - 801d878: e026 b.n 801d8c8 <_ZN14RamasserVerresC1Ev+0x12e4> - for(int j = 0; j < 2; j++) - 801d87a: f04f 0300 mov.w r3, #0 ; 0x0 - 801d87e: f8c7 3964 str.w r3, [r7, #2404] - 801d882: e017 b.n 801d8b4 <_ZN14RamasserVerresC1Ev+0x12d0> - demiLignesRamassees[i][j] = false; - 801d884: f8d7 1960 ldr.w r1, [r7, #2400] - 801d888: f8d7 0964 ldr.w r0, [r7, #2404] - 801d88c: f107 0328 add.w r3, r7, #40 ; 0x28 - 801d890: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801d894: 681a ldr r2, [r3, #0] - 801d896: ea4f 0341 mov.w r3, r1, lsl #1 - 801d89a: 4413 add r3, r2 - 801d89c: 4403 add r3, r0 - 801d89e: f503 62ff add.w r2, r3, #2040 ; 0x7f8 - 801d8a2: f04f 0300 mov.w r3, #0 ; 0x0 - 801d8a6: 7013 strb r3, [r2, #0] - positionsToGo[5][5] = ActionGoTo(Position(350, 350, isBlue), false); - positionsToGo[5][6] = ActionGoTo(Position(1000, 1000, isBlue), true); - - - for (int i = 0; i < 6; i++) - for(int j = 0; j < 2; j++) - 801d8a8: f8d7 3964 ldr.w r3, [r7, #2404] - 801d8ac: f103 0301 add.w r3, r3, #1 ; 0x1 - 801d8b0: f8c7 3964 str.w r3, [r7, #2404] - 801d8b4: f8d7 3964 ldr.w r3, [r7, #2404] - 801d8b8: 2b01 cmp r3, #1 - 801d8ba: dde3 ble.n 801d884 <_ZN14RamasserVerresC1Ev+0x12a0> - positionsToGo[5][4] = ActionGoTo(Position(1500, 550, isBlue), false); - positionsToGo[5][5] = ActionGoTo(Position(350, 350, isBlue), false); - positionsToGo[5][6] = ActionGoTo(Position(1000, 1000, isBlue), true); - - - for (int i = 0; i < 6; i++) - 801d8bc: f8d7 3960 ldr.w r3, [r7, #2400] - 801d8c0: f103 0301 add.w r3, r3, #1 ; 0x1 - 801d8c4: f8c7 3960 str.w r3, [r7, #2400] - 801d8c8: f8d7 3960 ldr.w r3, [r7, #2400] - 801d8cc: 2b05 cmp r3, #5 - 801d8ce: ddd4 ble.n 801d87a <_ZN14RamasserVerresC1Ev+0x1296> - for(int j = 0; j < 2; j++) - demiLignesRamassees[i][j] = false; - - myTurn = false; - 801d8d0: f107 0328 add.w r3, r7, #40 ; 0x28 - 801d8d4: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801d8d8: 681a ldr r2, [r3, #0] - 801d8da: f04f 0300 mov.w r3, #0 ; 0x0 - 801d8de: f882 3818 strb.w r3, [r2, #2072] - nextPosition = 0; - 801d8e2: f107 0328 add.w r3, r7, #40 ; 0x28 - 801d8e6: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801d8ea: 681a ldr r2, [r3, #0] - 801d8ec: f04f 0300 mov.w r3, #0 ; 0x0 - 801d8f0: f8c2 380c str.w r3, [r2, #2060] - ligneEnCours = -1; - 801d8f4: f107 0328 add.w r3, r7, #40 ; 0x28 - 801d8f8: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801d8fc: 681a ldr r2, [r3, #0] - 801d8fe: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 801d902: f8c2 3804 str.w r3, [r2, #2052] -} - 801d906: f107 0328 add.w r3, r7, #40 ; 0x28 - 801d90a: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801d90e: 681b ldr r3, [r3, #0] - 801d910: 4618 mov r0, r3 - 801d912: f507 77b6 add.w r7, r7, #364 ; 0x16c - 801d916: f507 6700 add.w r7, r7, #2048 ; 0x800 - 801d91a: 46bd mov sp, r7 - 801d91c: bd90 pop {r4, r7, pc} - 801d91e: 46c0 nop (mov r8, r8) - 801d920: 45034000 .word 0x45034000 - 801d924: 44834000 .word 0x44834000 - 801d928: 41f00000 .word 0x41f00000 - 801d92c: 44480000 .word 0x44480000 - 801d930: 44bb8000 .word 0x44bb8000 - 801d934: 43af0000 .word 0x43af0000 - 801d938: 44160000 .word 0x44160000 - 801d93c: 44098000 .word 0x44098000 - 801d940: 447a0000 .word 0x447a0000 - -0801d944 <_ZN14RamasserVerresC2Ev>: -#include "ramasserVerres.h" -#include "strategieV2.h" -#include "leds.h" - -RamasserVerres::RamasserVerres() : MediumLevelAction() - 801d944: b590 push {r4, r7, lr} - 801d946: f5ad 6d16 sub.w sp, sp, #2400 ; 0x960 - 801d94a: b085 sub sp, #20 - 801d94c: af02 add r7, sp, #8 - 801d94e: f107 0328 add.w r3, r7, #40 ; 0x28 - 801d952: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801d956: 6018 str r0, [r3, #0] - 801d958: f107 0328 add.w r3, r7, #40 ; 0x28 - 801d95c: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801d960: 681c ldr r4, [r3, #0] - 801d962: f107 0328 add.w r3, r7, #40 ; 0x28 - 801d966: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801d96a: 4618 mov r0, r3 - 801d96c: 4913 ldr r1, [pc, #76] (801d9bc <_ZN14RamasserVerresC2Ev+0x78>) - 801d96e: 4a13 ldr r2, [pc, #76] (801d9bc <_ZN14RamasserVerresC2Ev+0x78>) - 801d970: f04f 0301 mov.w r3, #1 ; 0x1 - 801d974: f7f9 ff1c bl 80177b0 <_ZN8PositionC1Effb> - 801d978: f107 0328 add.w r3, r7, #40 ; 0x28 - 801d97c: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801d980: 4620 mov r0, r4 - 801d982: e893 0006 ldmia.w r3, {r1, r2} - 801d986: f7fe fb83 bl 801c090 <_ZN17MediumLevelActionC2E8Position> - 801d98a: f107 0328 add.w r3, r7, #40 ; 0x28 - 801d98e: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801d992: 681a ldr r2, [r3, #0] - 801d994: 4b0a ldr r3, [pc, #40] (801d9c0 <_ZN14RamasserVerresC2Ev+0x7c>) - 801d996: 6013 str r3, [r2, #0] - 801d998: f107 0328 add.w r3, r7, #40 ; 0x28 - 801d99c: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801d9a0: 681b ldr r3, [r3, #0] - 801d9a2: f103 0318 add.w r3, r3, #24 ; 0x18 - 801d9a6: 607b str r3, [r7, #4] - 801d9a8: f04f 0305 mov.w r3, #5 ; 0x5 - 801d9ac: 60bb str r3, [r7, #8] - 801d9ae: e038 b.n 801da22 <_ZN14RamasserVerresC2Ev+0xde> - 801d9b0: 687b ldr r3, [r7, #4] - 801d9b2: 60fb str r3, [r7, #12] - 801d9b4: f04f 0306 mov.w r3, #6 ; 0x6 - 801d9b8: 613b str r3, [r7, #16] - 801d9ba: e026 b.n 801da0a <_ZN14RamasserVerresC2Ev+0xc6> - 801d9bc: 00000000 .word 0x00000000 - 801d9c0: 08034120 .word 0x08034120 - 801d9c4: f107 0328 add.w r3, r7, #40 ; 0x28 - 801d9c8: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801d9cc: 4618 mov r0, r3 - 801d9ce: f8df 1ccc ldr.w r1, [pc, #3276] ; 801e69c <_ZN14RamasserVerresC2Ev+0xd58> - 801d9d2: f8df 2cc8 ldr.w r2, [pc, #3272] ; 801e69c <_ZN14RamasserVerresC2Ev+0xd58> - 801d9d6: f04f 0301 mov.w r3, #1 ; 0x1 - 801d9da: f7f9 fee9 bl 80177b0 <_ZN8PositionC1Effb> - 801d9de: f107 0328 add.w r3, r7, #40 ; 0x28 - 801d9e2: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801d9e6: f8df 2cb8 ldr.w r2, [pc, #3256] ; 801e6a0 <_ZN14RamasserVerresC2Ev+0xd5c> - 801d9ea: 9200 str r2, [sp, #0] - 801d9ec: 68f8 ldr r0, [r7, #12] - 801d9ee: e893 0006 ldmia.w r3, {r1, r2} - 801d9f2: f04f 0300 mov.w r3, #0 ; 0x0 - 801d9f6: f7fa fc13 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801d9fa: 68fb ldr r3, [r7, #12] - 801d9fc: f103 0330 add.w r3, r3, #48 ; 0x30 - 801da00: 60fb str r3, [r7, #12] - 801da02: 693b ldr r3, [r7, #16] - 801da04: f103 33ff add.w r3, r3, #4294967295 ; 0xffffffff - 801da08: 613b str r3, [r7, #16] - 801da0a: 693b ldr r3, [r7, #16] - 801da0c: f1b3 3fff cmp.w r3, #4294967295 ; 0xffffffff - 801da10: d1d8 bne.n 801d9c4 <_ZN14RamasserVerresC2Ev+0x80> - 801da12: 687b ldr r3, [r7, #4] - 801da14: f503 73a8 add.w r3, r3, #336 ; 0x150 - 801da18: 607b str r3, [r7, #4] - 801da1a: 68bb ldr r3, [r7, #8] - 801da1c: f103 33ff add.w r3, r3, #4294967295 ; 0xffffffff - 801da20: 60bb str r3, [r7, #8] - 801da22: 68bb ldr r3, [r7, #8] - 801da24: f1b3 3fff cmp.w r3, #4294967295 ; 0xffffffff - 801da28: d1c2 bne.n 801d9b0 <_ZN14RamasserVerresC2Ev+0x6c> - 801da2a: f107 0328 add.w r3, r7, #40 ; 0x28 - 801da2e: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801da32: 681b ldr r3, [r3, #0] - 801da34: f503 6301 add.w r3, r3, #2064 ; 0x810 - 801da38: 4618 mov r0, r3 - 801da3a: f7f9 fe7f bl 801773c <_ZN8PositionC1Ev> -{ - bool isBlue = StrategieV2::getIsBlue(); - 801da3e: f001 fe99 bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 801da42: 4603 mov r3, r0 - 801da44: f887 395f strb.w r3, [r7, #2399] - positionsToGo[0][0] = ActionGoTo(Position(600, 1300, isBlue), false); - 801da48: f107 0328 add.w r3, r7, #40 ; 0x28 - 801da4c: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801da50: 681b ldr r3, [r3, #0] - 801da52: f103 0418 add.w r4, r3, #24 ; 0x18 - 801da56: f107 0368 add.w r3, r7, #104 ; 0x68 - 801da5a: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801da5e: f897 c95f ldrb.w ip, [r7, #2399] - 801da62: 4618 mov r0, r3 - 801da64: f8df 1c3c ldr.w r1, [pc, #3132] ; 801e6a4 <_ZN14RamasserVerresC2Ev+0xd60> - 801da68: f8df 2c3c ldr.w r2, [pc, #3132] ; 801e6a8 <_ZN14RamasserVerresC2Ev+0xd64> - 801da6c: 4663 mov r3, ip - 801da6e: f7f9 fe9f bl 80177b0 <_ZN8PositionC1Effb> - 801da72: f107 0148 add.w r1, r7, #72 ; 0x48 - 801da76: f1a1 011c sub.w r1, r1, #28 ; 0x1c - 801da7a: f107 0368 add.w r3, r7, #104 ; 0x68 - 801da7e: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801da82: f8df 2c1c ldr.w r2, [pc, #3100] ; 801e6a0 <_ZN14RamasserVerresC2Ev+0xd5c> - 801da86: 9200 str r2, [sp, #0] - 801da88: 4608 mov r0, r1 - 801da8a: e893 0006 ldmia.w r3, {r1, r2} - 801da8e: f04f 0300 mov.w r3, #0 ; 0x0 - 801da92: f7fa fbc5 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801da96: f107 0348 add.w r3, r7, #72 ; 0x48 - 801da9a: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 801da9e: 4620 mov r0, r4 - 801daa0: 4619 mov r1, r3 - 801daa2: f011 f9a9 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801daa6: f107 0348 add.w r3, r7, #72 ; 0x48 - 801daaa: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 801daae: 4618 mov r0, r3 - 801dab0: f7fa fb7e bl 80181b0 <_ZN10ActionGoToD1Ev> - //positionsToGo[0][1] = new ActionGoTo(Position(2100, 1300, isBlue), false); - positionsToGo[0][1] = ActionGoTo(Position(700, 1360, isBlue), false); - 801dab4: f107 0328 add.w r3, r7, #40 ; 0x28 - 801dab8: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801dabc: 681b ldr r3, [r3, #0] - 801dabe: f103 0448 add.w r4, r3, #72 ; 0x48 - 801dac2: f107 03a8 add.w r3, r7, #168 ; 0xa8 - 801dac6: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801daca: f897 c95f ldrb.w ip, [r7, #2399] - 801dace: 4618 mov r0, r3 - 801dad0: f8df 1bd8 ldr.w r1, [pc, #3032] ; 801e6ac <_ZN14RamasserVerresC2Ev+0xd68> - 801dad4: f8df 2bd8 ldr.w r2, [pc, #3032] ; 801e6b0 <_ZN14RamasserVerresC2Ev+0xd6c> - 801dad8: 4663 mov r3, ip - 801dada: f7f9 fe69 bl 80177b0 <_ZN8PositionC1Effb> - 801dade: f107 0168 add.w r1, r7, #104 ; 0x68 - 801dae2: f1a1 0104 sub.w r1, r1, #4 ; 0x4 - 801dae6: f107 03a8 add.w r3, r7, #168 ; 0xa8 - 801daea: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801daee: f8df 2bb0 ldr.w r2, [pc, #2992] ; 801e6a0 <_ZN14RamasserVerresC2Ev+0xd5c> - 801daf2: 9200 str r2, [sp, #0] - 801daf4: 4608 mov r0, r1 - 801daf6: e893 0006 ldmia.w r3, {r1, r2} - 801dafa: f04f 0300 mov.w r3, #0 ; 0x0 - 801dafe: f7fa fb8f bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801db02: f107 0368 add.w r3, r7, #104 ; 0x68 - 801db06: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801db0a: 4620 mov r0, r4 - 801db0c: 4619 mov r1, r3 - 801db0e: f011 f973 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801db12: f107 0368 add.w r3, r7, #104 ; 0x68 - 801db16: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801db1a: 4618 mov r0, r3 - 801db1c: f7fa fb48 bl 80181b0 <_ZN10ActionGoToD1Ev> - //positionsToGo[0][2] = new ActionGoTo(Position(2100, 1050, isBlue), false); - positionsToGo[0][2] = ActionGoTo(Position(2100, 1250, isBlue), true); - 801db20: f107 0328 add.w r3, r7, #40 ; 0x28 - 801db24: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801db28: 681b ldr r3, [r3, #0] - 801db2a: f103 0478 add.w r4, r3, #120 ; 0x78 - 801db2e: f107 03e8 add.w r3, r7, #232 ; 0xe8 - 801db32: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 801db36: f897 c95f ldrb.w ip, [r7, #2399] - 801db3a: 4618 mov r0, r3 - 801db3c: f8df 1b74 ldr.w r1, [pc, #2932] ; 801e6b4 <_ZN14RamasserVerresC2Ev+0xd70> - 801db40: f8df 2b74 ldr.w r2, [pc, #2932] ; 801e6b8 <_ZN14RamasserVerresC2Ev+0xd74> - 801db44: 4663 mov r3, ip - 801db46: f7f9 fe33 bl 80177b0 <_ZN8PositionC1Effb> - 801db4a: f107 01a8 add.w r1, r7, #168 ; 0xa8 - 801db4e: f1a1 010c sub.w r1, r1, #12 ; 0xc - 801db52: f107 03e8 add.w r3, r7, #232 ; 0xe8 - 801db56: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 801db5a: f8df 2b44 ldr.w r2, [pc, #2884] ; 801e6a0 <_ZN14RamasserVerresC2Ev+0xd5c> - 801db5e: 9200 str r2, [sp, #0] - 801db60: 4608 mov r0, r1 - 801db62: e893 0006 ldmia.w r3, {r1, r2} - 801db66: f04f 0301 mov.w r3, #1 ; 0x1 - 801db6a: f7fa fb59 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801db6e: f107 03a8 add.w r3, r7, #168 ; 0xa8 - 801db72: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801db76: 4620 mov r0, r4 - 801db78: 4619 mov r1, r3 - 801db7a: f011 f93d bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801db7e: f107 03a8 add.w r3, r7, #168 ; 0xa8 - 801db82: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801db86: 4618 mov r0, r3 - 801db88: f7fa fb12 bl 80181b0 <_ZN10ActionGoToD1Ev> - positionsToGo[0][3] = ActionGoTo(Position(2100, 1050, isBlue), false); - 801db8c: f107 0328 add.w r3, r7, #40 ; 0x28 - 801db90: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801db94: 681b ldr r3, [r3, #0] - 801db96: f103 04a8 add.w r4, r3, #168 ; 0xa8 - 801db9a: f507 7384 add.w r3, r7, #264 ; 0x108 - 801db9e: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801dba2: f897 c95f ldrb.w ip, [r7, #2399] - 801dba6: 4618 mov r0, r3 - 801dba8: f8df 1b08 ldr.w r1, [pc, #2824] ; 801e6b4 <_ZN14RamasserVerresC2Ev+0xd70> - 801dbac: f8df 2b0c ldr.w r2, [pc, #2828] ; 801e6bc <_ZN14RamasserVerresC2Ev+0xd78> - 801dbb0: 4663 mov r3, ip - 801dbb2: f7f9 fdfd bl 80177b0 <_ZN8PositionC1Effb> - 801dbb6: f107 01e8 add.w r1, r7, #232 ; 0xe8 - 801dbba: f1a1 0114 sub.w r1, r1, #20 ; 0x14 - 801dbbe: f507 7384 add.w r3, r7, #264 ; 0x108 - 801dbc2: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801dbc6: f8df 2ad8 ldr.w r2, [pc, #2776] ; 801e6a0 <_ZN14RamasserVerresC2Ev+0xd5c> - 801dbca: 9200 str r2, [sp, #0] - 801dbcc: 4608 mov r0, r1 - 801dbce: e893 0006 ldmia.w r3, {r1, r2} - 801dbd2: f04f 0300 mov.w r3, #0 ; 0x0 - 801dbd6: f7fa fb23 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801dbda: f107 03e8 add.w r3, r7, #232 ; 0xe8 - 801dbde: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801dbe2: 4620 mov r0, r4 - 801dbe4: 4619 mov r1, r3 - 801dbe6: f011 f907 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801dbea: f107 03e8 add.w r3, r7, #232 ; 0xe8 - 801dbee: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801dbf2: 4618 mov r0, r3 - 801dbf4: f7fa fadc bl 80181b0 <_ZN10ActionGoToD1Ev> - positionsToGo[0][4] = ActionGoTo(Position(900, 1050, isBlue), false); - 801dbf8: f107 0328 add.w r3, r7, #40 ; 0x28 - 801dbfc: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801dc00: 681b ldr r3, [r3, #0] - 801dc02: f103 04d8 add.w r4, r3, #216 ; 0xd8 - 801dc06: f507 73a4 add.w r3, r7, #328 ; 0x148 - 801dc0a: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801dc0e: f897 c95f ldrb.w ip, [r7, #2399] - 801dc12: 4618 mov r0, r3 - 801dc14: f8df 1aa8 ldr.w r1, [pc, #2728] ; 801e6c0 <_ZN14RamasserVerresC2Ev+0xd7c> - 801dc18: f8df 2aa0 ldr.w r2, [pc, #2720] ; 801e6bc <_ZN14RamasserVerresC2Ev+0xd78> - 801dc1c: 4663 mov r3, ip - 801dc1e: f7f9 fdc7 bl 80177b0 <_ZN8PositionC1Effb> - 801dc22: f507 7194 add.w r1, r7, #296 ; 0x128 - 801dc26: f1a1 011c sub.w r1, r1, #28 ; 0x1c - 801dc2a: f507 73a4 add.w r3, r7, #328 ; 0x148 - 801dc2e: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801dc32: f8df 2a6c ldr.w r2, [pc, #2668] ; 801e6a0 <_ZN14RamasserVerresC2Ev+0xd5c> - 801dc36: 9200 str r2, [sp, #0] - 801dc38: 4608 mov r0, r1 - 801dc3a: e893 0006 ldmia.w r3, {r1, r2} - 801dc3e: f04f 0300 mov.w r3, #0 ; 0x0 - 801dc42: f7fa faed bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801dc46: f507 7394 add.w r3, r7, #296 ; 0x128 - 801dc4a: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 801dc4e: 4620 mov r0, r4 - 801dc50: 4619 mov r1, r3 - 801dc52: f011 f8d1 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801dc56: f507 7394 add.w r3, r7, #296 ; 0x128 - 801dc5a: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 801dc5e: 4618 mov r0, r3 - 801dc60: f7fa faa6 bl 80181b0 <_ZN10ActionGoToD1Ev> - positionsToGo[0][5] = ActionGoTo(Position(350, 1250, isBlue), false); - 801dc64: f107 0328 add.w r3, r7, #40 ; 0x28 - 801dc68: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801dc6c: 681b ldr r3, [r3, #0] - 801dc6e: f503 7484 add.w r4, r3, #264 ; 0x108 - 801dc72: f507 73bc add.w r3, r7, #376 ; 0x178 - 801dc76: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801dc7a: f897 c95f ldrb.w ip, [r7, #2399] - 801dc7e: 4618 mov r0, r3 - 801dc80: f8df 1a40 ldr.w r1, [pc, #2624] ; 801e6c4 <_ZN14RamasserVerresC2Ev+0xd80> - 801dc84: f8df 2a30 ldr.w r2, [pc, #2608] ; 801e6b8 <_ZN14RamasserVerresC2Ev+0xd74> - 801dc88: 4663 mov r3, ip - 801dc8a: f7f9 fd91 bl 80177b0 <_ZN8PositionC1Effb> - 801dc8e: f507 71a4 add.w r1, r7, #328 ; 0x148 - 801dc92: f1a1 0104 sub.w r1, r1, #4 ; 0x4 - 801dc96: f507 73bc add.w r3, r7, #376 ; 0x178 - 801dc9a: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801dc9e: f8df 2a00 ldr.w r2, [pc, #2560] ; 801e6a0 <_ZN14RamasserVerresC2Ev+0xd5c> - 801dca2: 9200 str r2, [sp, #0] - 801dca4: 4608 mov r0, r1 - 801dca6: e893 0006 ldmia.w r3, {r1, r2} - 801dcaa: f04f 0300 mov.w r3, #0 ; 0x0 - 801dcae: f7fa fab7 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801dcb2: f507 73a4 add.w r3, r7, #328 ; 0x148 - 801dcb6: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801dcba: 4620 mov r0, r4 - 801dcbc: 4619 mov r1, r3 - 801dcbe: f011 f89b bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801dcc2: f507 73a4 add.w r3, r7, #328 ; 0x148 - 801dcc6: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801dcca: 4618 mov r0, r3 - 801dccc: f7fa fa70 bl 80181b0 <_ZN10ActionGoToD1Ev> - positionsToGo[0][6] = ActionGoTo(Position(900, 1050, isBlue), true); - 801dcd0: f107 0328 add.w r3, r7, #40 ; 0x28 - 801dcd4: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801dcd8: 681b ldr r3, [r3, #0] - 801dcda: f503 749c add.w r4, r3, #312 ; 0x138 - 801dcde: f507 73dc add.w r3, r7, #440 ; 0x1b8 - 801dce2: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801dce6: f897 c95f ldrb.w ip, [r7, #2399] - 801dcea: 4618 mov r0, r3 - 801dcec: f8df 19d0 ldr.w r1, [pc, #2512] ; 801e6c0 <_ZN14RamasserVerresC2Ev+0xd7c> - 801dcf0: f8df 29c8 ldr.w r2, [pc, #2504] ; 801e6bc <_ZN14RamasserVerresC2Ev+0xd78> - 801dcf4: 4663 mov r3, ip - 801dcf6: f7f9 fd5b bl 80177b0 <_ZN8PositionC1Effb> - 801dcfa: f507 71c4 add.w r1, r7, #392 ; 0x188 - 801dcfe: f1a1 010c sub.w r1, r1, #12 ; 0xc - 801dd02: f507 73dc add.w r3, r7, #440 ; 0x1b8 - 801dd06: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801dd0a: f8df 2994 ldr.w r2, [pc, #2452] ; 801e6a0 <_ZN14RamasserVerresC2Ev+0xd5c> - 801dd0e: 9200 str r2, [sp, #0] - 801dd10: 4608 mov r0, r1 - 801dd12: e893 0006 ldmia.w r3, {r1, r2} - 801dd16: f04f 0301 mov.w r3, #1 ; 0x1 - 801dd1a: f7fa fa81 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801dd1e: f507 73c4 add.w r3, r7, #392 ; 0x188 - 801dd22: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801dd26: 4620 mov r0, r4 - 801dd28: 4619 mov r1, r3 - 801dd2a: f011 f865 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801dd2e: f507 73c4 add.w r3, r7, #392 ; 0x188 - 801dd32: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801dd36: 4618 mov r0, r3 - 801dd38: f7fa fa3a bl 80181b0 <_ZN10ActionGoToD1Ev> - - positionsToGo[1][0] = ActionGoTo(Position(600, 1050, isBlue), false); - 801dd3c: f107 0328 add.w r3, r7, #40 ; 0x28 - 801dd40: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801dd44: 681b ldr r3, [r3, #0] - 801dd46: f503 74b4 add.w r4, r3, #360 ; 0x168 - 801dd4a: f507 73f4 add.w r3, r7, #488 ; 0x1e8 - 801dd4e: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801dd52: f897 c95f ldrb.w ip, [r7, #2399] - 801dd56: 4618 mov r0, r3 - 801dd58: f8df 1948 ldr.w r1, [pc, #2376] ; 801e6a4 <_ZN14RamasserVerresC2Ev+0xd60> - 801dd5c: f8df 295c ldr.w r2, [pc, #2396] ; 801e6bc <_ZN14RamasserVerresC2Ev+0xd78> - 801dd60: 4663 mov r3, ip - 801dd62: f7f9 fd25 bl 80177b0 <_ZN8PositionC1Effb> - 801dd66: f507 71dc add.w r1, r7, #440 ; 0x1b8 - 801dd6a: f1a1 0104 sub.w r1, r1, #4 ; 0x4 - 801dd6e: f507 73f4 add.w r3, r7, #488 ; 0x1e8 - 801dd72: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801dd76: f8df 2928 ldr.w r2, [pc, #2344] ; 801e6a0 <_ZN14RamasserVerresC2Ev+0xd5c> - 801dd7a: 9200 str r2, [sp, #0] - 801dd7c: 4608 mov r0, r1 - 801dd7e: e893 0006 ldmia.w r3, {r1, r2} - 801dd82: f04f 0300 mov.w r3, #0 ; 0x0 - 801dd86: f7fa fa4b bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801dd8a: f507 73dc add.w r3, r7, #440 ; 0x1b8 - 801dd8e: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801dd92: 4620 mov r0, r4 - 801dd94: 4619 mov r1, r3 - 801dd96: f011 f82f bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801dd9a: f507 73dc add.w r3, r7, #440 ; 0x1b8 - 801dd9e: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801dda2: 4618 mov r0, r3 - 801dda4: f7fa fa04 bl 80181b0 <_ZN10ActionGoToD1Ev> - //positionsToGo[1][1] = new ActionGoTo(Position(2100, 1050, isBlue), false); - positionsToGo[1][1] = ActionGoTo(Position(1350, 1050, isBlue), false); - 801dda8: f107 0328 add.w r3, r7, #40 ; 0x28 - 801ddac: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801ddb0: 681b ldr r3, [r3, #0] - 801ddb2: f503 74cc add.w r4, r3, #408 ; 0x198 - 801ddb6: f507 730a add.w r3, r7, #552 ; 0x228 - 801ddba: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801ddbe: f897 c95f ldrb.w ip, [r7, #2399] - 801ddc2: 4618 mov r0, r3 - 801ddc4: f8df 1900 ldr.w r1, [pc, #2304] ; 801e6c8 <_ZN14RamasserVerresC2Ev+0xd84> - 801ddc8: f8df 28f0 ldr.w r2, [pc, #2288] ; 801e6bc <_ZN14RamasserVerresC2Ev+0xd78> - 801ddcc: 4663 mov r3, ip - 801ddce: f7f9 fcef bl 80177b0 <_ZN8PositionC1Effb> - 801ddd2: f507 71fc add.w r1, r7, #504 ; 0x1f8 - 801ddd6: f1a1 010c sub.w r1, r1, #12 ; 0xc - 801ddda: f507 730a add.w r3, r7, #552 ; 0x228 - 801ddde: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801dde2: f8df 28bc ldr.w r2, [pc, #2236] ; 801e6a0 <_ZN14RamasserVerresC2Ev+0xd5c> - 801dde6: 9200 str r2, [sp, #0] - 801dde8: 4608 mov r0, r1 - 801ddea: e893 0006 ldmia.w r3, {r1, r2} - 801ddee: f04f 0300 mov.w r3, #0 ; 0x0 - 801ddf2: f7fa fa15 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801ddf6: f507 73fc add.w r3, r7, #504 ; 0x1f8 - 801ddfa: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801ddfe: 4620 mov r0, r4 - 801de00: 4619 mov r1, r3 - 801de02: f010 fff9 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801de06: f507 73fc add.w r3, r7, #504 ; 0x1f8 - 801de0a: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801de0e: 4618 mov r0, r3 - 801de10: f7fa f9ce bl 80181b0 <_ZN10ActionGoToD1Ev> - //positionsToGo[1][2] = new ActionGoTo(Position(1950, 800, isBlue), false); - positionsToGo[1][2] = ActionGoTo(Position(2100, 1050, isBlue), true); - 801de14: f107 0328 add.w r3, r7, #40 ; 0x28 - 801de18: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801de1c: 681b ldr r3, [r3, #0] - 801de1e: f503 74e4 add.w r4, r3, #456 ; 0x1c8 - 801de22: f507 7316 add.w r3, r7, #600 ; 0x258 - 801de26: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801de2a: f897 c95f ldrb.w ip, [r7, #2399] - 801de2e: 4618 mov r0, r3 - 801de30: f8df 1880 ldr.w r1, [pc, #2176] ; 801e6b4 <_ZN14RamasserVerresC2Ev+0xd70> - 801de34: f8df 2884 ldr.w r2, [pc, #2180] ; 801e6bc <_ZN14RamasserVerresC2Ev+0xd78> - 801de38: 4663 mov r3, ip - 801de3a: f7f9 fcb9 bl 80177b0 <_ZN8PositionC1Effb> - 801de3e: f507 710a add.w r1, r7, #552 ; 0x228 - 801de42: f1a1 0104 sub.w r1, r1, #4 ; 0x4 - 801de46: f507 7316 add.w r3, r7, #600 ; 0x258 - 801de4a: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801de4e: f8df 2850 ldr.w r2, [pc, #2128] ; 801e6a0 <_ZN14RamasserVerresC2Ev+0xd5c> - 801de52: 9200 str r2, [sp, #0] - 801de54: 4608 mov r0, r1 - 801de56: e893 0006 ldmia.w r3, {r1, r2} - 801de5a: f04f 0301 mov.w r3, #1 ; 0x1 - 801de5e: f7fa f9df bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801de62: f507 730a add.w r3, r7, #552 ; 0x228 - 801de66: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801de6a: 4620 mov r0, r4 - 801de6c: 4619 mov r1, r3 - 801de6e: f010 ffc3 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801de72: f507 730a add.w r3, r7, #552 ; 0x228 - 801de76: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801de7a: 4618 mov r0, r3 - 801de7c: f7fa f998 bl 80181b0 <_ZN10ActionGoToD1Ev> - positionsToGo[1][3] = ActionGoTo(Position(2100, 760, isBlue), false); - 801de80: f107 0328 add.w r3, r7, #40 ; 0x28 - 801de84: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801de88: 681b ldr r3, [r3, #0] - 801de8a: f503 74fc add.w r4, r3, #504 ; 0x1f8 - 801de8e: f507 7326 add.w r3, r7, #664 ; 0x298 - 801de92: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801de96: f897 c95f ldrb.w ip, [r7, #2399] - 801de9a: 4618 mov r0, r3 - 801de9c: f8df 1814 ldr.w r1, [pc, #2068] ; 801e6b4 <_ZN14RamasserVerresC2Ev+0xd70> - 801dea0: f8df 2828 ldr.w r2, [pc, #2088] ; 801e6cc <_ZN14RamasserVerresC2Ev+0xd88> - 801dea4: 4663 mov r3, ip - 801dea6: f7f9 fc83 bl 80177b0 <_ZN8PositionC1Effb> - 801deaa: f507 711a add.w r1, r7, #616 ; 0x268 - 801deae: f1a1 010c sub.w r1, r1, #12 ; 0xc - 801deb2: f507 7326 add.w r3, r7, #664 ; 0x298 - 801deb6: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801deba: f8df 27e4 ldr.w r2, [pc, #2020] ; 801e6a0 <_ZN14RamasserVerresC2Ev+0xd5c> - 801debe: 9200 str r2, [sp, #0] - 801dec0: 4608 mov r0, r1 - 801dec2: e893 0006 ldmia.w r3, {r1, r2} - 801dec6: f04f 0300 mov.w r3, #0 ; 0x0 - 801deca: f7fa f9a9 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801dece: f507 731a add.w r3, r7, #616 ; 0x268 - 801ded2: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801ded6: 4620 mov r0, r4 - 801ded8: 4619 mov r1, r3 - 801deda: f010 ff8d bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801dede: f507 731a add.w r3, r7, #616 ; 0x268 - 801dee2: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801dee6: 4618 mov r0, r3 - 801dee8: f7fa f962 bl 80181b0 <_ZN10ActionGoToD1Ev> - positionsToGo[1][4] = ActionGoTo(Position(900, 760, isBlue), false); - 801deec: f107 0328 add.w r3, r7, #40 ; 0x28 - 801def0: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801def4: 681b ldr r3, [r3, #0] - 801def6: f503 740a add.w r4, r3, #552 ; 0x228 - 801defa: f507 7332 add.w r3, r7, #712 ; 0x2c8 - 801defe: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801df02: f897 c95f ldrb.w ip, [r7, #2399] - 801df06: 4618 mov r0, r3 - 801df08: f8df 17b4 ldr.w r1, [pc, #1972] ; 801e6c0 <_ZN14RamasserVerresC2Ev+0xd7c> - 801df0c: f8df 27bc ldr.w r2, [pc, #1980] ; 801e6cc <_ZN14RamasserVerresC2Ev+0xd88> - 801df10: 4663 mov r3, ip - 801df12: f7f9 fc4d bl 80177b0 <_ZN8PositionC1Effb> - 801df16: f507 7126 add.w r1, r7, #664 ; 0x298 - 801df1a: f1a1 0104 sub.w r1, r1, #4 ; 0x4 - 801df1e: f507 7332 add.w r3, r7, #712 ; 0x2c8 - 801df22: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801df26: f8df 2778 ldr.w r2, [pc, #1912] ; 801e6a0 <_ZN14RamasserVerresC2Ev+0xd5c> - 801df2a: 9200 str r2, [sp, #0] - 801df2c: 4608 mov r0, r1 - 801df2e: e893 0006 ldmia.w r3, {r1, r2} - 801df32: f04f 0300 mov.w r3, #0 ; 0x0 - 801df36: f7fa f973 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801df3a: f507 7326 add.w r3, r7, #664 ; 0x298 - 801df3e: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801df42: 4620 mov r0, r4 - 801df44: 4619 mov r1, r3 - 801df46: f010 ff57 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801df4a: f507 7326 add.w r3, r7, #664 ; 0x298 - 801df4e: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801df52: 4618 mov r0, r3 - 801df54: f7fa f92c bl 80181b0 <_ZN10ActionGoToD1Ev> - positionsToGo[1][5] = ActionGoTo(Position(370, 760, isBlue), false); - 801df58: f107 0328 add.w r3, r7, #40 ; 0x28 - 801df5c: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801df60: 681b ldr r3, [r3, #0] - 801df62: f503 7416 add.w r4, r3, #600 ; 0x258 - 801df66: f507 7342 add.w r3, r7, #776 ; 0x308 - 801df6a: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801df6e: f897 c95f ldrb.w ip, [r7, #2399] - 801df72: 4618 mov r0, r3 - 801df74: f8df 1758 ldr.w r1, [pc, #1880] ; 801e6d0 <_ZN14RamasserVerresC2Ev+0xd8c> - 801df78: f8df 2750 ldr.w r2, [pc, #1872] ; 801e6cc <_ZN14RamasserVerresC2Ev+0xd88> - 801df7c: 4663 mov r3, ip - 801df7e: f7f9 fc17 bl 80177b0 <_ZN8PositionC1Effb> - 801df82: f507 7136 add.w r1, r7, #728 ; 0x2d8 - 801df86: f1a1 010c sub.w r1, r1, #12 ; 0xc - 801df8a: f507 7342 add.w r3, r7, #776 ; 0x308 - 801df8e: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801df92: f8df 270c ldr.w r2, [pc, #1804] ; 801e6a0 <_ZN14RamasserVerresC2Ev+0xd5c> - 801df96: 9200 str r2, [sp, #0] - 801df98: 4608 mov r0, r1 - 801df9a: e893 0006 ldmia.w r3, {r1, r2} - 801df9e: f04f 0300 mov.w r3, #0 ; 0x0 - 801dfa2: f7fa f93d bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801dfa6: f507 7336 add.w r3, r7, #728 ; 0x2d8 - 801dfaa: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801dfae: 4620 mov r0, r4 - 801dfb0: 4619 mov r1, r3 - 801dfb2: f010 ff21 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801dfb6: f507 7336 add.w r3, r7, #728 ; 0x2d8 - 801dfba: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801dfbe: 4618 mov r0, r3 - 801dfc0: f7fa f8f6 bl 80181b0 <_ZN10ActionGoToD1Ev> - positionsToGo[1][6] = ActionGoTo(Position(500, 760, isBlue), true); - 801dfc4: f107 0328 add.w r3, r7, #40 ; 0x28 - 801dfc8: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801dfcc: 681b ldr r3, [r3, #0] - 801dfce: f503 7422 add.w r4, r3, #648 ; 0x288 - 801dfd2: f507 734e add.w r3, r7, #824 ; 0x338 - 801dfd6: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801dfda: f897 c95f ldrb.w ip, [r7, #2399] - 801dfde: 4618 mov r0, r3 - 801dfe0: f8df 16f0 ldr.w r1, [pc, #1776] ; 801e6d4 <_ZN14RamasserVerresC2Ev+0xd90> - 801dfe4: f8df 26e4 ldr.w r2, [pc, #1764] ; 801e6cc <_ZN14RamasserVerresC2Ev+0xd88> - 801dfe8: 4663 mov r3, ip - 801dfea: f7f9 fbe1 bl 80177b0 <_ZN8PositionC1Effb> - 801dfee: f507 7142 add.w r1, r7, #776 ; 0x308 - 801dff2: f1a1 0104 sub.w r1, r1, #4 ; 0x4 - 801dff6: f507 734e add.w r3, r7, #824 ; 0x338 - 801dffa: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801dffe: f8df 26a0 ldr.w r2, [pc, #1696] ; 801e6a0 <_ZN14RamasserVerresC2Ev+0xd5c> - 801e002: 9200 str r2, [sp, #0] - 801e004: 4608 mov r0, r1 - 801e006: e893 0006 ldmia.w r3, {r1, r2} - 801e00a: f04f 0301 mov.w r3, #1 ; 0x1 - 801e00e: f7fa f907 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801e012: f507 7342 add.w r3, r7, #776 ; 0x308 - 801e016: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801e01a: 4620 mov r0, r4 - 801e01c: 4619 mov r1, r3 - 801e01e: f010 feeb bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801e022: f507 7342 add.w r3, r7, #776 ; 0x308 - 801e026: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801e02a: 4618 mov r0, r3 - 801e02c: f7fa f8c0 bl 80181b0 <_ZN10ActionGoToD1Ev> - - positionsToGo[2][0] = ActionGoTo(Position(600, 800, isBlue), false); - 801e030: f107 0328 add.w r3, r7, #40 ; 0x28 - 801e034: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801e038: 681b ldr r3, [r3, #0] - 801e03a: f503 742e add.w r4, r3, #696 ; 0x2b8 - 801e03e: f507 735e add.w r3, r7, #888 ; 0x378 - 801e042: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801e046: f897 c95f ldrb.w ip, [r7, #2399] - 801e04a: 4618 mov r0, r3 - 801e04c: f8df 1654 ldr.w r1, [pc, #1620] ; 801e6a4 <_ZN14RamasserVerresC2Ev+0xd60> - 801e050: f8df 2684 ldr.w r2, [pc, #1668] ; 801e6d8 <_ZN14RamasserVerresC2Ev+0xd94> - 801e054: 4663 mov r3, ip - 801e056: f7f9 fbab bl 80177b0 <_ZN8PositionC1Effb> - 801e05a: f507 7152 add.w r1, r7, #840 ; 0x348 - 801e05e: f1a1 010c sub.w r1, r1, #12 ; 0xc - 801e062: f507 735e add.w r3, r7, #888 ; 0x378 - 801e066: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801e06a: f8df 2634 ldr.w r2, [pc, #1588] ; 801e6a0 <_ZN14RamasserVerresC2Ev+0xd5c> - 801e06e: 9200 str r2, [sp, #0] - 801e070: 4608 mov r0, r1 - 801e072: e893 0006 ldmia.w r3, {r1, r2} - 801e076: f04f 0300 mov.w r3, #0 ; 0x0 - 801e07a: f7fa f8d1 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801e07e: f507 7352 add.w r3, r7, #840 ; 0x348 - 801e082: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801e086: 4620 mov r0, r4 - 801e088: 4619 mov r1, r3 - 801e08a: f010 feb5 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801e08e: f507 7352 add.w r3, r7, #840 ; 0x348 - 801e092: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801e096: 4618 mov r0, r3 - 801e098: f7fa f88a bl 80181b0 <_ZN10ActionGoToD1Ev> - //positionsToGo[2][1] = new ActionGoTo(Position(2100, 800, isBlue), false); - positionsToGo[2][1] = ActionGoTo(Position(700, 1360, isBlue), false); - 801e09c: f107 0328 add.w r3, r7, #40 ; 0x28 - 801e0a0: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801e0a4: 681b ldr r3, [r3, #0] - 801e0a6: f503 743a add.w r4, r3, #744 ; 0x2e8 - 801e0aa: f507 736a add.w r3, r7, #936 ; 0x3a8 - 801e0ae: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801e0b2: f897 c95f ldrb.w ip, [r7, #2399] - 801e0b6: 4618 mov r0, r3 - 801e0b8: f8df 15f0 ldr.w r1, [pc, #1520] ; 801e6ac <_ZN14RamasserVerresC2Ev+0xd68> - 801e0bc: f8df 25f0 ldr.w r2, [pc, #1520] ; 801e6b0 <_ZN14RamasserVerresC2Ev+0xd6c> - 801e0c0: 4663 mov r3, ip - 801e0c2: f7f9 fb75 bl 80177b0 <_ZN8PositionC1Effb> - 801e0c6: f507 715e add.w r1, r7, #888 ; 0x378 - 801e0ca: f1a1 0104 sub.w r1, r1, #4 ; 0x4 - 801e0ce: f507 736a add.w r3, r7, #936 ; 0x3a8 - 801e0d2: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801e0d6: f8df 25c8 ldr.w r2, [pc, #1480] ; 801e6a0 <_ZN14RamasserVerresC2Ev+0xd5c> - 801e0da: 9200 str r2, [sp, #0] - 801e0dc: 4608 mov r0, r1 - 801e0de: e893 0006 ldmia.w r3, {r1, r2} - 801e0e2: f04f 0300 mov.w r3, #0 ; 0x0 - 801e0e6: f7fa f89b bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801e0ea: f507 735e add.w r3, r7, #888 ; 0x378 - 801e0ee: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801e0f2: 4620 mov r0, r4 - 801e0f4: 4619 mov r1, r3 - 801e0f6: f010 fe7f bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801e0fa: f507 735e add.w r3, r7, #888 ; 0x378 - 801e0fe: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801e102: 4618 mov r0, r3 - 801e104: f7fa f854 bl 80181b0 <_ZN10ActionGoToD1Ev> - //positionsToGo[2][2] = new ActionGoTo(Position(2100, 550, isBlue), false); - positionsToGo[2][2] = ActionGoTo(Position(2100, 760, isBlue), true); - 801e108: f107 0328 add.w r3, r7, #40 ; 0x28 - 801e10c: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801e110: 681b ldr r3, [r3, #0] - 801e112: f503 7446 add.w r4, r3, #792 ; 0x318 - 801e116: f507 737a add.w r3, r7, #1000 ; 0x3e8 - 801e11a: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801e11e: f897 c95f ldrb.w ip, [r7, #2399] - 801e122: 4618 mov r0, r3 - 801e124: f8df 158c ldr.w r1, [pc, #1420] ; 801e6b4 <_ZN14RamasserVerresC2Ev+0xd70> - 801e128: f8df 25a0 ldr.w r2, [pc, #1440] ; 801e6cc <_ZN14RamasserVerresC2Ev+0xd88> - 801e12c: 4663 mov r3, ip - 801e12e: f7f9 fb3f bl 80177b0 <_ZN8PositionC1Effb> - 801e132: f507 716e add.w r1, r7, #952 ; 0x3b8 - 801e136: f1a1 010c sub.w r1, r1, #12 ; 0xc - 801e13a: f507 737a add.w r3, r7, #1000 ; 0x3e8 - 801e13e: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801e142: f8df 255c ldr.w r2, [pc, #1372] ; 801e6a0 <_ZN14RamasserVerresC2Ev+0xd5c> - 801e146: 9200 str r2, [sp, #0] - 801e148: 4608 mov r0, r1 - 801e14a: e893 0006 ldmia.w r3, {r1, r2} - 801e14e: f04f 0301 mov.w r3, #1 ; 0x1 - 801e152: f7fa f865 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801e156: f507 736e add.w r3, r7, #952 ; 0x3b8 - 801e15a: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801e15e: 4620 mov r0, r4 - 801e160: 4619 mov r1, r3 - 801e162: f010 fe49 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801e166: f507 736e add.w r3, r7, #952 ; 0x3b8 - 801e16a: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801e16e: 4618 mov r0, r3 - 801e170: f7fa f81e bl 80181b0 <_ZN10ActionGoToD1Ev> - positionsToGo[2][3] = ActionGoTo(Position(2100, 550, isBlue), false); - 801e174: f107 0328 add.w r3, r7, #40 ; 0x28 - 801e178: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801e17c: 681b ldr r3, [r3, #0] - 801e17e: f503 7452 add.w r4, r3, #840 ; 0x348 - 801e182: f507 6383 add.w r3, r7, #1048 ; 0x418 - 801e186: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801e18a: f897 c95f ldrb.w ip, [r7, #2399] - 801e18e: 4618 mov r0, r3 - 801e190: f8df 1520 ldr.w r1, [pc, #1312] ; 801e6b4 <_ZN14RamasserVerresC2Ev+0xd70> - 801e194: f8df 2544 ldr.w r2, [pc, #1348] ; 801e6dc <_ZN14RamasserVerresC2Ev+0xd98> - 801e198: 4663 mov r3, ip - 801e19a: f7f9 fb09 bl 80177b0 <_ZN8PositionC1Effb> - 801e19e: f507 717a add.w r1, r7, #1000 ; 0x3e8 - 801e1a2: f1a1 0104 sub.w r1, r1, #4 ; 0x4 - 801e1a6: f507 6383 add.w r3, r7, #1048 ; 0x418 - 801e1aa: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801e1ae: f8df 24f0 ldr.w r2, [pc, #1264] ; 801e6a0 <_ZN14RamasserVerresC2Ev+0xd5c> - 801e1b2: 9200 str r2, [sp, #0] - 801e1b4: 4608 mov r0, r1 - 801e1b6: e893 0006 ldmia.w r3, {r1, r2} - 801e1ba: f04f 0300 mov.w r3, #0 ; 0x0 - 801e1be: f7fa f82f bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801e1c2: f507 737a add.w r3, r7, #1000 ; 0x3e8 - 801e1c6: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801e1ca: 4620 mov r0, r4 - 801e1cc: 4619 mov r1, r3 - 801e1ce: f010 fe13 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801e1d2: f507 737a add.w r3, r7, #1000 ; 0x3e8 - 801e1d6: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801e1da: 4618 mov r0, r3 - 801e1dc: f7f9 ffe8 bl 80181b0 <_ZN10ActionGoToD1Ev> - positionsToGo[2][4] = ActionGoTo(Position(900, 550, isBlue), false); - 801e1e0: f107 0328 add.w r3, r7, #40 ; 0x28 - 801e1e4: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801e1e8: 681b ldr r3, [r3, #0] - 801e1ea: f503 745e add.w r4, r3, #888 ; 0x378 - 801e1ee: f507 638b add.w r3, r7, #1112 ; 0x458 - 801e1f2: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801e1f6: f897 c95f ldrb.w ip, [r7, #2399] - 801e1fa: 4618 mov r0, r3 - 801e1fc: f8df 14c0 ldr.w r1, [pc, #1216] ; 801e6c0 <_ZN14RamasserVerresC2Ev+0xd7c> - 801e200: f8df 24d8 ldr.w r2, [pc, #1240] ; 801e6dc <_ZN14RamasserVerresC2Ev+0xd98> - 801e204: 4663 mov r3, ip - 801e206: f7f9 fad3 bl 80177b0 <_ZN8PositionC1Effb> - 801e20a: f507 6185 add.w r1, r7, #1064 ; 0x428 - 801e20e: f1a1 010c sub.w r1, r1, #12 ; 0xc - 801e212: f507 638b add.w r3, r7, #1112 ; 0x458 - 801e216: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801e21a: f8df 2484 ldr.w r2, [pc, #1156] ; 801e6a0 <_ZN14RamasserVerresC2Ev+0xd5c> - 801e21e: 9200 str r2, [sp, #0] - 801e220: 4608 mov r0, r1 - 801e222: e893 0006 ldmia.w r3, {r1, r2} - 801e226: f04f 0300 mov.w r3, #0 ; 0x0 - 801e22a: f7f9 fff9 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801e22e: f507 6385 add.w r3, r7, #1064 ; 0x428 - 801e232: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801e236: 4620 mov r0, r4 - 801e238: 4619 mov r1, r3 - 801e23a: f010 fddd bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801e23e: f507 6385 add.w r3, r7, #1064 ; 0x428 - 801e242: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801e246: 4618 mov r0, r3 - 801e248: f7f9 ffb2 bl 80181b0 <_ZN10ActionGoToD1Ev> - positionsToGo[2][5] = ActionGoTo(Position(350, 450, isBlue), false); - 801e24c: f107 0328 add.w r3, r7, #40 ; 0x28 - 801e250: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801e254: 681b ldr r3, [r3, #0] - 801e256: f503 746a add.w r4, r3, #936 ; 0x3a8 - 801e25a: f507 6391 add.w r3, r7, #1160 ; 0x488 - 801e25e: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801e262: f897 c95f ldrb.w ip, [r7, #2399] - 801e266: 4618 mov r0, r3 - 801e268: f8df 1458 ldr.w r1, [pc, #1112] ; 801e6c4 <_ZN14RamasserVerresC2Ev+0xd80> - 801e26c: f8df 2470 ldr.w r2, [pc, #1136] ; 801e6e0 <_ZN14RamasserVerresC2Ev+0xd9c> - 801e270: 4663 mov r3, ip - 801e272: f7f9 fa9d bl 80177b0 <_ZN8PositionC1Effb> - 801e276: f507 618b add.w r1, r7, #1112 ; 0x458 - 801e27a: f1a1 0104 sub.w r1, r1, #4 ; 0x4 - 801e27e: f507 6391 add.w r3, r7, #1160 ; 0x488 - 801e282: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801e286: f8df 2418 ldr.w r2, [pc, #1048] ; 801e6a0 <_ZN14RamasserVerresC2Ev+0xd5c> - 801e28a: 9200 str r2, [sp, #0] - 801e28c: 4608 mov r0, r1 - 801e28e: e893 0006 ldmia.w r3, {r1, r2} - 801e292: f04f 0300 mov.w r3, #0 ; 0x0 - 801e296: f7f9 ffc3 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801e29a: f507 638b add.w r3, r7, #1112 ; 0x458 - 801e29e: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801e2a2: 4620 mov r0, r4 - 801e2a4: 4619 mov r1, r3 - 801e2a6: f010 fda7 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801e2aa: f507 638b add.w r3, r7, #1112 ; 0x458 - 801e2ae: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801e2b2: 4618 mov r0, r3 - 801e2b4: f7f9 ff7c bl 80181b0 <_ZN10ActionGoToD1Ev> - positionsToGo[2][6] = ActionGoTo(Position(350, 450, isBlue), true); - 801e2b8: f107 0328 add.w r3, r7, #40 ; 0x28 - 801e2bc: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801e2c0: 681b ldr r3, [r3, #0] - 801e2c2: f503 7476 add.w r4, r3, #984 ; 0x3d8 - 801e2c6: f507 6399 add.w r3, r7, #1224 ; 0x4c8 - 801e2ca: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801e2ce: f897 c95f ldrb.w ip, [r7, #2399] - 801e2d2: 4618 mov r0, r3 - 801e2d4: 49fb ldr r1, [pc, #1004] (801e6c4 <_ZN14RamasserVerresC2Ev+0xd80>) - 801e2d6: f8df 2408 ldr.w r2, [pc, #1032] ; 801e6e0 <_ZN14RamasserVerresC2Ev+0xd9c> - 801e2da: 4663 mov r3, ip - 801e2dc: f7f9 fa68 bl 80177b0 <_ZN8PositionC1Effb> - 801e2e0: f507 6193 add.w r1, r7, #1176 ; 0x498 - 801e2e4: f1a1 010c sub.w r1, r1, #12 ; 0xc - 801e2e8: f507 6399 add.w r3, r7, #1224 ; 0x4c8 - 801e2ec: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801e2f0: 4aeb ldr r2, [pc, #940] (801e6a0 <_ZN14RamasserVerresC2Ev+0xd5c>) - 801e2f2: 9200 str r2, [sp, #0] - 801e2f4: 4608 mov r0, r1 - 801e2f6: e893 0006 ldmia.w r3, {r1, r2} - 801e2fa: f04f 0301 mov.w r3, #1 ; 0x1 - 801e2fe: f7f9 ff8f bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801e302: f507 6393 add.w r3, r7, #1176 ; 0x498 - 801e306: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801e30a: 4620 mov r0, r4 - 801e30c: 4619 mov r1, r3 - 801e30e: f010 fd73 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801e312: f507 6393 add.w r3, r7, #1176 ; 0x498 - 801e316: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801e31a: 4618 mov r0, r3 - 801e31c: f7f9 ff48 bl 80181b0 <_ZN10ActionGoToD1Ev> - - - positionsToGo[3][0] = ActionGoTo(Position(600, 800, isBlue), false); - 801e320: f107 0328 add.w r3, r7, #40 ; 0x28 - 801e324: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801e328: 681b ldr r3, [r3, #0] - 801e32a: f503 6481 add.w r4, r3, #1032 ; 0x408 - 801e32e: f507 639f add.w r3, r7, #1272 ; 0x4f8 - 801e332: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801e336: f897 c95f ldrb.w ip, [r7, #2399] - 801e33a: 4618 mov r0, r3 - 801e33c: 49d9 ldr r1, [pc, #868] (801e6a4 <_ZN14RamasserVerresC2Ev+0xd60>) - 801e33e: 4ae6 ldr r2, [pc, #920] (801e6d8 <_ZN14RamasserVerresC2Ev+0xd94>) - 801e340: 4663 mov r3, ip - 801e342: f7f9 fa35 bl 80177b0 <_ZN8PositionC1Effb> - 801e346: f507 6199 add.w r1, r7, #1224 ; 0x4c8 - 801e34a: f1a1 0104 sub.w r1, r1, #4 ; 0x4 - 801e34e: f507 639f add.w r3, r7, #1272 ; 0x4f8 - 801e352: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801e356: 4ad2 ldr r2, [pc, #840] (801e6a0 <_ZN14RamasserVerresC2Ev+0xd5c>) - 801e358: 9200 str r2, [sp, #0] - 801e35a: 4608 mov r0, r1 - 801e35c: e893 0006 ldmia.w r3, {r1, r2} - 801e360: f04f 0300 mov.w r3, #0 ; 0x0 - 801e364: f7f9 ff5c bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801e368: f507 6399 add.w r3, r7, #1224 ; 0x4c8 - 801e36c: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801e370: 4620 mov r0, r4 - 801e372: 4619 mov r1, r3 - 801e374: f010 fd40 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801e378: f507 6399 add.w r3, r7, #1224 ; 0x4c8 - 801e37c: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801e380: 4618 mov r0, r3 - 801e382: f7f9 ff15 bl 80181b0 <_ZN10ActionGoToD1Ev> - //positionsToGo[2][1] = new ActionGoTo(Position(2100, 800, isBlue), false); - positionsToGo[3][1] = ActionGoTo(Position(2100, 800, isBlue), false); - 801e386: f107 0328 add.w r3, r7, #40 ; 0x28 - 801e38a: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801e38e: 681b ldr r3, [r3, #0] - 801e390: f503 6487 add.w r4, r3, #1080 ; 0x438 - 801e394: f507 63a7 add.w r3, r7, #1336 ; 0x538 - 801e398: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801e39c: f897 c95f ldrb.w ip, [r7, #2399] - 801e3a0: 4618 mov r0, r3 - 801e3a2: 49c4 ldr r1, [pc, #784] (801e6b4 <_ZN14RamasserVerresC2Ev+0xd70>) - 801e3a4: 4acc ldr r2, [pc, #816] (801e6d8 <_ZN14RamasserVerresC2Ev+0xd94>) - 801e3a6: 4663 mov r3, ip - 801e3a8: f7f9 fa02 bl 80177b0 <_ZN8PositionC1Effb> - 801e3ac: f507 61a1 add.w r1, r7, #1288 ; 0x508 - 801e3b0: f1a1 010c sub.w r1, r1, #12 ; 0xc - 801e3b4: f507 63a7 add.w r3, r7, #1336 ; 0x538 - 801e3b8: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801e3bc: 4ab8 ldr r2, [pc, #736] (801e6a0 <_ZN14RamasserVerresC2Ev+0xd5c>) - 801e3be: 9200 str r2, [sp, #0] - 801e3c0: 4608 mov r0, r1 - 801e3c2: e893 0006 ldmia.w r3, {r1, r2} - 801e3c6: f04f 0300 mov.w r3, #0 ; 0x0 - 801e3ca: f7f9 ff29 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801e3ce: f507 63a1 add.w r3, r7, #1288 ; 0x508 - 801e3d2: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801e3d6: 4620 mov r0, r4 - 801e3d8: 4619 mov r1, r3 - 801e3da: f010 fd0d bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801e3de: f507 63a1 add.w r3, r7, #1288 ; 0x508 - 801e3e2: f1a3 030c sub.w r3, r3, #12 ; 0xc - 801e3e6: 4618 mov r0, r3 - 801e3e8: f7f9 fee2 bl 80181b0 <_ZN10ActionGoToD1Ev> - //positionsToGo[2][2] = new ActionGoTo(Position(2100, 550, isBlue), false); - positionsToGo[3][2] = ActionGoTo(Position(2100, 1200, isBlue), false); - 801e3ec: f107 0328 add.w r3, r7, #40 ; 0x28 - 801e3f0: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801e3f4: 681b ldr r3, [r3, #0] - 801e3f6: f503 648d add.w r4, r3, #1128 ; 0x468 - 801e3fa: f507 63ad add.w r3, r7, #1384 ; 0x568 - 801e3fe: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801e402: f897 c95f ldrb.w ip, [r7, #2399] - 801e406: 4618 mov r0, r3 - 801e408: 49aa ldr r1, [pc, #680] (801e6b4 <_ZN14RamasserVerresC2Ev+0xd70>) - 801e40a: 4ab6 ldr r2, [pc, #728] (801e6e4 <_ZN14RamasserVerresC2Ev+0xda0>) - 801e40c: 4663 mov r3, ip - 801e40e: f7f9 f9cf bl 80177b0 <_ZN8PositionC1Effb> - 801e412: f507 61a7 add.w r1, r7, #1336 ; 0x538 - 801e416: f1a1 0104 sub.w r1, r1, #4 ; 0x4 - 801e41a: f507 63ad add.w r3, r7, #1384 ; 0x568 - 801e41e: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801e422: 4a9f ldr r2, [pc, #636] (801e6a0 <_ZN14RamasserVerresC2Ev+0xd5c>) - 801e424: 9200 str r2, [sp, #0] - 801e426: 4608 mov r0, r1 - 801e428: e893 0006 ldmia.w r3, {r1, r2} - 801e42c: f04f 0300 mov.w r3, #0 ; 0x0 - 801e430: f7f9 fef6 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801e434: f507 63a7 add.w r3, r7, #1336 ; 0x538 - 801e438: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801e43c: 4620 mov r0, r4 - 801e43e: 4619 mov r1, r3 - 801e440: f010 fcda bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801e444: f507 63a7 add.w r3, r7, #1336 ; 0x538 - 801e448: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 801e44c: 4618 mov r0, r3 - 801e44e: f7f9 feaf bl 80181b0 <_ZN10ActionGoToD1Ev> - positionsToGo[3][3] = ActionGoTo(Position(2100, 1050, isBlue), false); - 801e452: f107 0328 add.w r3, r7, #40 ; 0x28 - 801e456: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801e45a: 681b ldr r3, [r3, #0] - 801e45c: f503 6493 add.w r4, r3, #1176 ; 0x498 - 801e460: f507 63b2 add.w r3, r7, #1424 ; 0x590 - 801e464: f103 030c add.w r3, r3, #12 ; 0xc - 801e468: f897 c95f ldrb.w ip, [r7, #2399] - 801e46c: 4618 mov r0, r3 - 801e46e: 4991 ldr r1, [pc, #580] (801e6b4 <_ZN14RamasserVerresC2Ev+0xd70>) - 801e470: 4a92 ldr r2, [pc, #584] (801e6bc <_ZN14RamasserVerresC2Ev+0xd78>) - 801e472: 4663 mov r3, ip - 801e474: f7f9 f99c bl 80177b0 <_ZN8PositionC1Effb> - 801e478: f507 61ac add.w r1, r7, #1376 ; 0x560 - 801e47c: f101 010c add.w r1, r1, #12 ; 0xc - 801e480: f507 62b2 add.w r2, r7, #1424 ; 0x590 - 801e484: f102 020c add.w r2, r2, #12 ; 0xc - 801e488: 4b85 ldr r3, [pc, #532] (801e6a0 <_ZN14RamasserVerresC2Ev+0xd5c>) - 801e48a: 9300 str r3, [sp, #0] - 801e48c: 4608 mov r0, r1 - 801e48e: ca06 ldmia r2!, {r1, r2} - 801e490: f04f 0300 mov.w r3, #0 ; 0x0 - 801e494: f7f9 fec4 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801e498: f507 63ac add.w r3, r7, #1376 ; 0x560 - 801e49c: f103 030c add.w r3, r3, #12 ; 0xc - 801e4a0: 4620 mov r0, r4 - 801e4a2: 4619 mov r1, r3 - 801e4a4: f010 fca8 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801e4a8: f507 63ac add.w r3, r7, #1376 ; 0x560 - 801e4ac: f103 030c add.w r3, r3, #12 ; 0xc - 801e4b0: 4618 mov r0, r3 - 801e4b2: f7f9 fe7d bl 80181b0 <_ZN10ActionGoToD1Ev> - positionsToGo[3][4] = ActionGoTo(Position(1500, 1050, isBlue), false); - 801e4b6: f107 0328 add.w r3, r7, #40 ; 0x28 - 801e4ba: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801e4be: 681b ldr r3, [r3, #0] - 801e4c0: f503 6499 add.w r4, r3, #1224 ; 0x4c8 - 801e4c4: f507 63ba add.w r3, r7, #1488 ; 0x5d0 - 801e4c8: f103 0304 add.w r3, r3, #4 ; 0x4 - 801e4cc: f897 c95f ldrb.w ip, [r7, #2399] - 801e4d0: 4618 mov r0, r3 - 801e4d2: 4985 ldr r1, [pc, #532] (801e6e8 <_ZN14RamasserVerresC2Ev+0xda4>) - 801e4d4: 4a79 ldr r2, [pc, #484] (801e6bc <_ZN14RamasserVerresC2Ev+0xd78>) - 801e4d6: 4663 mov r3, ip - 801e4d8: f7f9 f96a bl 80177b0 <_ZN8PositionC1Effb> - 801e4dc: f507 61b4 add.w r1, r7, #1440 ; 0x5a0 - 801e4e0: f101 0104 add.w r1, r1, #4 ; 0x4 - 801e4e4: f507 62ba add.w r2, r7, #1488 ; 0x5d0 - 801e4e8: f102 0204 add.w r2, r2, #4 ; 0x4 - 801e4ec: 4b6c ldr r3, [pc, #432] (801e6a0 <_ZN14RamasserVerresC2Ev+0xd5c>) - 801e4ee: 9300 str r3, [sp, #0] - 801e4f0: 4608 mov r0, r1 - 801e4f2: ca06 ldmia r2!, {r1, r2} - 801e4f4: f04f 0300 mov.w r3, #0 ; 0x0 - 801e4f8: f7f9 fe92 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801e4fc: f507 63b4 add.w r3, r7, #1440 ; 0x5a0 - 801e500: f103 0304 add.w r3, r3, #4 ; 0x4 - 801e504: 4620 mov r0, r4 - 801e506: 4619 mov r1, r3 - 801e508: f010 fc76 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801e50c: f507 63b4 add.w r3, r7, #1440 ; 0x5a0 - 801e510: f103 0304 add.w r3, r3, #4 ; 0x4 - 801e514: 4618 mov r0, r3 - 801e516: f7f9 fe4b bl 80181b0 <_ZN10ActionGoToD1Ev> - positionsToGo[3][5] = ActionGoTo(Position(350, 350, isBlue), false); - 801e51a: f107 0328 add.w r3, r7, #40 ; 0x28 - 801e51e: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801e522: 681b ldr r3, [r3, #0] - 801e524: f503 649f add.w r4, r3, #1272 ; 0x4f8 - 801e528: f507 63c0 add.w r3, r7, #1536 ; 0x600 - 801e52c: f103 030c add.w r3, r3, #12 ; 0xc - 801e530: f897 c95f ldrb.w ip, [r7, #2399] - 801e534: 4618 mov r0, r3 - 801e536: 4963 ldr r1, [pc, #396] (801e6c4 <_ZN14RamasserVerresC2Ev+0xd80>) - 801e538: 4a62 ldr r2, [pc, #392] (801e6c4 <_ZN14RamasserVerresC2Ev+0xd80>) - 801e53a: 4663 mov r3, ip - 801e53c: f7f9 f938 bl 80177b0 <_ZN8PositionC1Effb> - 801e540: f507 61ba add.w r1, r7, #1488 ; 0x5d0 - 801e544: f101 010c add.w r1, r1, #12 ; 0xc - 801e548: f507 62c0 add.w r2, r7, #1536 ; 0x600 - 801e54c: f102 020c add.w r2, r2, #12 ; 0xc - 801e550: 4b53 ldr r3, [pc, #332] (801e6a0 <_ZN14RamasserVerresC2Ev+0xd5c>) - 801e552: 9300 str r3, [sp, #0] - 801e554: 4608 mov r0, r1 - 801e556: ca06 ldmia r2!, {r1, r2} - 801e558: f04f 0300 mov.w r3, #0 ; 0x0 - 801e55c: f7f9 fe60 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801e560: f507 63ba add.w r3, r7, #1488 ; 0x5d0 - 801e564: f103 030c add.w r3, r3, #12 ; 0xc - 801e568: 4620 mov r0, r4 - 801e56a: 4619 mov r1, r3 - 801e56c: f010 fc44 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801e570: f507 63ba add.w r3, r7, #1488 ; 0x5d0 - 801e574: f103 030c add.w r3, r3, #12 ; 0xc - 801e578: 4618 mov r0, r3 - 801e57a: f7f9 fe19 bl 80181b0 <_ZN10ActionGoToD1Ev> - positionsToGo[3][6] = ActionGoTo(Position(30, 1050, isBlue), true); - 801e57e: f107 0328 add.w r3, r7, #40 ; 0x28 - 801e582: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801e586: 681b ldr r3, [r3, #0] - 801e588: f503 64a5 add.w r4, r3, #1320 ; 0x528 - 801e58c: f507 63c8 add.w r3, r7, #1600 ; 0x640 - 801e590: f103 0304 add.w r3, r3, #4 ; 0x4 - 801e594: f897 c95f ldrb.w ip, [r7, #2399] - 801e598: 4618 mov r0, r3 - 801e59a: 4941 ldr r1, [pc, #260] (801e6a0 <_ZN14RamasserVerresC2Ev+0xd5c>) - 801e59c: 4a47 ldr r2, [pc, #284] (801e6bc <_ZN14RamasserVerresC2Ev+0xd78>) - 801e59e: 4663 mov r3, ip - 801e5a0: f7f9 f906 bl 80177b0 <_ZN8PositionC1Effb> - 801e5a4: f507 61c2 add.w r1, r7, #1552 ; 0x610 - 801e5a8: f101 0104 add.w r1, r1, #4 ; 0x4 - 801e5ac: f507 62c8 add.w r2, r7, #1600 ; 0x640 - 801e5b0: f102 0204 add.w r2, r2, #4 ; 0x4 - 801e5b4: 4b3a ldr r3, [pc, #232] (801e6a0 <_ZN14RamasserVerresC2Ev+0xd5c>) - 801e5b6: 9300 str r3, [sp, #0] - 801e5b8: 4608 mov r0, r1 - 801e5ba: ca06 ldmia r2!, {r1, r2} - 801e5bc: f04f 0301 mov.w r3, #1 ; 0x1 - 801e5c0: f7f9 fe2e bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801e5c4: f507 63c2 add.w r3, r7, #1552 ; 0x610 - 801e5c8: f103 0304 add.w r3, r3, #4 ; 0x4 - 801e5cc: 4620 mov r0, r4 - 801e5ce: 4619 mov r1, r3 - 801e5d0: f010 fc12 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801e5d4: f507 63c2 add.w r3, r7, #1552 ; 0x610 - 801e5d8: f103 0304 add.w r3, r3, #4 ; 0x4 - 801e5dc: 4618 mov r0, r3 - 801e5de: f7f9 fde7 bl 80181b0 <_ZN10ActionGoToD1Ev> - - - positionsToGo[4][0] = ActionGoTo(Position(600, 1050, isBlue), false); - 801e5e2: f107 0328 add.w r3, r7, #40 ; 0x28 - 801e5e6: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801e5ea: 681b ldr r3, [r3, #0] - 801e5ec: f503 64ab add.w r4, r3, #1368 ; 0x558 - 801e5f0: f507 63ce add.w r3, r7, #1648 ; 0x670 - 801e5f4: f103 030c add.w r3, r3, #12 ; 0xc - 801e5f8: f897 c95f ldrb.w ip, [r7, #2399] - 801e5fc: 4618 mov r0, r3 - 801e5fe: 4929 ldr r1, [pc, #164] (801e6a4 <_ZN14RamasserVerresC2Ev+0xd60>) - 801e600: 4a2e ldr r2, [pc, #184] (801e6bc <_ZN14RamasserVerresC2Ev+0xd78>) - 801e602: 4663 mov r3, ip - 801e604: f7f9 f8d4 bl 80177b0 <_ZN8PositionC1Effb> - 801e608: f507 61c8 add.w r1, r7, #1600 ; 0x640 - 801e60c: f101 010c add.w r1, r1, #12 ; 0xc - 801e610: f507 62ce add.w r2, r7, #1648 ; 0x670 - 801e614: f102 020c add.w r2, r2, #12 ; 0xc - 801e618: 4b21 ldr r3, [pc, #132] (801e6a0 <_ZN14RamasserVerresC2Ev+0xd5c>) - 801e61a: 9300 str r3, [sp, #0] - 801e61c: 4608 mov r0, r1 - 801e61e: ca06 ldmia r2!, {r1, r2} - 801e620: f04f 0300 mov.w r3, #0 ; 0x0 - 801e624: f7f9 fdfc bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801e628: f507 63c8 add.w r3, r7, #1600 ; 0x640 - 801e62c: f103 030c add.w r3, r3, #12 ; 0xc - 801e630: 4620 mov r0, r4 - 801e632: 4619 mov r1, r3 - 801e634: f010 fbe0 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801e638: f507 63c8 add.w r3, r7, #1600 ; 0x640 - 801e63c: f103 030c add.w r3, r3, #12 ; 0xc - 801e640: 4618 mov r0, r3 - 801e642: f7f9 fdb5 bl 80181b0 <_ZN10ActionGoToD1Ev> - //positionsToGo[2][1] = new ActionGoTo(Position(2100, 800, isBlue), false); - positionsToGo[4][1] = ActionGoTo(Position(2100, 550, isBlue), false); - 801e646: f107 0328 add.w r3, r7, #40 ; 0x28 - 801e64a: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801e64e: 681b ldr r3, [r3, #0] - 801e650: f503 64b1 add.w r4, r3, #1416 ; 0x588 - 801e654: f507 63d6 add.w r3, r7, #1712 ; 0x6b0 - 801e658: f103 0304 add.w r3, r3, #4 ; 0x4 - 801e65c: f897 c95f ldrb.w ip, [r7, #2399] - 801e660: 4618 mov r0, r3 - 801e662: 4914 ldr r1, [pc, #80] (801e6b4 <_ZN14RamasserVerresC2Ev+0xd70>) - 801e664: 4a1d ldr r2, [pc, #116] (801e6dc <_ZN14RamasserVerresC2Ev+0xd98>) - 801e666: 4663 mov r3, ip - 801e668: f7f9 f8a2 bl 80177b0 <_ZN8PositionC1Effb> - 801e66c: f507 61d0 add.w r1, r7, #1664 ; 0x680 - 801e670: f101 0104 add.w r1, r1, #4 ; 0x4 - 801e674: f507 62d6 add.w r2, r7, #1712 ; 0x6b0 - 801e678: f102 0204 add.w r2, r2, #4 ; 0x4 - 801e67c: 4b08 ldr r3, [pc, #32] (801e6a0 <_ZN14RamasserVerresC2Ev+0xd5c>) - 801e67e: 9300 str r3, [sp, #0] - 801e680: 4608 mov r0, r1 - 801e682: ca06 ldmia r2!, {r1, r2} - 801e684: f04f 0300 mov.w r3, #0 ; 0x0 - 801e688: f7f9 fdca bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801e68c: f507 63d0 add.w r3, r7, #1664 ; 0x680 - 801e690: f103 0304 add.w r3, r3, #4 ; 0x4 - 801e694: 4620 mov r0, r4 - 801e696: 4619 mov r1, r3 - 801e698: e028 b.n 801e6ec <_ZN14RamasserVerresC2Ev+0xda8> - 801e69a: 46c0 nop (mov r8, r8) - 801e69c: 00000000 .word 0x00000000 - 801e6a0: 41f00000 .word 0x41f00000 - 801e6a4: 44160000 .word 0x44160000 - 801e6a8: 44a28000 .word 0x44a28000 - 801e6ac: 442f0000 .word 0x442f0000 - 801e6b0: 44aa0000 .word 0x44aa0000 - 801e6b4: 45034000 .word 0x45034000 - 801e6b8: 449c4000 .word 0x449c4000 - 801e6bc: 44834000 .word 0x44834000 - 801e6c0: 44610000 .word 0x44610000 - 801e6c4: 43af0000 .word 0x43af0000 - 801e6c8: 44a8c000 .word 0x44a8c000 - 801e6cc: 443e0000 .word 0x443e0000 - 801e6d0: 43b90000 .word 0x43b90000 - 801e6d4: 43fa0000 .word 0x43fa0000 - 801e6d8: 44480000 .word 0x44480000 - 801e6dc: 44098000 .word 0x44098000 - 801e6e0: 43e10000 .word 0x43e10000 - 801e6e4: 44960000 .word 0x44960000 - 801e6e8: 44bb8000 .word 0x44bb8000 - 801e6ec: f010 fb84 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801e6f0: f507 63d0 add.w r3, r7, #1664 ; 0x680 - 801e6f4: f103 0304 add.w r3, r3, #4 ; 0x4 - 801e6f8: 4618 mov r0, r3 - 801e6fa: f7f9 fd59 bl 80181b0 <_ZN10ActionGoToD1Ev> - //positionsToGo[2][2] = new ActionGoTo(Position(2100, 550, isBlue), false); - positionsToGo[4][2] = ActionGoTo(Position(2100, 1050, isBlue), false); - 801e6fe: f107 0328 add.w r3, r7, #40 ; 0x28 - 801e702: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801e706: 681b ldr r3, [r3, #0] - 801e708: f503 64b7 add.w r4, r3, #1464 ; 0x5b8 - 801e70c: f507 63dc add.w r3, r7, #1760 ; 0x6e0 - 801e710: f103 030c add.w r3, r3, #12 ; 0xc - 801e714: f897 c95f ldrb.w ip, [r7, #2399] - 801e718: 4618 mov r0, r3 - 801e71a: f8df 1564 ldr.w r1, [pc, #1380] ; 801ec80 <_ZN14RamasserVerresC2Ev+0x133c> - 801e71e: f8df 2564 ldr.w r2, [pc, #1380] ; 801ec84 <_ZN14RamasserVerresC2Ev+0x1340> - 801e722: 4663 mov r3, ip - 801e724: f7f9 f844 bl 80177b0 <_ZN8PositionC1Effb> - 801e728: f507 61d6 add.w r1, r7, #1712 ; 0x6b0 - 801e72c: f101 010c add.w r1, r1, #12 ; 0xc - 801e730: f507 62dc add.w r2, r7, #1760 ; 0x6e0 - 801e734: f102 020c add.w r2, r2, #12 ; 0xc - 801e738: f8df 354c ldr.w r3, [pc, #1356] ; 801ec88 <_ZN14RamasserVerresC2Ev+0x1344> - 801e73c: 9300 str r3, [sp, #0] - 801e73e: 4608 mov r0, r1 - 801e740: ca06 ldmia r2!, {r1, r2} - 801e742: f04f 0300 mov.w r3, #0 ; 0x0 - 801e746: f7f9 fd6b bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801e74a: f507 63d6 add.w r3, r7, #1712 ; 0x6b0 - 801e74e: f103 030c add.w r3, r3, #12 ; 0xc - 801e752: 4620 mov r0, r4 - 801e754: 4619 mov r1, r3 - 801e756: f010 fb4f bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801e75a: f507 63d6 add.w r3, r7, #1712 ; 0x6b0 - 801e75e: f103 030c add.w r3, r3, #12 ; 0xc - 801e762: 4618 mov r0, r3 - 801e764: f7f9 fd24 bl 80181b0 <_ZN10ActionGoToD1Ev> - positionsToGo[4][3] = ActionGoTo(Position(2100, 800, isBlue), false); - 801e768: f107 0328 add.w r3, r7, #40 ; 0x28 - 801e76c: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801e770: 681b ldr r3, [r3, #0] - 801e772: f503 64bd add.w r4, r3, #1512 ; 0x5e8 - 801e776: f507 63e4 add.w r3, r7, #1824 ; 0x720 - 801e77a: f103 0304 add.w r3, r3, #4 ; 0x4 - 801e77e: f897 c95f ldrb.w ip, [r7, #2399] - 801e782: 4618 mov r0, r3 - 801e784: f8df 14f8 ldr.w r1, [pc, #1272] ; 801ec80 <_ZN14RamasserVerresC2Ev+0x133c> - 801e788: f8df 2500 ldr.w r2, [pc, #1280] ; 801ec8c <_ZN14RamasserVerresC2Ev+0x1348> - 801e78c: 4663 mov r3, ip - 801e78e: f7f9 f80f bl 80177b0 <_ZN8PositionC1Effb> - 801e792: f507 61de add.w r1, r7, #1776 ; 0x6f0 - 801e796: f101 0104 add.w r1, r1, #4 ; 0x4 - 801e79a: f507 62e4 add.w r2, r7, #1824 ; 0x720 - 801e79e: f102 0204 add.w r2, r2, #4 ; 0x4 - 801e7a2: f8df 34e4 ldr.w r3, [pc, #1252] ; 801ec88 <_ZN14RamasserVerresC2Ev+0x1344> - 801e7a6: 9300 str r3, [sp, #0] - 801e7a8: 4608 mov r0, r1 - 801e7aa: ca06 ldmia r2!, {r1, r2} - 801e7ac: f04f 0300 mov.w r3, #0 ; 0x0 - 801e7b0: f7f9 fd36 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801e7b4: f507 63de add.w r3, r7, #1776 ; 0x6f0 - 801e7b8: f103 0304 add.w r3, r3, #4 ; 0x4 - 801e7bc: 4620 mov r0, r4 - 801e7be: 4619 mov r1, r3 - 801e7c0: f010 fb1a bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801e7c4: f507 63de add.w r3, r7, #1776 ; 0x6f0 - 801e7c8: f103 0304 add.w r3, r3, #4 ; 0x4 - 801e7cc: 4618 mov r0, r3 - 801e7ce: f7f9 fcef bl 80181b0 <_ZN10ActionGoToD1Ev> - positionsToGo[4][4] = ActionGoTo(Position(1500, 800, isBlue), false); - 801e7d2: f107 0328 add.w r3, r7, #40 ; 0x28 - 801e7d6: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801e7da: 681b ldr r3, [r3, #0] - 801e7dc: f503 64c3 add.w r4, r3, #1560 ; 0x618 - 801e7e0: f507 63ea add.w r3, r7, #1872 ; 0x750 - 801e7e4: f103 030c add.w r3, r3, #12 ; 0xc - 801e7e8: f897 c95f ldrb.w ip, [r7, #2399] - 801e7ec: 4618 mov r0, r3 - 801e7ee: f8df 14a0 ldr.w r1, [pc, #1184] ; 801ec90 <_ZN14RamasserVerresC2Ev+0x134c> - 801e7f2: f8df 2498 ldr.w r2, [pc, #1176] ; 801ec8c <_ZN14RamasserVerresC2Ev+0x1348> - 801e7f6: 4663 mov r3, ip - 801e7f8: f7f8 ffda bl 80177b0 <_ZN8PositionC1Effb> - 801e7fc: f507 61e4 add.w r1, r7, #1824 ; 0x720 - 801e800: f101 010c add.w r1, r1, #12 ; 0xc - 801e804: f507 62ea add.w r2, r7, #1872 ; 0x750 - 801e808: f102 020c add.w r2, r2, #12 ; 0xc - 801e80c: f8df 3478 ldr.w r3, [pc, #1144] ; 801ec88 <_ZN14RamasserVerresC2Ev+0x1344> - 801e810: 9300 str r3, [sp, #0] - 801e812: 4608 mov r0, r1 - 801e814: ca06 ldmia r2!, {r1, r2} - 801e816: f04f 0300 mov.w r3, #0 ; 0x0 - 801e81a: f7f9 fd01 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801e81e: f507 63e4 add.w r3, r7, #1824 ; 0x720 - 801e822: f103 030c add.w r3, r3, #12 ; 0xc - 801e826: 4620 mov r0, r4 - 801e828: 4619 mov r1, r3 - 801e82a: f010 fae5 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801e82e: f507 63e4 add.w r3, r7, #1824 ; 0x720 - 801e832: f103 030c add.w r3, r3, #12 ; 0xc - 801e836: 4618 mov r0, r3 - 801e838: f7f9 fcba bl 80181b0 <_ZN10ActionGoToD1Ev> - positionsToGo[4][5] = ActionGoTo(Position(350, 350, isBlue), false); - 801e83c: f107 0328 add.w r3, r7, #40 ; 0x28 - 801e840: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801e844: 681b ldr r3, [r3, #0] - 801e846: f503 64c9 add.w r4, r3, #1608 ; 0x648 - 801e84a: f507 63f2 add.w r3, r7, #1936 ; 0x790 - 801e84e: f103 0304 add.w r3, r3, #4 ; 0x4 - 801e852: f897 c95f ldrb.w ip, [r7, #2399] - 801e856: 4618 mov r0, r3 - 801e858: f8df 1438 ldr.w r1, [pc, #1080] ; 801ec94 <_ZN14RamasserVerresC2Ev+0x1350> - 801e85c: f8df 2434 ldr.w r2, [pc, #1076] ; 801ec94 <_ZN14RamasserVerresC2Ev+0x1350> - 801e860: 4663 mov r3, ip - 801e862: f7f8 ffa5 bl 80177b0 <_ZN8PositionC1Effb> - 801e866: f507 61ec add.w r1, r7, #1888 ; 0x760 - 801e86a: f101 0104 add.w r1, r1, #4 ; 0x4 - 801e86e: f507 62f2 add.w r2, r7, #1936 ; 0x790 - 801e872: f102 0204 add.w r2, r2, #4 ; 0x4 - 801e876: f8df 3410 ldr.w r3, [pc, #1040] ; 801ec88 <_ZN14RamasserVerresC2Ev+0x1344> - 801e87a: 9300 str r3, [sp, #0] - 801e87c: 4608 mov r0, r1 - 801e87e: ca06 ldmia r2!, {r1, r2} - 801e880: f04f 0300 mov.w r3, #0 ; 0x0 - 801e884: f7f9 fccc bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801e888: f507 63ec add.w r3, r7, #1888 ; 0x760 - 801e88c: f103 0304 add.w r3, r3, #4 ; 0x4 - 801e890: 4620 mov r0, r4 - 801e892: 4619 mov r1, r3 - 801e894: f010 fab0 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801e898: f507 63ec add.w r3, r7, #1888 ; 0x760 - 801e89c: f103 0304 add.w r3, r3, #4 ; 0x4 - 801e8a0: 4618 mov r0, r3 - 801e8a2: f7f9 fc85 bl 80181b0 <_ZN10ActionGoToD1Ev> - positionsToGo[4][6] = ActionGoTo(Position(1500, 800, isBlue), true); - 801e8a6: f107 0328 add.w r3, r7, #40 ; 0x28 - 801e8aa: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801e8ae: 681b ldr r3, [r3, #0] - 801e8b0: f503 64cf add.w r4, r3, #1656 ; 0x678 - 801e8b4: f507 63f8 add.w r3, r7, #1984 ; 0x7c0 - 801e8b8: f103 030c add.w r3, r3, #12 ; 0xc - 801e8bc: f897 c95f ldrb.w ip, [r7, #2399] - 801e8c0: 4618 mov r0, r3 - 801e8c2: 49f3 ldr r1, [pc, #972] (801ec90 <_ZN14RamasserVerresC2Ev+0x134c>) - 801e8c4: 4af1 ldr r2, [pc, #964] (801ec8c <_ZN14RamasserVerresC2Ev+0x1348>) - 801e8c6: 4663 mov r3, ip - 801e8c8: f7f8 ff72 bl 80177b0 <_ZN8PositionC1Effb> - 801e8cc: f507 61f2 add.w r1, r7, #1936 ; 0x790 - 801e8d0: f101 010c add.w r1, r1, #12 ; 0xc - 801e8d4: f507 62f8 add.w r2, r7, #1984 ; 0x7c0 - 801e8d8: f102 020c add.w r2, r2, #12 ; 0xc - 801e8dc: 4bea ldr r3, [pc, #936] (801ec88 <_ZN14RamasserVerresC2Ev+0x1344>) - 801e8de: 9300 str r3, [sp, #0] - 801e8e0: 4608 mov r0, r1 - 801e8e2: ca06 ldmia r2!, {r1, r2} - 801e8e4: f04f 0301 mov.w r3, #1 ; 0x1 - 801e8e8: f7f9 fc9a bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801e8ec: f507 63f2 add.w r3, r7, #1936 ; 0x790 - 801e8f0: f103 030c add.w r3, r3, #12 ; 0xc - 801e8f4: 4620 mov r0, r4 - 801e8f6: 4619 mov r1, r3 - 801e8f8: f010 fa7e bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801e8fc: f507 63f2 add.w r3, r7, #1936 ; 0x790 - 801e900: f103 030c add.w r3, r3, #12 ; 0xc - 801e904: 4618 mov r0, r3 - 801e906: f7f9 fc53 bl 80181b0 <_ZN10ActionGoToD1Ev> - - - positionsToGo[5][0] = ActionGoTo(Position(600, 800, isBlue), false); - 801e90a: f107 0328 add.w r3, r7, #40 ; 0x28 - 801e90e: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801e912: 681b ldr r3, [r3, #0] - 801e914: f503 64d5 add.w r4, r3, #1704 ; 0x6a8 - 801e918: f507 6300 add.w r3, r7, #2048 ; 0x800 - 801e91c: f103 0304 add.w r3, r3, #4 ; 0x4 - 801e920: f897 c95f ldrb.w ip, [r7, #2399] - 801e924: 4618 mov r0, r3 - 801e926: 49dc ldr r1, [pc, #880] (801ec98 <_ZN14RamasserVerresC2Ev+0x1354>) - 801e928: 4ad8 ldr r2, [pc, #864] (801ec8c <_ZN14RamasserVerresC2Ev+0x1348>) - 801e92a: 4663 mov r3, ip - 801e92c: f7f8 ff40 bl 80177b0 <_ZN8PositionC1Effb> - 801e930: f507 61fa add.w r1, r7, #2000 ; 0x7d0 - 801e934: f101 0104 add.w r1, r1, #4 ; 0x4 - 801e938: f507 6200 add.w r2, r7, #2048 ; 0x800 - 801e93c: f102 0204 add.w r2, r2, #4 ; 0x4 - 801e940: 4bd1 ldr r3, [pc, #836] (801ec88 <_ZN14RamasserVerresC2Ev+0x1344>) - 801e942: 9300 str r3, [sp, #0] - 801e944: 4608 mov r0, r1 - 801e946: ca06 ldmia r2!, {r1, r2} - 801e948: f04f 0300 mov.w r3, #0 ; 0x0 - 801e94c: f7f9 fc68 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801e950: f507 63fa add.w r3, r7, #2000 ; 0x7d0 - 801e954: f103 0304 add.w r3, r3, #4 ; 0x4 - 801e958: 4620 mov r0, r4 - 801e95a: 4619 mov r1, r3 - 801e95c: f010 fa4c bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801e960: f507 63fa add.w r3, r7, #2000 ; 0x7d0 - 801e964: f103 0304 add.w r3, r3, #4 ; 0x4 - 801e968: 4618 mov r0, r3 - 801e96a: f7f9 fc21 bl 80181b0 <_ZN10ActionGoToD1Ev> - //positionsToGo[2][1] = new ActionGoTo(Position(2100, 800, isBlue), false); - positionsToGo[5][1] = ActionGoTo(Position(2100, 800, isBlue), false); - 801e96e: f107 0328 add.w r3, r7, #40 ; 0x28 - 801e972: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801e976: 681b ldr r3, [r3, #0] - 801e978: f503 64db add.w r4, r3, #1752 ; 0x6d8 - 801e97c: f507 6302 add.w r3, r7, #2080 ; 0x820 - 801e980: f103 031c add.w r3, r3, #28 ; 0x1c - 801e984: f897 c95f ldrb.w ip, [r7, #2399] - 801e988: 4618 mov r0, r3 - 801e98a: 49bd ldr r1, [pc, #756] (801ec80 <_ZN14RamasserVerresC2Ev+0x133c>) - 801e98c: 4abf ldr r2, [pc, #764] (801ec8c <_ZN14RamasserVerresC2Ev+0x1348>) - 801e98e: 4663 mov r3, ip - 801e990: f7f8 ff0e bl 80177b0 <_ZN8PositionC1Effb> - 801e994: f507 6100 add.w r1, r7, #2048 ; 0x800 - 801e998: f101 010c add.w r1, r1, #12 ; 0xc - 801e99c: f507 6202 add.w r2, r7, #2080 ; 0x820 - 801e9a0: f102 021c add.w r2, r2, #28 ; 0x1c - 801e9a4: 4bb8 ldr r3, [pc, #736] (801ec88 <_ZN14RamasserVerresC2Ev+0x1344>) - 801e9a6: 9300 str r3, [sp, #0] - 801e9a8: 4608 mov r0, r1 - 801e9aa: ca06 ldmia r2!, {r1, r2} - 801e9ac: f04f 0300 mov.w r3, #0 ; 0x0 - 801e9b0: f7f9 fc36 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801e9b4: f507 6300 add.w r3, r7, #2048 ; 0x800 - 801e9b8: f103 030c add.w r3, r3, #12 ; 0xc - 801e9bc: 4620 mov r0, r4 - 801e9be: 4619 mov r1, r3 - 801e9c0: f010 fa1a bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801e9c4: f507 6300 add.w r3, r7, #2048 ; 0x800 - 801e9c8: f103 030c add.w r3, r3, #12 ; 0xc - 801e9cc: 4618 mov r0, r3 - 801e9ce: f7f9 fbef bl 80181b0 <_ZN10ActionGoToD1Ev> - //positionsToGo[2][2] = new ActionGoTo(Position(2100, 550, isBlue), false); - positionsToGo[5][2] = ActionGoTo(Position(2100, 800, isBlue), false); - 801e9d2: f107 0328 add.w r3, r7, #40 ; 0x28 - 801e9d6: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801e9da: 681b ldr r3, [r3, #0] - 801e9dc: f503 64e1 add.w r4, r3, #1800 ; 0x708 - 801e9e0: f507 6306 add.w r3, r7, #2144 ; 0x860 - 801e9e4: f103 0314 add.w r3, r3, #20 ; 0x14 - 801e9e8: f897 c95f ldrb.w ip, [r7, #2399] - 801e9ec: 4618 mov r0, r3 - 801e9ee: 49a4 ldr r1, [pc, #656] (801ec80 <_ZN14RamasserVerresC2Ev+0x133c>) - 801e9f0: 4aa6 ldr r2, [pc, #664] (801ec8c <_ZN14RamasserVerresC2Ev+0x1348>) - 801e9f2: 4663 mov r3, ip - 801e9f4: f7f8 fedc bl 80177b0 <_ZN8PositionC1Effb> - 801e9f8: f507 6204 add.w r2, r7, #2112 ; 0x840 - 801e9fc: f102 0204 add.w r2, r2, #4 ; 0x4 - 801ea00: 4ba1 ldr r3, [pc, #644] (801ec88 <_ZN14RamasserVerresC2Ev+0x1344>) - 801ea02: 9300 str r3, [sp, #0] - 801ea04: 4610 mov r0, r2 - 801ea06: f507 6306 add.w r3, r7, #2144 ; 0x860 - 801ea0a: f103 0314 add.w r3, r3, #20 ; 0x14 - 801ea0e: e893 0006 ldmia.w r3, {r1, r2} - 801ea12: f04f 0300 mov.w r3, #0 ; 0x0 - 801ea16: f7f9 fc03 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801ea1a: f507 6304 add.w r3, r7, #2112 ; 0x840 - 801ea1e: f103 0304 add.w r3, r3, #4 ; 0x4 - 801ea22: 4620 mov r0, r4 - 801ea24: 4619 mov r1, r3 - 801ea26: f010 f9e7 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801ea2a: f507 6304 add.w r3, r7, #2112 ; 0x840 - 801ea2e: f103 0304 add.w r3, r3, #4 ; 0x4 - 801ea32: 4618 mov r0, r3 - 801ea34: f7f9 fbbc bl 80181b0 <_ZN10ActionGoToD1Ev> - positionsToGo[5][3] = ActionGoTo(Position(2100, 550, isBlue), false); - 801ea38: f107 0328 add.w r3, r7, #40 ; 0x28 - 801ea3c: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801ea40: 681b ldr r3, [r3, #0] - 801ea42: f503 64e7 add.w r4, r3, #1848 ; 0x738 - 801ea46: f507 630a add.w r3, r7, #2208 ; 0x8a0 - 801ea4a: f103 030c add.w r3, r3, #12 ; 0xc - 801ea4e: f897 c95f ldrb.w ip, [r7, #2399] - 801ea52: 4618 mov r0, r3 - 801ea54: 498a ldr r1, [pc, #552] (801ec80 <_ZN14RamasserVerresC2Ev+0x133c>) - 801ea56: 4a91 ldr r2, [pc, #580] (801ec9c <_ZN14RamasserVerresC2Ev+0x1358>) - 801ea58: 4663 mov r3, ip - 801ea5a: f7f8 fea9 bl 80177b0 <_ZN8PositionC1Effb> - 801ea5e: f507 6206 add.w r2, r7, #2144 ; 0x860 - 801ea62: f102 021c add.w r2, r2, #28 ; 0x1c - 801ea66: 4b88 ldr r3, [pc, #544] (801ec88 <_ZN14RamasserVerresC2Ev+0x1344>) - 801ea68: 9300 str r3, [sp, #0] - 801ea6a: 4610 mov r0, r2 - 801ea6c: f507 630a add.w r3, r7, #2208 ; 0x8a0 - 801ea70: f103 030c add.w r3, r3, #12 ; 0xc - 801ea74: e893 0006 ldmia.w r3, {r1, r2} - 801ea78: f04f 0300 mov.w r3, #0 ; 0x0 - 801ea7c: f7f9 fbd0 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801ea80: f507 6306 add.w r3, r7, #2144 ; 0x860 - 801ea84: f103 031c add.w r3, r3, #28 ; 0x1c - 801ea88: 4620 mov r0, r4 - 801ea8a: 4619 mov r1, r3 - 801ea8c: f010 f9b4 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801ea90: f507 6306 add.w r3, r7, #2144 ; 0x860 - 801ea94: f103 031c add.w r3, r3, #28 ; 0x1c - 801ea98: 4618 mov r0, r3 - 801ea9a: f7f9 fb89 bl 80181b0 <_ZN10ActionGoToD1Ev> - positionsToGo[5][4] = ActionGoTo(Position(1500, 550, isBlue), false); - 801ea9e: f107 0328 add.w r3, r7, #40 ; 0x28 - 801eaa2: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801eaa6: 681b ldr r3, [r3, #0] - 801eaa8: f503 64ed add.w r4, r3, #1896 ; 0x768 - 801eaac: f507 630e add.w r3, r7, #2272 ; 0x8e0 - 801eab0: f103 0304 add.w r3, r3, #4 ; 0x4 - 801eab4: f897 c95f ldrb.w ip, [r7, #2399] - 801eab8: 4618 mov r0, r3 - 801eaba: 4975 ldr r1, [pc, #468] (801ec90 <_ZN14RamasserVerresC2Ev+0x134c>) - 801eabc: 4a77 ldr r2, [pc, #476] (801ec9c <_ZN14RamasserVerresC2Ev+0x1358>) - 801eabe: 4663 mov r3, ip - 801eac0: f7f8 fe76 bl 80177b0 <_ZN8PositionC1Effb> - 801eac4: f507 620a add.w r2, r7, #2208 ; 0x8a0 - 801eac8: f102 0214 add.w r2, r2, #20 ; 0x14 - 801eacc: 4b6e ldr r3, [pc, #440] (801ec88 <_ZN14RamasserVerresC2Ev+0x1344>) - 801eace: 9300 str r3, [sp, #0] - 801ead0: 4610 mov r0, r2 - 801ead2: f507 630e add.w r3, r7, #2272 ; 0x8e0 - 801ead6: f103 0304 add.w r3, r3, #4 ; 0x4 - 801eada: e893 0006 ldmia.w r3, {r1, r2} - 801eade: f04f 0300 mov.w r3, #0 ; 0x0 - 801eae2: f7f9 fb9d bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801eae6: f507 630a add.w r3, r7, #2208 ; 0x8a0 - 801eaea: f103 0314 add.w r3, r3, #20 ; 0x14 - 801eaee: 4620 mov r0, r4 - 801eaf0: 4619 mov r1, r3 - 801eaf2: f010 f981 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801eaf6: f507 630a add.w r3, r7, #2208 ; 0x8a0 - 801eafa: f103 0314 add.w r3, r3, #20 ; 0x14 - 801eafe: 4618 mov r0, r3 - 801eb00: f7f9 fb56 bl 80181b0 <_ZN10ActionGoToD1Ev> - positionsToGo[5][5] = ActionGoTo(Position(350, 350, isBlue), false); - 801eb04: f107 0328 add.w r3, r7, #40 ; 0x28 - 801eb08: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801eb0c: 681b ldr r3, [r3, #0] - 801eb0e: f503 64f3 add.w r4, r3, #1944 ; 0x798 - 801eb12: f507 6310 add.w r3, r7, #2304 ; 0x900 - 801eb16: f103 031c add.w r3, r3, #28 ; 0x1c - 801eb1a: f897 c95f ldrb.w ip, [r7, #2399] - 801eb1e: 4618 mov r0, r3 - 801eb20: 495c ldr r1, [pc, #368] (801ec94 <_ZN14RamasserVerresC2Ev+0x1350>) - 801eb22: 4a5c ldr r2, [pc, #368] (801ec94 <_ZN14RamasserVerresC2Ev+0x1350>) - 801eb24: 4663 mov r3, ip - 801eb26: f7f8 fe43 bl 80177b0 <_ZN8PositionC1Effb> - 801eb2a: f507 620e add.w r2, r7, #2272 ; 0x8e0 - 801eb2e: f102 020c add.w r2, r2, #12 ; 0xc - 801eb32: 4b55 ldr r3, [pc, #340] (801ec88 <_ZN14RamasserVerresC2Ev+0x1344>) - 801eb34: 9300 str r3, [sp, #0] - 801eb36: 4610 mov r0, r2 - 801eb38: f507 6310 add.w r3, r7, #2304 ; 0x900 - 801eb3c: f103 031c add.w r3, r3, #28 ; 0x1c - 801eb40: e893 0006 ldmia.w r3, {r1, r2} - 801eb44: f04f 0300 mov.w r3, #0 ; 0x0 - 801eb48: f7f9 fb6a bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801eb4c: f507 630e add.w r3, r7, #2272 ; 0x8e0 - 801eb50: f103 030c add.w r3, r3, #12 ; 0xc - 801eb54: 4620 mov r0, r4 - 801eb56: 4619 mov r1, r3 - 801eb58: f010 f94e bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801eb5c: f507 630e add.w r3, r7, #2272 ; 0x8e0 - 801eb60: f103 030c add.w r3, r3, #12 ; 0xc - 801eb64: 4618 mov r0, r3 - 801eb66: f7f9 fb23 bl 80181b0 <_ZN10ActionGoToD1Ev> - positionsToGo[5][6] = ActionGoTo(Position(1000, 1000, isBlue), true); - 801eb6a: f107 0328 add.w r3, r7, #40 ; 0x28 - 801eb6e: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801eb72: 681b ldr r3, [r3, #0] - 801eb74: f503 64f9 add.w r4, r3, #1992 ; 0x7c8 - 801eb78: f507 6314 add.w r3, r7, #2368 ; 0x940 - 801eb7c: f103 0314 add.w r3, r3, #20 ; 0x14 - 801eb80: f897 c95f ldrb.w ip, [r7, #2399] - 801eb84: 4618 mov r0, r3 - 801eb86: 4946 ldr r1, [pc, #280] (801eca0 <_ZN14RamasserVerresC2Ev+0x135c>) - 801eb88: 4a45 ldr r2, [pc, #276] (801eca0 <_ZN14RamasserVerresC2Ev+0x135c>) - 801eb8a: 4663 mov r3, ip - 801eb8c: f7f8 fe10 bl 80177b0 <_ZN8PositionC1Effb> - 801eb90: f507 6212 add.w r2, r7, #2336 ; 0x920 - 801eb94: f102 0204 add.w r2, r2, #4 ; 0x4 - 801eb98: 4b3b ldr r3, [pc, #236] (801ec88 <_ZN14RamasserVerresC2Ev+0x1344>) - 801eb9a: 9300 str r3, [sp, #0] - 801eb9c: 4610 mov r0, r2 - 801eb9e: f507 6314 add.w r3, r7, #2368 ; 0x940 - 801eba2: f103 0314 add.w r3, r3, #20 ; 0x14 - 801eba6: e893 0006 ldmia.w r3, {r1, r2} - 801ebaa: f04f 0301 mov.w r3, #1 ; 0x1 - 801ebae: f7f9 fb37 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 801ebb2: f507 6312 add.w r3, r7, #2336 ; 0x920 - 801ebb6: f103 0304 add.w r3, r3, #4 ; 0x4 - 801ebba: 4620 mov r0, r4 - 801ebbc: 4619 mov r1, r3 - 801ebbe: f010 f91b bl 802edf8 <_ZN10ActionGoToaSERKS_> - 801ebc2: f507 6312 add.w r3, r7, #2336 ; 0x920 - 801ebc6: f103 0304 add.w r3, r3, #4 ; 0x4 - 801ebca: 4618 mov r0, r3 - 801ebcc: f7f9 faf0 bl 80181b0 <_ZN10ActionGoToD1Ev> - - - for (int i = 0; i < 6; i++) - 801ebd0: f04f 0300 mov.w r3, #0 ; 0x0 - 801ebd4: f8c7 3960 str.w r3, [r7, #2400] - 801ebd8: e026 b.n 801ec28 <_ZN14RamasserVerresC2Ev+0x12e4> - for(int j = 0; j < 2; j++) - 801ebda: f04f 0300 mov.w r3, #0 ; 0x0 - 801ebde: f8c7 3964 str.w r3, [r7, #2404] - 801ebe2: e017 b.n 801ec14 <_ZN14RamasserVerresC2Ev+0x12d0> - demiLignesRamassees[i][j] = false; - 801ebe4: f8d7 1960 ldr.w r1, [r7, #2400] - 801ebe8: f8d7 0964 ldr.w r0, [r7, #2404] - 801ebec: f107 0328 add.w r3, r7, #40 ; 0x28 - 801ebf0: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801ebf4: 681a ldr r2, [r3, #0] - 801ebf6: ea4f 0341 mov.w r3, r1, lsl #1 - 801ebfa: 4413 add r3, r2 - 801ebfc: 4403 add r3, r0 - 801ebfe: f503 62ff add.w r2, r3, #2040 ; 0x7f8 - 801ec02: f04f 0300 mov.w r3, #0 ; 0x0 - 801ec06: 7013 strb r3, [r2, #0] - positionsToGo[5][5] = ActionGoTo(Position(350, 350, isBlue), false); - positionsToGo[5][6] = ActionGoTo(Position(1000, 1000, isBlue), true); - - - for (int i = 0; i < 6; i++) - for(int j = 0; j < 2; j++) - 801ec08: f8d7 3964 ldr.w r3, [r7, #2404] - 801ec0c: f103 0301 add.w r3, r3, #1 ; 0x1 - 801ec10: f8c7 3964 str.w r3, [r7, #2404] - 801ec14: f8d7 3964 ldr.w r3, [r7, #2404] - 801ec18: 2b01 cmp r3, #1 - 801ec1a: dde3 ble.n 801ebe4 <_ZN14RamasserVerresC2Ev+0x12a0> - positionsToGo[5][4] = ActionGoTo(Position(1500, 550, isBlue), false); - positionsToGo[5][5] = ActionGoTo(Position(350, 350, isBlue), false); - positionsToGo[5][6] = ActionGoTo(Position(1000, 1000, isBlue), true); - - - for (int i = 0; i < 6; i++) - 801ec1c: f8d7 3960 ldr.w r3, [r7, #2400] - 801ec20: f103 0301 add.w r3, r3, #1 ; 0x1 - 801ec24: f8c7 3960 str.w r3, [r7, #2400] - 801ec28: f8d7 3960 ldr.w r3, [r7, #2400] - 801ec2c: 2b05 cmp r3, #5 - 801ec2e: ddd4 ble.n 801ebda <_ZN14RamasserVerresC2Ev+0x1296> - for(int j = 0; j < 2; j++) - demiLignesRamassees[i][j] = false; - - myTurn = false; - 801ec30: f107 0328 add.w r3, r7, #40 ; 0x28 - 801ec34: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801ec38: 681a ldr r2, [r3, #0] - 801ec3a: f04f 0300 mov.w r3, #0 ; 0x0 - 801ec3e: f882 3818 strb.w r3, [r2, #2072] - nextPosition = 0; - 801ec42: f107 0328 add.w r3, r7, #40 ; 0x28 - 801ec46: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801ec4a: 681a ldr r2, [r3, #0] - 801ec4c: f04f 0300 mov.w r3, #0 ; 0x0 - 801ec50: f8c2 380c str.w r3, [r2, #2060] - ligneEnCours = -1; - 801ec54: f107 0328 add.w r3, r7, #40 ; 0x28 - 801ec58: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801ec5c: 681a ldr r2, [r3, #0] - 801ec5e: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 801ec62: f8c2 3804 str.w r3, [r2, #2052] -} - 801ec66: f107 0328 add.w r3, r7, #40 ; 0x28 - 801ec6a: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 801ec6e: 681b ldr r3, [r3, #0] - 801ec70: 4618 mov r0, r3 - 801ec72: f507 77b6 add.w r7, r7, #364 ; 0x16c - 801ec76: f507 6700 add.w r7, r7, #2048 ; 0x800 - 801ec7a: 46bd mov sp, r7 - 801ec7c: bd90 pop {r4, r7, pc} - 801ec7e: 46c0 nop (mov r8, r8) - 801ec80: 45034000 .word 0x45034000 - 801ec84: 44834000 .word 0x44834000 - 801ec88: 41f00000 .word 0x41f00000 - 801ec8c: 44480000 .word 0x44480000 - 801ec90: 44bb8000 .word 0x44bb8000 - 801ec94: 43af0000 .word 0x43af0000 - 801ec98: 44160000 .word 0x44160000 - 801ec9c: 44098000 .word 0x44098000 - 801eca0: 447a0000 .word 0x447a0000 - -0801eca4 <_ZN19RecalibrerOdometrie6updateEv>: -RecalibrerOdometrie::~RecalibrerOdometrie() -{ - //dtor -} - -int RecalibrerOdometrie::update() - 801eca4: b590 push {r4, r7, lr} - 801eca6: b0d9 sub sp, #356 - 801eca8: af02 add r7, sp, #8 - 801ecaa: f107 032c add.w r3, r7, #44 ; 0x2c - 801ecae: 6018 str r0, [r3, #0] -{ - allumerLED(); - 801ecb0: f7f6 f9d2 bl 8015058 <_Z10allumerLEDv> - allumerLED2(); - 801ecb4: f7f6 f9c8 bl 8015048 <_Z11allumerLED2v> -//#ifndef ROBOTHW -// status = -1; -// return -1; -//#else - if (status == 0) - 801ecb8: f107 032c add.w r3, r7, #44 ; 0x2c - 801ecbc: 681b ldr r3, [r3, #0] - 801ecbe: 68db ldr r3, [r3, #12] - 801ecc0: 2b00 cmp r3, #0 - 801ecc2: d115 bne.n 801ecf0 <_ZN19RecalibrerOdometrie6updateEv+0x4c> - { -#ifndef ROBOTHW - qDebug() << "recalibrerOdometrie"; -#endif - StrategieV2::setCurrentGoal(positionDepart, false);//Position(700, 1360,isBlue), false); - 801ecc4: f107 032c add.w r3, r7, #44 ; 0x2c - 801ecc8: 681a ldr r2, [r3, #0] - 801ecca: f8df 37bc ldr.w r3, [pc, #1980] ; 801f488 <_ZN19RecalibrerOdometrie6updateEv+0x7e4> - 801ecce: 9300 str r3, [sp, #0] - 801ecd0: f102 0318 add.w r3, r2, #24 ; 0x18 - 801ecd4: e893 0003 ldmia.w r3, {r0, r1} - 801ecd8: f04f 0200 mov.w r2, #0 ; 0x0 - 801ecdc: f8df 37ac ldr.w r3, [pc, #1964] ; 801f48c <_ZN19RecalibrerOdometrie6updateEv+0x7e8> - 801ece0: f000 ff60 bl 801fba4 <_ZN11StrategieV214setCurrentGoalE8Positionbff> - status = 1; - 801ece4: f107 032c add.w r3, r7, #44 ; 0x2c - 801ece8: 681a ldr r2, [r3, #0] - 801ecea: f04f 0301 mov.w r3, #1 ; 0x1 - 801ecee: 60d3 str r3, [r2, #12] - } - if (status == 1) // attend d'être replacé - 801ecf0: f107 032c add.w r3, r7, #44 ; 0x2c - 801ecf4: 681b ldr r3, [r3, #0] - 801ecf6: 68db ldr r3, [r3, #12] - 801ecf8: 2b01 cmp r3, #1 - 801ecfa: f040 808a bne.w 801ee12 <_ZN19RecalibrerOdometrie6updateEv+0x16e> - { - Position vect = positionDepart - Odometrie::odometrie->getPos().getPosition(); - 801ecfe: f107 032c add.w r3, r7, #44 ; 0x2c - 801ed02: 681b ldr r3, [r3, #0] - 801ed04: f103 0418 add.w r4, r3, #24 ; 0x18 - 801ed08: f8df 3784 ldr.w r3, [pc, #1924] ; 801f490 <_ZN19RecalibrerOdometrie6updateEv+0x7ec> - 801ed0c: 681a ldr r2, [r3, #0] - 801ed0e: f107 0364 add.w r3, r7, #100 ; 0x64 - 801ed12: 4618 mov r0, r3 - 801ed14: 4611 mov r1, r2 - 801ed16: f7f3 ff43 bl 8012ba0 <_ZNK9Odometrie6getPosEv> - 801ed1a: f107 035c add.w r3, r7, #92 ; 0x5c - 801ed1e: f107 0264 add.w r2, r7, #100 ; 0x64 - 801ed22: 4618 mov r0, r3 - 801ed24: 4611 mov r1, r2 - 801ed26: f7f8 ff91 bl 8017c4c <_ZNK17PositionPlusAngle11getPositionEv> - 801ed2a: f107 0354 add.w r3, r7, #84 ; 0x54 - 801ed2e: f107 025c add.w r2, r7, #92 ; 0x5c - 801ed32: 4618 mov r0, r3 - 801ed34: 4621 mov r1, r4 - 801ed36: f7f8 fdbb bl 80178b0 <_ZNK8PositionmiERKS_> - if (vect.getNorme() < 40) - 801ed3a: f107 0354 add.w r3, r7, #84 ; 0x54 - 801ed3e: 4618 mov r0, r3 - 801ed40: f7f8 fec4 bl 8017acc <_ZNK8Position8getNormeEv> - 801ed44: 4602 mov r2, r0 - 801ed46: f04f 0300 mov.w r3, #0 ; 0x0 - 801ed4a: 72fb strb r3, [r7, #11] - 801ed4c: 4610 mov r0, r2 - 801ed4e: f8df 1744 ldr.w r1, [pc, #1860] ; 801f494 <_ZN19RecalibrerOdometrie6updateEv+0x7f0> - 801ed52: f00e facd bl 802d2f0 <__aeabi_fcmplt> - 801ed56: 4603 mov r3, r0 - 801ed58: 2b00 cmp r3, #0 - 801ed5a: d002 beq.n 801ed62 <_ZN19RecalibrerOdometrie6updateEv+0xbe> - 801ed5c: f04f 0301 mov.w r3, #1 ; 0x1 - 801ed60: 72fb strb r3, [r7, #11] - 801ed62: 7afb ldrb r3, [r7, #11] - 801ed64: 2b00 cmp r3, #0 - 801ed66: d054 beq.n 801ee12 <_ZN19RecalibrerOdometrie6updateEv+0x16e> - { - if(this->coinRecalage == COTE_NOTRE_DEPART_BAS || this->coinRecalage == COTE_NOTRE_DEPART_HAUT) - 801ed68: f107 032c add.w r3, r7, #44 ; 0x2c - 801ed6c: 681b ldr r3, [r3, #0] - 801ed6e: 6a9b ldr r3, [r3, #40] - 801ed70: 2b03 cmp r3, #3 - 801ed72: d005 beq.n 801ed80 <_ZN19RecalibrerOdometrie6updateEv+0xdc> - 801ed74: f107 032c add.w r3, r7, #44 ; 0x2c - 801ed78: 681b ldr r3, [r3, #0] - 801ed7a: 6a9b ldr r3, [r3, #40] - 801ed7c: 2b02 cmp r3, #2 - 801ed7e: d11f bne.n 801edc0 <_ZN19RecalibrerOdometrie6updateEv+0x11c> - { - StrategieV2::setCurrentGoal(Position(0, positionDepart.getY()), true, 0.5); - 801ed80: f107 032c add.w r3, r7, #44 ; 0x2c - 801ed84: 681b ldr r3, [r3, #0] - 801ed86: f103 0318 add.w r3, r3, #24 ; 0x18 - 801ed8a: 4618 mov r0, r3 - 801ed8c: f7f8 fd42 bl 8017814 <_ZNK8Position4getYEv> - 801ed90: 4602 mov r2, r0 - 801ed92: f107 0370 add.w r3, r7, #112 ; 0x70 - 801ed96: 4618 mov r0, r3 - 801ed98: f8df 16fc ldr.w r1, [pc, #1788] ; 801f498 <_ZN19RecalibrerOdometrie6updateEv+0x7f4> - 801ed9c: f04f 0301 mov.w r3, #1 ; 0x1 - 801eda0: f7f8 fd06 bl 80177b0 <_ZN8PositionC1Effb> - 801eda4: f8df 36e0 ldr.w r3, [pc, #1760] ; 801f488 <_ZN19RecalibrerOdometrie6updateEv+0x7e4> - 801eda8: 9300 str r3, [sp, #0] - 801edaa: f107 0370 add.w r3, r7, #112 ; 0x70 - 801edae: e893 0003 ldmia.w r3, {r0, r1} - 801edb2: f04f 0201 mov.w r2, #1 ; 0x1 - 801edb6: f8df 36e4 ldr.w r3, [pc, #1764] ; 801f49c <_ZN19RecalibrerOdometrie6updateEv+0x7f8> - 801edba: f000 fef3 bl 801fba4 <_ZN11StrategieV214setCurrentGoalE8Positionbff> - 801edbe: e01e b.n 801edfe <_ZN19RecalibrerOdometrie6updateEv+0x15a> - } - else - { - StrategieV2::setCurrentGoal(Position(3000, positionDepart.getY()), true, 0.5); - 801edc0: f107 032c add.w r3, r7, #44 ; 0x2c - 801edc4: 681b ldr r3, [r3, #0] - 801edc6: f103 0318 add.w r3, r3, #24 ; 0x18 - 801edca: 4618 mov r0, r3 - 801edcc: f7f8 fd22 bl 8017814 <_ZNK8Position4getYEv> - 801edd0: 4602 mov r2, r0 - 801edd2: f107 0378 add.w r3, r7, #120 ; 0x78 - 801edd6: 4618 mov r0, r3 - 801edd8: f8df 16c4 ldr.w r1, [pc, #1732] ; 801f4a0 <_ZN19RecalibrerOdometrie6updateEv+0x7fc> - 801eddc: f04f 0301 mov.w r3, #1 ; 0x1 - 801ede0: f7f8 fce6 bl 80177b0 <_ZN8PositionC1Effb> - 801ede4: f8df 36a0 ldr.w r3, [pc, #1696] ; 801f488 <_ZN19RecalibrerOdometrie6updateEv+0x7e4> - 801ede8: 9300 str r3, [sp, #0] - 801edea: f107 0378 add.w r3, r7, #120 ; 0x78 - 801edee: e893 0003 ldmia.w r3, {r0, r1} - 801edf2: f04f 0201 mov.w r2, #1 ; 0x1 - 801edf6: f8df 36a4 ldr.w r3, [pc, #1700] ; 801f49c <_ZN19RecalibrerOdometrie6updateEv+0x7f8> - 801edfa: f000 fed3 bl 801fba4 <_ZN11StrategieV214setCurrentGoalE8Positionbff> - } - StrategieV2::setEnTrainDeRecalibrer(true); - 801edfe: f04f 0001 mov.w r0, #1 ; 0x1 - 801ee02: f000 fcdd bl 801f7c0 <_ZN11StrategieV222setEnTrainDeRecalibrerEb> - status = 2; - 801ee06: f107 032c add.w r3, r7, #44 ; 0x2c - 801ee0a: 681a ldr r2, [r3, #0] - 801ee0c: f04f 0302 mov.w r3, #2 ; 0x2 - 801ee10: 60d3 str r3, [r2, #12] - } - } - if (status == 2) // attend d'avoir synchro sur X - 801ee12: f107 032c add.w r3, r7, #44 ; 0x2c - 801ee16: 681b ldr r3, [r3, #0] - 801ee18: 68db ldr r3, [r3, #12] - 801ee1a: 2b02 cmp r3, #2 - 801ee1c: f040 8144 bne.w 801f0a8 <_ZN19RecalibrerOdometrie6updateEv+0x404> - { - static int timeBlockedY = 0; - //if (abs(Odometrie::odometrie->getVitesseLineaire()) < 0.005f) //if (fdc1->getValue().b && fdc2->getValue().b) // distance parcourue la derniere seconde - Position vect = candidatPositionArrete - Odometrie::odometrie->getPos().getPosition(); - 801ee20: f107 032c add.w r3, r7, #44 ; 0x2c - 801ee24: 681b ldr r3, [r3, #0] - 801ee26: f103 0420 add.w r4, r3, #32 ; 0x20 - 801ee2a: f8df 3664 ldr.w r3, [pc, #1636] ; 801f490 <_ZN19RecalibrerOdometrie6updateEv+0x7ec> - 801ee2e: 681a ldr r2, [r3, #0] - 801ee30: f107 0388 add.w r3, r7, #136 ; 0x88 - 801ee34: 4618 mov r0, r3 - 801ee36: 4611 mov r1, r2 - 801ee38: f7f3 feb2 bl 8012ba0 <_ZNK9Odometrie6getPosEv> - 801ee3c: f107 0380 add.w r3, r7, #128 ; 0x80 - 801ee40: f107 0288 add.w r2, r7, #136 ; 0x88 - 801ee44: 4618 mov r0, r3 - 801ee46: 4611 mov r1, r2 - 801ee48: f7f8 ff00 bl 8017c4c <_ZNK17PositionPlusAngle11getPositionEv> - 801ee4c: f107 034c add.w r3, r7, #76 ; 0x4c - 801ee50: f107 0280 add.w r2, r7, #128 ; 0x80 - 801ee54: 4618 mov r0, r3 - 801ee56: 4621 mov r1, r4 - 801ee58: f7f8 fd2a bl 80178b0 <_ZNK8PositionmiERKS_> - if(abs(vect.getNorme()) < 5)//Si on a pas bougé de plus de Xmm du dernier candidat de position où le robot s'est arrêté - 801ee5c: f107 034c add.w r3, r7, #76 ; 0x4c - 801ee60: 4618 mov r0, r3 - 801ee62: f7f8 fe33 bl 8017acc <_ZNK8Position8getNormeEv> - 801ee66: 4603 mov r3, r0 - 801ee68: 4618 mov r0, r3 - 801ee6a: f8df 162c ldr.w r1, [pc, #1580] ; 801f498 <_ZN19RecalibrerOdometrie6updateEv+0x7f4> - 801ee6e: f00e fa5d bl 802d32c <__aeabi_fcmpgt> - 801ee72: 4603 mov r3, r0 - 801ee74: 2b00 cmp r3, #0 - 801ee76: d016 beq.n 801eea6 <_ZN19RecalibrerOdometrie6updateEv+0x202> - 801ee78: f107 034c add.w r3, r7, #76 ; 0x4c - 801ee7c: 4618 mov r0, r3 - 801ee7e: f7f8 fe25 bl 8017acc <_ZNK8Position8getNormeEv> - 801ee82: 4602 mov r2, r0 - 801ee84: f04f 0300 mov.w r3, #0 ; 0x0 - 801ee88: 72bb strb r3, [r7, #10] - 801ee8a: 4610 mov r0, r2 - 801ee8c: f8df 1608 ldr.w r1, [pc, #1544] ; 801f498 <_ZN19RecalibrerOdometrie6updateEv+0x7f4> - 801ee90: f00e fa24 bl 802d2dc <__aeabi_fcmpeq> - 801ee94: 4603 mov r3, r0 - 801ee96: 2b00 cmp r3, #0 - 801ee98: d102 bne.n 801eea0 <_ZN19RecalibrerOdometrie6updateEv+0x1fc> - 801ee9a: f04f 0301 mov.w r3, #1 ; 0x1 - 801ee9e: 72bb strb r3, [r7, #10] - 801eea0: 7abb ldrb r3, [r7, #10] - 801eea2: 60fb str r3, [r7, #12] - 801eea4: e015 b.n 801eed2 <_ZN19RecalibrerOdometrie6updateEv+0x22e> - 801eea6: f107 034c add.w r3, r7, #76 ; 0x4c - 801eeaa: 4618 mov r0, r3 - 801eeac: f7f8 fe0e bl 8017acc <_ZNK8Position8getNormeEv> - 801eeb0: 4602 mov r2, r0 - 801eeb2: f04f 0300 mov.w r3, #0 ; 0x0 - 801eeb6: 727b strb r3, [r7, #9] - 801eeb8: 4610 mov r0, r2 - 801eeba: f8df 15e8 ldr.w r1, [pc, #1512] ; 801f4a4 <_ZN19RecalibrerOdometrie6updateEv+0x800> - 801eebe: f00e fa35 bl 802d32c <__aeabi_fcmpgt> - 801eec2: 4603 mov r3, r0 - 801eec4: 2b00 cmp r3, #0 - 801eec6: d002 beq.n 801eece <_ZN19RecalibrerOdometrie6updateEv+0x22a> - 801eec8: f04f 0301 mov.w r3, #1 ; 0x1 - 801eecc: 727b strb r3, [r7, #9] - 801eece: 7a7b ldrb r3, [r7, #9] - 801eed0: 60fb str r3, [r7, #12] - 801eed2: 68fb ldr r3, [r7, #12] - 801eed4: 2b00 cmp r3, #0 - 801eed6: d008 beq.n 801eeea <_ZN19RecalibrerOdometrie6updateEv+0x246> - { - timeBlockedY ++; - 801eed8: f8df 35cc ldr.w r3, [pc, #1484] ; 801f4a8 <_ZN19RecalibrerOdometrie6updateEv+0x804> - 801eedc: 681b ldr r3, [r3, #0] - 801eede: f103 0201 add.w r2, r3, #1 ; 0x1 - 801eee2: f8df 35c4 ldr.w r3, [pc, #1476] ; 801f4a8 <_ZN19RecalibrerOdometrie6updateEv+0x804> - 801eee6: 601a str r2, [r3, #0] - 801eee8: e023 b.n 801ef32 <_ZN19RecalibrerOdometrie6updateEv+0x28e> -// allumerLED2(); - } - else { - timeBlockedY = 0; - 801eeea: f8df 25bc ldr.w r2, [pc, #1468] ; 801f4a8 <_ZN19RecalibrerOdometrie6updateEv+0x804> - 801eeee: f04f 0300 mov.w r3, #0 ; 0x0 - 801eef2: 6013 str r3, [r2, #0] - candidatPositionArrete = Odometrie::odometrie->getPos().getPosition(); - 801eef4: f107 032c add.w r3, r7, #44 ; 0x2c - 801eef8: 681b ldr r3, [r3, #0] - 801eefa: f103 0420 add.w r4, r3, #32 ; 0x20 - 801eefe: f8df 3590 ldr.w r3, [pc, #1424] ; 801f490 <_ZN19RecalibrerOdometrie6updateEv+0x7ec> - 801ef02: 681a ldr r2, [r3, #0] - 801ef04: f107 039c add.w r3, r7, #156 ; 0x9c - 801ef08: 4618 mov r0, r3 - 801ef0a: 4611 mov r1, r2 - 801ef0c: f7f3 fe48 bl 8012ba0 <_ZNK9Odometrie6getPosEv> - 801ef10: f107 0394 add.w r3, r7, #148 ; 0x94 - 801ef14: f107 029c add.w r2, r7, #156 ; 0x9c - 801ef18: 4618 mov r0, r3 - 801ef1a: 4611 mov r1, r2 - 801ef1c: f7f8 fe96 bl 8017c4c <_ZNK17PositionPlusAngle11getPositionEv> - 801ef20: 4620 mov r0, r4 - 801ef22: f107 0394 add.w r3, r7, #148 ; 0x94 - 801ef26: e893 0006 ldmia.w r3, {r1, r2} - 801ef2a: f7f8 fce7 bl 80178fc <_ZN8PositionaSES_> - eteindreLED2(); - 801ef2e: f7f6 f83d bl 8014fac <_Z12eteindreLED2v> - } - if (timeBlockedY > 100 && - 801ef32: f8df 3574 ldr.w r3, [pc, #1396] ; 801f4a8 <_ZN19RecalibrerOdometrie6updateEv+0x804> - 801ef36: 681b ldr r3, [r3, #0] - 801ef38: 2b64 cmp r3, #100 - 801ef3a: dd59 ble.n 801eff0 <_ZN19RecalibrerOdometrie6updateEv+0x34c> - 801ef3c: f107 032c add.w r3, r7, #44 ; 0x2c - 801ef40: 681b ldr r3, [r3, #0] - 801ef42: 6a9b ldr r3, [r3, #40] - 801ef44: 2b00 cmp r3, #0 - 801ef46: d005 beq.n 801ef54 <_ZN19RecalibrerOdometrie6updateEv+0x2b0> - 801ef48: f107 032c add.w r3, r7, #44 ; 0x2c - 801ef4c: 681b ldr r3, [r3, #0] - 801ef4e: 6a9b ldr r3, [r3, #40] - 801ef50: 2b01 cmp r3, #1 - 801ef52: d11e bne.n 801ef92 <_ZN19RecalibrerOdometrie6updateEv+0x2ee> - 801ef54: f8df 3538 ldr.w r3, [pc, #1336] ; 801f490 <_ZN19RecalibrerOdometrie6updateEv+0x7ec> - 801ef58: 681a ldr r2, [r3, #0] - 801ef5a: f107 03b0 add.w r3, r7, #176 ; 0xb0 - 801ef5e: 4618 mov r0, r3 - 801ef60: 4611 mov r1, r2 - 801ef62: f7f3 fe1d bl 8012ba0 <_ZNK9Odometrie6getPosEv> - 801ef66: f107 03a8 add.w r3, r7, #168 ; 0xa8 - 801ef6a: f107 02b0 add.w r2, r7, #176 ; 0xb0 - 801ef6e: 4618 mov r0, r3 - 801ef70: 4611 mov r1, r2 - 801ef72: f7f8 fe6b bl 8017c4c <_ZNK17PositionPlusAngle11getPositionEv> - 801ef76: f107 03a8 add.w r3, r7, #168 ; 0xa8 - 801ef7a: 4618 mov r0, r3 - 801ef7c: f7f8 fc3e bl 80177fc <_ZNK8Position4getXEv> - 801ef80: 4603 mov r3, r0 - 801ef82: 4618 mov r0, r3 - 801ef84: f8df 1524 ldr.w r1, [pc, #1316] ; 801f4ac <_ZN19RecalibrerOdometrie6updateEv+0x808> - 801ef88: f00e f9d0 bl 802d32c <__aeabi_fcmpgt> - 801ef8c: 4603 mov r3, r0 - 801ef8e: 2b00 cmp r3, #0 - 801ef90: d12a bne.n 801efe8 <_ZN19RecalibrerOdometrie6updateEv+0x344> - 801ef92: f107 032c add.w r3, r7, #44 ; 0x2c - 801ef96: 681b ldr r3, [r3, #0] - 801ef98: 6a9b ldr r3, [r3, #40] - 801ef9a: 2b02 cmp r3, #2 - 801ef9c: d005 beq.n 801efaa <_ZN19RecalibrerOdometrie6updateEv+0x306> - 801ef9e: f107 032c add.w r3, r7, #44 ; 0x2c - 801efa2: 681b ldr r3, [r3, #0] - 801efa4: 6a9b ldr r3, [r3, #40] - 801efa6: 2b03 cmp r3, #3 - 801efa8: d122 bne.n 801eff0 <_ZN19RecalibrerOdometrie6updateEv+0x34c> - 801efaa: f8df 34e4 ldr.w r3, [pc, #1252] ; 801f490 <_ZN19RecalibrerOdometrie6updateEv+0x7ec> - 801efae: 681a ldr r2, [r3, #0] - 801efb0: f107 03c4 add.w r3, r7, #196 ; 0xc4 - 801efb4: 4618 mov r0, r3 - 801efb6: 4611 mov r1, r2 - 801efb8: f7f3 fdf2 bl 8012ba0 <_ZNK9Odometrie6getPosEv> - 801efbc: f107 03bc add.w r3, r7, #188 ; 0xbc - 801efc0: f107 02c4 add.w r2, r7, #196 ; 0xc4 - 801efc4: 4618 mov r0, r3 - 801efc6: 4611 mov r1, r2 - 801efc8: f7f8 fe40 bl 8017c4c <_ZNK17PositionPlusAngle11getPositionEv> - 801efcc: f107 03bc add.w r3, r7, #188 ; 0xbc - 801efd0: 4618 mov r0, r3 - 801efd2: f7f8 fc13 bl 80177fc <_ZNK8Position4getXEv> - 801efd6: 4603 mov r3, r0 - 801efd8: 4618 mov r0, r3 - 801efda: f8df 14d4 ldr.w r1, [pc, #1236] ; 801f4b0 <_ZN19RecalibrerOdometrie6updateEv+0x80c> - 801efde: f00e f987 bl 802d2f0 <__aeabi_fcmplt> - 801efe2: 4603 mov r3, r0 - 801efe4: 2b00 cmp r3, #0 - 801efe6: d003 beq.n 801eff0 <_ZN19RecalibrerOdometrie6updateEv+0x34c> - 801efe8: f04f 0301 mov.w r3, #1 ; 0x1 - 801efec: 613b str r3, [r7, #16] - 801efee: e002 b.n 801eff6 <_ZN19RecalibrerOdometrie6updateEv+0x352> - 801eff0: f04f 0300 mov.w r3, #0 ; 0x0 - 801eff4: 613b str r3, [r7, #16] - 801eff6: 693b ldr r3, [r7, #16] - 801eff8: 2b00 cmp r3, #0 - 801effa: f000 823b beq.w 801f474 <_ZN19RecalibrerOdometrie6updateEv+0x7d0> - || ((this->coinRecalage == COTE_NOTRE_DEPART_HAUT || this->coinRecalage == COTE_NOTRE_DEPART_BAS) - && Odometrie::odometrie->getPos().getPosition().getX() < 150) - ))// && Odometrie::odometrie->getPos().getPosition().getY() > 1500)//1850) - { -#ifdef ROBOTHW //A adapter à la taille du robot - if(this->coinRecalage == COTE_DEPART_ADVERSAIRE_HAUT || this->coinRecalage == COTE_DEPART_ADVERSAIRE_BAS) - 801effe: f107 032c add.w r3, r7, #44 ; 0x2c - 801f002: 681b ldr r3, [r3, #0] - 801f004: 6a9b ldr r3, [r3, #40] - 801f006: 2b00 cmp r3, #0 - 801f008: d005 beq.n 801f016 <_ZN19RecalibrerOdometrie6updateEv+0x372> - 801f00a: f107 032c add.w r3, r7, #44 ; 0x2c - 801f00e: 681b ldr r3, [r3, #0] - 801f010: 6a9b ldr r3, [r3, #40] - 801f012: 2b01 cmp r3, #1 - 801f014: d114 bne.n 801f040 <_ZN19RecalibrerOdometrie6updateEv+0x39c> - Odometrie::odometrie->setX((StrategieV2::getIsBlue() ? 95 : 2905)); // robot = 319mm de large - 801f016: f8df 3478 ldr.w r3, [pc, #1144] ; 801f490 <_ZN19RecalibrerOdometrie6updateEv+0x7ec> - 801f01a: 681b ldr r3, [r3, #0] - 801f01c: 617b str r3, [r7, #20] - 801f01e: f000 fba9 bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 801f022: 4603 mov r3, r0 - 801f024: 2b00 cmp r3, #0 - 801f026: d003 beq.n 801f030 <_ZN19RecalibrerOdometrie6updateEv+0x38c> - 801f028: f8df 3488 ldr.w r3, [pc, #1160] ; 801f4b4 <_ZN19RecalibrerOdometrie6updateEv+0x810> - 801f02c: 61bb str r3, [r7, #24] - 801f02e: e002 b.n 801f036 <_ZN19RecalibrerOdometrie6updateEv+0x392> - 801f030: f8df 3484 ldr.w r3, [pc, #1156] ; 801f4b8 <_ZN19RecalibrerOdometrie6updateEv+0x814> - 801f034: 61bb str r3, [r7, #24] - 801f036: 6978 ldr r0, [r7, #20] - 801f038: 69b9 ldr r1, [r7, #24] - 801f03a: f7f3 fe65 bl 8012d08 <_ZN9Odometrie4setXEf> - 801f03e: e013 b.n 801f068 <_ZN19RecalibrerOdometrie6updateEv+0x3c4> - else - Odometrie::odometrie->setX((StrategieV2::getIsBlue() ? 2905 : 95)); // robot = 319mm de large - 801f040: f8df 344c ldr.w r3, [pc, #1100] ; 801f490 <_ZN19RecalibrerOdometrie6updateEv+0x7ec> - 801f044: 681b ldr r3, [r3, #0] - 801f046: 61fb str r3, [r7, #28] - 801f048: f000 fb94 bl 801f774 <_ZN11StrategieV29getIsBlueEv> - 801f04c: 4603 mov r3, r0 - 801f04e: 2b00 cmp r3, #0 - 801f050: d003 beq.n 801f05a <_ZN19RecalibrerOdometrie6updateEv+0x3b6> - 801f052: f8df 3464 ldr.w r3, [pc, #1124] ; 801f4b8 <_ZN19RecalibrerOdometrie6updateEv+0x814> - 801f056: 623b str r3, [r7, #32] - 801f058: e002 b.n 801f060 <_ZN19RecalibrerOdometrie6updateEv+0x3bc> - 801f05a: f8df 3458 ldr.w r3, [pc, #1112] ; 801f4b4 <_ZN19RecalibrerOdometrie6updateEv+0x810> - 801f05e: 623b str r3, [r7, #32] - 801f060: 69f8 ldr r0, [r7, #28] - 801f062: 6a39 ldr r1, [r7, #32] - 801f064: f7f3 fe50 bl 8012d08 <_ZN9Odometrie4setXEf> -#endif - //StrategieV2::setCurrentGoal(Position(goalPosition1.getX(), 1360), false); - StrategieV2::setCurrentGoal(positionDepart, false); - 801f068: f107 032c add.w r3, r7, #44 ; 0x2c - 801f06c: 681a ldr r2, [r3, #0] - 801f06e: f8df 3418 ldr.w r3, [pc, #1048] ; 801f488 <_ZN19RecalibrerOdometrie6updateEv+0x7e4> - 801f072: 9300 str r3, [sp, #0] - 801f074: f102 0318 add.w r3, r2, #24 ; 0x18 - 801f078: e893 0003 ldmia.w r3, {r0, r1} - 801f07c: f04f 0200 mov.w r2, #0 ; 0x0 - 801f080: f8df 3408 ldr.w r3, [pc, #1032] ; 801f48c <_ZN19RecalibrerOdometrie6updateEv+0x7e8> - 801f084: f000 fd8e bl 801fba4 <_ZN11StrategieV214setCurrentGoalE8Positionbff> - StrategieV2::setEnTrainDeRecalibrer(false); - 801f088: f04f 0000 mov.w r0, #0 ; 0x0 - 801f08c: f000 fb98 bl 801f7c0 <_ZN11StrategieV222setEnTrainDeRecalibrerEb> - status = 3; - 801f090: f107 032c add.w r3, r7, #44 ; 0x2c - 801f094: 681a ldr r2, [r3, #0] - 801f096: f04f 0303 mov.w r3, #3 ; 0x3 - 801f09a: 60d3 str r3, [r2, #12] - timeBlockedY = 0; - 801f09c: f8df 2408 ldr.w r2, [pc, #1032] ; 801f4a8 <_ZN19RecalibrerOdometrie6updateEv+0x804> - 801f0a0: f04f 0300 mov.w r3, #0 ; 0x0 - 801f0a4: 6013 str r3, [r2, #0] - 801f0a6: e1e5 b.n 801f474 <_ZN19RecalibrerOdometrie6updateEv+0x7d0> - } - } - else if (status == 3) // attend d'être replacé - 801f0a8: f107 032c add.w r3, r7, #44 ; 0x2c - 801f0ac: 681b ldr r3, [r3, #0] - 801f0ae: 68db ldr r3, [r3, #12] - 801f0b0: 2b03 cmp r3, #3 - 801f0b2: f040 8082 bne.w 801f1ba <_ZN19RecalibrerOdometrie6updateEv+0x516> - { - Position vect = positionDepart - Odometrie::odometrie->getPos().getPosition(); - 801f0b6: f107 032c add.w r3, r7, #44 ; 0x2c - 801f0ba: 681b ldr r3, [r3, #0] - 801f0bc: f103 0418 add.w r4, r3, #24 ; 0x18 - 801f0c0: 4bf3 ldr r3, [pc, #972] (801f490 <_ZN19RecalibrerOdometrie6updateEv+0x7ec>) - 801f0c2: 681a ldr r2, [r3, #0] - 801f0c4: f107 03d8 add.w r3, r7, #216 ; 0xd8 - 801f0c8: 4618 mov r0, r3 - 801f0ca: 4611 mov r1, r2 - 801f0cc: f7f3 fd68 bl 8012ba0 <_ZNK9Odometrie6getPosEv> - 801f0d0: f107 03d0 add.w r3, r7, #208 ; 0xd0 - 801f0d4: f107 02d8 add.w r2, r7, #216 ; 0xd8 - 801f0d8: 4618 mov r0, r3 - 801f0da: 4611 mov r1, r2 - 801f0dc: f7f8 fdb6 bl 8017c4c <_ZNK17PositionPlusAngle11getPositionEv> - 801f0e0: f107 0344 add.w r3, r7, #68 ; 0x44 - 801f0e4: f107 02d0 add.w r2, r7, #208 ; 0xd0 - 801f0e8: 4618 mov r0, r3 - 801f0ea: 4621 mov r1, r4 - 801f0ec: f7f8 fbe0 bl 80178b0 <_ZNK8PositionmiERKS_> - if (vect.getNorme() < 40) - 801f0f0: f107 0344 add.w r3, r7, #68 ; 0x44 - 801f0f4: 4618 mov r0, r3 - 801f0f6: f7f8 fce9 bl 8017acc <_ZNK8Position8getNormeEv> - 801f0fa: 4602 mov r2, r0 - 801f0fc: f04f 0300 mov.w r3, #0 ; 0x0 - 801f100: 723b strb r3, [r7, #8] - 801f102: 4610 mov r0, r2 - 801f104: 49e3 ldr r1, [pc, #908] (801f494 <_ZN19RecalibrerOdometrie6updateEv+0x7f0>) - 801f106: f00e f8f3 bl 802d2f0 <__aeabi_fcmplt> - 801f10a: 4603 mov r3, r0 - 801f10c: 2b00 cmp r3, #0 - 801f10e: d002 beq.n 801f116 <_ZN19RecalibrerOdometrie6updateEv+0x472> - 801f110: f04f 0301 mov.w r3, #1 ; 0x1 - 801f114: 723b strb r3, [r7, #8] - 801f116: 7a3b ldrb r3, [r7, #8] - 801f118: 2b00 cmp r3, #0 - 801f11a: f000 81ab beq.w 801f474 <_ZN19RecalibrerOdometrie6updateEv+0x7d0> - { - if(this->coinRecalage == COTE_NOTRE_DEPART_BAS || this->coinRecalage == COTE_DEPART_ADVERSAIRE_BAS) - 801f11e: f107 032c add.w r3, r7, #44 ; 0x2c - 801f122: 681b ldr r3, [r3, #0] - 801f124: 6a9b ldr r3, [r3, #40] - 801f126: 2b03 cmp r3, #3 - 801f128: d005 beq.n 801f136 <_ZN19RecalibrerOdometrie6updateEv+0x492> - 801f12a: f107 032c add.w r3, r7, #44 ; 0x2c - 801f12e: 681b ldr r3, [r3, #0] - 801f130: 6a9b ldr r3, [r3, #40] - 801f132: 2b01 cmp r3, #1 - 801f134: d11d bne.n 801f172 <_ZN19RecalibrerOdometrie6updateEv+0x4ce> - { - StrategieV2::setCurrentGoal(Position(positionDepart.getX(), 0), true, 0.5); - 801f136: f107 032c add.w r3, r7, #44 ; 0x2c - 801f13a: 681b ldr r3, [r3, #0] - 801f13c: f103 0318 add.w r3, r3, #24 ; 0x18 - 801f140: 4618 mov r0, r3 - 801f142: f7f8 fb5b bl 80177fc <_ZNK8Position4getXEv> - 801f146: 4602 mov r2, r0 - 801f148: f107 03e4 add.w r3, r7, #228 ; 0xe4 - 801f14c: 4618 mov r0, r3 - 801f14e: 4611 mov r1, r2 - 801f150: 4ad1 ldr r2, [pc, #836] (801f498 <_ZN19RecalibrerOdometrie6updateEv+0x7f4>) - 801f152: f04f 0301 mov.w r3, #1 ; 0x1 - 801f156: f7f8 fb2b bl 80177b0 <_ZN8PositionC1Effb> - 801f15a: 4bcb ldr r3, [pc, #812] (801f488 <_ZN19RecalibrerOdometrie6updateEv+0x7e4>) - 801f15c: 9300 str r3, [sp, #0] - 801f15e: f107 03e4 add.w r3, r7, #228 ; 0xe4 - 801f162: e893 0003 ldmia.w r3, {r0, r1} - 801f166: f04f 0201 mov.w r2, #1 ; 0x1 - 801f16a: 4bcc ldr r3, [pc, #816] (801f49c <_ZN19RecalibrerOdometrie6updateEv+0x7f8>) - 801f16c: f000 fd1a bl 801fba4 <_ZN11StrategieV214setCurrentGoalE8Positionbff> - 801f170: e01c b.n 801f1ac <_ZN19RecalibrerOdometrie6updateEv+0x508> - } - else - { - StrategieV2::setCurrentGoal(Position(positionDepart.getX(), 2000), true, 0.5); - 801f172: f107 032c add.w r3, r7, #44 ; 0x2c - 801f176: 681b ldr r3, [r3, #0] - 801f178: f103 0318 add.w r3, r3, #24 ; 0x18 - 801f17c: 4618 mov r0, r3 - 801f17e: f7f8 fb3d bl 80177fc <_ZNK8Position4getXEv> - 801f182: 4602 mov r2, r0 - 801f184: f107 03ec add.w r3, r7, #236 ; 0xec - 801f188: 4618 mov r0, r3 - 801f18a: 4611 mov r1, r2 - 801f18c: 4acb ldr r2, [pc, #812] (801f4bc <_ZN19RecalibrerOdometrie6updateEv+0x818>) - 801f18e: f04f 0301 mov.w r3, #1 ; 0x1 - 801f192: f7f8 fb0d bl 80177b0 <_ZN8PositionC1Effb> - 801f196: 4bbc ldr r3, [pc, #752] (801f488 <_ZN19RecalibrerOdometrie6updateEv+0x7e4>) - 801f198: 9300 str r3, [sp, #0] - 801f19a: f107 03ec add.w r3, r7, #236 ; 0xec - 801f19e: e893 0003 ldmia.w r3, {r0, r1} - 801f1a2: f04f 0201 mov.w r2, #1 ; 0x1 - 801f1a6: 4bbd ldr r3, [pc, #756] (801f49c <_ZN19RecalibrerOdometrie6updateEv+0x7f8>) - 801f1a8: f000 fcfc bl 801fba4 <_ZN11StrategieV214setCurrentGoalE8Positionbff> - } - status = 4; - 801f1ac: f107 032c add.w r3, r7, #44 ; 0x2c - 801f1b0: 681a ldr r2, [r3, #0] - 801f1b2: f04f 0304 mov.w r3, #4 ; 0x4 - 801f1b6: 60d3 str r3, [r2, #12] - 801f1b8: e15c b.n 801f474 <_ZN19RecalibrerOdometrie6updateEv+0x7d0> - } - } - else if (status == 4) // attend d'avoir synchro sur Y - 801f1ba: f107 032c add.w r3, r7, #44 ; 0x2c - 801f1be: 681b ldr r3, [r3, #0] - 801f1c0: 68db ldr r3, [r3, #12] - 801f1c2: 2b04 cmp r3, #4 - 801f1c4: f040 8117 bne.w 801f3f6 <_ZN19RecalibrerOdometrie6updateEv+0x752> - { - - static int timeBlockedX = 0; - //if (abs(Odometrie::odometrie->getVitesseLineaire()) < 0.005f) // if (fdc1->getValue().b && fdc2->getValue().b) // distance parcourue la derniere seconde - Position vect = candidatPositionArrete - Odometrie::odometrie->getPos().getPosition(); - 801f1c8: f107 032c add.w r3, r7, #44 ; 0x2c - 801f1cc: 681b ldr r3, [r3, #0] - 801f1ce: f103 0420 add.w r4, r3, #32 ; 0x20 - 801f1d2: 4baf ldr r3, [pc, #700] (801f490 <_ZN19RecalibrerOdometrie6updateEv+0x7ec>) - 801f1d4: 681a ldr r2, [r3, #0] - 801f1d6: f107 03fc add.w r3, r7, #252 ; 0xfc - 801f1da: 4618 mov r0, r3 - 801f1dc: 4611 mov r1, r2 - 801f1de: f7f3 fcdf bl 8012ba0 <_ZNK9Odometrie6getPosEv> - 801f1e2: f107 03f4 add.w r3, r7, #244 ; 0xf4 - 801f1e6: f107 02fc add.w r2, r7, #252 ; 0xfc - 801f1ea: 4618 mov r0, r3 - 801f1ec: 4611 mov r1, r2 - 801f1ee: f7f8 fd2d bl 8017c4c <_ZNK17PositionPlusAngle11getPositionEv> - 801f1f2: f107 033c add.w r3, r7, #60 ; 0x3c - 801f1f6: f107 02f4 add.w r2, r7, #244 ; 0xf4 - 801f1fa: 4618 mov r0, r3 - 801f1fc: 4621 mov r1, r4 - 801f1fe: f7f8 fb57 bl 80178b0 <_ZNK8PositionmiERKS_> - if(abs(vect.getNorme()) < 5)//Si on a pas bougé de plus de Xmm du dernier candidat de position où le robot s'est arrêté - 801f202: f107 033c add.w r3, r7, #60 ; 0x3c - 801f206: 4618 mov r0, r3 - 801f208: f7f8 fc60 bl 8017acc <_ZNK8Position8getNormeEv> - 801f20c: 4603 mov r3, r0 - 801f20e: 4618 mov r0, r3 - 801f210: 49a1 ldr r1, [pc, #644] (801f498 <_ZN19RecalibrerOdometrie6updateEv+0x7f4>) - 801f212: f00e f88b bl 802d32c <__aeabi_fcmpgt> - 801f216: 4603 mov r3, r0 - 801f218: 2b00 cmp r3, #0 - 801f21a: d015 beq.n 801f248 <_ZN19RecalibrerOdometrie6updateEv+0x5a4> - 801f21c: f107 033c add.w r3, r7, #60 ; 0x3c - 801f220: 4618 mov r0, r3 - 801f222: f7f8 fc53 bl 8017acc <_ZNK8Position8getNormeEv> - 801f226: 4602 mov r2, r0 - 801f228: f04f 0300 mov.w r3, #0 ; 0x0 - 801f22c: 71fb strb r3, [r7, #7] - 801f22e: 4610 mov r0, r2 - 801f230: 4999 ldr r1, [pc, #612] (801f498 <_ZN19RecalibrerOdometrie6updateEv+0x7f4>) - 801f232: f00e f853 bl 802d2dc <__aeabi_fcmpeq> - 801f236: 4603 mov r3, r0 - 801f238: 2b00 cmp r3, #0 - 801f23a: d102 bne.n 801f242 <_ZN19RecalibrerOdometrie6updateEv+0x59e> - 801f23c: f04f 0301 mov.w r3, #1 ; 0x1 - 801f240: 71fb strb r3, [r7, #7] - 801f242: 79fb ldrb r3, [r7, #7] - 801f244: 627b str r3, [r7, #36] - 801f246: e014 b.n 801f272 <_ZN19RecalibrerOdometrie6updateEv+0x5ce> - 801f248: f107 033c add.w r3, r7, #60 ; 0x3c - 801f24c: 4618 mov r0, r3 - 801f24e: f7f8 fc3d bl 8017acc <_ZNK8Position8getNormeEv> - 801f252: 4602 mov r2, r0 - 801f254: f04f 0300 mov.w r3, #0 ; 0x0 - 801f258: 71bb strb r3, [r7, #6] - 801f25a: 4610 mov r0, r2 - 801f25c: 4991 ldr r1, [pc, #580] (801f4a4 <_ZN19RecalibrerOdometrie6updateEv+0x800>) - 801f25e: f00e f865 bl 802d32c <__aeabi_fcmpgt> - 801f262: 4603 mov r3, r0 - 801f264: 2b00 cmp r3, #0 - 801f266: d002 beq.n 801f26e <_ZN19RecalibrerOdometrie6updateEv+0x5ca> - 801f268: f04f 0301 mov.w r3, #1 ; 0x1 - 801f26c: 71bb strb r3, [r7, #6] - 801f26e: 79bb ldrb r3, [r7, #6] - 801f270: 627b str r3, [r7, #36] - 801f272: 6a7b ldr r3, [r7, #36] - 801f274: 2b00 cmp r3, #0 - 801f276: d006 beq.n 801f286 <_ZN19RecalibrerOdometrie6updateEv+0x5e2> - { - timeBlockedX ++; - 801f278: 4b91 ldr r3, [pc, #580] (801f4c0 <_ZN19RecalibrerOdometrie6updateEv+0x81c>) - 801f27a: 681b ldr r3, [r3, #0] - 801f27c: f103 0201 add.w r2, r3, #1 ; 0x1 - 801f280: 4b8f ldr r3, [pc, #572] (801f4c0 <_ZN19RecalibrerOdometrie6updateEv+0x81c>) - 801f282: 601a str r2, [r3, #0] - 801f284: e021 b.n 801f2ca <_ZN19RecalibrerOdometrie6updateEv+0x626> -// allumerLED2(); - } - else - { - timeBlockedX = 0; - 801f286: 4a8e ldr r2, [pc, #568] (801f4c0 <_ZN19RecalibrerOdometrie6updateEv+0x81c>) - 801f288: f04f 0300 mov.w r3, #0 ; 0x0 - 801f28c: 6013 str r3, [r2, #0] - candidatPositionArrete = Odometrie::odometrie->getPos().getPosition(); - 801f28e: f107 032c add.w r3, r7, #44 ; 0x2c - 801f292: 681b ldr r3, [r3, #0] - 801f294: f103 0420 add.w r4, r3, #32 ; 0x20 - 801f298: 4b7d ldr r3, [pc, #500] (801f490 <_ZN19RecalibrerOdometrie6updateEv+0x7ec>) - 801f29a: 681a ldr r2, [r3, #0] - 801f29c: f507 7388 add.w r3, r7, #272 ; 0x110 - 801f2a0: 4618 mov r0, r3 - 801f2a2: 4611 mov r1, r2 - 801f2a4: f7f3 fc7c bl 8012ba0 <_ZNK9Odometrie6getPosEv> - 801f2a8: f507 7384 add.w r3, r7, #264 ; 0x108 - 801f2ac: f507 7288 add.w r2, r7, #272 ; 0x110 - 801f2b0: 4618 mov r0, r3 - 801f2b2: 4611 mov r1, r2 - 801f2b4: f7f8 fcca bl 8017c4c <_ZNK17PositionPlusAngle11getPositionEv> - 801f2b8: 4620 mov r0, r4 - 801f2ba: f507 7384 add.w r3, r7, #264 ; 0x108 - 801f2be: e893 0006 ldmia.w r3, {r1, r2} - 801f2c2: f7f8 fb1b bl 80178fc <_ZN8PositionaSES_> - eteindreLED2(); - 801f2c6: f7f5 fe71 bl 8014fac <_Z12eteindreLED2v> - } - if (timeBlockedX > 100 && - 801f2ca: 4b7d ldr r3, [pc, #500] (801f4c0 <_ZN19RecalibrerOdometrie6updateEv+0x81c>) - 801f2cc: 681b ldr r3, [r3, #0] - 801f2ce: 2b64 cmp r3, #100 - 801f2d0: dd55 ble.n 801f37e <_ZN19RecalibrerOdometrie6updateEv+0x6da> - 801f2d2: f107 032c add.w r3, r7, #44 ; 0x2c - 801f2d6: 681b ldr r3, [r3, #0] - 801f2d8: 6a9b ldr r3, [r3, #40] - 801f2da: 2b00 cmp r3, #0 - 801f2dc: d005 beq.n 801f2ea <_ZN19RecalibrerOdometrie6updateEv+0x646> - 801f2de: f107 032c add.w r3, r7, #44 ; 0x2c - 801f2e2: 681b ldr r3, [r3, #0] - 801f2e4: 6a9b ldr r3, [r3, #40] - 801f2e6: 2b02 cmp r3, #2 - 801f2e8: d11c bne.n 801f324 <_ZN19RecalibrerOdometrie6updateEv+0x680> - 801f2ea: 4b69 ldr r3, [pc, #420] (801f490 <_ZN19RecalibrerOdometrie6updateEv+0x7ec>) - 801f2ec: 681a ldr r2, [r3, #0] - 801f2ee: f507 7392 add.w r3, r7, #292 ; 0x124 - 801f2f2: 4618 mov r0, r3 - 801f2f4: 4611 mov r1, r2 - 801f2f6: f7f3 fc53 bl 8012ba0 <_ZNK9Odometrie6getPosEv> - 801f2fa: f507 738e add.w r3, r7, #284 ; 0x11c - 801f2fe: f507 7292 add.w r2, r7, #292 ; 0x124 - 801f302: 4618 mov r0, r3 - 801f304: 4611 mov r1, r2 - 801f306: f7f8 fca1 bl 8017c4c <_ZNK17PositionPlusAngle11getPositionEv> - 801f30a: f507 738e add.w r3, r7, #284 ; 0x11c - 801f30e: 4618 mov r0, r3 - 801f310: f7f8 fa80 bl 8017814 <_ZNK8Position4getYEv> - 801f314: 4603 mov r3, r0 - 801f316: 4618 mov r0, r3 - 801f318: 496a ldr r1, [pc, #424] (801f4c4 <_ZN19RecalibrerOdometrie6updateEv+0x820>) - 801f31a: f00e f807 bl 802d32c <__aeabi_fcmpgt> - 801f31e: 4603 mov r3, r0 - 801f320: 2b00 cmp r3, #0 - 801f322: d128 bne.n 801f376 <_ZN19RecalibrerOdometrie6updateEv+0x6d2> - 801f324: f107 032c add.w r3, r7, #44 ; 0x2c - 801f328: 681b ldr r3, [r3, #0] - 801f32a: 6a9b ldr r3, [r3, #40] - 801f32c: 2b01 cmp r3, #1 - 801f32e: d005 beq.n 801f33c <_ZN19RecalibrerOdometrie6updateEv+0x698> - 801f330: f107 032c add.w r3, r7, #44 ; 0x2c - 801f334: 681b ldr r3, [r3, #0] - 801f336: 6a9b ldr r3, [r3, #40] - 801f338: 2b03 cmp r3, #3 - 801f33a: d120 bne.n 801f37e <_ZN19RecalibrerOdometrie6updateEv+0x6da> - 801f33c: 4b54 ldr r3, [pc, #336] (801f490 <_ZN19RecalibrerOdometrie6updateEv+0x7ec>) - 801f33e: 681a ldr r2, [r3, #0] - 801f340: f507 739c add.w r3, r7, #312 ; 0x138 - 801f344: 4618 mov r0, r3 - 801f346: 4611 mov r1, r2 - 801f348: f7f3 fc2a bl 8012ba0 <_ZNK9Odometrie6getPosEv> - 801f34c: f507 7398 add.w r3, r7, #304 ; 0x130 - 801f350: f507 729c add.w r2, r7, #312 ; 0x138 - 801f354: 4618 mov r0, r3 - 801f356: 4611 mov r1, r2 - 801f358: f7f8 fc78 bl 8017c4c <_ZNK17PositionPlusAngle11getPositionEv> - 801f35c: f507 7398 add.w r3, r7, #304 ; 0x130 - 801f360: 4618 mov r0, r3 - 801f362: f7f8 fa57 bl 8017814 <_ZNK8Position4getYEv> - 801f366: 4603 mov r3, r0 - 801f368: 4618 mov r0, r3 - 801f36a: 4951 ldr r1, [pc, #324] (801f4b0 <_ZN19RecalibrerOdometrie6updateEv+0x80c>) - 801f36c: f00d ffc0 bl 802d2f0 <__aeabi_fcmplt> - 801f370: 4603 mov r3, r0 - 801f372: 2b00 cmp r3, #0 - 801f374: d003 beq.n 801f37e <_ZN19RecalibrerOdometrie6updateEv+0x6da> - 801f376: f04f 0301 mov.w r3, #1 ; 0x1 - 801f37a: 62bb str r3, [r7, #40] - 801f37c: e002 b.n 801f384 <_ZN19RecalibrerOdometrie6updateEv+0x6e0> - 801f37e: f04f 0300 mov.w r3, #0 ; 0x0 - 801f382: 62bb str r3, [r7, #40] - 801f384: 6abb ldr r3, [r7, #40] - 801f386: 2b00 cmp r3, #0 - 801f388: d074 beq.n 801f474 <_ZN19RecalibrerOdometrie6updateEv+0x7d0> - && Odometrie::odometrie->getPos().getPosition().getY() < 150) - ))// && (StrategieV2::getIsBlue() ? Odometrie::odometrie->getPos().getPosition().getX() < 200 : Odometrie::odometrie->getPos().getPosition().getX() > 2800)) - { -#ifdef ROBOTHW //A adapter à la taille du robot - - if(this->coinRecalage == COTE_DEPART_ADVERSAIRE_HAUT || this->coinRecalage == COTE_NOTRE_DEPART_HAUT) - 801f38a: f107 032c add.w r3, r7, #44 ; 0x2c - 801f38e: 681b ldr r3, [r3, #0] - 801f390: 6a9b ldr r3, [r3, #40] - 801f392: 2b00 cmp r3, #0 - 801f394: d005 beq.n 801f3a2 <_ZN19RecalibrerOdometrie6updateEv+0x6fe> - 801f396: f107 032c add.w r3, r7, #44 ; 0x2c - 801f39a: 681b ldr r3, [r3, #0] - 801f39c: 6a9b ldr r3, [r3, #40] - 801f39e: 2b02 cmp r3, #2 - 801f3a0: d106 bne.n 801f3b0 <_ZN19RecalibrerOdometrie6updateEv+0x70c> - Odometrie::odometrie->setY(2000-95); - 801f3a2: 4b3b ldr r3, [pc, #236] (801f490 <_ZN19RecalibrerOdometrie6updateEv+0x7ec>) - 801f3a4: 681b ldr r3, [r3, #0] - 801f3a6: 4618 mov r0, r3 - 801f3a8: 4947 ldr r1, [pc, #284] (801f4c8 <_ZN19RecalibrerOdometrie6updateEv+0x824>) - 801f3aa: f7f3 fc77 bl 8012c9c <_ZN9Odometrie4setYEf> - 801f3ae: e005 b.n 801f3bc <_ZN19RecalibrerOdometrie6updateEv+0x718> - else - Odometrie::odometrie->setY(95); - 801f3b0: 4b37 ldr r3, [pc, #220] (801f490 <_ZN19RecalibrerOdometrie6updateEv+0x7ec>) - 801f3b2: 681b ldr r3, [r3, #0] - 801f3b4: 4618 mov r0, r3 - 801f3b6: 493f ldr r1, [pc, #252] (801f4b4 <_ZN19RecalibrerOdometrie6updateEv+0x810>) - 801f3b8: f7f3 fc70 bl 8012c9c <_ZN9Odometrie4setYEf> -#endif - StrategieV2::setEnTrainDeRecalibrer(false); - 801f3bc: f04f 0000 mov.w r0, #0 ; 0x0 - 801f3c0: f000 f9fe bl 801f7c0 <_ZN11StrategieV222setEnTrainDeRecalibrerEb> - StrategieV2::setCurrentGoal(positionDepart, false); - 801f3c4: f107 032c add.w r3, r7, #44 ; 0x2c - 801f3c8: 681a ldr r2, [r3, #0] - 801f3ca: 4b2f ldr r3, [pc, #188] (801f488 <_ZN19RecalibrerOdometrie6updateEv+0x7e4>) - 801f3cc: 9300 str r3, [sp, #0] - 801f3ce: f102 0318 add.w r3, r2, #24 ; 0x18 - 801f3d2: e893 0003 ldmia.w r3, {r0, r1} - 801f3d6: f04f 0200 mov.w r2, #0 ; 0x0 - 801f3da: 4b2c ldr r3, [pc, #176] (801f48c <_ZN19RecalibrerOdometrie6updateEv+0x7e8>) - 801f3dc: f000 fbe2 bl 801fba4 <_ZN11StrategieV214setCurrentGoalE8Positionbff> - //StrategieV2::setCurrentGoal(Odometrie::odometrie->getPos().getPosition()+Position((StrategieV2::getIsBlue()?200:-200), 0), false, 1); // on avance encore un peu - //goalPosition2 = Odometrie::odometrie->getPos().getPosition()+Position((StrategieV2::getIsBlue()?200:-200), 0); - status = 5; - 801f3e0: f107 032c add.w r3, r7, #44 ; 0x2c - 801f3e4: 681a ldr r2, [r3, #0] - 801f3e6: f04f 0305 mov.w r3, #5 ; 0x5 - 801f3ea: 60d3 str r3, [r2, #12] - timeBlockedX = 0; - 801f3ec: 4a34 ldr r2, [pc, #208] (801f4c0 <_ZN19RecalibrerOdometrie6updateEv+0x81c>) - 801f3ee: f04f 0300 mov.w r3, #0 ; 0x0 - 801f3f2: 6013 str r3, [r2, #0] - 801f3f4: e03e b.n 801f474 <_ZN19RecalibrerOdometrie6updateEv+0x7d0> - } - } - else if (status == 5) - 801f3f6: f107 032c add.w r3, r7, #44 ; 0x2c - 801f3fa: 681b ldr r3, [r3, #0] - 801f3fc: 68db ldr r3, [r3, #12] - 801f3fe: 2b05 cmp r3, #5 - 801f400: d138 bne.n 801f474 <_ZN19RecalibrerOdometrie6updateEv+0x7d0> - { - Position vect = positionDepart - Odometrie::odometrie->getPos().getPosition();//positionGoal2 - - 801f402: f107 032c add.w r3, r7, #44 ; 0x2c - 801f406: 681b ldr r3, [r3, #0] - 801f408: f103 0418 add.w r4, r3, #24 ; 0x18 - 801f40c: 4b20 ldr r3, [pc, #128] (801f490 <_ZN19RecalibrerOdometrie6updateEv+0x7ec>) - 801f40e: 681a ldr r2, [r3, #0] - 801f410: f507 73a6 add.w r3, r7, #332 ; 0x14c - 801f414: 4618 mov r0, r3 - 801f416: 4611 mov r1, r2 - 801f418: f7f3 fbc2 bl 8012ba0 <_ZNK9Odometrie6getPosEv> - 801f41c: f507 73a2 add.w r3, r7, #324 ; 0x144 - 801f420: f507 72a6 add.w r2, r7, #332 ; 0x14c - 801f424: 4618 mov r0, r3 - 801f426: 4611 mov r1, r2 - 801f428: f7f8 fc10 bl 8017c4c <_ZNK17PositionPlusAngle11getPositionEv> - 801f42c: f107 0334 add.w r3, r7, #52 ; 0x34 - 801f430: f507 72a2 add.w r2, r7, #324 ; 0x144 - 801f434: 4618 mov r0, r3 - 801f436: 4621 mov r1, r4 - 801f438: f7f8 fa3a bl 80178b0 <_ZNK8PositionmiERKS_> - if (vect.getNorme() < 40) - 801f43c: f107 0334 add.w r3, r7, #52 ; 0x34 - 801f440: 4618 mov r0, r3 - 801f442: f7f8 fb43 bl 8017acc <_ZNK8Position8getNormeEv> - 801f446: 4602 mov r2, r0 - 801f448: f04f 0300 mov.w r3, #0 ; 0x0 - 801f44c: 717b strb r3, [r7, #5] - 801f44e: 4610 mov r0, r2 - 801f450: 4910 ldr r1, [pc, #64] (801f494 <_ZN19RecalibrerOdometrie6updateEv+0x7f0>) - 801f452: f00d ff4d bl 802d2f0 <__aeabi_fcmplt> - 801f456: 4603 mov r3, r0 - 801f458: 2b00 cmp r3, #0 - 801f45a: d002 beq.n 801f462 <_ZN19RecalibrerOdometrie6updateEv+0x7be> - 801f45c: f04f 0301 mov.w r3, #1 ; 0x1 - 801f460: 717b strb r3, [r7, #5] - 801f462: 797b ldrb r3, [r7, #5] - 801f464: 2b00 cmp r3, #0 - 801f466: d005 beq.n 801f474 <_ZN19RecalibrerOdometrie6updateEv+0x7d0> - { - status = -1; - 801f468: f107 032c add.w r3, r7, #44 ; 0x2c - 801f46c: 681a ldr r2, [r3, #0] - 801f46e: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 801f472: 60d3 str r3, [r2, #12] - } - } - return status; - 801f474: f107 032c add.w r3, r7, #44 ; 0x2c - 801f478: 681b ldr r3, [r3, #0] - 801f47a: 68db ldr r3, [r3, #12] -//#endif -} - 801f47c: 4618 mov r0, r3 - 801f47e: f507 77ae add.w r7, r7, #348 ; 0x15c - 801f482: 46bd mov sp, r7 - 801f484: bd90 pop {r4, r7, pc} - 801f486: 46c0 nop (mov r8, r8) - 801f488: c2c80000 .word 0xc2c80000 - 801f48c: 3f800000 .word 0x3f800000 - 801f490: 20000590 .word 0x20000590 - 801f494: 42200000 .word 0x42200000 - 801f498: 00000000 .word 0x00000000 - 801f49c: 3f000000 .word 0x3f000000 - 801f4a0: 453b8000 .word 0x453b8000 - 801f4a4: c0a00000 .word 0xc0a00000 - 801f4a8: 200005bc .word 0x200005bc - 801f4ac: 45322000 .word 0x45322000 - 801f4b0: 43160000 .word 0x43160000 - 801f4b4: 42be0000 .word 0x42be0000 - 801f4b8: 45359000 .word 0x45359000 - 801f4bc: 44fa0000 .word 0x44fa0000 - 801f4c0: 200005b8 .word 0x200005b8 - 801f4c4: 44e74000 .word 0x44e74000 - 801f4c8: 44ee2000 .word 0x44ee2000 - -0801f4cc <_ZN19RecalibrerOdometrieD0Ev>: - //goalPosition2 = Position(0, 1360, isBlue); - this->candidatPositionArrete = Position(0, 0, isBlue); - this->coinRecalage = coinRecalage; -} - -RecalibrerOdometrie::~RecalibrerOdometrie() - 801f4cc: b580 push {r7, lr} - 801f4ce: b082 sub sp, #8 - 801f4d0: af00 add r7, sp, #0 - 801f4d2: 6078 str r0, [r7, #4] - 801f4d4: 687a ldr r2, [r7, #4] - 801f4d6: 4b0a ldr r3, [pc, #40] (801f500 <_ZN19RecalibrerOdometrieD0Ev+0x34>) - 801f4d8: 6013 str r3, [r2, #0] -{ - //dtor -} - 801f4da: 687b ldr r3, [r7, #4] - 801f4dc: 4618 mov r0, r3 - 801f4de: f7fc fd97 bl 801c010 <_ZN17MediumLevelActionD2Ev> - 801f4e2: f04f 0301 mov.w r3, #1 ; 0x1 - 801f4e6: b2db uxtb r3, r3 - 801f4e8: 2b00 cmp r3, #0 - 801f4ea: d002 beq.n 801f4f2 <_ZN19RecalibrerOdometrieD0Ev+0x26> - 801f4ec: 6878 ldr r0, [r7, #4] - 801f4ee: f7f8 f88d bl 801760c <_ZdlPv> - 801f4f2: 687b ldr r3, [r7, #4] - 801f4f4: 4618 mov r0, r3 - 801f4f6: f107 0708 add.w r7, r7, #8 ; 0x8 - 801f4fa: 46bd mov sp, r7 - 801f4fc: bd80 pop {r7, pc} - 801f4fe: 46c0 nop (mov r8, r8) - 801f500: 08034140 .word 0x08034140 - -0801f504 <_ZN19RecalibrerOdometrieD1Ev>: - //goalPosition2 = Position(0, 1360, isBlue); - this->candidatPositionArrete = Position(0, 0, isBlue); - this->coinRecalage = coinRecalage; -} - -RecalibrerOdometrie::~RecalibrerOdometrie() - 801f504: b580 push {r7, lr} - 801f506: b082 sub sp, #8 - 801f508: af00 add r7, sp, #0 - 801f50a: 6078 str r0, [r7, #4] - 801f50c: 687a ldr r2, [r7, #4] - 801f50e: 4b0a ldr r3, [pc, #40] (801f538 <_ZN19RecalibrerOdometrieD1Ev+0x34>) - 801f510: 6013 str r3, [r2, #0] -{ - //dtor -} - 801f512: 687b ldr r3, [r7, #4] - 801f514: 4618 mov r0, r3 - 801f516: f7fc fd7b bl 801c010 <_ZN17MediumLevelActionD2Ev> - 801f51a: f04f 0300 mov.w r3, #0 ; 0x0 - 801f51e: b2db uxtb r3, r3 - 801f520: 2b00 cmp r3, #0 - 801f522: d002 beq.n 801f52a <_ZN19RecalibrerOdometrieD1Ev+0x26> - 801f524: 6878 ldr r0, [r7, #4] - 801f526: f7f8 f871 bl 801760c <_ZdlPv> - 801f52a: 687b ldr r3, [r7, #4] - 801f52c: 4618 mov r0, r3 - 801f52e: f107 0708 add.w r7, r7, #8 ; 0x8 - 801f532: 46bd mov sp, r7 - 801f534: bd80 pop {r7, pc} - 801f536: 46c0 nop (mov r8, r8) - 801f538: 08034140 .word 0x08034140 - -0801f53c <_ZN19RecalibrerOdometrieD2Ev>: - //goalPosition2 = Position(0, 1360, isBlue); - this->candidatPositionArrete = Position(0, 0, isBlue); - this->coinRecalage = coinRecalage; -} - -RecalibrerOdometrie::~RecalibrerOdometrie() - 801f53c: b580 push {r7, lr} - 801f53e: b082 sub sp, #8 - 801f540: af00 add r7, sp, #0 - 801f542: 6078 str r0, [r7, #4] - 801f544: 687a ldr r2, [r7, #4] - 801f546: 4b0a ldr r3, [pc, #40] (801f570 <_ZN19RecalibrerOdometrieD2Ev+0x34>) - 801f548: 6013 str r3, [r2, #0] -{ - //dtor -} - 801f54a: 687b ldr r3, [r7, #4] - 801f54c: 4618 mov r0, r3 - 801f54e: f7fc fd5f bl 801c010 <_ZN17MediumLevelActionD2Ev> - 801f552: f04f 0300 mov.w r3, #0 ; 0x0 - 801f556: b2db uxtb r3, r3 - 801f558: 2b00 cmp r3, #0 - 801f55a: d002 beq.n 801f562 <_ZN19RecalibrerOdometrieD2Ev+0x26> - 801f55c: 6878 ldr r0, [r7, #4] - 801f55e: f7f8 f855 bl 801760c <_ZdlPv> - 801f562: 687b ldr r3, [r7, #4] - 801f564: 4618 mov r0, r3 - 801f566: f107 0708 add.w r7, r7, #8 ; 0x8 - 801f56a: 46bd mov sp, r7 - 801f56c: bd80 pop {r7, pc} - 801f56e: 46c0 nop (mov r8, r8) - 801f570: 08034140 .word 0x08034140 - -0801f574 <_ZN19RecalibrerOdometrieC1Eb8Positioni>: -#include "leds.h" -#ifndef ROBOTHW -#include -#endif - -RecalibrerOdometrie::RecalibrerOdometrie(bool blue, Position positionDepart, int coinRecalage) : MediumLevelAction() - 801f574: b590 push {r4, r7, lr} - 801f576: b089 sub sp, #36 - 801f578: af00 add r7, sp, #0 - 801f57a: 60f8 str r0, [r7, #12] - 801f57c: 4608 mov r0, r1 - 801f57e: 4639 mov r1, r7 - 801f580: e881 000c stmia.w r1, {r2, r3} - 801f584: 4603 mov r3, r0 - 801f586: 72fb strb r3, [r7, #11] - 801f588: 68fc ldr r4, [r7, #12] - 801f58a: f107 0310 add.w r3, r7, #16 ; 0x10 - 801f58e: 4618 mov r0, r3 - 801f590: 4923 ldr r1, [pc, #140] (801f620 <_ZN19RecalibrerOdometrieC1Eb8Positioni+0xac>) - 801f592: 4a23 ldr r2, [pc, #140] (801f620 <_ZN19RecalibrerOdometrieC1Eb8Positioni+0xac>) - 801f594: f04f 0301 mov.w r3, #1 ; 0x1 - 801f598: f7f8 f90a bl 80177b0 <_ZN8PositionC1Effb> - 801f59c: 4620 mov r0, r4 - 801f59e: f107 0310 add.w r3, r7, #16 ; 0x10 - 801f5a2: e893 0006 ldmia.w r3, {r1, r2} - 801f5a6: f7fc fd73 bl 801c090 <_ZN17MediumLevelActionC2E8Position> - 801f5aa: 68fa ldr r2, [r7, #12] - 801f5ac: 4b1d ldr r3, [pc, #116] (801f624 <_ZN19RecalibrerOdometrieC1Eb8Positioni+0xb0>) - 801f5ae: 6013 str r3, [r2, #0] - 801f5b0: 68fb ldr r3, [r7, #12] - 801f5b2: f103 0318 add.w r3, r3, #24 ; 0x18 - 801f5b6: 4618 mov r0, r3 - 801f5b8: f7f8 f8c0 bl 801773c <_ZN8PositionC1Ev> - 801f5bc: 68fb ldr r3, [r7, #12] - 801f5be: f103 0320 add.w r3, r3, #32 ; 0x20 - 801f5c2: 4618 mov r0, r3 - 801f5c4: f7f8 f8ba bl 801773c <_ZN8PositionC1Ev> -{ - this->isBlue = blue; - 801f5c8: 68fa ldr r2, [r7, #12] - 801f5ca: 7afb ldrb r3, [r7, #11] - 801f5cc: f882 302c strb.w r3, [r2, #44] - this->positionDepart = positionDepart;//Position(700, 3000, isBlue); - 801f5d0: 68fb ldr r3, [r7, #12] - 801f5d2: f103 0318 add.w r3, r3, #24 ; 0x18 - 801f5d6: 4618 mov r0, r3 - 801f5d8: 463b mov r3, r7 - 801f5da: e893 0006 ldmia.w r3, {r1, r2} - 801f5de: f7f8 f98d bl 80178fc <_ZN8PositionaSES_> - //goalPosition2 = Position(0, 1360, isBlue); - this->candidatPositionArrete = Position(0, 0, isBlue); - 801f5e2: 68fb ldr r3, [r7, #12] - 801f5e4: f103 0420 add.w r4, r3, #32 ; 0x20 - 801f5e8: 68fb ldr r3, [r7, #12] - 801f5ea: f893 c02c ldrb.w ip, [r3, #44] - 801f5ee: f107 0318 add.w r3, r7, #24 ; 0x18 - 801f5f2: 4618 mov r0, r3 - 801f5f4: 490a ldr r1, [pc, #40] (801f620 <_ZN19RecalibrerOdometrieC1Eb8Positioni+0xac>) - 801f5f6: 4a0a ldr r2, [pc, #40] (801f620 <_ZN19RecalibrerOdometrieC1Eb8Positioni+0xac>) - 801f5f8: 4663 mov r3, ip - 801f5fa: f7f8 f8d9 bl 80177b0 <_ZN8PositionC1Effb> - 801f5fe: 4620 mov r0, r4 - 801f600: f107 0318 add.w r3, r7, #24 ; 0x18 - 801f604: e893 0006 ldmia.w r3, {r1, r2} - 801f608: f7f8 f978 bl 80178fc <_ZN8PositionaSES_> - this->coinRecalage = coinRecalage; - 801f60c: 68fa ldr r2, [r7, #12] - 801f60e: 6b3b ldr r3, [r7, #48] - 801f610: 6293 str r3, [r2, #40] -} - 801f612: 68fb ldr r3, [r7, #12] - 801f614: 4618 mov r0, r3 - 801f616: f107 0724 add.w r7, r7, #36 ; 0x24 - 801f61a: 46bd mov sp, r7 - 801f61c: bd90 pop {r4, r7, pc} - 801f61e: 46c0 nop (mov r8, r8) - 801f620: 00000000 .word 0x00000000 - 801f624: 08034140 .word 0x08034140 - -0801f628 <_ZN19RecalibrerOdometrieC2Eb8Positioni>: -#include "leds.h" -#ifndef ROBOTHW -#include -#endif - -RecalibrerOdometrie::RecalibrerOdometrie(bool blue, Position positionDepart, int coinRecalage) : MediumLevelAction() - 801f628: b590 push {r4, r7, lr} - 801f62a: b089 sub sp, #36 - 801f62c: af00 add r7, sp, #0 - 801f62e: 60f8 str r0, [r7, #12] - 801f630: 4608 mov r0, r1 - 801f632: 4639 mov r1, r7 - 801f634: e881 000c stmia.w r1, {r2, r3} - 801f638: 4603 mov r3, r0 - 801f63a: 72fb strb r3, [r7, #11] - 801f63c: 68fc ldr r4, [r7, #12] - 801f63e: f107 0310 add.w r3, r7, #16 ; 0x10 - 801f642: 4618 mov r0, r3 - 801f644: 4923 ldr r1, [pc, #140] (801f6d4 <_ZN19RecalibrerOdometrieC2Eb8Positioni+0xac>) - 801f646: 4a23 ldr r2, [pc, #140] (801f6d4 <_ZN19RecalibrerOdometrieC2Eb8Positioni+0xac>) - 801f648: f04f 0301 mov.w r3, #1 ; 0x1 - 801f64c: f7f8 f8b0 bl 80177b0 <_ZN8PositionC1Effb> - 801f650: 4620 mov r0, r4 - 801f652: f107 0310 add.w r3, r7, #16 ; 0x10 - 801f656: e893 0006 ldmia.w r3, {r1, r2} - 801f65a: f7fc fd19 bl 801c090 <_ZN17MediumLevelActionC2E8Position> - 801f65e: 68fa ldr r2, [r7, #12] - 801f660: 4b1d ldr r3, [pc, #116] (801f6d8 <_ZN19RecalibrerOdometrieC2Eb8Positioni+0xb0>) - 801f662: 6013 str r3, [r2, #0] - 801f664: 68fb ldr r3, [r7, #12] - 801f666: f103 0318 add.w r3, r3, #24 ; 0x18 - 801f66a: 4618 mov r0, r3 - 801f66c: f7f8 f866 bl 801773c <_ZN8PositionC1Ev> - 801f670: 68fb ldr r3, [r7, #12] - 801f672: f103 0320 add.w r3, r3, #32 ; 0x20 - 801f676: 4618 mov r0, r3 - 801f678: f7f8 f860 bl 801773c <_ZN8PositionC1Ev> -{ - this->isBlue = blue; - 801f67c: 68fa ldr r2, [r7, #12] - 801f67e: 7afb ldrb r3, [r7, #11] - 801f680: f882 302c strb.w r3, [r2, #44] - this->positionDepart = positionDepart;//Position(700, 3000, isBlue); - 801f684: 68fb ldr r3, [r7, #12] - 801f686: f103 0318 add.w r3, r3, #24 ; 0x18 - 801f68a: 4618 mov r0, r3 - 801f68c: 463b mov r3, r7 - 801f68e: e893 0006 ldmia.w r3, {r1, r2} - 801f692: f7f8 f933 bl 80178fc <_ZN8PositionaSES_> - //goalPosition2 = Position(0, 1360, isBlue); - this->candidatPositionArrete = Position(0, 0, isBlue); - 801f696: 68fb ldr r3, [r7, #12] - 801f698: f103 0420 add.w r4, r3, #32 ; 0x20 - 801f69c: 68fb ldr r3, [r7, #12] - 801f69e: f893 c02c ldrb.w ip, [r3, #44] - 801f6a2: f107 0318 add.w r3, r7, #24 ; 0x18 - 801f6a6: 4618 mov r0, r3 - 801f6a8: 490a ldr r1, [pc, #40] (801f6d4 <_ZN19RecalibrerOdometrieC2Eb8Positioni+0xac>) - 801f6aa: 4a0a ldr r2, [pc, #40] (801f6d4 <_ZN19RecalibrerOdometrieC2Eb8Positioni+0xac>) - 801f6ac: 4663 mov r3, ip - 801f6ae: f7f8 f87f bl 80177b0 <_ZN8PositionC1Effb> - 801f6b2: 4620 mov r0, r4 - 801f6b4: f107 0318 add.w r3, r7, #24 ; 0x18 - 801f6b8: e893 0006 ldmia.w r3, {r1, r2} - 801f6bc: f7f8 f91e bl 80178fc <_ZN8PositionaSES_> - this->coinRecalage = coinRecalage; - 801f6c0: 68fa ldr r2, [r7, #12] - 801f6c2: 6b3b ldr r3, [r7, #48] - 801f6c4: 6293 str r3, [r2, #40] -} - 801f6c6: 68fb ldr r3, [r7, #12] - 801f6c8: 4618 mov r0, r3 - 801f6ca: f107 0724 add.w r7, r7, #36 ; 0x24 - 801f6ce: 46bd mov sp, r7 - 801f6d0: bd90 pop {r4, r7, pc} - 801f6d2: 46c0 nop (mov r8, r8) - 801f6d4: 00000000 .word 0x00000000 - 801f6d8: 08034140 .word 0x08034140 - -0801f6dc <_ZN11StrategieV212getTimeSpentEv>: -StrategieV2::~StrategieV2() -{ - //dtor -} - -long StrategieV2::getTimeSpent() - 801f6dc: b480 push {r7} - 801f6de: af00 add r7, sp, #0 -{ - return updateCount * 5; - 801f6e0: 4b04 ldr r3, [pc, #16] (801f6f4 <_ZN11StrategieV212getTimeSpentEv+0x18>) - 801f6e2: 681a ldr r2, [r3, #0] - 801f6e4: 4613 mov r3, r2 - 801f6e6: ea4f 0383 mov.w r3, r3, lsl #2 - 801f6ea: 4413 add r3, r2 -} - 801f6ec: 4618 mov r0, r3 - 801f6ee: 46bd mov sp, r7 - 801f6f0: bc80 pop {r7} - 801f6f2: 4770 bx lr - 801f6f4: 200005c4 .word 0x200005c4 - -0801f6f8 <_ZN11StrategieV218addTemporaryActionEP17MediumLevelAction>: - delete currentCommand; - currentCommand = new CommandTournerVers(a, maxSpeed); // create the command - Asservissement::asservissement->setCommandSpeeds(currentCommand); // apply it - StrategieV2::emptySharpsToCheck(); -} -void StrategieV2::addTemporaryAction(MediumLevelAction* action) - 801f6f8: b480 push {r7} - 801f6fa: b083 sub sp, #12 - 801f6fc: af00 add r7, sp, #0 - 801f6fe: 6078 str r0, [r7, #4] -{ - currentAction = action; - 801f700: 4a05 ldr r2, [pc, #20] (801f718 <_ZN11StrategieV218addTemporaryActionEP17MediumLevelAction+0x20>) - 801f702: 687b ldr r3, [r7, #4] - 801f704: 6013 str r3, [r2, #0] - mustDeleteAction = true; // this is a temporary action that needs to be deleted - 801f706: 4a05 ldr r2, [pc, #20] (801f71c <_ZN11StrategieV218addTemporaryActionEP17MediumLevelAction+0x24>) - 801f708: f04f 0301 mov.w r3, #1 ; 0x1 - 801f70c: 7013 strb r3, [r2, #0] -} - 801f70e: f107 070c add.w r7, r7, #12 ; 0xc - 801f712: 46bd mov sp, r7 - 801f714: bc80 pop {r7} - 801f716: 4770 bx lr - 801f718: 200005cc .word 0x200005cc - 801f71c: 2000065a .word 0x2000065a - -0801f720 <_ZN11StrategieV214setJustAvoidedEb>: -void StrategieV2::setJustAvoided(bool avoided) - 801f720: b480 push {r7} - 801f722: b083 sub sp, #12 - 801f724: af00 add r7, sp, #0 - 801f726: 4603 mov r3, r0 - 801f728: 71fb strb r3, [r7, #7] -{ - hasJustAvoided = avoided; - 801f72a: 4a04 ldr r2, [pc, #16] (801f73c <_ZN11StrategieV214setJustAvoidedEb+0x1c>) - 801f72c: 79fb ldrb r3, [r7, #7] - 801f72e: 7013 strb r3, [r2, #0] -} - 801f730: f107 070c add.w r7, r7, #12 ; 0xc - 801f734: 46bd mov sp, r7 - 801f736: bc80 pop {r7} - 801f738: 4770 bx lr - 801f73a: 46c0 nop (mov r8, r8) - 801f73c: 20000659 .word 0x20000659 - -0801f740 <_ZN11StrategieV214getJustAvoidedEv>: -bool StrategieV2::getJustAvoided() - 801f740: b480 push {r7} - 801f742: af00 add r7, sp, #0 -{ - return hasJustAvoided; - 801f744: 4b02 ldr r3, [pc, #8] (801f750 <_ZN11StrategieV214getJustAvoidedEv+0x10>) - 801f746: 781b ldrb r3, [r3, #0] -} - 801f748: 4618 mov r0, r3 - 801f74a: 46bd mov sp, r7 - 801f74c: bc80 pop {r7} - 801f74e: 4770 bx lr - 801f750: 20000659 .word 0x20000659 - -0801f754 <_ZN11StrategieV29setIsBlueEb>: -{ - somethingDetected = true; - Asservissement::asservissement->setCommandSpeeds(NULL); // stoppe le robot -} - -void StrategieV2::setIsBlue(bool blue) - 801f754: b480 push {r7} - 801f756: b083 sub sp, #12 - 801f758: af00 add r7, sp, #0 - 801f75a: 4603 mov r3, r0 - 801f75c: 71fb strb r3, [r7, #7] -{ - isBlue = blue; - 801f75e: 4a04 ldr r2, [pc, #16] (801f770 <_ZN11StrategieV29setIsBlueEb+0x1c>) - 801f760: 79fb ldrb r3, [r7, #7] - 801f762: 7013 strb r3, [r2, #0] -} - 801f764: f107 070c add.w r7, r7, #12 ; 0xc - 801f768: 46bd mov sp, r7 - 801f76a: bc80 pop {r7} - 801f76c: 4770 bx lr - 801f76e: 46c0 nop (mov r8, r8) - 801f770: 20000665 .word 0x20000665 - -0801f774 <_ZN11StrategieV29getIsBlueEv>: -bool StrategieV2::getIsBlue() - 801f774: b480 push {r7} - 801f776: af00 add r7, sp, #0 -{ - return isBlue; - 801f778: 4b02 ldr r3, [pc, #8] (801f784 <_ZN11StrategieV29getIsBlueEv+0x10>) - 801f77a: 781b ldrb r3, [r3, #0] -} - 801f77c: 4618 mov r0, r3 - 801f77e: 46bd mov sp, r7 - 801f780: bc80 pop {r7} - 801f782: 4770 bx lr - 801f784: 20000665 .word 0x20000665 - -0801f788 <_ZN11StrategieV211gatherGlassEv>: - -void StrategieV2::gatherGlass() - 801f788: b480 push {r7} - 801f78a: af00 add r7, sp, #0 -{ - glassGathered++; - 801f78c: 4b0a ldr r3, [pc, #40] (801f7b8 <_ZN11StrategieV211gatherGlassEv+0x30>) - 801f78e: 681b ldr r3, [r3, #0] - 801f790: f103 0201 add.w r2, r3, #1 ; 0x1 - 801f794: 4b08 ldr r3, [pc, #32] (801f7b8 <_ZN11StrategieV211gatherGlassEv+0x30>) - 801f796: 601a str r2, [r3, #0] - if (glassGathered > 0) - 801f798: 4b07 ldr r3, [pc, #28] (801f7b8 <_ZN11StrategieV211gatherGlassEv+0x30>) - 801f79a: 681b ldr r3, [r3, #0] - 801f79c: 2b00 cmp r3, #0 - 801f79e: dd07 ble.n 801f7b0 <_ZN11StrategieV211gatherGlassEv+0x28> - { - glassGathered = 0; - 801f7a0: 4a05 ldr r2, [pc, #20] (801f7b8 <_ZN11StrategieV211gatherGlassEv+0x30>) - 801f7a2: f04f 0300 mov.w r3, #0 ; 0x0 - 801f7a6: 6013 str r3, [r2, #0] - hasToGoBase = true; - 801f7a8: 4a04 ldr r2, [pc, #16] (801f7bc <_ZN11StrategieV211gatherGlassEv+0x34>) - 801f7aa: f04f 0301 mov.w r3, #1 ; 0x1 - 801f7ae: 7013 strb r3, [r2, #0] - } -} - 801f7b0: 46bd mov sp, r7 - 801f7b2: bc80 pop {r7} - 801f7b4: 4770 bx lr - 801f7b6: 46c0 nop (mov r8, r8) - 801f7b8: 2000065c .word 0x2000065c - 801f7bc: 20000658 .word 0x20000658 - -0801f7c0 <_ZN11StrategieV222setEnTrainDeRecalibrerEb>: - -void StrategieV2::setEnTrainDeRecalibrer(bool recalibre) - 801f7c0: b480 push {r7} - 801f7c2: b083 sub sp, #12 - 801f7c4: af00 add r7, sp, #0 - 801f7c6: 4603 mov r3, r0 - 801f7c8: 71fb strb r3, [r7, #7] -{ - enTrainDeRecalibrerOdometrie = recalibre; - 801f7ca: 4a04 ldr r2, [pc, #16] (801f7dc <_ZN11StrategieV222setEnTrainDeRecalibrerEb+0x1c>) - 801f7cc: 79fb ldrb r3, [r7, #7] - 801f7ce: 7013 strb r3, [r2, #0] -} - 801f7d0: f107 070c add.w r7, r7, #12 ; 0xc - 801f7d4: 46bd mov sp, r7 - 801f7d6: bc80 pop {r7} - 801f7d8: 4770 bx lr - 801f7da: 46c0 nop (mov r8, r8) - 801f7dc: 20000670 .word 0x20000670 - -0801f7e0 <_ZN11StrategieV218emptySharpsToCheckEv>: - -void StrategieV2::emptySharpsToCheck() - 801f7e0: b480 push {r7} - 801f7e2: b083 sub sp, #12 - 801f7e4: af00 add r7, sp, #0 -{ - for (int i = 0; i < SharpSensor::END_SHARP_NAME; i++) - 801f7e6: f04f 0300 mov.w r3, #0 ; 0x0 - 801f7ea: 607b str r3, [r7, #4] - 801f7ec: e008 b.n 801f800 <_ZN11StrategieV218emptySharpsToCheckEv+0x20> - sharpsToCheck[i] = false; - 801f7ee: 6879 ldr r1, [r7, #4] - 801f7f0: 4a07 ldr r2, [pc, #28] (801f810 <_ZN11StrategieV218emptySharpsToCheckEv+0x30>) - 801f7f2: f04f 0300 mov.w r3, #0 ; 0x0 - 801f7f6: 5453 strb r3, [r2, r1] - enTrainDeRecalibrerOdometrie = recalibre; -} - -void StrategieV2::emptySharpsToCheck() -{ - for (int i = 0; i < SharpSensor::END_SHARP_NAME; i++) - 801f7f8: 687b ldr r3, [r7, #4] - 801f7fa: f103 0301 add.w r3, r3, #1 ; 0x1 - 801f7fe: 607b str r3, [r7, #4] - 801f800: 687b ldr r3, [r7, #4] - 801f802: 2b05 cmp r3, #5 - 801f804: ddf3 ble.n 801f7ee <_ZN11StrategieV218emptySharpsToCheckEv+0xe> - sharpsToCheck[i] = false; -} - 801f806: f107 070c add.w r7, r7, #12 ; 0xc - 801f80a: 46bd mov sp, r7 - 801f80c: bc80 pop {r7} - 801f80e: 4770 bx lr - 801f810: 20000666 .word 0x20000666 - -0801f814 <_ZN11StrategieV210setCommandEP7Command>: -#endif - } - -} - -void StrategieV2::setCommand(Command* command) - 801f814: b480 push {r7} - 801f816: b083 sub sp, #12 - 801f818: af00 add r7, sp, #0 - 801f81a: 6078 str r0, [r7, #4] -{ - currentCommand = command; - 801f81c: 4a03 ldr r2, [pc, #12] (801f82c <_ZN11StrategieV210setCommandEP7Command+0x18>) - 801f81e: 687b ldr r3, [r7, #4] - 801f820: 6013 str r3, [r2, #0] -} - 801f822: f107 070c add.w r7, r7, #12 ; 0xc - 801f826: 46bd mov sp, r7 - 801f828: bc80 pop {r7} - 801f82a: 4770 bx lr - 801f82c: 200005c8 .word 0x200005c8 - -0801f830 <_ZN11StrategieV219setTourneSurSoiMemeEb>: - for (int i = 0; i < SharpSensor::END_SHARP_NAME; i++) - if (sharps[i]->getName() == name && sharpsToCheck[i] == true && !tourneSurSoiMeme) - return sharps[i]->getValue().b; -} - -void StrategieV2::setTourneSurSoiMeme(bool tourne) - 801f830: b480 push {r7} - 801f832: b083 sub sp, #12 - 801f834: af00 add r7, sp, #0 - 801f836: 4603 mov r3, r0 - 801f838: 71fb strb r3, [r7, #7] -{ - tourneSurSoiMeme = tourne; - 801f83a: 4a04 ldr r2, [pc, #16] (801f84c <_ZN11StrategieV219setTourneSurSoiMemeEb+0x1c>) - 801f83c: 79fb ldrb r3, [r7, #7] - 801f83e: 7013 strb r3, [r2, #0] -} - 801f840: f107 070c add.w r7, r7, #12 ; 0xc - 801f844: 46bd mov sp, r7 - 801f846: bc80 pop {r7} - 801f848: 4770 bx lr - 801f84a: 46c0 nop (mov r8, r8) - 801f84c: 2000067c .word 0x2000067c - -0801f850 <_ZN11StrategieV212sharpDetectsEN11SharpSensor9SharpNameE>: -void StrategieV2::setCommand(Command* command) -{ - currentCommand = command; -} - -bool StrategieV2::sharpDetects(SharpSensor::SharpName name) - 801f850: b580 push {r7, lr} - 801f852: b088 sub sp, #32 - 801f854: af00 add r7, sp, #0 - 801f856: 4603 mov r3, r0 - 801f858: 73fb strb r3, [r7, #15] -{ - for (int i = 0; i < SharpSensor::END_SHARP_NAME; i++) - 801f85a: f04f 0300 mov.w r3, #0 ; 0x0 - 801f85e: 61fb str r3, [r7, #28] - 801f860: e04a b.n 801f8f8 <_ZN11StrategieV212sharpDetectsEN11SharpSensor9SharpNameE+0xa8> - if (sharps[i]->getName() == name && sharpsToCheck[i] == true && !tourneSurSoiMeme) - 801f862: 4b29 ldr r3, [pc, #164] (801f908 <_ZN11StrategieV212sharpDetectsEN11SharpSensor9SharpNameE+0xb8>) - 801f864: 681a ldr r2, [r3, #0] - 801f866: 69fb ldr r3, [r7, #28] - 801f868: ea4f 0383 mov.w r3, r3, lsl #2 - 801f86c: 4413 add r3, r2 - 801f86e: 681b ldr r3, [r3, #0] - 801f870: 4618 mov r0, r3 - 801f872: f7f6 fc19 bl 80160a8 <_ZN11SharpSensor7getNameEv> - 801f876: 4603 mov r3, r0 - 801f878: 461a mov r2, r3 - 801f87a: 7bfb ldrb r3, [r7, #15] - 801f87c: 4293 cmp r3, r2 - 801f87e: d115 bne.n 801f8ac <_ZN11StrategieV212sharpDetectsEN11SharpSensor9SharpNameE+0x5c> - 801f880: 69fa ldr r2, [r7, #28] - 801f882: 4b22 ldr r3, [pc, #136] (801f90c <_ZN11StrategieV212sharpDetectsEN11SharpSensor9SharpNameE+0xbc>) - 801f884: 5c9b ldrb r3, [r3, r2] - 801f886: f083 0301 eor.w r3, r3, #1 ; 0x1 - 801f88a: b2db uxtb r3, r3 - 801f88c: 2b00 cmp r3, #0 - 801f88e: d10d bne.n 801f8ac <_ZN11StrategieV212sharpDetectsEN11SharpSensor9SharpNameE+0x5c> - 801f890: 4b1f ldr r3, [pc, #124] (801f910 <_ZN11StrategieV212sharpDetectsEN11SharpSensor9SharpNameE+0xc0>) - 801f892: 781b ldrb r3, [r3, #0] - 801f894: f083 0301 eor.w r3, r3, #1 ; 0x1 - 801f898: b2db uxtb r3, r3 - 801f89a: f083 0301 eor.w r3, r3, #1 ; 0x1 - 801f89e: b2db uxtb r3, r3 - 801f8a0: 2b00 cmp r3, #0 - 801f8a2: d103 bne.n 801f8ac <_ZN11StrategieV212sharpDetectsEN11SharpSensor9SharpNameE+0x5c> - 801f8a4: f04f 0301 mov.w r3, #1 ; 0x1 - 801f8a8: 60bb str r3, [r7, #8] - 801f8aa: e002 b.n 801f8b2 <_ZN11StrategieV212sharpDetectsEN11SharpSensor9SharpNameE+0x62> - 801f8ac: f04f 0300 mov.w r3, #0 ; 0x0 - 801f8b0: 60bb str r3, [r7, #8] - 801f8b2: 68bb ldr r3, [r7, #8] - 801f8b4: 2b00 cmp r3, #0 - 801f8b6: d01b beq.n 801f8f0 <_ZN11StrategieV212sharpDetectsEN11SharpSensor9SharpNameE+0xa0> - return sharps[i]->getValue().b; - 801f8b8: 4b13 ldr r3, [pc, #76] (801f908 <_ZN11StrategieV212sharpDetectsEN11SharpSensor9SharpNameE+0xb8>) - 801f8ba: 681a ldr r2, [r3, #0] - 801f8bc: 69fb ldr r3, [r7, #28] - 801f8be: ea4f 0383 mov.w r3, r3, lsl #2 - 801f8c2: 4413 add r3, r2 - 801f8c4: 681b ldr r3, [r3, #0] - 801f8c6: 681b ldr r3, [r3, #0] - 801f8c8: f103 0308 add.w r3, r3, #8 ; 0x8 - 801f8cc: f8d3 c000 ldr.w ip, [r3] - 801f8d0: 4b0d ldr r3, [pc, #52] (801f908 <_ZN11StrategieV212sharpDetectsEN11SharpSensor9SharpNameE+0xb8>) - 801f8d2: 681a ldr r2, [r3, #0] - 801f8d4: 69fb ldr r3, [r7, #28] - 801f8d6: ea4f 0383 mov.w r3, r3, lsl #2 - 801f8da: 4413 add r3, r2 - 801f8dc: 681a ldr r2, [r3, #0] - 801f8de: f107 0310 add.w r3, r7, #16 ; 0x10 - 801f8e2: 4618 mov r0, r3 - 801f8e4: 4611 mov r1, r2 - 801f8e6: 47e0 blx ip - 801f8e8: 7e3b ldrb r3, [r7, #24] - 801f8ea: 607b str r3, [r7, #4] -} - 801f8ec: 6878 ldr r0, [r7, #4] - 801f8ee: e006 b.n 801f8fe <_ZN11StrategieV212sharpDetectsEN11SharpSensor9SharpNameE+0xae> - currentCommand = command; -} - -bool StrategieV2::sharpDetects(SharpSensor::SharpName name) -{ - for (int i = 0; i < SharpSensor::END_SHARP_NAME; i++) - 801f8f0: 69fb ldr r3, [r7, #28] - 801f8f2: f103 0301 add.w r3, r3, #1 ; 0x1 - 801f8f6: 61fb str r3, [r7, #28] - 801f8f8: 69fb ldr r3, [r7, #28] - 801f8fa: 2b05 cmp r3, #5 - 801f8fc: ddb1 ble.n 801f862 <_ZN11StrategieV212sharpDetectsEN11SharpSensor9SharpNameE+0x12> - if (sharps[i]->getName() == name && sharpsToCheck[i] == true && !tourneSurSoiMeme) - return sharps[i]->getValue().b; -} - 801f8fe: f107 0720 add.w r7, r7, #32 ; 0x20 - 801f902: 46bd mov sp, r7 - 801f904: bd80 pop {r7, pc} - 801f906: 46c0 nop (mov r8, r8) - 801f908: 20000654 .word 0x20000654 - 801f90c: 20000666 .word 0x20000666 - 801f910: 2000067c .word 0x2000067c - -0801f914 <_ZN11StrategieV211enableSharpEN11SharpSensor9SharpNameE>: -{ - for (int i = 0; i < SharpSensor::END_SHARP_NAME; i++) - sharpsToCheck[i] = false; -} - -void StrategieV2::enableSharp(SharpSensor::SharpName name) - 801f914: b580 push {r7, lr} - 801f916: b084 sub sp, #16 - 801f918: af00 add r7, sp, #0 - 801f91a: 4603 mov r3, r0 - 801f91c: 71fb strb r3, [r7, #7] -{ - for (int i = 0; i < SharpSensor::END_SHARP_NAME; i++) - 801f91e: f04f 0300 mov.w r3, #0 ; 0x0 - 801f922: 60fb str r3, [r7, #12] - 801f924: e01c b.n 801f960 <_ZN11StrategieV211enableSharpEN11SharpSensor9SharpNameE+0x4c> - if (sharps[i]->getName() == name) - 801f926: 4b12 ldr r3, [pc, #72] (801f970 <_ZN11StrategieV211enableSharpEN11SharpSensor9SharpNameE+0x5c>) - 801f928: 681a ldr r2, [r3, #0] - 801f92a: 68fb ldr r3, [r7, #12] - 801f92c: ea4f 0383 mov.w r3, r3, lsl #2 - 801f930: 4413 add r3, r2 - 801f932: 681b ldr r3, [r3, #0] - 801f934: 4618 mov r0, r3 - 801f936: f7f6 fbb7 bl 80160a8 <_ZN11SharpSensor7getNameEv> - 801f93a: 4603 mov r3, r0 - 801f93c: 461a mov r2, r3 - 801f93e: 79fb ldrb r3, [r7, #7] - 801f940: 4293 cmp r3, r2 - 801f942: bf14 ite ne - 801f944: 2300 movne r3, #0 - 801f946: 2301 moveq r3, #1 - 801f948: b2db uxtb r3, r3 - 801f94a: 2b00 cmp r3, #0 - 801f94c: d004 beq.n 801f958 <_ZN11StrategieV211enableSharpEN11SharpSensor9SharpNameE+0x44> - sharpsToCheck[i] = true; - 801f94e: 68f9 ldr r1, [r7, #12] - 801f950: 4a08 ldr r2, [pc, #32] (801f974 <_ZN11StrategieV211enableSharpEN11SharpSensor9SharpNameE+0x60>) - 801f952: f04f 0301 mov.w r3, #1 ; 0x1 - 801f956: 5453 strb r3, [r2, r1] - sharpsToCheck[i] = false; -} - -void StrategieV2::enableSharp(SharpSensor::SharpName name) -{ - for (int i = 0; i < SharpSensor::END_SHARP_NAME; i++) - 801f958: 68fb ldr r3, [r7, #12] - 801f95a: f103 0301 add.w r3, r3, #1 ; 0x1 - 801f95e: 60fb str r3, [r7, #12] - 801f960: 68fb ldr r3, [r7, #12] - 801f962: 2b05 cmp r3, #5 - 801f964: dddf ble.n 801f926 <_ZN11StrategieV211enableSharpEN11SharpSensor9SharpNameE+0x12> - if (sharps[i]->getName() == name) - sharpsToCheck[i] = true; -} - 801f966: f107 0710 add.w r7, r7, #16 ; 0x10 - 801f96a: 46bd mov sp, r7 - 801f96c: bd80 pop {r7, pc} - 801f96e: 46c0 nop (mov r8, r8) - 801f970: 20000654 .word 0x20000654 - 801f974: 20000666 .word 0x20000666 - -0801f978 <_ZN11StrategieV217enableSharpsGroupEb>: - -void StrategieV2::enableSharpsGroup(bool front) - 801f978: b580 push {r7, lr} - 801f97a: b082 sub sp, #8 - 801f97c: af00 add r7, sp, #0 - 801f97e: 4603 mov r3, r0 - 801f980: 71fb strb r3, [r7, #7] -{ - emptySharpsToCheck(); - 801f982: f7ff ff2d bl 801f7e0 <_ZN11StrategieV218emptySharpsToCheckEv> - - if (front) - 801f986: 79fb ldrb r3, [r7, #7] - 801f988: 2b00 cmp r3, #0 - 801f98a: d00c beq.n 801f9a6 <_ZN11StrategieV217enableSharpsGroupEb+0x2e> - { -#if defined(STM32F40_41xxx) - enableSharp(SharpSensor::FRONT_LEFT); - 801f98c: f04f 0004 mov.w r0, #4 ; 0x4 - 801f990: f7ff ffc0 bl 801f914 <_ZN11StrategieV211enableSharpEN11SharpSensor9SharpNameE> - enableSharp(SharpSensor::FRONT_RIGHT); - 801f994: f04f 0003 mov.w r0, #3 ; 0x3 - 801f998: f7ff ffbc bl 801f914 <_ZN11StrategieV211enableSharpEN11SharpSensor9SharpNameE> - enableSharp(SharpSensor::FRONT_MIDDLE); - 801f99c: f04f 0005 mov.w r0, #5 ; 0x5 - 801f9a0: f7ff ffb8 bl 801f914 <_ZN11StrategieV211enableSharpEN11SharpSensor9SharpNameE> - 801f9a4: e00b b.n 801f9be <_ZN11StrategieV217enableSharpsGroupEb+0x46> -#endif - } - else - { -#if defined(STM32F40_41xxx) - enableSharp(SharpSensor::BACK_LEFT); - 801f9a6: f04f 0001 mov.w r0, #1 ; 0x1 - 801f9aa: f7ff ffb3 bl 801f914 <_ZN11StrategieV211enableSharpEN11SharpSensor9SharpNameE> - enableSharp(SharpSensor::BACK_RIGHT); - 801f9ae: f04f 0000 mov.w r0, #0 ; 0x0 - 801f9b2: f7ff ffaf bl 801f914 <_ZN11StrategieV211enableSharpEN11SharpSensor9SharpNameE> - enableSharp(SharpSensor::BACK_MIDDLE); - 801f9b6: f04f 0002 mov.w r0, #2 ; 0x2 - 801f9ba: f7ff ffab bl 801f914 <_ZN11StrategieV211enableSharpEN11SharpSensor9SharpNameE> - enableSharp(SharpSensor::LEFT_BACK); - enableSharp(SharpSensor::RIGHT_BACK); -#endif - } - -} - 801f9be: f107 0708 add.w r7, r7, #8 ; 0x8 - 801f9c2: 46bd mov sp, r7 - 801f9c4: bd80 pop {r7, pc} - 801f9c6: 46c0 nop (mov r8, r8) - -0801f9c8 <_ZN11StrategieV211willCollideEv>: -} -bool StrategieV2::getJustAvoided() -{ - return hasJustAvoided; -} -bool StrategieV2::willCollide() - 801f9c8: b580 push {r7, lr} - 801f9ca: b082 sub sp, #8 - 801f9cc: af00 add r7, sp, #0 -{ - somethingDetected = true; - 801f9ce: 4a07 ldr r2, [pc, #28] (801f9ec <_ZN11StrategieV211willCollideEv+0x24>) - 801f9d0: f04f 0301 mov.w r3, #1 ; 0x1 - 801f9d4: 7013 strb r3, [r2, #0] - Asservissement::asservissement->setCommandSpeeds(NULL); // stoppe le robot - 801f9d6: 4b06 ldr r3, [pc, #24] (801f9f0 <_ZN11StrategieV211willCollideEv+0x28>) - 801f9d8: 681b ldr r3, [r3, #0] - 801f9da: 4618 mov r0, r3 - 801f9dc: f04f 0100 mov.w r1, #0 ; 0x0 - 801f9e0: f7f0 fda2 bl 8010528 <_ZN14Asservissement16setCommandSpeedsEP7Command> -} - 801f9e4: f107 0708 add.w r7, r7, #8 ; 0x8 - 801f9e8: 46bd mov sp, r7 - 801f9ea: bd80 pop {r7, pc} - 801f9ec: 20000664 .word 0x20000664 - 801f9f0: 20000580 .word 0x20000580 - -0801f9f4 <_ZN11StrategieV26lookAtEff>: - delete currentCommand; - currentCommand = new CommandTournerVers(pos, maxSpeed); // create the command - Asservissement::asservissement->setCommandSpeeds(currentCommand); // apply it - StrategieV2::emptySharpsToCheck(); -} -void StrategieV2::lookAt(Angle a, float maxSpeed) - 801f9f4: b580 push {r7, lr} - 801f9f6: b084 sub sp, #16 - 801f9f8: af00 add r7, sp, #0 - 801f9fa: 60f8 str r0, [r7, #12] - 801f9fc: 60b9 str r1, [r7, #8] -{ - if (currentCommand != NULL) - 801f9fe: 4b1b ldr r3, [pc, #108] (801fa6c <_ZN11StrategieV26lookAtEff+0x78>) - 801fa00: 681b ldr r3, [r3, #0] - 801fa02: 2b00 cmp r3, #0 - 801fa04: d00d beq.n 801fa22 <_ZN11StrategieV26lookAtEff+0x2e> - delete currentCommand; - 801fa06: 4b19 ldr r3, [pc, #100] (801fa6c <_ZN11StrategieV26lookAtEff+0x78>) - 801fa08: 681b ldr r3, [r3, #0] - 801fa0a: 2b00 cmp r3, #0 - 801fa0c: d009 beq.n 801fa22 <_ZN11StrategieV26lookAtEff+0x2e> - 801fa0e: 4b17 ldr r3, [pc, #92] (801fa6c <_ZN11StrategieV26lookAtEff+0x78>) - 801fa10: 681b ldr r3, [r3, #0] - 801fa12: 681b ldr r3, [r3, #0] - 801fa14: f103 0304 add.w r3, r3, #4 ; 0x4 - 801fa18: 681a ldr r2, [r3, #0] - 801fa1a: 4b14 ldr r3, [pc, #80] (801fa6c <_ZN11StrategieV26lookAtEff+0x78>) - 801fa1c: 681b ldr r3, [r3, #0] - 801fa1e: 4618 mov r0, r3 - 801fa20: 4790 blx r2 - currentCommand = new CommandTournerVers(a, maxSpeed); // create the command - 801fa22: f04f 0020 mov.w r0, #32 ; 0x20 - 801fa26: f7f7 fd4b bl 80174c0 <_Znwj> - 801fa2a: 4603 mov r3, r0 - 801fa2c: 603b str r3, [r7, #0] - 801fa2e: 683b ldr r3, [r7, #0] - 801fa30: 2b00 cmp r3, #0 - 801fa32: d007 beq.n 801fa44 <_ZN11StrategieV26lookAtEff+0x50> - 801fa34: 6838 ldr r0, [r7, #0] - 801fa36: 68f9 ldr r1, [r7, #12] - 801fa38: 68ba ldr r2, [r7, #8] - 801fa3a: f7f2 f961 bl 8011d00 <_ZN18CommandTournerVersC1Eff> - 801fa3e: 683b ldr r3, [r7, #0] - 801fa40: 607b str r3, [r7, #4] - 801fa42: e001 b.n 801fa48 <_ZN11StrategieV26lookAtEff+0x54> - 801fa44: 683b ldr r3, [r7, #0] - 801fa46: 607b str r3, [r7, #4] - 801fa48: 687a ldr r2, [r7, #4] - 801fa4a: 4b08 ldr r3, [pc, #32] (801fa6c <_ZN11StrategieV26lookAtEff+0x78>) - 801fa4c: 601a str r2, [r3, #0] - Asservissement::asservissement->setCommandSpeeds(currentCommand); // apply it - 801fa4e: 4b08 ldr r3, [pc, #32] (801fa70 <_ZN11StrategieV26lookAtEff+0x7c>) - 801fa50: 681a ldr r2, [r3, #0] - 801fa52: 4b06 ldr r3, [pc, #24] (801fa6c <_ZN11StrategieV26lookAtEff+0x78>) - 801fa54: 681b ldr r3, [r3, #0] - 801fa56: 4610 mov r0, r2 - 801fa58: 4619 mov r1, r3 - 801fa5a: f7f0 fd65 bl 8010528 <_ZN14Asservissement16setCommandSpeedsEP7Command> - StrategieV2::emptySharpsToCheck(); - 801fa5e: f7ff febf bl 801f7e0 <_ZN11StrategieV218emptySharpsToCheckEv> -} - 801fa62: f107 0710 add.w r7, r7, #16 ; 0x10 - 801fa66: 46bd mov sp, r7 - 801fa68: bd80 pop {r7, pc} - 801fa6a: 46c0 nop (mov r8, r8) - 801fa6c: 200005c8 .word 0x200005c8 - 801fa70: 20000580 .word 0x20000580 - -0801fa74 <_ZN11StrategieV26lookAtE8Positionf>: - if (currentCommand != NULL) - delete currentCommand; - currentCommand = new CommandAllerEnArcA(goal, center, vitesse*5, goBack); - Asservissement::asservissement->setCommandSpeeds(currentCommand); -} -void StrategieV2::lookAt(Position pos, float maxSpeed) - 801fa74: b580 push {r7, lr} - 801fa76: b086 sub sp, #24 - 801fa78: af00 add r7, sp, #0 - 801fa7a: f107 0310 add.w r3, r7, #16 ; 0x10 - 801fa7e: e883 0003 stmia.w r3, {r0, r1} - 801fa82: 60fa str r2, [r7, #12] -{ - if (currentCommand != NULL) - 801fa84: 4b1c ldr r3, [pc, #112] (801faf8 <_ZN11StrategieV26lookAtE8Positionf+0x84>) - 801fa86: 681b ldr r3, [r3, #0] - 801fa88: 2b00 cmp r3, #0 - 801fa8a: d00d beq.n 801faa8 <_ZN11StrategieV26lookAtE8Positionf+0x34> - delete currentCommand; - 801fa8c: 4b1a ldr r3, [pc, #104] (801faf8 <_ZN11StrategieV26lookAtE8Positionf+0x84>) - 801fa8e: 681b ldr r3, [r3, #0] - 801fa90: 2b00 cmp r3, #0 - 801fa92: d009 beq.n 801faa8 <_ZN11StrategieV26lookAtE8Positionf+0x34> - 801fa94: 4b18 ldr r3, [pc, #96] (801faf8 <_ZN11StrategieV26lookAtE8Positionf+0x84>) - 801fa96: 681b ldr r3, [r3, #0] - 801fa98: 681b ldr r3, [r3, #0] - 801fa9a: f103 0304 add.w r3, r3, #4 ; 0x4 - 801fa9e: 681a ldr r2, [r3, #0] - 801faa0: 4b15 ldr r3, [pc, #84] (801faf8 <_ZN11StrategieV26lookAtE8Positionf+0x84>) - 801faa2: 681b ldr r3, [r3, #0] - 801faa4: 4618 mov r0, r3 - 801faa6: 4790 blx r2 - currentCommand = new CommandTournerVers(pos, maxSpeed); // create the command - 801faa8: f04f 0020 mov.w r0, #32 ; 0x20 - 801faac: f7f7 fd08 bl 80174c0 <_Znwj> - 801fab0: 4603 mov r3, r0 - 801fab2: 607b str r3, [r7, #4] - 801fab4: 687b ldr r3, [r7, #4] - 801fab6: 2b00 cmp r3, #0 - 801fab8: d00a beq.n 801fad0 <_ZN11StrategieV26lookAtE8Positionf+0x5c> - 801faba: 6878 ldr r0, [r7, #4] - 801fabc: f107 0310 add.w r3, r7, #16 ; 0x10 - 801fac0: e893 0006 ldmia.w r3, {r1, r2} - 801fac4: 68fb ldr r3, [r7, #12] - 801fac6: f7f2 f99f bl 8011e08 <_ZN18CommandTournerVersC1E8Positionf> - 801faca: 687b ldr r3, [r7, #4] - 801facc: 60bb str r3, [r7, #8] - 801face: e001 b.n 801fad4 <_ZN11StrategieV26lookAtE8Positionf+0x60> - 801fad0: 687b ldr r3, [r7, #4] - 801fad2: 60bb str r3, [r7, #8] - 801fad4: 68ba ldr r2, [r7, #8] - 801fad6: 4b08 ldr r3, [pc, #32] (801faf8 <_ZN11StrategieV26lookAtE8Positionf+0x84>) - 801fad8: 601a str r2, [r3, #0] - Asservissement::asservissement->setCommandSpeeds(currentCommand); // apply it - 801fada: 4b08 ldr r3, [pc, #32] (801fafc <_ZN11StrategieV26lookAtE8Positionf+0x88>) - 801fadc: 681a ldr r2, [r3, #0] - 801fade: 4b06 ldr r3, [pc, #24] (801faf8 <_ZN11StrategieV26lookAtE8Positionf+0x84>) - 801fae0: 681b ldr r3, [r3, #0] - 801fae2: 4610 mov r0, r2 - 801fae4: 4619 mov r1, r3 - 801fae6: f7f0 fd1f bl 8010528 <_ZN14Asservissement16setCommandSpeedsEP7Command> - StrategieV2::emptySharpsToCheck(); - 801faea: f7ff fe79 bl 801f7e0 <_ZN11StrategieV218emptySharpsToCheckEv> -} - 801faee: f107 0718 add.w r7, r7, #24 ; 0x18 - 801faf2: 46bd mov sp, r7 - 801faf4: bd80 pop {r7, pc} - 801faf6: 46c0 nop (mov r8, r8) - 801faf8: 200005c8 .word 0x200005c8 - 801fafc: 20000580 .word 0x20000580 - -0801fb00 <_ZN11StrategieV214setCurrentGoalE8PositionS0_fbf>: - //StrategieV2::sharpsToCheck[SharpSensor::LEFT_FRONT] = true; - //StrategieV2::sharpsToCheck[SharpSensor::RIGHT_FRONT] = true; - }*/ -#endif -} -void StrategieV2::setCurrentGoal(Position goal, Position center, float vitesse, bool goBack, Angle precisionAngle) - 801fb00: b580 push {r7, lr} - 801fb02: b08a sub sp, #40 - 801fb04: af04 add r7, sp, #16 - 801fb06: f107 0c10 add.w ip, r7, #16 ; 0x10 - 801fb0a: e88c 0003 stmia.w ip, {r0, r1} - 801fb0e: f107 0108 add.w r1, r7, #8 ; 0x8 - 801fb12: e881 000c stmia.w r1, {r2, r3} -{ - if (currentCommand != NULL) - 801fb16: 4b20 ldr r3, [pc, #128] (801fb98 <_ZN11StrategieV214setCurrentGoalE8PositionS0_fbf+0x98>) - 801fb18: 681b ldr r3, [r3, #0] - 801fb1a: 2b00 cmp r3, #0 - 801fb1c: d00d beq.n 801fb3a <_ZN11StrategieV214setCurrentGoalE8PositionS0_fbf+0x3a> - delete currentCommand; - 801fb1e: 4b1e ldr r3, [pc, #120] (801fb98 <_ZN11StrategieV214setCurrentGoalE8PositionS0_fbf+0x98>) - 801fb20: 681b ldr r3, [r3, #0] - 801fb22: 2b00 cmp r3, #0 - 801fb24: d009 beq.n 801fb3a <_ZN11StrategieV214setCurrentGoalE8PositionS0_fbf+0x3a> - 801fb26: 4b1c ldr r3, [pc, #112] (801fb98 <_ZN11StrategieV214setCurrentGoalE8PositionS0_fbf+0x98>) - 801fb28: 681b ldr r3, [r3, #0] - 801fb2a: 681b ldr r3, [r3, #0] - 801fb2c: f103 0304 add.w r3, r3, #4 ; 0x4 - 801fb30: 681a ldr r2, [r3, #0] - 801fb32: 4b19 ldr r3, [pc, #100] (801fb98 <_ZN11StrategieV214setCurrentGoalE8PositionS0_fbf+0x98>) - 801fb34: 681b ldr r3, [r3, #0] - 801fb36: 4618 mov r0, r3 - 801fb38: 4790 blx r2 - currentCommand = new CommandAllerEnArcA(goal, center, vitesse*5, goBack); - 801fb3a: f04f 0030 mov.w r0, #48 ; 0x30 - 801fb3e: f7f7 fcbf bl 80174c0 <_Znwj> - 801fb42: 4603 mov r3, r0 - 801fb44: 603b str r3, [r7, #0] - 801fb46: 683b ldr r3, [r7, #0] - 801fb48: 2b00 cmp r3, #0 - 801fb4a: d014 beq.n 801fb76 <_ZN11StrategieV214setCurrentGoalE8PositionS0_fbf+0x76> - 801fb4c: 6a38 ldr r0, [r7, #32] - 801fb4e: 4913 ldr r1, [pc, #76] (801fb9c <_ZN11StrategieV214setCurrentGoalE8PositionS0_fbf+0x9c>) - 801fb50: f00d fa32 bl 802cfb8 <__aeabi_fmul> - 801fb54: 4603 mov r3, r0 - 801fb56: 9301 str r3, [sp, #4] - 801fb58: f897 3024 ldrb.w r3, [r7, #36] - 801fb5c: 9302 str r3, [sp, #8] - 801fb5e: 68fb ldr r3, [r7, #12] - 801fb60: 9300 str r3, [sp, #0] - 801fb62: 68bb ldr r3, [r7, #8] - 801fb64: 6838 ldr r0, [r7, #0] - 801fb66: f107 0210 add.w r2, r7, #16 ; 0x10 - 801fb6a: ca06 ldmia r2!, {r1, r2} - 801fb6c: f7f2 fa7c bl 8012068 <_ZN18CommandAllerEnArcAC1E8PositionS0_fb> - 801fb70: 683b ldr r3, [r7, #0] - 801fb72: 607b str r3, [r7, #4] - 801fb74: e001 b.n 801fb7a <_ZN11StrategieV214setCurrentGoalE8PositionS0_fbf+0x7a> - 801fb76: 683b ldr r3, [r7, #0] - 801fb78: 607b str r3, [r7, #4] - 801fb7a: 687a ldr r2, [r7, #4] - 801fb7c: 4b06 ldr r3, [pc, #24] (801fb98 <_ZN11StrategieV214setCurrentGoalE8PositionS0_fbf+0x98>) - 801fb7e: 601a str r2, [r3, #0] - Asservissement::asservissement->setCommandSpeeds(currentCommand); - 801fb80: 4b07 ldr r3, [pc, #28] (801fba0 <_ZN11StrategieV214setCurrentGoalE8PositionS0_fbf+0xa0>) - 801fb82: 681a ldr r2, [r3, #0] - 801fb84: 4b04 ldr r3, [pc, #16] (801fb98 <_ZN11StrategieV214setCurrentGoalE8PositionS0_fbf+0x98>) - 801fb86: 681b ldr r3, [r3, #0] - 801fb88: 4610 mov r0, r2 - 801fb8a: 4619 mov r1, r3 - 801fb8c: f7f0 fccc bl 8010528 <_ZN14Asservissement16setCommandSpeedsEP7Command> -} - 801fb90: f107 0718 add.w r7, r7, #24 ; 0x18 - 801fb94: 46bd mov sp, r7 - 801fb96: bd80 pop {r7, pc} - 801fb98: 200005c8 .word 0x200005c8 - 801fb9c: 40a00000 .word 0x40a00000 - 801fba0: 20000580 .word 0x20000580 - -0801fba4 <_ZN11StrategieV214setCurrentGoalE8Positionbff>: -// updateCount ++; - //eteindreLED2(); - //eteindreLED(); -} - -void StrategieV2::setCurrentGoal(Position goal, bool goBack, float maxSpeed, Angle precisionAngle) - 801fba4: b580 push {r7, lr} - 801fba6: b08a sub sp, #40 - 801fba8: af04 add r7, sp, #16 - 801fbaa: f107 0c10 add.w ip, r7, #16 ; 0x10 - 801fbae: e88c 0003 stmia.w ip, {r0, r1} - 801fbb2: 60bb str r3, [r7, #8] - 801fbb4: 4613 mov r3, r2 - 801fbb6: 73fb strb r3, [r7, #15] -{ - if (currentCommand != NULL) - 801fbb8: 4b20 ldr r3, [pc, #128] (801fc3c <_ZN11StrategieV214setCurrentGoalE8Positionbff+0x98>) - 801fbba: 681b ldr r3, [r3, #0] - 801fbbc: 2b00 cmp r3, #0 - 801fbbe: d00d beq.n 801fbdc <_ZN11StrategieV214setCurrentGoalE8Positionbff+0x38> - delete currentCommand; - 801fbc0: 4b1e ldr r3, [pc, #120] (801fc3c <_ZN11StrategieV214setCurrentGoalE8Positionbff+0x98>) - 801fbc2: 681b ldr r3, [r3, #0] - 801fbc4: 2b00 cmp r3, #0 - 801fbc6: d009 beq.n 801fbdc <_ZN11StrategieV214setCurrentGoalE8Positionbff+0x38> - 801fbc8: 4b1c ldr r3, [pc, #112] (801fc3c <_ZN11StrategieV214setCurrentGoalE8Positionbff+0x98>) - 801fbca: 681b ldr r3, [r3, #0] - 801fbcc: 681b ldr r3, [r3, #0] - 801fbce: f103 0304 add.w r3, r3, #4 ; 0x4 - 801fbd2: 681a ldr r2, [r3, #0] - 801fbd4: 4b19 ldr r3, [pc, #100] (801fc3c <_ZN11StrategieV214setCurrentGoalE8Positionbff+0x98>) - 801fbd6: 681b ldr r3, [r3, #0] - 801fbd8: 4618 mov r0, r3 - 801fbda: 4790 blx r2 -// if (actionsCount == 0) -// currentCommand = new CommandAllerA(goal, goBack, maxSpeed/2); -// else - currentCommand = new CommandAllerA(goal, goBack, maxSpeed, 0.0f, precisionAngle); - 801fbdc: f04f 0030 mov.w r0, #48 ; 0x30 - 801fbe0: f7f7 fc6e bl 80174c0 <_Znwj> - 801fbe4: 4603 mov r3, r0 - 801fbe6: 603b str r3, [r7, #0] - 801fbe8: 683b ldr r3, [r7, #0] - 801fbea: 2b00 cmp r3, #0 - 801fbec: d012 beq.n 801fc14 <_ZN11StrategieV214setCurrentGoalE8Positionbff+0x70> - 801fbee: f897 c00f ldrb.w ip, [r7, #15] - 801fbf2: 68bb ldr r3, [r7, #8] - 801fbf4: 9300 str r3, [sp, #0] - 801fbf6: 4b12 ldr r3, [pc, #72] (801fc40 <_ZN11StrategieV214setCurrentGoalE8Positionbff+0x9c>) - 801fbf8: 9301 str r3, [sp, #4] - 801fbfa: 6a3b ldr r3, [r7, #32] - 801fbfc: 9302 str r3, [sp, #8] - 801fbfe: 6838 ldr r0, [r7, #0] - 801fc00: f107 0310 add.w r3, r7, #16 ; 0x10 - 801fc04: e893 0006 ldmia.w r3, {r1, r2} - 801fc08: 4663 mov r3, ip - 801fc0a: f7f2 f97d bl 8011f08 <_ZN13CommandAllerAC1E8Positionbfff> - 801fc0e: 683b ldr r3, [r7, #0] - 801fc10: 607b str r3, [r7, #4] - 801fc12: e001 b.n 801fc18 <_ZN11StrategieV214setCurrentGoalE8Positionbff+0x74> - 801fc14: 683b ldr r3, [r7, #0] - 801fc16: 607b str r3, [r7, #4] - 801fc18: 687a ldr r2, [r7, #4] - 801fc1a: 4b08 ldr r3, [pc, #32] (801fc3c <_ZN11StrategieV214setCurrentGoalE8Positionbff+0x98>) - 801fc1c: 601a str r2, [r3, #0] - Asservissement::asservissement->setCommandSpeeds(currentCommand); - 801fc1e: 4b09 ldr r3, [pc, #36] (801fc44 <_ZN11StrategieV214setCurrentGoalE8Positionbff+0xa0>) - 801fc20: 681a ldr r2, [r3, #0] - 801fc22: 4b06 ldr r3, [pc, #24] (801fc3c <_ZN11StrategieV214setCurrentGoalE8Positionbff+0x98>) - 801fc24: 681b ldr r3, [r3, #0] - 801fc26: 4610 mov r0, r2 - 801fc28: 4619 mov r1, r3 - 801fc2a: f7f0 fc7d bl 8010528 <_ZN14Asservissement16setCommandSpeedsEP7Command> - StrategieV2::emptySharpsToCheck(); - 801fc2e: f7ff fdd7 bl 801f7e0 <_ZN11StrategieV218emptySharpsToCheckEv> - //StrategieV2::sharpsToCheck[SharpSensor::FRONT_RIGHT] = true; - //StrategieV2::sharpsToCheck[SharpSensor::LEFT_FRONT] = true; - //StrategieV2::sharpsToCheck[SharpSensor::RIGHT_FRONT] = true; - }*/ -#endif -} - 801fc32: f107 0718 add.w r7, r7, #24 ; 0x18 - 801fc36: 46bd mov sp, r7 - 801fc38: bd80 pop {r7, pc} - 801fc3a: 46c0 nop (mov r8, r8) - 801fc3c: 200005c8 .word 0x200005c8 - 801fc40: 00000000 .word 0x00000000 - 801fc44: 20000580 .word 0x20000580 - -0801fc48 <_ZN11StrategieV26updateEv>: -{ - return updateCount * 5; -} - - -void StrategieV2::update() - 801fc48: b590 push {r4, r7, lr} - 801fc4a: b0af sub sp, #188 - 801fc4c: af02 add r7, sp, #8 - - resultUpdate = tourelle->update(); - - */ - - if (StrategieV2::strategie == NULL) - 801fc4e: f8df 35b8 ldr.w r3, [pc, #1464] ; 8020208 <_ZN11StrategieV26updateEv+0x5c0> - 801fc52: 681b ldr r3, [r3, #0] - 801fc54: 2b00 cmp r3, #0 - 801fc56: f000 82d2 beq.w 80201fe <_ZN11StrategieV26updateEv+0x5b6> - return; - updateCount++; - 801fc5a: f8df 35b0 ldr.w r3, [pc, #1456] ; 802020c <_ZN11StrategieV26updateEv+0x5c4> - 801fc5e: 681b ldr r3, [r3, #0] - 801fc60: f103 0201 add.w r2, r3, #1 ; 0x1 - 801fc64: f8df 35a4 ldr.w r3, [pc, #1444] ; 802020c <_ZN11StrategieV26updateEv+0x5c4> - 801fc68: 601a str r2, [r3, #0] - - currentAction->updateTime(90*1000-updateCount*5); - 801fc6a: f8df 35a4 ldr.w r3, [pc, #1444] ; 8020210 <_ZN11StrategieV26updateEv+0x5c8> - 801fc6e: 6819 ldr r1, [r3, #0] - 801fc70: f8df 3598 ldr.w r3, [pc, #1432] ; 802020c <_ZN11StrategieV26updateEv+0x5c4> - 801fc74: 681a ldr r2, [r3, #0] - 801fc76: 4613 mov r3, r2 - 801fc78: ea4f 0383 mov.w r3, r3, lsl #2 - 801fc7c: 4413 add r3, r2 - 801fc7e: f1c3 0300 rsb r3, r3, #0 ; 0x0 - 801fc82: f503 33ae add.w r3, r3, #89088 ; 0x15c00 - 801fc86: f503 7364 add.w r3, r3, #912 ; 0x390 - 801fc8a: 4608 mov r0, r1 - 801fc8c: 4619 mov r1, r3 - 801fc8e: f7fc f981 bl 801bf94 <_ZN17MediumLevelAction10updateTimeEi> -// -// //On donne l'ordre de ralentir, si besoin -// currentCommand->limitSpeed(hysteresisTourelle); - -#endif - if (updateCount < 0) - 801fc92: f8df 3578 ldr.w r3, [pc, #1400] ; 802020c <_ZN11StrategieV26updateEv+0x5c4> - 801fc96: 681b ldr r3, [r3, #0] - 801fc98: 2b00 cmp r3, #0 - 801fc9a: da04 bge.n 801fca6 <_ZN11StrategieV26updateEv+0x5e> - { - updateCount = 50000; - 801fc9c: f8df 256c ldr.w r2, [pc, #1388] ; 802020c <_ZN11StrategieV26updateEv+0x5c4> - 801fca0: f24c 3350 movw r3, #50000 ; 0xc350 - 801fca4: 6013 str r3, [r2, #0] - - if (updateCount <= 18000) - { - - } - if (updateCount >= 18000) - 801fca6: f8df 3564 ldr.w r3, [pc, #1380] ; 802020c <_ZN11StrategieV26updateEv+0x5c4> - 801fcaa: 681a ldr r2, [r3, #0] - 801fcac: f244 634f movw r3, #17999 ; 0x464f - 801fcb0: 429a cmp r2, r3 - 801fcb2: dd08 ble.n 801fcc6 <_ZN11StrategieV26updateEv+0x7e> - { - Asservissement::asservissement->setCommandSpeeds(NULL); - 801fcb4: f8df 355c ldr.w r3, [pc, #1372] ; 8020214 <_ZN11StrategieV26updateEv+0x5cc> - 801fcb8: 681b ldr r3, [r3, #0] - 801fcba: 4618 mov r0, r3 - 801fcbc: f04f 0100 mov.w r1, #0 ; 0x0 - 801fcc0: f7f0 fc32 bl 8010528 <_ZN14Asservissement16setCommandSpeedsEP7Command> - 801fcc4: e29b b.n 80201fe <_ZN11StrategieV26updateEv+0x5b6> - //if (updateCount > 6000 && updateCount < 10000) // attendre 15 secondes - /*{ - Asservissement::asservissement->setCommandSpeeds(NULL); - return; - }*/ - if (actionsCount >= 1) - 801fcc6: f8df 3550 ldr.w r3, [pc, #1360] ; 8020218 <_ZN11StrategieV26updateEv+0x5d0> - 801fcca: 681b ldr r3, [r3, #0] - 801fccc: 2b00 cmp r3, #0 - 801fcce: dd05 ble.n 801fcdc <_ZN11StrategieV26updateEv+0x94> - { - updateCount = 20000; - 801fcd0: f8df 2538 ldr.w r2, [pc, #1336] ; 802020c <_ZN11StrategieV26updateEv+0x5c4> - 801fcd4: f644 6320 movw r3, #20000 ; 0x4e20 - 801fcd8: 6013 str r3, [r2, #0] - 801fcda: e290 b.n 80201fe <_ZN11StrategieV26updateEv+0x5b6> - enableSharp(SharpSensor::BACK_MIDDLE); - enableSharp(SharpSensor::BACK_RIGHT); - */ - //std::cout << "update" << std::endl; - // check sensors: - AnalogSensor::startConversion(); - 801fcdc: f7f4 f84a bl 8013d74 <_ZN12AnalogSensor15startConversionEv> - - // - - //allumerLED2(); - for (int i = 0; i < SharpSensor::END_SHARP_NAME; i++) // update tous les sharps - 801fce0: f04f 0300 mov.w r3, #0 ; 0x0 - 801fce4: f8c7 30a0 str.w r3, [r7, #160] - 801fce8: e011 b.n 801fd0e <_ZN11StrategieV26updateEv+0xc6> - { - sharps[i]->updateValue(); - 801fcea: f8df 3530 ldr.w r3, [pc, #1328] ; 802021c <_ZN11StrategieV26updateEv+0x5d4> - 801fcee: 681a ldr r2, [r3, #0] - 801fcf0: f8d7 30a0 ldr.w r3, [r7, #160] - 801fcf4: ea4f 0383 mov.w r3, r3, lsl #2 - 801fcf8: 4413 add r3, r2 - 801fcfa: 681b ldr r3, [r3, #0] - 801fcfc: 4618 mov r0, r3 - 801fcfe: f7f6 f9fb bl 80160f8 <_ZN11SharpSensor11updateValueEv> - AnalogSensor::startConversion(); - - // - - //allumerLED2(); - for (int i = 0; i < SharpSensor::END_SHARP_NAME; i++) // update tous les sharps - 801fd02: f8d7 30a0 ldr.w r3, [r7, #160] - 801fd06: f103 0301 add.w r3, r3, #1 ; 0x1 - 801fd0a: f8c7 30a0 str.w r3, [r7, #160] - 801fd0e: f8d7 30a0 ldr.w r3, [r7, #160] - 801fd12: 2b05 cmp r3, #5 - 801fd14: dde9 ble.n 801fcea <_ZN11StrategieV26updateEv+0xa2> - { - sharps[i]->updateValue(); - } - //sharps[9]->updateValue(); - bool allume = false; - 801fd16: f04f 0300 mov.w r3, #0 ; 0x0 - 801fd1a: f887 309f strb.w r3, [r7, #159] - for (int i = 0; i < SharpSensor::END_SHARP_NAME; i++) - 801fd1e: f04f 0300 mov.w r3, #0 ; 0x0 - 801fd22: f8c7 30a4 str.w r3, [r7, #164] - 801fd26: e038 b.n 801fd9a <_ZN11StrategieV26updateEv+0x152> - { - if (sharpsToCheck[i] && !tourneSurSoiMeme) - 801fd28: f8d7 30a4 ldr.w r3, [r7, #164] - 801fd2c: f8df 24f0 ldr.w r2, [pc, #1264] ; 8020220 <_ZN11StrategieV26updateEv+0x5d8> - 801fd30: 5cd3 ldrb r3, [r2, r3] - 801fd32: 2b00 cmp r3, #0 - 801fd34: d02b beq.n 801fd8e <_ZN11StrategieV26updateEv+0x146> - 801fd36: f8df 34ec ldr.w r3, [pc, #1260] ; 8020224 <_ZN11StrategieV26updateEv+0x5dc> - 801fd3a: 781b ldrb r3, [r3, #0] - 801fd3c: f083 0301 eor.w r3, r3, #1 ; 0x1 - 801fd40: b2db uxtb r3, r3 - 801fd42: 2b00 cmp r3, #0 - 801fd44: d023 beq.n 801fd8e <_ZN11StrategieV26updateEv+0x146> - { - if (sharps[i]->getValue().b) - 801fd46: f8df 34d4 ldr.w r3, [pc, #1236] ; 802021c <_ZN11StrategieV26updateEv+0x5d4> - 801fd4a: 681a ldr r2, [r3, #0] - 801fd4c: f8d7 30a4 ldr.w r3, [r7, #164] - 801fd50: ea4f 0383 mov.w r3, r3, lsl #2 - 801fd54: 4413 add r3, r2 - 801fd56: 681b ldr r3, [r3, #0] - 801fd58: 681b ldr r3, [r3, #0] - 801fd5a: f103 0308 add.w r3, r3, #8 ; 0x8 - 801fd5e: f8d3 c000 ldr.w ip, [r3] - 801fd62: f8df 34b8 ldr.w r3, [pc, #1208] ; 802021c <_ZN11StrategieV26updateEv+0x5d4> - 801fd66: 681a ldr r2, [r3, #0] - 801fd68: f8d7 30a4 ldr.w r3, [r7, #164] - 801fd6c: ea4f 0383 mov.w r3, r3, lsl #2 - 801fd70: 4413 add r3, r2 - 801fd72: 681a ldr r2, [r3, #0] - 801fd74: f107 0360 add.w r3, r7, #96 ; 0x60 - 801fd78: 4618 mov r0, r3 - 801fd7a: 4611 mov r1, r2 - 801fd7c: 47e0 blx ip - 801fd7e: f897 3068 ldrb.w r3, [r7, #104] - 801fd82: 2b00 cmp r3, #0 - 801fd84: d003 beq.n 801fd8e <_ZN11StrategieV26updateEv+0x146> - { - allume = true; - 801fd86: f04f 0301 mov.w r3, #1 ; 0x1 - 801fd8a: f887 309f strb.w r3, [r7, #159] - { - sharps[i]->updateValue(); - } - //sharps[9]->updateValue(); - bool allume = false; - for (int i = 0; i < SharpSensor::END_SHARP_NAME; i++) - 801fd8e: f8d7 30a4 ldr.w r3, [r7, #164] - 801fd92: f103 0301 add.w r3, r3, #1 ; 0x1 - 801fd96: f8c7 30a4 str.w r3, [r7, #164] - 801fd9a: f8d7 30a4 ldr.w r3, [r7, #164] - 801fd9e: 2b05 cmp r3, #5 - 801fda0: ddc2 ble.n 801fd28 <_ZN11StrategieV26updateEv+0xe0> - allume = true; - } - } - } - - float values[10] = {0}; - 801fda2: f107 011c add.w r1, r7, #28 ; 0x1c - 801fda6: 60b9 str r1, [r7, #8] - 801fda8: f04f 0300 mov.w r3, #0 ; 0x0 - 801fdac: 68ba ldr r2, [r7, #8] - 801fdae: 6013 str r3, [r2, #0] - 801fdb0: 68bb ldr r3, [r7, #8] - 801fdb2: f103 0304 add.w r3, r3, #4 ; 0x4 - 801fdb6: 60bb str r3, [r7, #8] - 801fdb8: f04f 0300 mov.w r3, #0 ; 0x0 - 801fdbc: 68b9 ldr r1, [r7, #8] - 801fdbe: 600b str r3, [r1, #0] - 801fdc0: 68ba ldr r2, [r7, #8] - 801fdc2: f102 0204 add.w r2, r2, #4 ; 0x4 - 801fdc6: 60ba str r2, [r7, #8] - 801fdc8: f04f 0300 mov.w r3, #0 ; 0x0 - 801fdcc: 68b9 ldr r1, [r7, #8] - 801fdce: 600b str r3, [r1, #0] - 801fdd0: 68ba ldr r2, [r7, #8] - 801fdd2: f102 0204 add.w r2, r2, #4 ; 0x4 - 801fdd6: 60ba str r2, [r7, #8] - 801fdd8: f04f 0300 mov.w r3, #0 ; 0x0 - 801fddc: 68b9 ldr r1, [r7, #8] - 801fdde: 600b str r3, [r1, #0] - 801fde0: 68ba ldr r2, [r7, #8] - 801fde2: f102 0204 add.w r2, r2, #4 ; 0x4 - 801fde6: 60ba str r2, [r7, #8] - 801fde8: f04f 0300 mov.w r3, #0 ; 0x0 - 801fdec: 68b9 ldr r1, [r7, #8] - 801fdee: 600b str r3, [r1, #0] - 801fdf0: 68ba ldr r2, [r7, #8] - 801fdf2: f102 0204 add.w r2, r2, #4 ; 0x4 - 801fdf6: 60ba str r2, [r7, #8] - 801fdf8: f04f 0300 mov.w r3, #0 ; 0x0 - 801fdfc: 68b9 ldr r1, [r7, #8] - 801fdfe: 600b str r3, [r1, #0] - 801fe00: 68ba ldr r2, [r7, #8] - 801fe02: f102 0204 add.w r2, r2, #4 ; 0x4 - 801fe06: 60ba str r2, [r7, #8] - 801fe08: f04f 0300 mov.w r3, #0 ; 0x0 - 801fe0c: 68b9 ldr r1, [r7, #8] - 801fe0e: 600b str r3, [r1, #0] - 801fe10: 68ba ldr r2, [r7, #8] - 801fe12: f102 0204 add.w r2, r2, #4 ; 0x4 - 801fe16: 60ba str r2, [r7, #8] - 801fe18: f04f 0300 mov.w r3, #0 ; 0x0 - 801fe1c: 68b9 ldr r1, [r7, #8] - 801fe1e: 600b str r3, [r1, #0] - 801fe20: 68ba ldr r2, [r7, #8] - 801fe22: f102 0204 add.w r2, r2, #4 ; 0x4 - 801fe26: 60ba str r2, [r7, #8] - 801fe28: f04f 0300 mov.w r3, #0 ; 0x0 - 801fe2c: 68b9 ldr r1, [r7, #8] - 801fe2e: 600b str r3, [r1, #0] - 801fe30: 68ba ldr r2, [r7, #8] - 801fe32: f102 0204 add.w r2, r2, #4 ; 0x4 - 801fe36: 60ba str r2, [r7, #8] - 801fe38: f04f 0300 mov.w r3, #0 ; 0x0 - 801fe3c: 68b9 ldr r1, [r7, #8] - 801fe3e: 600b str r3, [r1, #0] - 801fe40: 68ba ldr r2, [r7, #8] - 801fe42: f102 0204 add.w r2, r2, #4 ; 0x4 - bool detected[10] = {false}; - 801fe46: f107 0356 add.w r3, r7, #86 ; 0x56 - 801fe4a: 607b str r3, [r7, #4] - 801fe4c: f04f 0300 mov.w r3, #0 ; 0x0 - 801fe50: 6879 ldr r1, [r7, #4] - 801fe52: 800b strh r3, [r1, #0] - 801fe54: 687a ldr r2, [r7, #4] - 801fe56: f102 0202 add.w r2, r2, #2 ; 0x2 - 801fe5a: 607a str r2, [r7, #4] - 801fe5c: f04f 0300 mov.w r3, #0 ; 0x0 - 801fe60: 6879 ldr r1, [r7, #4] - 801fe62: 800b strh r3, [r1, #0] - 801fe64: 687a ldr r2, [r7, #4] - 801fe66: f102 0202 add.w r2, r2, #2 ; 0x2 - 801fe6a: 607a str r2, [r7, #4] - 801fe6c: f04f 0300 mov.w r3, #0 ; 0x0 - 801fe70: 6879 ldr r1, [r7, #4] - 801fe72: 800b strh r3, [r1, #0] - 801fe74: 687a ldr r2, [r7, #4] - 801fe76: f102 0202 add.w r2, r2, #2 ; 0x2 - 801fe7a: 607a str r2, [r7, #4] - 801fe7c: f04f 0300 mov.w r3, #0 ; 0x0 - 801fe80: 6879 ldr r1, [r7, #4] - 801fe82: 800b strh r3, [r1, #0] - 801fe84: 687a ldr r2, [r7, #4] - 801fe86: f102 0202 add.w r2, r2, #2 ; 0x2 - 801fe8a: 607a str r2, [r7, #4] - 801fe8c: f04f 0300 mov.w r3, #0 ; 0x0 - 801fe90: 6879 ldr r1, [r7, #4] - 801fe92: 800b strh r3, [r1, #0] - 801fe94: 687a ldr r2, [r7, #4] - 801fe96: f102 0202 add.w r2, r2, #2 ; 0x2 - - //allumerLED2(); - for (int i = 0; i < 8; i++) - 801fe9a: f04f 0300 mov.w r3, #0 ; 0x0 - 801fe9e: f8c7 30a8 str.w r3, [r7, #168] - 801fea2: e04d b.n 801ff40 <_ZN11StrategieV26updateEv+0x2f8> - { - values[i] = sharps[i]->getValue().f; - 801fea4: f8d7 40a8 ldr.w r4, [r7, #168] - 801fea8: 4bdc ldr r3, [pc, #880] (802021c <_ZN11StrategieV26updateEv+0x5d4>) - 801feaa: 681a ldr r2, [r3, #0] - 801feac: f8d7 30a8 ldr.w r3, [r7, #168] - 801feb0: ea4f 0383 mov.w r3, r3, lsl #2 - 801feb4: 4413 add r3, r2 - 801feb6: 681b ldr r3, [r3, #0] - 801feb8: 681b ldr r3, [r3, #0] - 801feba: f103 0308 add.w r3, r3, #8 ; 0x8 - 801febe: f8d3 c000 ldr.w ip, [r3] - 801fec2: 4bd6 ldr r3, [pc, #856] (802021c <_ZN11StrategieV26updateEv+0x5d4>) - 801fec4: 681a ldr r2, [r3, #0] - 801fec6: f8d7 30a8 ldr.w r3, [r7, #168] - 801feca: ea4f 0383 mov.w r3, r3, lsl #2 - 801fece: 4413 add r3, r2 - 801fed0: 681a ldr r2, [r3, #0] - 801fed2: f107 036c add.w r3, r7, #108 ; 0x6c - 801fed6: 4618 mov r0, r3 - 801fed8: 4611 mov r1, r2 - 801feda: 47e0 blx ip - 801fedc: 6f3a ldr r2, [r7, #112] - 801fede: ea4f 0384 mov.w r3, r4, lsl #2 - 801fee2: f107 01b0 add.w r1, r7, #176 ; 0xb0 - 801fee6: 440b add r3, r1 - 801fee8: f843 2c94 str.w r2, [r3, #-148] - detected[i] = sharps[i]->getValue().b; - 801feec: f8d7 40a8 ldr.w r4, [r7, #168] - 801fef0: 4bca ldr r3, [pc, #808] (802021c <_ZN11StrategieV26updateEv+0x5d4>) - 801fef2: 681a ldr r2, [r3, #0] - 801fef4: f8d7 30a8 ldr.w r3, [r7, #168] - 801fef8: ea4f 0383 mov.w r3, r3, lsl #2 - 801fefc: 4413 add r3, r2 - 801fefe: 681b ldr r3, [r3, #0] - 801ff00: 681b ldr r3, [r3, #0] - 801ff02: f103 0308 add.w r3, r3, #8 ; 0x8 - 801ff06: f8d3 c000 ldr.w ip, [r3] - 801ff0a: 4bc4 ldr r3, [pc, #784] (802021c <_ZN11StrategieV26updateEv+0x5d4>) - 801ff0c: 681a ldr r2, [r3, #0] - 801ff0e: f8d7 30a8 ldr.w r3, [r7, #168] - 801ff12: ea4f 0383 mov.w r3, r3, lsl #2 - 801ff16: 4413 add r3, r2 - 801ff18: 681a ldr r2, [r3, #0] - 801ff1a: f107 0378 add.w r3, r7, #120 ; 0x78 - 801ff1e: 4618 mov r0, r3 - 801ff20: 4611 mov r1, r2 - 801ff22: 47e0 blx ip - 801ff24: f897 3080 ldrb.w r3, [r7, #128] - 801ff28: f107 01b0 add.w r1, r7, #176 ; 0xb0 - 801ff2c: eb01 0204 add.w r2, r1, r4 - 801ff30: f802 3c5a strb.w r3, [r2, #-90] - - float values[10] = {0}; - bool detected[10] = {false}; - - //allumerLED2(); - for (int i = 0; i < 8; i++) - 801ff34: f8d7 30a8 ldr.w r3, [r7, #168] - 801ff38: f103 0301 add.w r3, r3, #1 ; 0x1 - 801ff3c: f8c7 30a8 str.w r3, [r7, #168] - 801ff40: f8d7 30a8 ldr.w r3, [r7, #168] - 801ff44: 2b07 cmp r3, #7 - 801ff46: ddad ble.n 801fea4 <_ZN11StrategieV26updateEv+0x25c> - //if (sharps[9]->getValue().b) - //{ - //allume = true; - //} - - Remote::getSingleton()->update(); - 801ff48: f7f5 fe80 bl 8015c4c <_ZN6Remote12getSingletonEv> - 801ff4c: 4603 mov r3, r0 - 801ff4e: 4618 mov r0, r3 - 801ff50: f04f 0100 mov.w r1, #0 ; 0x0 - 801ff54: f7f5 fed2 bl 8015cfc <_ZN6Remote6updateEb> - - if (Remote::getSingleton()->isRemoteMode()) - 801ff58: f7f5 fe78 bl 8015c4c <_ZN6Remote12getSingletonEv> - 801ff5c: 4603 mov r3, r0 - 801ff5e: 4618 mov r0, r3 - 801ff60: f7f5 fd48 bl 80159f4 <_ZN6Remote12isRemoteModeEv> - 801ff64: 4603 mov r3, r0 - 801ff66: 2b00 cmp r3, #0 - 801ff68: d008 beq.n 801ff7c <_ZN11StrategieV26updateEv+0x334> - { - updateCount = 10; - 801ff6a: 4aa8 ldr r2, [pc, #672] (802020c <_ZN11StrategieV26updateEv+0x5c4>) - 801ff6c: f04f 030a mov.w r3, #10 ; 0xa - 801ff70: 6013 str r3, [r2, #0] - Led::setOff(1); - 801ff72: f04f 0001 mov.w r0, #1 ; 0x1 - 801ff76: f7f4 fff7 bl 8014f68 <_ZN3Led6setOffEi> - 801ff7a: e0b3 b.n 80200e4 <_ZN11StrategieV26updateEv+0x49c> - } - else - { - Led::setOn(1); - 801ff7c: f04f 0001 mov.w r0, #1 ; 0x1 - 801ff80: f7f5 f824 bl 8014fcc <_ZN3Led5setOnEi> - - if (allume) - 801ff84: f897 309f ldrb.w r3, [r7, #159] - 801ff88: 2b00 cmp r3, #0 - 801ff8a: d00e beq.n 801ffaa <_ZN11StrategieV26updateEv+0x362> - { - Asservissement::asservissement->setCommandSpeeds(NULL); - 801ff8c: 4ba1 ldr r3, [pc, #644] (8020214 <_ZN11StrategieV26updateEv+0x5cc>) - 801ff8e: 681b ldr r3, [r3, #0] - 801ff90: 4618 mov r0, r3 - 801ff92: f04f 0100 mov.w r1, #0 ; 0x0 - 801ff96: f7f0 fac7 bl 8010528 <_ZN14Asservissement16setCommandSpeedsEP7Command> - Asservissement::asservissement->update(); - 801ff9a: 4b9e ldr r3, [pc, #632] (8020214 <_ZN11StrategieV26updateEv+0x5cc>) - 801ff9c: 681b ldr r3, [r3, #0] - 801ff9e: 4618 mov r0, r3 - 801ffa0: f7f0 fc30 bl 8010804 <_ZN14Asservissement6updateEv> - allumerLED2(); - 801ffa4: f7f5 f850 bl 8015048 <_Z11allumerLED2v> - 801ffa8: e001 b.n 801ffae <_ZN11StrategieV26updateEv+0x366> - } - else - { - eteindreLED2(); - 801ffaa: f7f4 ffff bl 8014fac <_Z12eteindreLED2v> - - //allumerLED2(); - - //allume = true;//(updateCount%30==0); - //allume = false; - if(timeToRestart) - 801ffae: 4b9e ldr r3, [pc, #632] (8020228 <_ZN11StrategieV26updateEv+0x5e0>) - 801ffb0: 681b ldr r3, [r3, #0] - 801ffb2: 2b00 cmp r3, #0 - 801ffb4: d005 beq.n 801ffc2 <_ZN11StrategieV26updateEv+0x37a> - { - timeToRestart--; - 801ffb6: 4b9c ldr r3, [pc, #624] (8020228 <_ZN11StrategieV26updateEv+0x5e0>) - 801ffb8: 681b ldr r3, [r3, #0] - 801ffba: f103 32ff add.w r2, r3, #4294967295 ; 0xffffffff - 801ffbe: 4b9a ldr r3, [pc, #616] (8020228 <_ZN11StrategieV26updateEv+0x5e0>) - 801ffc0: 601a str r2, [r3, #0] - } - if(timeToRestart == 1)//Dernière boucle d'évitement avant de repartir - 801ffc2: 4b99 ldr r3, [pc, #612] (8020228 <_ZN11StrategieV26updateEv+0x5e0>) - 801ffc4: 681b ldr r3, [r3, #0] - 801ffc6: 2b01 cmp r3, #1 - 801ffc8: d169 bne.n 802009e <_ZN11StrategieV26updateEv+0x456> - { - if (currentAction) - 801ffca: 4b91 ldr r3, [pc, #580] (8020210 <_ZN11StrategieV26updateEv+0x5c8>) - 801ffcc: 681b ldr r3, [r3, #0] - 801ffce: 2b00 cmp r3, #0 - 801ffd0: d05e beq.n 8020090 <_ZN11StrategieV26updateEv+0x448> - { - //Pour changer de trajectoire, décommenter les lignes suivantes - currentAction->collisionAvoided(); - 801ffd2: 4b8f ldr r3, [pc, #572] (8020210 <_ZN11StrategieV26updateEv+0x5c8>) - 801ffd4: 681b ldr r3, [r3, #0] - 801ffd6: 681b ldr r3, [r3, #0] - 801ffd8: f103 0310 add.w r3, r3, #16 ; 0x10 - 801ffdc: 681a ldr r2, [r3, #0] - 801ffde: 4b8c ldr r3, [pc, #560] (8020210 <_ZN11StrategieV26updateEv+0x5c8>) - 801ffe0: 681b ldr r3, [r3, #0] - 801ffe2: 4618 mov r0, r3 - 801ffe4: 4790 blx r2 - actionsToDo[actionsCount]->collisionAvoided(); - 801ffe6: 4b8c ldr r3, [pc, #560] (8020218 <_ZN11StrategieV26updateEv+0x5d0>) - 801ffe8: 681a ldr r2, [r3, #0] - 801ffea: 4b90 ldr r3, [pc, #576] (802022c <_ZN11StrategieV26updateEv+0x5e4>) - 801ffec: f853 3022 ldr.w r3, [r3, r2, lsl #2] - 801fff0: 681b ldr r3, [r3, #0] - 801fff2: f103 0310 add.w r3, r3, #16 ; 0x10 - 801fff6: 6819 ldr r1, [r3, #0] - 801fff8: 4b87 ldr r3, [pc, #540] (8020218 <_ZN11StrategieV26updateEv+0x5d0>) - 801fffa: 681a ldr r2, [r3, #0] - 801fffc: 4b8b ldr r3, [pc, #556] (802022c <_ZN11StrategieV26updateEv+0x5e4>) - 801fffe: f853 3022 ldr.w r3, [r3, r2, lsl #2] - 8020002: 4618 mov r0, r3 - 8020004: 4788 blx r1 - //currentCommand->collisionAvoided(); - currentAction->update(); - 8020006: 4b82 ldr r3, [pc, #520] (8020210 <_ZN11StrategieV26updateEv+0x5c8>) - 8020008: 681b ldr r3, [r3, #0] - 802000a: 681b ldr r3, [r3, #0] - 802000c: f103 0308 add.w r3, r3, #8 ; 0x8 - 8020010: 681a ldr r2, [r3, #0] - 8020012: 4b7f ldr r3, [pc, #508] (8020210 <_ZN11StrategieV26updateEv+0x5c8>) - 8020014: 681b ldr r3, [r3, #0] - 8020016: 4618 mov r0, r3 - 8020018: 4790 blx r2 - Position pos = Odometrie::odometrie->getPos().getPosition(); - 802001a: 4b85 ldr r3, [pc, #532] (8020230 <_ZN11StrategieV26updateEv+0x5e8>) - 802001c: 681a ldr r2, [r3, #0] - 802001e: f107 0384 add.w r3, r7, #132 ; 0x84 - 8020022: 4618 mov r0, r3 - 8020024: 4611 mov r1, r2 - 8020026: f7f2 fdbb bl 8012ba0 <_ZNK9Odometrie6getPosEv> - 802002a: f107 034c add.w r3, r7, #76 ; 0x4c - 802002e: f107 0284 add.w r2, r7, #132 ; 0x84 - 8020032: 4618 mov r0, r3 - 8020034: 4611 mov r1, r2 - 8020036: f7f7 fe09 bl 8017c4c <_ZNK17PositionPlusAngle11getPositionEv> - addTemporaryAction(new ActionGoTo(pos, true)); - 802003a: f04f 0030 mov.w r0, #48 ; 0x30 - 802003e: f7f7 fa3f bl 80174c0 <_Znwj> - 8020042: 4603 mov r3, r0 - 8020044: 60fb str r3, [r7, #12] - 8020046: 68fa ldr r2, [r7, #12] - 8020048: 2a00 cmp r2, #0 - 802004a: d00d beq.n 8020068 <_ZN11StrategieV26updateEv+0x420> - 802004c: 4b79 ldr r3, [pc, #484] (8020234 <_ZN11StrategieV26updateEv+0x5ec>) - 802004e: 9300 str r3, [sp, #0] - 8020050: 68f8 ldr r0, [r7, #12] - 8020052: f107 034c add.w r3, r7, #76 ; 0x4c - 8020056: e893 0006 ldmia.w r3, {r1, r2} - 802005a: f04f 0301 mov.w r3, #1 ; 0x1 - 802005e: f7f8 f8df bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 8020062: 68fb ldr r3, [r7, #12] - 8020064: 613b str r3, [r7, #16] - 8020066: e001 b.n 802006c <_ZN11StrategieV26updateEv+0x424> - 8020068: 68f9 ldr r1, [r7, #12] - 802006a: 6139 str r1, [r7, #16] - 802006c: 693b ldr r3, [r7, #16] - 802006e: 4618 mov r0, r3 - 8020070: f7ff fb42 bl 801f6f8 <_ZN11StrategieV218addTemporaryActionEP17MediumLevelAction> - - //On arrête le robot - if (currentCommand) - 8020074: 4b70 ldr r3, [pc, #448] (8020238 <_ZN11StrategieV26updateEv+0x5f0>) - 8020076: 681b ldr r3, [r3, #0] - 8020078: 2b00 cmp r3, #0 - 802007a: d009 beq.n 8020090 <_ZN11StrategieV26updateEv+0x448> - currentCommand->resetSpeeds(); - 802007c: 4b6e ldr r3, [pc, #440] (8020238 <_ZN11StrategieV26updateEv+0x5f0>) - 802007e: 681b ldr r3, [r3, #0] - 8020080: 681b ldr r3, [r3, #0] - 8020082: f103 030c add.w r3, r3, #12 ; 0xc - 8020086: 681a ldr r2, [r3, #0] - 8020088: 4b6b ldr r3, [pc, #428] (8020238 <_ZN11StrategieV26updateEv+0x5f0>) - 802008a: 681b ldr r3, [r3, #0] - 802008c: 4618 mov r0, r3 - 802008e: 4790 blx r2 - } - timeToRestart--; - 8020090: 4b65 ldr r3, [pc, #404] (8020228 <_ZN11StrategieV26updateEv+0x5e0>) - 8020092: 681b ldr r3, [r3, #0] - 8020094: f103 32ff add.w r2, r3, #4294967295 ; 0xffffffff - 8020098: 4b63 ldr r3, [pc, #396] (8020228 <_ZN11StrategieV26updateEv+0x5e0>) - 802009a: 601a str r2, [r3, #0] - 802009c: e022 b.n 80200e4 <_ZN11StrategieV26updateEv+0x49c> - } - - else if (allume || timeToRestart) // Si un des sharp voit un adversaire, ou qu'on doit être arrêté suite à une détection - 802009e: f897 309f ldrb.w r3, [r7, #159] - 80200a2: 2b00 cmp r3, #0 - 80200a4: d103 bne.n 80200ae <_ZN11StrategieV26updateEv+0x466> - 80200a6: 4b60 ldr r3, [pc, #384] (8020228 <_ZN11StrategieV26updateEv+0x5e0>) - 80200a8: 681b ldr r3, [r3, #0] - 80200aa: 2b00 cmp r3, #0 - 80200ac: d01a beq.n 80200e4 <_ZN11StrategieV26updateEv+0x49c> - { - if(!timeToRestart)//Début de l'évitement - 80200ae: 4b5e ldr r3, [pc, #376] (8020228 <_ZN11StrategieV26updateEv+0x5e0>) - 80200b0: 681b ldr r3, [r3, #0] - 80200b2: 2b00 cmp r3, #0 - 80200b4: d10f bne.n 80200d6 <_ZN11StrategieV26updateEv+0x48e> - { - timeToRestart = 400; - 80200b6: 4a5c ldr r2, [pc, #368] (8020228 <_ZN11StrategieV26updateEv+0x5e0>) - 80200b8: f44f 73c8 mov.w r3, #400 ; 0x190 - 80200bc: 6013 str r3, [r2, #0] - hasJustAvoided = true; - 80200be: 4a5f ldr r2, [pc, #380] (802023c <_ZN11StrategieV26updateEv+0x5f4>) - 80200c0: f04f 0301 mov.w r3, #1 ; 0x1 - 80200c4: 7013 strb r3, [r2, #0] - -// if (true) // if (canStillDoAction) -// { - -// } - hasJustAvoided = false; - 80200c6: 4a5d ldr r2, [pc, #372] (802023c <_ZN11StrategieV26updateEv+0x5f4>) - 80200c8: f04f 0300 mov.w r3, #0 ; 0x0 - 80200cc: 7013 strb r3, [r2, #0] - somethingDetected = false; - 80200ce: 4a5c ldr r2, [pc, #368] (8020240 <_ZN11StrategieV26updateEv+0x5f8>) - 80200d0: f04f 0300 mov.w r3, #0 ; 0x0 - 80200d4: 7013 strb r3, [r2, #0] - // tentative d'évitement : - //Position pos = Odometrie::odometrie->getPos().getPosition(); - //addTemporaryAction(new ActionGoTo(pos, true)); - - } - Asservissement::asservissement->setCommandSpeeds(NULL); - 80200d6: 4b4f ldr r3, [pc, #316] (8020214 <_ZN11StrategieV26updateEv+0x5cc>) - 80200d8: 681b ldr r3, [r3, #0] - 80200da: 4618 mov r0, r3 - 80200dc: f04f 0100 mov.w r1, #0 ; 0x0 - 80200e0: f7f0 fa22 bl 8010528 <_ZN14Asservissement16setCommandSpeedsEP7Command> - //std::cout << robotBloque << "\n"; - }*/ - -// else -// robotBloque = 0; - if (currentAction->update() == -1 || (robotBloque > 50))// && !enTrainDeRecalibrerOdometrie)) - 80200e4: 4b4a ldr r3, [pc, #296] (8020210 <_ZN11StrategieV26updateEv+0x5c8>) - 80200e6: 681b ldr r3, [r3, #0] - 80200e8: 681b ldr r3, [r3, #0] - 80200ea: f103 0308 add.w r3, r3, #8 ; 0x8 - 80200ee: 681a ldr r2, [r3, #0] - 80200f0: 4b47 ldr r3, [pc, #284] (8020210 <_ZN11StrategieV26updateEv+0x5c8>) - 80200f2: 681b ldr r3, [r3, #0] - 80200f4: 4618 mov r0, r3 - 80200f6: 4790 blx r2 - 80200f8: 4603 mov r3, r0 - 80200fa: f1b3 3fff cmp.w r3, #4294967295 ; 0xffffffff - 80200fe: d003 beq.n 8020108 <_ZN11StrategieV26updateEv+0x4c0> - 8020100: 4b50 ldr r3, [pc, #320] (8020244 <_ZN11StrategieV26updateEv+0x5fc>) - 8020102: 681b ldr r3, [r3, #0] - 8020104: 2b32 cmp r3, #50 - 8020106: dd03 ble.n 8020110 <_ZN11StrategieV26updateEv+0x4c8> - 8020108: f04f 0201 mov.w r2, #1 ; 0x1 - 802010c: 617a str r2, [r7, #20] - 802010e: e002 b.n 8020116 <_ZN11StrategieV26updateEv+0x4ce> - 8020110: f04f 0300 mov.w r3, #0 ; 0x0 - 8020114: 617b str r3, [r7, #20] - 8020116: 697b ldr r3, [r7, #20] - 8020118: 2b00 cmp r3, #0 - 802011a: d056 beq.n 80201ca <_ZN11StrategieV26updateEv+0x582> - { - if (robotBloque > 1000) // si le robot est bloqué 2 secondes - 802011c: 4b49 ldr r3, [pc, #292] (8020244 <_ZN11StrategieV26updateEv+0x5fc>) - 802011e: 681b ldr r3, [r3, #0] - 8020120: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 - 8020124: dd14 ble.n 8020150 <_ZN11StrategieV26updateEv+0x508> - { - // on recule de 20 cm - Asservissement::asservissement->setCommandSpeeds(NULL); - 8020126: 4b3b ldr r3, [pc, #236] (8020214 <_ZN11StrategieV26updateEv+0x5cc>) - 8020128: 681b ldr r3, [r3, #0] - 802012a: 4618 mov r0, r3 - 802012c: f04f 0100 mov.w r1, #0 ; 0x0 - 8020130: f7f0 f9fa bl 8010528 <_ZN14Asservissement16setCommandSpeedsEP7Command> - currentCommand = NULL; - 8020134: 4a40 ldr r2, [pc, #256] (8020238 <_ZN11StrategieV26updateEv+0x5f0>) - 8020136: f04f 0300 mov.w r3, #0 ; 0x0 - 802013a: 6013 str r3, [r2, #0] - actionsCount = 2; - 802013c: 4a36 ldr r2, [pc, #216] (8020218 <_ZN11StrategieV26updateEv+0x5d0>) - 802013e: f04f 0302 mov.w r3, #2 ; 0x2 - 8020142: 6013 str r3, [r2, #0] - bool mustGoBack = true; - 8020144: f04f 0301 mov.w r3, #1 ; 0x1 - 8020148: f887 30af strb.w r3, [r7, #175] - allumerLED(); - 802014c: f7f4 ff84 bl 8015058 <_Z10allumerLEDv> - //StrategieV2::addTemporaryAction(new ActionGoTo(Odometrie::odometrie->getPos().getPosition(), mustGoBack)); - } - robotBloque = 0; - 8020150: 4a3c ldr r2, [pc, #240] (8020244 <_ZN11StrategieV26updateEv+0x5fc>) - 8020152: f04f 0300 mov.w r3, #0 ; 0x0 - 8020156: 6013 str r3, [r2, #0] - //std::cout << "Changing action" << std::endl; - Position currentPos = Odometrie::odometrie->getPos().getPosition(); - 8020158: 4b35 ldr r3, [pc, #212] (8020230 <_ZN11StrategieV26updateEv+0x5e8>) - 802015a: 681a ldr r2, [r3, #0] - 802015c: f107 0390 add.w r3, r7, #144 ; 0x90 - 8020160: 4618 mov r0, r3 - 8020162: 4611 mov r1, r2 - 8020164: f7f2 fd1c bl 8012ba0 <_ZNK9Odometrie6getPosEv> - 8020168: f107 0344 add.w r3, r7, #68 ; 0x44 - 802016c: f107 0290 add.w r2, r7, #144 ; 0x90 - 8020170: 4618 mov r0, r3 - 8020172: 4611 mov r1, r2 - 8020174: f7f7 fd6a bl 8017c4c <_ZNK17PositionPlusAngle11getPositionEv> - mustDeleteAction = true; - timeSinceLastRecalibration++; - }*/ - //else - //{ - if (mustDeleteAction) // temporary action - 8020178: 4b33 ldr r3, [pc, #204] (8020248 <_ZN11StrategieV26updateEv+0x600>) - 802017a: 781b ldrb r3, [r3, #0] - 802017c: 2b00 cmp r3, #0 - 802017e: d004 beq.n 802018a <_ZN11StrategieV26updateEv+0x542> - mustDeleteAction = false; - 8020180: 4b31 ldr r3, [pc, #196] (8020248 <_ZN11StrategieV26updateEv+0x600>) - 8020182: f04f 0200 mov.w r2, #0 ; 0x0 - 8020186: 701a strb r2, [r3, #0] - 8020188: e005 b.n 8020196 <_ZN11StrategieV26updateEv+0x54e> - else - actionsCount++; - 802018a: 4b23 ldr r3, [pc, #140] (8020218 <_ZN11StrategieV26updateEv+0x5d0>) - 802018c: 681b ldr r3, [r3, #0] - 802018e: f103 0201 add.w r2, r3, #1 ; 0x1 - 8020192: 4b21 ldr r3, [pc, #132] (8020218 <_ZN11StrategieV26updateEv+0x5d0>) - 8020194: 601a str r2, [r3, #0] - - - if (actionsCount == 2) - 8020196: 4b20 ldr r3, [pc, #128] (8020218 <_ZN11StrategieV26updateEv+0x5d0>) - 8020198: 681b ldr r3, [r3, #0] - 802019a: 2b02 cmp r3, #2 - 802019c: d10e bne.n 80201bc <_ZN11StrategieV26updateEv+0x574> - { - currentCommand = NULL; - 802019e: 4a26 ldr r2, [pc, #152] (8020238 <_ZN11StrategieV26updateEv+0x5f0>) - 80201a0: f04f 0300 mov.w r3, #0 ; 0x0 - 80201a4: 6013 str r3, [r2, #0] - Asservissement::asservissement->setCommandSpeeds(NULL); - 80201a6: 4b1b ldr r3, [pc, #108] (8020214 <_ZN11StrategieV26updateEv+0x5cc>) - 80201a8: 681b ldr r3, [r3, #0] - 80201aa: 4618 mov r0, r3 - 80201ac: f04f 0100 mov.w r1, #0 ; 0x0 - 80201b0: f7f0 f9ba bl 8010528 <_ZN14Asservissement16setCommandSpeedsEP7Command> - updateCount = 170000;//17000; - 80201b4: 4a15 ldr r2, [pc, #84] (802020c <_ZN11StrategieV26updateEv+0x5c4>) - 80201b6: 4b25 ldr r3, [pc, #148] (802024c <_ZN11StrategieV26updateEv+0x604>) - 80201b8: 6013 str r3, [r2, #0] - 80201ba: e020 b.n 80201fe <_ZN11StrategieV26updateEv+0x5b6> - return; - } - else - { - currentAction = actionsToDo[actionsCount]; - 80201bc: 4b16 ldr r3, [pc, #88] (8020218 <_ZN11StrategieV26updateEv+0x5d0>) - 80201be: 681a ldr r2, [r3, #0] - 80201c0: 4b1a ldr r3, [pc, #104] (802022c <_ZN11StrategieV26updateEv+0x5e4>) - 80201c2: f853 2022 ldr.w r2, [r3, r2, lsl #2] - 80201c6: 4b12 ldr r3, [pc, #72] (8020210 <_ZN11StrategieV26updateEv+0x5c8>) - 80201c8: 601a str r2, [r3, #0] - //delete action; - //if (currentAction) - // currentAction->update(); - - } - if(!timeToRestart) - 80201ca: 4b17 ldr r3, [pc, #92] (8020228 <_ZN11StrategieV26updateEv+0x5e0>) - 80201cc: 681b ldr r3, [r3, #0] - 80201ce: 2b00 cmp r3, #0 - 80201d0: d115 bne.n 80201fe <_ZN11StrategieV26updateEv+0x5b6> - { - if (currentCommand) - 80201d2: 4b19 ldr r3, [pc, #100] (8020238 <_ZN11StrategieV26updateEv+0x5f0>) - 80201d4: 681b ldr r3, [r3, #0] - 80201d6: 2b00 cmp r3, #0 - 80201d8: d009 beq.n 80201ee <_ZN11StrategieV26updateEv+0x5a6> - currentCommand->update(); - 80201da: 4b17 ldr r3, [pc, #92] (8020238 <_ZN11StrategieV26updateEv+0x5f0>) - 80201dc: 681b ldr r3, [r3, #0] - 80201de: 681b ldr r3, [r3, #0] - 80201e0: f103 0308 add.w r3, r3, #8 ; 0x8 - 80201e4: 681a ldr r2, [r3, #0] - 80201e6: 4b14 ldr r3, [pc, #80] (8020238 <_ZN11StrategieV26updateEv+0x5f0>) - 80201e8: 681b ldr r3, [r3, #0] - 80201ea: 4618 mov r0, r3 - 80201ec: 4790 blx r2 - Asservissement::asservissement->setCommandSpeeds(currentCommand); - 80201ee: 4b09 ldr r3, [pc, #36] (8020214 <_ZN11StrategieV26updateEv+0x5cc>) - 80201f0: 681a ldr r2, [r3, #0] - 80201f2: 4b11 ldr r3, [pc, #68] (8020238 <_ZN11StrategieV26updateEv+0x5f0>) - 80201f4: 681b ldr r3, [r3, #0] - 80201f6: 4610 mov r0, r2 - 80201f8: 4619 mov r1, r3 - 80201fa: f7f0 f995 bl 8010528 <_ZN14Asservissement16setCommandSpeedsEP7Command> - } -// updateCount ++; - //eteindreLED2(); - //eteindreLED(); -} - 80201fe: f107 07b4 add.w r7, r7, #180 ; 0xb4 - 8020202: 46bd mov sp, r7 - 8020204: bd90 pop {r4, r7, pc} - 8020206: 46c0 nop (mov r8, r8) - 8020208: 200005c0 .word 0x200005c0 - 802020c: 200005c4 .word 0x200005c4 - 8020210: 200005cc .word 0x200005cc - 8020214: 20000580 .word 0x20000580 - 8020218: 200005d0 .word 0x200005d0 - 802021c: 20000654 .word 0x20000654 - 8020220: 20000666 .word 0x20000666 - 8020224: 2000067c .word 0x2000067c - 8020228: 20000680 .word 0x20000680 - 802022c: 200005d4 .word 0x200005d4 - 8020230: 20000590 .word 0x20000590 - 8020234: 41f00000 .word 0x41f00000 - 8020238: 200005c8 .word 0x200005c8 - 802023c: 20000659 .word 0x20000659 - 8020240: 20000664 .word 0x20000664 - 8020244: 2000066c .word 0x2000066c - 8020248: 2000065a .word 0x2000065a - 802024c: 00029810 .word 0x00029810 - -08020250 <_ZN11StrategieV2D0Ev>: -#endif - - updateCount = 0; -} - -StrategieV2::~StrategieV2() - 8020250: b580 push {r7, lr} - 8020252: b082 sub sp, #8 - 8020254: af00 add r7, sp, #0 - 8020256: 6078 str r0, [r7, #4] - 8020258: 687a ldr r2, [r7, #4] - 802025a: 4b08 ldr r3, [pc, #32] (802027c <_ZN11StrategieV2D0Ev+0x2c>) - 802025c: 6013 str r3, [r2, #0] -{ - //dtor -} - 802025e: f04f 0301 mov.w r3, #1 ; 0x1 - 8020262: b2db uxtb r3, r3 - 8020264: 2b00 cmp r3, #0 - 8020266: d002 beq.n 802026e <_ZN11StrategieV2D0Ev+0x1e> - 8020268: 6878 ldr r0, [r7, #4] - 802026a: f7f7 f9cf bl 801760c <_ZdlPv> - 802026e: 687b ldr r3, [r7, #4] - 8020270: 4618 mov r0, r3 - 8020272: f107 0708 add.w r7, r7, #8 ; 0x8 - 8020276: 46bd mov sp, r7 - 8020278: bd80 pop {r7, pc} - 802027a: 46c0 nop (mov r8, r8) - 802027c: 08034160 .word 0x08034160 - -08020280 <_ZN11StrategieV2D1Ev>: -#endif - - updateCount = 0; -} - -StrategieV2::~StrategieV2() - 8020280: b580 push {r7, lr} - 8020282: b082 sub sp, #8 - 8020284: af00 add r7, sp, #0 - 8020286: 6078 str r0, [r7, #4] - 8020288: 687a ldr r2, [r7, #4] - 802028a: 4b08 ldr r3, [pc, #32] (80202ac <_ZN11StrategieV2D1Ev+0x2c>) - 802028c: 6013 str r3, [r2, #0] -{ - //dtor -} - 802028e: f04f 0300 mov.w r3, #0 ; 0x0 - 8020292: b2db uxtb r3, r3 - 8020294: 2b00 cmp r3, #0 - 8020296: d002 beq.n 802029e <_ZN11StrategieV2D1Ev+0x1e> - 8020298: 6878 ldr r0, [r7, #4] - 802029a: f7f7 f9b7 bl 801760c <_ZdlPv> - 802029e: 687b ldr r3, [r7, #4] - 80202a0: 4618 mov r0, r3 - 80202a2: f107 0708 add.w r7, r7, #8 ; 0x8 - 80202a6: 46bd mov sp, r7 - 80202a8: bd80 pop {r7, pc} - 80202aa: 46c0 nop (mov r8, r8) - 80202ac: 08034160 .word 0x08034160 - -080202b0 <_ZN11StrategieV2D2Ev>: -#endif - - updateCount = 0; -} - -StrategieV2::~StrategieV2() - 80202b0: b580 push {r7, lr} - 80202b2: b082 sub sp, #8 - 80202b4: af00 add r7, sp, #0 - 80202b6: 6078 str r0, [r7, #4] - 80202b8: 687a ldr r2, [r7, #4] - 80202ba: 4b08 ldr r3, [pc, #32] (80202dc <_ZN11StrategieV2D2Ev+0x2c>) - 80202bc: 6013 str r3, [r2, #0] -{ - //dtor -} - 80202be: f04f 0300 mov.w r3, #0 ; 0x0 - 80202c2: b2db uxtb r3, r3 - 80202c4: 2b00 cmp r3, #0 - 80202c6: d002 beq.n 80202ce <_ZN11StrategieV2D2Ev+0x1e> - 80202c8: 6878 ldr r0, [r7, #4] - 80202ca: f7f7 f99f bl 801760c <_ZdlPv> - 80202ce: 687b ldr r3, [r7, #4] - 80202d0: 4618 mov r0, r3 - 80202d2: f107 0708 add.w r7, r7, #8 ; 0x8 - 80202d6: 46bd mov sp, r7 - 80202d8: bd80 pop {r7, pc} - 80202da: 46c0 nop (mov r8, r8) - 80202dc: 08034160 .word 0x08034160 - -080202e0 <_ZN11StrategieV2C1Eb>: -#ifdef ROBOTHW -Tourelle* StrategieV2::tourelle = NULL; -int StrategieV2::hysteresisTourelle = 0; -#endif - -StrategieV2::StrategieV2(bool blue) - 80202e0: b580 push {r7, lr} - 80202e2: b08c sub sp, #48 - 80202e4: af00 add r7, sp, #0 - 80202e6: 61f8 str r0, [r7, #28] - 80202e8: 460b mov r3, r1 - 80202ea: 76fb strb r3, [r7, #27] - 80202ec: 69fa ldr r2, [r7, #28] - 80202ee: 4b40 ldr r3, [pc, #256] (80203f0 <_ZN11StrategieV2C1Eb+0x110>) - 80202f0: 6013 str r3, [r2, #0] -{ - isBlue = blue; - 80202f2: 4a40 ldr r2, [pc, #256] (80203f4 <_ZN11StrategieV2C1Eb+0x114>) - 80202f4: 7efb ldrb r3, [r7, #27] - 80202f6: 7013 strb r3, [r2, #0] - timeToRestart = 0; - 80202f8: 4a3f ldr r2, [pc, #252] (80203f8 <_ZN11StrategieV2C1Eb+0x118>) - 80202fa: f04f 0300 mov.w r3, #0 ; 0x0 - 80202fe: 6013 str r3, [r2, #0] - actionsToDo[7] = new RamasserVerreV2(Position(1800,1050)); - actionsToDo[8] = new RamasserVerreV2(Position(1800,550)); - actionsToDo[9] = new RamasserVerreV2(Position(1950,800)); - actionsToDo[10] = new RamasserVerreV2(Position(2100,550)); - actionsToDo[11] = new RamasserVerreV2(Position(2100,1050));*/ - for (int i = 0; i < SharpSensor::END_SHARP_NAME; i++) - 8020300: f04f 0300 mov.w r3, #0 ; 0x0 - 8020304: 62fb str r3, [r7, #44] - 8020306: e008 b.n 802031a <_ZN11StrategieV2C1Eb+0x3a> - sharpsToCheck[i] = false; - 8020308: 6af9 ldr r1, [r7, #44] - 802030a: 4a3c ldr r2, [pc, #240] (80203fc <_ZN11StrategieV2C1Eb+0x11c>) - 802030c: f04f 0300 mov.w r3, #0 ; 0x0 - 8020310: 5453 strb r3, [r2, r1] - actionsToDo[7] = new RamasserVerreV2(Position(1800,1050)); - actionsToDo[8] = new RamasserVerreV2(Position(1800,550)); - actionsToDo[9] = new RamasserVerreV2(Position(1950,800)); - actionsToDo[10] = new RamasserVerreV2(Position(2100,550)); - actionsToDo[11] = new RamasserVerreV2(Position(2100,1050));*/ - for (int i = 0; i < SharpSensor::END_SHARP_NAME; i++) - 8020312: 6afb ldr r3, [r7, #44] - 8020314: f103 0301 add.w r3, r3, #1 ; 0x1 - 8020318: 62fb str r3, [r7, #44] - 802031a: 6afb ldr r3, [r7, #44] - 802031c: 2b05 cmp r3, #5 - 802031e: ddf3 ble.n 8020308 <_ZN11StrategieV2C1Eb+0x28> - sharpsToCheck[i] = false; - - //actionsToDo[0] = new Evitement(); - //actionsToDo[0] = new ActionGoTo(Position(1000,230), false); - int decalage = 0; - 8020320: f04f 0300 mov.w r3, #0 ; 0x0 - 8020324: 627b str r3, [r7, #36] - //actionsToDo[0] = new RecalibrerOdometrie(true); - //actionsToDo[0] = new RecalibrerOdometrie(blue, Position(200, 1500, blue), RecalibrerOdometrie::COTE_NOTRE_DEPART_HAUT); - //actionsToDo[1] = new RecalibrerOdometrie(blue, Position(500, 500, blue), RecalibrerOdometrie::COTE_NOTRE_DEPART_BAS); - //actionsToDo[2] = new RecalibrerOdometrie(blue, Position(2500, 500, blue), RecalibrerOdometrie::COTE_DEPART_ADVERSAIRE_BAS); - //actionsToDo[3] = new RecalibrerOdometrie(blue, Position(2800, 1500, blue), RecalibrerOdometrie::COTE_DEPART_ADVERSAIRE_HAUT); - actionsToDo[0] = new StrategieV3(blue); - 8020326: f240 70ac movw r0, #1964 ; 0x7ac - 802032a: f7f7 f8c9 bl 80174c0 <_Znwj> - 802032e: 4603 mov r3, r0 - 8020330: 603b str r3, [r7, #0] - 8020332: 683a ldr r2, [r7, #0] - 8020334: 2a00 cmp r2, #0 - 8020336: d007 beq.n 8020348 <_ZN11StrategieV2C1Eb+0x68> - 8020338: 7efb ldrb r3, [r7, #27] - 802033a: 6838 ldr r0, [r7, #0] - 802033c: 4619 mov r1, r3 - 802033e: f000 ff67 bl 8021210 <_ZN11StrategieV3C1Eb> - 8020342: 683b ldr r3, [r7, #0] - 8020344: 607b str r3, [r7, #4] - 8020346: e001 b.n 802034c <_ZN11StrategieV2C1Eb+0x6c> - 8020348: 683a ldr r2, [r7, #0] - 802034a: 607a str r2, [r7, #4] - 802034c: 687a ldr r2, [r7, #4] - 802034e: 4b2c ldr r3, [pc, #176] (8020400 <_ZN11StrategieV2C1Eb+0x120>) - 8020350: 601a str r2, [r3, #0] - - CanonFilet::getSingleton()->attente(); - 8020352: f7ee f917 bl 800e584 <_ZN10CanonFilet12getSingletonEv> - 8020356: 4603 mov r3, r0 - 8020358: 4618 mov r0, r3 - 802035a: f7ee f8c5 bl 800e4e8 <_ZN10CanonFilet7attenteEv> - tirette.attendreRemise(); - tirette.attendreEnlevee(); // */ -// actionsToDo[0] = new EteindreBougies(isBlue); // action d'éteindre les bougies -// actionsToDo[1] = new ActionGoTo(Position(400,1000), true); - //actionsToDo[1] = new RecalibrerOdometrie(); //EteindreBougies(isBlue); // action d'éteindre les bougies - actionsToDo[1] = new RamasserVerres(); //new ActionGoTo(Position(300,1300,StrategieV2::getIsBlue()), true); // //action de ramasser les verres - 802035e: f640 001c movw r0, #2076 ; 0x81c - 8020362: f7f7 f8ad bl 80174c0 <_Znwj> - 8020366: 4603 mov r3, r0 - 8020368: 60bb str r3, [r7, #8] - 802036a: 68bb ldr r3, [r7, #8] - 802036c: 2b00 cmp r3, #0 - 802036e: d005 beq.n 802037c <_ZN11StrategieV2C1Eb+0x9c> - 8020370: 68b8 ldr r0, [r7, #8] - 8020372: f7fc f937 bl 801c5e4 <_ZN14RamasserVerresC1Ev> - 8020376: 68ba ldr r2, [r7, #8] - 8020378: 60fa str r2, [r7, #12] - 802037a: e001 b.n 8020380 <_ZN11StrategieV2C1Eb+0xa0> - 802037c: 68bb ldr r3, [r7, #8] - 802037e: 60fb str r3, [r7, #12] - 8020380: 68fa ldr r2, [r7, #12] - 8020382: 4b1f ldr r3, [pc, #124] (8020400 <_ZN11StrategieV2C1Eb+0x120>) - 8020384: 605a str r2, [r3, #4] - actionsToDo[8] = new ActionGoTo(Position(2600,800), true); - actionsToDo[9] = new ActionGoTo(Position(2600,1070), false); - actionsToDo[10] = new ActionGoTo(Position(300,1070), false);*/ - - //currentAction = new RecalibrerOdometrie(new LimitSwitchSensor(LimitSwitchSensor::BACK_LEFT, GPIO_Pin_14, GPIOD), new LimitSwitchSensor(LimitSwitchSensor::BACK_RIGHT, GPIO_Pin_1, GPIOD)); - currentAction = actionsToDo[actionsCount]; - 8020386: 4b1f ldr r3, [pc, #124] (8020404 <_ZN11StrategieV2C1Eb+0x124>) - 8020388: 681a ldr r2, [r3, #0] - 802038a: 4b1d ldr r3, [pc, #116] (8020400 <_ZN11StrategieV2C1Eb+0x120>) - 802038c: f853 2022 ldr.w r2, [r3, r2, lsl #2] - 8020390: 4b1d ldr r3, [pc, #116] (8020408 <_ZN11StrategieV2C1Eb+0x128>) - 8020392: 601a str r2, [r3, #0] - //currentAction = new RecalibrerOdometrie(); - //hasJustAvoided = true; - //currentAction->update(); - - - StrategieV2::strategie = this; - 8020394: 4a1d ldr r2, [pc, #116] (802040c <_ZN11StrategieV2C1Eb+0x12c>) - 8020396: 69fb ldr r3, [r7, #28] - 8020398: 6013 str r3, [r2, #0] - - /*uint8_t channels[10] = {9,13,8,11,5,10,4,12,14,15}; - uint16_t* data = AnalogSensor::initialiserADC(10, channels); - int nbSharp = 10;*/ - - Sensors* sensors = Sensors::getSingleton(); - 802039a: f7ef fe13 bl 800ffc4 <_ZN7Sensors12getSingletonEv> - 802039e: 4603 mov r3, r0 - 80203a0: 62bb str r3, [r7, #40] - sharps = sensors->getSharpSensorsList(); - 80203a2: 6ab8 ldr r0, [r7, #40] - 80203a4: f7ee fdbc bl 800ef20 <_ZN7Sensors19getSharpSensorsListEv> - 80203a8: 4602 mov r2, r0 - 80203aa: 4b19 ldr r3, [pc, #100] (8020410 <_ZN11StrategieV2C1Eb+0x130>) - 80203ac: 601a str r2, [r3, #0] - sharps[6] = new SharpSensor(SharpSensor::NONE, 4, data); // - sharps[7] = new SharpSensor(SharpSensor::ELEVATOR_TOP, 12, data); // capteur haut ascenseur 12 - sharps[8] = new SharpSensor(SharpSensor::ELEVATOR_DOWN, 14, data); // capteur bas ascenseur 14 - sharps[9] = new SharpSensor(SharpSensor::BACK_RIGHT, 15, data, 2000.0); // - #endif*/ - emptySharpsToCheck(); - 80203ae: f7ff fa17 bl 801f7e0 <_ZN11StrategieV218emptySharpsToCheckEv> - enableSharp(SharpSensor::BACK_MIDDLE); - enableSharp(SharpSensor::BACK_RIGHT);*/ - -#ifdef ROBOTHW -// tourelle = new Tourelle(TIM6, 0);//TIM parameter is not implemented yet - tourelle = new Tourelle(); - 80203b2: f04f 0001 mov.w r0, #1 ; 0x1 - 80203b6: f7f7 f883 bl 80174c0 <_Znwj> - 80203ba: 4603 mov r3, r0 - 80203bc: 613b str r3, [r7, #16] - 80203be: 693a ldr r2, [r7, #16] - 80203c0: 2a00 cmp r2, #0 - 80203c2: d005 beq.n 80203d0 <_ZN11StrategieV2C1Eb+0xf0> - 80203c4: 6938 ldr r0, [r7, #16] - 80203c6: f7f6 fa3d bl 8016844 <_ZN8TourelleC1Ev> - 80203ca: 693b ldr r3, [r7, #16] - 80203cc: 617b str r3, [r7, #20] - 80203ce: e001 b.n 80203d4 <_ZN11StrategieV2C1Eb+0xf4> - 80203d0: 693a ldr r2, [r7, #16] - 80203d2: 617a str r2, [r7, #20] - 80203d4: 4b0f ldr r3, [pc, #60] (8020414 <_ZN11StrategieV2C1Eb+0x134>) - 80203d6: 697a ldr r2, [r7, #20] - 80203d8: 601a str r2, [r3, #0] - //tourelle->setZoneCritique(10, 27000); -#endif - - updateCount = 0; - 80203da: 4a0f ldr r2, [pc, #60] (8020418 <_ZN11StrategieV2C1Eb+0x138>) - 80203dc: f04f 0300 mov.w r3, #0 ; 0x0 - 80203e0: 6013 str r3, [r2, #0] -} - 80203e2: 69fb ldr r3, [r7, #28] - 80203e4: 4618 mov r0, r3 - 80203e6: f107 0730 add.w r7, r7, #48 ; 0x30 - 80203ea: 46bd mov sp, r7 - 80203ec: bd80 pop {r7, pc} - 80203ee: 46c0 nop (mov r8, r8) - 80203f0: 08034160 .word 0x08034160 - 80203f4: 20000665 .word 0x20000665 - 80203f8: 20000680 .word 0x20000680 - 80203fc: 20000666 .word 0x20000666 - 8020400: 200005d4 .word 0x200005d4 - 8020404: 200005d0 .word 0x200005d0 - 8020408: 200005cc .word 0x200005cc - 802040c: 200005c0 .word 0x200005c0 - 8020410: 20000654 .word 0x20000654 - 8020414: 20000684 .word 0x20000684 - 8020418: 200005c4 .word 0x200005c4 - -0802041c <_ZN11StrategieV2C2Eb>: -#ifdef ROBOTHW -Tourelle* StrategieV2::tourelle = NULL; -int StrategieV2::hysteresisTourelle = 0; -#endif - -StrategieV2::StrategieV2(bool blue) - 802041c: b580 push {r7, lr} - 802041e: b08c sub sp, #48 - 8020420: af00 add r7, sp, #0 - 8020422: 61f8 str r0, [r7, #28] - 8020424: 460b mov r3, r1 - 8020426: 76fb strb r3, [r7, #27] - 8020428: 69fa ldr r2, [r7, #28] - 802042a: 4b40 ldr r3, [pc, #256] (802052c <_ZN11StrategieV2C2Eb+0x110>) - 802042c: 6013 str r3, [r2, #0] -{ - isBlue = blue; - 802042e: 4a40 ldr r2, [pc, #256] (8020530 <_ZN11StrategieV2C2Eb+0x114>) - 8020430: 7efb ldrb r3, [r7, #27] - 8020432: 7013 strb r3, [r2, #0] - timeToRestart = 0; - 8020434: 4a3f ldr r2, [pc, #252] (8020534 <_ZN11StrategieV2C2Eb+0x118>) - 8020436: f04f 0300 mov.w r3, #0 ; 0x0 - 802043a: 6013 str r3, [r2, #0] - actionsToDo[7] = new RamasserVerreV2(Position(1800,1050)); - actionsToDo[8] = new RamasserVerreV2(Position(1800,550)); - actionsToDo[9] = new RamasserVerreV2(Position(1950,800)); - actionsToDo[10] = new RamasserVerreV2(Position(2100,550)); - actionsToDo[11] = new RamasserVerreV2(Position(2100,1050));*/ - for (int i = 0; i < SharpSensor::END_SHARP_NAME; i++) - 802043c: f04f 0300 mov.w r3, #0 ; 0x0 - 8020440: 62fb str r3, [r7, #44] - 8020442: e008 b.n 8020456 <_ZN11StrategieV2C2Eb+0x3a> - sharpsToCheck[i] = false; - 8020444: 6af9 ldr r1, [r7, #44] - 8020446: 4a3c ldr r2, [pc, #240] (8020538 <_ZN11StrategieV2C2Eb+0x11c>) - 8020448: f04f 0300 mov.w r3, #0 ; 0x0 - 802044c: 5453 strb r3, [r2, r1] - actionsToDo[7] = new RamasserVerreV2(Position(1800,1050)); - actionsToDo[8] = new RamasserVerreV2(Position(1800,550)); - actionsToDo[9] = new RamasserVerreV2(Position(1950,800)); - actionsToDo[10] = new RamasserVerreV2(Position(2100,550)); - actionsToDo[11] = new RamasserVerreV2(Position(2100,1050));*/ - for (int i = 0; i < SharpSensor::END_SHARP_NAME; i++) - 802044e: 6afb ldr r3, [r7, #44] - 8020450: f103 0301 add.w r3, r3, #1 ; 0x1 - 8020454: 62fb str r3, [r7, #44] - 8020456: 6afb ldr r3, [r7, #44] - 8020458: 2b05 cmp r3, #5 - 802045a: ddf3 ble.n 8020444 <_ZN11StrategieV2C2Eb+0x28> - sharpsToCheck[i] = false; - - //actionsToDo[0] = new Evitement(); - //actionsToDo[0] = new ActionGoTo(Position(1000,230), false); - int decalage = 0; - 802045c: f04f 0300 mov.w r3, #0 ; 0x0 - 8020460: 627b str r3, [r7, #36] - //actionsToDo[0] = new RecalibrerOdometrie(true); - //actionsToDo[0] = new RecalibrerOdometrie(blue, Position(200, 1500, blue), RecalibrerOdometrie::COTE_NOTRE_DEPART_HAUT); - //actionsToDo[1] = new RecalibrerOdometrie(blue, Position(500, 500, blue), RecalibrerOdometrie::COTE_NOTRE_DEPART_BAS); - //actionsToDo[2] = new RecalibrerOdometrie(blue, Position(2500, 500, blue), RecalibrerOdometrie::COTE_DEPART_ADVERSAIRE_BAS); - //actionsToDo[3] = new RecalibrerOdometrie(blue, Position(2800, 1500, blue), RecalibrerOdometrie::COTE_DEPART_ADVERSAIRE_HAUT); - actionsToDo[0] = new StrategieV3(blue); - 8020462: f240 70ac movw r0, #1964 ; 0x7ac - 8020466: f7f7 f82b bl 80174c0 <_Znwj> - 802046a: 4603 mov r3, r0 - 802046c: 603b str r3, [r7, #0] - 802046e: 683a ldr r2, [r7, #0] - 8020470: 2a00 cmp r2, #0 - 8020472: d007 beq.n 8020484 <_ZN11StrategieV2C2Eb+0x68> - 8020474: 7efb ldrb r3, [r7, #27] - 8020476: 6838 ldr r0, [r7, #0] - 8020478: 4619 mov r1, r3 - 802047a: f000 fec9 bl 8021210 <_ZN11StrategieV3C1Eb> - 802047e: 683b ldr r3, [r7, #0] - 8020480: 607b str r3, [r7, #4] - 8020482: e001 b.n 8020488 <_ZN11StrategieV2C2Eb+0x6c> - 8020484: 683a ldr r2, [r7, #0] - 8020486: 607a str r2, [r7, #4] - 8020488: 687a ldr r2, [r7, #4] - 802048a: 4b2c ldr r3, [pc, #176] (802053c <_ZN11StrategieV2C2Eb+0x120>) - 802048c: 601a str r2, [r3, #0] - - CanonFilet::getSingleton()->attente(); - 802048e: f7ee f879 bl 800e584 <_ZN10CanonFilet12getSingletonEv> - 8020492: 4603 mov r3, r0 - 8020494: 4618 mov r0, r3 - 8020496: f7ee f827 bl 800e4e8 <_ZN10CanonFilet7attenteEv> - tirette.attendreRemise(); - tirette.attendreEnlevee(); // */ -// actionsToDo[0] = new EteindreBougies(isBlue); // action d'éteindre les bougies -// actionsToDo[1] = new ActionGoTo(Position(400,1000), true); - //actionsToDo[1] = new RecalibrerOdometrie(); //EteindreBougies(isBlue); // action d'éteindre les bougies - actionsToDo[1] = new RamasserVerres(); //new ActionGoTo(Position(300,1300,StrategieV2::getIsBlue()), true); // //action de ramasser les verres - 802049a: f640 001c movw r0, #2076 ; 0x81c - 802049e: f7f7 f80f bl 80174c0 <_Znwj> - 80204a2: 4603 mov r3, r0 - 80204a4: 60bb str r3, [r7, #8] - 80204a6: 68bb ldr r3, [r7, #8] - 80204a8: 2b00 cmp r3, #0 - 80204aa: d005 beq.n 80204b8 <_ZN11StrategieV2C2Eb+0x9c> - 80204ac: 68b8 ldr r0, [r7, #8] - 80204ae: f7fc f899 bl 801c5e4 <_ZN14RamasserVerresC1Ev> - 80204b2: 68ba ldr r2, [r7, #8] - 80204b4: 60fa str r2, [r7, #12] - 80204b6: e001 b.n 80204bc <_ZN11StrategieV2C2Eb+0xa0> - 80204b8: 68bb ldr r3, [r7, #8] - 80204ba: 60fb str r3, [r7, #12] - 80204bc: 68fa ldr r2, [r7, #12] - 80204be: 4b1f ldr r3, [pc, #124] (802053c <_ZN11StrategieV2C2Eb+0x120>) - 80204c0: 605a str r2, [r3, #4] - actionsToDo[8] = new ActionGoTo(Position(2600,800), true); - actionsToDo[9] = new ActionGoTo(Position(2600,1070), false); - actionsToDo[10] = new ActionGoTo(Position(300,1070), false);*/ - - //currentAction = new RecalibrerOdometrie(new LimitSwitchSensor(LimitSwitchSensor::BACK_LEFT, GPIO_Pin_14, GPIOD), new LimitSwitchSensor(LimitSwitchSensor::BACK_RIGHT, GPIO_Pin_1, GPIOD)); - currentAction = actionsToDo[actionsCount]; - 80204c2: 4b1f ldr r3, [pc, #124] (8020540 <_ZN11StrategieV2C2Eb+0x124>) - 80204c4: 681a ldr r2, [r3, #0] - 80204c6: 4b1d ldr r3, [pc, #116] (802053c <_ZN11StrategieV2C2Eb+0x120>) - 80204c8: f853 2022 ldr.w r2, [r3, r2, lsl #2] - 80204cc: 4b1d ldr r3, [pc, #116] (8020544 <_ZN11StrategieV2C2Eb+0x128>) - 80204ce: 601a str r2, [r3, #0] - //currentAction = new RecalibrerOdometrie(); - //hasJustAvoided = true; - //currentAction->update(); - - - StrategieV2::strategie = this; - 80204d0: 4a1d ldr r2, [pc, #116] (8020548 <_ZN11StrategieV2C2Eb+0x12c>) - 80204d2: 69fb ldr r3, [r7, #28] - 80204d4: 6013 str r3, [r2, #0] - - /*uint8_t channels[10] = {9,13,8,11,5,10,4,12,14,15}; - uint16_t* data = AnalogSensor::initialiserADC(10, channels); - int nbSharp = 10;*/ - - Sensors* sensors = Sensors::getSingleton(); - 80204d6: f7ef fd75 bl 800ffc4 <_ZN7Sensors12getSingletonEv> - 80204da: 4603 mov r3, r0 - 80204dc: 62bb str r3, [r7, #40] - sharps = sensors->getSharpSensorsList(); - 80204de: 6ab8 ldr r0, [r7, #40] - 80204e0: f7ee fd1e bl 800ef20 <_ZN7Sensors19getSharpSensorsListEv> - 80204e4: 4602 mov r2, r0 - 80204e6: 4b19 ldr r3, [pc, #100] (802054c <_ZN11StrategieV2C2Eb+0x130>) - 80204e8: 601a str r2, [r3, #0] - sharps[6] = new SharpSensor(SharpSensor::NONE, 4, data); // - sharps[7] = new SharpSensor(SharpSensor::ELEVATOR_TOP, 12, data); // capteur haut ascenseur 12 - sharps[8] = new SharpSensor(SharpSensor::ELEVATOR_DOWN, 14, data); // capteur bas ascenseur 14 - sharps[9] = new SharpSensor(SharpSensor::BACK_RIGHT, 15, data, 2000.0); // - #endif*/ - emptySharpsToCheck(); - 80204ea: f7ff f979 bl 801f7e0 <_ZN11StrategieV218emptySharpsToCheckEv> - enableSharp(SharpSensor::BACK_MIDDLE); - enableSharp(SharpSensor::BACK_RIGHT);*/ - -#ifdef ROBOTHW -// tourelle = new Tourelle(TIM6, 0);//TIM parameter is not implemented yet - tourelle = new Tourelle(); - 80204ee: f04f 0001 mov.w r0, #1 ; 0x1 - 80204f2: f7f6 ffe5 bl 80174c0 <_Znwj> - 80204f6: 4603 mov r3, r0 - 80204f8: 613b str r3, [r7, #16] - 80204fa: 693a ldr r2, [r7, #16] - 80204fc: 2a00 cmp r2, #0 - 80204fe: d005 beq.n 802050c <_ZN11StrategieV2C2Eb+0xf0> - 8020500: 6938 ldr r0, [r7, #16] - 8020502: f7f6 f99f bl 8016844 <_ZN8TourelleC1Ev> - 8020506: 693b ldr r3, [r7, #16] - 8020508: 617b str r3, [r7, #20] - 802050a: e001 b.n 8020510 <_ZN11StrategieV2C2Eb+0xf4> - 802050c: 693a ldr r2, [r7, #16] - 802050e: 617a str r2, [r7, #20] - 8020510: 4b0f ldr r3, [pc, #60] (8020550 <_ZN11StrategieV2C2Eb+0x134>) - 8020512: 697a ldr r2, [r7, #20] - 8020514: 601a str r2, [r3, #0] - //tourelle->setZoneCritique(10, 27000); -#endif - - updateCount = 0; - 8020516: 4a0f ldr r2, [pc, #60] (8020554 <_ZN11StrategieV2C2Eb+0x138>) - 8020518: f04f 0300 mov.w r3, #0 ; 0x0 - 802051c: 6013 str r3, [r2, #0] -} - 802051e: 69fb ldr r3, [r7, #28] - 8020520: 4618 mov r0, r3 - 8020522: f107 0730 add.w r7, r7, #48 ; 0x30 - 8020526: 46bd mov sp, r7 - 8020528: bd80 pop {r7, pc} - 802052a: 46c0 nop (mov r8, r8) - 802052c: 08034160 .word 0x08034160 - 8020530: 20000665 .word 0x20000665 - 8020534: 20000680 .word 0x20000680 - 8020538: 20000666 .word 0x20000666 - 802053c: 200005d4 .word 0x200005d4 - 8020540: 200005d0 .word 0x200005d0 - 8020544: 200005cc .word 0x200005cc - 8020548: 200005c0 .word 0x200005c0 - 802054c: 20000654 .word 0x20000654 - 8020550: 20000684 .word 0x20000684 - 8020554: 200005c4 .word 0x200005c4 - -08020558 <_ZN11StrategieV316collisionAvoidedEv>: - for(int i = 0 ; i < 10 ; i++){ - this->tableauEtapes[i]->setState(0); - } -} - -void StrategieV3::collisionAvoided(){ - 8020558: b480 push {r7} - 802055a: b083 sub sp, #12 - 802055c: af00 add r7, sp, #0 - 802055e: 6078 str r0, [r7, #4] - this->avoiding = true; - 8020560: 687b ldr r3, [r7, #4] - 8020562: f04f 0201 mov.w r2, #1 ; 0x1 - 8020566: f883 2788 strb.w r2, [r3, #1928] -} - 802056a: f107 070c add.w r7, r7, #12 ; 0xc - 802056e: 46bd mov sp, r7 - 8020570: bc80 pop {r7} - 8020572: 4770 bx lr - -08020574 <_ZN11StrategieV318updateIntermedaireEv>: - - -void StrategieV3::updateIntermedaire() - 8020574: b580 push {r7, lr} - 8020576: b086 sub sp, #24 - 8020578: af00 add r7, sp, #0 - 802057a: 6078 str r0, [r7, #4] - //(sauf peut être le parent de l'étape d'origine, mais on s'en fout - - #ifndef ROBOTHW - qDebug() << "updateIntermedaire\n"; - #endif - int etapeOuOnVientDArriver = this->etapeEnCours; - 802057c: 687b ldr r3, [r7, #4] - 802057e: f8d3 3784 ldr.w r3, [r3, #1924] - 8020582: 60fb str r3, [r7, #12] - this->etapeEnCours = this->goal; - 8020584: 687b ldr r3, [r7, #4] - 8020586: f8d3 278c ldr.w r2, [r3, #1932] - 802058a: 687b ldr r3, [r7, #4] - 802058c: f8c3 2784 str.w r2, [r3, #1924] - Etape* toto = this->tableauEtapes[1]; - 8020590: 687b ldr r3, [r7, #4] - 8020592: f8d3 3780 ldr.w r3, [r3, #1920] - 8020596: f103 0304 add.w r3, r3, #4 ; 0x4 - 802059a: 681b ldr r3, [r3, #0] - 802059c: 613b str r3, [r7, #16] - Etape* toto2 = this->tableauEtapes[2]; - 802059e: 687b ldr r3, [r7, #4] - 80205a0: f8d3 3780 ldr.w r3, [r3, #1920] - 80205a4: f103 0308 add.w r3, r3, #8 ; 0x8 - 80205a8: 681b ldr r3, [r3, #0] - 80205aa: 617b str r3, [r7, #20] - - // Si la prochaine étape est le goal, alors au prochain update il faudra trouver un nouvel objectif -> status = 1; - if(((this->tableauEtapes[this->etapeEnCours]->getParent()->getNumero())) == etapeOuOnVientDArriver) - 80205ac: 687b ldr r3, [r7, #4] - 80205ae: f8d3 2780 ldr.w r2, [r3, #1920] - 80205b2: 687b ldr r3, [r7, #4] - 80205b4: f8d3 3784 ldr.w r3, [r3, #1924] - 80205b8: ea4f 0383 mov.w r3, r3, lsl #2 - 80205bc: 4413 add r3, r2 - 80205be: 681b ldr r3, [r3, #0] - 80205c0: 4618 mov r0, r3 - 80205c2: f7f8 fd87 bl 80190d4 <_ZN5Etape9getParentEv> - 80205c6: 4603 mov r3, r0 - 80205c8: 4618 mov r0, r3 - 80205ca: f7f8 fe19 bl 8019200 <_ZN5Etape9getNumeroEv> - 80205ce: 4602 mov r2, r0 - 80205d0: 68fb ldr r3, [r7, #12] - 80205d2: 429a cmp r2, r3 - 80205d4: bf14 ite ne - 80205d6: 2300 movne r3, #0 - 80205d8: 2301 moveq r3, #1 - 80205da: b2db uxtb r3, r3 - 80205dc: 2b00 cmp r3, #0 - 80205de: d01a beq.n 8020616 <_ZN11StrategieV318updateIntermedaireEv+0xa2> - { - #ifndef ROBOTHW - qDebug() << "la prochaine étape est le goal\n"; - #endif - this->statusStrat = 1; - 80205e0: 687a ldr r2, [r7, #4] - 80205e2: f04f 0301 mov.w r3, #1 ; 0x1 - 80205e6: f8c2 3790 str.w r3, [r2, #1936] - 80205ea: e014 b.n 8020616 <_ZN11StrategieV318updateIntermedaireEv+0xa2> - while(((this->tableauEtapes[this->etapeEnCours]->getParent()->getNumero())) != etapeOuOnVientDArriver) - { - #ifndef ROBOTHW - qDebug() << "On cherche l'étape suivant vers l'etape - but" << this->etapeEnCours << "\n"; - #endif - this->etapeEnCours = ((this->tableauEtapes[this->etapeEnCours]->getParent()->getNumero())); - 80205ec: 687b ldr r3, [r7, #4] - 80205ee: f8d3 2780 ldr.w r2, [r3, #1920] - 80205f2: 687b ldr r3, [r7, #4] - 80205f4: f8d3 3784 ldr.w r3, [r3, #1924] - 80205f8: ea4f 0383 mov.w r3, r3, lsl #2 - 80205fc: 4413 add r3, r2 - 80205fe: 681b ldr r3, [r3, #0] - 8020600: 4618 mov r0, r3 - 8020602: f7f8 fd67 bl 80190d4 <_ZN5Etape9getParentEv> - 8020606: 4603 mov r3, r0 - 8020608: 4618 mov r0, r3 - 802060a: f7f8 fdf9 bl 8019200 <_ZN5Etape9getNumeroEv> - 802060e: 4602 mov r2, r0 - 8020610: 687b ldr r3, [r7, #4] - 8020612: f8c3 2784 str.w r2, [r3, #1924] - #endif - this->statusStrat = 1; - } - - //On cherche l'étape suivant vers l'etape - but - while(((this->tableauEtapes[this->etapeEnCours]->getParent()->getNumero())) != etapeOuOnVientDArriver) - 8020616: 687b ldr r3, [r7, #4] - 8020618: f8d3 2780 ldr.w r2, [r3, #1920] - 802061c: 687b ldr r3, [r7, #4] - 802061e: f8d3 3784 ldr.w r3, [r3, #1924] - 8020622: ea4f 0383 mov.w r3, r3, lsl #2 - 8020626: 4413 add r3, r2 - 8020628: 681b ldr r3, [r3, #0] - 802062a: 4618 mov r0, r3 - 802062c: f7f8 fd52 bl 80190d4 <_ZN5Etape9getParentEv> - 8020630: 4603 mov r3, r0 - 8020632: 4618 mov r0, r3 - 8020634: f7f8 fde4 bl 8019200 <_ZN5Etape9getNumeroEv> - 8020638: 4602 mov r2, r0 - 802063a: 68fb ldr r3, [r7, #12] - 802063c: 429a cmp r2, r3 - 802063e: bf0c ite eq - 8020640: 2300 moveq r3, #0 - 8020642: 2301 movne r3, #1 - 8020644: b2db uxtb r3, r3 - 8020646: 2b00 cmp r3, #0 - 8020648: d1d0 bne.n 80205ec <_ZN11StrategieV318updateIntermedaireEv+0x78> - qDebug() << "On cherche l'étape suivant vers l'etape - but" << this->etapeEnCours << "\n"; - #endif - this->etapeEnCours = ((this->tableauEtapes[this->etapeEnCours]->getParent()->getNumero())); - } - - if(this->statusStrat == 1) - 802064a: 687b ldr r3, [r7, #4] - 802064c: f8d3 3790 ldr.w r3, [r3, #1936] - 8020650: 2b01 cmp r3, #1 - 8020652: d10b bne.n 802066c <_ZN11StrategieV318updateIntermedaireEv+0xf8> - { - //On réalise l'action de l'étape - but - StrategieV2::addTemporaryAction(actionEtape[this->etapeEnCours]); - 8020654: 687b ldr r3, [r7, #4] - 8020656: f8d3 3784 ldr.w r3, [r3, #1924] - 802065a: 687a ldr r2, [r7, #4] - 802065c: f103 0306 add.w r3, r3, #6 ; 0x6 - 8020660: f852 3023 ldr.w r3, [r2, r3, lsl #2] - 8020664: 4618 mov r0, r3 - 8020666: f7ff f847 bl 801f6f8 <_ZN11StrategieV218addTemporaryActionEP17MediumLevelAction> - 802066a: e011 b.n 8020690 <_ZN11StrategieV318updateIntermedaireEv+0x11c> - } - else - { - //On ajoute l'action d'aller en ligne droite vers cette étape intermédiaire - StrategieV2::addTemporaryAction(&actionGoto[this->etapeEnCours]); - 802066c: 687b ldr r3, [r7, #4] - 802066e: f8d3 3784 ldr.w r3, [r3, #1924] - 8020672: ea4f 1203 mov.w r2, r3, lsl #4 - 8020676: ea4f 0382 mov.w r3, r2, lsl #2 - 802067a: ebc2 0303 rsb r3, r2, r3 - 802067e: f103 0290 add.w r2, r3, #144 ; 0x90 - 8020682: 687b ldr r3, [r7, #4] - 8020684: 4413 add r3, r2 - 8020686: f103 0304 add.w r3, r3, #4 ; 0x4 - 802068a: 4618 mov r0, r3 - 802068c: f7ff f834 bl 801f6f8 <_ZN11StrategieV218addTemporaryActionEP17MediumLevelAction> - } -} - 8020690: f107 0718 add.w r7, r7, #24 ; 0x18 - 8020694: 46bd mov sp, r7 - 8020696: bd80 pop {r7, pc} - -08020698 <_ZN11StrategieV315resetEverythingEv>: - } - } - return this->statusStrat; -} - -void StrategieV3::resetEverything(){ - 8020698: b580 push {r7, lr} - 802069a: b084 sub sp, #16 - 802069c: af00 add r7, sp, #0 - 802069e: 6078 str r0, [r7, #4] - for(int i = 0 ; i < 10 ; i++){ - 80206a0: f04f 0300 mov.w r3, #0 ; 0x0 - 80206a4: 60fb str r3, [r7, #12] - 80206a6: e010 b.n 80206ca <_ZN11StrategieV315resetEverythingEv+0x32> - this->tableauEtapes[i]->setState(0); - 80206a8: 687b ldr r3, [r7, #4] - 80206aa: f8d3 2780 ldr.w r2, [r3, #1920] - 80206ae: 68fb ldr r3, [r7, #12] - 80206b0: ea4f 0383 mov.w r3, r3, lsl #2 - 80206b4: 4413 add r3, r2 - 80206b6: 681b ldr r3, [r3, #0] - 80206b8: 4618 mov r0, r3 - 80206ba: f04f 0100 mov.w r1, #0 ; 0x0 - 80206be: f7f8 fd35 bl 801912c <_ZN5Etape8setStateEi> - } - return this->statusStrat; -} - -void StrategieV3::resetEverything(){ - for(int i = 0 ; i < 10 ; i++){ - 80206c2: 68fb ldr r3, [r7, #12] - 80206c4: f103 0301 add.w r3, r3, #1 ; 0x1 - 80206c8: 60fb str r3, [r7, #12] - 80206ca: 68fb ldr r3, [r7, #12] - 80206cc: 2b09 cmp r3, #9 - 80206ce: ddeb ble.n 80206a8 <_ZN11StrategieV315resetEverythingEv+0x10> - this->tableauEtapes[i]->setState(0); - } -} - 80206d0: f107 0710 add.w r7, r7, #16 ; 0x10 - 80206d4: 46bd mov sp, r7 - 80206d6: bd80 pop {r7, pc} - -080206d8 <_ZN11StrategieV36updateEv>: -#endif - - -} - -int StrategieV3::update() - 80206d8: b590 push {r4, r7, lr} - 80206da: b095 sub sp, #84 - 80206dc: af02 add r7, sp, #8 - 80206de: 6178 str r0, [r7, #20] -{ - - this->actionEtape[this->etapeEnCours]->reset(); - 80206e0: 697b ldr r3, [r7, #20] - 80206e2: f8d3 3784 ldr.w r3, [r3, #1924] - 80206e6: 697a ldr r2, [r7, #20] - 80206e8: f103 0306 add.w r3, r3, #6 ; 0x6 - 80206ec: f852 3023 ldr.w r3, [r2, r3, lsl #2] - 80206f0: 681b ldr r3, [r3, #0] - 80206f2: f103 0314 add.w r3, r3, #20 ; 0x14 - 80206f6: 6819 ldr r1, [r3, #0] - 80206f8: 697b ldr r3, [r7, #20] - 80206fa: f8d3 3784 ldr.w r3, [r3, #1924] - 80206fe: 697a ldr r2, [r7, #20] - 8020700: f103 0306 add.w r3, r3, #6 ; 0x6 - 8020704: f852 3023 ldr.w r3, [r2, r3, lsl #2] - 8020708: 4618 mov r0, r3 - 802070a: 4788 blx r1 - this->actionGoto[this->etapeEnCours].reset(); - 802070c: 697b ldr r3, [r7, #20] - 802070e: f8d3 3784 ldr.w r3, [r3, #1924] - 8020712: 6979 ldr r1, [r7, #20] - 8020714: ea4f 1203 mov.w r2, r3, lsl #4 - 8020718: ea4f 0382 mov.w r3, r2, lsl #2 - 802071c: ebc2 0303 rsb r3, r2, r3 - 8020720: 440b add r3, r1 - 8020722: f103 0394 add.w r3, r3, #148 ; 0x94 - 8020726: 681b ldr r3, [r3, #0] - 8020728: f103 0314 add.w r3, r3, #20 ; 0x14 - 802072c: 6819 ldr r1, [r3, #0] - 802072e: 697b ldr r3, [r7, #20] - 8020730: f8d3 3784 ldr.w r3, [r3, #1924] - 8020734: ea4f 1203 mov.w r2, r3, lsl #4 - 8020738: ea4f 0382 mov.w r3, r2, lsl #2 - 802073c: ebc2 0303 rsb r3, r2, r3 - 8020740: f103 0290 add.w r2, r3, #144 ; 0x90 - 8020744: 697b ldr r3, [r7, #20] - 8020746: 4413 add r3, r2 - 8020748: f103 0304 add.w r3, r3, #4 ; 0x4 - 802074c: 4618 mov r0, r3 - 802074e: 4788 blx r1 - - - - //Si on est en train d'éviter, on revient à l'étape précédente, et on marque l'étape comme à éviter - if(this->avoiding) - 8020750: 697b ldr r3, [r7, #20] - 8020752: f893 3788 ldrb.w r3, [r3, #1928] - 8020756: 2b00 cmp r3, #0 - 8020758: f000 80ee beq.w 8020938 <_ZN11StrategieV36updateEv+0x260> - { - this->tableauEtapes[this->etapeEnCours]->robotVu(); - 802075c: 697b ldr r3, [r7, #20] - 802075e: f8d3 2780 ldr.w r2, [r3, #1920] - 8020762: 697b ldr r3, [r7, #20] - 8020764: f8d3 3784 ldr.w r3, [r3, #1924] - 8020768: ea4f 0383 mov.w r3, r3, lsl #2 - 802076c: 4413 add r3, r2 - 802076e: 681b ldr r3, [r3, #0] - 8020770: 4618 mov r0, r3 - 8020772: f7f8 fd6d bl 8019250 <_ZN5Etape7robotVuEv> - //this->tableauEtapes[this->etapeEnCours]->setState(-2); - this->tableauEtapes[etapeEnCours]->getParent()->setParent(this->tableauEtapes[this->etapeEnCours]); - 8020776: 697b ldr r3, [r7, #20] - 8020778: f8d3 2780 ldr.w r2, [r3, #1920] - 802077c: 697b ldr r3, [r7, #20] - 802077e: f8d3 3784 ldr.w r3, [r3, #1924] - 8020782: ea4f 0383 mov.w r3, r3, lsl #2 - 8020786: 4413 add r3, r2 - 8020788: 681b ldr r3, [r3, #0] - 802078a: 4618 mov r0, r3 - 802078c: f7f8 fca2 bl 80190d4 <_ZN5Etape9getParentEv> - 8020790: 4601 mov r1, r0 - 8020792: 697b ldr r3, [r7, #20] - 8020794: f8d3 2780 ldr.w r2, [r3, #1920] - 8020798: 697b ldr r3, [r7, #20] - 802079a: f8d3 3784 ldr.w r3, [r3, #1924] - 802079e: ea4f 0383 mov.w r3, r3, lsl #2 - 80207a2: 4413 add r3, r2 - 80207a4: 681b ldr r3, [r3, #0] - 80207a6: 4608 mov r0, r1 - 80207a8: 4619 mov r1, r3 - 80207aa: f7f8 fce7 bl 801917c <_ZN5Etape9setParentEPS_> - this->etapeEnCours = this->tableauEtapes[etapeEnCours]->getParent()->getNumero(); - 80207ae: 697b ldr r3, [r7, #20] - 80207b0: f8d3 2780 ldr.w r2, [r3, #1920] - 80207b4: 697b ldr r3, [r7, #20] - 80207b6: f8d3 3784 ldr.w r3, [r3, #1924] - 80207ba: ea4f 0383 mov.w r3, r3, lsl #2 - 80207be: 4413 add r3, r2 - 80207c0: 681b ldr r3, [r3, #0] - 80207c2: 4618 mov r0, r3 - 80207c4: f7f8 fc86 bl 80190d4 <_ZN5Etape9getParentEv> - 80207c8: 4603 mov r3, r0 - 80207ca: 4618 mov r0, r3 - 80207cc: f7f8 fd18 bl 8019200 <_ZN5Etape9getNumeroEv> - 80207d0: 4602 mov r2, r0 - 80207d2: 697b ldr r3, [r7, #20] - 80207d4: f8c3 2784 str.w r2, [r3, #1924] - - - - //On recalcul les distances par rapport à l'étape où l'on vient d'arriver - dijkstra->setEtapeCourante(this->etapeEnCours); - 80207d8: 697b ldr r3, [r7, #20] - 80207da: f8d3 277c ldr.w r2, [r3, #1916] - 80207de: 697b ldr r3, [r7, #20] - 80207e0: f8d3 3784 ldr.w r3, [r3, #1924] - 80207e4: 4610 mov r0, r2 - 80207e6: 4619 mov r1, r3 - 80207e8: f7f8 f826 bl 8018838 <_ZN8Dijkstra16setEtapeCouranteEi> - - if(this->enTrainEviterReculant) - 80207ec: 697b ldr r3, [r7, #20] - 80207ee: f893 3794 ldrb.w r3, [r3, #1940] - 80207f2: 2b00 cmp r3, #0 - 80207f4: d01e beq.n 8020834 <_ZN11StrategieV36updateEv+0x15c> - { - this->enTrainEviterReculant = false; - 80207f6: 697a ldr r2, [r7, #20] - 80207f8: f04f 0300 mov.w r3, #0 ; 0x0 - 80207fc: f882 3794 strb.w r3, [r2, #1940] - this->enTrainEviterAvancant = true; - 8020800: 697a ldr r2, [r7, #20] - 8020802: f04f 0301 mov.w r3, #1 ; 0x1 - 8020806: f882 3795 strb.w r3, [r2, #1941] - actionGoto[etapeEnCours].setGoBack(false); - 802080a: 697b ldr r3, [r7, #20] - 802080c: f8d3 3784 ldr.w r3, [r3, #1924] - 8020810: ea4f 1203 mov.w r2, r3, lsl #4 - 8020814: ea4f 0382 mov.w r3, r2, lsl #2 - 8020818: ebc2 0303 rsb r3, r2, r3 - 802081c: f103 0290 add.w r2, r3, #144 ; 0x90 - 8020820: 697b ldr r3, [r7, #20] - 8020822: 4413 add r3, r2 - 8020824: f103 0304 add.w r3, r3, #4 ; 0x4 - 8020828: 4618 mov r0, r3 - 802082a: f04f 0100 mov.w r1, #0 ; 0x0 - 802082e: f7fb fb99 bl 801bf64 <_ZN17MediumLevelAction9setGoBackEb> - 8020832: e01d b.n 8020870 <_ZN11StrategieV36updateEv+0x198> - //actionEtape[etapeEnCours]->setGoBack(false); - } - else - { - this->enTrainEviterReculant = true; - 8020834: 697a ldr r2, [r7, #20] - 8020836: f04f 0301 mov.w r3, #1 ; 0x1 - 802083a: f882 3794 strb.w r3, [r2, #1940] - this->enTrainEviterAvancant = false; - 802083e: 697a ldr r2, [r7, #20] - 8020840: f04f 0300 mov.w r3, #0 ; 0x0 - 8020844: f882 3795 strb.w r3, [r2, #1941] - actionGoto[etapeEnCours].setGoBack(true); - 8020848: 697b ldr r3, [r7, #20] - 802084a: f8d3 3784 ldr.w r3, [r3, #1924] - 802084e: ea4f 1203 mov.w r2, r3, lsl #4 - 8020852: ea4f 0382 mov.w r3, r2, lsl #2 - 8020856: ebc2 0303 rsb r3, r2, r3 - 802085a: f103 0290 add.w r2, r3, #144 ; 0x90 - 802085e: 697b ldr r3, [r7, #20] - 8020860: 4413 add r3, r2 - 8020862: f103 0304 add.w r3, r3, #4 ; 0x4 - 8020866: 4618 mov r0, r3 - 8020868: f04f 0101 mov.w r1, #1 ; 0x1 - 802086c: f7fb fb7a bl 801bf64 <_ZN17MediumLevelAction9setGoBackEb> - //actionEtape[etapeEnCours]->setGoBack(true); - } - - StrategieV2::addTemporaryAction(&actionGoto[etapeEnCours]); - 8020870: 697b ldr r3, [r7, #20] - 8020872: f8d3 3784 ldr.w r3, [r3, #1924] - 8020876: ea4f 1203 mov.w r2, r3, lsl #4 - 802087a: ea4f 0382 mov.w r3, r2, lsl #2 - 802087e: ebc2 0303 rsb r3, r2, r3 - 8020882: f103 0290 add.w r2, r3, #144 ; 0x90 - 8020886: 697b ldr r3, [r7, #20] - 8020888: 4413 add r3, r2 - 802088a: f103 0304 add.w r3, r3, #4 ; 0x4 - 802088e: 4618 mov r0, r3 - 8020890: f7fe ff32 bl 801f6f8 <_ZN11StrategieV218addTemporaryActionEP17MediumLevelAction> - //StrategieV2::addTemporaryAction(actionEtape[etapeEnCours]); - //dijkstra->setEtapeCourante((this->tableauEtapes[this->etapeEnCours]->getParent()->getNumero())); - if(dijkstra->run() != 0) - 8020894: 697b ldr r3, [r7, #20] - 8020896: f8d3 377c ldr.w r3, [r3, #1916] - 802089a: 4618 mov r0, r3 - 802089c: f7f8 faea bl 8018e74 <_ZN8Dijkstra3runEv> - 80208a0: 4603 mov r3, r0 - 80208a2: 2b00 cmp r3, #0 - 80208a4: bf0c ite eq - 80208a6: 2300 moveq r3, #0 - 80208a8: 2301 movne r3, #1 - 80208aa: b2db uxtb r3, r3 - 80208ac: 2b00 cmp r3, #0 - 80208ae: d037 beq.n 8020920 <_ZN11StrategieV36updateEv+0x248> - { - // Si run renvoit autre chose que 0, c'est que l'étape en cours a changée. - // Cela arrive pour débloquer le robot - //Etape* ancienneEtape = this->tableauEtapes[this->etapeEnCours]; - //this->etapeEnCours = this->tableauEtapes[this->etapeEnCours]->getParent()->getNumero(); - this->actionEtape[this->etapeEnCours]->reset(); - 80208b0: 697b ldr r3, [r7, #20] - 80208b2: f8d3 3784 ldr.w r3, [r3, #1924] - 80208b6: 697a ldr r2, [r7, #20] - 80208b8: f103 0306 add.w r3, r3, #6 ; 0x6 - 80208bc: f852 3023 ldr.w r3, [r2, r3, lsl #2] - 80208c0: 681b ldr r3, [r3, #0] - 80208c2: f103 0314 add.w r3, r3, #20 ; 0x14 - 80208c6: 6819 ldr r1, [r3, #0] - 80208c8: 697b ldr r3, [r7, #20] - 80208ca: f8d3 3784 ldr.w r3, [r3, #1924] - 80208ce: 697a ldr r2, [r7, #20] - 80208d0: f103 0306 add.w r3, r3, #6 ; 0x6 - 80208d4: f852 3023 ldr.w r3, [r2, r3, lsl #2] - 80208d8: 4618 mov r0, r3 - 80208da: 4788 blx r1 - this->actionGoto[this->etapeEnCours].reset(); - 80208dc: 697b ldr r3, [r7, #20] - 80208de: f8d3 3784 ldr.w r3, [r3, #1924] - 80208e2: 6979 ldr r1, [r7, #20] - 80208e4: ea4f 1203 mov.w r2, r3, lsl #4 - 80208e8: ea4f 0382 mov.w r3, r2, lsl #2 - 80208ec: ebc2 0303 rsb r3, r2, r3 - 80208f0: 440b add r3, r1 - 80208f2: f103 0394 add.w r3, r3, #148 ; 0x94 - 80208f6: 681b ldr r3, [r3, #0] - 80208f8: f103 0314 add.w r3, r3, #20 ; 0x14 - 80208fc: 6819 ldr r1, [r3, #0] - 80208fe: 697b ldr r3, [r7, #20] - 8020900: f8d3 3784 ldr.w r3, [r3, #1924] - 8020904: ea4f 1203 mov.w r2, r3, lsl #4 - 8020908: ea4f 0382 mov.w r3, r2, lsl #2 - 802090c: ebc2 0303 rsb r3, r2, r3 - 8020910: f103 0290 add.w r2, r3, #144 ; 0x90 - 8020914: 697b ldr r3, [r7, #20] - 8020916: 4413 add r3, r2 - 8020918: f103 0304 add.w r3, r3, #4 ; 0x4 - 802091c: 4618 mov r0, r3 - 802091e: 4788 blx r1 - } - - //On retourne à l'étape intermédiaire précédente, en marche arrière - - this->avoiding = false; - 8020920: 697a ldr r2, [r7, #20] - 8020922: f04f 0300 mov.w r3, #0 ; 0x0 - 8020926: f882 3788 strb.w r3, [r2, #1928] - statusStrat=1; - 802092a: 697a ldr r2, [r7, #20] - 802092c: f04f 0301 mov.w r3, #1 ; 0x1 - 8020930: f8c2 3790 str.w r3, [r2, #1936] - 8020934: f000 bc58 b.w 80211e8 <_ZN11StrategieV36updateEv+0xb10> - } - else - { - //On reset toute les directions à aller en marche avant - for(int i = 0 ; i < NOMBRE_ETAPES ; i++) - 8020938: f04f 0300 mov.w r3, #0 ; 0x0 - 802093c: 61fb str r3, [r7, #28] - 802093e: e020 b.n 8020982 <_ZN11StrategieV36updateEv+0x2aa> - { - actionGoto[i].setGoBack(false); - 8020940: 69fb ldr r3, [r7, #28] - 8020942: ea4f 1203 mov.w r2, r3, lsl #4 - 8020946: ea4f 0382 mov.w r3, r2, lsl #2 - 802094a: ebc2 0303 rsb r3, r2, r3 - 802094e: f103 0290 add.w r2, r3, #144 ; 0x90 - 8020952: 697b ldr r3, [r7, #20] - 8020954: 4413 add r3, r2 - 8020956: f103 0304 add.w r3, r3, #4 ; 0x4 - 802095a: 4618 mov r0, r3 - 802095c: f04f 0100 mov.w r1, #0 ; 0x0 - 8020960: f7fb fb00 bl 801bf64 <_ZN17MediumLevelAction9setGoBackEb> - actionEtape[i]->setGoBack(false); - 8020964: 69fb ldr r3, [r7, #28] - 8020966: 697a ldr r2, [r7, #20] - 8020968: f103 0306 add.w r3, r3, #6 ; 0x6 - 802096c: f852 3023 ldr.w r3, [r2, r3, lsl #2] - 8020970: 4618 mov r0, r3 - 8020972: f04f 0100 mov.w r1, #0 ; 0x0 - 8020976: f7fb faf5 bl 801bf64 <_ZN17MediumLevelAction9setGoBackEb> - statusStrat=1; - } - else - { - //On reset toute les directions à aller en marche avant - for(int i = 0 ; i < NOMBRE_ETAPES ; i++) - 802097a: 69fb ldr r3, [r7, #28] - 802097c: f103 0301 add.w r3, r3, #1 ; 0x1 - 8020980: 61fb str r3, [r7, #28] - 8020982: 69fb ldr r3, [r7, #28] - 8020984: 2b1e cmp r3, #30 - 8020986: dddb ble.n 8020940 <_ZN11StrategieV36updateEv+0x268> - { - actionGoto[i].setGoBack(false); - actionEtape[i]->setGoBack(false); - } - this->enTrainEviterReculant = false; - 8020988: 697a ldr r2, [r7, #20] - 802098a: f04f 0300 mov.w r3, #0 ; 0x0 - 802098e: f882 3794 strb.w r3, [r2, #1940] - this->enTrainEviterAvancant = false; - 8020992: 697a ldr r2, [r7, #20] - 8020994: f04f 0300 mov.w r3, #0 ; 0x0 - 8020998: f882 3795 strb.w r3, [r2, #1941] - - if(this->statusStrat==2)//Si on vient d'arriver à une étape intermédiare - 802099c: 697b ldr r3, [r7, #20] - 802099e: f8d3 3790 ldr.w r3, [r3, #1936] - 80209a2: 2b02 cmp r3, #2 - 80209a4: d104 bne.n 80209b0 <_ZN11StrategieV36updateEv+0x2d8> - { - this->updateIntermedaire(); - 80209a6: 6978 ldr r0, [r7, #20] - 80209a8: f7ff fde4 bl 8020574 <_ZN11StrategieV318updateIntermedaireEv> - 80209ac: f000 bc1c b.w 80211e8 <_ZN11StrategieV36updateEv+0xb10> - } - else//Sinon, statusStrat==1, et il faut donc choisir un nouvel objectif - { - // Si on n'était pas en train d'éviter - if(!(enTrainEviterReculant || enTrainEviterAvancant)) - 80209b0: 697b ldr r3, [r7, #20] - 80209b2: f893 3794 ldrb.w r3, [r3, #1940] - 80209b6: f083 0301 eor.w r3, r3, #1 ; 0x1 - 80209ba: b2db uxtb r3, r3 - 80209bc: 2b00 cmp r3, #0 - 80209be: f000 81bf beq.w 8020d40 <_ZN11StrategieV36updateEv+0x668> - 80209c2: 697b ldr r3, [r7, #20] - 80209c4: f893 3795 ldrb.w r3, [r3, #1941] - 80209c8: f083 0301 eor.w r3, r3, #1 ; 0x1 - 80209cc: b2db uxtb r3, r3 - 80209ce: 2b00 cmp r3, #0 - 80209d0: f000 81b6 beq.w 8020d40 <_ZN11StrategieV36updateEv+0x668> - { - //L'objectif qu'on vient de remplir est maintenant un simple point de passage - this->tableauEtapes[this->etapeEnCours]->finir(); - 80209d4: 697b ldr r3, [r7, #20] - 80209d6: f8d3 2780 ldr.w r2, [r3, #1920] - 80209da: 697b ldr r3, [r7, #20] - 80209dc: f8d3 3784 ldr.w r3, [r3, #1924] - 80209e0: ea4f 0383 mov.w r3, r3, lsl #2 - 80209e4: 4413 add r3, r2 - 80209e6: 681b ldr r3, [r3, #0] - 80209e8: 4618 mov r0, r3 - 80209ea: f7f8 fca3 bl 8019334 <_ZN5Etape5finirEv> - //Idem pour les autres étapes correspondant au même objectif - for(int etapeLiee = 0 ; etapeLiee < this->tableauEtapes[this->etapeEnCours]->getNombreEtapesLieesParFinirEtape() ; etapeLiee++) - 80209ee: f04f 0300 mov.w r3, #0 ; 0x0 - 80209f2: 63bb str r3, [r7, #56] - 80209f4: e022 b.n 8020a3c <_ZN11StrategieV36updateEv+0x364> - { - int numeroEtapeLiee = this->tableauEtapes[this->etapeEnCours]->getEtapesLieesParFinirEtape()[etapeLiee]; - 80209f6: 697b ldr r3, [r7, #20] - 80209f8: f8d3 2780 ldr.w r2, [r3, #1920] - 80209fc: 697b ldr r3, [r7, #20] - 80209fe: f8d3 3784 ldr.w r3, [r3, #1924] - 8020a02: ea4f 0383 mov.w r3, r3, lsl #2 - 8020a06: 4413 add r3, r2 - 8020a08: 681b ldr r3, [r3, #0] - 8020a0a: 4618 mov r0, r3 - 8020a0c: f7f8 fc6c bl 80192e8 <_ZN5Etape27getEtapesLieesParFinirEtapeEv> - 8020a10: 4602 mov r2, r0 - 8020a12: 6bbb ldr r3, [r7, #56] - 8020a14: ea4f 0383 mov.w r3, r3, lsl #2 - 8020a18: 4413 add r3, r2 - 8020a1a: 681b ldr r3, [r3, #0] - 8020a1c: 63fb str r3, [r7, #60] - this->tableauEtapes[numeroEtapeLiee]->finir(); - 8020a1e: 697b ldr r3, [r7, #20] - 8020a20: f8d3 2780 ldr.w r2, [r3, #1920] - 8020a24: 6bfb ldr r3, [r7, #60] - 8020a26: ea4f 0383 mov.w r3, r3, lsl #2 - 8020a2a: 4413 add r3, r2 - 8020a2c: 681b ldr r3, [r3, #0] - 8020a2e: 4618 mov r0, r3 - 8020a30: f7f8 fc80 bl 8019334 <_ZN5Etape5finirEv> - if(!(enTrainEviterReculant || enTrainEviterAvancant)) - { - //L'objectif qu'on vient de remplir est maintenant un simple point de passage - this->tableauEtapes[this->etapeEnCours]->finir(); - //Idem pour les autres étapes correspondant au même objectif - for(int etapeLiee = 0 ; etapeLiee < this->tableauEtapes[this->etapeEnCours]->getNombreEtapesLieesParFinirEtape() ; etapeLiee++) - 8020a34: 6bbb ldr r3, [r7, #56] - 8020a36: f103 0301 add.w r3, r3, #1 ; 0x1 - 8020a3a: 63bb str r3, [r7, #56] - 8020a3c: 697b ldr r3, [r7, #20] - 8020a3e: f8d3 2780 ldr.w r2, [r3, #1920] - 8020a42: 697b ldr r3, [r7, #20] - 8020a44: f8d3 3784 ldr.w r3, [r3, #1924] - 8020a48: ea4f 0383 mov.w r3, r3, lsl #2 - 8020a4c: 4413 add r3, r2 - 8020a4e: 681b ldr r3, [r3, #0] - 8020a50: 4618 mov r0, r3 - 8020a52: f7f8 fc63 bl 801931c <_ZN5Etape33getNombreEtapesLieesParFinirEtapeEv> - 8020a56: 4602 mov r2, r0 - 8020a58: 6bbb ldr r3, [r7, #56] - 8020a5a: 429a cmp r2, r3 - 8020a5c: bfd4 ite le - 8020a5e: 2300 movle r3, #0 - 8020a60: 2301 movgt r3, #1 - 8020a62: b2db uxtb r3, r3 - 8020a64: 2b00 cmp r3, #0 - 8020a66: d1c6 bne.n 80209f6 <_ZN11StrategieV36updateEv+0x31e> - int numeroEtapeLiee = this->tableauEtapes[this->etapeEnCours]->getEtapesLieesParFinirEtape()[etapeLiee]; - this->tableauEtapes[numeroEtapeLiee]->finir(); - } - - //Mise à jour du stock - if(this->tableauEtapes[this->etapeEnCours]->getEtapeType() == Etape::FRUIT) - 8020a68: 697b ldr r3, [r7, #20] - 8020a6a: f8d3 2780 ldr.w r2, [r3, #1920] - 8020a6e: 697b ldr r3, [r7, #20] - 8020a70: f8d3 3784 ldr.w r3, [r3, #1924] - 8020a74: ea4f 0383 mov.w r3, r3, lsl #2 - 8020a78: 4413 add r3, r2 - 8020a7a: 681b ldr r3, [r3, #0] - 8020a7c: 4618 mov r0, r3 - 8020a7e: f7f8 fba5 bl 80191cc <_ZN5Etape12getEtapeTypeEv> - 8020a82: 4603 mov r3, r0 - 8020a84: 2b02 cmp r3, #2 - 8020a86: bf14 ite ne - 8020a88: 2300 movne r3, #0 - 8020a8a: 2301 moveq r3, #1 - 8020a8c: b2db uxtb r3, r3 - 8020a8e: 2b00 cmp r3, #0 - 8020a90: d016 beq.n 8020ac0 <_ZN11StrategieV36updateEv+0x3e8> - { - nombreFruitsTransporte++; - 8020a92: 697b ldr r3, [r7, #20] - 8020a94: f8d3 3798 ldr.w r3, [r3, #1944] - 8020a98: f103 0201 add.w r2, r3, #1 ; 0x1 - 8020a9c: 697b ldr r3, [r7, #20] - 8020a9e: f8c3 2798 str.w r2, [r3, #1944] - this->tableauEtapes[this->etapeEnCours]->setEtapeType(Etape::POINT_PASSAGE); - 8020aa2: 697b ldr r3, [r7, #20] - 8020aa4: f8d3 2780 ldr.w r2, [r3, #1920] - 8020aa8: 697b ldr r3, [r7, #20] - 8020aaa: f8d3 3784 ldr.w r3, [r3, #1924] - 8020aae: ea4f 0383 mov.w r3, r3, lsl #2 - 8020ab2: 4413 add r3, r2 - 8020ab4: 681b ldr r3, [r3, #0] - 8020ab6: 4618 mov r0, r3 - 8020ab8: f04f 0100 mov.w r1, #0 ; 0x0 - 8020abc: f7f8 fb92 bl 80191e4 <_ZN5Etape12setEtapeTypeENS_9EtapeTypeE> - } - if(this->tableauEtapes[this->etapeEnCours]->getEtapeType() == Etape::FEU_MINI_BRAS) - 8020ac0: 697b ldr r3, [r7, #20] - 8020ac2: f8d3 2780 ldr.w r2, [r3, #1920] - 8020ac6: 697b ldr r3, [r7, #20] - 8020ac8: f8d3 3784 ldr.w r3, [r3, #1924] - 8020acc: ea4f 0383 mov.w r3, r3, lsl #2 - 8020ad0: 4413 add r3, r2 - 8020ad2: 681b ldr r3, [r3, #0] - 8020ad4: 4618 mov r0, r3 - 8020ad6: f7f8 fb79 bl 80191cc <_ZN5Etape12getEtapeTypeEv> - 8020ada: 4603 mov r3, r0 - 8020adc: 2b0e cmp r3, #14 - 8020ade: bf14 ite ne - 8020ae0: 2300 movne r3, #0 - 8020ae2: 2301 moveq r3, #1 - 8020ae4: b2db uxtb r3, r3 - 8020ae6: 2b00 cmp r3, #0 - 8020ae8: d00f beq.n 8020b0a <_ZN11StrategieV36updateEv+0x432> - { - this->tableauEtapes[this->etapeEnCours]->setEtapeType(Etape::POINT_PASSAGE); - 8020aea: 697b ldr r3, [r7, #20] - 8020aec: f8d3 2780 ldr.w r2, [r3, #1920] - 8020af0: 697b ldr r3, [r7, #20] - 8020af2: f8d3 3784 ldr.w r3, [r3, #1924] - 8020af6: ea4f 0383 mov.w r3, r3, lsl #2 - 8020afa: 4413 add r3, r2 - 8020afc: 681b ldr r3, [r3, #0] - 8020afe: 4618 mov r0, r3 - 8020b00: f04f 0100 mov.w r1, #0 ; 0x0 - 8020b04: f7f8 fb6e bl 80191e4 <_ZN5Etape12setEtapeTypeENS_9EtapeTypeE> - 8020b08: e03e b.n 8020b88 <_ZN11StrategieV36updateEv+0x4b0> - } - else if(this->tableauEtapes[this->etapeEnCours]->getEtapeType() == Etape::FEU) - 8020b0a: 697b ldr r3, [r7, #20] - 8020b0c: f8d3 2780 ldr.w r2, [r3, #1920] - 8020b10: 697b ldr r3, [r7, #20] - 8020b12: f8d3 3784 ldr.w r3, [r3, #1924] - 8020b16: ea4f 0383 mov.w r3, r3, lsl #2 - 8020b1a: 4413 add r3, r2 - 8020b1c: 681b ldr r3, [r3, #0] - 8020b1e: 4618 mov r0, r3 - 8020b20: f7f8 fb54 bl 80191cc <_ZN5Etape12getEtapeTypeEv> - 8020b24: 4603 mov r3, r0 - 8020b26: 2b03 cmp r3, #3 - 8020b28: bf14 ite ne - 8020b2a: 2300 movne r3, #0 - 8020b2c: 2301 moveq r3, #1 - 8020b2e: b2db uxtb r3, r3 - 8020b30: 2b00 cmp r3, #0 - 8020b32: d00f beq.n 8020b54 <_ZN11StrategieV36updateEv+0x47c> - { - this->tableauEtapes[this->etapeEnCours]->setEtapeType(Etape::POINT_PASSAGE); - 8020b34: 697b ldr r3, [r7, #20] - 8020b36: f8d3 2780 ldr.w r2, [r3, #1920] - 8020b3a: 697b ldr r3, [r7, #20] - 8020b3c: f8d3 3784 ldr.w r3, [r3, #1924] - 8020b40: ea4f 0383 mov.w r3, r3, lsl #2 - 8020b44: 4413 add r3, r2 - 8020b46: 681b ldr r3, [r3, #0] - 8020b48: 4618 mov r0, r3 - 8020b4a: f04f 0100 mov.w r1, #0 ; 0x0 - 8020b4e: f7f8 fb49 bl 80191e4 <_ZN5Etape12setEtapeTypeENS_9EtapeTypeE> - 8020b52: e019 b.n 8020b88 <_ZN11StrategieV36updateEv+0x4b0> - } - else if(this->tableauEtapes[this->etapeEnCours]->getEtapeType() == Etape::DEPOSE_FRUIT) - 8020b54: 697b ldr r3, [r7, #20] - 8020b56: f8d3 2780 ldr.w r2, [r3, #1920] - 8020b5a: 697b ldr r3, [r7, #20] - 8020b5c: f8d3 3784 ldr.w r3, [r3, #1924] - 8020b60: ea4f 0383 mov.w r3, r3, lsl #2 - 8020b64: 4413 add r3, r2 - 8020b66: 681b ldr r3, [r3, #0] - 8020b68: 4618 mov r0, r3 - 8020b6a: f7f8 fb2f bl 80191cc <_ZN5Etape12getEtapeTypeEv> - 8020b6e: 4603 mov r3, r0 - 8020b70: 2b07 cmp r3, #7 - 8020b72: bf14 ite ne - 8020b74: 2300 movne r3, #0 - 8020b76: 2301 moveq r3, #1 - 8020b78: b2db uxtb r3, r3 - 8020b7a: 2b00 cmp r3, #0 - 8020b7c: d004 beq.n 8020b88 <_ZN11StrategieV36updateEv+0x4b0> - { - nombreFruitsTransporte = 0; - 8020b7e: 697a ldr r2, [r7, #20] - 8020b80: f04f 0300 mov.w r3, #0 ; 0x0 - 8020b84: f8c2 3798 str.w r3, [r2, #1944] - } - if(this->tableauEtapes[this->etapeEnCours]->getEtapeType() == Etape::FEU_COTE) - 8020b88: 697b ldr r3, [r7, #20] - 8020b8a: f8d3 2780 ldr.w r2, [r3, #1920] - 8020b8e: 697b ldr r3, [r7, #20] - 8020b90: f8d3 3784 ldr.w r3, [r3, #1924] - 8020b94: ea4f 0383 mov.w r3, r3, lsl #2 - 8020b98: 4413 add r3, r2 - 8020b9a: 681b ldr r3, [r3, #0] - 8020b9c: 4618 mov r0, r3 - 8020b9e: f7f8 fb15 bl 80191cc <_ZN5Etape12getEtapeTypeEv> - 8020ba2: 4603 mov r3, r0 - 8020ba4: 2b0f cmp r3, #15 - 8020ba6: bf14 ite ne - 8020ba8: 2300 movne r3, #0 - 8020baa: 2301 moveq r3, #1 - 8020bac: b2db uxtb r3, r3 - 8020bae: 2b00 cmp r3, #0 - 8020bb0: d00f beq.n 8020bd2 <_ZN11StrategieV36updateEv+0x4fa> - { - this->tableauEtapes[this->etapeEnCours]->setEtapeType(Etape::POINT_PASSAGE); - 8020bb2: 697b ldr r3, [r7, #20] - 8020bb4: f8d3 2780 ldr.w r2, [r3, #1920] - 8020bb8: 697b ldr r3, [r7, #20] - 8020bba: f8d3 3784 ldr.w r3, [r3, #1924] - 8020bbe: ea4f 0383 mov.w r3, r3, lsl #2 - 8020bc2: 4413 add r3, r2 - 8020bc4: 681b ldr r3, [r3, #0] - 8020bc6: 4618 mov r0, r3 - 8020bc8: f04f 0100 mov.w r1, #0 ; 0x0 - 8020bcc: f7f8 fb0a bl 80191e4 <_ZN5Etape12setEtapeTypeENS_9EtapeTypeE> - 8020bd0: e09c b.n 8020d0c <_ZN11StrategieV36updateEv+0x634> -#ifndef ROBOTHW - qDebug() << "feu coté transformé en point de passage"; -#endif - } - else if(this->tableauEtapes[this->etapeEnCours]->getEtapeType() == Etape::DEPOSE_FEU) - 8020bd2: 697b ldr r3, [r7, #20] - 8020bd4: f8d3 2780 ldr.w r2, [r3, #1920] - 8020bd8: 697b ldr r3, [r7, #20] - 8020bda: f8d3 3784 ldr.w r3, [r3, #1924] - 8020bde: ea4f 0383 mov.w r3, r3, lsl #2 - 8020be2: 4413 add r3, r2 - 8020be4: 681b ldr r3, [r3, #0] - 8020be6: 4618 mov r0, r3 - 8020be8: f7f8 faf0 bl 80191cc <_ZN5Etape12getEtapeTypeEv> - 8020bec: 4603 mov r3, r0 - 8020bee: 2b06 cmp r3, #6 - 8020bf0: bf14 ite ne - 8020bf2: 2300 movne r3, #0 - 8020bf4: 2301 moveq r3, #1 - 8020bf6: b2db uxtb r3, r3 - 8020bf8: 2b00 cmp r3, #0 - 8020bfa: d008 beq.n 8020c0e <_ZN11StrategieV36updateEv+0x536> - { - nombreFeuxTransporte--; - 8020bfc: 697b ldr r3, [r7, #20] - 8020bfe: f8d3 379c ldr.w r3, [r3, #1948] - 8020c02: f103 32ff add.w r2, r3, #4294967295 ; 0xffffffff - 8020c06: 697b ldr r3, [r7, #20] - 8020c08: f8c3 279c str.w r2, [r3, #1948] - 8020c0c: e07e b.n 8020d0c <_ZN11StrategieV36updateEv+0x634> - } - else if(this->tableauEtapes[this->etapeEnCours]->getEtapeType() == Etape::TORCHE_MOBILE) - 8020c0e: 697b ldr r3, [r7, #20] - 8020c10: f8d3 2780 ldr.w r2, [r3, #1920] - 8020c14: 697b ldr r3, [r7, #20] - 8020c16: f8d3 3784 ldr.w r3, [r3, #1924] - 8020c1a: ea4f 0383 mov.w r3, r3, lsl #2 - 8020c1e: 4413 add r3, r2 - 8020c20: 681b ldr r3, [r3, #0] - 8020c22: 4618 mov r0, r3 - 8020c24: f7f8 fad2 bl 80191cc <_ZN5Etape12getEtapeTypeEv> - 8020c28: 4603 mov r3, r0 - 8020c2a: 2b08 cmp r3, #8 - 8020c2c: bf14 ite ne - 8020c2e: 2300 movne r3, #0 - 8020c30: 2301 moveq r3, #1 - 8020c32: b2db uxtb r3, r3 - 8020c34: 2b00 cmp r3, #0 - 8020c36: d00f beq.n 8020c58 <_ZN11StrategieV36updateEv+0x580> - { - this->tableauEtapes[this->etapeEnCours]->setEtapeType(Etape::POINT_PASSAGE); - 8020c38: 697b ldr r3, [r7, #20] - 8020c3a: f8d3 2780 ldr.w r2, [r3, #1920] - 8020c3e: 697b ldr r3, [r7, #20] - 8020c40: f8d3 3784 ldr.w r3, [r3, #1924] - 8020c44: ea4f 0383 mov.w r3, r3, lsl #2 - 8020c48: 4413 add r3, r2 - 8020c4a: 681b ldr r3, [r3, #0] - 8020c4c: 4618 mov r0, r3 - 8020c4e: f04f 0100 mov.w r1, #0 ; 0x0 - 8020c52: f7f8 fac7 bl 80191e4 <_ZN5Etape12setEtapeTypeENS_9EtapeTypeE> - 8020c56: e059 b.n 8020d0c <_ZN11StrategieV36updateEv+0x634> - } - else if(this->tableauEtapes[this->etapeEnCours]->getEtapeType() == Etape::FRESQUE) - 8020c58: 697b ldr r3, [r7, #20] - 8020c5a: f8d3 2780 ldr.w r2, [r3, #1920] - 8020c5e: 697b ldr r3, [r7, #20] - 8020c60: f8d3 3784 ldr.w r3, [r3, #1924] - 8020c64: ea4f 0383 mov.w r3, r3, lsl #2 - 8020c68: 4413 add r3, r2 - 8020c6a: 681b ldr r3, [r3, #0] - 8020c6c: 4618 mov r0, r3 - 8020c6e: f7f8 faad bl 80191cc <_ZN5Etape12getEtapeTypeEv> - 8020c72: 4603 mov r3, r0 - 8020c74: 2b04 cmp r3, #4 - 8020c76: bf14 ite ne - 8020c78: 2300 movne r3, #0 - 8020c7a: 2301 moveq r3, #1 - 8020c7c: b2db uxtb r3, r3 - 8020c7e: 2b00 cmp r3, #0 - 8020c80: d005 beq.n 8020c8e <_ZN11StrategieV36updateEv+0x5b6> - { - nombreFresquesTransporte = 0; - 8020c82: 697a ldr r2, [r7, #20] - 8020c84: f04f 0300 mov.w r3, #0 ; 0x0 - 8020c88: f8c2 37a0 str.w r3, [r2, #1952] - 8020c8c: e03e b.n 8020d0c <_ZN11StrategieV36updateEv+0x634> - } - else if(this->tableauEtapes[this->etapeEnCours]->getEtapeType() == Etape::TORCHE_MOBILE) - 8020c8e: 697b ldr r3, [r7, #20] - 8020c90: f8d3 2780 ldr.w r2, [r3, #1920] - 8020c94: 697b ldr r3, [r7, #20] - 8020c96: f8d3 3784 ldr.w r3, [r3, #1924] - 8020c9a: ea4f 0383 mov.w r3, r3, lsl #2 - 8020c9e: 4413 add r3, r2 - 8020ca0: 681b ldr r3, [r3, #0] - 8020ca2: 4618 mov r0, r3 - 8020ca4: f7f8 fa92 bl 80191cc <_ZN5Etape12getEtapeTypeEv> - 8020ca8: 4603 mov r3, r0 - 8020caa: 2b08 cmp r3, #8 - 8020cac: bf14 ite ne - 8020cae: 2300 movne r3, #0 - 8020cb0: 2301 moveq r3, #1 - 8020cb2: b2db uxtb r3, r3 - 8020cb4: 2b00 cmp r3, #0 - 8020cb6: d00f beq.n 8020cd8 <_ZN11StrategieV36updateEv+0x600> - { - //nombreFeuxTransporte++; - this->tableauEtapes[this->etapeEnCours]->setEtapeType(Etape::POINT_PASSAGE); - 8020cb8: 697b ldr r3, [r7, #20] - 8020cba: f8d3 2780 ldr.w r2, [r3, #1920] - 8020cbe: 697b ldr r3, [r7, #20] - 8020cc0: f8d3 3784 ldr.w r3, [r3, #1924] - 8020cc4: ea4f 0383 mov.w r3, r3, lsl #2 - 8020cc8: 4413 add r3, r2 - 8020cca: 681b ldr r3, [r3, #0] - 8020ccc: 4618 mov r0, r3 - 8020cce: f04f 0100 mov.w r1, #0 ; 0x0 - 8020cd2: f7f8 fa87 bl 80191e4 <_ZN5Etape12setEtapeTypeENS_9EtapeTypeE> - 8020cd6: e019 b.n 8020d0c <_ZN11StrategieV36updateEv+0x634> -#ifndef ROBOTHW - qDebug() << "Torche mobile transformée en point de passage"; -#endif - } - else if(this->tableauEtapes[this->etapeEnCours]->getEtapeType() == Etape::TIR_MAMMOUTH) - 8020cd8: 697b ldr r3, [r7, #20] - 8020cda: f8d3 2780 ldr.w r2, [r3, #1920] - 8020cde: 697b ldr r3, [r7, #20] - 8020ce0: f8d3 3784 ldr.w r3, [r3, #1924] - 8020ce4: ea4f 0383 mov.w r3, r3, lsl #2 - 8020ce8: 4413 add r3, r2 - 8020cea: 681b ldr r3, [r3, #0] - 8020cec: 4618 mov r0, r3 - 8020cee: f7f8 fa6d bl 80191cc <_ZN5Etape12getEtapeTypeEv> - 8020cf2: 4603 mov r3, r0 - 8020cf4: 2b0c cmp r3, #12 - 8020cf6: bf14 ite ne - 8020cf8: 2300 movne r3, #0 - 8020cfa: 2301 moveq r3, #1 - 8020cfc: b2db uxtb r3, r3 - 8020cfe: 2b00 cmp r3, #0 - 8020d00: d004 beq.n 8020d0c <_ZN11StrategieV36updateEv+0x634> - { -#ifdef KRABI - nombreLancesTransporte -= ((TireLances*)(this->actionEtape[this->etapeEnCours]))->getNumberDone();//nombreLancesTransporte--; -#else - nombreLancesTransporte = 0; - 8020d02: 697a ldr r2, [r7, #20] - 8020d04: f04f 0300 mov.w r3, #0 ; 0x0 - 8020d08: f8c2 37a4 str.w r3, [r2, #1956] -#endif - } - dijkstra->updateNombreElementsTransportes(nombreFeuxTransporte, nombreFruitsTransporte, nombreFresquesTransporte, nombreLancesTransporte, nombreFiletTransporte); - 8020d0c: 697b ldr r3, [r7, #20] - 8020d0e: f8d3 177c ldr.w r1, [r3, #1916] - 8020d12: 697b ldr r3, [r7, #20] - 8020d14: f8d3 e79c ldr.w lr, [r3, #1948] - 8020d18: 697b ldr r3, [r7, #20] - 8020d1a: f8d3 4798 ldr.w r4, [r3, #1944] - 8020d1e: 697b ldr r3, [r7, #20] - 8020d20: f8d3 c7a0 ldr.w ip, [r3, #1952] - 8020d24: 697b ldr r3, [r7, #20] - 8020d26: f8d3 27a4 ldr.w r2, [r3, #1956] - 8020d2a: 697b ldr r3, [r7, #20] - 8020d2c: f8d3 37a8 ldr.w r3, [r3, #1960] - 8020d30: 9200 str r2, [sp, #0] - 8020d32: 9301 str r3, [sp, #4] - 8020d34: 4608 mov r0, r1 - 8020d36: 4671 mov r1, lr - 8020d38: 4622 mov r2, r4 - 8020d3a: 4663 mov r3, ip - 8020d3c: f7f7 fd8a bl 8018854 <_ZN8Dijkstra31updateNombreElementsTransportesEiiiii> - //le temps restant done - //la trajectoire de notre autre robot - //... - //C'est aussi utilisé pour savoir si on est dans un sous-graphe sans objectif, - //et qu'il faut oublier qu'on a vu des robots - int scoreTypeEtape = 0; - 8020d40: f04f 0300 mov.w r3, #0 ; 0x0 - 8020d44: 623b str r3, [r7, #32] - float modificateurTemporel = 1.f; - 8020d46: f8df 34b4 ldr.w r3, [pc, #1204] ; 80211fc <_ZN11StrategieV36updateEv+0xb24> - 8020d4a: 627b str r3, [r7, #36] - int score = 0; - 8020d4c: f04f 0300 mov.w r3, #0 ; 0x0 - 8020d50: 62bb str r3, [r7, #40] - bool resteDesChosesAFaire = false; - 8020d52: f04f 0300 mov.w r3, #0 ; 0x0 - 8020d56: f887 302f strb.w r3, [r7, #47] - for(int i = 0 ; i < NOMBRE_ETAPES ; i++) - 8020d5a: f04f 0300 mov.w r3, #0 ; 0x0 - 8020d5e: 643b str r3, [r7, #64] - 8020d60: e151 b.n 8021006 <_ZN11StrategieV36updateEv+0x92e> - { - scoreTypeEtape = 0; - 8020d62: f04f 0300 mov.w r3, #0 ; 0x0 - 8020d66: 623b str r3, [r7, #32] - - if(this->tableauEtapes[i]->getEtapeType()==Etape::FEU) - 8020d68: 697b ldr r3, [r7, #20] - 8020d6a: f8d3 2780 ldr.w r2, [r3, #1920] - 8020d6e: 6c3b ldr r3, [r7, #64] - 8020d70: ea4f 0383 mov.w r3, r3, lsl #2 - 8020d74: 4413 add r3, r2 - 8020d76: 681b ldr r3, [r3, #0] - 8020d78: 4618 mov r0, r3 - 8020d7a: f7f8 fa27 bl 80191cc <_ZN5Etape12getEtapeTypeEv> - 8020d7e: 4603 mov r3, r0 - 8020d80: 2b03 cmp r3, #3 - 8020d82: bf14 ite ne - 8020d84: 2300 movne r3, #0 - 8020d86: 2301 moveq r3, #1 - 8020d88: b2db uxtb r3, r3 - 8020d8a: 2b00 cmp r3, #0 - 8020d8c: d002 beq.n 8020d94 <_ZN11StrategieV36updateEv+0x6bc> - scoreTypeEtape = 0; - 8020d8e: f04f 0300 mov.w r3, #0 ; 0x0 - 8020d92: 623b str r3, [r7, #32] - if(this->tableauEtapes[i]->getEtapeType()==Etape::TORCHE_MOBILE) - 8020d94: 697b ldr r3, [r7, #20] - 8020d96: f8d3 2780 ldr.w r2, [r3, #1920] - 8020d9a: 6c3b ldr r3, [r7, #64] - 8020d9c: ea4f 0383 mov.w r3, r3, lsl #2 - 8020da0: 4413 add r3, r2 - 8020da2: 681b ldr r3, [r3, #0] - 8020da4: 4618 mov r0, r3 - 8020da6: f7f8 fa11 bl 80191cc <_ZN5Etape12getEtapeTypeEv> - 8020daa: 4603 mov r3, r0 - 8020dac: 2b08 cmp r3, #8 - 8020dae: bf14 ite ne - 8020db0: 2300 movne r3, #0 - 8020db2: 2301 moveq r3, #1 - 8020db4: b2db uxtb r3, r3 - 8020db6: 2b00 cmp r3, #0 - 8020db8: d002 beq.n 8020dc0 <_ZN11StrategieV36updateEv+0x6e8> - scoreTypeEtape = 1200; - 8020dba: f44f 6396 mov.w r3, #1200 ; 0x4b0 - 8020dbe: 623b str r3, [r7, #32] - if(this->tableauEtapes[i]->getEtapeType()==Etape::FRUIT) - 8020dc0: 697b ldr r3, [r7, #20] - 8020dc2: f8d3 2780 ldr.w r2, [r3, #1920] - 8020dc6: 6c3b ldr r3, [r7, #64] - 8020dc8: ea4f 0383 mov.w r3, r3, lsl #2 - 8020dcc: 4413 add r3, r2 - 8020dce: 681b ldr r3, [r3, #0] - 8020dd0: 4618 mov r0, r3 - 8020dd2: f7f8 f9fb bl 80191cc <_ZN5Etape12getEtapeTypeEv> - 8020dd6: 4603 mov r3, r0 - 8020dd8: 2b02 cmp r3, #2 - 8020dda: bf14 ite ne - 8020ddc: 2300 movne r3, #0 - 8020dde: 2301 moveq r3, #1 - 8020de0: b2db uxtb r3, r3 - 8020de2: 2b00 cmp r3, #0 - 8020de4: d00b beq.n 8020dfe <_ZN11StrategieV36updateEv+0x726> - { - scoreTypeEtape = 100; - 8020de6: f04f 0364 mov.w r3, #100 ; 0x64 - 8020dea: 623b str r3, [r7, #32] - if(millisecondesRestantes < 10 * 1000)//Prise en compte du temps avant la fin du match - 8020dec: 697b ldr r3, [r7, #20] - 8020dee: 695a ldr r2, [r3, #20] - 8020df0: f242 730f movw r3, #9999 ; 0x270f - 8020df4: 429a cmp r2, r3 - 8020df6: dc02 bgt.n 8020dfe <_ZN11StrategieV36updateEv+0x726> - { - modificateurTemporel = 0.1; - 8020df8: f8df 3404 ldr.w r3, [pc, #1028] ; 8021200 <_ZN11StrategieV36updateEv+0xb28> - 8020dfc: 627b str r3, [r7, #36] - } - } - if(this->tableauEtapes[i]->getEtapeType()==Etape::DEPOSE_FRUIT) - 8020dfe: 697b ldr r3, [r7, #20] - 8020e00: f8d3 2780 ldr.w r2, [r3, #1920] - 8020e04: 6c3b ldr r3, [r7, #64] - 8020e06: ea4f 0383 mov.w r3, r3, lsl #2 - 8020e0a: 4413 add r3, r2 - 8020e0c: 681b ldr r3, [r3, #0] - 8020e0e: 4618 mov r0, r3 - 8020e10: f7f8 f9dc bl 80191cc <_ZN5Etape12getEtapeTypeEv> - 8020e14: 4603 mov r3, r0 - 8020e16: 2b07 cmp r3, #7 - 8020e18: bf14 ite ne - 8020e1a: 2300 movne r3, #0 - 8020e1c: 2301 moveq r3, #1 - 8020e1e: b2db uxtb r3, r3 - 8020e20: 2b00 cmp r3, #0 - 8020e22: d002 beq.n 8020e2a <_ZN11StrategieV36updateEv+0x752> - { - scoreTypeEtape = 0 * this->nombreFruitsTransporte; - 8020e24: f04f 0300 mov.w r3, #0 ; 0x0 - 8020e28: 623b str r3, [r7, #32] - } - if(this->tableauEtapes[i]->getEtapeType()==Etape::DEPOSE_FEU) - 8020e2a: 697b ldr r3, [r7, #20] - 8020e2c: f8d3 2780 ldr.w r2, [r3, #1920] - 8020e30: 6c3b ldr r3, [r7, #64] - 8020e32: ea4f 0383 mov.w r3, r3, lsl #2 - 8020e36: 4413 add r3, r2 - 8020e38: 681b ldr r3, [r3, #0] - 8020e3a: 4618 mov r0, r3 - 8020e3c: f7f8 f9c6 bl 80191cc <_ZN5Etape12getEtapeTypeEv> - 8020e40: 4603 mov r3, r0 - 8020e42: 2b06 cmp r3, #6 - 8020e44: bf14 ite ne - 8020e46: 2300 movne r3, #0 - 8020e48: 2301 moveq r3, #1 - 8020e4a: b2db uxtb r3, r3 - 8020e4c: 2b00 cmp r3, #0 - 8020e4e: d002 beq.n 8020e56 <_ZN11StrategieV36updateEv+0x77e> - { - scoreTypeEtape = 0 * this->nombreFeuxTransporte; - 8020e50: f04f 0300 mov.w r3, #0 ; 0x0 - 8020e54: 623b str r3, [r7, #32] - } - if(this->tableauEtapes[i]->getEtapeType()==Etape::FEU_MINI_BRAS) - 8020e56: 697b ldr r3, [r7, #20] - 8020e58: f8d3 2780 ldr.w r2, [r3, #1920] - 8020e5c: 6c3b ldr r3, [r7, #64] - 8020e5e: ea4f 0383 mov.w r3, r3, lsl #2 - 8020e62: 4413 add r3, r2 - 8020e64: 681b ldr r3, [r3, #0] - 8020e66: 4618 mov r0, r3 - 8020e68: f7f8 f9b0 bl 80191cc <_ZN5Etape12getEtapeTypeEv> - 8020e6c: 4603 mov r3, r0 - 8020e6e: 2b0e cmp r3, #14 - 8020e70: bf14 ite ne - 8020e72: 2300 movne r3, #0 - 8020e74: 2301 moveq r3, #1 - 8020e76: b2db uxtb r3, r3 - 8020e78: 2b00 cmp r3, #0 - 8020e7a: d002 beq.n 8020e82 <_ZN11StrategieV36updateEv+0x7aa> - { - scoreTypeEtape = 1200; - 8020e7c: f44f 6396 mov.w r3, #1200 ; 0x4b0 - 8020e80: 623b str r3, [r7, #32] - } - if(this->tableauEtapes[i]->getEtapeType()==Etape::TORCHE_MOBILE) - 8020e82: 697b ldr r3, [r7, #20] - 8020e84: f8d3 2780 ldr.w r2, [r3, #1920] - 8020e88: 6c3b ldr r3, [r7, #64] - 8020e8a: ea4f 0383 mov.w r3, r3, lsl #2 - 8020e8e: 4413 add r3, r2 - 8020e90: 681b ldr r3, [r3, #0] - 8020e92: 4618 mov r0, r3 - 8020e94: f7f8 f99a bl 80191cc <_ZN5Etape12getEtapeTypeEv> - 8020e98: 4603 mov r3, r0 - 8020e9a: 2b08 cmp r3, #8 - 8020e9c: bf14 ite ne - 8020e9e: 2300 movne r3, #0 - 8020ea0: 2301 moveq r3, #1 - 8020ea2: b2db uxtb r3, r3 - 8020ea4: 2b00 cmp r3, #0 - 8020ea6: d002 beq.n 8020eae <_ZN11StrategieV36updateEv+0x7d6> - { - scoreTypeEtape = 1000; - 8020ea8: f44f 737a mov.w r3, #1000 ; 0x3e8 - 8020eac: 623b str r3, [r7, #32] - } - if(this->tableauEtapes[i]->getEtapeType()==Etape::TIR_MAMMOUTH) - 8020eae: 697b ldr r3, [r7, #20] - 8020eb0: f8d3 2780 ldr.w r2, [r3, #1920] - 8020eb4: 6c3b ldr r3, [r7, #64] - 8020eb6: ea4f 0383 mov.w r3, r3, lsl #2 - 8020eba: 4413 add r3, r2 - 8020ebc: 681b ldr r3, [r3, #0] - 8020ebe: 4618 mov r0, r3 - 8020ec0: f7f8 f984 bl 80191cc <_ZN5Etape12getEtapeTypeEv> - 8020ec4: 4603 mov r3, r0 - 8020ec6: 2b0c cmp r3, #12 - 8020ec8: bf14 ite ne - 8020eca: 2300 movne r3, #0 - 8020ecc: 2301 moveq r3, #1 - 8020ece: b2db uxtb r3, r3 - 8020ed0: 2b00 cmp r3, #0 - 8020ed2: d002 beq.n 8020eda <_ZN11StrategieV36updateEv+0x802> - { -#ifdef KRABI - scoreTypeEtape = (((TireLances*)(this->actionEtape[i]))->getNumberDone() >= ((TireLances*)(this->actionEtape[i]))->getNumber() ) ? 0 : 1200 * (this->nombreLancesTransporte > 0); -#else - scoreTypeEtape = 0; - 8020ed4: f04f 0300 mov.w r3, #0 ; 0x0 - 8020ed8: 623b str r3, [r7, #32] -/* - scoreTypeEtape = 100 * this->nombreLancesTransporte; - //scoreTypeEtape = (((TireLances*)(this->actionEtape[i]))->getNumberDone() >= ((TireLances*)(this->actionEtape[i]))->getNumber() ) ? 0 : 100 * this->nombreLancesTransporte; -7a420fecf2d3579c37bd537b72ebd1bfcbf934f1*/ - } - if(this->tableauEtapes[i]->getEtapeType()==Etape::TIR_FILET) - 8020eda: 697b ldr r3, [r7, #20] - 8020edc: f8d3 2780 ldr.w r2, [r3, #1920] - 8020ee0: 6c3b ldr r3, [r7, #64] - 8020ee2: ea4f 0383 mov.w r3, r3, lsl #2 - 8020ee6: 4413 add r3, r2 - 8020ee8: 681b ldr r3, [r3, #0] - 8020eea: 4618 mov r0, r3 - 8020eec: f7f8 f96e bl 80191cc <_ZN5Etape12getEtapeTypeEv> - 8020ef0: 4603 mov r3, r0 - 8020ef2: 2b0d cmp r3, #13 - 8020ef4: bf14 ite ne - 8020ef6: 2300 movne r3, #0 - 8020ef8: 2301 moveq r3, #1 - 8020efa: b2db uxtb r3, r3 - 8020efc: 2b00 cmp r3, #0 - 8020efe: d00d beq.n 8020f1c <_ZN11StrategieV36updateEv+0x844> - { - scoreTypeEtape = 1000000 * (StrategieV2::getTimeSpent() >= 70000);//70000); - 8020f00: f7fe fbec bl 801f6dc <_ZN11StrategieV212getTimeSpentEv> - 8020f04: 4602 mov r2, r0 - 8020f06: 4bbf ldr r3, [pc, #764] (8021204 <_ZN11StrategieV36updateEv+0xb2c>) - 8020f08: 429a cmp r2, r3 - 8020f0a: dd02 ble.n 8020f12 <_ZN11StrategieV36updateEv+0x83a> - 8020f0c: 4bbe ldr r3, [pc, #760] (8021208 <_ZN11StrategieV36updateEv+0xb30>) - 8020f0e: 607b str r3, [r7, #4] - 8020f10: e002 b.n 8020f18 <_ZN11StrategieV36updateEv+0x840> - 8020f12: f04f 0300 mov.w r3, #0 ; 0x0 - 8020f16: 607b str r3, [r7, #4] - 8020f18: 687b ldr r3, [r7, #4] - 8020f1a: 623b str r3, [r7, #32] - } - if(this->tableauEtapes[i]->getEtapeType()==Etape::FRESQUE) - 8020f1c: 697b ldr r3, [r7, #20] - 8020f1e: f8d3 2780 ldr.w r2, [r3, #1920] - 8020f22: 6c3b ldr r3, [r7, #64] - 8020f24: ea4f 0383 mov.w r3, r3, lsl #2 - 8020f28: 4413 add r3, r2 - 8020f2a: 681b ldr r3, [r3, #0] - 8020f2c: 4618 mov r0, r3 - 8020f2e: f7f8 f94d bl 80191cc <_ZN5Etape12getEtapeTypeEv> - 8020f32: 4603 mov r3, r0 - 8020f34: 2b04 cmp r3, #4 - 8020f36: bf14 ite ne - 8020f38: 2300 movne r3, #0 - 8020f3a: 2301 moveq r3, #1 - 8020f3c: b2db uxtb r3, r3 - 8020f3e: 2b00 cmp r3, #0 - 8020f40: d00b beq.n 8020f5a <_ZN11StrategieV36updateEv+0x882> - { - scoreTypeEtape = 100 * this->nombreFresquesTransporte;// 10000 * this->nombreFresquesTransporte; - 8020f42: 697b ldr r3, [r7, #20] - 8020f44: f8d3 37a0 ldr.w r3, [r3, #1952] - 8020f48: ea4f 0383 mov.w r3, r3, lsl #2 - 8020f4c: ea4f 0283 mov.w r2, r3, lsl #2 - 8020f50: 4413 add r3, r2 - 8020f52: ea4f 0283 mov.w r2, r3, lsl #2 - 8020f56: 4413 add r3, r2 - 8020f58: 623b str r3, [r7, #32] - } - if(this->tableauEtapes[i]->getEtapeType()==Etape::FEU_COTE_NOTRE_COULEUR_FACE_EXTERIEUR - 8020f5a: 697b ldr r3, [r7, #20] - 8020f5c: f8d3 2780 ldr.w r2, [r3, #1920] - 8020f60: 6c3b ldr r3, [r7, #64] - 8020f62: ea4f 0383 mov.w r3, r3, lsl #2 - 8020f66: 4413 add r3, r2 - 8020f68: 681b ldr r3, [r3, #0] - 8020f6a: 4618 mov r0, r3 - 8020f6c: f7f8 f92e bl 80191cc <_ZN5Etape12getEtapeTypeEv> - 8020f70: 4603 mov r3, r0 - 8020f72: 2b0a cmp r3, #10 - 8020f74: d00d beq.n 8020f92 <_ZN11StrategieV36updateEv+0x8ba> - 8020f76: 697b ldr r3, [r7, #20] - 8020f78: f8d3 2780 ldr.w r2, [r3, #1920] - 8020f7c: 6c3b ldr r3, [r7, #64] - 8020f7e: ea4f 0383 mov.w r3, r3, lsl #2 - 8020f82: 4413 add r3, r2 - 8020f84: 681b ldr r3, [r3, #0] - 8020f86: 4618 mov r0, r3 - 8020f88: f7f8 f920 bl 80191cc <_ZN5Etape12getEtapeTypeEv> - 8020f8c: 4603 mov r3, r0 - 8020f8e: 2b09 cmp r3, #9 - 8020f90: d103 bne.n 8020f9a <_ZN11StrategieV36updateEv+0x8c2> - 8020f92: f04f 0301 mov.w r3, #1 ; 0x1 - 8020f96: 60bb str r3, [r7, #8] - 8020f98: e002 b.n 8020fa0 <_ZN11StrategieV36updateEv+0x8c8> - 8020f9a: f04f 0300 mov.w r3, #0 ; 0x0 - 8020f9e: 60bb str r3, [r7, #8] - 8020fa0: 68bb ldr r3, [r7, #8] - 8020fa2: 2b00 cmp r3, #0 - 8020fa4: d002 beq.n 8020fac <_ZN11StrategieV36updateEv+0x8d4> - || this->tableauEtapes[i]->getEtapeType()==Etape::FEU_COTE_NOTRE_COULEUR_FACE_TERRAIN) - { - scoreTypeEtape = 0; - 8020fa6: f04f 0300 mov.w r3, #0 ; 0x0 - 8020faa: 623b str r3, [r7, #32] - } - if(this->tableauEtapes[i]->getEtapeType()==Etape::FEU_COTE) - 8020fac: 697b ldr r3, [r7, #20] - 8020fae: f8d3 2780 ldr.w r2, [r3, #1920] - 8020fb2: 6c3b ldr r3, [r7, #64] - 8020fb4: ea4f 0383 mov.w r3, r3, lsl #2 - 8020fb8: 4413 add r3, r2 - 8020fba: 681b ldr r3, [r3, #0] - 8020fbc: 4618 mov r0, r3 - 8020fbe: f7f8 f905 bl 80191cc <_ZN5Etape12getEtapeTypeEv> - 8020fc2: 4603 mov r3, r0 - 8020fc4: 2b0f cmp r3, #15 - 8020fc6: bf14 ite ne - 8020fc8: 2300 movne r3, #0 - 8020fca: 2301 moveq r3, #1 - 8020fcc: b2db uxtb r3, r3 - 8020fce: 2b00 cmp r3, #0 - 8020fd0: d002 beq.n 8020fd8 <_ZN11StrategieV36updateEv+0x900> - { - scoreTypeEtape = 1000; - 8020fd2: f44f 737a mov.w r3, #1000 ; 0x3e8 - 8020fd6: 623b str r3, [r7, #32] - } - - if(scoreTypeEtape) - 8020fd8: 6a3b ldr r3, [r7, #32] - 8020fda: 2b00 cmp r3, #0 - 8020fdc: d003 beq.n 8020fe6 <_ZN11StrategieV36updateEv+0x90e> - { - resteDesChosesAFaire = true; - 8020fde: f04f 0301 mov.w r3, #1 ; 0x1 - 8020fe2: f887 302f strb.w r3, [r7, #47] - - } - - this->tableauEtapes[i]->setScore(scoreTypeEtape); - 8020fe6: 697b ldr r3, [r7, #20] - 8020fe8: f8d3 2780 ldr.w r2, [r3, #1920] - 8020fec: 6c3b ldr r3, [r7, #64] - 8020fee: ea4f 0383 mov.w r3, r3, lsl #2 - 8020ff2: 4413 add r3, r2 - 8020ff4: 681b ldr r3, [r3, #0] - 8020ff6: 4618 mov r0, r3 - 8020ff8: 6a39 ldr r1, [r7, #32] - 8020ffa: f7f8 f9b9 bl 8019370 <_ZN5Etape8setScoreEi> - //et qu'il faut oublier qu'on a vu des robots - int scoreTypeEtape = 0; - float modificateurTemporel = 1.f; - int score = 0; - bool resteDesChosesAFaire = false; - for(int i = 0 ; i < NOMBRE_ETAPES ; i++) - 8020ffe: 6c3b ldr r3, [r7, #64] - 8021000: f103 0301 add.w r3, r3, #1 ; 0x1 - 8021004: 643b str r3, [r7, #64] - 8021006: 6c3b ldr r3, [r7, #64] - 8021008: 2b1e cmp r3, #30 - 802100a: f77f aeaa ble.w 8020d62 <_ZN11StrategieV36updateEv+0x68a> - this->tableauEtapes[i]->setScore(scoreTypeEtape); - } - - // S'il n'y a plus d'objectif dans tout le graphe, on se replit vers une position où on ne bloque pas l'adversaire. - // Sinon, il y a risque de prendre un avertissement pour anti-jeu (évité de peu pour le premier match de Krabi 2014) - if(!resteDesChosesAFaire) - 802100e: f897 302f ldrb.w r3, [r7, #47] - 8021012: f083 0301 eor.w r3, r3, #1 ; 0x1 - 8021016: b2db uxtb r3, r3 - 8021018: 2b00 cmp r3, #0 - 802101a: d019 beq.n 8021050 <_ZN11StrategieV36updateEv+0x978> - { - if(this->etapeEnCours == 25) - 802101c: 697b ldr r3, [r7, #20] - 802101e: f8d3 3784 ldr.w r3, [r3, #1924] - 8021022: 2b19 cmp r3, #25 - 8021024: d109 bne.n 802103a <_ZN11StrategieV36updateEv+0x962> - { - this->statusStrat=-1;//Plus rien à faire, on passe à l'action suivante de stratégieV2 - 8021026: 697b ldr r3, [r7, #20] - 8021028: f04f 32ff mov.w r2, #4294967295 ; 0xffffffff - 802102c: f8c3 2790 str.w r2, [r3, #1936] - return this->statusStrat; - 8021030: 697b ldr r3, [r7, #20] - 8021032: f8d3 3790 ldr.w r3, [r3, #1936] - 8021036: 60fb str r3, [r7, #12] - 8021038: e0da b.n 80211f0 <_ZN11StrategieV36updateEv+0xb18> - } - else - { - this->tableauEtapes[25]->setScore(1000); - 802103a: 697b ldr r3, [r7, #20] - 802103c: f8d3 3780 ldr.w r3, [r3, #1920] - 8021040: f103 0364 add.w r3, r3, #100 ; 0x64 - 8021044: 681b ldr r3, [r3, #0] - 8021046: 4618 mov r0, r3 - 8021048: f44f 717a mov.w r1, #1000 ; 0x3e8 - 802104c: f7f8 f990 bl 8019370 <_ZN5Etape8setScoreEi> - } - } - - //On recalcul les distances par rapport à l'étape où l'on vient d'arriver - dijkstra->setEtapeCourante(this->etapeEnCours); - 8021050: 697b ldr r3, [r7, #20] - 8021052: f8d3 277c ldr.w r2, [r3, #1916] - 8021056: 697b ldr r3, [r7, #20] - 8021058: f8d3 3784 ldr.w r3, [r3, #1924] - 802105c: 4610 mov r0, r2 - 802105e: 4619 mov r1, r3 - 8021060: f7f7 fbea bl 8018838 <_ZN8Dijkstra16setEtapeCouranteEi> - if(dijkstra->run() != 0) - 8021064: 697b ldr r3, [r7, #20] - 8021066: f8d3 377c ldr.w r3, [r3, #1916] - 802106a: 4618 mov r0, r3 - 802106c: f7f7 ff02 bl 8018e74 <_ZN8Dijkstra3runEv> - 8021070: 4603 mov r3, r0 - 8021072: 2b00 cmp r3, #0 - 8021074: bf0c ite eq - 8021076: 2300 moveq r3, #0 - 8021078: 2301 movne r3, #1 - 802107a: b2db uxtb r3, r3 - 802107c: 2b00 cmp r3, #0 - 802107e: d015 beq.n 80210ac <_ZN11StrategieV36updateEv+0x9d4> - { - // Si run renvoit autre chose que 0, c'est que l'étape en cours a changée. - // Cela arrive pour débloquer le robot - //Etape* ancienneEtape = this->tableauEtapes[this->etapeEnCours]; - //this->etapeEnCours = this->tableauEtapes[this->etapeEnCours]->getParent()->getNumero(); - this->actionEtape[this->etapeEnCours]->reset(); - 8021080: 697b ldr r3, [r7, #20] - 8021082: f8d3 3784 ldr.w r3, [r3, #1924] - 8021086: 697a ldr r2, [r7, #20] - 8021088: f103 0306 add.w r3, r3, #6 ; 0x6 - 802108c: f852 3023 ldr.w r3, [r2, r3, lsl #2] - 8021090: 681b ldr r3, [r3, #0] - 8021092: f103 0314 add.w r3, r3, #20 ; 0x14 - 8021096: 6819 ldr r1, [r3, #0] - 8021098: 697b ldr r3, [r7, #20] - 802109a: f8d3 3784 ldr.w r3, [r3, #1924] - 802109e: 697a ldr r2, [r7, #20] - 80210a0: f103 0306 add.w r3, r3, #6 ; 0x6 - 80210a4: f852 3023 ldr.w r3, [r2, r3, lsl #2] - 80210a8: 4618 mov r0, r3 - 80210aa: 4788 blx r1 - } - - //On sélectionne l'objectif le plus prometteur : pas trop loin et qui rapporte - int meilleurEtape = -1; - 80210ac: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 80210b0: 633b str r3, [r7, #48] - int scoreMaxi = -100000; - 80210b2: 4b56 ldr r3, [pc, #344] (802120c <_ZN11StrategieV36updateEv+0xb34>) - 80210b4: 637b str r3, [r7, #52] - - //int scoreTypeEtape = 0; - for(int i = 0 ; i < NOMBRE_ETAPES ; i++) - 80210b6: f04f 0300 mov.w r3, #0 ; 0x0 - 80210ba: 647b str r3, [r7, #68] - 80210bc: e054 b.n 8021168 <_ZN11StrategieV36updateEv+0xa90> - { - scoreTypeEtape = this->tableauEtapes[i]->getScore(); - 80210be: 697b ldr r3, [r7, #20] - 80210c0: f8d3 2780 ldr.w r2, [r3, #1920] - 80210c4: 6c7b ldr r3, [r7, #68] - 80210c6: ea4f 0383 mov.w r3, r3, lsl #2 - 80210ca: 4413 add r3, r2 - 80210cc: 681b ldr r3, [r3, #0] - 80210ce: 4618 mov r0, r3 - 80210d0: f7f8 f95c bl 801938c <_ZN5Etape8getScoreEv> - 80210d4: 4603 mov r3, r0 - 80210d6: 623b str r3, [r7, #32] - score = modificateurTemporel*(10000-this->tableauEtapes[i]->getDistance() + scoreTypeEtape); - 80210d8: 697b ldr r3, [r7, #20] - 80210da: f8d3 2780 ldr.w r2, [r3, #1920] - 80210de: 6c7b ldr r3, [r7, #68] - 80210e0: ea4f 0383 mov.w r3, r3, lsl #2 - 80210e4: 4413 add r3, r2 - 80210e6: 681b ldr r3, [r3, #0] - 80210e8: 4618 mov r0, r3 - 80210ea: f7f8 f82d bl 8019148 <_ZN5Etape11getDistanceEv> - 80210ee: 4603 mov r3, r0 - 80210f0: f5c3 531c rsb r3, r3, #9984 ; 0x2700 - 80210f4: f103 0310 add.w r3, r3, #16 ; 0x10 - 80210f8: 6a3a ldr r2, [r7, #32] - 80210fa: 4413 add r3, r2 - 80210fc: 4618 mov r0, r3 - 80210fe: f00b ff07 bl 802cf10 <__aeabi_i2f> - 8021102: 4603 mov r3, r0 - 8021104: 4618 mov r0, r3 - 8021106: 6a79 ldr r1, [r7, #36] - 8021108: f00b ff56 bl 802cfb8 <__aeabi_fmul> - 802110c: 4603 mov r3, r0 - 802110e: 4618 mov r0, r3 - 8021110: f00c f916 bl 802d340 <__aeabi_f2iz> - 8021114: 4603 mov r3, r0 - 8021116: 62bb str r3, [r7, #40] - if((scoreMaxi < score) && scoreTypeEtape && (this->tableauEtapes[i]->getDistance() != -1)) - 8021118: 6b7a ldr r2, [r7, #52] - 802111a: 6abb ldr r3, [r7, #40] - 802111c: 429a cmp r2, r3 - 802111e: da15 bge.n 802114c <_ZN11StrategieV36updateEv+0xa74> - 8021120: 6a3b ldr r3, [r7, #32] - 8021122: 2b00 cmp r3, #0 - 8021124: d012 beq.n 802114c <_ZN11StrategieV36updateEv+0xa74> - 8021126: 697b ldr r3, [r7, #20] - 8021128: f8d3 2780 ldr.w r2, [r3, #1920] - 802112c: 6c7b ldr r3, [r7, #68] - 802112e: ea4f 0383 mov.w r3, r3, lsl #2 - 8021132: 4413 add r3, r2 - 8021134: 681b ldr r3, [r3, #0] - 8021136: 4618 mov r0, r3 - 8021138: f7f8 f806 bl 8019148 <_ZN5Etape11getDistanceEv> - 802113c: 4603 mov r3, r0 - 802113e: f1b3 3fff cmp.w r3, #4294967295 ; 0xffffffff - 8021142: d003 beq.n 802114c <_ZN11StrategieV36updateEv+0xa74> - 8021144: f04f 0301 mov.w r3, #1 ; 0x1 - 8021148: 613b str r3, [r7, #16] - 802114a: e002 b.n 8021152 <_ZN11StrategieV36updateEv+0xa7a> - 802114c: f04f 0300 mov.w r3, #0 ; 0x0 - 8021150: 613b str r3, [r7, #16] - 8021152: 693b ldr r3, [r7, #16] - 8021154: 2b00 cmp r3, #0 - 8021156: d003 beq.n 8021160 <_ZN11StrategieV36updateEv+0xa88> - { - scoreMaxi = score; - 8021158: 6abb ldr r3, [r7, #40] - 802115a: 637b str r3, [r7, #52] - meilleurEtape = i; - 802115c: 6c7b ldr r3, [r7, #68] - 802115e: 633b str r3, [r7, #48] - //On sélectionne l'objectif le plus prometteur : pas trop loin et qui rapporte - int meilleurEtape = -1; - int scoreMaxi = -100000; - - //int scoreTypeEtape = 0; - for(int i = 0 ; i < NOMBRE_ETAPES ; i++) - 8021160: 6c7b ldr r3, [r7, #68] - 8021162: f103 0301 add.w r3, r3, #1 ; 0x1 - 8021166: 647b str r3, [r7, #68] - 8021168: 6c7b ldr r3, [r7, #68] - 802116a: 2b1e cmp r3, #30 - 802116c: dda7 ble.n 80210be <_ZN11StrategieV36updateEv+0x9e6> - scoreMaxi = score; - meilleurEtape = i; - } - } - - if(meilleurEtape==-1) - 802116e: 6b3b ldr r3, [r7, #48] - 8021170: f1b3 3fff cmp.w r3, #4294967295 ; 0xffffffff - 8021174: d111 bne.n 802119a <_ZN11StrategieV36updateEv+0xac2> - { - if(this->etapeEnCours == 25) - 8021176: 697b ldr r3, [r7, #20] - 8021178: f8d3 3784 ldr.w r3, [r3, #1924] - 802117c: 2b19 cmp r3, #25 - 802117e: d109 bne.n 8021194 <_ZN11StrategieV36updateEv+0xabc> - { - this->statusStrat=-1;//Plus rien à faire, on passe à l'action suivante de stratégieV2 - 8021180: 697b ldr r3, [r7, #20] - 8021182: f04f 32ff mov.w r2, #4294967295 ; 0xffffffff - 8021186: f8c3 2790 str.w r2, [r3, #1936] - return this->statusStrat; - 802118a: 697b ldr r3, [r7, #20] - 802118c: f8d3 3790 ldr.w r3, [r3, #1936] - 8021190: 60fb str r3, [r7, #12] - 8021192: e02d b.n 80211f0 <_ZN11StrategieV36updateEv+0xb18> - } - else - { - meilleurEtape = 25; - 8021194: f04f 0319 mov.w r3, #25 ; 0x19 - 8021198: 633b str r3, [r7, #48] - } - } - - //Si c'est un fruit, on considère déjà qu'on l'a attrapé - if(this->tableauEtapes[meilleurEtape]->getEtapeType()==Etape::DEPOSE_FRUIT) - 802119a: 697b ldr r3, [r7, #20] - 802119c: f8d3 2780 ldr.w r2, [r3, #1920] - 80211a0: 6b3b ldr r3, [r7, #48] - 80211a2: ea4f 0383 mov.w r3, r3, lsl #2 - 80211a6: 4413 add r3, r2 - 80211a8: 681b ldr r3, [r3, #0] - 80211aa: 4618 mov r0, r3 - 80211ac: f7f8 f80e bl 80191cc <_ZN5Etape12getEtapeTypeEv> - 80211b0: 4603 mov r3, r0 - 80211b2: 2b07 cmp r3, #7 - 80211b4: bf14 ite ne - 80211b6: 2300 movne r3, #0 - 80211b8: 2301 moveq r3, #1 - 80211ba: b2db uxtb r3, r3 - 80211bc: 2b00 cmp r3, #0 - 80211be: d007 beq.n 80211d0 <_ZN11StrategieV36updateEv+0xaf8> - { - this->nombreFruitsTransporte++; - 80211c0: 697b ldr r3, [r7, #20] - 80211c2: f8d3 3798 ldr.w r3, [r3, #1944] - 80211c6: f103 0201 add.w r2, r3, #1 ; 0x1 - 80211ca: 697b ldr r3, [r7, #20] - 80211cc: f8c3 2798 str.w r2, [r3, #1944] - } - - this->goal = meilleurEtape; - 80211d0: 697a ldr r2, [r7, #20] - 80211d2: 6b3b ldr r3, [r7, #48] - 80211d4: f8c2 378c str.w r3, [r2, #1932] - this->statusStrat = 2;//Jusqu'à preuve du contraire, la prochaine étape est une étape intermédiaire - 80211d8: 697a ldr r2, [r7, #20] - 80211da: f04f 0302 mov.w r3, #2 ; 0x2 - 80211de: f8c2 3790 str.w r3, [r2, #1936] - this->updateIntermedaire();//On y va - 80211e2: 6978 ldr r0, [r7, #20] - 80211e4: f7ff f9c6 bl 8020574 <_ZN11StrategieV318updateIntermedaireEv> - } - } - return this->statusStrat; - 80211e8: 697b ldr r3, [r7, #20] - 80211ea: f8d3 3790 ldr.w r3, [r3, #1936] - 80211ee: 60fb str r3, [r7, #12] - 80211f0: 68fb ldr r3, [r7, #12] -} - 80211f2: 4618 mov r0, r3 - 80211f4: f107 074c add.w r7, r7, #76 ; 0x4c - 80211f8: 46bd mov sp, r7 - 80211fa: bd90 pop {r4, r7, pc} - 80211fc: 3f800000 .word 0x3f800000 - 8021200: 3dcccccd .word 0x3dcccccd - 8021204: 0001116f .word 0x0001116f - 8021208: 000f4240 .word 0x000f4240 - 802120c: fffe7960 .word 0xfffe7960 - -08021210 <_ZN11StrategieV3C1Eb>: - #include -#endif -//#include - - -StrategieV3::StrategieV3(bool isBlue) : MediumLevelAction() - 8021210: b590 push {r4, r7, lr} - 8021212: f5ad 6d3e sub.w sp, sp, #3040 ; 0xbe0 - 8021216: b085 sub sp, #20 - 8021218: af06 add r7, sp, #24 - 802121a: f507 739c add.w r3, r7, #312 ; 0x138 - 802121e: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8021222: 6018 str r0, [r3, #0] - 8021224: 460a mov r2, r1 - 8021226: f507 739c add.w r3, r7, #312 ; 0x138 - 802122a: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 802122e: 701a strb r2, [r3, #0] - 8021230: f507 739c add.w r3, r7, #312 ; 0x138 - 8021234: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8021238: 681c ldr r4, [r3, #0] - 802123a: f507 739c add.w r3, r7, #312 ; 0x138 - 802123e: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 8021242: 4618 mov r0, r3 - 8021244: 4938 ldr r1, [pc, #224] (8021328 <_ZN11StrategieV3C1Eb+0x118>) - 8021246: 4a38 ldr r2, [pc, #224] (8021328 <_ZN11StrategieV3C1Eb+0x118>) - 8021248: f04f 0301 mov.w r3, #1 ; 0x1 - 802124c: f7f6 fab0 bl 80177b0 <_ZN8PositionC1Effb> - 8021250: f507 739c add.w r3, r7, #312 ; 0x138 - 8021254: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 8021258: 4620 mov r0, r4 - 802125a: e893 0006 ldmia.w r3, {r1, r2} - 802125e: f7fa ff17 bl 801c090 <_ZN17MediumLevelActionC2E8Position> - 8021262: f507 739c add.w r3, r7, #312 ; 0x138 - 8021266: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802126a: 681a ldr r2, [r3, #0] - 802126c: 4b2f ldr r3, [pc, #188] (802132c <_ZN11StrategieV3C1Eb+0x11c>) - 802126e: 6013 str r3, [r2, #0] - 8021270: f507 739c add.w r3, r7, #312 ; 0x138 - 8021274: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8021278: 681b ldr r3, [r3, #0] - 802127a: f103 0394 add.w r3, r3, #148 ; 0x94 - 802127e: 603b str r3, [r7, #0] - 8021280: f04f 021e mov.w r2, #30 ; 0x1e - 8021284: 607a str r2, [r7, #4] - 8021286: e01f b.n 80212c8 <_ZN11StrategieV3C1Eb+0xb8> - 8021288: f507 739c add.w r3, r7, #312 ; 0x138 - 802128c: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8021290: 4618 mov r0, r3 - 8021292: 4925 ldr r1, [pc, #148] (8021328 <_ZN11StrategieV3C1Eb+0x118>) - 8021294: 4a24 ldr r2, [pc, #144] (8021328 <_ZN11StrategieV3C1Eb+0x118>) - 8021296: f04f 0301 mov.w r3, #1 ; 0x1 - 802129a: f7f6 fa89 bl 80177b0 <_ZN8PositionC1Effb> - 802129e: f507 739c add.w r3, r7, #312 ; 0x138 - 80212a2: f1a3 030c sub.w r3, r3, #12 ; 0xc - 80212a6: 4a22 ldr r2, [pc, #136] (8021330 <_ZN11StrategieV3C1Eb+0x120>) - 80212a8: 9200 str r2, [sp, #0] - 80212aa: 6838 ldr r0, [r7, #0] - 80212ac: e893 0006 ldmia.w r3, {r1, r2} - 80212b0: f04f 0300 mov.w r3, #0 ; 0x0 - 80212b4: f7f6 ffb4 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 80212b8: 683b ldr r3, [r7, #0] - 80212ba: f103 0330 add.w r3, r3, #48 ; 0x30 - 80212be: 603b str r3, [r7, #0] - 80212c0: 687a ldr r2, [r7, #4] - 80212c2: f102 32ff add.w r2, r2, #4294967295 ; 0xffffffff - 80212c6: 607a str r2, [r7, #4] - 80212c8: 687b ldr r3, [r7, #4] - 80212ca: f1b3 3fff cmp.w r3, #4294967295 ; 0xffffffff - 80212ce: d1db bne.n 8021288 <_ZN11StrategieV3C1Eb+0x78> - 80212d0: f507 739c add.w r3, r7, #312 ; 0x138 - 80212d4: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80212d8: 681b ldr r3, [r3, #0] - 80212da: f503 63cc add.w r3, r3, #1632 ; 0x660 - 80212de: f103 0304 add.w r3, r3, #4 ; 0x4 - 80212e2: 60bb str r3, [r7, #8] - 80212e4: f04f 0203 mov.w r2, #3 ; 0x3 - 80212e8: 60fa str r2, [r7, #12] - 80212ea: e00a b.n 8021302 <_ZN11StrategieV3C1Eb+0xf2> - 80212ec: 68b8 ldr r0, [r7, #8] - 80212ee: f7fa fb47 bl 801b980 <_ZN7FeuCoteC1Ev> - 80212f2: 68bb ldr r3, [r7, #8] - 80212f4: f103 033c add.w r3, r3, #60 ; 0x3c - 80212f8: 60bb str r3, [r7, #8] - 80212fa: 68fa ldr r2, [r7, #12] - 80212fc: f102 32ff add.w r2, r2, #4294967295 ; 0xffffffff - 8021300: 60fa str r2, [r7, #12] - 8021302: 68fb ldr r3, [r7, #12] - 8021304: f1b3 3fff cmp.w r3, #4294967295 ; 0xffffffff - 8021308: d1f0 bne.n 80212ec <_ZN11StrategieV3C1Eb+0xdc> - 802130a: f507 739c add.w r3, r7, #312 ; 0x138 - 802130e: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8021312: 681b ldr r3, [r3, #0] - 8021314: f503 63ea add.w r3, r3, #1872 ; 0x750 - 8021318: f103 0304 add.w r3, r3, #4 ; 0x4 - 802131c: 613b str r3, [r7, #16] - 802131e: f04f 0200 mov.w r2, #0 ; 0x0 - 8021322: 617a str r2, [r7, #20] - 8021324: e011 b.n 802134a <_ZN11StrategieV3C1Eb+0x13a> - 8021326: 46c0 nop (mov r8, r8) - 8021328: 00000000 .word 0x00000000 - 802132c: 08034170 .word 0x08034170 - 8021330: 41f00000 .word 0x41f00000 - 8021334: 6938 ldr r0, [r7, #16] - 8021336: f7f7 f959 bl 80185ec <_ZN12DeposeFruitsC1Ev> - 802133a: 693b ldr r3, [r7, #16] - 802133c: f103 0328 add.w r3, r3, #40 ; 0x28 - 8021340: 613b str r3, [r7, #16] - 8021342: 697a ldr r2, [r7, #20] - 8021344: f102 32ff add.w r2, r2, #4294967295 ; 0xffffffff - 8021348: 617a str r2, [r7, #20] - 802134a: 697b ldr r3, [r7, #20] - 802134c: f1b3 3fff cmp.w r3, #4294967295 ; 0xffffffff - 8021350: d1f0 bne.n 8021334 <_ZN11StrategieV3C1Eb+0x124> -{ - this->avoiding = false; - 8021352: f507 739c add.w r3, r7, #312 ; 0x138 - 8021356: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802135a: 681a ldr r2, [r3, #0] - 802135c: f04f 0300 mov.w r3, #0 ; 0x0 - 8021360: f882 3788 strb.w r3, [r2, #1928] - this->etapeEnCours = 0; - 8021364: f507 739c add.w r3, r7, #312 ; 0x138 - 8021368: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802136c: 681a ldr r2, [r3, #0] - 802136e: f04f 0300 mov.w r3, #0 ; 0x0 - 8021372: f8c2 3784 str.w r3, [r2, #1924] - this->statusStrat=1; - 8021376: f507 739c add.w r3, r7, #312 ; 0x138 - 802137a: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802137e: 681a ldr r2, [r3, #0] - 8021380: f04f 0301 mov.w r3, #1 ; 0x1 - 8021384: f8c2 3790 str.w r3, [r2, #1936] - this->enTrainEviterReculant = false; - 8021388: f507 739c add.w r3, r7, #312 ; 0x138 - 802138c: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8021390: 681a ldr r2, [r3, #0] - 8021392: f04f 0300 mov.w r3, #0 ; 0x0 - 8021396: f882 3794 strb.w r3, [r2, #1940] - this->enTrainEviterAvancant = false; - 802139a: f507 739c add.w r3, r7, #312 ; 0x138 - 802139e: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80213a2: 681a ldr r2, [r3, #0] - 80213a4: f04f 0300 mov.w r3, #0 ; 0x0 - 80213a8: f882 3795 strb.w r3, [r2, #1941] - this->millisecondesRestantes = 90 * 1000; - 80213ac: f507 739c add.w r3, r7, #312 ; 0x138 - 80213b0: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80213b4: 681a ldr r2, [r3, #0] - 80213b6: f8df 3da0 ldr.w r3, [pc, #3488] ; 8022158 <_ZN11StrategieV3C1Eb+0xf48> - 80213ba: 6153 str r3, [r2, #20] - //FIN KRABI - #endif - - #ifdef KRABI_JR - /// KARBI-JUNIOR - this->nombreFruitsTransporte = 0; - 80213bc: f507 739c add.w r3, r7, #312 ; 0x138 - 80213c0: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80213c4: 681a ldr r2, [r3, #0] - 80213c6: f04f 0300 mov.w r3, #0 ; 0x0 - 80213ca: f8c2 3798 str.w r3, [r2, #1944] - this->nombreFeuxTransporte = 0; - 80213ce: f507 739c add.w r3, r7, #312 ; 0x138 - 80213d2: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80213d6: 681a ldr r2, [r3, #0] - 80213d8: f04f 0300 mov.w r3, #0 ; 0x0 - 80213dc: f8c2 379c str.w r3, [r2, #1948] - this->nombreFresquesTransporte = 0; - 80213e0: f507 739c add.w r3, r7, #312 ; 0x138 - 80213e4: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80213e8: 681a ldr r2, [r3, #0] - 80213ea: f04f 0300 mov.w r3, #0 ; 0x0 - 80213ee: f8c2 37a0 str.w r3, [r2, #1952] - this->nombreLancesTransporte = 0; - 80213f2: f507 739c add.w r3, r7, #312 ; 0x138 - 80213f6: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80213fa: 681a ldr r2, [r3, #0] - 80213fc: f04f 0300 mov.w r3, #0 ; 0x0 - 8021400: f8c2 37a4 str.w r3, [r2, #1956] - - //etape2 = new Etape(Position(185, 1200, isBlue), tableauEtapes2, 2, 2, Etape::FEU_COTE_NOTRE_COULEUR_FACE_EXTERIEUR, -1, 0); - actionFeuCote[0] = FeuCote(isBlue, Position(185, 1200, isBlue), FeuCote::NOTRE_BORDURE, FeuCote::NOTRE_COULEUR_VERS_EXTERIEUR, FeuCote::COTE_NOTRE_DEPART); - 8021404: f507 739c add.w r3, r7, #312 ; 0x138 - 8021408: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802140c: 681b ldr r3, [r3, #0] - 802140e: f503 64cc add.w r4, r3, #1632 ; 0x660 - 8021412: f104 0404 add.w r4, r4, #4 ; 0x4 - 8021416: f507 72bc add.w r2, r7, #376 ; 0x178 - 802141a: f1a2 0208 sub.w r2, r2, #8 ; 0x8 - 802141e: f507 739c add.w r3, r7, #312 ; 0x138 - 8021422: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8021426: 781b ldrb r3, [r3, #0] - 8021428: 4610 mov r0, r2 - 802142a: f8df 1d30 ldr.w r1, [pc, #3376] ; 802215c <_ZN11StrategieV3C1Eb+0xf4c> - 802142e: f8df 2d30 ldr.w r2, [pc, #3376] ; 8022160 <_ZN11StrategieV3C1Eb+0xf50> - 8021432: f7f6 f9bd bl 80177b0 <_ZN8PositionC1Effb> - 8021436: f507 719c add.w r1, r7, #312 ; 0x138 - 802143a: f1a1 0104 sub.w r1, r1, #4 ; 0x4 - 802143e: f507 739c add.w r3, r7, #312 ; 0x138 - 8021442: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8021446: f893 c000 ldrb.w ip, [r3] - 802144a: f507 72bc add.w r2, r7, #376 ; 0x178 - 802144e: f1a2 0208 sub.w r2, r2, #8 ; 0x8 - 8021452: f04f 0300 mov.w r3, #0 ; 0x0 - 8021456: 9300 str r3, [sp, #0] - 8021458: f04f 0301 mov.w r3, #1 ; 0x1 - 802145c: 9301 str r3, [sp, #4] - 802145e: f04f 0301 mov.w r3, #1 ; 0x1 - 8021462: 9302 str r3, [sp, #8] - 8021464: f8df 3cfc ldr.w r3, [pc, #3324] ; 8022164 <_ZN11StrategieV3C1Eb+0xf54> - 8021468: 9303 str r3, [sp, #12] - 802146a: 4608 mov r0, r1 - 802146c: 4661 mov r1, ip - 802146e: ca0c ldmia r2!, {r2, r3} - 8021470: f7fa faee bl 801ba50 <_ZN7FeuCoteC1Eb8Positionibbf> - 8021474: f507 739c add.w r3, r7, #312 ; 0x138 - 8021478: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 802147c: 4620 mov r0, r4 - 802147e: 4619 mov r1, r3 - 8021480: f00d fdd6 bl 802f030 <_ZN7FeuCoteaSERKS_> - 8021484: f507 739c add.w r3, r7, #312 ; 0x138 - 8021488: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 802148c: 4618 mov r0, r3 - 802148e: f7fa fa3f bl 801b910 <_ZN7FeuCoteD1Ev> - actionFeuCote[1] = FeuCote(isBlue, Position(1300, 185, isBlue), FeuCote::BORDURE_MILIEU, FeuCote::NOTRE_COULEUR_VERS_TERRAIN, FeuCote::COTE_NOTRE_DEPART); - 8021492: f507 739c add.w r3, r7, #312 ; 0x138 - 8021496: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802149a: 681b ldr r3, [r3, #0] - 802149c: f503 64d4 add.w r4, r3, #1696 ; 0x6a0 - 80214a0: f507 72dc add.w r2, r7, #440 ; 0x1b8 - 80214a4: f1a2 0204 sub.w r2, r2, #4 ; 0x4 - 80214a8: f507 739c add.w r3, r7, #312 ; 0x138 - 80214ac: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 80214b0: 781b ldrb r3, [r3, #0] - 80214b2: 4610 mov r0, r2 - 80214b4: f8df 1cb0 ldr.w r1, [pc, #3248] ; 8022168 <_ZN11StrategieV3C1Eb+0xf58> - 80214b8: f8df 2ca0 ldr.w r2, [pc, #3232] ; 802215c <_ZN11StrategieV3C1Eb+0xf4c> - 80214bc: f7f6 f978 bl 80177b0 <_ZN8PositionC1Effb> - 80214c0: f507 71bc add.w r1, r7, #376 ; 0x178 - 80214c4: f507 739c add.w r3, r7, #312 ; 0x138 - 80214c8: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 80214cc: f893 c000 ldrb.w ip, [r3] - 80214d0: f507 72dc add.w r2, r7, #440 ; 0x1b8 - 80214d4: f1a2 0204 sub.w r2, r2, #4 ; 0x4 - 80214d8: f04f 0301 mov.w r3, #1 ; 0x1 - 80214dc: 9300 str r3, [sp, #0] - 80214de: f04f 0300 mov.w r3, #0 ; 0x0 - 80214e2: 9301 str r3, [sp, #4] - 80214e4: f04f 0301 mov.w r3, #1 ; 0x1 - 80214e8: 9302 str r3, [sp, #8] - 80214ea: f8df 3c78 ldr.w r3, [pc, #3192] ; 8022164 <_ZN11StrategieV3C1Eb+0xf54> - 80214ee: 9303 str r3, [sp, #12] - 80214f0: 4608 mov r0, r1 - 80214f2: 4661 mov r1, ip - 80214f4: ca0c ldmia r2!, {r2, r3} - 80214f6: f7fa faab bl 801ba50 <_ZN7FeuCoteC1Eb8Positionibbf> - 80214fa: f507 73bc add.w r3, r7, #376 ; 0x178 - 80214fe: 4620 mov r0, r4 - 8021500: 4619 mov r1, r3 - 8021502: f00d fd95 bl 802f030 <_ZN7FeuCoteaSERKS_> - 8021506: f507 73bc add.w r3, r7, #376 ; 0x178 - 802150a: 4618 mov r0, r3 - 802150c: f7fa fa00 bl 801b910 <_ZN7FeuCoteD1Ev> - actionFeuCote[2] = FeuCote(isBlue, Position(1700, 185, isBlue), FeuCote::BORDURE_MILIEU, FeuCote::NOTRE_COULEUR_VERS_EXTERIEUR, FeuCote::COTE_DEPART_ADVERSAIRE); - 8021510: f507 739c add.w r3, r7, #312 ; 0x138 - 8021514: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8021518: 681b ldr r3, [r3, #0] - 802151a: f503 64da add.w r4, r3, #1744 ; 0x6d0 - 802151e: f104 040c add.w r4, r4, #12 ; 0xc - 8021522: f507 72fc add.w r2, r7, #504 ; 0x1f8 - 8021526: f507 739c add.w r3, r7, #312 ; 0x138 - 802152a: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 802152e: 781b ldrb r3, [r3, #0] - 8021530: 4610 mov r0, r2 - 8021532: f8df 1c38 ldr.w r1, [pc, #3128] ; 802216c <_ZN11StrategieV3C1Eb+0xf5c> - 8021536: f8df 2c24 ldr.w r2, [pc, #3108] ; 802215c <_ZN11StrategieV3C1Eb+0xf4c> - 802153a: f7f6 f939 bl 80177b0 <_ZN8PositionC1Effb> - 802153e: f507 72ec add.w r2, r7, #472 ; 0x1d8 - 8021542: f1a2 021c sub.w r2, r2, #28 ; 0x1c - 8021546: f507 739c add.w r3, r7, #312 ; 0x138 - 802154a: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 802154e: 7819 ldrb r1, [r3, #0] - 8021550: f507 7cfc add.w ip, r7, #504 ; 0x1f8 - 8021554: f04f 0301 mov.w r3, #1 ; 0x1 - 8021558: 9300 str r3, [sp, #0] - 802155a: f04f 0301 mov.w r3, #1 ; 0x1 - 802155e: 9301 str r3, [sp, #4] - 8021560: f04f 0300 mov.w r3, #0 ; 0x0 - 8021564: 9302 str r3, [sp, #8] - 8021566: f8df 3bfc ldr.w r3, [pc, #3068] ; 8022164 <_ZN11StrategieV3C1Eb+0xf54> - 802156a: 9303 str r3, [sp, #12] - 802156c: 4610 mov r0, r2 - 802156e: e89c 000c ldmia.w ip, {r2, r3} - 8021572: f7fa fa6d bl 801ba50 <_ZN7FeuCoteC1Eb8Positionibbf> - 8021576: f507 73ec add.w r3, r7, #472 ; 0x1d8 - 802157a: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802157e: 4620 mov r0, r4 - 8021580: 4619 mov r1, r3 - 8021582: f00d fd55 bl 802f030 <_ZN7FeuCoteaSERKS_> - 8021586: f507 73ec add.w r3, r7, #472 ; 0x1d8 - 802158a: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802158e: 4618 mov r0, r3 - 8021590: f7fa f9be bl 801b910 <_ZN7FeuCoteD1Ev> - actionFeuCote[3] = FeuCote(isBlue, Position(2815, 1200, isBlue), FeuCote::BORDURE_ADVERSAIRE, FeuCote::NOTRE_COULEUR_VERS_EXTERIEUR, FeuCote::COTE_DEPART_ADVERSAIRE); - 8021594: f507 739c add.w r3, r7, #312 ; 0x138 - 8021598: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802159c: 681b ldr r3, [r3, #0] - 802159e: f503 64e3 add.w r4, r3, #1816 ; 0x718 - 80215a2: f507 7216 add.w r2, r7, #600 ; 0x258 - 80215a6: f1a2 021c sub.w r2, r2, #28 ; 0x1c - 80215aa: f507 739c add.w r3, r7, #312 ; 0x138 - 80215ae: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 80215b2: 781b ldrb r3, [r3, #0] - 80215b4: 4610 mov r0, r2 - 80215b6: f8df 1bb8 ldr.w r1, [pc, #3000] ; 8022170 <_ZN11StrategieV3C1Eb+0xf60> - 80215ba: f8df 2ba4 ldr.w r2, [pc, #2980] ; 8022160 <_ZN11StrategieV3C1Eb+0xf50> - 80215be: f7f6 f8f7 bl 80177b0 <_ZN8PositionC1Effb> - 80215c2: f507 7106 add.w r1, r7, #536 ; 0x218 - 80215c6: f1a1 0118 sub.w r1, r1, #24 ; 0x18 - 80215ca: f507 739c add.w r3, r7, #312 ; 0x138 - 80215ce: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 80215d2: f893 c000 ldrb.w ip, [r3] - 80215d6: f507 7216 add.w r2, r7, #600 ; 0x258 - 80215da: f1a2 021c sub.w r2, r2, #28 ; 0x1c - 80215de: f04f 0302 mov.w r3, #2 ; 0x2 - 80215e2: 9300 str r3, [sp, #0] - 80215e4: f04f 0301 mov.w r3, #1 ; 0x1 - 80215e8: 9301 str r3, [sp, #4] - 80215ea: f04f 0300 mov.w r3, #0 ; 0x0 - 80215ee: 9302 str r3, [sp, #8] - 80215f0: f8df 3b70 ldr.w r3, [pc, #2928] ; 8022164 <_ZN11StrategieV3C1Eb+0xf54> - 80215f4: 9303 str r3, [sp, #12] - 80215f6: 4608 mov r0, r1 - 80215f8: 4661 mov r1, ip - 80215fa: ca0c ldmia r2!, {r2, r3} - 80215fc: f7fa fa28 bl 801ba50 <_ZN7FeuCoteC1Eb8Positionibbf> - 8021600: f507 7306 add.w r3, r7, #536 ; 0x218 - 8021604: f1a3 0318 sub.w r3, r3, #24 ; 0x18 - 8021608: 4620 mov r0, r4 - 802160a: 4619 mov r1, r3 - 802160c: f00d fd10 bl 802f030 <_ZN7FeuCoteaSERKS_> - 8021610: f507 7306 add.w r3, r7, #536 ; 0x218 - 8021614: f1a3 0318 sub.w r3, r3, #24 ; 0x18 - 8021618: 4618 mov r0, r3 - 802161a: f7fa f979 bl 801b910 <_ZN7FeuCoteD1Ev> - // etape18 = new Etape(Position(2400, 1550, isBlue), tableauEtapes18, 3, 18, Etape::DEPOSE_FRUIT, -1, 0); - - actionDeposeFruits[0] = DeposeFruits(isBlue, Position(2400, 1550, isBlue)); - 802161e: f507 739c add.w r3, r7, #312 ; 0x138 - 8021622: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8021626: 681b ldr r3, [r3, #0] - 8021628: f503 64ea add.w r4, r3, #1872 ; 0x750 - 802162c: f104 0404 add.w r4, r4, #4 ; 0x4 - 8021630: f507 721e add.w r2, r7, #632 ; 0x278 - 8021634: f1a2 020c sub.w r2, r2, #12 ; 0xc - 8021638: f507 739c add.w r3, r7, #312 ; 0x138 - 802163c: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8021640: 781b ldrb r3, [r3, #0] - 8021642: 4610 mov r0, r2 - 8021644: f8df 1b2c ldr.w r1, [pc, #2860] ; 8022174 <_ZN11StrategieV3C1Eb+0xf64> - 8021648: f8df 2b2c ldr.w r2, [pc, #2860] ; 8022178 <_ZN11StrategieV3C1Eb+0xf68> - 802164c: f7f6 f8b0 bl 80177b0 <_ZN8PositionC1Effb> - 8021650: f507 7116 add.w r1, r7, #600 ; 0x258 - 8021654: f1a1 0114 sub.w r1, r1, #20 ; 0x14 - 8021658: f507 739c add.w r3, r7, #312 ; 0x138 - 802165c: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8021660: f893 c000 ldrb.w ip, [r3] - 8021664: f507 721e add.w r2, r7, #632 ; 0x278 - 8021668: f1a2 020c sub.w r2, r2, #12 ; 0xc - 802166c: f8df 3af4 ldr.w r3, [pc, #2804] ; 8022164 <_ZN11StrategieV3C1Eb+0xf54> - 8021670: 9300 str r3, [sp, #0] - 8021672: 4608 mov r0, r1 - 8021674: 4661 mov r1, ip - 8021676: ca0c ldmia r2!, {r2, r3} - 8021678: f7f7 f808 bl 801868c <_ZN12DeposeFruitsC1Eb8Positionf> - 802167c: f507 7316 add.w r3, r7, #600 ; 0x258 - 8021680: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 8021684: 4620 mov r0, r4 - 8021686: 4619 mov r1, r3 - 8021688: f00d fd24 bl 802f0d4 <_ZN12DeposeFruitsaSERKS_> - 802168c: f507 7316 add.w r3, r7, #600 ; 0x258 - 8021690: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 8021694: 4618 mov r0, r3 - 8021696: f7f6 ff71 bl 801857c <_ZN12DeposeFruitsD1Ev> - - actionGoto[0] = ActionGoTo(Position(185, 1500, isBlue), false); - 802169a: f507 739c add.w r3, r7, #312 ; 0x138 - 802169e: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80216a2: 681b ldr r3, [r3, #0] - 80216a4: f103 0494 add.w r4, r3, #148 ; 0x94 - 80216a8: f507 722e add.w r2, r7, #696 ; 0x2b8 - 80216ac: f1a2 0214 sub.w r2, r2, #20 ; 0x14 - 80216b0: f507 739c add.w r3, r7, #312 ; 0x138 - 80216b4: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 80216b8: 781b ldrb r3, [r3, #0] - 80216ba: 4610 mov r0, r2 - 80216bc: f8df 1a9c ldr.w r1, [pc, #2716] ; 802215c <_ZN11StrategieV3C1Eb+0xf4c> - 80216c0: f8df 2ab8 ldr.w r2, [pc, #2744] ; 802217c <_ZN11StrategieV3C1Eb+0xf6c> - 80216c4: f7f6 f874 bl 80177b0 <_ZN8PositionC1Effb> - 80216c8: f507 711e add.w r1, r7, #632 ; 0x278 - 80216cc: f1a1 0104 sub.w r1, r1, #4 ; 0x4 - 80216d0: f507 732e add.w r3, r7, #696 ; 0x2b8 - 80216d4: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 80216d8: f8df 2a88 ldr.w r2, [pc, #2696] ; 8022164 <_ZN11StrategieV3C1Eb+0xf54> - 80216dc: 9200 str r2, [sp, #0] - 80216de: 4608 mov r0, r1 - 80216e0: e893 0006 ldmia.w r3, {r1, r2} - 80216e4: f04f 0300 mov.w r3, #0 ; 0x0 - 80216e8: f7f6 fd9a bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 80216ec: f507 731e add.w r3, r7, #632 ; 0x278 - 80216f0: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 80216f4: 4620 mov r0, r4 - 80216f6: 4619 mov r1, r3 - 80216f8: f00d fb7e bl 802edf8 <_ZN10ActionGoToaSERKS_> - 80216fc: f507 731e add.w r3, r7, #632 ; 0x278 - 8021700: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8021704: 4618 mov r0, r3 - 8021706: f7f6 fd53 bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[1] = ActionGoTo(Position(185, 1200, isBlue), false); - 802170a: f507 739c add.w r3, r7, #312 ; 0x138 - 802170e: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8021712: 681b ldr r3, [r3, #0] - 8021714: f103 04c4 add.w r4, r3, #196 ; 0xc4 - 8021718: f507 723e add.w r2, r7, #760 ; 0x2f8 - 802171c: f1a2 021c sub.w r2, r2, #28 ; 0x1c - 8021720: f507 739c add.w r3, r7, #312 ; 0x138 - 8021724: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8021728: 781b ldrb r3, [r3, #0] - 802172a: 4610 mov r0, r2 - 802172c: f8df 1a2c ldr.w r1, [pc, #2604] ; 802215c <_ZN11StrategieV3C1Eb+0xf4c> - 8021730: f8df 2a2c ldr.w r2, [pc, #2604] ; 8022160 <_ZN11StrategieV3C1Eb+0xf50> - 8021734: f7f6 f83c bl 80177b0 <_ZN8PositionC1Effb> - 8021738: f507 712e add.w r1, r7, #696 ; 0x2b8 - 802173c: f1a1 010c sub.w r1, r1, #12 ; 0xc - 8021740: f507 733e add.w r3, r7, #760 ; 0x2f8 - 8021744: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8021748: f8df 2a18 ldr.w r2, [pc, #2584] ; 8022164 <_ZN11StrategieV3C1Eb+0xf54> - 802174c: 9200 str r2, [sp, #0] - 802174e: 4608 mov r0, r1 - 8021750: e893 0006 ldmia.w r3, {r1, r2} - 8021754: f04f 0300 mov.w r3, #0 ; 0x0 - 8021758: f7f6 fd62 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 802175c: f507 732e add.w r3, r7, #696 ; 0x2b8 - 8021760: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8021764: 4620 mov r0, r4 - 8021766: 4619 mov r1, r3 - 8021768: f00d fb46 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 802176c: f507 732e add.w r3, r7, #696 ; 0x2b8 - 8021770: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8021774: 4618 mov r0, r3 - 8021776: f7f6 fd1b bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[2] = ActionGoTo(Position(185, 900, isBlue), false); - 802177a: f507 739c add.w r3, r7, #312 ; 0x138 - 802177e: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8021782: 681b ldr r3, [r3, #0] - 8021784: f103 04f4 add.w r4, r3, #244 ; 0xf4 - 8021788: f507 7246 add.w r2, r7, #792 ; 0x318 - 802178c: f1a2 0204 sub.w r2, r2, #4 ; 0x4 - 8021790: f507 739c add.w r3, r7, #312 ; 0x138 - 8021794: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8021798: 781b ldrb r3, [r3, #0] - 802179a: 4610 mov r0, r2 - 802179c: f8df 19bc ldr.w r1, [pc, #2492] ; 802215c <_ZN11StrategieV3C1Eb+0xf4c> - 80217a0: f8df 29dc ldr.w r2, [pc, #2524] ; 8022180 <_ZN11StrategieV3C1Eb+0xf70> - 80217a4: f7f6 f804 bl 80177b0 <_ZN8PositionC1Effb> - 80217a8: f507 713e add.w r1, r7, #760 ; 0x2f8 - 80217ac: f1a1 0114 sub.w r1, r1, #20 ; 0x14 - 80217b0: f507 7346 add.w r3, r7, #792 ; 0x318 - 80217b4: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 80217b8: f8df 29a8 ldr.w r2, [pc, #2472] ; 8022164 <_ZN11StrategieV3C1Eb+0xf54> - 80217bc: 9200 str r2, [sp, #0] - 80217be: 4608 mov r0, r1 - 80217c0: e893 0006 ldmia.w r3, {r1, r2} - 80217c4: f04f 0300 mov.w r3, #0 ; 0x0 - 80217c8: f7f6 fd2a bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 80217cc: f507 733e add.w r3, r7, #760 ; 0x2f8 - 80217d0: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 80217d4: 4620 mov r0, r4 - 80217d6: 4619 mov r1, r3 - 80217d8: f00d fb0e bl 802edf8 <_ZN10ActionGoToaSERKS_> - 80217dc: f507 733e add.w r3, r7, #760 ; 0x2f8 - 80217e0: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 80217e4: 4618 mov r0, r3 - 80217e6: f7f6 fce3 bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[3] = ActionGoTo(Position(185, 800, isBlue), false); - 80217ea: f507 739c add.w r3, r7, #312 ; 0x138 - 80217ee: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80217f2: 681b ldr r3, [r3, #0] - 80217f4: f503 7492 add.w r4, r3, #292 ; 0x124 - 80217f8: f507 7256 add.w r2, r7, #856 ; 0x358 - 80217fc: f1a2 020c sub.w r2, r2, #12 ; 0xc - 8021800: f507 739c add.w r3, r7, #312 ; 0x138 - 8021804: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8021808: 781b ldrb r3, [r3, #0] - 802180a: 4610 mov r0, r2 - 802180c: f8df 194c ldr.w r1, [pc, #2380] ; 802215c <_ZN11StrategieV3C1Eb+0xf4c> - 8021810: f8df 2970 ldr.w r2, [pc, #2416] ; 8022184 <_ZN11StrategieV3C1Eb+0xf74> - 8021814: f7f5 ffcc bl 80177b0 <_ZN8PositionC1Effb> - 8021818: f507 714e add.w r1, r7, #824 ; 0x338 - 802181c: f1a1 011c sub.w r1, r1, #28 ; 0x1c - 8021820: f507 7356 add.w r3, r7, #856 ; 0x358 - 8021824: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8021828: f8df 2938 ldr.w r2, [pc, #2360] ; 8022164 <_ZN11StrategieV3C1Eb+0xf54> - 802182c: 9200 str r2, [sp, #0] - 802182e: 4608 mov r0, r1 - 8021830: e893 0006 ldmia.w r3, {r1, r2} - 8021834: f04f 0300 mov.w r3, #0 ; 0x0 - 8021838: f7f6 fcf2 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 802183c: f507 734e add.w r3, r7, #824 ; 0x338 - 8021840: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8021844: 4620 mov r0, r4 - 8021846: 4619 mov r1, r3 - 8021848: f00d fad6 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 802184c: f507 734e add.w r3, r7, #824 ; 0x338 - 8021850: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8021854: 4618 mov r0, r3 - 8021856: f7f6 fcab bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[4] = ActionGoTo(Position(185, 600, isBlue), false); - 802185a: f507 739c add.w r3, r7, #312 ; 0x138 - 802185e: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8021862: 681b ldr r3, [r3, #0] - 8021864: f503 74aa add.w r4, r3, #340 ; 0x154 - 8021868: f507 7266 add.w r2, r7, #920 ; 0x398 - 802186c: f1a2 0214 sub.w r2, r2, #20 ; 0x14 - 8021870: f507 739c add.w r3, r7, #312 ; 0x138 - 8021874: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8021878: 781b ldrb r3, [r3, #0] - 802187a: 4610 mov r0, r2 - 802187c: f8df 18dc ldr.w r1, [pc, #2268] ; 802215c <_ZN11StrategieV3C1Eb+0xf4c> - 8021880: f8df 2904 ldr.w r2, [pc, #2308] ; 8022188 <_ZN11StrategieV3C1Eb+0xf78> - 8021884: f7f5 ff94 bl 80177b0 <_ZN8PositionC1Effb> - 8021888: f507 7156 add.w r1, r7, #856 ; 0x358 - 802188c: f1a1 0104 sub.w r1, r1, #4 ; 0x4 - 8021890: f507 7366 add.w r3, r7, #920 ; 0x398 - 8021894: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 8021898: f8df 28c8 ldr.w r2, [pc, #2248] ; 8022164 <_ZN11StrategieV3C1Eb+0xf54> - 802189c: 9200 str r2, [sp, #0] - 802189e: 4608 mov r0, r1 - 80218a0: e893 0006 ldmia.w r3, {r1, r2} - 80218a4: f04f 0300 mov.w r3, #0 ; 0x0 - 80218a8: f7f6 fcba bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 80218ac: f507 7356 add.w r3, r7, #856 ; 0x358 - 80218b0: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 80218b4: 4620 mov r0, r4 - 80218b6: 4619 mov r1, r3 - 80218b8: f00d fa9e bl 802edf8 <_ZN10ActionGoToaSERKS_> - 80218bc: f507 7356 add.w r3, r7, #856 ; 0x358 - 80218c0: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 80218c4: 4618 mov r0, r3 - 80218c6: f7f6 fc73 bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[5] = ActionGoTo(Position(600, 185, isBlue), false); - 80218ca: f507 739c add.w r3, r7, #312 ; 0x138 - 80218ce: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80218d2: 681b ldr r3, [r3, #0] - 80218d4: f503 74c2 add.w r4, r3, #388 ; 0x184 - 80218d8: f507 7276 add.w r2, r7, #984 ; 0x3d8 - 80218dc: f1a2 021c sub.w r2, r2, #28 ; 0x1c - 80218e0: f507 739c add.w r3, r7, #312 ; 0x138 - 80218e4: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 80218e8: 781b ldrb r3, [r3, #0] - 80218ea: 4610 mov r0, r2 - 80218ec: f8df 1898 ldr.w r1, [pc, #2200] ; 8022188 <_ZN11StrategieV3C1Eb+0xf78> - 80218f0: f8df 2868 ldr.w r2, [pc, #2152] ; 802215c <_ZN11StrategieV3C1Eb+0xf4c> - 80218f4: f7f5 ff5c bl 80177b0 <_ZN8PositionC1Effb> - 80218f8: f507 7166 add.w r1, r7, #920 ; 0x398 - 80218fc: f1a1 010c sub.w r1, r1, #12 ; 0xc - 8021900: f507 7376 add.w r3, r7, #984 ; 0x3d8 - 8021904: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8021908: f8df 2858 ldr.w r2, [pc, #2136] ; 8022164 <_ZN11StrategieV3C1Eb+0xf54> - 802190c: 9200 str r2, [sp, #0] - 802190e: 4608 mov r0, r1 - 8021910: e893 0006 ldmia.w r3, {r1, r2} - 8021914: f04f 0300 mov.w r3, #0 ; 0x0 - 8021918: f7f6 fc82 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 802191c: f507 7366 add.w r3, r7, #920 ; 0x398 - 8021920: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8021924: 4620 mov r0, r4 - 8021926: 4619 mov r1, r3 - 8021928: f00d fa66 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 802192c: f507 7366 add.w r3, r7, #920 ; 0x398 - 8021930: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8021934: 4618 mov r0, r3 - 8021936: f7f6 fc3b bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[6] = ActionGoTo(Position(800, 185, isBlue), false); - 802193a: f507 739c add.w r3, r7, #312 ; 0x138 - 802193e: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8021942: 681b ldr r3, [r3, #0] - 8021944: f503 74da add.w r4, r3, #436 ; 0x1b4 - 8021948: f507 727e add.w r2, r7, #1016 ; 0x3f8 - 802194c: f1a2 0204 sub.w r2, r2, #4 ; 0x4 - 8021950: f507 739c add.w r3, r7, #312 ; 0x138 - 8021954: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8021958: 781b ldrb r3, [r3, #0] - 802195a: 4610 mov r0, r2 - 802195c: f8df 1824 ldr.w r1, [pc, #2084] ; 8022184 <_ZN11StrategieV3C1Eb+0xf74> - 8021960: f8df 27f8 ldr.w r2, [pc, #2040] ; 802215c <_ZN11StrategieV3C1Eb+0xf4c> - 8021964: f7f5 ff24 bl 80177b0 <_ZN8PositionC1Effb> - 8021968: f507 7176 add.w r1, r7, #984 ; 0x3d8 - 802196c: f1a1 0114 sub.w r1, r1, #20 ; 0x14 - 8021970: f507 737e add.w r3, r7, #1016 ; 0x3f8 - 8021974: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8021978: f8df 27e8 ldr.w r2, [pc, #2024] ; 8022164 <_ZN11StrategieV3C1Eb+0xf54> - 802197c: 9200 str r2, [sp, #0] - 802197e: 4608 mov r0, r1 - 8021980: e893 0006 ldmia.w r3, {r1, r2} - 8021984: f04f 0300 mov.w r3, #0 ; 0x0 - 8021988: f7f6 fc4a bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 802198c: f507 7376 add.w r3, r7, #984 ; 0x3d8 - 8021990: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 8021994: 4620 mov r0, r4 - 8021996: 4619 mov r1, r3 - 8021998: f00d fa2e bl 802edf8 <_ZN10ActionGoToaSERKS_> - 802199c: f507 7376 add.w r3, r7, #984 ; 0x3d8 - 80219a0: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 80219a4: 4618 mov r0, r3 - 80219a6: f7f6 fc03 bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[7] = ActionGoTo(Position(900, 185, isBlue), false); - 80219aa: f507 739c add.w r3, r7, #312 ; 0x138 - 80219ae: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80219b2: 681b ldr r3, [r3, #0] - 80219b4: f503 74f2 add.w r4, r3, #484 ; 0x1e4 - 80219b8: f507 6287 add.w r2, r7, #1080 ; 0x438 - 80219bc: f1a2 020c sub.w r2, r2, #12 ; 0xc - 80219c0: f507 739c add.w r3, r7, #312 ; 0x138 - 80219c4: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 80219c8: 781b ldrb r3, [r3, #0] - 80219ca: 4610 mov r0, r2 - 80219cc: f8df 17b0 ldr.w r1, [pc, #1968] ; 8022180 <_ZN11StrategieV3C1Eb+0xf70> - 80219d0: f8df 2788 ldr.w r2, [pc, #1928] ; 802215c <_ZN11StrategieV3C1Eb+0xf4c> - 80219d4: f7f5 feec bl 80177b0 <_ZN8PositionC1Effb> - 80219d8: f507 6181 add.w r1, r7, #1032 ; 0x408 - 80219dc: f1a1 010c sub.w r1, r1, #12 ; 0xc - 80219e0: f507 6387 add.w r3, r7, #1080 ; 0x438 - 80219e4: f1a3 030c sub.w r3, r3, #12 ; 0xc - 80219e8: f8df 2778 ldr.w r2, [pc, #1912] ; 8022164 <_ZN11StrategieV3C1Eb+0xf54> - 80219ec: 9200 str r2, [sp, #0] - 80219ee: 4608 mov r0, r1 - 80219f0: e893 0006 ldmia.w r3, {r1, r2} - 80219f4: f04f 0300 mov.w r3, #0 ; 0x0 - 80219f8: f7f6 fc12 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 80219fc: f507 6381 add.w r3, r7, #1032 ; 0x408 - 8021a00: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8021a04: 4620 mov r0, r4 - 8021a06: 4619 mov r1, r3 - 8021a08: f00d f9f6 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 8021a0c: f507 6381 add.w r3, r7, #1032 ; 0x408 - 8021a10: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8021a14: 4618 mov r0, r3 - 8021a16: f7f6 fbcb bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[8] = ActionGoTo(Position(1300, 185, isBlue), false); - 8021a1a: f507 739c add.w r3, r7, #312 ; 0x138 - 8021a1e: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8021a22: 681b ldr r3, [r3, #0] - 8021a24: f503 7405 add.w r4, r3, #532 ; 0x214 - 8021a28: f507 628d add.w r2, r7, #1128 ; 0x468 - 8021a2c: f1a2 0204 sub.w r2, r2, #4 ; 0x4 - 8021a30: f507 739c add.w r3, r7, #312 ; 0x138 - 8021a34: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8021a38: 781b ldrb r3, [r3, #0] - 8021a3a: 4610 mov r0, r2 - 8021a3c: f8df 1728 ldr.w r1, [pc, #1832] ; 8022168 <_ZN11StrategieV3C1Eb+0xf58> - 8021a40: f8df 2718 ldr.w r2, [pc, #1816] ; 802215c <_ZN11StrategieV3C1Eb+0xf4c> - 8021a44: f7f5 feb4 bl 80177b0 <_ZN8PositionC1Effb> - 8021a48: f507 6187 add.w r1, r7, #1080 ; 0x438 - 8021a4c: f1a1 0104 sub.w r1, r1, #4 ; 0x4 - 8021a50: f507 638d add.w r3, r7, #1128 ; 0x468 - 8021a54: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8021a58: f8df 2708 ldr.w r2, [pc, #1800] ; 8022164 <_ZN11StrategieV3C1Eb+0xf54> - 8021a5c: 9200 str r2, [sp, #0] - 8021a5e: 4608 mov r0, r1 - 8021a60: e893 0006 ldmia.w r3, {r1, r2} - 8021a64: f04f 0300 mov.w r3, #0 ; 0x0 - 8021a68: f7f6 fbda bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 8021a6c: f507 6387 add.w r3, r7, #1080 ; 0x438 - 8021a70: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8021a74: 4620 mov r0, r4 - 8021a76: 4619 mov r1, r3 - 8021a78: f00d f9be bl 802edf8 <_ZN10ActionGoToaSERKS_> - 8021a7c: f507 6387 add.w r3, r7, #1080 ; 0x438 - 8021a80: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8021a84: 4618 mov r0, r3 - 8021a86: f7f6 fb93 bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[9] = ActionGoTo(Position(1700, 185, isBlue), false); - 8021a8a: f507 739c add.w r3, r7, #312 ; 0x138 - 8021a8e: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8021a92: 681b ldr r3, [r3, #0] - 8021a94: f503 7411 add.w r4, r3, #580 ; 0x244 - 8021a98: f507 6295 add.w r2, r7, #1192 ; 0x4a8 - 8021a9c: f1a2 020c sub.w r2, r2, #12 ; 0xc - 8021aa0: f507 739c add.w r3, r7, #312 ; 0x138 - 8021aa4: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8021aa8: 781b ldrb r3, [r3, #0] - 8021aaa: 4610 mov r0, r2 - 8021aac: f8df 16bc ldr.w r1, [pc, #1724] ; 802216c <_ZN11StrategieV3C1Eb+0xf5c> - 8021ab0: f8df 26a8 ldr.w r2, [pc, #1704] ; 802215c <_ZN11StrategieV3C1Eb+0xf4c> - 8021ab4: f7f5 fe7c bl 80177b0 <_ZN8PositionC1Effb> - 8021ab8: f507 618f add.w r1, r7, #1144 ; 0x478 - 8021abc: f1a1 010c sub.w r1, r1, #12 ; 0xc - 8021ac0: f507 6395 add.w r3, r7, #1192 ; 0x4a8 - 8021ac4: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8021ac8: f8df 2698 ldr.w r2, [pc, #1688] ; 8022164 <_ZN11StrategieV3C1Eb+0xf54> - 8021acc: 9200 str r2, [sp, #0] - 8021ace: 4608 mov r0, r1 - 8021ad0: e893 0006 ldmia.w r3, {r1, r2} - 8021ad4: f04f 0300 mov.w r3, #0 ; 0x0 - 8021ad8: f7f6 fba2 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 8021adc: f507 638f add.w r3, r7, #1144 ; 0x478 - 8021ae0: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8021ae4: 4620 mov r0, r4 - 8021ae6: 4619 mov r1, r3 - 8021ae8: f00d f986 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 8021aec: f507 638f add.w r3, r7, #1144 ; 0x478 - 8021af0: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8021af4: 4618 mov r0, r3 - 8021af6: f7f6 fb5b bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[10] = ActionGoTo(Position(2100, 185, isBlue), false); - 8021afa: f507 739c add.w r3, r7, #312 ; 0x138 - 8021afe: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8021b02: 681b ldr r3, [r3, #0] - 8021b04: f503 741d add.w r4, r3, #628 ; 0x274 - 8021b08: f507 629b add.w r2, r7, #1240 ; 0x4d8 - 8021b0c: f1a2 0204 sub.w r2, r2, #4 ; 0x4 - 8021b10: f507 739c add.w r3, r7, #312 ; 0x138 - 8021b14: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8021b18: 781b ldrb r3, [r3, #0] - 8021b1a: 4610 mov r0, r2 - 8021b1c: f8df 166c ldr.w r1, [pc, #1644] ; 802218c <_ZN11StrategieV3C1Eb+0xf7c> - 8021b20: f8df 2638 ldr.w r2, [pc, #1592] ; 802215c <_ZN11StrategieV3C1Eb+0xf4c> - 8021b24: f7f5 fe44 bl 80177b0 <_ZN8PositionC1Effb> - 8021b28: f507 6195 add.w r1, r7, #1192 ; 0x4a8 - 8021b2c: f1a1 0104 sub.w r1, r1, #4 ; 0x4 - 8021b30: f507 639b add.w r3, r7, #1240 ; 0x4d8 - 8021b34: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8021b38: f8df 2628 ldr.w r2, [pc, #1576] ; 8022164 <_ZN11StrategieV3C1Eb+0xf54> - 8021b3c: 9200 str r2, [sp, #0] - 8021b3e: 4608 mov r0, r1 - 8021b40: e893 0006 ldmia.w r3, {r1, r2} - 8021b44: f04f 0300 mov.w r3, #0 ; 0x0 - 8021b48: f7f6 fb6a bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 8021b4c: f507 6395 add.w r3, r7, #1192 ; 0x4a8 - 8021b50: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8021b54: 4620 mov r0, r4 - 8021b56: 4619 mov r1, r3 - 8021b58: f00d f94e bl 802edf8 <_ZN10ActionGoToaSERKS_> - 8021b5c: f507 6395 add.w r3, r7, #1192 ; 0x4a8 - 8021b60: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8021b64: 4618 mov r0, r3 - 8021b66: f7f6 fb23 bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[11] = ActionGoTo(Position(2200, 185, isBlue), false); - 8021b6a: f507 739c add.w r3, r7, #312 ; 0x138 - 8021b6e: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8021b72: 681b ldr r3, [r3, #0] - 8021b74: f503 7429 add.w r4, r3, #676 ; 0x2a4 - 8021b78: f507 62a3 add.w r2, r7, #1304 ; 0x518 - 8021b7c: f1a2 020c sub.w r2, r2, #12 ; 0xc - 8021b80: f507 739c add.w r3, r7, #312 ; 0x138 - 8021b84: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8021b88: 781b ldrb r3, [r3, #0] - 8021b8a: 4610 mov r0, r2 - 8021b8c: f8df 1600 ldr.w r1, [pc, #1536] ; 8022190 <_ZN11StrategieV3C1Eb+0xf80> - 8021b90: f8df 25c8 ldr.w r2, [pc, #1480] ; 802215c <_ZN11StrategieV3C1Eb+0xf4c> - 8021b94: f7f5 fe0c bl 80177b0 <_ZN8PositionC1Effb> - 8021b98: f507 619d add.w r1, r7, #1256 ; 0x4e8 - 8021b9c: f1a1 010c sub.w r1, r1, #12 ; 0xc - 8021ba0: f507 63a3 add.w r3, r7, #1304 ; 0x518 - 8021ba4: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8021ba8: f8df 25b8 ldr.w r2, [pc, #1464] ; 8022164 <_ZN11StrategieV3C1Eb+0xf54> - 8021bac: 9200 str r2, [sp, #0] - 8021bae: 4608 mov r0, r1 - 8021bb0: e893 0006 ldmia.w r3, {r1, r2} - 8021bb4: f04f 0300 mov.w r3, #0 ; 0x0 - 8021bb8: f7f6 fb32 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 8021bbc: f507 639d add.w r3, r7, #1256 ; 0x4e8 - 8021bc0: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8021bc4: 4620 mov r0, r4 - 8021bc6: 4619 mov r1, r3 - 8021bc8: f00d f916 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 8021bcc: f507 639d add.w r3, r7, #1256 ; 0x4e8 - 8021bd0: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8021bd4: 4618 mov r0, r3 - 8021bd6: f7f6 faeb bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[12] = ActionGoTo(Position(2400, 185, isBlue), false); - 8021bda: f507 739c add.w r3, r7, #312 ; 0x138 - 8021bde: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8021be2: 681b ldr r3, [r3, #0] - 8021be4: f503 7435 add.w r4, r3, #724 ; 0x2d4 - 8021be8: f507 62a9 add.w r2, r7, #1352 ; 0x548 - 8021bec: f1a2 0204 sub.w r2, r2, #4 ; 0x4 - 8021bf0: f507 739c add.w r3, r7, #312 ; 0x138 - 8021bf4: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8021bf8: 781b ldrb r3, [r3, #0] - 8021bfa: 4610 mov r0, r2 - 8021bfc: f8df 1574 ldr.w r1, [pc, #1396] ; 8022174 <_ZN11StrategieV3C1Eb+0xf64> - 8021c00: f8df 2558 ldr.w r2, [pc, #1368] ; 802215c <_ZN11StrategieV3C1Eb+0xf4c> - 8021c04: f7f5 fdd4 bl 80177b0 <_ZN8PositionC1Effb> - 8021c08: f507 61a3 add.w r1, r7, #1304 ; 0x518 - 8021c0c: f1a1 0104 sub.w r1, r1, #4 ; 0x4 - 8021c10: f507 63a9 add.w r3, r7, #1352 ; 0x548 - 8021c14: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8021c18: f8df 2548 ldr.w r2, [pc, #1352] ; 8022164 <_ZN11StrategieV3C1Eb+0xf54> - 8021c1c: 9200 str r2, [sp, #0] - 8021c1e: 4608 mov r0, r1 - 8021c20: e893 0006 ldmia.w r3, {r1, r2} - 8021c24: f04f 0300 mov.w r3, #0 ; 0x0 - 8021c28: f7f6 fafa bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 8021c2c: f507 63a3 add.w r3, r7, #1304 ; 0x518 - 8021c30: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8021c34: 4620 mov r0, r4 - 8021c36: 4619 mov r1, r3 - 8021c38: f00d f8de bl 802edf8 <_ZN10ActionGoToaSERKS_> - 8021c3c: f507 63a3 add.w r3, r7, #1304 ; 0x518 - 8021c40: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8021c44: 4618 mov r0, r3 - 8021c46: f7f6 fab3 bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[13] = ActionGoTo(Position(2815, 600, isBlue), false); - 8021c4a: f507 739c add.w r3, r7, #312 ; 0x138 - 8021c4e: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8021c52: 681b ldr r3, [r3, #0] - 8021c54: f503 7441 add.w r4, r3, #772 ; 0x304 - 8021c58: f507 62b1 add.w r2, r7, #1416 ; 0x588 - 8021c5c: f1a2 020c sub.w r2, r2, #12 ; 0xc - 8021c60: f507 739c add.w r3, r7, #312 ; 0x138 - 8021c64: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8021c68: 781b ldrb r3, [r3, #0] - 8021c6a: 4610 mov r0, r2 - 8021c6c: f8df 1500 ldr.w r1, [pc, #1280] ; 8022170 <_ZN11StrategieV3C1Eb+0xf60> - 8021c70: f8df 2514 ldr.w r2, [pc, #1300] ; 8022188 <_ZN11StrategieV3C1Eb+0xf78> - 8021c74: f7f5 fd9c bl 80177b0 <_ZN8PositionC1Effb> - 8021c78: f507 61ab add.w r1, r7, #1368 ; 0x558 - 8021c7c: f1a1 010c sub.w r1, r1, #12 ; 0xc - 8021c80: f507 63b1 add.w r3, r7, #1416 ; 0x588 - 8021c84: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8021c88: f8df 24d8 ldr.w r2, [pc, #1240] ; 8022164 <_ZN11StrategieV3C1Eb+0xf54> - 8021c8c: 9200 str r2, [sp, #0] - 8021c8e: 4608 mov r0, r1 - 8021c90: e893 0006 ldmia.w r3, {r1, r2} - 8021c94: f04f 0300 mov.w r3, #0 ; 0x0 - 8021c98: f7f6 fac2 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 8021c9c: f507 63ab add.w r3, r7, #1368 ; 0x558 - 8021ca0: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8021ca4: 4620 mov r0, r4 - 8021ca6: 4619 mov r1, r3 - 8021ca8: f00d f8a6 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 8021cac: f507 63ab add.w r3, r7, #1368 ; 0x558 - 8021cb0: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8021cb4: 4618 mov r0, r3 - 8021cb6: f7f6 fa7b bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[14] = ActionGoTo(Position(2815, 800, isBlue), false); - 8021cba: f507 739c add.w r3, r7, #312 ; 0x138 - 8021cbe: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8021cc2: 681b ldr r3, [r3, #0] - 8021cc4: f503 744d add.w r4, r3, #820 ; 0x334 - 8021cc8: f507 62b7 add.w r2, r7, #1464 ; 0x5b8 - 8021ccc: f1a2 0204 sub.w r2, r2, #4 ; 0x4 - 8021cd0: f507 739c add.w r3, r7, #312 ; 0x138 - 8021cd4: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8021cd8: 781b ldrb r3, [r3, #0] - 8021cda: 4610 mov r0, r2 - 8021cdc: f8df 1490 ldr.w r1, [pc, #1168] ; 8022170 <_ZN11StrategieV3C1Eb+0xf60> - 8021ce0: f8df 24a0 ldr.w r2, [pc, #1184] ; 8022184 <_ZN11StrategieV3C1Eb+0xf74> - 8021ce4: f7f5 fd64 bl 80177b0 <_ZN8PositionC1Effb> - 8021ce8: f507 61b1 add.w r1, r7, #1416 ; 0x588 - 8021cec: f1a1 0104 sub.w r1, r1, #4 ; 0x4 - 8021cf0: f507 63b7 add.w r3, r7, #1464 ; 0x5b8 - 8021cf4: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8021cf8: f8df 2468 ldr.w r2, [pc, #1128] ; 8022164 <_ZN11StrategieV3C1Eb+0xf54> - 8021cfc: 9200 str r2, [sp, #0] - 8021cfe: 4608 mov r0, r1 - 8021d00: e893 0006 ldmia.w r3, {r1, r2} - 8021d04: f04f 0300 mov.w r3, #0 ; 0x0 - 8021d08: f7f6 fa8a bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 8021d0c: f507 63b1 add.w r3, r7, #1416 ; 0x588 - 8021d10: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8021d14: 4620 mov r0, r4 - 8021d16: 4619 mov r1, r3 - 8021d18: f00d f86e bl 802edf8 <_ZN10ActionGoToaSERKS_> - 8021d1c: f507 63b1 add.w r3, r7, #1416 ; 0x588 - 8021d20: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8021d24: 4618 mov r0, r3 - 8021d26: f7f6 fa43 bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[15] = ActionGoTo(Position(2815, 900, isBlue), false); - 8021d2a: f507 739c add.w r3, r7, #312 ; 0x138 - 8021d2e: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8021d32: 681b ldr r3, [r3, #0] - 8021d34: f503 7459 add.w r4, r3, #868 ; 0x364 - 8021d38: f507 62bf add.w r2, r7, #1528 ; 0x5f8 - 8021d3c: f1a2 020c sub.w r2, r2, #12 ; 0xc - 8021d40: f507 739c add.w r3, r7, #312 ; 0x138 - 8021d44: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8021d48: 781b ldrb r3, [r3, #0] - 8021d4a: 4610 mov r0, r2 - 8021d4c: f8df 1420 ldr.w r1, [pc, #1056] ; 8022170 <_ZN11StrategieV3C1Eb+0xf60> - 8021d50: f8df 242c ldr.w r2, [pc, #1068] ; 8022180 <_ZN11StrategieV3C1Eb+0xf70> - 8021d54: f7f5 fd2c bl 80177b0 <_ZN8PositionC1Effb> - 8021d58: f507 61b9 add.w r1, r7, #1480 ; 0x5c8 - 8021d5c: f1a1 010c sub.w r1, r1, #12 ; 0xc - 8021d60: f507 63bf add.w r3, r7, #1528 ; 0x5f8 - 8021d64: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8021d68: 4afe ldr r2, [pc, #1016] (8022164 <_ZN11StrategieV3C1Eb+0xf54>) - 8021d6a: 9200 str r2, [sp, #0] - 8021d6c: 4608 mov r0, r1 - 8021d6e: e893 0006 ldmia.w r3, {r1, r2} - 8021d72: f04f 0300 mov.w r3, #0 ; 0x0 - 8021d76: f7f6 fa53 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 8021d7a: f507 63b9 add.w r3, r7, #1480 ; 0x5c8 - 8021d7e: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8021d82: 4620 mov r0, r4 - 8021d84: 4619 mov r1, r3 - 8021d86: f00d f837 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 8021d8a: f507 63b9 add.w r3, r7, #1480 ; 0x5c8 - 8021d8e: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8021d92: 4618 mov r0, r3 - 8021d94: f7f6 fa0c bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[16] = ActionGoTo(Position(2815, 1200, isBlue), false); - 8021d98: f507 739c add.w r3, r7, #312 ; 0x138 - 8021d9c: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8021da0: 681b ldr r3, [r3, #0] - 8021da2: f503 7465 add.w r4, r3, #916 ; 0x394 - 8021da6: f507 62c5 add.w r2, r7, #1576 ; 0x628 - 8021daa: f1a2 0204 sub.w r2, r2, #4 ; 0x4 - 8021dae: f507 739c add.w r3, r7, #312 ; 0x138 - 8021db2: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8021db6: 781b ldrb r3, [r3, #0] - 8021db8: 4610 mov r0, r2 - 8021dba: 49ed ldr r1, [pc, #948] (8022170 <_ZN11StrategieV3C1Eb+0xf60>) - 8021dbc: 4ae8 ldr r2, [pc, #928] (8022160 <_ZN11StrategieV3C1Eb+0xf50>) - 8021dbe: f7f5 fcf7 bl 80177b0 <_ZN8PositionC1Effb> - 8021dc2: f507 61bf add.w r1, r7, #1528 ; 0x5f8 - 8021dc6: f1a1 0104 sub.w r1, r1, #4 ; 0x4 - 8021dca: f507 63c5 add.w r3, r7, #1576 ; 0x628 - 8021dce: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8021dd2: 4ae4 ldr r2, [pc, #912] (8022164 <_ZN11StrategieV3C1Eb+0xf54>) - 8021dd4: 9200 str r2, [sp, #0] - 8021dd6: 4608 mov r0, r1 - 8021dd8: e893 0006 ldmia.w r3, {r1, r2} - 8021ddc: f04f 0300 mov.w r3, #0 ; 0x0 - 8021de0: f7f6 fa1e bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 8021de4: f507 63bf add.w r3, r7, #1528 ; 0x5f8 - 8021de8: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8021dec: 4620 mov r0, r4 - 8021dee: 4619 mov r1, r3 - 8021df0: f00d f802 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 8021df4: f507 63bf add.w r3, r7, #1528 ; 0x5f8 - 8021df8: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8021dfc: 4618 mov r0, r3 - 8021dfe: f7f6 f9d7 bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[17] = ActionGoTo(Position(2400, 1550, isBlue), false); - 8021e02: f507 739c add.w r3, r7, #312 ; 0x138 - 8021e06: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8021e0a: 681b ldr r3, [r3, #0] - 8021e0c: f503 7471 add.w r4, r3, #964 ; 0x3c4 - 8021e10: f507 62cd add.w r2, r7, #1640 ; 0x668 - 8021e14: f1a2 020c sub.w r2, r2, #12 ; 0xc - 8021e18: f507 739c add.w r3, r7, #312 ; 0x138 - 8021e1c: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8021e20: 781b ldrb r3, [r3, #0] - 8021e22: 4610 mov r0, r2 - 8021e24: 49d3 ldr r1, [pc, #844] (8022174 <_ZN11StrategieV3C1Eb+0xf64>) - 8021e26: 4ad4 ldr r2, [pc, #848] (8022178 <_ZN11StrategieV3C1Eb+0xf68>) - 8021e28: f7f5 fcc2 bl 80177b0 <_ZN8PositionC1Effb> - 8021e2c: f507 61c7 add.w r1, r7, #1592 ; 0x638 - 8021e30: f1a1 010c sub.w r1, r1, #12 ; 0xc - 8021e34: f507 63cd add.w r3, r7, #1640 ; 0x668 - 8021e38: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8021e3c: 4ac9 ldr r2, [pc, #804] (8022164 <_ZN11StrategieV3C1Eb+0xf54>) - 8021e3e: 9200 str r2, [sp, #0] - 8021e40: 4608 mov r0, r1 - 8021e42: e893 0006 ldmia.w r3, {r1, r2} - 8021e46: f04f 0300 mov.w r3, #0 ; 0x0 - 8021e4a: f7f6 f9e9 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 8021e4e: f507 63c7 add.w r3, r7, #1592 ; 0x638 - 8021e52: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8021e56: 4620 mov r0, r4 - 8021e58: 4619 mov r1, r3 - 8021e5a: f00c ffcd bl 802edf8 <_ZN10ActionGoToaSERKS_> - 8021e5e: f507 63c7 add.w r3, r7, #1592 ; 0x638 - 8021e62: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8021e66: 4618 mov r0, r3 - 8021e68: f7f6 f9a2 bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[18] = ActionGoTo(Position(2100, 1550, isBlue), false); - 8021e6c: f507 739c add.w r3, r7, #312 ; 0x138 - 8021e70: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8021e74: 681b ldr r3, [r3, #0] - 8021e76: f503 747d add.w r4, r3, #1012 ; 0x3f4 - 8021e7a: f507 62d3 add.w r2, r7, #1688 ; 0x698 - 8021e7e: f1a2 0204 sub.w r2, r2, #4 ; 0x4 - 8021e82: f507 739c add.w r3, r7, #312 ; 0x138 - 8021e86: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8021e8a: 781b ldrb r3, [r3, #0] - 8021e8c: 4610 mov r0, r2 - 8021e8e: 49bf ldr r1, [pc, #764] (802218c <_ZN11StrategieV3C1Eb+0xf7c>) - 8021e90: 4ab9 ldr r2, [pc, #740] (8022178 <_ZN11StrategieV3C1Eb+0xf68>) - 8021e92: f7f5 fc8d bl 80177b0 <_ZN8PositionC1Effb> - 8021e96: f507 61cd add.w r1, r7, #1640 ; 0x668 - 8021e9a: f1a1 0104 sub.w r1, r1, #4 ; 0x4 - 8021e9e: f507 63d3 add.w r3, r7, #1688 ; 0x698 - 8021ea2: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8021ea6: 4aaf ldr r2, [pc, #700] (8022164 <_ZN11StrategieV3C1Eb+0xf54>) - 8021ea8: 9200 str r2, [sp, #0] - 8021eaa: 4608 mov r0, r1 - 8021eac: e893 0006 ldmia.w r3, {r1, r2} - 8021eb0: f04f 0300 mov.w r3, #0 ; 0x0 - 8021eb4: f7f6 f9b4 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 8021eb8: f507 63cd add.w r3, r7, #1640 ; 0x668 - 8021ebc: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8021ec0: 4620 mov r0, r4 - 8021ec2: 4619 mov r1, r3 - 8021ec4: f00c ff98 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 8021ec8: f507 63cd add.w r3, r7, #1640 ; 0x668 - 8021ecc: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8021ed0: 4618 mov r0, r3 - 8021ed2: f7f6 f96d bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[19] = ActionGoTo(Position(600, 900, isBlue), false); - 8021ed6: f507 739c add.w r3, r7, #312 ; 0x138 - 8021eda: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8021ede: 681b ldr r3, [r3, #0] - 8021ee0: f503 6484 add.w r4, r3, #1056 ; 0x420 - 8021ee4: f104 0404 add.w r4, r4, #4 ; 0x4 - 8021ee8: f507 62db add.w r2, r7, #1752 ; 0x6d8 - 8021eec: f1a2 020c sub.w r2, r2, #12 ; 0xc - 8021ef0: f507 739c add.w r3, r7, #312 ; 0x138 - 8021ef4: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8021ef8: 781b ldrb r3, [r3, #0] - 8021efa: 4610 mov r0, r2 - 8021efc: 49a2 ldr r1, [pc, #648] (8022188 <_ZN11StrategieV3C1Eb+0xf78>) - 8021efe: 4aa0 ldr r2, [pc, #640] (8022180 <_ZN11StrategieV3C1Eb+0xf70>) - 8021f00: f7f5 fc56 bl 80177b0 <_ZN8PositionC1Effb> - 8021f04: f507 61d5 add.w r1, r7, #1704 ; 0x6a8 - 8021f08: f1a1 010c sub.w r1, r1, #12 ; 0xc - 8021f0c: f507 63db add.w r3, r7, #1752 ; 0x6d8 - 8021f10: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8021f14: 4a93 ldr r2, [pc, #588] (8022164 <_ZN11StrategieV3C1Eb+0xf54>) - 8021f16: 9200 str r2, [sp, #0] - 8021f18: 4608 mov r0, r1 - 8021f1a: e893 0006 ldmia.w r3, {r1, r2} - 8021f1e: f04f 0300 mov.w r3, #0 ; 0x0 - 8021f22: f7f6 f97d bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 8021f26: f507 63d5 add.w r3, r7, #1704 ; 0x6a8 - 8021f2a: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8021f2e: 4620 mov r0, r4 - 8021f30: 4619 mov r1, r3 - 8021f32: f00c ff61 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 8021f36: f507 63d5 add.w r3, r7, #1704 ; 0x6a8 - 8021f3a: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8021f3e: 4618 mov r0, r3 - 8021f40: f7f6 f936 bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[20] = ActionGoTo(Position(900, 600, isBlue), false); - 8021f44: f507 739c add.w r3, r7, #312 ; 0x138 - 8021f48: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8021f4c: 681b ldr r3, [r3, #0] - 8021f4e: f503 648a add.w r4, r3, #1104 ; 0x450 - 8021f52: f104 0404 add.w r4, r4, #4 ; 0x4 - 8021f56: f507 62e1 add.w r2, r7, #1800 ; 0x708 - 8021f5a: f1a2 0204 sub.w r2, r2, #4 ; 0x4 - 8021f5e: f507 739c add.w r3, r7, #312 ; 0x138 - 8021f62: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8021f66: 781b ldrb r3, [r3, #0] - 8021f68: 4610 mov r0, r2 - 8021f6a: 4985 ldr r1, [pc, #532] (8022180 <_ZN11StrategieV3C1Eb+0xf70>) - 8021f6c: 4a86 ldr r2, [pc, #536] (8022188 <_ZN11StrategieV3C1Eb+0xf78>) - 8021f6e: f7f5 fc1f bl 80177b0 <_ZN8PositionC1Effb> - 8021f72: f507 61db add.w r1, r7, #1752 ; 0x6d8 - 8021f76: f1a1 0104 sub.w r1, r1, #4 ; 0x4 - 8021f7a: f507 63e1 add.w r3, r7, #1800 ; 0x708 - 8021f7e: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8021f82: 4a78 ldr r2, [pc, #480] (8022164 <_ZN11StrategieV3C1Eb+0xf54>) - 8021f84: 9200 str r2, [sp, #0] - 8021f86: 4608 mov r0, r1 - 8021f88: e893 0006 ldmia.w r3, {r1, r2} - 8021f8c: f04f 0300 mov.w r3, #0 ; 0x0 - 8021f90: f7f6 f946 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 8021f94: f507 63db add.w r3, r7, #1752 ; 0x6d8 - 8021f98: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8021f9c: 4620 mov r0, r4 - 8021f9e: 4619 mov r1, r3 - 8021fa0: f00c ff2a bl 802edf8 <_ZN10ActionGoToaSERKS_> - 8021fa4: f507 63db add.w r3, r7, #1752 ; 0x6d8 - 8021fa8: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8021fac: 4618 mov r0, r3 - 8021fae: f7f6 f8ff bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[21] = ActionGoTo(Position(1500, 600, isBlue), false); - 8021fb2: f507 739c add.w r3, r7, #312 ; 0x138 - 8021fb6: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8021fba: 681b ldr r3, [r3, #0] - 8021fbc: f503 6490 add.w r4, r3, #1152 ; 0x480 - 8021fc0: f104 0404 add.w r4, r4, #4 ; 0x4 - 8021fc4: f507 62e9 add.w r2, r7, #1864 ; 0x748 - 8021fc8: f1a2 020c sub.w r2, r2, #12 ; 0xc - 8021fcc: f507 739c add.w r3, r7, #312 ; 0x138 - 8021fd0: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8021fd4: 781b ldrb r3, [r3, #0] - 8021fd6: 4610 mov r0, r2 - 8021fd8: 4968 ldr r1, [pc, #416] (802217c <_ZN11StrategieV3C1Eb+0xf6c>) - 8021fda: 4a6b ldr r2, [pc, #428] (8022188 <_ZN11StrategieV3C1Eb+0xf78>) - 8021fdc: f7f5 fbe8 bl 80177b0 <_ZN8PositionC1Effb> - 8021fe0: f507 61e3 add.w r1, r7, #1816 ; 0x718 - 8021fe4: f1a1 010c sub.w r1, r1, #12 ; 0xc - 8021fe8: f507 63e9 add.w r3, r7, #1864 ; 0x748 - 8021fec: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8021ff0: 4a5c ldr r2, [pc, #368] (8022164 <_ZN11StrategieV3C1Eb+0xf54>) - 8021ff2: 9200 str r2, [sp, #0] - 8021ff4: 4608 mov r0, r1 - 8021ff6: e893 0006 ldmia.w r3, {r1, r2} - 8021ffa: f04f 0300 mov.w r3, #0 ; 0x0 - 8021ffe: f7f6 f90f bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 8022002: f507 63e3 add.w r3, r7, #1816 ; 0x718 - 8022006: f1a3 030c sub.w r3, r3, #12 ; 0xc - 802200a: 4620 mov r0, r4 - 802200c: 4619 mov r1, r3 - 802200e: f00c fef3 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 8022012: f507 63e3 add.w r3, r7, #1816 ; 0x718 - 8022016: f1a3 030c sub.w r3, r3, #12 ; 0xc - 802201a: 4618 mov r0, r3 - 802201c: f7f6 f8c8 bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[22] = ActionGoTo(Position(2100, 600, isBlue), false); - 8022020: f507 739c add.w r3, r7, #312 ; 0x138 - 8022024: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8022028: 681b ldr r3, [r3, #0] - 802202a: f503 6496 add.w r4, r3, #1200 ; 0x4b0 - 802202e: f104 0404 add.w r4, r4, #4 ; 0x4 - 8022032: f507 62ef add.w r2, r7, #1912 ; 0x778 - 8022036: f1a2 0204 sub.w r2, r2, #4 ; 0x4 - 802203a: f507 739c add.w r3, r7, #312 ; 0x138 - 802203e: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8022042: 781b ldrb r3, [r3, #0] - 8022044: 4610 mov r0, r2 - 8022046: 4951 ldr r1, [pc, #324] (802218c <_ZN11StrategieV3C1Eb+0xf7c>) - 8022048: 4a4f ldr r2, [pc, #316] (8022188 <_ZN11StrategieV3C1Eb+0xf78>) - 802204a: f7f5 fbb1 bl 80177b0 <_ZN8PositionC1Effb> - 802204e: f507 61e9 add.w r1, r7, #1864 ; 0x748 - 8022052: f1a1 0104 sub.w r1, r1, #4 ; 0x4 - 8022056: f507 63ef add.w r3, r7, #1912 ; 0x778 - 802205a: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 802205e: 4a41 ldr r2, [pc, #260] (8022164 <_ZN11StrategieV3C1Eb+0xf54>) - 8022060: 9200 str r2, [sp, #0] - 8022062: 4608 mov r0, r1 - 8022064: e893 0006 ldmia.w r3, {r1, r2} - 8022068: f04f 0300 mov.w r3, #0 ; 0x0 - 802206c: f7f6 f8d8 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 8022070: f507 63e9 add.w r3, r7, #1864 ; 0x748 - 8022074: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8022078: 4620 mov r0, r4 - 802207a: 4619 mov r1, r3 - 802207c: f00c febc bl 802edf8 <_ZN10ActionGoToaSERKS_> - 8022080: f507 63e9 add.w r3, r7, #1864 ; 0x748 - 8022084: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8022088: 4618 mov r0, r3 - 802208a: f7f6 f891 bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[23] = ActionGoTo(Position(1800, 800, isBlue), false); - 802208e: f507 739c add.w r3, r7, #312 ; 0x138 - 8022092: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8022096: 681b ldr r3, [r3, #0] - 8022098: f503 649c add.w r4, r3, #1248 ; 0x4e0 - 802209c: f104 0404 add.w r4, r4, #4 ; 0x4 - 80220a0: f507 62f7 add.w r2, r7, #1976 ; 0x7b8 - 80220a4: f1a2 020c sub.w r2, r2, #12 ; 0xc - 80220a8: f507 739c add.w r3, r7, #312 ; 0x138 - 80220ac: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 80220b0: 781b ldrb r3, [r3, #0] - 80220b2: 4610 mov r0, r2 - 80220b4: 4937 ldr r1, [pc, #220] (8022194 <_ZN11StrategieV3C1Eb+0xf84>) - 80220b6: 4a33 ldr r2, [pc, #204] (8022184 <_ZN11StrategieV3C1Eb+0xf74>) - 80220b8: f7f5 fb7a bl 80177b0 <_ZN8PositionC1Effb> - 80220bc: f507 61f1 add.w r1, r7, #1928 ; 0x788 - 80220c0: f1a1 010c sub.w r1, r1, #12 ; 0xc - 80220c4: f507 63f7 add.w r3, r7, #1976 ; 0x7b8 - 80220c8: f1a3 030c sub.w r3, r3, #12 ; 0xc - 80220cc: 4a25 ldr r2, [pc, #148] (8022164 <_ZN11StrategieV3C1Eb+0xf54>) - 80220ce: 9200 str r2, [sp, #0] - 80220d0: 4608 mov r0, r1 - 80220d2: e893 0006 ldmia.w r3, {r1, r2} - 80220d6: f04f 0300 mov.w r3, #0 ; 0x0 - 80220da: f7f6 f8a1 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 80220de: f507 63f1 add.w r3, r7, #1928 ; 0x788 - 80220e2: f1a3 030c sub.w r3, r3, #12 ; 0xc - 80220e6: 4620 mov r0, r4 - 80220e8: 4619 mov r1, r3 - 80220ea: f00c fe85 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 80220ee: f507 63f1 add.w r3, r7, #1928 ; 0x788 - 80220f2: f1a3 030c sub.w r3, r3, #12 ; 0xc - 80220f6: 4618 mov r0, r3 - 80220f8: f7f6 f85a bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[24] = ActionGoTo(Position(2400, 900, isBlue), false); - 80220fc: f507 739c add.w r3, r7, #312 ; 0x138 - 8022100: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8022104: 681b ldr r3, [r3, #0] - 8022106: f503 64a2 add.w r4, r3, #1296 ; 0x510 - 802210a: f104 0404 add.w r4, r4, #4 ; 0x4 - 802210e: f507 62fc add.w r2, r7, #2016 ; 0x7e0 - 8022112: f102 0204 add.w r2, r2, #4 ; 0x4 - 8022116: f507 739c add.w r3, r7, #312 ; 0x138 - 802211a: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 802211e: 781b ldrb r3, [r3, #0] - 8022120: 4610 mov r0, r2 - 8022122: 4914 ldr r1, [pc, #80] (8022174 <_ZN11StrategieV3C1Eb+0xf64>) - 8022124: 4a16 ldr r2, [pc, #88] (8022180 <_ZN11StrategieV3C1Eb+0xf70>) - 8022126: f7f5 fb43 bl 80177b0 <_ZN8PositionC1Effb> - 802212a: f507 62f7 add.w r2, r7, #1976 ; 0x7b8 - 802212e: f1a2 0204 sub.w r2, r2, #4 ; 0x4 - 8022132: f507 61fc add.w r1, r7, #2016 ; 0x7e0 - 8022136: f101 0104 add.w r1, r1, #4 ; 0x4 - 802213a: 4b0a ldr r3, [pc, #40] (8022164 <_ZN11StrategieV3C1Eb+0xf54>) - 802213c: 9300 str r3, [sp, #0] - 802213e: 4610 mov r0, r2 - 8022140: c906 ldmia r1!, {r1, r2} - 8022142: f04f 0300 mov.w r3, #0 ; 0x0 - 8022146: f7f6 f86b bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 802214a: f507 63f7 add.w r3, r7, #1976 ; 0x7b8 - 802214e: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8022152: 4620 mov r0, r4 - 8022154: 4619 mov r1, r3 - 8022156: e01f b.n 8022198 <_ZN11StrategieV3C1Eb+0xf88> - 8022158: 00015f90 .word 0x00015f90 - 802215c: 43390000 .word 0x43390000 - 8022160: 44960000 .word 0x44960000 - 8022164: 41f00000 .word 0x41f00000 - 8022168: 44a28000 .word 0x44a28000 - 802216c: 44d48000 .word 0x44d48000 - 8022170: 452ff000 .word 0x452ff000 - 8022174: 45160000 .word 0x45160000 - 8022178: 44c1c000 .word 0x44c1c000 - 802217c: 44bb8000 .word 0x44bb8000 - 8022180: 44610000 .word 0x44610000 - 8022184: 44480000 .word 0x44480000 - 8022188: 44160000 .word 0x44160000 - 802218c: 45034000 .word 0x45034000 - 8022190: 45098000 .word 0x45098000 - 8022194: 44e10000 .word 0x44e10000 - 8022198: f00c fe2e bl 802edf8 <_ZN10ActionGoToaSERKS_> - 802219c: f507 63f7 add.w r3, r7, #1976 ; 0x7b8 - 80221a0: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 80221a4: 4618 mov r0, r3 - 80221a6: f7f6 f803 bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[25] = ActionGoTo(Position(2100, 1200, isBlue), false); - 80221aa: f507 739c add.w r3, r7, #312 ; 0x138 - 80221ae: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80221b2: 681b ldr r3, [r3, #0] - 80221b4: f503 64a8 add.w r4, r3, #1344 ; 0x540 - 80221b8: f104 0404 add.w r4, r4, #4 ; 0x4 - 80221bc: f507 6200 add.w r2, r7, #2048 ; 0x800 - 80221c0: f102 021c add.w r2, r2, #28 ; 0x1c - 80221c4: f507 739c add.w r3, r7, #312 ; 0x138 - 80221c8: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 80221cc: 781b ldrb r3, [r3, #0] - 80221ce: 4610 mov r0, r2 - 80221d0: f8df 1b2c ldr.w r1, [pc, #2860] ; 8022d00 <_ZN11StrategieV3C1Eb+0x1af0> - 80221d4: f8df 2b2c ldr.w r2, [pc, #2860] ; 8022d04 <_ZN11StrategieV3C1Eb+0x1af4> - 80221d8: f7f5 faea bl 80177b0 <_ZN8PositionC1Effb> - 80221dc: f507 61fc add.w r1, r7, #2016 ; 0x7e0 - 80221e0: f101 010c add.w r1, r1, #12 ; 0xc - 80221e4: f507 6200 add.w r2, r7, #2048 ; 0x800 - 80221e8: f102 021c add.w r2, r2, #28 ; 0x1c - 80221ec: f8df 3b18 ldr.w r3, [pc, #2840] ; 8022d08 <_ZN11StrategieV3C1Eb+0x1af8> - 80221f0: 9300 str r3, [sp, #0] - 80221f2: 4608 mov r0, r1 - 80221f4: ca06 ldmia r2!, {r1, r2} - 80221f6: f04f 0300 mov.w r3, #0 ; 0x0 - 80221fa: f7f6 f811 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 80221fe: f507 63fc add.w r3, r7, #2016 ; 0x7e0 - 8022202: f103 030c add.w r3, r3, #12 ; 0xc - 8022206: 4620 mov r0, r4 - 8022208: 4619 mov r1, r3 - 802220a: f00c fdf5 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 802220e: f507 63fc add.w r3, r7, #2016 ; 0x7e0 - 8022212: f103 030c add.w r3, r3, #12 ; 0xc - 8022216: 4618 mov r0, r3 - 8022218: f7f5 ffca bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[26] = ActionGoTo(Position(1800, 1550, isBlue), false); - 802221c: f507 739c add.w r3, r7, #312 ; 0x138 - 8022220: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8022224: 681b ldr r3, [r3, #0] - 8022226: f503 64ae add.w r4, r3, #1392 ; 0x570 - 802222a: f104 0404 add.w r4, r4, #4 ; 0x4 - 802222e: f507 6204 add.w r2, r7, #2112 ; 0x840 - 8022232: f102 0214 add.w r2, r2, #20 ; 0x14 - 8022236: f507 739c add.w r3, r7, #312 ; 0x138 - 802223a: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 802223e: 781b ldrb r3, [r3, #0] - 8022240: 4610 mov r0, r2 - 8022242: f8df 1ac8 ldr.w r1, [pc, #2760] ; 8022d0c <_ZN11StrategieV3C1Eb+0x1afc> - 8022246: f8df 2ac8 ldr.w r2, [pc, #2760] ; 8022d10 <_ZN11StrategieV3C1Eb+0x1b00> - 802224a: f7f5 fab1 bl 80177b0 <_ZN8PositionC1Effb> - 802224e: f507 6102 add.w r1, r7, #2080 ; 0x820 - 8022252: f101 0104 add.w r1, r1, #4 ; 0x4 - 8022256: f507 6204 add.w r2, r7, #2112 ; 0x840 - 802225a: f102 0214 add.w r2, r2, #20 ; 0x14 - 802225e: f8df 3aa8 ldr.w r3, [pc, #2728] ; 8022d08 <_ZN11StrategieV3C1Eb+0x1af8> - 8022262: 9300 str r3, [sp, #0] - 8022264: 4608 mov r0, r1 - 8022266: ca06 ldmia r2!, {r1, r2} - 8022268: f04f 0300 mov.w r3, #0 ; 0x0 - 802226c: f7f5 ffd8 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 8022270: f507 6302 add.w r3, r7, #2080 ; 0x820 - 8022274: f103 0304 add.w r3, r3, #4 ; 0x4 - 8022278: 4620 mov r0, r4 - 802227a: 4619 mov r1, r3 - 802227c: f00c fdbc bl 802edf8 <_ZN10ActionGoToaSERKS_> - 8022280: f507 6302 add.w r3, r7, #2080 ; 0x820 - 8022284: f103 0304 add.w r3, r3, #4 ; 0x4 - 8022288: 4618 mov r0, r3 - 802228a: f7f5 ff91 bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[27] = ActionGoTo(Position(1800, 1000, isBlue), false); - 802228e: f507 739c add.w r3, r7, #312 ; 0x138 - 8022292: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8022296: 681b ldr r3, [r3, #0] - 8022298: f503 64b4 add.w r4, r3, #1440 ; 0x5a0 - 802229c: f104 0404 add.w r4, r4, #4 ; 0x4 - 80222a0: f507 6208 add.w r2, r7, #2176 ; 0x880 - 80222a4: f102 020c add.w r2, r2, #12 ; 0xc - 80222a8: f507 739c add.w r3, r7, #312 ; 0x138 - 80222ac: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 80222b0: 781b ldrb r3, [r3, #0] - 80222b2: 4610 mov r0, r2 - 80222b4: f8df 1a54 ldr.w r1, [pc, #2644] ; 8022d0c <_ZN11StrategieV3C1Eb+0x1afc> - 80222b8: f8df 2a58 ldr.w r2, [pc, #2648] ; 8022d14 <_ZN11StrategieV3C1Eb+0x1b04> - 80222bc: f7f5 fa78 bl 80177b0 <_ZN8PositionC1Effb> - 80222c0: f507 6104 add.w r1, r7, #2112 ; 0x840 - 80222c4: f101 011c add.w r1, r1, #28 ; 0x1c - 80222c8: f507 6208 add.w r2, r7, #2176 ; 0x880 - 80222cc: f102 020c add.w r2, r2, #12 ; 0xc - 80222d0: f8df 3a34 ldr.w r3, [pc, #2612] ; 8022d08 <_ZN11StrategieV3C1Eb+0x1af8> - 80222d4: 9300 str r3, [sp, #0] - 80222d6: 4608 mov r0, r1 - 80222d8: ca06 ldmia r2!, {r1, r2} - 80222da: f04f 0300 mov.w r3, #0 ; 0x0 - 80222de: f7f5 ff9f bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 80222e2: f507 6304 add.w r3, r7, #2112 ; 0x840 - 80222e6: f103 031c add.w r3, r3, #28 ; 0x1c - 80222ea: 4620 mov r0, r4 - 80222ec: 4619 mov r1, r3 - 80222ee: f00c fd83 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 80222f2: f507 6304 add.w r3, r7, #2112 ; 0x840 - 80222f6: f103 031c add.w r3, r3, #28 ; 0x1c - 80222fa: 4618 mov r0, r3 - 80222fc: f7f5 ff58 bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[28] = ActionGoTo(Position(600, 1100, isBlue), false); - 8022300: f507 739c add.w r3, r7, #312 ; 0x138 - 8022304: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8022308: 681b ldr r3, [r3, #0] - 802230a: f503 64ba add.w r4, r3, #1488 ; 0x5d0 - 802230e: f104 0404 add.w r4, r4, #4 ; 0x4 - 8022312: f507 620c add.w r2, r7, #2240 ; 0x8c0 - 8022316: f102 0204 add.w r2, r2, #4 ; 0x4 - 802231a: f507 739c add.w r3, r7, #312 ; 0x138 - 802231e: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8022322: 781b ldrb r3, [r3, #0] - 8022324: 4610 mov r0, r2 - 8022326: f8df 19f0 ldr.w r1, [pc, #2544] ; 8022d18 <_ZN11StrategieV3C1Eb+0x1b08> - 802232a: f8df 29f0 ldr.w r2, [pc, #2544] ; 8022d1c <_ZN11StrategieV3C1Eb+0x1b0c> - 802232e: f7f5 fa3f bl 80177b0 <_ZN8PositionC1Effb> - 8022332: f507 6108 add.w r1, r7, #2176 ; 0x880 - 8022336: f101 0114 add.w r1, r1, #20 ; 0x14 - 802233a: f507 620c add.w r2, r7, #2240 ; 0x8c0 - 802233e: f102 0204 add.w r2, r2, #4 ; 0x4 - 8022342: f8df 39c4 ldr.w r3, [pc, #2500] ; 8022d08 <_ZN11StrategieV3C1Eb+0x1af8> - 8022346: 9300 str r3, [sp, #0] - 8022348: 4608 mov r0, r1 - 802234a: ca06 ldmia r2!, {r1, r2} - 802234c: f04f 0300 mov.w r3, #0 ; 0x0 - 8022350: f7f5 ff66 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 8022354: f507 6308 add.w r3, r7, #2176 ; 0x880 - 8022358: f103 0314 add.w r3, r3, #20 ; 0x14 - 802235c: 4620 mov r0, r4 - 802235e: 4619 mov r1, r3 - 8022360: f00c fd4a bl 802edf8 <_ZN10ActionGoToaSERKS_> - 8022364: f507 6308 add.w r3, r7, #2176 ; 0x880 - 8022368: f103 0314 add.w r3, r3, #20 ; 0x14 - 802236c: 4618 mov r0, r3 - 802236e: f7f5 ff1f bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[29] = ActionGoTo(Position(600, 600, isBlue), false); - 8022372: f507 739c add.w r3, r7, #312 ; 0x138 - 8022376: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802237a: 681b ldr r3, [r3, #0] - 802237c: f503 64c0 add.w r4, r3, #1536 ; 0x600 - 8022380: f104 0404 add.w r4, r4, #4 ; 0x4 - 8022384: f507 620e add.w r2, r7, #2272 ; 0x8e0 - 8022388: f102 021c add.w r2, r2, #28 ; 0x1c - 802238c: f507 739c add.w r3, r7, #312 ; 0x138 - 8022390: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8022394: 781b ldrb r3, [r3, #0] - 8022396: 4610 mov r0, r2 - 8022398: f8df 197c ldr.w r1, [pc, #2428] ; 8022d18 <_ZN11StrategieV3C1Eb+0x1b08> - 802239c: f8df 2978 ldr.w r2, [pc, #2424] ; 8022d18 <_ZN11StrategieV3C1Eb+0x1b08> - 80223a0: f7f5 fa06 bl 80177b0 <_ZN8PositionC1Effb> - 80223a4: f507 610c add.w r1, r7, #2240 ; 0x8c0 - 80223a8: f101 010c add.w r1, r1, #12 ; 0xc - 80223ac: f507 620e add.w r2, r7, #2272 ; 0x8e0 - 80223b0: f102 021c add.w r2, r2, #28 ; 0x1c - 80223b4: f8df 3950 ldr.w r3, [pc, #2384] ; 8022d08 <_ZN11StrategieV3C1Eb+0x1af8> - 80223b8: 9300 str r3, [sp, #0] - 80223ba: 4608 mov r0, r1 - 80223bc: ca06 ldmia r2!, {r1, r2} - 80223be: f04f 0300 mov.w r3, #0 ; 0x0 - 80223c2: f7f5 ff2d bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 80223c6: f507 630c add.w r3, r7, #2240 ; 0x8c0 - 80223ca: f103 030c add.w r3, r3, #12 ; 0xc - 80223ce: 4620 mov r0, r4 - 80223d0: 4619 mov r1, r3 - 80223d2: f00c fd11 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 80223d6: f507 630c add.w r3, r7, #2240 ; 0x8c0 - 80223da: f103 030c add.w r3, r3, #12 ; 0xc - 80223de: 4618 mov r0, r3 - 80223e0: f7f5 fee6 bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[30] = ActionGoTo(Position(2400, 600, isBlue), false); - 80223e4: f507 739c add.w r3, r7, #312 ; 0x138 - 80223e8: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80223ec: 681b ldr r3, [r3, #0] - 80223ee: f503 64c6 add.w r4, r3, #1584 ; 0x630 - 80223f2: f104 0404 add.w r4, r4, #4 ; 0x4 - 80223f6: f507 6212 add.w r2, r7, #2336 ; 0x920 - 80223fa: f102 0214 add.w r2, r2, #20 ; 0x14 - 80223fe: f507 739c add.w r3, r7, #312 ; 0x138 - 8022402: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8022406: 781b ldrb r3, [r3, #0] - 8022408: 4610 mov r0, r2 - 802240a: f8df 1914 ldr.w r1, [pc, #2324] ; 8022d20 <_ZN11StrategieV3C1Eb+0x1b10> - 802240e: f8df 2908 ldr.w r2, [pc, #2312] ; 8022d18 <_ZN11StrategieV3C1Eb+0x1b08> - 8022412: f7f5 f9cd bl 80177b0 <_ZN8PositionC1Effb> - 8022416: f507 6110 add.w r1, r7, #2304 ; 0x900 - 802241a: f101 0104 add.w r1, r1, #4 ; 0x4 - 802241e: f507 6212 add.w r2, r7, #2336 ; 0x920 - 8022422: f102 0214 add.w r2, r2, #20 ; 0x14 - 8022426: f8df 38e0 ldr.w r3, [pc, #2272] ; 8022d08 <_ZN11StrategieV3C1Eb+0x1af8> - 802242a: 9300 str r3, [sp, #0] - 802242c: 4608 mov r0, r1 - 802242e: ca06 ldmia r2!, {r1, r2} - 8022430: f04f 0300 mov.w r3, #0 ; 0x0 - 8022434: f7f5 fef4 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 8022438: f507 6310 add.w r3, r7, #2304 ; 0x900 - 802243c: f103 0304 add.w r3, r3, #4 ; 0x4 - 8022440: 4620 mov r0, r4 - 8022442: 4619 mov r1, r3 - 8022444: f00c fcd8 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 8022448: f507 6310 add.w r3, r7, #2304 ; 0x900 - 802244c: f103 0304 add.w r3, r3, #4 ; 0x4 - 8022450: 4618 mov r0, r3 - 8022452: f7f5 fead bl 80181b0 <_ZN10ActionGoToD1Ev> - - actionEtape[0] = &actionGoto[0]; - 8022456: f507 739c add.w r3, r7, #312 ; 0x138 - 802245a: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802245e: 681b ldr r3, [r3, #0] - 8022460: f103 0294 add.w r2, r3, #148 ; 0x94 - 8022464: f507 739c add.w r3, r7, #312 ; 0x138 - 8022468: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802246c: 681b ldr r3, [r3, #0] - 802246e: 619a str r2, [r3, #24] - //actionEtape[1] = &actionGoto[1]; - actionEtape[1] = &actionFeuCote[0]; - 8022470: f507 739c add.w r3, r7, #312 ; 0x138 - 8022474: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8022478: 681b ldr r3, [r3, #0] - 802247a: f503 62cc add.w r2, r3, #1632 ; 0x660 - 802247e: f102 0204 add.w r2, r2, #4 ; 0x4 - 8022482: f507 739c add.w r3, r7, #312 ; 0x138 - 8022486: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802248a: 681b ldr r3, [r3, #0] - 802248c: 61da str r2, [r3, #28] - actionEtape[2] = &actionGoto[2]; - 802248e: f507 739c add.w r3, r7, #312 ; 0x138 - 8022492: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8022496: 681b ldr r3, [r3, #0] - 8022498: f103 02f4 add.w r2, r3, #244 ; 0xf4 - 802249c: f507 739c add.w r3, r7, #312 ; 0x138 - 80224a0: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80224a4: 681b ldr r3, [r3, #0] - 80224a6: 621a str r2, [r3, #32] - actionEtape[3] = &actionGoto[3]; - 80224a8: f507 739c add.w r3, r7, #312 ; 0x138 - 80224ac: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80224b0: 681b ldr r3, [r3, #0] - 80224b2: f503 7292 add.w r2, r3, #292 ; 0x124 - 80224b6: f507 739c add.w r3, r7, #312 ; 0x138 - 80224ba: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80224be: 681b ldr r3, [r3, #0] - 80224c0: 625a str r2, [r3, #36] - actionEtape[4] = &actionGoto[4]; - 80224c2: f507 739c add.w r3, r7, #312 ; 0x138 - 80224c6: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80224ca: 681b ldr r3, [r3, #0] - 80224cc: f503 72aa add.w r2, r3, #340 ; 0x154 - 80224d0: f507 739c add.w r3, r7, #312 ; 0x138 - 80224d4: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80224d8: 681b ldr r3, [r3, #0] - 80224da: 629a str r2, [r3, #40] - actionEtape[5] = &actionGoto[5]; - 80224dc: f507 739c add.w r3, r7, #312 ; 0x138 - 80224e0: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80224e4: 681b ldr r3, [r3, #0] - 80224e6: f503 72c2 add.w r2, r3, #388 ; 0x184 - 80224ea: f507 739c add.w r3, r7, #312 ; 0x138 - 80224ee: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80224f2: 681b ldr r3, [r3, #0] - 80224f4: 62da str r2, [r3, #44] - actionEtape[6] = &actionGoto[6]; - 80224f6: f507 739c add.w r3, r7, #312 ; 0x138 - 80224fa: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80224fe: 681b ldr r3, [r3, #0] - 8022500: f503 72da add.w r2, r3, #436 ; 0x1b4 - 8022504: f507 739c add.w r3, r7, #312 ; 0x138 - 8022508: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802250c: 681b ldr r3, [r3, #0] - 802250e: 631a str r2, [r3, #48] - actionEtape[7] = &actionGoto[7]; - 8022510: f507 739c add.w r3, r7, #312 ; 0x138 - 8022514: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8022518: 681b ldr r3, [r3, #0] - 802251a: f503 72f2 add.w r2, r3, #484 ; 0x1e4 - 802251e: f507 739c add.w r3, r7, #312 ; 0x138 - 8022522: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8022526: 681b ldr r3, [r3, #0] - 8022528: 635a str r2, [r3, #52] - //actionEtape[8] = &actionGoto[8]; - actionEtape[8] = &actionFeuCote[1]; - 802252a: f507 739c add.w r3, r7, #312 ; 0x138 - 802252e: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8022532: 681b ldr r3, [r3, #0] - 8022534: f503 62d4 add.w r2, r3, #1696 ; 0x6a0 - 8022538: f507 739c add.w r3, r7, #312 ; 0x138 - 802253c: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8022540: 681b ldr r3, [r3, #0] - 8022542: 639a str r2, [r3, #56] - //actionEtape[9] = &actionGoto[9]; - actionEtape[9] = &actionFeuCote[2]; - 8022544: f507 739c add.w r3, r7, #312 ; 0x138 - 8022548: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802254c: 681b ldr r3, [r3, #0] - 802254e: f503 62da add.w r2, r3, #1744 ; 0x6d0 - 8022552: f102 020c add.w r2, r2, #12 ; 0xc - 8022556: f507 739c add.w r3, r7, #312 ; 0x138 - 802255a: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802255e: 681b ldr r3, [r3, #0] - 8022560: 63da str r2, [r3, #60] - actionEtape[10] = &actionGoto[10]; - 8022562: f507 739c add.w r3, r7, #312 ; 0x138 - 8022566: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802256a: 681b ldr r3, [r3, #0] - 802256c: f503 721d add.w r2, r3, #628 ; 0x274 - 8022570: f507 739c add.w r3, r7, #312 ; 0x138 - 8022574: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8022578: 681b ldr r3, [r3, #0] - 802257a: 641a str r2, [r3, #64] - actionEtape[11] = &actionGoto[11]; - 802257c: f507 739c add.w r3, r7, #312 ; 0x138 - 8022580: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8022584: 681b ldr r3, [r3, #0] - 8022586: f503 7229 add.w r2, r3, #676 ; 0x2a4 - 802258a: f507 739c add.w r3, r7, #312 ; 0x138 - 802258e: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8022592: 681b ldr r3, [r3, #0] - 8022594: 645a str r2, [r3, #68] - actionEtape[12] = &actionGoto[12]; - 8022596: f507 739c add.w r3, r7, #312 ; 0x138 - 802259a: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802259e: 681b ldr r3, [r3, #0] - 80225a0: f503 7235 add.w r2, r3, #724 ; 0x2d4 - 80225a4: f507 739c add.w r3, r7, #312 ; 0x138 - 80225a8: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80225ac: 681b ldr r3, [r3, #0] - 80225ae: 649a str r2, [r3, #72] - actionEtape[13] = &actionGoto[13]; - 80225b0: f507 739c add.w r3, r7, #312 ; 0x138 - 80225b4: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80225b8: 681b ldr r3, [r3, #0] - 80225ba: f503 7241 add.w r2, r3, #772 ; 0x304 - 80225be: f507 739c add.w r3, r7, #312 ; 0x138 - 80225c2: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80225c6: 681b ldr r3, [r3, #0] - 80225c8: 64da str r2, [r3, #76] - actionEtape[14] = &actionGoto[14]; - 80225ca: f507 739c add.w r3, r7, #312 ; 0x138 - 80225ce: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80225d2: 681b ldr r3, [r3, #0] - 80225d4: f503 724d add.w r2, r3, #820 ; 0x334 - 80225d8: f507 739c add.w r3, r7, #312 ; 0x138 - 80225dc: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80225e0: 681b ldr r3, [r3, #0] - 80225e2: 651a str r2, [r3, #80] - actionEtape[15] = &actionGoto[15]; - 80225e4: f507 739c add.w r3, r7, #312 ; 0x138 - 80225e8: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80225ec: 681b ldr r3, [r3, #0] - 80225ee: f503 7259 add.w r2, r3, #868 ; 0x364 - 80225f2: f507 739c add.w r3, r7, #312 ; 0x138 - 80225f6: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80225fa: 681b ldr r3, [r3, #0] - 80225fc: 655a str r2, [r3, #84] - //actionEtape[16] = &actionGoto[16]; - actionEtape[16] = &actionFeuCote[3]; - 80225fe: f507 739c add.w r3, r7, #312 ; 0x138 - 8022602: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8022606: 681b ldr r3, [r3, #0] - 8022608: f503 62e3 add.w r2, r3, #1816 ; 0x718 - 802260c: f507 739c add.w r3, r7, #312 ; 0x138 - 8022610: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8022614: 681b ldr r3, [r3, #0] - 8022616: 659a str r2, [r3, #88] - actionEtape[17] = &actionDeposeFruits[0];//&actionGoto[17]; - 8022618: f507 739c add.w r3, r7, #312 ; 0x138 - 802261c: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8022620: 681b ldr r3, [r3, #0] - 8022622: f503 62ea add.w r2, r3, #1872 ; 0x750 - 8022626: f102 0204 add.w r2, r2, #4 ; 0x4 - 802262a: f507 739c add.w r3, r7, #312 ; 0x138 - 802262e: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8022632: 681b ldr r3, [r3, #0] - 8022634: 65da str r2, [r3, #92] - actionEtape[18] = &actionGoto[18]; - 8022636: f507 739c add.w r3, r7, #312 ; 0x138 - 802263a: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802263e: 681b ldr r3, [r3, #0] - 8022640: f503 727d add.w r2, r3, #1012 ; 0x3f4 - 8022644: f507 739c add.w r3, r7, #312 ; 0x138 - 8022648: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802264c: 681b ldr r3, [r3, #0] - 802264e: 661a str r2, [r3, #96] - actionEtape[19] = &actionGoto[19]; - 8022650: f507 739c add.w r3, r7, #312 ; 0x138 - 8022654: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8022658: 681b ldr r3, [r3, #0] - 802265a: f503 6284 add.w r2, r3, #1056 ; 0x420 - 802265e: f102 0204 add.w r2, r2, #4 ; 0x4 - 8022662: f507 739c add.w r3, r7, #312 ; 0x138 - 8022666: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802266a: 681b ldr r3, [r3, #0] - 802266c: 665a str r2, [r3, #100] - actionEtape[20] = &actionGoto[20]; - 802266e: f507 739c add.w r3, r7, #312 ; 0x138 - 8022672: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8022676: 681b ldr r3, [r3, #0] - 8022678: f503 628a add.w r2, r3, #1104 ; 0x450 - 802267c: f102 0204 add.w r2, r2, #4 ; 0x4 - 8022680: f507 739c add.w r3, r7, #312 ; 0x138 - 8022684: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8022688: 681b ldr r3, [r3, #0] - 802268a: 669a str r2, [r3, #104] - actionEtape[21] = &actionGoto[21]; - 802268c: f507 739c add.w r3, r7, #312 ; 0x138 - 8022690: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8022694: 681b ldr r3, [r3, #0] - 8022696: f503 6290 add.w r2, r3, #1152 ; 0x480 - 802269a: f102 0204 add.w r2, r2, #4 ; 0x4 - 802269e: f507 739c add.w r3, r7, #312 ; 0x138 - 80226a2: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80226a6: 681b ldr r3, [r3, #0] - 80226a8: 66da str r2, [r3, #108] - actionEtape[22] = &actionGoto[22]; - 80226aa: f507 739c add.w r3, r7, #312 ; 0x138 - 80226ae: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80226b2: 681b ldr r3, [r3, #0] - 80226b4: f503 6296 add.w r2, r3, #1200 ; 0x4b0 - 80226b8: f102 0204 add.w r2, r2, #4 ; 0x4 - 80226bc: f507 739c add.w r3, r7, #312 ; 0x138 - 80226c0: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80226c4: 681b ldr r3, [r3, #0] - 80226c6: 671a str r2, [r3, #112] - actionEtape[23] = &actionGoto[23]; - 80226c8: f507 739c add.w r3, r7, #312 ; 0x138 - 80226cc: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80226d0: 681b ldr r3, [r3, #0] - 80226d2: f503 629c add.w r2, r3, #1248 ; 0x4e0 - 80226d6: f102 0204 add.w r2, r2, #4 ; 0x4 - 80226da: f507 739c add.w r3, r7, #312 ; 0x138 - 80226de: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80226e2: 681b ldr r3, [r3, #0] - 80226e4: 675a str r2, [r3, #116] - actionEtape[24] = &actionGoto[24]; - 80226e6: f507 739c add.w r3, r7, #312 ; 0x138 - 80226ea: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80226ee: 681b ldr r3, [r3, #0] - 80226f0: f503 62a2 add.w r2, r3, #1296 ; 0x510 - 80226f4: f102 0204 add.w r2, r2, #4 ; 0x4 - 80226f8: f507 739c add.w r3, r7, #312 ; 0x138 - 80226fc: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8022700: 681b ldr r3, [r3, #0] - 8022702: 679a str r2, [r3, #120] - actionEtape[25] = &actionGoto[25]; - 8022704: f507 739c add.w r3, r7, #312 ; 0x138 - 8022708: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802270c: 681b ldr r3, [r3, #0] - 802270e: f503 62a8 add.w r2, r3, #1344 ; 0x540 - 8022712: f102 0204 add.w r2, r2, #4 ; 0x4 - 8022716: f507 739c add.w r3, r7, #312 ; 0x138 - 802271a: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802271e: 681b ldr r3, [r3, #0] - 8022720: 67da str r2, [r3, #124] - actionEtape[26] = &actionGoto[26]; - 8022722: f507 739c add.w r3, r7, #312 ; 0x138 - 8022726: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802272a: 681b ldr r3, [r3, #0] - 802272c: f503 62ae add.w r2, r3, #1392 ; 0x570 - 8022730: f102 0204 add.w r2, r2, #4 ; 0x4 - 8022734: f507 739c add.w r3, r7, #312 ; 0x138 - 8022738: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802273c: 681b ldr r3, [r3, #0] - 802273e: f8c3 2080 str.w r2, [r3, #128] - actionEtape[27] = &actionGoto[27]; - 8022742: f507 739c add.w r3, r7, #312 ; 0x138 - 8022746: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802274a: 681b ldr r3, [r3, #0] - 802274c: f503 62b4 add.w r2, r3, #1440 ; 0x5a0 - 8022750: f102 0204 add.w r2, r2, #4 ; 0x4 - 8022754: f507 739c add.w r3, r7, #312 ; 0x138 - 8022758: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802275c: 681b ldr r3, [r3, #0] - 802275e: f8c3 2084 str.w r2, [r3, #132] - actionEtape[28] = &actionGoto[28]; - 8022762: f507 739c add.w r3, r7, #312 ; 0x138 - 8022766: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802276a: 681b ldr r3, [r3, #0] - 802276c: f503 62ba add.w r2, r3, #1488 ; 0x5d0 - 8022770: f102 0204 add.w r2, r2, #4 ; 0x4 - 8022774: f507 739c add.w r3, r7, #312 ; 0x138 - 8022778: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802277c: 681b ldr r3, [r3, #0] - 802277e: f8c3 2088 str.w r2, [r3, #136] - actionEtape[29] = &actionGoto[29]; - 8022782: f507 739c add.w r3, r7, #312 ; 0x138 - 8022786: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802278a: 681b ldr r3, [r3, #0] - 802278c: f503 62c0 add.w r2, r3, #1536 ; 0x600 - 8022790: f102 0204 add.w r2, r2, #4 ; 0x4 - 8022794: f507 739c add.w r3, r7, #312 ; 0x138 - 8022798: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802279c: 681b ldr r3, [r3, #0] - 802279e: f8c3 208c str.w r2, [r3, #140] - actionEtape[30] = &actionGoto[30]; - 80227a2: f507 739c add.w r3, r7, #312 ; 0x138 - 80227a6: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80227aa: 681b ldr r3, [r3, #0] - 80227ac: f503 62c6 add.w r2, r3, #1584 ; 0x630 - 80227b0: f102 0204 add.w r2, r2, #4 ; 0x4 - 80227b4: f507 739c add.w r3, r7, #312 ; 0x138 - 80227b8: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80227bc: 681b ldr r3, [r3, #0] - 80227be: f8c3 2090 str.w r2, [r3, #144] - Etape* etape27; - Etape* etape28; - Etape* etape29; - Etape* etape30; - - Etape** tableauEtapes0 = new Etape*[2]; - 80227c2: f04f 0008 mov.w r0, #8 ; 0x8 - 80227c6: f7f4 ff13 bl 80175f0 <_Znaj> - 80227ca: 4602 mov r2, r0 - 80227cc: f507 632b add.w r3, r7, #2736 ; 0xab0 - 80227d0: 601a str r2, [r3, #0] - Etape** tableauEtapes1 = new Etape*[2]; - 80227d2: f04f 0008 mov.w r0, #8 ; 0x8 - 80227d6: f7f4 ff0b bl 80175f0 <_Znaj> - 80227da: 4602 mov r2, r0 - 80227dc: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 80227e0: f103 0314 add.w r3, r3, #20 ; 0x14 - 80227e4: 601a str r2, [r3, #0] - Etape** tableauEtapes2 = new Etape*[2]; - 80227e6: f04f 0008 mov.w r0, #8 ; 0x8 - 80227ea: f7f4 ff01 bl 80175f0 <_Znaj> - 80227ee: 4602 mov r2, r0 - 80227f0: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 80227f4: f103 0318 add.w r3, r3, #24 ; 0x18 - 80227f8: 601a str r2, [r3, #0] - Etape** tableauEtapes3 = new Etape*[2]; - 80227fa: f04f 0008 mov.w r0, #8 ; 0x8 - 80227fe: f7f4 fef7 bl 80175f0 <_Znaj> - 8022802: 4602 mov r2, r0 - 8022804: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8022808: f103 031c add.w r3, r3, #28 ; 0x1c - 802280c: 601a str r2, [r3, #0] - Etape** tableauEtapes4 = new Etape*[4]; - 802280e: f04f 0010 mov.w r0, #16 ; 0x10 - 8022812: f7f4 feed bl 80175f0 <_Znaj> - 8022816: 4602 mov r2, r0 - 8022818: f507 632c add.w r3, r7, #2752 ; 0xac0 - 802281c: 601a str r2, [r3, #0] - Etape** tableauEtapes5 = new Etape*[3]; - 802281e: f04f 000c mov.w r0, #12 ; 0xc - 8022822: f7f4 fee5 bl 80175f0 <_Znaj> - 8022826: 4602 mov r2, r0 - 8022828: f507 632c add.w r3, r7, #2752 ; 0xac0 - 802282c: f103 0304 add.w r3, r3, #4 ; 0x4 - 8022830: 601a str r2, [r3, #0] - Etape** tableauEtapes6 = new Etape*[3]; - 8022832: f04f 000c mov.w r0, #12 ; 0xc - 8022836: f7f4 fedb bl 80175f0 <_Znaj> - 802283a: 4602 mov r2, r0 - 802283c: f507 632c add.w r3, r7, #2752 ; 0xac0 - 8022840: f103 0308 add.w r3, r3, #8 ; 0x8 - 8022844: 601a str r2, [r3, #0] - Etape** tableauEtapes7 = new Etape*[3]; - 8022846: f04f 000c mov.w r0, #12 ; 0xc - 802284a: f7f4 fed1 bl 80175f0 <_Znaj> - 802284e: 4602 mov r2, r0 - 8022850: f507 632c add.w r3, r7, #2752 ; 0xac0 - 8022854: f103 030c add.w r3, r3, #12 ; 0xc - 8022858: 601a str r2, [r3, #0] - Etape** tableauEtapes8 = new Etape*[4]; - 802285a: f04f 0010 mov.w r0, #16 ; 0x10 - 802285e: f7f4 fec7 bl 80175f0 <_Znaj> - 8022862: 4602 mov r2, r0 - 8022864: f507 632d add.w r3, r7, #2768 ; 0xad0 - 8022868: 601a str r2, [r3, #0] - Etape** tableauEtapes9 = new Etape*[5]; - 802286a: f04f 0014 mov.w r0, #20 ; 0x14 - 802286e: f7f4 febf bl 80175f0 <_Znaj> - 8022872: 4602 mov r2, r0 - 8022874: f507 632c add.w r3, r7, #2752 ; 0xac0 - 8022878: f103 0314 add.w r3, r3, #20 ; 0x14 - 802287c: 601a str r2, [r3, #0] - Etape** tableauEtapes10 = new Etape*[2]; - 802287e: f04f 0008 mov.w r0, #8 ; 0x8 - 8022882: f7f4 feb5 bl 80175f0 <_Znaj> - 8022886: 4602 mov r2, r0 - 8022888: f507 632c add.w r3, r7, #2752 ; 0xac0 - 802288c: f103 0318 add.w r3, r3, #24 ; 0x18 - 8022890: 601a str r2, [r3, #0] - Etape** tableauEtapes11 = new Etape*[3]; - 8022892: f04f 000c mov.w r0, #12 ; 0xc - 8022896: f7f4 feab bl 80175f0 <_Znaj> - 802289a: 4603 mov r3, r0 - 802289c: f8c7 3adc str.w r3, [r7, #2780] - Etape** tableauEtapes12 = new Etape*[3]; - 80228a0: f04f 000c mov.w r0, #12 ; 0xc - 80228a4: f7f4 fea4 bl 80175f0 <_Znaj> - 80228a8: 4603 mov r3, r0 - 80228aa: f8c7 3ae0 str.w r3, [r7, #2784] - Etape** tableauEtapes13 = new Etape*[3]; - 80228ae: f04f 000c mov.w r0, #12 ; 0xc - 80228b2: f7f4 fe9d bl 80175f0 <_Znaj> - 80228b6: 4603 mov r3, r0 - 80228b8: f8c7 3ae4 str.w r3, [r7, #2788] - Etape** tableauEtapes14 = new Etape*[3]; - 80228bc: f04f 000c mov.w r0, #12 ; 0xc - 80228c0: f7f4 fe96 bl 80175f0 <_Znaj> - 80228c4: 4603 mov r3, r0 - 80228c6: f8c7 3ae8 str.w r3, [r7, #2792] - Etape** tableauEtapes15 = new Etape*[2]; - 80228ca: f04f 0008 mov.w r0, #8 ; 0x8 - 80228ce: f7f4 fe8f bl 80175f0 <_Znaj> - 80228d2: 4603 mov r3, r0 - 80228d4: f8c7 3aec str.w r3, [r7, #2796] - Etape** tableauEtapes16 = new Etape*[3]; - 80228d8: f04f 000c mov.w r0, #12 ; 0xc - 80228dc: f7f4 fe88 bl 80175f0 <_Znaj> - 80228e0: 4603 mov r3, r0 - 80228e2: f8c7 3af0 str.w r3, [r7, #2800] - Etape** tableauEtapes17 = new Etape*[3]; - 80228e6: f04f 000c mov.w r0, #12 ; 0xc - 80228ea: f7f4 fe81 bl 80175f0 <_Znaj> - 80228ee: 4603 mov r3, r0 - 80228f0: f8c7 3af4 str.w r3, [r7, #2804] - Etape** tableauEtapes18 = new Etape*[2]; - 80228f4: f04f 0008 mov.w r0, #8 ; 0x8 - 80228f8: f7f4 fe7a bl 80175f0 <_Znaj> - 80228fc: 4603 mov r3, r0 - 80228fe: f8c7 3af8 str.w r3, [r7, #2808] - Etape** tableauEtapes19 = new Etape*[4]; - 8022902: f04f 0010 mov.w r0, #16 ; 0x10 - 8022906: f7f4 fe73 bl 80175f0 <_Znaj> - 802290a: 4603 mov r3, r0 - 802290c: f8c7 3afc str.w r3, [r7, #2812] - Etape** tableauEtapes20 = new Etape*[5]; - 8022910: f04f 0014 mov.w r0, #20 ; 0x14 - 8022914: f7f4 fe6c bl 80175f0 <_Znaj> - 8022918: 4603 mov r3, r0 - 802291a: f8c7 3b00 str.w r3, [r7, #2816] - Etape** tableauEtapes21 = new Etape*[6]; - 802291e: f04f 0018 mov.w r0, #24 ; 0x18 - 8022922: f7f4 fe65 bl 80175f0 <_Znaj> - 8022926: 4603 mov r3, r0 - 8022928: f8c7 3b04 str.w r3, [r7, #2820] - Etape** tableauEtapes22 = new Etape*[4]; - 802292c: f04f 0010 mov.w r0, #16 ; 0x10 - 8022930: f7f4 fe5e bl 80175f0 <_Znaj> - 8022934: 4603 mov r3, r0 - 8022936: f8c7 3b08 str.w r3, [r7, #2824] - Etape** tableauEtapes23 = new Etape*[4]; - 802293a: f04f 0010 mov.w r0, #16 ; 0x10 - 802293e: f7f4 fe57 bl 80175f0 <_Znaj> - 8022942: 4603 mov r3, r0 - 8022944: f8c7 3b0c str.w r3, [r7, #2828] - Etape** tableauEtapes24 = new Etape*[4]; - 8022948: f04f 0010 mov.w r0, #16 ; 0x10 - 802294c: f7f4 fe50 bl 80175f0 <_Znaj> - 8022950: 4603 mov r3, r0 - 8022952: f8c7 3b10 str.w r3, [r7, #2832] - Etape** tableauEtapes25 = new Etape*[3]; - 8022956: f04f 000c mov.w r0, #12 ; 0xc - 802295a: f7f4 fe49 bl 80175f0 <_Znaj> - 802295e: 4603 mov r3, r0 - 8022960: f8c7 3b14 str.w r3, [r7, #2836] - Etape** tableauEtapes26 = new Etape*[2]; - 8022964: f04f 0008 mov.w r0, #8 ; 0x8 - 8022968: f7f4 fe42 bl 80175f0 <_Znaj> - 802296c: 4603 mov r3, r0 - 802296e: f8c7 3b18 str.w r3, [r7, #2840] - Etape** tableauEtapes27 = new Etape*[3]; - 8022972: f04f 000c mov.w r0, #12 ; 0xc - 8022976: f7f4 fe3b bl 80175f0 <_Znaj> - 802297a: 4603 mov r3, r0 - 802297c: f8c7 3b1c str.w r3, [r7, #2844] - Etape** tableauEtapes28 = new Etape*[2]; - 8022980: f04f 0008 mov.w r0, #8 ; 0x8 - 8022984: f7f4 fe34 bl 80175f0 <_Znaj> - 8022988: 4603 mov r3, r0 - 802298a: f8c7 3b20 str.w r3, [r7, #2848] - Etape** tableauEtapes29 = new Etape*[5]; - 802298e: f04f 0014 mov.w r0, #20 ; 0x14 - 8022992: f7f4 fe2d bl 80175f0 <_Znaj> - 8022996: 4603 mov r3, r0 - 8022998: f8c7 3b24 str.w r3, [r7, #2852] - Etape** tableauEtapes30 = new Etape*[6]; - 802299c: f04f 0018 mov.w r0, #24 ; 0x18 - 80229a0: f7f4 fe26 bl 80175f0 <_Znaj> - 80229a4: 4603 mov r3, r0 - 80229a6: f8c7 3b28 str.w r3, [r7, #2856] - - etape0 = new Etape(Position(185, 1500, isBlue), tableauEtapes0, 2, 0, Etape::DEPART, -1, 0); - 80229aa: f507 6212 add.w r2, r7, #2336 ; 0x920 - 80229ae: f102 021c add.w r2, r2, #28 ; 0x1c - 80229b2: f507 739c add.w r3, r7, #312 ; 0x138 - 80229b6: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 80229ba: 781b ldrb r3, [r3, #0] - 80229bc: 4610 mov r0, r2 - 80229be: 49d9 ldr r1, [pc, #868] (8022d24 <_ZN11StrategieV3C1Eb+0x1b14>) - 80229c0: 4ad9 ldr r2, [pc, #868] (8022d28 <_ZN11StrategieV3C1Eb+0x1b18>) - 80229c2: f7f4 fef5 bl 80177b0 <_ZN8PositionC1Effb> - 80229c6: f04f 0034 mov.w r0, #52 ; 0x34 - 80229ca: f7f4 fd79 bl 80174c0 <_Znwj> - 80229ce: 4603 mov r3, r0 - 80229d0: 61bb str r3, [r7, #24] - 80229d2: 69ba ldr r2, [r7, #24] - 80229d4: 2a00 cmp r2, #0 - 80229d6: d01d beq.n 8022a14 <_ZN11StrategieV3C1Eb+0x1804> - 80229d8: f507 6212 add.w r2, r7, #2336 ; 0x920 - 80229dc: f102 021c add.w r2, r2, #28 ; 0x1c - 80229e0: f507 6c2b add.w ip, r7, #2736 ; 0xab0 - 80229e4: f04f 0302 mov.w r3, #2 ; 0x2 - 80229e8: 9300 str r3, [sp, #0] - 80229ea: f04f 0300 mov.w r3, #0 ; 0x0 - 80229ee: 9301 str r3, [sp, #4] - 80229f0: f04f 0305 mov.w r3, #5 ; 0x5 - 80229f4: 9302 str r3, [sp, #8] - 80229f6: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 80229fa: 9303 str r3, [sp, #12] - 80229fc: f04f 0300 mov.w r3, #0 ; 0x0 - 8022a00: 9304 str r3, [sp, #16] - 8022a02: 69b8 ldr r0, [r7, #24] - 8022a04: ca06 ldmia r2!, {r1, r2} - 8022a06: f8dc 3000 ldr.w r3, [ip] - 8022a0a: f7f6 fd1f bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 8022a0e: 69bb ldr r3, [r7, #24] - 8022a10: 61fb str r3, [r7, #28] - 8022a12: e001 b.n 8022a18 <_ZN11StrategieV3C1Eb+0x1808> - 8022a14: 69ba ldr r2, [r7, #24] - 8022a16: 61fa str r2, [r7, #28] - 8022a18: f507 6322 add.w r3, r7, #2592 ; 0xa20 - 8022a1c: f103 0314 add.w r3, r3, #20 ; 0x14 - 8022a20: 69fa ldr r2, [r7, #28] - 8022a22: 601a str r2, [r3, #0] - etape1 = new Etape(Position(185, 1200, isBlue), tableauEtapes1, 2, 1, Etape::FEU_COTE_NOTRE_COULEUR_FACE_EXTERIEUR, -1, 0); - 8022a24: f507 6214 add.w r2, r7, #2368 ; 0x940 - 8022a28: f102 0204 add.w r2, r2, #4 ; 0x4 - 8022a2c: f507 739c add.w r3, r7, #312 ; 0x138 - 8022a30: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8022a34: 781b ldrb r3, [r3, #0] - 8022a36: 4610 mov r0, r2 - 8022a38: 49ba ldr r1, [pc, #744] (8022d24 <_ZN11StrategieV3C1Eb+0x1b14>) - 8022a3a: 4ab2 ldr r2, [pc, #712] (8022d04 <_ZN11StrategieV3C1Eb+0x1af4>) - 8022a3c: f7f4 feb8 bl 80177b0 <_ZN8PositionC1Effb> - 8022a40: f04f 0034 mov.w r0, #52 ; 0x34 - 8022a44: f7f4 fd3c bl 80174c0 <_Znwj> - 8022a48: 4603 mov r3, r0 - 8022a4a: 623b str r3, [r7, #32] - 8022a4c: 6a3b ldr r3, [r7, #32] - 8022a4e: 2b00 cmp r3, #0 - 8022a50: d01f beq.n 8022a92 <_ZN11StrategieV3C1Eb+0x1882> - 8022a52: f507 6214 add.w r2, r7, #2368 ; 0x940 - 8022a56: f102 0204 add.w r2, r2, #4 ; 0x4 - 8022a5a: f507 6c2a add.w ip, r7, #2720 ; 0xaa0 - 8022a5e: f10c 0c14 add.w ip, ip, #20 ; 0x14 - 8022a62: f04f 0302 mov.w r3, #2 ; 0x2 - 8022a66: 9300 str r3, [sp, #0] - 8022a68: f04f 0301 mov.w r3, #1 ; 0x1 - 8022a6c: 9301 str r3, [sp, #4] - 8022a6e: f04f 030a mov.w r3, #10 ; 0xa - 8022a72: 9302 str r3, [sp, #8] - 8022a74: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8022a78: 9303 str r3, [sp, #12] - 8022a7a: f04f 0300 mov.w r3, #0 ; 0x0 - 8022a7e: 9304 str r3, [sp, #16] - 8022a80: 6a38 ldr r0, [r7, #32] - 8022a82: ca06 ldmia r2!, {r1, r2} - 8022a84: f8dc 3000 ldr.w r3, [ip] - 8022a88: f7f6 fce0 bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 8022a8c: 6a3a ldr r2, [r7, #32] - 8022a8e: 627a str r2, [r7, #36] - 8022a90: e001 b.n 8022a96 <_ZN11StrategieV3C1Eb+0x1886> - 8022a92: 6a3b ldr r3, [r7, #32] - 8022a94: 627b str r3, [r7, #36] - 8022a96: f507 6322 add.w r3, r7, #2592 ; 0xa20 - 8022a9a: f103 0318 add.w r3, r3, #24 ; 0x18 - 8022a9e: 6a7a ldr r2, [r7, #36] - 8022aa0: 601a str r2, [r3, #0] - etape2 = new Etape(Position(185, 900, isBlue), tableauEtapes2, 2, 2, Etape::FEU, -1, 1); - 8022aa2: f507 6214 add.w r2, r7, #2368 ; 0x940 - 8022aa6: f102 020c add.w r2, r2, #12 ; 0xc - 8022aaa: f507 739c add.w r3, r7, #312 ; 0x138 - 8022aae: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8022ab2: 781b ldrb r3, [r3, #0] - 8022ab4: 4610 mov r0, r2 - 8022ab6: 499b ldr r1, [pc, #620] (8022d24 <_ZN11StrategieV3C1Eb+0x1b14>) - 8022ab8: 4a9c ldr r2, [pc, #624] (8022d2c <_ZN11StrategieV3C1Eb+0x1b1c>) - 8022aba: f7f4 fe79 bl 80177b0 <_ZN8PositionC1Effb> - 8022abe: f04f 0034 mov.w r0, #52 ; 0x34 - 8022ac2: f7f4 fcfd bl 80174c0 <_Znwj> - 8022ac6: 4603 mov r3, r0 - 8022ac8: 62bb str r3, [r7, #40] - 8022aca: 6abb ldr r3, [r7, #40] - 8022acc: 2b00 cmp r3, #0 - 8022ace: d01f beq.n 8022b10 <_ZN11StrategieV3C1Eb+0x1900> - 8022ad0: f507 6214 add.w r2, r7, #2368 ; 0x940 - 8022ad4: f102 020c add.w r2, r2, #12 ; 0xc - 8022ad8: f507 6c2a add.w ip, r7, #2720 ; 0xaa0 - 8022adc: f10c 0c18 add.w ip, ip, #24 ; 0x18 - 8022ae0: f04f 0302 mov.w r3, #2 ; 0x2 - 8022ae4: 9300 str r3, [sp, #0] - 8022ae6: f04f 0302 mov.w r3, #2 ; 0x2 - 8022aea: 9301 str r3, [sp, #4] - 8022aec: f04f 0303 mov.w r3, #3 ; 0x3 - 8022af0: 9302 str r3, [sp, #8] - 8022af2: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8022af6: 9303 str r3, [sp, #12] - 8022af8: f04f 0301 mov.w r3, #1 ; 0x1 - 8022afc: 9304 str r3, [sp, #16] - 8022afe: 6ab8 ldr r0, [r7, #40] - 8022b00: ca06 ldmia r2!, {r1, r2} - 8022b02: f8dc 3000 ldr.w r3, [ip] - 8022b06: f7f6 fca1 bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 8022b0a: 6aba ldr r2, [r7, #40] - 8022b0c: 62fa str r2, [r7, #44] - 8022b0e: e001 b.n 8022b14 <_ZN11StrategieV3C1Eb+0x1904> - 8022b10: 6abb ldr r3, [r7, #40] - 8022b12: 62fb str r3, [r7, #44] - 8022b14: f507 6322 add.w r3, r7, #2592 ; 0xa20 - 8022b18: f103 031c add.w r3, r3, #28 ; 0x1c - 8022b1c: 6afa ldr r2, [r7, #44] - 8022b1e: 601a str r2, [r3, #0] - etape3 = new Etape(Position(185, 800, isBlue), tableauEtapes3, 2, 3, Etape::FRUIT, -1, 0); - 8022b20: f507 6214 add.w r2, r7, #2368 ; 0x940 - 8022b24: f102 0214 add.w r2, r2, #20 ; 0x14 - 8022b28: f507 739c add.w r3, r7, #312 ; 0x138 - 8022b2c: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8022b30: 781b ldrb r3, [r3, #0] - 8022b32: 4610 mov r0, r2 - 8022b34: 497b ldr r1, [pc, #492] (8022d24 <_ZN11StrategieV3C1Eb+0x1b14>) - 8022b36: 4a7e ldr r2, [pc, #504] (8022d30 <_ZN11StrategieV3C1Eb+0x1b20>) - 8022b38: f7f4 fe3a bl 80177b0 <_ZN8PositionC1Effb> - 8022b3c: f04f 0034 mov.w r0, #52 ; 0x34 - 8022b40: f7f4 fcbe bl 80174c0 <_Znwj> - 8022b44: 4603 mov r3, r0 - 8022b46: 633b str r3, [r7, #48] - 8022b48: 6b3b ldr r3, [r7, #48] - 8022b4a: 2b00 cmp r3, #0 - 8022b4c: d01f beq.n 8022b8e <_ZN11StrategieV3C1Eb+0x197e> - 8022b4e: f507 6214 add.w r2, r7, #2368 ; 0x940 - 8022b52: f102 0214 add.w r2, r2, #20 ; 0x14 - 8022b56: f507 6c2a add.w ip, r7, #2720 ; 0xaa0 - 8022b5a: f10c 0c1c add.w ip, ip, #28 ; 0x1c - 8022b5e: f04f 0302 mov.w r3, #2 ; 0x2 - 8022b62: 9300 str r3, [sp, #0] - 8022b64: f04f 0303 mov.w r3, #3 ; 0x3 - 8022b68: 9301 str r3, [sp, #4] - 8022b6a: f04f 0302 mov.w r3, #2 ; 0x2 - 8022b6e: 9302 str r3, [sp, #8] - 8022b70: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8022b74: 9303 str r3, [sp, #12] - 8022b76: f04f 0300 mov.w r3, #0 ; 0x0 - 8022b7a: 9304 str r3, [sp, #16] - 8022b7c: 6b38 ldr r0, [r7, #48] - 8022b7e: ca06 ldmia r2!, {r1, r2} - 8022b80: f8dc 3000 ldr.w r3, [ip] - 8022b84: f7f6 fc62 bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 8022b88: 6b3a ldr r2, [r7, #48] - 8022b8a: 637a str r2, [r7, #52] - 8022b8c: e001 b.n 8022b92 <_ZN11StrategieV3C1Eb+0x1982> - 8022b8e: 6b3b ldr r3, [r7, #48] - 8022b90: 637b str r3, [r7, #52] - 8022b92: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8022b96: 6b7a ldr r2, [r7, #52] - 8022b98: 601a str r2, [r3, #0] - etape4 = new Etape(Position(185, 600, isBlue), tableauEtapes4, 4, 4, Etape::FRUIT, -1, 0); - 8022b9a: f507 6214 add.w r2, r7, #2368 ; 0x940 - 8022b9e: f102 021c add.w r2, r2, #28 ; 0x1c - 8022ba2: f507 739c add.w r3, r7, #312 ; 0x138 - 8022ba6: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8022baa: 781b ldrb r3, [r3, #0] - 8022bac: 4610 mov r0, r2 - 8022bae: 495d ldr r1, [pc, #372] (8022d24 <_ZN11StrategieV3C1Eb+0x1b14>) - 8022bb0: 4a59 ldr r2, [pc, #356] (8022d18 <_ZN11StrategieV3C1Eb+0x1b08>) - 8022bb2: f7f4 fdfd bl 80177b0 <_ZN8PositionC1Effb> - 8022bb6: f04f 0034 mov.w r0, #52 ; 0x34 - 8022bba: f7f4 fc81 bl 80174c0 <_Znwj> - 8022bbe: 4603 mov r3, r0 - 8022bc0: 63bb str r3, [r7, #56] - 8022bc2: 6bbb ldr r3, [r7, #56] - 8022bc4: 2b00 cmp r3, #0 - 8022bc6: d01d beq.n 8022c04 <_ZN11StrategieV3C1Eb+0x19f4> - 8022bc8: f507 6214 add.w r2, r7, #2368 ; 0x940 - 8022bcc: f102 021c add.w r2, r2, #28 ; 0x1c - 8022bd0: f507 6c2c add.w ip, r7, #2752 ; 0xac0 - 8022bd4: f04f 0304 mov.w r3, #4 ; 0x4 - 8022bd8: 9300 str r3, [sp, #0] - 8022bda: f04f 0304 mov.w r3, #4 ; 0x4 - 8022bde: 9301 str r3, [sp, #4] - 8022be0: f04f 0302 mov.w r3, #2 ; 0x2 - 8022be4: 9302 str r3, [sp, #8] - 8022be6: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8022bea: 9303 str r3, [sp, #12] - 8022bec: f04f 0300 mov.w r3, #0 ; 0x0 - 8022bf0: 9304 str r3, [sp, #16] - 8022bf2: 6bb8 ldr r0, [r7, #56] - 8022bf4: ca06 ldmia r2!, {r1, r2} - 8022bf6: f8dc 3000 ldr.w r3, [ip] - 8022bfa: f7f6 fc27 bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 8022bfe: 6bba ldr r2, [r7, #56] - 8022c00: 63fa str r2, [r7, #60] - 8022c02: e001 b.n 8022c08 <_ZN11StrategieV3C1Eb+0x19f8> - 8022c04: 6bbb ldr r3, [r7, #56] - 8022c06: 63fb str r3, [r7, #60] - 8022c08: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8022c0c: f103 0304 add.w r3, r3, #4 ; 0x4 - 8022c10: 6bfa ldr r2, [r7, #60] - 8022c12: 601a str r2, [r3, #0] - etape5 = new Etape(Position(600, 185, isBlue), tableauEtapes5, 3, 5, Etape::FRUIT, -1, 0); - 8022c14: f507 6216 add.w r2, r7, #2400 ; 0x960 - 8022c18: f102 0204 add.w r2, r2, #4 ; 0x4 - 8022c1c: f507 739c add.w r3, r7, #312 ; 0x138 - 8022c20: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8022c24: 781b ldrb r3, [r3, #0] - 8022c26: 4610 mov r0, r2 - 8022c28: 493b ldr r1, [pc, #236] (8022d18 <_ZN11StrategieV3C1Eb+0x1b08>) - 8022c2a: 4a3e ldr r2, [pc, #248] (8022d24 <_ZN11StrategieV3C1Eb+0x1b14>) - 8022c2c: f7f4 fdc0 bl 80177b0 <_ZN8PositionC1Effb> - 8022c30: f04f 0034 mov.w r0, #52 ; 0x34 - 8022c34: f7f4 fc44 bl 80174c0 <_Znwj> - 8022c38: 4603 mov r3, r0 - 8022c3a: 643b str r3, [r7, #64] - 8022c3c: 6c3b ldr r3, [r7, #64] - 8022c3e: 2b00 cmp r3, #0 - 8022c40: d01f beq.n 8022c82 <_ZN11StrategieV3C1Eb+0x1a72> - 8022c42: f507 6216 add.w r2, r7, #2400 ; 0x960 - 8022c46: f102 0204 add.w r2, r2, #4 ; 0x4 - 8022c4a: f507 6c2c add.w ip, r7, #2752 ; 0xac0 - 8022c4e: f10c 0c04 add.w ip, ip, #4 ; 0x4 - 8022c52: f04f 0303 mov.w r3, #3 ; 0x3 - 8022c56: 9300 str r3, [sp, #0] - 8022c58: f04f 0305 mov.w r3, #5 ; 0x5 - 8022c5c: 9301 str r3, [sp, #4] - 8022c5e: f04f 0302 mov.w r3, #2 ; 0x2 - 8022c62: 9302 str r3, [sp, #8] - 8022c64: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8022c68: 9303 str r3, [sp, #12] - 8022c6a: f04f 0300 mov.w r3, #0 ; 0x0 - 8022c6e: 9304 str r3, [sp, #16] - 8022c70: 6c38 ldr r0, [r7, #64] - 8022c72: ca06 ldmia r2!, {r1, r2} - 8022c74: f8dc 3000 ldr.w r3, [ip] - 8022c78: f7f6 fbe8 bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 8022c7c: 6c3a ldr r2, [r7, #64] - 8022c7e: 647a str r2, [r7, #68] - 8022c80: e001 b.n 8022c86 <_ZN11StrategieV3C1Eb+0x1a76> - 8022c82: 6c3b ldr r3, [r7, #64] - 8022c84: 647b str r3, [r7, #68] - 8022c86: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8022c8a: f103 0308 add.w r3, r3, #8 ; 0x8 - 8022c8e: 6c7a ldr r2, [r7, #68] - 8022c90: 601a str r2, [r3, #0] - etape6 = new Etape(Position(800, 185, isBlue), tableauEtapes6, 3, 6, Etape::FRUIT, -1, 0); - 8022c92: f507 6216 add.w r2, r7, #2400 ; 0x960 - 8022c96: f102 020c add.w r2, r2, #12 ; 0xc - 8022c9a: f507 739c add.w r3, r7, #312 ; 0x138 - 8022c9e: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8022ca2: 781b ldrb r3, [r3, #0] - 8022ca4: 4610 mov r0, r2 - 8022ca6: 4922 ldr r1, [pc, #136] (8022d30 <_ZN11StrategieV3C1Eb+0x1b20>) - 8022ca8: 4a1e ldr r2, [pc, #120] (8022d24 <_ZN11StrategieV3C1Eb+0x1b14>) - 8022caa: f7f4 fd81 bl 80177b0 <_ZN8PositionC1Effb> - 8022cae: f04f 0034 mov.w r0, #52 ; 0x34 - 8022cb2: f7f4 fc05 bl 80174c0 <_Znwj> - 8022cb6: 4603 mov r3, r0 - 8022cb8: 64bb str r3, [r7, #72] - 8022cba: 6cbb ldr r3, [r7, #72] - 8022cbc: 2b00 cmp r3, #0 - 8022cbe: d039 beq.n 8022d34 <_ZN11StrategieV3C1Eb+0x1b24> - 8022cc0: f507 6216 add.w r2, r7, #2400 ; 0x960 - 8022cc4: f102 020c add.w r2, r2, #12 ; 0xc - 8022cc8: f507 6c2c add.w ip, r7, #2752 ; 0xac0 - 8022ccc: f10c 0c08 add.w ip, ip, #8 ; 0x8 - 8022cd0: f04f 0303 mov.w r3, #3 ; 0x3 - 8022cd4: 9300 str r3, [sp, #0] - 8022cd6: f04f 0306 mov.w r3, #6 ; 0x6 - 8022cda: 9301 str r3, [sp, #4] - 8022cdc: f04f 0302 mov.w r3, #2 ; 0x2 - 8022ce0: 9302 str r3, [sp, #8] - 8022ce2: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8022ce6: 9303 str r3, [sp, #12] - 8022ce8: f04f 0300 mov.w r3, #0 ; 0x0 - 8022cec: 9304 str r3, [sp, #16] - 8022cee: 6cb8 ldr r0, [r7, #72] - 8022cf0: ca06 ldmia r2!, {r1, r2} - 8022cf2: f8dc 3000 ldr.w r3, [ip] - 8022cf6: f7f6 fba9 bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 8022cfa: 6cba ldr r2, [r7, #72] - 8022cfc: 64fa str r2, [r7, #76] - 8022cfe: e01b b.n 8022d38 <_ZN11StrategieV3C1Eb+0x1b28> - 8022d00: 45034000 .word 0x45034000 - 8022d04: 44960000 .word 0x44960000 - 8022d08: 41f00000 .word 0x41f00000 - 8022d0c: 44e10000 .word 0x44e10000 - 8022d10: 44c1c000 .word 0x44c1c000 - 8022d14: 447a0000 .word 0x447a0000 - 8022d18: 44160000 .word 0x44160000 - 8022d1c: 44898000 .word 0x44898000 - 8022d20: 45160000 .word 0x45160000 - 8022d24: 43390000 .word 0x43390000 - 8022d28: 44bb8000 .word 0x44bb8000 - 8022d2c: 44610000 .word 0x44610000 - 8022d30: 44480000 .word 0x44480000 - 8022d34: 6cbb ldr r3, [r7, #72] - 8022d36: 64fb str r3, [r7, #76] - 8022d38: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8022d3c: f103 030c add.w r3, r3, #12 ; 0xc - 8022d40: 6cfa ldr r2, [r7, #76] - 8022d42: 601a str r2, [r3, #0] - etape7 = new Etape(Position(900, 185, isBlue), tableauEtapes7, 3, 7, Etape::FEU, -1, 1);//FEU - 8022d44: f507 6216 add.w r2, r7, #2400 ; 0x960 - 8022d48: f102 0214 add.w r2, r2, #20 ; 0x14 - 8022d4c: f507 739c add.w r3, r7, #312 ; 0x138 - 8022d50: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8022d54: 781b ldrb r3, [r3, #0] - 8022d56: 4610 mov r0, r2 - 8022d58: f8df 1b38 ldr.w r1, [pc, #2872] ; 8023894 <_ZN11StrategieV3C1Eb+0x2684> - 8022d5c: f8df 2b38 ldr.w r2, [pc, #2872] ; 8023898 <_ZN11StrategieV3C1Eb+0x2688> - 8022d60: f7f4 fd26 bl 80177b0 <_ZN8PositionC1Effb> - 8022d64: f04f 0034 mov.w r0, #52 ; 0x34 - 8022d68: f7f4 fbaa bl 80174c0 <_Znwj> - 8022d6c: 4603 mov r3, r0 - 8022d6e: 653b str r3, [r7, #80] - 8022d70: 6d3b ldr r3, [r7, #80] - 8022d72: 2b00 cmp r3, #0 - 8022d74: d01f beq.n 8022db6 <_ZN11StrategieV3C1Eb+0x1ba6> - 8022d76: f507 6216 add.w r2, r7, #2400 ; 0x960 - 8022d7a: f102 0214 add.w r2, r2, #20 ; 0x14 - 8022d7e: f507 6c2c add.w ip, r7, #2752 ; 0xac0 - 8022d82: f10c 0c0c add.w ip, ip, #12 ; 0xc - 8022d86: f04f 0303 mov.w r3, #3 ; 0x3 - 8022d8a: 9300 str r3, [sp, #0] - 8022d8c: f04f 0307 mov.w r3, #7 ; 0x7 - 8022d90: 9301 str r3, [sp, #4] - 8022d92: f04f 0303 mov.w r3, #3 ; 0x3 - 8022d96: 9302 str r3, [sp, #8] - 8022d98: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8022d9c: 9303 str r3, [sp, #12] - 8022d9e: f04f 0301 mov.w r3, #1 ; 0x1 - 8022da2: 9304 str r3, [sp, #16] - 8022da4: 6d38 ldr r0, [r7, #80] - 8022da6: ca06 ldmia r2!, {r1, r2} - 8022da8: f8dc 3000 ldr.w r3, [ip] - 8022dac: f7f6 fb4e bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 8022db0: 6d3a ldr r2, [r7, #80] - 8022db2: 657a str r2, [r7, #84] - 8022db4: e001 b.n 8022dba <_ZN11StrategieV3C1Eb+0x1baa> - 8022db6: 6d3b ldr r3, [r7, #80] - 8022db8: 657b str r3, [r7, #84] - 8022dba: f507 6325 add.w r3, r7, #2640 ; 0xa50 - 8022dbe: 6d7a ldr r2, [r7, #84] - 8022dc0: 601a str r2, [r3, #0] - etape8 = new Etape(Position(1300, 185, isBlue), tableauEtapes8, 4, 8, Etape::FEU_COTE_NOTRE_COULEUR_FACE_TERRAIN, -1, 0); - 8022dc2: f507 6216 add.w r2, r7, #2400 ; 0x960 - 8022dc6: f102 021c add.w r2, r2, #28 ; 0x1c - 8022dca: f507 739c add.w r3, r7, #312 ; 0x138 - 8022dce: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8022dd2: 781b ldrb r3, [r3, #0] - 8022dd4: 4610 mov r0, r2 - 8022dd6: f8df 1ac4 ldr.w r1, [pc, #2756] ; 802389c <_ZN11StrategieV3C1Eb+0x268c> - 8022dda: f8df 2abc ldr.w r2, [pc, #2748] ; 8023898 <_ZN11StrategieV3C1Eb+0x2688> - 8022dde: f7f4 fce7 bl 80177b0 <_ZN8PositionC1Effb> - 8022de2: f04f 0034 mov.w r0, #52 ; 0x34 - 8022de6: f7f4 fb6b bl 80174c0 <_Znwj> - 8022dea: 4603 mov r3, r0 - 8022dec: 65bb str r3, [r7, #88] - 8022dee: 6dbb ldr r3, [r7, #88] - 8022df0: 2b00 cmp r3, #0 - 8022df2: d01d beq.n 8022e30 <_ZN11StrategieV3C1Eb+0x1c20> - 8022df4: f507 6216 add.w r2, r7, #2400 ; 0x960 - 8022df8: f102 021c add.w r2, r2, #28 ; 0x1c - 8022dfc: f507 6c2d add.w ip, r7, #2768 ; 0xad0 - 8022e00: f04f 0304 mov.w r3, #4 ; 0x4 - 8022e04: 9300 str r3, [sp, #0] - 8022e06: f04f 0308 mov.w r3, #8 ; 0x8 - 8022e0a: 9301 str r3, [sp, #4] - 8022e0c: f04f 0309 mov.w r3, #9 ; 0x9 - 8022e10: 9302 str r3, [sp, #8] - 8022e12: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8022e16: 9303 str r3, [sp, #12] - 8022e18: f04f 0300 mov.w r3, #0 ; 0x0 - 8022e1c: 9304 str r3, [sp, #16] - 8022e1e: 6db8 ldr r0, [r7, #88] - 8022e20: ca06 ldmia r2!, {r1, r2} - 8022e22: f8dc 3000 ldr.w r3, [ip] - 8022e26: f7f6 fb11 bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 8022e2a: 6dba ldr r2, [r7, #88] - 8022e2c: 65fa str r2, [r7, #92] - 8022e2e: e001 b.n 8022e34 <_ZN11StrategieV3C1Eb+0x1c24> - 8022e30: 6dbb ldr r3, [r7, #88] - 8022e32: 65fb str r3, [r7, #92] - 8022e34: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8022e38: f103 0314 add.w r3, r3, #20 ; 0x14 - 8022e3c: 6dfa ldr r2, [r7, #92] - 8022e3e: 601a str r2, [r3, #0] - etape9 = new Etape(Position(1700, 185, isBlue), tableauEtapes9, 5, 9, Etape::FEU_COTE_NOTRE_COULEUR_FACE_EXTERIEUR, -1, 0); - 8022e40: f507 6218 add.w r2, r7, #2432 ; 0x980 - 8022e44: f102 0204 add.w r2, r2, #4 ; 0x4 - 8022e48: f507 739c add.w r3, r7, #312 ; 0x138 - 8022e4c: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8022e50: 781b ldrb r3, [r3, #0] - 8022e52: 4610 mov r0, r2 - 8022e54: f8df 1a48 ldr.w r1, [pc, #2632] ; 80238a0 <_ZN11StrategieV3C1Eb+0x2690> - 8022e58: f8df 2a3c ldr.w r2, [pc, #2620] ; 8023898 <_ZN11StrategieV3C1Eb+0x2688> - 8022e5c: f7f4 fca8 bl 80177b0 <_ZN8PositionC1Effb> - 8022e60: f04f 0034 mov.w r0, #52 ; 0x34 - 8022e64: f7f4 fb2c bl 80174c0 <_Znwj> - 8022e68: 4603 mov r3, r0 - 8022e6a: 663b str r3, [r7, #96] - 8022e6c: 6e3b ldr r3, [r7, #96] - 8022e6e: 2b00 cmp r3, #0 - 8022e70: d01f beq.n 8022eb2 <_ZN11StrategieV3C1Eb+0x1ca2> - 8022e72: f507 6218 add.w r2, r7, #2432 ; 0x980 - 8022e76: f102 0204 add.w r2, r2, #4 ; 0x4 - 8022e7a: f507 6c2c add.w ip, r7, #2752 ; 0xac0 - 8022e7e: f10c 0c14 add.w ip, ip, #20 ; 0x14 - 8022e82: f04f 0305 mov.w r3, #5 ; 0x5 - 8022e86: 9300 str r3, [sp, #0] - 8022e88: f04f 0309 mov.w r3, #9 ; 0x9 - 8022e8c: 9301 str r3, [sp, #4] - 8022e8e: f04f 030a mov.w r3, #10 ; 0xa - 8022e92: 9302 str r3, [sp, #8] - 8022e94: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8022e98: 9303 str r3, [sp, #12] - 8022e9a: f04f 0300 mov.w r3, #0 ; 0x0 - 8022e9e: 9304 str r3, [sp, #16] - 8022ea0: 6e38 ldr r0, [r7, #96] - 8022ea2: ca06 ldmia r2!, {r1, r2} - 8022ea4: f8dc 3000 ldr.w r3, [ip] - 8022ea8: f7f6 fad0 bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 8022eac: 6e3a ldr r2, [r7, #96] - 8022eae: 667a str r2, [r7, #100] - 8022eb0: e001 b.n 8022eb6 <_ZN11StrategieV3C1Eb+0x1ca6> - 8022eb2: 6e3b ldr r3, [r7, #96] - 8022eb4: 667b str r3, [r7, #100] - 8022eb6: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8022eba: f103 0318 add.w r3, r3, #24 ; 0x18 - 8022ebe: 6e7a ldr r2, [r7, #100] - 8022ec0: 601a str r2, [r3, #0] - etape10 = new Etape(Position(2100, 185, isBlue), tableauEtapes10, 2, 10, Etape::FEU, -1, 1); - 8022ec2: f507 6218 add.w r2, r7, #2432 ; 0x980 - 8022ec6: f102 020c add.w r2, r2, #12 ; 0xc - 8022eca: f507 739c add.w r3, r7, #312 ; 0x138 - 8022ece: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8022ed2: 781b ldrb r3, [r3, #0] - 8022ed4: 4610 mov r0, r2 - 8022ed6: f8df 19cc ldr.w r1, [pc, #2508] ; 80238a4 <_ZN11StrategieV3C1Eb+0x2694> - 8022eda: f8df 29bc ldr.w r2, [pc, #2492] ; 8023898 <_ZN11StrategieV3C1Eb+0x2688> - 8022ede: f7f4 fc67 bl 80177b0 <_ZN8PositionC1Effb> - 8022ee2: f04f 0034 mov.w r0, #52 ; 0x34 - 8022ee6: f7f4 faeb bl 80174c0 <_Znwj> - 8022eea: 4603 mov r3, r0 - 8022eec: 66bb str r3, [r7, #104] - 8022eee: 6ebb ldr r3, [r7, #104] - 8022ef0: 2b00 cmp r3, #0 - 8022ef2: d01f beq.n 8022f34 <_ZN11StrategieV3C1Eb+0x1d24> - 8022ef4: f507 6218 add.w r2, r7, #2432 ; 0x980 - 8022ef8: f102 020c add.w r2, r2, #12 ; 0xc - 8022efc: f507 6c2c add.w ip, r7, #2752 ; 0xac0 - 8022f00: f10c 0c18 add.w ip, ip, #24 ; 0x18 - 8022f04: f04f 0302 mov.w r3, #2 ; 0x2 - 8022f08: 9300 str r3, [sp, #0] - 8022f0a: f04f 030a mov.w r3, #10 ; 0xa - 8022f0e: 9301 str r3, [sp, #4] - 8022f10: f04f 0303 mov.w r3, #3 ; 0x3 - 8022f14: 9302 str r3, [sp, #8] - 8022f16: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8022f1a: 9303 str r3, [sp, #12] - 8022f1c: f04f 0301 mov.w r3, #1 ; 0x1 - 8022f20: 9304 str r3, [sp, #16] - 8022f22: 6eb8 ldr r0, [r7, #104] - 8022f24: ca06 ldmia r2!, {r1, r2} - 8022f26: f8dc 3000 ldr.w r3, [ip] - 8022f2a: f7f6 fa8f bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 8022f2e: 6eba ldr r2, [r7, #104] - 8022f30: 66fa str r2, [r7, #108] - 8022f32: e001 b.n 8022f38 <_ZN11StrategieV3C1Eb+0x1d28> - 8022f34: 6ebb ldr r3, [r7, #104] - 8022f36: 66fb str r3, [r7, #108] - 8022f38: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8022f3c: f103 031c add.w r3, r3, #28 ; 0x1c - 8022f40: 6efa ldr r2, [r7, #108] - 8022f42: 601a str r2, [r3, #0] - etape11 = new Etape(Position(2200, 185, isBlue), tableauEtapes11, 3, 11, Etape::FRUIT, -1, 0); - 8022f44: f507 6218 add.w r2, r7, #2432 ; 0x980 - 8022f48: f102 0214 add.w r2, r2, #20 ; 0x14 - 8022f4c: f507 739c add.w r3, r7, #312 ; 0x138 - 8022f50: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8022f54: 781b ldrb r3, [r3, #0] - 8022f56: 4610 mov r0, r2 - 8022f58: f8df 194c ldr.w r1, [pc, #2380] ; 80238a8 <_ZN11StrategieV3C1Eb+0x2698> - 8022f5c: f8df 2938 ldr.w r2, [pc, #2360] ; 8023898 <_ZN11StrategieV3C1Eb+0x2688> - 8022f60: f7f4 fc26 bl 80177b0 <_ZN8PositionC1Effb> - 8022f64: f04f 0034 mov.w r0, #52 ; 0x34 - 8022f68: f7f4 faaa bl 80174c0 <_Znwj> - 8022f6c: 4603 mov r3, r0 - 8022f6e: 673b str r3, [r7, #112] - 8022f70: 6f3b ldr r3, [r7, #112] - 8022f72: 2b00 cmp r3, #0 - 8022f74: d01b beq.n 8022fae <_ZN11StrategieV3C1Eb+0x1d9e> - 8022f76: f507 6218 add.w r2, r7, #2432 ; 0x980 - 8022f7a: f102 0214 add.w r2, r2, #20 ; 0x14 - 8022f7e: f04f 0303 mov.w r3, #3 ; 0x3 - 8022f82: 9300 str r3, [sp, #0] - 8022f84: f04f 030b mov.w r3, #11 ; 0xb - 8022f88: 9301 str r3, [sp, #4] - 8022f8a: f04f 0302 mov.w r3, #2 ; 0x2 - 8022f8e: 9302 str r3, [sp, #8] - 8022f90: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8022f94: 9303 str r3, [sp, #12] - 8022f96: f04f 0300 mov.w r3, #0 ; 0x0 - 8022f9a: 9304 str r3, [sp, #16] - 8022f9c: 6f38 ldr r0, [r7, #112] - 8022f9e: ca06 ldmia r2!, {r1, r2} - 8022fa0: f8d7 3adc ldr.w r3, [r7, #2780] - 8022fa4: f7f6 fa52 bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 8022fa8: 6f3a ldr r2, [r7, #112] - 8022faa: 677a str r2, [r7, #116] - 8022fac: e001 b.n 8022fb2 <_ZN11StrategieV3C1Eb+0x1da2> - 8022fae: 6f3b ldr r3, [r7, #112] - 8022fb0: 677b str r3, [r7, #116] - 8022fb2: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8022fb6: 6f7a ldr r2, [r7, #116] - 8022fb8: 601a str r2, [r3, #0] - etape12 = new Etape(Position(2400, 185, isBlue), tableauEtapes12, 3, 12, Etape::FRUIT, -1, 0); - 8022fba: f507 6218 add.w r2, r7, #2432 ; 0x980 - 8022fbe: f102 021c add.w r2, r2, #28 ; 0x1c - 8022fc2: f507 739c add.w r3, r7, #312 ; 0x138 - 8022fc6: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8022fca: 781b ldrb r3, [r3, #0] - 8022fcc: 4610 mov r0, r2 - 8022fce: f8df 18dc ldr.w r1, [pc, #2268] ; 80238ac <_ZN11StrategieV3C1Eb+0x269c> - 8022fd2: f8df 28c4 ldr.w r2, [pc, #2244] ; 8023898 <_ZN11StrategieV3C1Eb+0x2688> - 8022fd6: f7f4 fbeb bl 80177b0 <_ZN8PositionC1Effb> - 8022fda: f04f 0034 mov.w r0, #52 ; 0x34 - 8022fde: f7f4 fa6f bl 80174c0 <_Znwj> - 8022fe2: 4603 mov r3, r0 - 8022fe4: 67bb str r3, [r7, #120] - 8022fe6: 6fbb ldr r3, [r7, #120] - 8022fe8: 2b00 cmp r3, #0 - 8022fea: d01b beq.n 8023024 <_ZN11StrategieV3C1Eb+0x1e14> - 8022fec: f507 6218 add.w r2, r7, #2432 ; 0x980 - 8022ff0: f102 021c add.w r2, r2, #28 ; 0x1c - 8022ff4: f04f 0303 mov.w r3, #3 ; 0x3 - 8022ff8: 9300 str r3, [sp, #0] - 8022ffa: f04f 030c mov.w r3, #12 ; 0xc - 8022ffe: 9301 str r3, [sp, #4] - 8023000: f04f 0302 mov.w r3, #2 ; 0x2 - 8023004: 9302 str r3, [sp, #8] - 8023006: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 802300a: 9303 str r3, [sp, #12] - 802300c: f04f 0300 mov.w r3, #0 ; 0x0 - 8023010: 9304 str r3, [sp, #16] - 8023012: 6fb8 ldr r0, [r7, #120] - 8023014: ca06 ldmia r2!, {r1, r2} - 8023016: f8d7 3ae0 ldr.w r3, [r7, #2784] - 802301a: f7f6 fa17 bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 802301e: 6fba ldr r2, [r7, #120] - 8023020: 67fa str r2, [r7, #124] - 8023022: e001 b.n 8023028 <_ZN11StrategieV3C1Eb+0x1e18> - 8023024: 6fbb ldr r3, [r7, #120] - 8023026: 67fb str r3, [r7, #124] - 8023028: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 802302c: f103 0304 add.w r3, r3, #4 ; 0x4 - 8023030: 6ffa ldr r2, [r7, #124] - 8023032: 601a str r2, [r3, #0] - etape13 = new Etape(Position(2815, 600, isBlue), tableauEtapes13, 3, 13, Etape::FRUIT, -1, 0); - 8023034: f507 621a add.w r2, r7, #2464 ; 0x9a0 - 8023038: f102 0204 add.w r2, r2, #4 ; 0x4 - 802303c: f507 739c add.w r3, r7, #312 ; 0x138 - 8023040: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8023044: 781b ldrb r3, [r3, #0] - 8023046: 4610 mov r0, r2 - 8023048: f8df 1864 ldr.w r1, [pc, #2148] ; 80238b0 <_ZN11StrategieV3C1Eb+0x26a0> - 802304c: f8df 2864 ldr.w r2, [pc, #2148] ; 80238b4 <_ZN11StrategieV3C1Eb+0x26a4> - 8023050: f7f4 fbae bl 80177b0 <_ZN8PositionC1Effb> - 8023054: f04f 0034 mov.w r0, #52 ; 0x34 - 8023058: f7f4 fa32 bl 80174c0 <_Znwj> - 802305c: 4603 mov r3, r0 - 802305e: f8c7 3080 str.w r3, [r7, #128] - 8023062: f8d7 3080 ldr.w r3, [r7, #128] - 8023066: 2b00 cmp r3, #0 - 8023068: d01e beq.n 80230a8 <_ZN11StrategieV3C1Eb+0x1e98> - 802306a: f507 621a add.w r2, r7, #2464 ; 0x9a0 - 802306e: f102 0204 add.w r2, r2, #4 ; 0x4 - 8023072: f04f 0303 mov.w r3, #3 ; 0x3 - 8023076: 9300 str r3, [sp, #0] - 8023078: f04f 030d mov.w r3, #13 ; 0xd - 802307c: 9301 str r3, [sp, #4] - 802307e: f04f 0302 mov.w r3, #2 ; 0x2 - 8023082: 9302 str r3, [sp, #8] - 8023084: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8023088: 9303 str r3, [sp, #12] - 802308a: f04f 0300 mov.w r3, #0 ; 0x0 - 802308e: 9304 str r3, [sp, #16] - 8023090: f8d7 0080 ldr.w r0, [r7, #128] - 8023094: ca06 ldmia r2!, {r1, r2} - 8023096: f8d7 3ae4 ldr.w r3, [r7, #2788] - 802309a: f7f6 f9d7 bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 802309e: f8d7 2080 ldr.w r2, [r7, #128] - 80230a2: f8c7 2084 str.w r2, [r7, #132] - 80230a6: e003 b.n 80230b0 <_ZN11StrategieV3C1Eb+0x1ea0> - 80230a8: f8d7 3080 ldr.w r3, [r7, #128] - 80230ac: f8c7 3084 str.w r3, [r7, #132] - 80230b0: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 80230b4: f103 0308 add.w r3, r3, #8 ; 0x8 - 80230b8: f8d7 2084 ldr.w r2, [r7, #132] - 80230bc: 601a str r2, [r3, #0] - etape14 = new Etape(Position(2815, 800, isBlue), tableauEtapes14, 3, 14, Etape::FRUIT, -1, 0); - 80230be: f507 621a add.w r2, r7, #2464 ; 0x9a0 - 80230c2: f102 020c add.w r2, r2, #12 ; 0xc - 80230c6: f507 739c add.w r3, r7, #312 ; 0x138 - 80230ca: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 80230ce: 781b ldrb r3, [r3, #0] - 80230d0: 4610 mov r0, r2 - 80230d2: f8df 17dc ldr.w r1, [pc, #2012] ; 80238b0 <_ZN11StrategieV3C1Eb+0x26a0> - 80230d6: f8df 27e0 ldr.w r2, [pc, #2016] ; 80238b8 <_ZN11StrategieV3C1Eb+0x26a8> - 80230da: f7f4 fb69 bl 80177b0 <_ZN8PositionC1Effb> - 80230de: f04f 0034 mov.w r0, #52 ; 0x34 - 80230e2: f7f4 f9ed bl 80174c0 <_Znwj> - 80230e6: 4603 mov r3, r0 - 80230e8: f8c7 3088 str.w r3, [r7, #136] - 80230ec: f8d7 3088 ldr.w r3, [r7, #136] - 80230f0: 2b00 cmp r3, #0 - 80230f2: d01e beq.n 8023132 <_ZN11StrategieV3C1Eb+0x1f22> - 80230f4: f507 621a add.w r2, r7, #2464 ; 0x9a0 - 80230f8: f102 020c add.w r2, r2, #12 ; 0xc - 80230fc: f04f 0303 mov.w r3, #3 ; 0x3 - 8023100: 9300 str r3, [sp, #0] - 8023102: f04f 030e mov.w r3, #14 ; 0xe - 8023106: 9301 str r3, [sp, #4] - 8023108: f04f 0302 mov.w r3, #2 ; 0x2 - 802310c: 9302 str r3, [sp, #8] - 802310e: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8023112: 9303 str r3, [sp, #12] - 8023114: f04f 0300 mov.w r3, #0 ; 0x0 - 8023118: 9304 str r3, [sp, #16] - 802311a: f8d7 0088 ldr.w r0, [r7, #136] - 802311e: ca06 ldmia r2!, {r1, r2} - 8023120: f8d7 3ae8 ldr.w r3, [r7, #2792] - 8023124: f7f6 f992 bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 8023128: f8d7 2088 ldr.w r2, [r7, #136] - 802312c: f8c7 208c str.w r2, [r7, #140] - 8023130: e003 b.n 802313a <_ZN11StrategieV3C1Eb+0x1f2a> - 8023132: f8d7 3088 ldr.w r3, [r7, #136] - 8023136: f8c7 308c str.w r3, [r7, #140] - 802313a: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 802313e: f103 030c add.w r3, r3, #12 ; 0xc - 8023142: f8d7 208c ldr.w r2, [r7, #140] - 8023146: 601a str r2, [r3, #0] - etape15 = new Etape(Position(2815, 900, isBlue), tableauEtapes15, 2, 15, Etape::FEU, -1, 1); - 8023148: f507 621a add.w r2, r7, #2464 ; 0x9a0 - 802314c: f102 0214 add.w r2, r2, #20 ; 0x14 - 8023150: f507 739c add.w r3, r7, #312 ; 0x138 - 8023154: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8023158: 781b ldrb r3, [r3, #0] - 802315a: 4610 mov r0, r2 - 802315c: f8df 1750 ldr.w r1, [pc, #1872] ; 80238b0 <_ZN11StrategieV3C1Eb+0x26a0> - 8023160: f8df 2730 ldr.w r2, [pc, #1840] ; 8023894 <_ZN11StrategieV3C1Eb+0x2684> - 8023164: f7f4 fb24 bl 80177b0 <_ZN8PositionC1Effb> - 8023168: f04f 0034 mov.w r0, #52 ; 0x34 - 802316c: f7f4 f9a8 bl 80174c0 <_Znwj> - 8023170: 4603 mov r3, r0 - 8023172: f8c7 3090 str.w r3, [r7, #144] - 8023176: f8d7 3090 ldr.w r3, [r7, #144] - 802317a: 2b00 cmp r3, #0 - 802317c: d01e beq.n 80231bc <_ZN11StrategieV3C1Eb+0x1fac> - 802317e: f507 621a add.w r2, r7, #2464 ; 0x9a0 - 8023182: f102 0214 add.w r2, r2, #20 ; 0x14 - 8023186: f04f 0302 mov.w r3, #2 ; 0x2 - 802318a: 9300 str r3, [sp, #0] - 802318c: f04f 030f mov.w r3, #15 ; 0xf - 8023190: 9301 str r3, [sp, #4] - 8023192: f04f 0303 mov.w r3, #3 ; 0x3 - 8023196: 9302 str r3, [sp, #8] - 8023198: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 802319c: 9303 str r3, [sp, #12] - 802319e: f04f 0301 mov.w r3, #1 ; 0x1 - 80231a2: 9304 str r3, [sp, #16] - 80231a4: f8d7 0090 ldr.w r0, [r7, #144] - 80231a8: ca06 ldmia r2!, {r1, r2} - 80231aa: f8d7 3aec ldr.w r3, [r7, #2796] - 80231ae: f7f6 f94d bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 80231b2: f8d7 2090 ldr.w r2, [r7, #144] - 80231b6: f8c7 2094 str.w r2, [r7, #148] - 80231ba: e003 b.n 80231c4 <_ZN11StrategieV3C1Eb+0x1fb4> - 80231bc: f8d7 3090 ldr.w r3, [r7, #144] - 80231c0: f8c7 3094 str.w r3, [r7, #148] - 80231c4: f507 6327 add.w r3, r7, #2672 ; 0xa70 - 80231c8: f8d7 2094 ldr.w r2, [r7, #148] - 80231cc: 601a str r2, [r3, #0] - etape16 = new Etape(Position(2815, 1200, isBlue), tableauEtapes16, 3, 16, Etape::FEU_COTE_NOTRE_COULEUR_FACE_TERRAIN, -1, 0); - 80231ce: f507 621a add.w r2, r7, #2464 ; 0x9a0 - 80231d2: f102 021c add.w r2, r2, #28 ; 0x1c - 80231d6: f507 739c add.w r3, r7, #312 ; 0x138 - 80231da: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 80231de: 781b ldrb r3, [r3, #0] - 80231e0: 4610 mov r0, r2 - 80231e2: f8df 16cc ldr.w r1, [pc, #1740] ; 80238b0 <_ZN11StrategieV3C1Eb+0x26a0> - 80231e6: f8df 26d4 ldr.w r2, [pc, #1748] ; 80238bc <_ZN11StrategieV3C1Eb+0x26ac> - 80231ea: f7f4 fae1 bl 80177b0 <_ZN8PositionC1Effb> - 80231ee: f04f 0034 mov.w r0, #52 ; 0x34 - 80231f2: f7f4 f965 bl 80174c0 <_Znwj> - 80231f6: 4603 mov r3, r0 - 80231f8: f8c7 3098 str.w r3, [r7, #152] - 80231fc: f8d7 3098 ldr.w r3, [r7, #152] - 8023200: 2b00 cmp r3, #0 - 8023202: d01e beq.n 8023242 <_ZN11StrategieV3C1Eb+0x2032> - 8023204: f507 621a add.w r2, r7, #2464 ; 0x9a0 - 8023208: f102 021c add.w r2, r2, #28 ; 0x1c - 802320c: f04f 0303 mov.w r3, #3 ; 0x3 - 8023210: 9300 str r3, [sp, #0] - 8023212: f04f 0310 mov.w r3, #16 ; 0x10 - 8023216: 9301 str r3, [sp, #4] - 8023218: f04f 0309 mov.w r3, #9 ; 0x9 - 802321c: 9302 str r3, [sp, #8] - 802321e: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8023222: 9303 str r3, [sp, #12] - 8023224: f04f 0300 mov.w r3, #0 ; 0x0 - 8023228: 9304 str r3, [sp, #16] - 802322a: f8d7 0098 ldr.w r0, [r7, #152] - 802322e: ca06 ldmia r2!, {r1, r2} - 8023230: f8d7 3af0 ldr.w r3, [r7, #2800] - 8023234: f7f6 f90a bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 8023238: f8d7 2098 ldr.w r2, [r7, #152] - 802323c: f8c7 209c str.w r2, [r7, #156] - 8023240: e003 b.n 802324a <_ZN11StrategieV3C1Eb+0x203a> - 8023242: f8d7 3098 ldr.w r3, [r7, #152] - 8023246: f8c7 309c str.w r3, [r7, #156] - 802324a: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 802324e: f103 0314 add.w r3, r3, #20 ; 0x14 - 8023252: f8d7 209c ldr.w r2, [r7, #156] - 8023256: 601a str r2, [r3, #0] - etape17 = new Etape(Position(2400, 1550, isBlue), tableauEtapes17, 3, 17, Etape::DEPOSE_FRUIT, -1, 0); - 8023258: f507 621c add.w r2, r7, #2496 ; 0x9c0 - 802325c: f102 0204 add.w r2, r2, #4 ; 0x4 - 8023260: f507 739c add.w r3, r7, #312 ; 0x138 - 8023264: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8023268: 781b ldrb r3, [r3, #0] - 802326a: 4610 mov r0, r2 - 802326c: f8df 163c ldr.w r1, [pc, #1596] ; 80238ac <_ZN11StrategieV3C1Eb+0x269c> - 8023270: f8df 264c ldr.w r2, [pc, #1612] ; 80238c0 <_ZN11StrategieV3C1Eb+0x26b0> - 8023274: f7f4 fa9c bl 80177b0 <_ZN8PositionC1Effb> - 8023278: f04f 0034 mov.w r0, #52 ; 0x34 - 802327c: f7f4 f920 bl 80174c0 <_Znwj> - 8023280: 4603 mov r3, r0 - 8023282: f8c7 30a0 str.w r3, [r7, #160] - 8023286: f8d7 30a0 ldr.w r3, [r7, #160] - 802328a: 2b00 cmp r3, #0 - 802328c: d01e beq.n 80232cc <_ZN11StrategieV3C1Eb+0x20bc> - 802328e: f507 621c add.w r2, r7, #2496 ; 0x9c0 - 8023292: f102 0204 add.w r2, r2, #4 ; 0x4 - 8023296: f04f 0303 mov.w r3, #3 ; 0x3 - 802329a: 9300 str r3, [sp, #0] - 802329c: f04f 0311 mov.w r3, #17 ; 0x11 - 80232a0: 9301 str r3, [sp, #4] - 80232a2: f04f 0307 mov.w r3, #7 ; 0x7 - 80232a6: 9302 str r3, [sp, #8] - 80232a8: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 80232ac: 9303 str r3, [sp, #12] - 80232ae: f04f 0300 mov.w r3, #0 ; 0x0 - 80232b2: 9304 str r3, [sp, #16] - 80232b4: f8d7 00a0 ldr.w r0, [r7, #160] - 80232b8: ca06 ldmia r2!, {r1, r2} - 80232ba: f8d7 3af4 ldr.w r3, [r7, #2804] - 80232be: f7f6 f8c5 bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 80232c2: f8d7 20a0 ldr.w r2, [r7, #160] - 80232c6: f8c7 20a4 str.w r2, [r7, #164] - 80232ca: e003 b.n 80232d4 <_ZN11StrategieV3C1Eb+0x20c4> - 80232cc: f8d7 30a0 ldr.w r3, [r7, #160] - 80232d0: f8c7 30a4 str.w r3, [r7, #164] - 80232d4: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 80232d8: f103 0318 add.w r3, r3, #24 ; 0x18 - 80232dc: f8d7 20a4 ldr.w r2, [r7, #164] - 80232e0: 601a str r2, [r3, #0] - etape18 = new Etape(Position(2100, 1550, isBlue), tableauEtapes18, 2, 18, Etape::TIR_MAMMOUTH, -1, 1); - 80232e2: f507 621c add.w r2, r7, #2496 ; 0x9c0 - 80232e6: f102 020c add.w r2, r2, #12 ; 0xc - 80232ea: f507 739c add.w r3, r7, #312 ; 0x138 - 80232ee: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 80232f2: 781b ldrb r3, [r3, #0] - 80232f4: 4610 mov r0, r2 - 80232f6: f8df 15ac ldr.w r1, [pc, #1452] ; 80238a4 <_ZN11StrategieV3C1Eb+0x2694> - 80232fa: f8df 25c4 ldr.w r2, [pc, #1476] ; 80238c0 <_ZN11StrategieV3C1Eb+0x26b0> - 80232fe: f7f4 fa57 bl 80177b0 <_ZN8PositionC1Effb> - 8023302: f04f 0034 mov.w r0, #52 ; 0x34 - 8023306: f7f4 f8db bl 80174c0 <_Znwj> - 802330a: 4603 mov r3, r0 - 802330c: f8c7 30a8 str.w r3, [r7, #168] - 8023310: f8d7 30a8 ldr.w r3, [r7, #168] - 8023314: 2b00 cmp r3, #0 - 8023316: d01e beq.n 8023356 <_ZN11StrategieV3C1Eb+0x2146> - 8023318: f507 621c add.w r2, r7, #2496 ; 0x9c0 - 802331c: f102 020c add.w r2, r2, #12 ; 0xc - 8023320: f04f 0302 mov.w r3, #2 ; 0x2 - 8023324: 9300 str r3, [sp, #0] - 8023326: f04f 0312 mov.w r3, #18 ; 0x12 - 802332a: 9301 str r3, [sp, #4] - 802332c: f04f 030c mov.w r3, #12 ; 0xc - 8023330: 9302 str r3, [sp, #8] - 8023332: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8023336: 9303 str r3, [sp, #12] - 8023338: f04f 0301 mov.w r3, #1 ; 0x1 - 802333c: 9304 str r3, [sp, #16] - 802333e: f8d7 00a8 ldr.w r0, [r7, #168] - 8023342: ca06 ldmia r2!, {r1, r2} - 8023344: f8d7 3af8 ldr.w r3, [r7, #2808] - 8023348: f7f6 f880 bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 802334c: f8d7 20a8 ldr.w r2, [r7, #168] - 8023350: f8c7 20ac str.w r2, [r7, #172] - 8023354: e003 b.n 802335e <_ZN11StrategieV3C1Eb+0x214e> - 8023356: f8d7 30a8 ldr.w r3, [r7, #168] - 802335a: f8c7 30ac str.w r3, [r7, #172] - 802335e: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8023362: f103 031c add.w r3, r3, #28 ; 0x1c - 8023366: f8d7 20ac ldr.w r2, [r7, #172] - 802336a: 601a str r2, [r3, #0] - etape19 = new Etape(Position(600, 900, isBlue), tableauEtapes19, 4, 19, Etape::FEU, -1, 1); - 802336c: f507 621c add.w r2, r7, #2496 ; 0x9c0 - 8023370: f102 0214 add.w r2, r2, #20 ; 0x14 - 8023374: f507 739c add.w r3, r7, #312 ; 0x138 - 8023378: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 802337c: 781b ldrb r3, [r3, #0] - 802337e: 4610 mov r0, r2 - 8023380: f8df 1530 ldr.w r1, [pc, #1328] ; 80238b4 <_ZN11StrategieV3C1Eb+0x26a4> - 8023384: f8df 250c ldr.w r2, [pc, #1292] ; 8023894 <_ZN11StrategieV3C1Eb+0x2684> - 8023388: f7f4 fa12 bl 80177b0 <_ZN8PositionC1Effb> - 802338c: f04f 0034 mov.w r0, #52 ; 0x34 - 8023390: f7f4 f896 bl 80174c0 <_Znwj> - 8023394: 4603 mov r3, r0 - 8023396: f8c7 30b0 str.w r3, [r7, #176] - 802339a: f8d7 30b0 ldr.w r3, [r7, #176] - 802339e: 2b00 cmp r3, #0 - 80233a0: d01e beq.n 80233e0 <_ZN11StrategieV3C1Eb+0x21d0> - 80233a2: f507 621c add.w r2, r7, #2496 ; 0x9c0 - 80233a6: f102 0214 add.w r2, r2, #20 ; 0x14 - 80233aa: f04f 0304 mov.w r3, #4 ; 0x4 - 80233ae: 9300 str r3, [sp, #0] - 80233b0: f04f 0313 mov.w r3, #19 ; 0x13 - 80233b4: 9301 str r3, [sp, #4] - 80233b6: f04f 0303 mov.w r3, #3 ; 0x3 - 80233ba: 9302 str r3, [sp, #8] - 80233bc: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 80233c0: 9303 str r3, [sp, #12] - 80233c2: f04f 0301 mov.w r3, #1 ; 0x1 - 80233c6: 9304 str r3, [sp, #16] - 80233c8: f8d7 00b0 ldr.w r0, [r7, #176] - 80233cc: ca06 ldmia r2!, {r1, r2} - 80233ce: f8d7 3afc ldr.w r3, [r7, #2812] - 80233d2: f7f6 f83b bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 80233d6: f8d7 20b0 ldr.w r2, [r7, #176] - 80233da: f8c7 20b4 str.w r2, [r7, #180] - 80233de: e003 b.n 80233e8 <_ZN11StrategieV3C1Eb+0x21d8> - 80233e0: f8d7 30b0 ldr.w r3, [r7, #176] - 80233e4: f8c7 30b4 str.w r3, [r7, #180] - 80233e8: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 80233ec: f8d7 20b4 ldr.w r2, [r7, #180] - 80233f0: 601a str r2, [r3, #0] - etape20 = new Etape(Position(900, 600, isBlue), tableauEtapes20, 5, 20, Etape::FEU, -1, 1); - 80233f2: f507 621c add.w r2, r7, #2496 ; 0x9c0 - 80233f6: f102 021c add.w r2, r2, #28 ; 0x1c - 80233fa: f507 739c add.w r3, r7, #312 ; 0x138 - 80233fe: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8023402: 781b ldrb r3, [r3, #0] - 8023404: 4610 mov r0, r2 - 8023406: f8df 148c ldr.w r1, [pc, #1164] ; 8023894 <_ZN11StrategieV3C1Eb+0x2684> - 802340a: f8df 24a8 ldr.w r2, [pc, #1192] ; 80238b4 <_ZN11StrategieV3C1Eb+0x26a4> - 802340e: f7f4 f9cf bl 80177b0 <_ZN8PositionC1Effb> - 8023412: f04f 0034 mov.w r0, #52 ; 0x34 - 8023416: f7f4 f853 bl 80174c0 <_Znwj> - 802341a: 4603 mov r3, r0 - 802341c: f8c7 30b8 str.w r3, [r7, #184] - 8023420: f8d7 30b8 ldr.w r3, [r7, #184] - 8023424: 2b00 cmp r3, #0 - 8023426: d01e beq.n 8023466 <_ZN11StrategieV3C1Eb+0x2256> - 8023428: f507 621c add.w r2, r7, #2496 ; 0x9c0 - 802342c: f102 021c add.w r2, r2, #28 ; 0x1c - 8023430: f04f 0305 mov.w r3, #5 ; 0x5 - 8023434: 9300 str r3, [sp, #0] - 8023436: f04f 0314 mov.w r3, #20 ; 0x14 - 802343a: 9301 str r3, [sp, #4] - 802343c: f04f 0303 mov.w r3, #3 ; 0x3 - 8023440: 9302 str r3, [sp, #8] - 8023442: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8023446: 9303 str r3, [sp, #12] - 8023448: f04f 0301 mov.w r3, #1 ; 0x1 - 802344c: 9304 str r3, [sp, #16] - 802344e: f8d7 00b8 ldr.w r0, [r7, #184] - 8023452: ca06 ldmia r2!, {r1, r2} - 8023454: f8d7 3b00 ldr.w r3, [r7, #2816] - 8023458: f7f5 fff8 bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 802345c: f8d7 20b8 ldr.w r2, [r7, #184] - 8023460: f8c7 20bc str.w r2, [r7, #188] - 8023464: e003 b.n 802346e <_ZN11StrategieV3C1Eb+0x225e> - 8023466: f8d7 30b8 ldr.w r3, [r7, #184] - 802346a: f8c7 30bc str.w r3, [r7, #188] - 802346e: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8023472: f103 0304 add.w r3, r3, #4 ; 0x4 - 8023476: f8d7 20bc ldr.w r2, [r7, #188] - 802347a: 601a str r2, [r3, #0] - etape21 = new Etape(Position(1500, 600, isBlue), tableauEtapes21, 6, 21, Etape::POINT_PASSAGE, -1, 0); - 802347c: f507 621e add.w r2, r7, #2528 ; 0x9e0 - 8023480: f102 0204 add.w r2, r2, #4 ; 0x4 - 8023484: f507 739c add.w r3, r7, #312 ; 0x138 - 8023488: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 802348c: 781b ldrb r3, [r3, #0] - 802348e: 4610 mov r0, r2 - 8023490: f8df 1430 ldr.w r1, [pc, #1072] ; 80238c4 <_ZN11StrategieV3C1Eb+0x26b4> - 8023494: f8df 241c ldr.w r2, [pc, #1052] ; 80238b4 <_ZN11StrategieV3C1Eb+0x26a4> - 8023498: f7f4 f98a bl 80177b0 <_ZN8PositionC1Effb> - 802349c: f04f 0034 mov.w r0, #52 ; 0x34 - 80234a0: f7f4 f80e bl 80174c0 <_Znwj> - 80234a4: 4603 mov r3, r0 - 80234a6: f8c7 30c0 str.w r3, [r7, #192] - 80234aa: f8d7 30c0 ldr.w r3, [r7, #192] - 80234ae: 2b00 cmp r3, #0 - 80234b0: d01e beq.n 80234f0 <_ZN11StrategieV3C1Eb+0x22e0> - 80234b2: f507 621e add.w r2, r7, #2528 ; 0x9e0 - 80234b6: f102 0204 add.w r2, r2, #4 ; 0x4 - 80234ba: f04f 0306 mov.w r3, #6 ; 0x6 - 80234be: 9300 str r3, [sp, #0] - 80234c0: f04f 0315 mov.w r3, #21 ; 0x15 - 80234c4: 9301 str r3, [sp, #4] - 80234c6: f04f 0300 mov.w r3, #0 ; 0x0 - 80234ca: 9302 str r3, [sp, #8] - 80234cc: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 80234d0: 9303 str r3, [sp, #12] - 80234d2: f04f 0300 mov.w r3, #0 ; 0x0 - 80234d6: 9304 str r3, [sp, #16] - 80234d8: f8d7 00c0 ldr.w r0, [r7, #192] - 80234dc: ca06 ldmia r2!, {r1, r2} - 80234de: f8d7 3b04 ldr.w r3, [r7, #2820] - 80234e2: f7f5 ffb3 bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 80234e6: f8d7 20c0 ldr.w r2, [r7, #192] - 80234ea: f8c7 20c4 str.w r2, [r7, #196] - 80234ee: e003 b.n 80234f8 <_ZN11StrategieV3C1Eb+0x22e8> - 80234f0: f8d7 30c0 ldr.w r3, [r7, #192] - 80234f4: f8c7 30c4 str.w r3, [r7, #196] - 80234f8: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 80234fc: f103 0308 add.w r3, r3, #8 ; 0x8 - 8023500: f8d7 20c4 ldr.w r2, [r7, #196] - 8023504: 601a str r2, [r3, #0] - etape22 = new Etape(Position(2100, 600, isBlue), tableauEtapes22, 4, 22, Etape::FEU, -1, 0); - 8023506: f507 621e add.w r2, r7, #2528 ; 0x9e0 - 802350a: f102 020c add.w r2, r2, #12 ; 0xc - 802350e: f507 739c add.w r3, r7, #312 ; 0x138 - 8023512: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8023516: 781b ldrb r3, [r3, #0] - 8023518: 4610 mov r0, r2 - 802351a: 49e2 ldr r1, [pc, #904] (80238a4 <_ZN11StrategieV3C1Eb+0x2694>) - 802351c: 4ae5 ldr r2, [pc, #916] (80238b4 <_ZN11StrategieV3C1Eb+0x26a4>) - 802351e: f7f4 f947 bl 80177b0 <_ZN8PositionC1Effb> - 8023522: f04f 0034 mov.w r0, #52 ; 0x34 - 8023526: f7f3 ffcb bl 80174c0 <_Znwj> - 802352a: 4603 mov r3, r0 - 802352c: f8c7 30c8 str.w r3, [r7, #200] - 8023530: f8d7 30c8 ldr.w r3, [r7, #200] - 8023534: 2b00 cmp r3, #0 - 8023536: d01e beq.n 8023576 <_ZN11StrategieV3C1Eb+0x2366> - 8023538: f507 621e add.w r2, r7, #2528 ; 0x9e0 - 802353c: f102 020c add.w r2, r2, #12 ; 0xc - 8023540: f04f 0304 mov.w r3, #4 ; 0x4 - 8023544: 9300 str r3, [sp, #0] - 8023546: f04f 0316 mov.w r3, #22 ; 0x16 - 802354a: 9301 str r3, [sp, #4] - 802354c: f04f 0303 mov.w r3, #3 ; 0x3 - 8023550: 9302 str r3, [sp, #8] - 8023552: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8023556: 9303 str r3, [sp, #12] - 8023558: f04f 0300 mov.w r3, #0 ; 0x0 - 802355c: 9304 str r3, [sp, #16] - 802355e: f8d7 00c8 ldr.w r0, [r7, #200] - 8023562: ca06 ldmia r2!, {r1, r2} - 8023564: f8d7 3b08 ldr.w r3, [r7, #2824] - 8023568: f7f5 ff70 bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 802356c: f8d7 20c8 ldr.w r2, [r7, #200] - 8023570: f8c7 20cc str.w r2, [r7, #204] - 8023574: e003 b.n 802357e <_ZN11StrategieV3C1Eb+0x236e> - 8023576: f8d7 30c8 ldr.w r3, [r7, #200] - 802357a: f8c7 30cc str.w r3, [r7, #204] - 802357e: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8023582: f103 030c add.w r3, r3, #12 ; 0xc - 8023586: f8d7 20cc ldr.w r2, [r7, #204] - 802358a: 601a str r2, [r3, #0] - etape23 = new Etape(Position(1800, 800, isBlue), tableauEtapes23, 4, 23, Etape::TIR_MAMMOUTH, -1, 0); - 802358c: f507 621e add.w r2, r7, #2528 ; 0x9e0 - 8023590: f102 0214 add.w r2, r2, #20 ; 0x14 - 8023594: f507 739c add.w r3, r7, #312 ; 0x138 - 8023598: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 802359c: 781b ldrb r3, [r3, #0] - 802359e: 4610 mov r0, r2 - 80235a0: 49c9 ldr r1, [pc, #804] (80238c8 <_ZN11StrategieV3C1Eb+0x26b8>) - 80235a2: 4ac5 ldr r2, [pc, #788] (80238b8 <_ZN11StrategieV3C1Eb+0x26a8>) - 80235a4: f7f4 f904 bl 80177b0 <_ZN8PositionC1Effb> - 80235a8: f04f 0034 mov.w r0, #52 ; 0x34 - 80235ac: f7f3 ff88 bl 80174c0 <_Znwj> - 80235b0: 4603 mov r3, r0 - 80235b2: f8c7 30d0 str.w r3, [r7, #208] - 80235b6: f8d7 30d0 ldr.w r3, [r7, #208] - 80235ba: 2b00 cmp r3, #0 - 80235bc: d01e beq.n 80235fc <_ZN11StrategieV3C1Eb+0x23ec> - 80235be: f507 621e add.w r2, r7, #2528 ; 0x9e0 - 80235c2: f102 0214 add.w r2, r2, #20 ; 0x14 - 80235c6: f04f 0304 mov.w r3, #4 ; 0x4 - 80235ca: 9300 str r3, [sp, #0] - 80235cc: f04f 0317 mov.w r3, #23 ; 0x17 - 80235d0: 9301 str r3, [sp, #4] - 80235d2: f04f 030c mov.w r3, #12 ; 0xc - 80235d6: 9302 str r3, [sp, #8] - 80235d8: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 80235dc: 9303 str r3, [sp, #12] - 80235de: f04f 0300 mov.w r3, #0 ; 0x0 - 80235e2: 9304 str r3, [sp, #16] - 80235e4: f8d7 00d0 ldr.w r0, [r7, #208] - 80235e8: ca06 ldmia r2!, {r1, r2} - 80235ea: f8d7 3b0c ldr.w r3, [r7, #2828] - 80235ee: f7f5 ff2d bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 80235f2: f8d7 20d0 ldr.w r2, [r7, #208] - 80235f6: f8c7 20d4 str.w r2, [r7, #212] - 80235fa: e003 b.n 8023604 <_ZN11StrategieV3C1Eb+0x23f4> - 80235fc: f8d7 30d0 ldr.w r3, [r7, #208] - 8023600: f8c7 30d4 str.w r3, [r7, #212] - 8023604: f507 6329 add.w r3, r7, #2704 ; 0xa90 - 8023608: f8d7 20d4 ldr.w r2, [r7, #212] - 802360c: 601a str r2, [r3, #0] - etape24 = new Etape(Position(2400, 900, isBlue), tableauEtapes24, 4, 24, Etape::FEU, -1, 1); - 802360e: f507 621e add.w r2, r7, #2528 ; 0x9e0 - 8023612: f102 021c add.w r2, r2, #28 ; 0x1c - 8023616: f507 739c add.w r3, r7, #312 ; 0x138 - 802361a: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 802361e: 781b ldrb r3, [r3, #0] - 8023620: 4610 mov r0, r2 - 8023622: 49a2 ldr r1, [pc, #648] (80238ac <_ZN11StrategieV3C1Eb+0x269c>) - 8023624: 4a9b ldr r2, [pc, #620] (8023894 <_ZN11StrategieV3C1Eb+0x2684>) - 8023626: f7f4 f8c3 bl 80177b0 <_ZN8PositionC1Effb> - 802362a: f04f 0034 mov.w r0, #52 ; 0x34 - 802362e: f7f3 ff47 bl 80174c0 <_Znwj> - 8023632: 4603 mov r3, r0 - 8023634: f8c7 30d8 str.w r3, [r7, #216] - 8023638: f8d7 30d8 ldr.w r3, [r7, #216] - 802363c: 2b00 cmp r3, #0 - 802363e: d01e beq.n 802367e <_ZN11StrategieV3C1Eb+0x246e> - 8023640: f507 621e add.w r2, r7, #2528 ; 0x9e0 - 8023644: f102 021c add.w r2, r2, #28 ; 0x1c - 8023648: f04f 0304 mov.w r3, #4 ; 0x4 - 802364c: 9300 str r3, [sp, #0] - 802364e: f04f 0318 mov.w r3, #24 ; 0x18 - 8023652: 9301 str r3, [sp, #4] - 8023654: f04f 0303 mov.w r3, #3 ; 0x3 - 8023658: 9302 str r3, [sp, #8] - 802365a: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 802365e: 9303 str r3, [sp, #12] - 8023660: f04f 0301 mov.w r3, #1 ; 0x1 - 8023664: 9304 str r3, [sp, #16] - 8023666: f8d7 00d8 ldr.w r0, [r7, #216] - 802366a: ca06 ldmia r2!, {r1, r2} - 802366c: f8d7 3b10 ldr.w r3, [r7, #2832] - 8023670: f7f5 feec bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 8023674: f8d7 20d8 ldr.w r2, [r7, #216] - 8023678: f8c7 20dc str.w r2, [r7, #220] - 802367c: e003 b.n 8023686 <_ZN11StrategieV3C1Eb+0x2476> - 802367e: f8d7 30d8 ldr.w r3, [r7, #216] - 8023682: f8c7 30dc str.w r3, [r7, #220] - 8023686: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 802368a: f103 0314 add.w r3, r3, #20 ; 0x14 - 802368e: f8d7 20dc ldr.w r2, [r7, #220] - 8023692: 601a str r2, [r3, #0] - etape25 = new Etape(Position(2100, 1200, isBlue), tableauEtapes25, 3, 25, Etape::FEU, -1, 1); - 8023694: f507 6220 add.w r2, r7, #2560 ; 0xa00 - 8023698: f102 0204 add.w r2, r2, #4 ; 0x4 - 802369c: f507 739c add.w r3, r7, #312 ; 0x138 - 80236a0: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 80236a4: 781b ldrb r3, [r3, #0] - 80236a6: 4610 mov r0, r2 - 80236a8: 497e ldr r1, [pc, #504] (80238a4 <_ZN11StrategieV3C1Eb+0x2694>) - 80236aa: 4a84 ldr r2, [pc, #528] (80238bc <_ZN11StrategieV3C1Eb+0x26ac>) - 80236ac: f7f4 f880 bl 80177b0 <_ZN8PositionC1Effb> - 80236b0: f04f 0034 mov.w r0, #52 ; 0x34 - 80236b4: f7f3 ff04 bl 80174c0 <_Znwj> - 80236b8: 4603 mov r3, r0 - 80236ba: f8c7 30e0 str.w r3, [r7, #224] - 80236be: f8d7 30e0 ldr.w r3, [r7, #224] - 80236c2: 2b00 cmp r3, #0 - 80236c4: d01e beq.n 8023704 <_ZN11StrategieV3C1Eb+0x24f4> - 80236c6: f507 6220 add.w r2, r7, #2560 ; 0xa00 - 80236ca: f102 0204 add.w r2, r2, #4 ; 0x4 - 80236ce: f04f 0303 mov.w r3, #3 ; 0x3 - 80236d2: 9300 str r3, [sp, #0] - 80236d4: f04f 0319 mov.w r3, #25 ; 0x19 - 80236d8: 9301 str r3, [sp, #4] - 80236da: f04f 0303 mov.w r3, #3 ; 0x3 - 80236de: 9302 str r3, [sp, #8] - 80236e0: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 80236e4: 9303 str r3, [sp, #12] - 80236e6: f04f 0301 mov.w r3, #1 ; 0x1 - 80236ea: 9304 str r3, [sp, #16] - 80236ec: f8d7 00e0 ldr.w r0, [r7, #224] - 80236f0: ca06 ldmia r2!, {r1, r2} - 80236f2: f8d7 3b14 ldr.w r3, [r7, #2836] - 80236f6: f7f5 fea9 bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 80236fa: f8d7 20e0 ldr.w r2, [r7, #224] - 80236fe: f8c7 20e4 str.w r2, [r7, #228] - 8023702: e003 b.n 802370c <_ZN11StrategieV3C1Eb+0x24fc> - 8023704: f8d7 30e0 ldr.w r3, [r7, #224] - 8023708: f8c7 30e4 str.w r3, [r7, #228] - 802370c: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8023710: f103 0318 add.w r3, r3, #24 ; 0x18 - 8023714: f8d7 20e4 ldr.w r2, [r7, #228] - 8023718: 601a str r2, [r3, #0] - etape26 = new Etape(Position(1800, 1550, isBlue), tableauEtapes26, 2, 26, Etape::POINT_PASSAGE, -1, 0); - 802371a: f507 6220 add.w r2, r7, #2560 ; 0xa00 - 802371e: f102 020c add.w r2, r2, #12 ; 0xc - 8023722: f507 739c add.w r3, r7, #312 ; 0x138 - 8023726: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 802372a: 781b ldrb r3, [r3, #0] - 802372c: 4610 mov r0, r2 - 802372e: 4966 ldr r1, [pc, #408] (80238c8 <_ZN11StrategieV3C1Eb+0x26b8>) - 8023730: 4a63 ldr r2, [pc, #396] (80238c0 <_ZN11StrategieV3C1Eb+0x26b0>) - 8023732: f7f4 f83d bl 80177b0 <_ZN8PositionC1Effb> - 8023736: f04f 0034 mov.w r0, #52 ; 0x34 - 802373a: f7f3 fec1 bl 80174c0 <_Znwj> - 802373e: 4603 mov r3, r0 - 8023740: f8c7 30e8 str.w r3, [r7, #232] - 8023744: f8d7 30e8 ldr.w r3, [r7, #232] - 8023748: 2b00 cmp r3, #0 - 802374a: d01e beq.n 802378a <_ZN11StrategieV3C1Eb+0x257a> - 802374c: f507 6220 add.w r2, r7, #2560 ; 0xa00 - 8023750: f102 020c add.w r2, r2, #12 ; 0xc - 8023754: f04f 0302 mov.w r3, #2 ; 0x2 - 8023758: 9300 str r3, [sp, #0] - 802375a: f04f 031a mov.w r3, #26 ; 0x1a - 802375e: 9301 str r3, [sp, #4] - 8023760: f04f 0300 mov.w r3, #0 ; 0x0 - 8023764: 9302 str r3, [sp, #8] - 8023766: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 802376a: 9303 str r3, [sp, #12] - 802376c: f04f 0300 mov.w r3, #0 ; 0x0 - 8023770: 9304 str r3, [sp, #16] - 8023772: f8d7 00e8 ldr.w r0, [r7, #232] - 8023776: ca06 ldmia r2!, {r1, r2} - 8023778: f8d7 3b18 ldr.w r3, [r7, #2840] - 802377c: f7f5 fe66 bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 8023780: f8d7 20e8 ldr.w r2, [r7, #232] - 8023784: f8c7 20ec str.w r2, [r7, #236] - 8023788: e003 b.n 8023792 <_ZN11StrategieV3C1Eb+0x2582> - 802378a: f8d7 30e8 ldr.w r3, [r7, #232] - 802378e: f8c7 30ec str.w r3, [r7, #236] - 8023792: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8023796: f103 031c add.w r3, r3, #28 ; 0x1c - 802379a: f8d7 20ec ldr.w r2, [r7, #236] - 802379e: 601a str r2, [r3, #0] - etape27 = new Etape(Position(1800, 1000, isBlue), tableauEtapes27, 3, 27, Etape::POINT_PASSAGE, -1, 0); - 80237a0: f507 6220 add.w r2, r7, #2560 ; 0xa00 - 80237a4: f102 0214 add.w r2, r2, #20 ; 0x14 - 80237a8: f507 739c add.w r3, r7, #312 ; 0x138 - 80237ac: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 80237b0: 781b ldrb r3, [r3, #0] - 80237b2: 4610 mov r0, r2 - 80237b4: 4944 ldr r1, [pc, #272] (80238c8 <_ZN11StrategieV3C1Eb+0x26b8>) - 80237b6: 4a45 ldr r2, [pc, #276] (80238cc <_ZN11StrategieV3C1Eb+0x26bc>) - 80237b8: f7f3 fffa bl 80177b0 <_ZN8PositionC1Effb> - 80237bc: f04f 0034 mov.w r0, #52 ; 0x34 - 80237c0: f7f3 fe7e bl 80174c0 <_Znwj> - 80237c4: 4603 mov r3, r0 - 80237c6: f8c7 30f0 str.w r3, [r7, #240] - 80237ca: f8d7 30f0 ldr.w r3, [r7, #240] - 80237ce: 2b00 cmp r3, #0 - 80237d0: d01e beq.n 8023810 <_ZN11StrategieV3C1Eb+0x2600> - 80237d2: f507 6220 add.w r2, r7, #2560 ; 0xa00 - 80237d6: f102 0214 add.w r2, r2, #20 ; 0x14 - 80237da: f04f 0303 mov.w r3, #3 ; 0x3 - 80237de: 9300 str r3, [sp, #0] - 80237e0: f04f 031b mov.w r3, #27 ; 0x1b - 80237e4: 9301 str r3, [sp, #4] - 80237e6: f04f 0300 mov.w r3, #0 ; 0x0 - 80237ea: 9302 str r3, [sp, #8] - 80237ec: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 80237f0: 9303 str r3, [sp, #12] - 80237f2: f04f 0300 mov.w r3, #0 ; 0x0 - 80237f6: 9304 str r3, [sp, #16] - 80237f8: f8d7 00f0 ldr.w r0, [r7, #240] - 80237fc: ca06 ldmia r2!, {r1, r2} - 80237fe: f8d7 3b1c ldr.w r3, [r7, #2844] - 8023802: f7f5 fe23 bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 8023806: f8d7 20f0 ldr.w r2, [r7, #240] - 802380a: f8c7 20f4 str.w r2, [r7, #244] - 802380e: e003 b.n 8023818 <_ZN11StrategieV3C1Eb+0x2608> - 8023810: f8d7 30f0 ldr.w r3, [r7, #240] - 8023814: f8c7 30f4 str.w r3, [r7, #244] - 8023818: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 802381c: f8d7 20f4 ldr.w r2, [r7, #244] - 8023820: 601a str r2, [r3, #0] - etape28 = new Etape(Position(600, 1100, isBlue), tableauEtapes28, 2, 28, Etape::POINT_PASSAGE, -1, 0); - 8023822: f507 6220 add.w r2, r7, #2560 ; 0xa00 - 8023826: f102 021c add.w r2, r2, #28 ; 0x1c - 802382a: f507 739c add.w r3, r7, #312 ; 0x138 - 802382e: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8023832: 781b ldrb r3, [r3, #0] - 8023834: 4610 mov r0, r2 - 8023836: 491f ldr r1, [pc, #124] (80238b4 <_ZN11StrategieV3C1Eb+0x26a4>) - 8023838: 4a25 ldr r2, [pc, #148] (80238d0 <_ZN11StrategieV3C1Eb+0x26c0>) - 802383a: f7f3 ffb9 bl 80177b0 <_ZN8PositionC1Effb> - 802383e: f04f 0034 mov.w r0, #52 ; 0x34 - 8023842: f7f3 fe3d bl 80174c0 <_Znwj> - 8023846: 4603 mov r3, r0 - 8023848: f8c7 30f8 str.w r3, [r7, #248] - 802384c: f8d7 30f8 ldr.w r3, [r7, #248] - 8023850: 2b00 cmp r3, #0 - 8023852: d03f beq.n 80238d4 <_ZN11StrategieV3C1Eb+0x26c4> - 8023854: f507 6220 add.w r2, r7, #2560 ; 0xa00 - 8023858: f102 021c add.w r2, r2, #28 ; 0x1c - 802385c: f04f 0302 mov.w r3, #2 ; 0x2 - 8023860: 9300 str r3, [sp, #0] - 8023862: f04f 031c mov.w r3, #28 ; 0x1c - 8023866: 9301 str r3, [sp, #4] - 8023868: f04f 0300 mov.w r3, #0 ; 0x0 - 802386c: 9302 str r3, [sp, #8] - 802386e: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8023872: 9303 str r3, [sp, #12] - 8023874: f04f 0300 mov.w r3, #0 ; 0x0 - 8023878: 9304 str r3, [sp, #16] - 802387a: f8d7 00f8 ldr.w r0, [r7, #248] - 802387e: ca06 ldmia r2!, {r1, r2} - 8023880: f8d7 3b20 ldr.w r3, [r7, #2848] - 8023884: f7f5 fde2 bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 8023888: f8d7 20f8 ldr.w r2, [r7, #248] - 802388c: f8c7 20fc str.w r2, [r7, #252] - 8023890: e024 b.n 80238dc <_ZN11StrategieV3C1Eb+0x26cc> - 8023892: 46c0 nop (mov r8, r8) - 8023894: 44610000 .word 0x44610000 - 8023898: 43390000 .word 0x43390000 - 802389c: 44a28000 .word 0x44a28000 - 80238a0: 44d48000 .word 0x44d48000 - 80238a4: 45034000 .word 0x45034000 - 80238a8: 45098000 .word 0x45098000 - 80238ac: 45160000 .word 0x45160000 - 80238b0: 452ff000 .word 0x452ff000 - 80238b4: 44160000 .word 0x44160000 - 80238b8: 44480000 .word 0x44480000 - 80238bc: 44960000 .word 0x44960000 - 80238c0: 44c1c000 .word 0x44c1c000 - 80238c4: 44bb8000 .word 0x44bb8000 - 80238c8: 44e10000 .word 0x44e10000 - 80238cc: 447a0000 .word 0x447a0000 - 80238d0: 44898000 .word 0x44898000 - 80238d4: f8d7 30f8 ldr.w r3, [r7, #248] - 80238d8: f8c7 30fc str.w r3, [r7, #252] - 80238dc: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 80238e0: f103 0304 add.w r3, r3, #4 ; 0x4 - 80238e4: f8d7 20fc ldr.w r2, [r7, #252] - 80238e8: 601a str r2, [r3, #0] - etape29 = new Etape(Position(600, 600, isBlue), tableauEtapes29, 5, 29, Etape::POINT_PASSAGE, -1, 0); - 80238ea: f507 6222 add.w r2, r7, #2592 ; 0xa20 - 80238ee: f102 0204 add.w r2, r2, #4 ; 0x4 - 80238f2: f507 739c add.w r3, r7, #312 ; 0x138 - 80238f6: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 80238fa: 781b ldrb r3, [r3, #0] - 80238fc: 4610 mov r0, r2 - 80238fe: 4938 ldr r1, [pc, #224] (80239e0 <_ZN11StrategieV3C1Eb+0x27d0>) - 8023900: 4a37 ldr r2, [pc, #220] (80239e0 <_ZN11StrategieV3C1Eb+0x27d0>) - 8023902: f7f3 ff55 bl 80177b0 <_ZN8PositionC1Effb> - 8023906: f04f 0034 mov.w r0, #52 ; 0x34 - 802390a: f7f3 fdd9 bl 80174c0 <_Znwj> - 802390e: 4603 mov r3, r0 - 8023910: f8c7 3100 str.w r3, [r7, #256] - 8023914: f8d7 3100 ldr.w r3, [r7, #256] - 8023918: 2b00 cmp r3, #0 - 802391a: d01e beq.n 802395a <_ZN11StrategieV3C1Eb+0x274a> - 802391c: f507 6222 add.w r2, r7, #2592 ; 0xa20 - 8023920: f102 0204 add.w r2, r2, #4 ; 0x4 - 8023924: f04f 0305 mov.w r3, #5 ; 0x5 - 8023928: 9300 str r3, [sp, #0] - 802392a: f04f 031d mov.w r3, #29 ; 0x1d - 802392e: 9301 str r3, [sp, #4] - 8023930: f04f 0300 mov.w r3, #0 ; 0x0 - 8023934: 9302 str r3, [sp, #8] - 8023936: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 802393a: 9303 str r3, [sp, #12] - 802393c: f04f 0300 mov.w r3, #0 ; 0x0 - 8023940: 9304 str r3, [sp, #16] - 8023942: f8d7 0100 ldr.w r0, [r7, #256] - 8023946: ca06 ldmia r2!, {r1, r2} - 8023948: f8d7 3b24 ldr.w r3, [r7, #2852] - 802394c: f7f5 fd7e bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 8023950: f8d7 2100 ldr.w r2, [r7, #256] - 8023954: f8c7 2104 str.w r2, [r7, #260] - 8023958: e003 b.n 8023962 <_ZN11StrategieV3C1Eb+0x2752> - 802395a: f8d7 3100 ldr.w r3, [r7, #256] - 802395e: f8c7 3104 str.w r3, [r7, #260] - 8023962: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8023966: f103 0308 add.w r3, r3, #8 ; 0x8 - 802396a: f8d7 2104 ldr.w r2, [r7, #260] - 802396e: 601a str r2, [r3, #0] - etape30 = new Etape(Position(2400, 600, isBlue), tableauEtapes30, 6, 30, Etape::POINT_PASSAGE, -1, 0); - 8023970: f507 6222 add.w r2, r7, #2592 ; 0xa20 - 8023974: f102 020c add.w r2, r2, #12 ; 0xc - 8023978: f507 739c add.w r3, r7, #312 ; 0x138 - 802397c: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8023980: 781b ldrb r3, [r3, #0] - 8023982: 4610 mov r0, r2 - 8023984: 4917 ldr r1, [pc, #92] (80239e4 <_ZN11StrategieV3C1Eb+0x27d4>) - 8023986: 4a16 ldr r2, [pc, #88] (80239e0 <_ZN11StrategieV3C1Eb+0x27d0>) - 8023988: f7f3 ff12 bl 80177b0 <_ZN8PositionC1Effb> - 802398c: f04f 0034 mov.w r0, #52 ; 0x34 - 8023990: f7f3 fd96 bl 80174c0 <_Znwj> - 8023994: 4603 mov r3, r0 - 8023996: f8c7 3108 str.w r3, [r7, #264] - 802399a: f8d7 3108 ldr.w r3, [r7, #264] - 802399e: 2b00 cmp r3, #0 - 80239a0: d022 beq.n 80239e8 <_ZN11StrategieV3C1Eb+0x27d8> - 80239a2: f507 6222 add.w r2, r7, #2592 ; 0xa20 - 80239a6: f102 020c add.w r2, r2, #12 ; 0xc - 80239aa: f04f 0306 mov.w r3, #6 ; 0x6 - 80239ae: 9300 str r3, [sp, #0] - 80239b0: f04f 031e mov.w r3, #30 ; 0x1e - 80239b4: 9301 str r3, [sp, #4] - 80239b6: f04f 0300 mov.w r3, #0 ; 0x0 - 80239ba: 9302 str r3, [sp, #8] - 80239bc: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 80239c0: 9303 str r3, [sp, #12] - 80239c2: f04f 0300 mov.w r3, #0 ; 0x0 - 80239c6: 9304 str r3, [sp, #16] - 80239c8: f8d7 0108 ldr.w r0, [r7, #264] - 80239cc: ca06 ldmia r2!, {r1, r2} - 80239ce: f8d7 3b28 ldr.w r3, [r7, #2856] - 80239d2: f7f5 fd3b bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 80239d6: f8d7 2108 ldr.w r2, [r7, #264] - 80239da: f8c7 210c str.w r2, [r7, #268] - 80239de: e007 b.n 80239f0 <_ZN11StrategieV3C1Eb+0x27e0> - 80239e0: 44160000 .word 0x44160000 - 80239e4: 45160000 .word 0x45160000 - 80239e8: f8d7 3108 ldr.w r3, [r7, #264] - 80239ec: f8c7 310c str.w r3, [r7, #268] - 80239f0: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 80239f4: f103 030c add.w r3, r3, #12 ; 0xc - 80239f8: f8d7 210c ldr.w r2, [r7, #268] - 80239fc: 601a str r2, [r3, #0] - - tableauEtapes0[0] = etape1; - 80239fe: f507 632b add.w r3, r7, #2736 ; 0xab0 - 8023a02: 681a ldr r2, [r3, #0] - 8023a04: f507 6322 add.w r3, r7, #2592 ; 0xa20 - 8023a08: f103 0318 add.w r3, r3, #24 ; 0x18 - 8023a0c: 681b ldr r3, [r3, #0] - 8023a0e: 6013 str r3, [r2, #0] - tableauEtapes0[1] = etape28; - 8023a10: f507 632b add.w r3, r7, #2736 ; 0xab0 - 8023a14: 681b ldr r3, [r3, #0] - 8023a16: f103 0204 add.w r2, r3, #4 ; 0x4 - 8023a1a: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8023a1e: f103 0304 add.w r3, r3, #4 ; 0x4 - 8023a22: 681b ldr r3, [r3, #0] - 8023a24: 6013 str r3, [r2, #0] - - tableauEtapes1[0] = etape0; - 8023a26: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8023a2a: f103 0314 add.w r3, r3, #20 ; 0x14 - 8023a2e: 681a ldr r2, [r3, #0] - 8023a30: f507 6322 add.w r3, r7, #2592 ; 0xa20 - 8023a34: f103 0314 add.w r3, r3, #20 ; 0x14 - 8023a38: 681b ldr r3, [r3, #0] - 8023a3a: 6013 str r3, [r2, #0] - tableauEtapes1[1] = etape2; - 8023a3c: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8023a40: f103 0314 add.w r3, r3, #20 ; 0x14 - 8023a44: 681b ldr r3, [r3, #0] - 8023a46: f103 0204 add.w r2, r3, #4 ; 0x4 - 8023a4a: f507 6322 add.w r3, r7, #2592 ; 0xa20 - 8023a4e: f103 031c add.w r3, r3, #28 ; 0x1c - 8023a52: 681b ldr r3, [r3, #0] - 8023a54: 6013 str r3, [r2, #0] - - tableauEtapes2[0] = etape1; - 8023a56: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8023a5a: f103 0318 add.w r3, r3, #24 ; 0x18 - 8023a5e: 681a ldr r2, [r3, #0] - 8023a60: f507 6322 add.w r3, r7, #2592 ; 0xa20 - 8023a64: f103 0318 add.w r3, r3, #24 ; 0x18 - 8023a68: 681b ldr r3, [r3, #0] - 8023a6a: 6013 str r3, [r2, #0] - tableauEtapes2[1] = etape3; - 8023a6c: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8023a70: f103 0318 add.w r3, r3, #24 ; 0x18 - 8023a74: 681b ldr r3, [r3, #0] - 8023a76: f103 0204 add.w r2, r3, #4 ; 0x4 - 8023a7a: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8023a7e: 681b ldr r3, [r3, #0] - 8023a80: 6013 str r3, [r2, #0] - - tableauEtapes3[0] = etape2; - 8023a82: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8023a86: f103 031c add.w r3, r3, #28 ; 0x1c - 8023a8a: 681a ldr r2, [r3, #0] - 8023a8c: f507 6322 add.w r3, r7, #2592 ; 0xa20 - 8023a90: f103 031c add.w r3, r3, #28 ; 0x1c - 8023a94: 681b ldr r3, [r3, #0] - 8023a96: 6013 str r3, [r2, #0] - tableauEtapes3[1] = etape4; - 8023a98: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8023a9c: f103 031c add.w r3, r3, #28 ; 0x1c - 8023aa0: 681b ldr r3, [r3, #0] - 8023aa2: f103 0204 add.w r2, r3, #4 ; 0x4 - 8023aa6: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8023aaa: f103 0304 add.w r3, r3, #4 ; 0x4 - 8023aae: 681b ldr r3, [r3, #0] - 8023ab0: 6013 str r3, [r2, #0] - - tableauEtapes4[0] = etape3; - 8023ab2: f507 632c add.w r3, r7, #2752 ; 0xac0 - 8023ab6: 681a ldr r2, [r3, #0] - 8023ab8: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8023abc: 681b ldr r3, [r3, #0] - 8023abe: 6013 str r3, [r2, #0] - tableauEtapes4[1] = etape5; - 8023ac0: f507 632c add.w r3, r7, #2752 ; 0xac0 - 8023ac4: 681b ldr r3, [r3, #0] - 8023ac6: f103 0204 add.w r2, r3, #4 ; 0x4 - 8023aca: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8023ace: f103 0308 add.w r3, r3, #8 ; 0x8 - 8023ad2: 681b ldr r3, [r3, #0] - 8023ad4: 6013 str r3, [r2, #0] - tableauEtapes4[2] = etape19; - 8023ad6: f507 632c add.w r3, r7, #2752 ; 0xac0 - 8023ada: 681b ldr r3, [r3, #0] - 8023adc: f103 0208 add.w r2, r3, #8 ; 0x8 - 8023ae0: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8023ae4: 681b ldr r3, [r3, #0] - 8023ae6: 6013 str r3, [r2, #0] - tableauEtapes4[3] = etape29; - 8023ae8: f507 632c add.w r3, r7, #2752 ; 0xac0 - 8023aec: 681b ldr r3, [r3, #0] - 8023aee: f103 020c add.w r2, r3, #12 ; 0xc - 8023af2: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8023af6: f103 0308 add.w r3, r3, #8 ; 0x8 - 8023afa: 681b ldr r3, [r3, #0] - 8023afc: 6013 str r3, [r2, #0] - - tableauEtapes5[0] = etape4; - 8023afe: f507 632c add.w r3, r7, #2752 ; 0xac0 - 8023b02: f103 0304 add.w r3, r3, #4 ; 0x4 - 8023b06: 681a ldr r2, [r3, #0] - 8023b08: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8023b0c: f103 0304 add.w r3, r3, #4 ; 0x4 - 8023b10: 681b ldr r3, [r3, #0] - 8023b12: 6013 str r3, [r2, #0] - tableauEtapes5[1] = etape6; - 8023b14: f507 632c add.w r3, r7, #2752 ; 0xac0 - 8023b18: f103 0304 add.w r3, r3, #4 ; 0x4 - 8023b1c: 681b ldr r3, [r3, #0] - 8023b1e: f103 0204 add.w r2, r3, #4 ; 0x4 - 8023b22: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8023b26: f103 030c add.w r3, r3, #12 ; 0xc - 8023b2a: 681b ldr r3, [r3, #0] - 8023b2c: 6013 str r3, [r2, #0] - tableauEtapes5[2] = etape29; - 8023b2e: f507 632c add.w r3, r7, #2752 ; 0xac0 - 8023b32: f103 0304 add.w r3, r3, #4 ; 0x4 - 8023b36: 681b ldr r3, [r3, #0] - 8023b38: f103 0208 add.w r2, r3, #8 ; 0x8 - 8023b3c: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8023b40: f103 0308 add.w r3, r3, #8 ; 0x8 - 8023b44: 681b ldr r3, [r3, #0] - 8023b46: 6013 str r3, [r2, #0] - - tableauEtapes6[0] = etape5; - 8023b48: f507 632c add.w r3, r7, #2752 ; 0xac0 - 8023b4c: f103 0308 add.w r3, r3, #8 ; 0x8 - 8023b50: 681a ldr r2, [r3, #0] - 8023b52: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8023b56: f103 0308 add.w r3, r3, #8 ; 0x8 - 8023b5a: 681b ldr r3, [r3, #0] - 8023b5c: 6013 str r3, [r2, #0] - tableauEtapes6[1] = etape7; - 8023b5e: f507 632c add.w r3, r7, #2752 ; 0xac0 - 8023b62: f103 0308 add.w r3, r3, #8 ; 0x8 - 8023b66: 681b ldr r3, [r3, #0] - 8023b68: f103 0204 add.w r2, r3, #4 ; 0x4 - 8023b6c: f507 6325 add.w r3, r7, #2640 ; 0xa50 - 8023b70: 681b ldr r3, [r3, #0] - 8023b72: 6013 str r3, [r2, #0] - tableauEtapes6[2] = etape29; - 8023b74: f507 632c add.w r3, r7, #2752 ; 0xac0 - 8023b78: f103 0308 add.w r3, r3, #8 ; 0x8 - 8023b7c: 681b ldr r3, [r3, #0] - 8023b7e: f103 0208 add.w r2, r3, #8 ; 0x8 - 8023b82: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8023b86: f103 0308 add.w r3, r3, #8 ; 0x8 - 8023b8a: 681b ldr r3, [r3, #0] - 8023b8c: 6013 str r3, [r2, #0] - - tableauEtapes7[0] = etape6; - 8023b8e: f507 632c add.w r3, r7, #2752 ; 0xac0 - 8023b92: f103 030c add.w r3, r3, #12 ; 0xc - 8023b96: 681a ldr r2, [r3, #0] - 8023b98: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8023b9c: f103 030c add.w r3, r3, #12 ; 0xc - 8023ba0: 681b ldr r3, [r3, #0] - 8023ba2: 6013 str r3, [r2, #0] - tableauEtapes7[1] = etape8; - 8023ba4: f507 632c add.w r3, r7, #2752 ; 0xac0 - 8023ba8: f103 030c add.w r3, r3, #12 ; 0xc - 8023bac: 681b ldr r3, [r3, #0] - 8023bae: f103 0204 add.w r2, r3, #4 ; 0x4 - 8023bb2: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8023bb6: f103 0314 add.w r3, r3, #20 ; 0x14 - 8023bba: 681b ldr r3, [r3, #0] - 8023bbc: 6013 str r3, [r2, #0] - tableauEtapes7[2] = etape21; - 8023bbe: f507 632c add.w r3, r7, #2752 ; 0xac0 - 8023bc2: f103 030c add.w r3, r3, #12 ; 0xc - 8023bc6: 681b ldr r3, [r3, #0] - 8023bc8: f103 0208 add.w r2, r3, #8 ; 0x8 - 8023bcc: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8023bd0: f103 0308 add.w r3, r3, #8 ; 0x8 - 8023bd4: 681b ldr r3, [r3, #0] - 8023bd6: 6013 str r3, [r2, #0] - - tableauEtapes8[0] = etape7; - 8023bd8: f507 632d add.w r3, r7, #2768 ; 0xad0 - 8023bdc: 681a ldr r2, [r3, #0] - 8023bde: f507 6325 add.w r3, r7, #2640 ; 0xa50 - 8023be2: 681b ldr r3, [r3, #0] - 8023be4: 6013 str r3, [r2, #0] - tableauEtapes8[1] = etape9; - 8023be6: f507 632d add.w r3, r7, #2768 ; 0xad0 - 8023bea: 681b ldr r3, [r3, #0] - 8023bec: f103 0204 add.w r2, r3, #4 ; 0x4 - 8023bf0: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8023bf4: f103 0318 add.w r3, r3, #24 ; 0x18 - 8023bf8: 681b ldr r3, [r3, #0] - 8023bfa: 6013 str r3, [r2, #0] - tableauEtapes8[2] = etape20; - 8023bfc: f507 632d add.w r3, r7, #2768 ; 0xad0 - 8023c00: 681b ldr r3, [r3, #0] - 8023c02: f103 0208 add.w r2, r3, #8 ; 0x8 - 8023c06: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8023c0a: f103 0304 add.w r3, r3, #4 ; 0x4 - 8023c0e: 681b ldr r3, [r3, #0] - 8023c10: 6013 str r3, [r2, #0] - tableauEtapes8[3] = etape21; - 8023c12: f507 632d add.w r3, r7, #2768 ; 0xad0 - 8023c16: 681b ldr r3, [r3, #0] - 8023c18: f103 020c add.w r2, r3, #12 ; 0xc - 8023c1c: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8023c20: f103 0308 add.w r3, r3, #8 ; 0x8 - 8023c24: 681b ldr r3, [r3, #0] - 8023c26: 6013 str r3, [r2, #0] - - tableauEtapes9[0] = etape8; - 8023c28: f507 632c add.w r3, r7, #2752 ; 0xac0 - 8023c2c: f103 0314 add.w r3, r3, #20 ; 0x14 - 8023c30: 681a ldr r2, [r3, #0] - 8023c32: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8023c36: f103 0314 add.w r3, r3, #20 ; 0x14 - 8023c3a: 681b ldr r3, [r3, #0] - 8023c3c: 6013 str r3, [r2, #0] - tableauEtapes9[1] = etape10; - 8023c3e: f507 632c add.w r3, r7, #2752 ; 0xac0 - 8023c42: f103 0314 add.w r3, r3, #20 ; 0x14 - 8023c46: 681b ldr r3, [r3, #0] - 8023c48: f103 0204 add.w r2, r3, #4 ; 0x4 - 8023c4c: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8023c50: f103 031c add.w r3, r3, #28 ; 0x1c - 8023c54: 681b ldr r3, [r3, #0] - 8023c56: 6013 str r3, [r2, #0] - tableauEtapes9[2] = etape20; - 8023c58: f507 632c add.w r3, r7, #2752 ; 0xac0 - 8023c5c: f103 0314 add.w r3, r3, #20 ; 0x14 - 8023c60: 681b ldr r3, [r3, #0] - 8023c62: f103 0208 add.w r2, r3, #8 ; 0x8 - 8023c66: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8023c6a: f103 0304 add.w r3, r3, #4 ; 0x4 - 8023c6e: 681b ldr r3, [r3, #0] - 8023c70: 6013 str r3, [r2, #0] - tableauEtapes9[3] = etape21; - 8023c72: f507 632c add.w r3, r7, #2752 ; 0xac0 - 8023c76: f103 0314 add.w r3, r3, #20 ; 0x14 - 8023c7a: 681b ldr r3, [r3, #0] - 8023c7c: f103 020c add.w r2, r3, #12 ; 0xc - 8023c80: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8023c84: f103 0308 add.w r3, r3, #8 ; 0x8 - 8023c88: 681b ldr r3, [r3, #0] - 8023c8a: 6013 str r3, [r2, #0] - tableauEtapes9[4] = etape23; - 8023c8c: f507 632c add.w r3, r7, #2752 ; 0xac0 - 8023c90: f103 0314 add.w r3, r3, #20 ; 0x14 - 8023c94: 681b ldr r3, [r3, #0] - 8023c96: f103 0210 add.w r2, r3, #16 ; 0x10 - 8023c9a: f507 6329 add.w r3, r7, #2704 ; 0xa90 - 8023c9e: 681b ldr r3, [r3, #0] - 8023ca0: 6013 str r3, [r2, #0] - - tableauEtapes10[0] = etape9; - 8023ca2: f507 632c add.w r3, r7, #2752 ; 0xac0 - 8023ca6: f103 0318 add.w r3, r3, #24 ; 0x18 - 8023caa: 681a ldr r2, [r3, #0] - 8023cac: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8023cb0: f103 0318 add.w r3, r3, #24 ; 0x18 - 8023cb4: 681b ldr r3, [r3, #0] - 8023cb6: 6013 str r3, [r2, #0] - tableauEtapes10[1] = etape11; - 8023cb8: f507 632c add.w r3, r7, #2752 ; 0xac0 - 8023cbc: f103 0318 add.w r3, r3, #24 ; 0x18 - 8023cc0: 681b ldr r3, [r3, #0] - 8023cc2: f103 0204 add.w r2, r3, #4 ; 0x4 - 8023cc6: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8023cca: 681b ldr r3, [r3, #0] - 8023ccc: 6013 str r3, [r2, #0] - - tableauEtapes11[0] = etape10; - 8023cce: f8d7 2adc ldr.w r2, [r7, #2780] - 8023cd2: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8023cd6: f103 031c add.w r3, r3, #28 ; 0x1c - 8023cda: 681b ldr r3, [r3, #0] - 8023cdc: 6013 str r3, [r2, #0] - tableauEtapes11[1] = etape12; - 8023cde: f8d7 3adc ldr.w r3, [r7, #2780] - 8023ce2: f103 0204 add.w r2, r3, #4 ; 0x4 - 8023ce6: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8023cea: f103 0304 add.w r3, r3, #4 ; 0x4 - 8023cee: 681b ldr r3, [r3, #0] - 8023cf0: 6013 str r3, [r2, #0] - tableauEtapes11[2] = etape30; - 8023cf2: f8d7 3adc ldr.w r3, [r7, #2780] - 8023cf6: f103 0208 add.w r2, r3, #8 ; 0x8 - 8023cfa: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8023cfe: f103 030c add.w r3, r3, #12 ; 0xc - 8023d02: 681b ldr r3, [r3, #0] - 8023d04: 6013 str r3, [r2, #0] - - tableauEtapes12[0] = etape11; - 8023d06: f8d7 2ae0 ldr.w r2, [r7, #2784] - 8023d0a: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8023d0e: 681b ldr r3, [r3, #0] - 8023d10: 6013 str r3, [r2, #0] - tableauEtapes12[1] = etape13; - 8023d12: f8d7 3ae0 ldr.w r3, [r7, #2784] - 8023d16: f103 0204 add.w r2, r3, #4 ; 0x4 - 8023d1a: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8023d1e: f103 0308 add.w r3, r3, #8 ; 0x8 - 8023d22: 681b ldr r3, [r3, #0] - 8023d24: 6013 str r3, [r2, #0] - tableauEtapes12[2] = etape30; - 8023d26: f8d7 3ae0 ldr.w r3, [r7, #2784] - 8023d2a: f103 0208 add.w r2, r3, #8 ; 0x8 - 8023d2e: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8023d32: f103 030c add.w r3, r3, #12 ; 0xc - 8023d36: 681b ldr r3, [r3, #0] - 8023d38: 6013 str r3, [r2, #0] - - tableauEtapes13[0] = etape12; - 8023d3a: f8d7 2ae4 ldr.w r2, [r7, #2788] - 8023d3e: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8023d42: f103 0304 add.w r3, r3, #4 ; 0x4 - 8023d46: 681b ldr r3, [r3, #0] - 8023d48: 6013 str r3, [r2, #0] - tableauEtapes13[1] = etape14; - 8023d4a: f8d7 3ae4 ldr.w r3, [r7, #2788] - 8023d4e: f103 0204 add.w r2, r3, #4 ; 0x4 - 8023d52: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8023d56: f103 030c add.w r3, r3, #12 ; 0xc - 8023d5a: 681b ldr r3, [r3, #0] - 8023d5c: 6013 str r3, [r2, #0] - tableauEtapes13[2] = etape30; - 8023d5e: f8d7 3ae4 ldr.w r3, [r7, #2788] - 8023d62: f103 0208 add.w r2, r3, #8 ; 0x8 - 8023d66: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8023d6a: f103 030c add.w r3, r3, #12 ; 0xc - 8023d6e: 681b ldr r3, [r3, #0] - 8023d70: 6013 str r3, [r2, #0] - - tableauEtapes14[0] = etape13; - 8023d72: f8d7 2ae8 ldr.w r2, [r7, #2792] - 8023d76: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8023d7a: f103 0308 add.w r3, r3, #8 ; 0x8 - 8023d7e: 681b ldr r3, [r3, #0] - 8023d80: 6013 str r3, [r2, #0] - tableauEtapes14[1] = etape15; - 8023d82: f8d7 3ae8 ldr.w r3, [r7, #2792] - 8023d86: f103 0204 add.w r2, r3, #4 ; 0x4 - 8023d8a: f507 6327 add.w r3, r7, #2672 ; 0xa70 - 8023d8e: 681b ldr r3, [r3, #0] - 8023d90: 6013 str r3, [r2, #0] - tableauEtapes14[2] = etape30; - 8023d92: f8d7 3ae8 ldr.w r3, [r7, #2792] - 8023d96: f103 0208 add.w r2, r3, #8 ; 0x8 - 8023d9a: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8023d9e: f103 030c add.w r3, r3, #12 ; 0xc - 8023da2: 681b ldr r3, [r3, #0] - 8023da4: 6013 str r3, [r2, #0] - - tableauEtapes15[0] = etape14; - 8023da6: f8d7 2aec ldr.w r2, [r7, #2796] - 8023daa: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8023dae: f103 030c add.w r3, r3, #12 ; 0xc - 8023db2: 681b ldr r3, [r3, #0] - 8023db4: 6013 str r3, [r2, #0] - tableauEtapes15[1] = etape16; - 8023db6: f8d7 3aec ldr.w r3, [r7, #2796] - 8023dba: f103 0204 add.w r2, r3, #4 ; 0x4 - 8023dbe: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8023dc2: f103 0314 add.w r3, r3, #20 ; 0x14 - 8023dc6: 681b ldr r3, [r3, #0] - 8023dc8: 6013 str r3, [r2, #0] - - tableauEtapes16[0] = etape15; - 8023dca: f8d7 2af0 ldr.w r2, [r7, #2800] - 8023dce: f507 6327 add.w r3, r7, #2672 ; 0xa70 - 8023dd2: 681b ldr r3, [r3, #0] - 8023dd4: 6013 str r3, [r2, #0] - tableauEtapes16[1] = etape17; - 8023dd6: f8d7 3af0 ldr.w r3, [r7, #2800] - 8023dda: f103 0204 add.w r2, r3, #4 ; 0x4 - 8023dde: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8023de2: f103 0318 add.w r3, r3, #24 ; 0x18 - 8023de6: 681b ldr r3, [r3, #0] - 8023de8: 6013 str r3, [r2, #0] - tableauEtapes16[2] = etape25; - 8023dea: f8d7 3af0 ldr.w r3, [r7, #2800] - 8023dee: f103 0208 add.w r2, r3, #8 ; 0x8 - 8023df2: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8023df6: f103 0318 add.w r3, r3, #24 ; 0x18 - 8023dfa: 681b ldr r3, [r3, #0] - 8023dfc: 6013 str r3, [r2, #0] - - tableauEtapes17[0] = etape16; - 8023dfe: f8d7 2af4 ldr.w r2, [r7, #2804] - 8023e02: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8023e06: f103 0314 add.w r3, r3, #20 ; 0x14 - 8023e0a: 681b ldr r3, [r3, #0] - 8023e0c: 6013 str r3, [r2, #0] - tableauEtapes17[1] = etape18; - 8023e0e: f8d7 3af4 ldr.w r3, [r7, #2804] - 8023e12: f103 0204 add.w r2, r3, #4 ; 0x4 - 8023e16: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8023e1a: f103 031c add.w r3, r3, #28 ; 0x1c - 8023e1e: 681b ldr r3, [r3, #0] - 8023e20: 6013 str r3, [r2, #0] - tableauEtapes17[2] = etape24; - 8023e22: f8d7 3af4 ldr.w r3, [r7, #2804] - 8023e26: f103 0208 add.w r2, r3, #8 ; 0x8 - 8023e2a: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8023e2e: f103 0314 add.w r3, r3, #20 ; 0x14 - 8023e32: 681b ldr r3, [r3, #0] - 8023e34: 6013 str r3, [r2, #0] - - tableauEtapes18[0] = etape17; - 8023e36: f8d7 2af8 ldr.w r2, [r7, #2808] - 8023e3a: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8023e3e: f103 0318 add.w r3, r3, #24 ; 0x18 - 8023e42: 681b ldr r3, [r3, #0] - 8023e44: 6013 str r3, [r2, #0] - tableauEtapes18[1] = etape26; - 8023e46: f8d7 3af8 ldr.w r3, [r7, #2808] - 8023e4a: f103 0204 add.w r2, r3, #4 ; 0x4 - 8023e4e: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8023e52: f103 031c add.w r3, r3, #28 ; 0x1c - 8023e56: 681b ldr r3, [r3, #0] - 8023e58: 6013 str r3, [r2, #0] - - tableauEtapes19[0] = etape4; - 8023e5a: f8d7 2afc ldr.w r2, [r7, #2812] - 8023e5e: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8023e62: f103 0304 add.w r3, r3, #4 ; 0x4 - 8023e66: 681b ldr r3, [r3, #0] - 8023e68: 6013 str r3, [r2, #0] - tableauEtapes19[1] = etape20; - 8023e6a: f8d7 3afc ldr.w r3, [r7, #2812] - 8023e6e: f103 0204 add.w r2, r3, #4 ; 0x4 - 8023e72: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8023e76: f103 0304 add.w r3, r3, #4 ; 0x4 - 8023e7a: 681b ldr r3, [r3, #0] - 8023e7c: 6013 str r3, [r2, #0] - tableauEtapes19[2] = etape28; - 8023e7e: f8d7 3afc ldr.w r3, [r7, #2812] - 8023e82: f103 0208 add.w r2, r3, #8 ; 0x8 - 8023e86: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8023e8a: f103 0304 add.w r3, r3, #4 ; 0x4 - 8023e8e: 681b ldr r3, [r3, #0] - 8023e90: 6013 str r3, [r2, #0] - tableauEtapes19[3] = etape29; - 8023e92: f8d7 3afc ldr.w r3, [r7, #2812] - 8023e96: f103 020c add.w r2, r3, #12 ; 0xc - 8023e9a: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8023e9e: f103 0308 add.w r3, r3, #8 ; 0x8 - 8023ea2: 681b ldr r3, [r3, #0] - 8023ea4: 6013 str r3, [r2, #0] - - tableauEtapes20[0] = etape8; - 8023ea6: f8d7 2b00 ldr.w r2, [r7, #2816] - 8023eaa: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8023eae: f103 0314 add.w r3, r3, #20 ; 0x14 - 8023eb2: 681b ldr r3, [r3, #0] - 8023eb4: 6013 str r3, [r2, #0] - tableauEtapes20[1] = etape9; - 8023eb6: f8d7 3b00 ldr.w r3, [r7, #2816] - 8023eba: f103 0204 add.w r2, r3, #4 ; 0x4 - 8023ebe: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8023ec2: f103 0318 add.w r3, r3, #24 ; 0x18 - 8023ec6: 681b ldr r3, [r3, #0] - 8023ec8: 6013 str r3, [r2, #0] - tableauEtapes20[2] = etape19; - 8023eca: f8d7 3b00 ldr.w r3, [r7, #2816] - 8023ece: f103 0208 add.w r2, r3, #8 ; 0x8 - 8023ed2: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8023ed6: 681b ldr r3, [r3, #0] - 8023ed8: 6013 str r3, [r2, #0] - tableauEtapes20[3] = etape21; - 8023eda: f8d7 3b00 ldr.w r3, [r7, #2816] - 8023ede: f103 020c add.w r2, r3, #12 ; 0xc - 8023ee2: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8023ee6: f103 0308 add.w r3, r3, #8 ; 0x8 - 8023eea: 681b ldr r3, [r3, #0] - 8023eec: 6013 str r3, [r2, #0] - tableauEtapes20[4] = etape29; - 8023eee: f8d7 3b00 ldr.w r3, [r7, #2816] - 8023ef2: f103 0210 add.w r2, r3, #16 ; 0x10 - 8023ef6: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8023efa: f103 0308 add.w r3, r3, #8 ; 0x8 - 8023efe: 681b ldr r3, [r3, #0] - 8023f00: 6013 str r3, [r2, #0] - - tableauEtapes21[0] = etape7; - 8023f02: f8d7 2b04 ldr.w r2, [r7, #2820] - 8023f06: f507 6325 add.w r3, r7, #2640 ; 0xa50 - 8023f0a: 681b ldr r3, [r3, #0] - 8023f0c: 6013 str r3, [r2, #0] - tableauEtapes21[1] = etape8; - 8023f0e: f8d7 3b04 ldr.w r3, [r7, #2820] - 8023f12: f103 0204 add.w r2, r3, #4 ; 0x4 - 8023f16: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8023f1a: f103 0314 add.w r3, r3, #20 ; 0x14 - 8023f1e: 681b ldr r3, [r3, #0] - 8023f20: 6013 str r3, [r2, #0] - tableauEtapes21[2] = etape9; - 8023f22: f8d7 3b04 ldr.w r3, [r7, #2820] - 8023f26: f103 0208 add.w r2, r3, #8 ; 0x8 - 8023f2a: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8023f2e: f103 0318 add.w r3, r3, #24 ; 0x18 - 8023f32: 681b ldr r3, [r3, #0] - 8023f34: 6013 str r3, [r2, #0] - tableauEtapes21[3] = etape20; - 8023f36: f8d7 3b04 ldr.w r3, [r7, #2820] - 8023f3a: f103 020c add.w r2, r3, #12 ; 0xc - 8023f3e: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8023f42: f103 0304 add.w r3, r3, #4 ; 0x4 - 8023f46: 681b ldr r3, [r3, #0] - 8023f48: 6013 str r3, [r2, #0] - tableauEtapes21[4] = etape22; - 8023f4a: f8d7 3b04 ldr.w r3, [r7, #2820] - 8023f4e: f103 0210 add.w r2, r3, #16 ; 0x10 - 8023f52: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8023f56: f103 030c add.w r3, r3, #12 ; 0xc - 8023f5a: 681b ldr r3, [r3, #0] - 8023f5c: 6013 str r3, [r2, #0] - tableauEtapes21[5] = etape23; - 8023f5e: f8d7 3b04 ldr.w r3, [r7, #2820] - 8023f62: f103 0214 add.w r2, r3, #20 ; 0x14 - 8023f66: f507 6329 add.w r3, r7, #2704 ; 0xa90 - 8023f6a: 681b ldr r3, [r3, #0] - 8023f6c: 6013 str r3, [r2, #0] - - tableauEtapes22[0] = etape21; - 8023f6e: f8d7 2b08 ldr.w r2, [r7, #2824] - 8023f72: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8023f76: f103 0308 add.w r3, r3, #8 ; 0x8 - 8023f7a: 681b ldr r3, [r3, #0] - 8023f7c: 6013 str r3, [r2, #0] - tableauEtapes22[1] = etape23; - 8023f7e: f8d7 3b08 ldr.w r3, [r7, #2824] - 8023f82: f103 0204 add.w r2, r3, #4 ; 0x4 - 8023f86: f507 6329 add.w r3, r7, #2704 ; 0xa90 - 8023f8a: 681b ldr r3, [r3, #0] - 8023f8c: 6013 str r3, [r2, #0] - tableauEtapes22[2] = etape24; - 8023f8e: f8d7 3b08 ldr.w r3, [r7, #2824] - 8023f92: f103 0208 add.w r2, r3, #8 ; 0x8 - 8023f96: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8023f9a: f103 0314 add.w r3, r3, #20 ; 0x14 - 8023f9e: 681b ldr r3, [r3, #0] - 8023fa0: 6013 str r3, [r2, #0] - tableauEtapes22[3] = etape30; - 8023fa2: f8d7 3b08 ldr.w r3, [r7, #2824] - 8023fa6: f103 020c add.w r2, r3, #12 ; 0xc - 8023faa: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8023fae: f103 030c add.w r3, r3, #12 ; 0xc - 8023fb2: 681b ldr r3, [r3, #0] - 8023fb4: 6013 str r3, [r2, #0] - - tableauEtapes23[0] = etape9; - 8023fb6: f8d7 2b0c ldr.w r2, [r7, #2828] - 8023fba: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8023fbe: f103 0318 add.w r3, r3, #24 ; 0x18 - 8023fc2: 681b ldr r3, [r3, #0] - 8023fc4: 6013 str r3, [r2, #0] - tableauEtapes23[1] = etape21; - 8023fc6: f8d7 3b0c ldr.w r3, [r7, #2828] - 8023fca: f103 0204 add.w r2, r3, #4 ; 0x4 - 8023fce: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8023fd2: f103 0308 add.w r3, r3, #8 ; 0x8 - 8023fd6: 681b ldr r3, [r3, #0] - 8023fd8: 6013 str r3, [r2, #0] - tableauEtapes23[2] = etape22; - 8023fda: f8d7 3b0c ldr.w r3, [r7, #2828] - 8023fde: f103 0208 add.w r2, r3, #8 ; 0x8 - 8023fe2: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8023fe6: f103 030c add.w r3, r3, #12 ; 0xc - 8023fea: 681b ldr r3, [r3, #0] - 8023fec: 6013 str r3, [r2, #0] - tableauEtapes23[3] = etape27; - 8023fee: f8d7 3b0c ldr.w r3, [r7, #2828] - 8023ff2: f103 020c add.w r2, r3, #12 ; 0xc - 8023ff6: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8023ffa: 681b ldr r3, [r3, #0] - 8023ffc: 6013 str r3, [r2, #0] - - tableauEtapes24[0] = etape17; - 8023ffe: f8d7 2b10 ldr.w r2, [r7, #2832] - 8024002: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8024006: f103 0318 add.w r3, r3, #24 ; 0x18 - 802400a: 681b ldr r3, [r3, #0] - 802400c: 6013 str r3, [r2, #0] - tableauEtapes24[1] = etape22; - 802400e: f8d7 3b10 ldr.w r3, [r7, #2832] - 8024012: f103 0204 add.w r2, r3, #4 ; 0x4 - 8024016: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 802401a: f103 030c add.w r3, r3, #12 ; 0xc - 802401e: 681b ldr r3, [r3, #0] - 8024020: 6013 str r3, [r2, #0] - tableauEtapes24[2] = etape25; - 8024022: f8d7 3b10 ldr.w r3, [r7, #2832] - 8024026: f103 0208 add.w r2, r3, #8 ; 0x8 - 802402a: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 802402e: f103 0318 add.w r3, r3, #24 ; 0x18 - 8024032: 681b ldr r3, [r3, #0] - 8024034: 6013 str r3, [r2, #0] - tableauEtapes24[3] = etape30; - 8024036: f8d7 3b10 ldr.w r3, [r7, #2832] - 802403a: f103 020c add.w r2, r3, #12 ; 0xc - 802403e: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8024042: f103 030c add.w r3, r3, #12 ; 0xc - 8024046: 681b ldr r3, [r3, #0] - 8024048: 6013 str r3, [r2, #0] - - tableauEtapes25[0] = etape16; - 802404a: f8d7 2b14 ldr.w r2, [r7, #2836] - 802404e: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8024052: f103 0314 add.w r3, r3, #20 ; 0x14 - 8024056: 681b ldr r3, [r3, #0] - 8024058: 6013 str r3, [r2, #0] - tableauEtapes25[1] = etape24; - 802405a: f8d7 3b14 ldr.w r3, [r7, #2836] - 802405e: f103 0204 add.w r2, r3, #4 ; 0x4 - 8024062: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8024066: f103 0314 add.w r3, r3, #20 ; 0x14 - 802406a: 681b ldr r3, [r3, #0] - 802406c: 6013 str r3, [r2, #0] - tableauEtapes25[2] = etape27; - 802406e: f8d7 3b14 ldr.w r3, [r7, #2836] - 8024072: f103 0208 add.w r2, r3, #8 ; 0x8 - 8024076: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 802407a: 681b ldr r3, [r3, #0] - 802407c: 6013 str r3, [r2, #0] - - tableauEtapes26[0] = etape18; - 802407e: f8d7 2b18 ldr.w r2, [r7, #2840] - 8024082: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8024086: f103 031c add.w r3, r3, #28 ; 0x1c - 802408a: 681b ldr r3, [r3, #0] - 802408c: 6013 str r3, [r2, #0] - tableauEtapes26[1] = etape27; - 802408e: f8d7 3b18 ldr.w r3, [r7, #2840] - 8024092: f103 0204 add.w r2, r3, #4 ; 0x4 - 8024096: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 802409a: 681b ldr r3, [r3, #0] - 802409c: 6013 str r3, [r2, #0] - - tableauEtapes27[0] = etape23; - 802409e: f8d7 2b1c ldr.w r2, [r7, #2844] - 80240a2: f507 6329 add.w r3, r7, #2704 ; 0xa90 - 80240a6: 681b ldr r3, [r3, #0] - 80240a8: 6013 str r3, [r2, #0] - tableauEtapes27[1] = etape25; - 80240aa: f8d7 3b1c ldr.w r3, [r7, #2844] - 80240ae: f103 0204 add.w r2, r3, #4 ; 0x4 - 80240b2: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 80240b6: f103 0318 add.w r3, r3, #24 ; 0x18 - 80240ba: 681b ldr r3, [r3, #0] - 80240bc: 6013 str r3, [r2, #0] - tableauEtapes27[2] = etape26; - 80240be: f8d7 3b1c ldr.w r3, [r7, #2844] - 80240c2: f103 0208 add.w r2, r3, #8 ; 0x8 - 80240c6: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 80240ca: f103 031c add.w r3, r3, #28 ; 0x1c - 80240ce: 681b ldr r3, [r3, #0] - 80240d0: 6013 str r3, [r2, #0] - - tableauEtapes28[0] = etape0; - 80240d2: f8d7 2b20 ldr.w r2, [r7, #2848] - 80240d6: f507 6322 add.w r3, r7, #2592 ; 0xa20 - 80240da: f103 0314 add.w r3, r3, #20 ; 0x14 - 80240de: 681b ldr r3, [r3, #0] - 80240e0: 6013 str r3, [r2, #0] - tableauEtapes28[1] = etape19; - 80240e2: f8d7 3b20 ldr.w r3, [r7, #2848] - 80240e6: f103 0204 add.w r2, r3, #4 ; 0x4 - 80240ea: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 80240ee: 681b ldr r3, [r3, #0] - 80240f0: 6013 str r3, [r2, #0] - - tableauEtapes29[0] = etape4; - 80240f2: f8d7 2b24 ldr.w r2, [r7, #2852] - 80240f6: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 80240fa: f103 0304 add.w r3, r3, #4 ; 0x4 - 80240fe: 681b ldr r3, [r3, #0] - 8024100: 6013 str r3, [r2, #0] - tableauEtapes29[1] = etape5; - 8024102: f8d7 3b24 ldr.w r3, [r7, #2852] - 8024106: f103 0204 add.w r2, r3, #4 ; 0x4 - 802410a: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 802410e: f103 0308 add.w r3, r3, #8 ; 0x8 - 8024112: 681b ldr r3, [r3, #0] - 8024114: 6013 str r3, [r2, #0] - tableauEtapes29[2] = etape6; - 8024116: f8d7 3b24 ldr.w r3, [r7, #2852] - 802411a: f103 0208 add.w r2, r3, #8 ; 0x8 - 802411e: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8024122: f103 030c add.w r3, r3, #12 ; 0xc - 8024126: 681b ldr r3, [r3, #0] - 8024128: 6013 str r3, [r2, #0] - tableauEtapes29[3] = etape19; - 802412a: f8d7 3b24 ldr.w r3, [r7, #2852] - 802412e: f103 020c add.w r2, r3, #12 ; 0xc - 8024132: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8024136: 681b ldr r3, [r3, #0] - 8024138: 6013 str r3, [r2, #0] - tableauEtapes29[4] = etape20; - 802413a: f8d7 3b24 ldr.w r3, [r7, #2852] - 802413e: f103 0210 add.w r2, r3, #16 ; 0x10 - 8024142: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8024146: f103 0304 add.w r3, r3, #4 ; 0x4 - 802414a: 681b ldr r3, [r3, #0] - 802414c: 6013 str r3, [r2, #0] - - tableauEtapes30[0] = etape11; - 802414e: f8d7 2b28 ldr.w r2, [r7, #2856] - 8024152: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8024156: 681b ldr r3, [r3, #0] - 8024158: 6013 str r3, [r2, #0] - tableauEtapes30[1] = etape12; - 802415a: f8d7 3b28 ldr.w r3, [r7, #2856] - 802415e: f103 0204 add.w r2, r3, #4 ; 0x4 - 8024162: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8024166: f103 0304 add.w r3, r3, #4 ; 0x4 - 802416a: 681b ldr r3, [r3, #0] - 802416c: 6013 str r3, [r2, #0] - tableauEtapes30[2] = etape13; - 802416e: f8d7 3b28 ldr.w r3, [r7, #2856] - 8024172: f103 0208 add.w r2, r3, #8 ; 0x8 - 8024176: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 802417a: f103 0308 add.w r3, r3, #8 ; 0x8 - 802417e: 681b ldr r3, [r3, #0] - 8024180: 6013 str r3, [r2, #0] - tableauEtapes30[3] = etape14; - 8024182: f8d7 3b28 ldr.w r3, [r7, #2856] - 8024186: f103 020c add.w r2, r3, #12 ; 0xc - 802418a: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 802418e: f103 030c add.w r3, r3, #12 ; 0xc - 8024192: 681b ldr r3, [r3, #0] - 8024194: 6013 str r3, [r2, #0] - tableauEtapes30[4] = etape22; - 8024196: f8d7 3b28 ldr.w r3, [r7, #2856] - 802419a: f103 0210 add.w r2, r3, #16 ; 0x10 - 802419e: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 80241a2: f103 030c add.w r3, r3, #12 ; 0xc - 80241a6: 681b ldr r3, [r3, #0] - 80241a8: 6013 str r3, [r2, #0] - tableauEtapes30[5] = etape24; - 80241aa: f8d7 3b28 ldr.w r3, [r7, #2856] - 80241ae: f103 0214 add.w r2, r3, #20 ; 0x14 - 80241b2: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 80241b6: f103 0314 add.w r3, r3, #20 ; 0x14 - 80241ba: 681b ldr r3, [r3, #0] - 80241bc: 6013 str r3, [r2, #0] - - etape0->setChildren(tableauEtapes0); - 80241be: f507 6322 add.w r3, r7, #2592 ; 0xa20 - 80241c2: f103 0314 add.w r3, r3, #20 ; 0x14 - 80241c6: f507 622b add.w r2, r7, #2736 ; 0xab0 - 80241ca: 6818 ldr r0, [r3, #0] - 80241cc: 6811 ldr r1, [r2, #0] - 80241ce: f7f4 ffef bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape1->setChildren(tableauEtapes1); - 80241d2: f507 6322 add.w r3, r7, #2592 ; 0xa20 - 80241d6: f103 0318 add.w r3, r3, #24 ; 0x18 - 80241da: f507 622a add.w r2, r7, #2720 ; 0xaa0 - 80241de: f102 0214 add.w r2, r2, #20 ; 0x14 - 80241e2: 6818 ldr r0, [r3, #0] - 80241e4: 6811 ldr r1, [r2, #0] - 80241e6: f7f4 ffe3 bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape2->setChildren(tableauEtapes2); - 80241ea: f507 6322 add.w r3, r7, #2592 ; 0xa20 - 80241ee: f103 031c add.w r3, r3, #28 ; 0x1c - 80241f2: f507 622a add.w r2, r7, #2720 ; 0xaa0 - 80241f6: f102 0218 add.w r2, r2, #24 ; 0x18 - 80241fa: 6818 ldr r0, [r3, #0] - 80241fc: 6811 ldr r1, [r2, #0] - 80241fe: f7f4 ffd7 bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape3->setChildren(tableauEtapes3); - 8024202: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8024206: f507 622a add.w r2, r7, #2720 ; 0xaa0 - 802420a: f102 021c add.w r2, r2, #28 ; 0x1c - 802420e: 6818 ldr r0, [r3, #0] - 8024210: 6811 ldr r1, [r2, #0] - 8024212: f7f4 ffcd bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape4->setChildren(tableauEtapes4); - 8024216: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 802421a: f103 0304 add.w r3, r3, #4 ; 0x4 - 802421e: f507 622c add.w r2, r7, #2752 ; 0xac0 - 8024222: 6818 ldr r0, [r3, #0] - 8024224: 6811 ldr r1, [r2, #0] - 8024226: f7f4 ffc3 bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape5->setChildren(tableauEtapes5); - 802422a: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 802422e: f103 0308 add.w r3, r3, #8 ; 0x8 - 8024232: f507 622c add.w r2, r7, #2752 ; 0xac0 - 8024236: f102 0204 add.w r2, r2, #4 ; 0x4 - 802423a: 6818 ldr r0, [r3, #0] - 802423c: 6811 ldr r1, [r2, #0] - 802423e: f7f4 ffb7 bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape6->setChildren(tableauEtapes6); - 8024242: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8024246: f103 030c add.w r3, r3, #12 ; 0xc - 802424a: f507 622c add.w r2, r7, #2752 ; 0xac0 - 802424e: f102 0208 add.w r2, r2, #8 ; 0x8 - 8024252: 6818 ldr r0, [r3, #0] - 8024254: 6811 ldr r1, [r2, #0] - 8024256: f7f4 ffab bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape7->setChildren(tableauEtapes7); - 802425a: f507 6325 add.w r3, r7, #2640 ; 0xa50 - 802425e: f507 622c add.w r2, r7, #2752 ; 0xac0 - 8024262: f102 020c add.w r2, r2, #12 ; 0xc - 8024266: 6818 ldr r0, [r3, #0] - 8024268: 6811 ldr r1, [r2, #0] - 802426a: f7f4 ffa1 bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape8->setChildren(tableauEtapes8); - 802426e: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8024272: f103 0314 add.w r3, r3, #20 ; 0x14 - 8024276: f507 622d add.w r2, r7, #2768 ; 0xad0 - 802427a: 6818 ldr r0, [r3, #0] - 802427c: 6811 ldr r1, [r2, #0] - 802427e: f7f4 ff97 bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape9->setChildren(tableauEtapes9); - 8024282: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8024286: f103 0318 add.w r3, r3, #24 ; 0x18 - 802428a: f507 622c add.w r2, r7, #2752 ; 0xac0 - 802428e: f102 0214 add.w r2, r2, #20 ; 0x14 - 8024292: 6818 ldr r0, [r3, #0] - 8024294: 6811 ldr r1, [r2, #0] - 8024296: f7f4 ff8b bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape10->setChildren(tableauEtapes10); - 802429a: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 802429e: f103 031c add.w r3, r3, #28 ; 0x1c - 80242a2: f507 622c add.w r2, r7, #2752 ; 0xac0 - 80242a6: f102 0218 add.w r2, r2, #24 ; 0x18 - 80242aa: 6818 ldr r0, [r3, #0] - 80242ac: 6811 ldr r1, [r2, #0] - 80242ae: f7f4 ff7f bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape11->setChildren(tableauEtapes11); - 80242b2: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 80242b6: 6818 ldr r0, [r3, #0] - 80242b8: f8d7 1adc ldr.w r1, [r7, #2780] - 80242bc: f7f4 ff78 bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape12->setChildren(tableauEtapes12); - 80242c0: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 80242c4: f103 0304 add.w r3, r3, #4 ; 0x4 - 80242c8: 6818 ldr r0, [r3, #0] - 80242ca: f8d7 1ae0 ldr.w r1, [r7, #2784] - 80242ce: f7f4 ff6f bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape13->setChildren(tableauEtapes13); - 80242d2: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 80242d6: f103 0308 add.w r3, r3, #8 ; 0x8 - 80242da: 6818 ldr r0, [r3, #0] - 80242dc: f8d7 1ae4 ldr.w r1, [r7, #2788] - 80242e0: f7f4 ff66 bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape14->setChildren(tableauEtapes14); - 80242e4: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 80242e8: f103 030c add.w r3, r3, #12 ; 0xc - 80242ec: 6818 ldr r0, [r3, #0] - 80242ee: f8d7 1ae8 ldr.w r1, [r7, #2792] - 80242f2: f7f4 ff5d bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape15->setChildren(tableauEtapes15); - 80242f6: f507 6327 add.w r3, r7, #2672 ; 0xa70 - 80242fa: 6818 ldr r0, [r3, #0] - 80242fc: f8d7 1aec ldr.w r1, [r7, #2796] - 8024300: f7f4 ff56 bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape16->setChildren(tableauEtapes16); - 8024304: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8024308: f103 0314 add.w r3, r3, #20 ; 0x14 - 802430c: 6818 ldr r0, [r3, #0] - 802430e: f8d7 1af0 ldr.w r1, [r7, #2800] - 8024312: f7f4 ff4d bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape17->setChildren(tableauEtapes17); - 8024316: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 802431a: f103 0318 add.w r3, r3, #24 ; 0x18 - 802431e: 6818 ldr r0, [r3, #0] - 8024320: f8d7 1af4 ldr.w r1, [r7, #2804] - 8024324: f7f4 ff44 bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape18->setChildren(tableauEtapes18); - 8024328: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 802432c: f103 031c add.w r3, r3, #28 ; 0x1c - 8024330: 6818 ldr r0, [r3, #0] - 8024332: f8d7 1af8 ldr.w r1, [r7, #2808] - 8024336: f7f4 ff3b bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape19->setChildren(tableauEtapes19); - 802433a: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 802433e: 6818 ldr r0, [r3, #0] - 8024340: f8d7 1afc ldr.w r1, [r7, #2812] - 8024344: f7f4 ff34 bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape20->setChildren(tableauEtapes20); - 8024348: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 802434c: f103 0304 add.w r3, r3, #4 ; 0x4 - 8024350: 6818 ldr r0, [r3, #0] - 8024352: f8d7 1b00 ldr.w r1, [r7, #2816] - 8024356: f7f4 ff2b bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape21->setChildren(tableauEtapes21); - 802435a: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 802435e: f103 0308 add.w r3, r3, #8 ; 0x8 - 8024362: 6818 ldr r0, [r3, #0] - 8024364: f8d7 1b04 ldr.w r1, [r7, #2820] - 8024368: f7f4 ff22 bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape22->setChildren(tableauEtapes22); - 802436c: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8024370: f103 030c add.w r3, r3, #12 ; 0xc - 8024374: 6818 ldr r0, [r3, #0] - 8024376: f8d7 1b08 ldr.w r1, [r7, #2824] - 802437a: f7f4 ff19 bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape23->setChildren(tableauEtapes23); - 802437e: f507 6329 add.w r3, r7, #2704 ; 0xa90 - 8024382: 6818 ldr r0, [r3, #0] - 8024384: f8d7 1b0c ldr.w r1, [r7, #2828] - 8024388: f7f4 ff12 bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape24->setChildren(tableauEtapes24); - 802438c: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8024390: f103 0314 add.w r3, r3, #20 ; 0x14 - 8024394: 6818 ldr r0, [r3, #0] - 8024396: f8d7 1b10 ldr.w r1, [r7, #2832] - 802439a: f7f4 ff09 bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape25->setChildren(tableauEtapes25); - 802439e: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 80243a2: f103 0318 add.w r3, r3, #24 ; 0x18 - 80243a6: 6818 ldr r0, [r3, #0] - 80243a8: f8d7 1b14 ldr.w r1, [r7, #2836] - 80243ac: f7f4 ff00 bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape26->setChildren(tableauEtapes26); - 80243b0: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 80243b4: f103 031c add.w r3, r3, #28 ; 0x1c - 80243b8: 6818 ldr r0, [r3, #0] - 80243ba: f8d7 1b18 ldr.w r1, [r7, #2840] - 80243be: f7f4 fef7 bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape27->setChildren(tableauEtapes27); - 80243c2: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 80243c6: 6818 ldr r0, [r3, #0] - 80243c8: f8d7 1b1c ldr.w r1, [r7, #2844] - 80243cc: f7f4 fef0 bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape28->setChildren(tableauEtapes28); - 80243d0: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 80243d4: f103 0304 add.w r3, r3, #4 ; 0x4 - 80243d8: 6818 ldr r0, [r3, #0] - 80243da: f8d7 1b20 ldr.w r1, [r7, #2848] - 80243de: f7f4 fee7 bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape29->setChildren(tableauEtapes29); - 80243e2: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 80243e6: f103 0308 add.w r3, r3, #8 ; 0x8 - 80243ea: 6818 ldr r0, [r3, #0] - 80243ec: f8d7 1b24 ldr.w r1, [r7, #2852] - 80243f0: f7f4 fede bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape30->setChildren(tableauEtapes30); - 80243f4: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 80243f8: f103 030c add.w r3, r3, #12 ; 0xc - 80243fc: 6818 ldr r0, [r3, #0] - 80243fe: f8d7 1b28 ldr.w r1, [r7, #2856] - 8024402: f7f4 fed5 bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - - Etape** tableauEtapesTotal = new Etape*[NOMBRE_ETAPES]; - 8024406: f04f 007c mov.w r0, #124 ; 0x7c - 802440a: f7f3 f8f1 bl 80175f0 <_Znaj> - 802440e: 4603 mov r3, r0 - 8024410: f8c7 3b2c str.w r3, [r7, #2860] - tableauEtapesTotal[0] = etape0; - 8024414: f8d7 2b2c ldr.w r2, [r7, #2860] - 8024418: f507 6322 add.w r3, r7, #2592 ; 0xa20 - 802441c: f103 0314 add.w r3, r3, #20 ; 0x14 - 8024420: 681b ldr r3, [r3, #0] - 8024422: 6013 str r3, [r2, #0] - tableauEtapesTotal[1] = etape1; - 8024424: f8d7 3b2c ldr.w r3, [r7, #2860] - 8024428: f103 0204 add.w r2, r3, #4 ; 0x4 - 802442c: f507 6322 add.w r3, r7, #2592 ; 0xa20 - 8024430: f103 0318 add.w r3, r3, #24 ; 0x18 - 8024434: 681b ldr r3, [r3, #0] - 8024436: 6013 str r3, [r2, #0] - tableauEtapesTotal[2] = etape2; - 8024438: f8d7 3b2c ldr.w r3, [r7, #2860] - 802443c: f103 0208 add.w r2, r3, #8 ; 0x8 - 8024440: f507 6322 add.w r3, r7, #2592 ; 0xa20 - 8024444: f103 031c add.w r3, r3, #28 ; 0x1c - 8024448: 681b ldr r3, [r3, #0] - 802444a: 6013 str r3, [r2, #0] - tableauEtapesTotal[3] = etape3; - 802444c: f8d7 3b2c ldr.w r3, [r7, #2860] - 8024450: f103 020c add.w r2, r3, #12 ; 0xc - 8024454: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8024458: 681b ldr r3, [r3, #0] - 802445a: 6013 str r3, [r2, #0] - tableauEtapesTotal[4] = etape4; - 802445c: f8d7 3b2c ldr.w r3, [r7, #2860] - 8024460: f103 0210 add.w r2, r3, #16 ; 0x10 - 8024464: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8024468: f103 0304 add.w r3, r3, #4 ; 0x4 - 802446c: 681b ldr r3, [r3, #0] - 802446e: 6013 str r3, [r2, #0] - tableauEtapesTotal[5] = etape5; - 8024470: f8d7 3b2c ldr.w r3, [r7, #2860] - 8024474: f103 0214 add.w r2, r3, #20 ; 0x14 - 8024478: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 802447c: f103 0308 add.w r3, r3, #8 ; 0x8 - 8024480: 681b ldr r3, [r3, #0] - 8024482: 6013 str r3, [r2, #0] - tableauEtapesTotal[6] = etape6; - 8024484: f8d7 3b2c ldr.w r3, [r7, #2860] - 8024488: f103 0218 add.w r2, r3, #24 ; 0x18 - 802448c: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8024490: f103 030c add.w r3, r3, #12 ; 0xc - 8024494: 681b ldr r3, [r3, #0] - 8024496: 6013 str r3, [r2, #0] - tableauEtapesTotal[7] = etape7; - 8024498: f8d7 3b2c ldr.w r3, [r7, #2860] - 802449c: f103 021c add.w r2, r3, #28 ; 0x1c - 80244a0: f507 6325 add.w r3, r7, #2640 ; 0xa50 - 80244a4: 681b ldr r3, [r3, #0] - 80244a6: 6013 str r3, [r2, #0] - tableauEtapesTotal[8] = etape8; - 80244a8: f8d7 3b2c ldr.w r3, [r7, #2860] - 80244ac: f103 0220 add.w r2, r3, #32 ; 0x20 - 80244b0: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 80244b4: f103 0314 add.w r3, r3, #20 ; 0x14 - 80244b8: 681b ldr r3, [r3, #0] - 80244ba: 6013 str r3, [r2, #0] - tableauEtapesTotal[9] = etape9; - 80244bc: f8d7 3b2c ldr.w r3, [r7, #2860] - 80244c0: f103 0224 add.w r2, r3, #36 ; 0x24 - 80244c4: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 80244c8: f103 0318 add.w r3, r3, #24 ; 0x18 - 80244cc: 681b ldr r3, [r3, #0] - 80244ce: 6013 str r3, [r2, #0] - tableauEtapesTotal[10] = etape10; - 80244d0: f8d7 3b2c ldr.w r3, [r7, #2860] - 80244d4: f103 0228 add.w r2, r3, #40 ; 0x28 - 80244d8: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 80244dc: f103 031c add.w r3, r3, #28 ; 0x1c - 80244e0: 681b ldr r3, [r3, #0] - 80244e2: 6013 str r3, [r2, #0] - tableauEtapesTotal[11] = etape11; - 80244e4: f8d7 3b2c ldr.w r3, [r7, #2860] - 80244e8: f103 022c add.w r2, r3, #44 ; 0x2c - 80244ec: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 80244f0: 681b ldr r3, [r3, #0] - 80244f2: 6013 str r3, [r2, #0] - tableauEtapesTotal[12] = etape12; - 80244f4: f8d7 3b2c ldr.w r3, [r7, #2860] - 80244f8: f103 0230 add.w r2, r3, #48 ; 0x30 - 80244fc: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8024500: f103 0304 add.w r3, r3, #4 ; 0x4 - 8024504: 681b ldr r3, [r3, #0] - 8024506: 6013 str r3, [r2, #0] - tableauEtapesTotal[13] = etape13; - 8024508: f8d7 3b2c ldr.w r3, [r7, #2860] - 802450c: f103 0234 add.w r2, r3, #52 ; 0x34 - 8024510: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8024514: f103 0308 add.w r3, r3, #8 ; 0x8 - 8024518: 681b ldr r3, [r3, #0] - 802451a: 6013 str r3, [r2, #0] - tableauEtapesTotal[14] = etape14; - 802451c: f8d7 3b2c ldr.w r3, [r7, #2860] - 8024520: f103 0238 add.w r2, r3, #56 ; 0x38 - 8024524: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8024528: f103 030c add.w r3, r3, #12 ; 0xc - 802452c: 681b ldr r3, [r3, #0] - 802452e: 6013 str r3, [r2, #0] - tableauEtapesTotal[15] = etape15; - 8024530: f8d7 3b2c ldr.w r3, [r7, #2860] - 8024534: f103 023c add.w r2, r3, #60 ; 0x3c - 8024538: f507 6327 add.w r3, r7, #2672 ; 0xa70 - 802453c: 681b ldr r3, [r3, #0] - 802453e: 6013 str r3, [r2, #0] - tableauEtapesTotal[16] = etape16; - 8024540: f8d7 3b2c ldr.w r3, [r7, #2860] - 8024544: f103 0240 add.w r2, r3, #64 ; 0x40 - 8024548: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 802454c: f103 0314 add.w r3, r3, #20 ; 0x14 - 8024550: 681b ldr r3, [r3, #0] - 8024552: 6013 str r3, [r2, #0] - tableauEtapesTotal[17] = etape17; - 8024554: f8d7 3b2c ldr.w r3, [r7, #2860] - 8024558: f103 0244 add.w r2, r3, #68 ; 0x44 - 802455c: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8024560: f103 0318 add.w r3, r3, #24 ; 0x18 - 8024564: 681b ldr r3, [r3, #0] - 8024566: 6013 str r3, [r2, #0] - tableauEtapesTotal[18] = etape18; - 8024568: f8d7 3b2c ldr.w r3, [r7, #2860] - 802456c: f103 0248 add.w r2, r3, #72 ; 0x48 - 8024570: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8024574: f103 031c add.w r3, r3, #28 ; 0x1c - 8024578: 681b ldr r3, [r3, #0] - 802457a: 6013 str r3, [r2, #0] - tableauEtapesTotal[19] = etape19; - 802457c: f8d7 3b2c ldr.w r3, [r7, #2860] - 8024580: f103 024c add.w r2, r3, #76 ; 0x4c - 8024584: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8024588: 681b ldr r3, [r3, #0] - 802458a: 6013 str r3, [r2, #0] - tableauEtapesTotal[20] = etape20; - 802458c: f8d7 3b2c ldr.w r3, [r7, #2860] - 8024590: f103 0250 add.w r2, r3, #80 ; 0x50 - 8024594: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8024598: f103 0304 add.w r3, r3, #4 ; 0x4 - 802459c: 681b ldr r3, [r3, #0] - 802459e: 6013 str r3, [r2, #0] - tableauEtapesTotal[21] = etape21; - 80245a0: f8d7 3b2c ldr.w r3, [r7, #2860] - 80245a4: f103 0254 add.w r2, r3, #84 ; 0x54 - 80245a8: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 80245ac: f103 0308 add.w r3, r3, #8 ; 0x8 - 80245b0: 681b ldr r3, [r3, #0] - 80245b2: 6013 str r3, [r2, #0] - tableauEtapesTotal[22] = etape22; - 80245b4: f8d7 3b2c ldr.w r3, [r7, #2860] - 80245b8: f103 0258 add.w r2, r3, #88 ; 0x58 - 80245bc: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 80245c0: f103 030c add.w r3, r3, #12 ; 0xc - 80245c4: 681b ldr r3, [r3, #0] - 80245c6: 6013 str r3, [r2, #0] - tableauEtapesTotal[23] = etape23; - 80245c8: f8d7 3b2c ldr.w r3, [r7, #2860] - 80245cc: f103 025c add.w r2, r3, #92 ; 0x5c - 80245d0: f507 6329 add.w r3, r7, #2704 ; 0xa90 - 80245d4: 681b ldr r3, [r3, #0] - 80245d6: 6013 str r3, [r2, #0] - tableauEtapesTotal[24] = etape24; - 80245d8: f8d7 3b2c ldr.w r3, [r7, #2860] - 80245dc: f103 0260 add.w r2, r3, #96 ; 0x60 - 80245e0: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 80245e4: f103 0314 add.w r3, r3, #20 ; 0x14 - 80245e8: 681b ldr r3, [r3, #0] - 80245ea: 6013 str r3, [r2, #0] - tableauEtapesTotal[25] = etape25; - 80245ec: f8d7 3b2c ldr.w r3, [r7, #2860] - 80245f0: f103 0264 add.w r2, r3, #100 ; 0x64 - 80245f4: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 80245f8: f103 0318 add.w r3, r3, #24 ; 0x18 - 80245fc: 681b ldr r3, [r3, #0] - 80245fe: 6013 str r3, [r2, #0] - tableauEtapesTotal[26] = etape26; - 8024600: f8d7 3b2c ldr.w r3, [r7, #2860] - 8024604: f103 0268 add.w r2, r3, #104 ; 0x68 - 8024608: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 802460c: f103 031c add.w r3, r3, #28 ; 0x1c - 8024610: 681b ldr r3, [r3, #0] - 8024612: 6013 str r3, [r2, #0] - tableauEtapesTotal[27] = etape27; - 8024614: f8d7 3b2c ldr.w r3, [r7, #2860] - 8024618: f103 026c add.w r2, r3, #108 ; 0x6c - 802461c: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8024620: 681b ldr r3, [r3, #0] - 8024622: 6013 str r3, [r2, #0] - tableauEtapesTotal[28] = etape28; - 8024624: f8d7 3b2c ldr.w r3, [r7, #2860] - 8024628: f103 0270 add.w r2, r3, #112 ; 0x70 - 802462c: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8024630: f103 0304 add.w r3, r3, #4 ; 0x4 - 8024634: 681b ldr r3, [r3, #0] - 8024636: 6013 str r3, [r2, #0] - tableauEtapesTotal[29] = etape29; - 8024638: f8d7 3b2c ldr.w r3, [r7, #2860] - 802463c: f103 0274 add.w r2, r3, #116 ; 0x74 - 8024640: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8024644: f103 0308 add.w r3, r3, #8 ; 0x8 - 8024648: 681b ldr r3, [r3, #0] - 802464a: 6013 str r3, [r2, #0] - tableauEtapesTotal[30] = etape30; - 802464c: f8d7 3b2c ldr.w r3, [r7, #2860] - 8024650: f103 0278 add.w r2, r3, #120 ; 0x78 - 8024654: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8024658: f103 030c add.w r3, r3, #12 ; 0xc - 802465c: 681b ldr r3, [r3, #0] - 802465e: 6013 str r3, [r2, #0] - - /// FIN KRABI-JUNIOR - #endif - - for(int i=0; i - tableauEtapesTotal[i]->computeChildDistances(); - 802466a: f8d7 3bd4 ldr.w r3, [r7, #3028] - 802466e: ea4f 0283 mov.w r2, r3, lsl #2 - 8024672: f8d7 3b2c ldr.w r3, [r7, #2860] - 8024676: 4413 add r3, r2 - 8024678: 681b ldr r3, [r3, #0] - 802467a: 4618 mov r0, r3 - 802467c: f7f4 fe92 bl 80193a4 <_ZN5Etape21computeChildDistancesEv> - tableauEtapesTotal[30] = etape30; - - /// FIN KRABI-JUNIOR - #endif - - for(int i=0; i - tableauEtapesTotal[i]->computeChildDistances(); - - this->dijkstra = new Dijkstra(tableauEtapesTotal, NOMBRE_ETAPES); - 8024694: f04f 0024 mov.w r0, #36 ; 0x24 - 8024698: f7f2 ff12 bl 80174c0 <_Znwj> - 802469c: 4603 mov r3, r0 - 802469e: f8c7 3110 str.w r3, [r7, #272] - 80246a2: f8d7 3110 ldr.w r3, [r7, #272] - 80246a6: 2b00 cmp r3, #0 - 80246a8: d00c beq.n 80246c4 <_ZN11StrategieV3C1Eb+0x34b4> - 80246aa: f8d7 0110 ldr.w r0, [r7, #272] - 80246ae: f8d7 1b2c ldr.w r1, [r7, #2860] - 80246b2: f04f 021f mov.w r2, #31 ; 0x1f - 80246b6: f7f4 f899 bl 80187ec <_ZN8DijkstraC1EPP5Etapei> - 80246ba: f8d7 2110 ldr.w r2, [r7, #272] - 80246be: f8c7 2114 str.w r2, [r7, #276] - 80246c2: e003 b.n 80246cc <_ZN11StrategieV3C1Eb+0x34bc> - 80246c4: f8d7 3110 ldr.w r3, [r7, #272] - 80246c8: f8c7 3114 str.w r3, [r7, #276] - 80246cc: f507 739c add.w r3, r7, #312 ; 0x138 - 80246d0: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80246d4: 681b ldr r3, [r3, #0] - 80246d6: f8d7 2114 ldr.w r2, [r7, #276] - 80246da: f8c3 277c str.w r2, [r3, #1916] - - this->tableauEtapes = tableauEtapesTotal; - 80246de: f507 739c add.w r3, r7, #312 ; 0x138 - 80246e2: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80246e6: 681a ldr r2, [r3, #0] - 80246e8: f8d7 3b2c ldr.w r3, [r7, #2860] - 80246ec: f8c2 3780 str.w r3, [r2, #1920] - this->tableauEtapes[0]->setParent(this->tableauEtapes[0]);// Evite de planter si on detecte dès la première boucle (dans le simu) - 80246f0: f507 739c add.w r3, r7, #312 ; 0x138 - 80246f4: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80246f8: 681b ldr r3, [r3, #0] - 80246fa: f8d3 3780 ldr.w r3, [r3, #1920] - 80246fe: 681a ldr r2, [r3, #0] - 8024700: f507 739c add.w r3, r7, #312 ; 0x138 - 8024704: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8024708: 681b ldr r3, [r3, #0] - 802470a: f8d3 3780 ldr.w r3, [r3, #1920] - 802470e: 681b ldr r3, [r3, #0] - 8024710: 4610 mov r0, r2 - 8024712: 4619 mov r1, r3 - 8024714: f7f4 fd32 bl 801917c <_ZN5Etape9setParentEPS_> - - dijkstra->setEtapeCourante(0); - 8024718: f507 739c add.w r3, r7, #312 ; 0x138 - 802471c: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8024720: 681b ldr r3, [r3, #0] - 8024722: f8d3 377c ldr.w r3, [r3, #1916] - 8024726: 4618 mov r0, r3 - 8024728: f04f 0100 mov.w r1, #0 ; 0x0 - 802472c: f7f4 f884 bl 8018838 <_ZN8Dijkstra16setEtapeCouranteEi> - // Fin code généré - // ########################################################################################### - -#ifdef KRABI_JR - // Deux côtés du feu terrain milieu côté départ - int* tableauEtapesLieesParFinirEtape3 = new int[1]; - 8024730: f04f 0004 mov.w r0, #4 ; 0x4 - 8024734: f7f2 ff5c bl 80175f0 <_Znaj> - 8024738: 4603 mov r3, r0 - 802473a: f8c7 3b30 str.w r3, [r7, #2864] - tableauEtapesLieesParFinirEtape3[0] = 20; - 802473e: f8d7 2b30 ldr.w r2, [r7, #2864] - 8024742: f04f 0314 mov.w r3, #20 ; 0x14 - 8024746: 6013 str r3, [r2, #0] - this->tableauEtapes[2]->setEtapesLieesParFinirEtape(tableauEtapesLieesParFinirEtape3); - 8024748: f507 739c add.w r3, r7, #312 ; 0x138 - 802474c: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8024750: 681b ldr r3, [r3, #0] - 8024752: f8d3 3780 ldr.w r3, [r3, #1920] - 8024756: f103 0308 add.w r3, r3, #8 ; 0x8 - 802475a: 681b ldr r3, [r3, #0] - 802475c: 4618 mov r0, r3 - 802475e: f8d7 1b30 ldr.w r1, [r7, #2864] - 8024762: f7f4 fdcd bl 8019300 <_ZN5Etape27setEtapesLieesParFinirEtapeEPi> - - int* tableauEtapesLieesParFinirEtape20 = new int[1]; - 8024766: f04f 0004 mov.w r0, #4 ; 0x4 - 802476a: f7f2 ff41 bl 80175f0 <_Znaj> - 802476e: 4603 mov r3, r0 - 8024770: f8c7 3b34 str.w r3, [r7, #2868] - tableauEtapesLieesParFinirEtape20[0] = 3; - 8024774: f8d7 2b34 ldr.w r2, [r7, #2868] - 8024778: f04f 0303 mov.w r3, #3 ; 0x3 - 802477c: 6013 str r3, [r2, #0] - this->tableauEtapes[19]->setEtapesLieesParFinirEtape(tableauEtapesLieesParFinirEtape20); - 802477e: f507 739c add.w r3, r7, #312 ; 0x138 - 8024782: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8024786: 681b ldr r3, [r3, #0] - 8024788: f8d3 3780 ldr.w r3, [r3, #1920] - 802478c: f103 034c add.w r3, r3, #76 ; 0x4c - 8024790: 681b ldr r3, [r3, #0] - 8024792: 4618 mov r0, r3 - 8024794: f8d7 1b34 ldr.w r1, [r7, #2868] - 8024798: f7f4 fdb2 bl 8019300 <_ZN5Etape27setEtapesLieesParFinirEtapeEPi> - - // Deux côtés du feu terrain bas côté départ - int* tableauEtapesLieesParFinirEtape21 = new int[1]; - 802479c: f04f 0004 mov.w r0, #4 ; 0x4 - 80247a0: f7f2 ff26 bl 80175f0 <_Znaj> - 80247a4: 4603 mov r3, r0 - 80247a6: f8c7 3b38 str.w r3, [r7, #2872] - tableauEtapesLieesParFinirEtape21[0] = 8; - 80247aa: f8d7 2b38 ldr.w r2, [r7, #2872] - 80247ae: f04f 0308 mov.w r3, #8 ; 0x8 - 80247b2: 6013 str r3, [r2, #0] - this->tableauEtapes[20]->setEtapesLieesParFinirEtape(tableauEtapesLieesParFinirEtape21); - 80247b4: f507 739c add.w r3, r7, #312 ; 0x138 - 80247b8: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80247bc: 681b ldr r3, [r3, #0] - 80247be: f8d3 3780 ldr.w r3, [r3, #1920] - 80247c2: f103 0350 add.w r3, r3, #80 ; 0x50 - 80247c6: 681b ldr r3, [r3, #0] - 80247c8: 4618 mov r0, r3 - 80247ca: f8d7 1b38 ldr.w r1, [r7, #2872] - 80247ce: f7f4 fd97 bl 8019300 <_ZN5Etape27setEtapesLieesParFinirEtapeEPi> - - int* tableauEtapesLieesParFinirEtape8 = new int[1]; - 80247d2: f04f 0004 mov.w r0, #4 ; 0x4 - 80247d6: f7f2 ff0b bl 80175f0 <_Znaj> - 80247da: 4603 mov r3, r0 - 80247dc: f8c7 3b3c str.w r3, [r7, #2876] - tableauEtapesLieesParFinirEtape8[0] = 21; - 80247e0: f8d7 2b3c ldr.w r2, [r7, #2876] - 80247e4: f04f 0315 mov.w r3, #21 ; 0x15 - 80247e8: 6013 str r3, [r2, #0] - this->tableauEtapes[7]->setEtapesLieesParFinirEtape(tableauEtapesLieesParFinirEtape8); - 80247ea: f507 739c add.w r3, r7, #312 ; 0x138 - 80247ee: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80247f2: 681b ldr r3, [r3, #0] - 80247f4: f8d3 3780 ldr.w r3, [r3, #1920] - 80247f8: f103 031c add.w r3, r3, #28 ; 0x1c - 80247fc: 681b ldr r3, [r3, #0] - 80247fe: 4618 mov r0, r3 - 8024800: f8d7 1b3c ldr.w r1, [r7, #2876] - 8024804: f7f4 fd7c bl 8019300 <_ZN5Etape27setEtapesLieesParFinirEtapeEPi> - - // Deux côtés du feu terrain bas côté adversaire -//Lances -//CanonLances shootAtWill - int* tableauEtapesLieesParFinirEtape23 = new int[1]; - 8024808: f04f 0004 mov.w r0, #4 ; 0x4 - 802480c: f7f2 fef0 bl 80175f0 <_Znaj> - 8024810: 4603 mov r3, r0 - 8024812: f8c7 3b40 str.w r3, [r7, #2880] - tableauEtapesLieesParFinirEtape23[0] = 11; - 8024816: f8d7 2b40 ldr.w r2, [r7, #2880] - 802481a: f04f 030b mov.w r3, #11 ; 0xb - 802481e: 6013 str r3, [r2, #0] - this->tableauEtapes[22]->setEtapesLieesParFinirEtape(tableauEtapesLieesParFinirEtape23); - 8024820: f507 739c add.w r3, r7, #312 ; 0x138 - 8024824: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8024828: 681b ldr r3, [r3, #0] - 802482a: f8d3 3780 ldr.w r3, [r3, #1920] - 802482e: f103 0358 add.w r3, r3, #88 ; 0x58 - 8024832: 681b ldr r3, [r3, #0] - 8024834: 4618 mov r0, r3 - 8024836: f8d7 1b40 ldr.w r1, [r7, #2880] - 802483a: f7f4 fd61 bl 8019300 <_ZN5Etape27setEtapesLieesParFinirEtapeEPi> - - int* tableauEtapesLieesParFinirEtape11 = new int[1]; - 802483e: f04f 0004 mov.w r0, #4 ; 0x4 - 8024842: f7f2 fed5 bl 80175f0 <_Znaj> - 8024846: 4603 mov r3, r0 - 8024848: f8c7 3b44 str.w r3, [r7, #2884] - tableauEtapesLieesParFinirEtape11[0] = 23; - 802484c: f8d7 2b44 ldr.w r2, [r7, #2884] - 8024850: f04f 0317 mov.w r3, #23 ; 0x17 - 8024854: 6013 str r3, [r2, #0] - this->tableauEtapes[10]->setEtapesLieesParFinirEtape(tableauEtapesLieesParFinirEtape11); - 8024856: f507 739c add.w r3, r7, #312 ; 0x138 - 802485a: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802485e: 681b ldr r3, [r3, #0] - 8024860: f8d3 3780 ldr.w r3, [r3, #1920] - 8024864: f103 0328 add.w r3, r3, #40 ; 0x28 - 8024868: 681b ldr r3, [r3, #0] - 802486a: 4618 mov r0, r3 - 802486c: f8d7 1b44 ldr.w r1, [r7, #2884] - 8024870: f7f4 fd46 bl 8019300 <_ZN5Etape27setEtapesLieesParFinirEtapeEPi> - - // Deux côtés du feu terrain milieu côté adversaire - int* tableauEtapesLieesParFinirEtape25 = new int[1]; - 8024874: f04f 0004 mov.w r0, #4 ; 0x4 - 8024878: f7f2 feba bl 80175f0 <_Znaj> - 802487c: 4603 mov r3, r0 - 802487e: f8c7 3b48 str.w r3, [r7, #2888] - tableauEtapesLieesParFinirEtape25[0] = 16; - 8024882: f8d7 2b48 ldr.w r2, [r7, #2888] - 8024886: f04f 0310 mov.w r3, #16 ; 0x10 - 802488a: 6013 str r3, [r2, #0] - this->tableauEtapes[24]->setEtapesLieesParFinirEtape(tableauEtapesLieesParFinirEtape25); - 802488c: f507 739c add.w r3, r7, #312 ; 0x138 - 8024890: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8024894: 681b ldr r3, [r3, #0] - 8024896: f8d3 3780 ldr.w r3, [r3, #1920] - 802489a: f103 0360 add.w r3, r3, #96 ; 0x60 - 802489e: 681b ldr r3, [r3, #0] - 80248a0: 4618 mov r0, r3 - 80248a2: f8d7 1b48 ldr.w r1, [r7, #2888] - 80248a6: f7f4 fd2b bl 8019300 <_ZN5Etape27setEtapesLieesParFinirEtapeEPi> - - int* tableauEtapesLieesParFinirEtape16 = new int[1]; - 80248aa: f04f 0004 mov.w r0, #4 ; 0x4 - 80248ae: f7f2 fe9f bl 80175f0 <_Znaj> - 80248b2: 4603 mov r3, r0 - 80248b4: f8c7 3b4c str.w r3, [r7, #2892] - tableauEtapesLieesParFinirEtape16[0] = 25; - 80248b8: f8d7 2b4c ldr.w r2, [r7, #2892] - 80248bc: f04f 0319 mov.w r3, #25 ; 0x19 - 80248c0: 6013 str r3, [r2, #0] - this->tableauEtapes[15]->setEtapesLieesParFinirEtape(tableauEtapesLieesParFinirEtape16); - 80248c2: f507 739c add.w r3, r7, #312 ; 0x138 - 80248c6: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80248ca: 681b ldr r3, [r3, #0] - 80248cc: f8d3 3780 ldr.w r3, [r3, #1920] - 80248d0: f103 033c add.w r3, r3, #60 ; 0x3c - 80248d4: 681b ldr r3, [r3, #0] - 80248d6: 4618 mov r0, r3 - 80248d8: f8d7 1b4c ldr.w r1, [r7, #2892] - 80248dc: f7f4 fd10 bl 8019300 <_ZN5Etape27setEtapesLieesParFinirEtapeEPi> - - // Deux côtés du feu terrain haut côté adversaire - int* tableauEtapesLieesParFinirEtape26 = new int[1]; - 80248e0: f04f 0004 mov.w r0, #4 ; 0x4 - 80248e4: f7f2 fe84 bl 80175f0 <_Znaj> - 80248e8: 4603 mov r3, r0 - 80248ea: f8c7 3b50 str.w r3, [r7, #2896] - tableauEtapesLieesParFinirEtape26[0] = 19; - 80248ee: f8d7 2b50 ldr.w r2, [r7, #2896] - 80248f2: f04f 0313 mov.w r3, #19 ; 0x13 - 80248f6: 6013 str r3, [r2, #0] - this->tableauEtapes[25]->setEtapesLieesParFinirEtape(tableauEtapesLieesParFinirEtape26); - 80248f8: f507 739c add.w r3, r7, #312 ; 0x138 - 80248fc: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8024900: 681b ldr r3, [r3, #0] - 8024902: f8d3 3780 ldr.w r3, [r3, #1920] - 8024906: f103 0364 add.w r3, r3, #100 ; 0x64 - 802490a: 681b ldr r3, [r3, #0] - 802490c: 4618 mov r0, r3 - 802490e: f8d7 1b50 ldr.w r1, [r7, #2896] - 8024912: f7f4 fcf5 bl 8019300 <_ZN5Etape27setEtapesLieesParFinirEtapeEPi> - - int* tableauEtapesLieesParFinirEtape19 = new int[1]; - 8024916: f04f 0004 mov.w r0, #4 ; 0x4 - 802491a: f7f2 fe69 bl 80175f0 <_Znaj> - 802491e: 4603 mov r3, r0 - 8024920: f8c7 3b54 str.w r3, [r7, #2900] - tableauEtapesLieesParFinirEtape19[0] = 26; - 8024924: f8d7 2b54 ldr.w r2, [r7, #2900] - 8024928: f04f 031a mov.w r3, #26 ; 0x1a - 802492c: 6013 str r3, [r2, #0] - this->tableauEtapes[18]->setEtapesLieesParFinirEtape(tableauEtapesLieesParFinirEtape19); - 802492e: f507 739c add.w r3, r7, #312 ; 0x138 - 8024932: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8024936: 681b ldr r3, [r3, #0] - 8024938: f8d3 3780 ldr.w r3, [r3, #1920] - 802493c: f103 0348 add.w r3, r3, #72 ; 0x48 - 8024940: 681b ldr r3, [r3, #0] - 8024942: 4618 mov r0, r3 - 8024944: f8d7 1b54 ldr.w r1, [r7, #2900] - 8024948: f7f4 fcda bl 8019300 <_ZN5Etape27setEtapesLieesParFinirEtapeEPi> - - int* tableauDistances0 = new int[2]; - 802494c: f04f 0008 mov.w r0, #8 ; 0x8 - 8024950: f7f2 fe4e bl 80175f0 <_Znaj> - 8024954: 4603 mov r3, r0 - 8024956: f8c7 3b58 str.w r3, [r7, #2904] - tableauDistances0[0] = 300; // vers etape 1 - 802495a: f8d7 2b58 ldr.w r2, [r7, #2904] - 802495e: f44f 7396 mov.w r3, #300 ; 0x12c - 8024962: 6013 str r3, [r2, #0] - tableauDistances0[1] = 576; // vers etape 28 - 8024964: f8d7 3b58 ldr.w r3, [r7, #2904] - 8024968: f103 0204 add.w r2, r3, #4 ; 0x4 - 802496c: f44f 7310 mov.w r3, #576 ; 0x240 - 8024970: 6013 str r3, [r2, #0] - this->tableauEtapes[0]->setDistances(tableauDistances0); - 8024972: f507 739c add.w r3, r7, #312 ; 0x138 - 8024976: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802497a: 681b ldr r3, [r3, #0] - 802497c: f8d3 3780 ldr.w r3, [r3, #1920] - 8024980: 681b ldr r3, [r3, #0] - 8024982: 4618 mov r0, r3 - 8024984: f8d7 1b58 ldr.w r1, [r7, #2904] - 8024988: f7f4 fca0 bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances1 = new int[2]; - 802498c: f04f 0008 mov.w r0, #8 ; 0x8 - 8024990: f7f2 fe2e bl 80175f0 <_Znaj> - 8024994: 4603 mov r3, r0 - 8024996: f8c7 3b5c str.w r3, [r7, #2908] - tableauDistances1[0] = 300; // vers etape 0 - 802499a: f8d7 2b5c ldr.w r2, [r7, #2908] - 802499e: f44f 7396 mov.w r3, #300 ; 0x12c - 80249a2: 6013 str r3, [r2, #0] - tableauDistances1[1] = 300; // vers etape 2 - 80249a4: f8d7 3b5c ldr.w r3, [r7, #2908] - 80249a8: f103 0204 add.w r2, r3, #4 ; 0x4 - 80249ac: f44f 7396 mov.w r3, #300 ; 0x12c - 80249b0: 6013 str r3, [r2, #0] - this->tableauEtapes[1]->setDistances(tableauDistances1); - 80249b2: f507 739c add.w r3, r7, #312 ; 0x138 - 80249b6: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80249ba: 681b ldr r3, [r3, #0] - 80249bc: f8d3 3780 ldr.w r3, [r3, #1920] - 80249c0: f103 0304 add.w r3, r3, #4 ; 0x4 - 80249c4: 681b ldr r3, [r3, #0] - 80249c6: 4618 mov r0, r3 - 80249c8: f8d7 1b5c ldr.w r1, [r7, #2908] - 80249cc: f7f4 fc7e bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances2 = new int[2]; - 80249d0: f04f 0008 mov.w r0, #8 ; 0x8 - 80249d4: f7f2 fe0c bl 80175f0 <_Znaj> - 80249d8: 4603 mov r3, r0 - 80249da: f8c7 3b60 str.w r3, [r7, #2912] - tableauDistances2[0] = 300; // vers etape 1 - 80249de: f8d7 2b60 ldr.w r2, [r7, #2912] - 80249e2: f44f 7396 mov.w r3, #300 ; 0x12c - 80249e6: 6013 str r3, [r2, #0] - tableauDistances2[1] = 100; // vers etape 3 - 80249e8: f8d7 3b60 ldr.w r3, [r7, #2912] - 80249ec: f103 0204 add.w r2, r3, #4 ; 0x4 - 80249f0: f04f 0364 mov.w r3, #100 ; 0x64 - 80249f4: 6013 str r3, [r2, #0] - this->tableauEtapes[2]->setDistances(tableauDistances2); - 80249f6: f507 739c add.w r3, r7, #312 ; 0x138 - 80249fa: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80249fe: 681b ldr r3, [r3, #0] - 8024a00: f8d3 3780 ldr.w r3, [r3, #1920] - 8024a04: f103 0308 add.w r3, r3, #8 ; 0x8 - 8024a08: 681b ldr r3, [r3, #0] - 8024a0a: 4618 mov r0, r3 - 8024a0c: f8d7 1b60 ldr.w r1, [r7, #2912] - 8024a10: f7f4 fc5c bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances3 = new int[2]; - 8024a14: f04f 0008 mov.w r0, #8 ; 0x8 - 8024a18: f7f2 fdea bl 80175f0 <_Znaj> - 8024a1c: 4603 mov r3, r0 - 8024a1e: f8c7 3b64 str.w r3, [r7, #2916] - tableauDistances3[0] = 100; // vers etape 2 - 8024a22: f8d7 2b64 ldr.w r2, [r7, #2916] - 8024a26: f04f 0364 mov.w r3, #100 ; 0x64 - 8024a2a: 6013 str r3, [r2, #0] - tableauDistances3[1] = 200; // vers etape 4 - 8024a2c: f8d7 3b64 ldr.w r3, [r7, #2916] - 8024a30: f103 0204 add.w r2, r3, #4 ; 0x4 - 8024a34: f04f 03c8 mov.w r3, #200 ; 0xc8 - 8024a38: 6013 str r3, [r2, #0] - this->tableauEtapes[3]->setDistances(tableauDistances3); - 8024a3a: f507 739c add.w r3, r7, #312 ; 0x138 - 8024a3e: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8024a42: 681b ldr r3, [r3, #0] - 8024a44: f8d3 3780 ldr.w r3, [r3, #1920] - 8024a48: f103 030c add.w r3, r3, #12 ; 0xc - 8024a4c: 681b ldr r3, [r3, #0] - 8024a4e: 4618 mov r0, r3 - 8024a50: f8d7 1b64 ldr.w r1, [r7, #2916] - 8024a54: f7f4 fc3a bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances4 = new int[4]; - 8024a58: f04f 0010 mov.w r0, #16 ; 0x10 - 8024a5c: f7f2 fdc8 bl 80175f0 <_Znaj> - 8024a60: 4603 mov r3, r0 - 8024a62: f8c7 3b68 str.w r3, [r7, #2920] - tableauDistances4[0] = 200; // vers etape 3 - 8024a66: f8d7 2b68 ldr.w r2, [r7, #2920] - 8024a6a: f04f 03c8 mov.w r3, #200 ; 0xc8 - 8024a6e: 6013 str r3, [r2, #0] - tableauDistances4[1] = 586; // vers etape 5 - 8024a70: f8d7 3b68 ldr.w r3, [r7, #2920] - 8024a74: f103 0204 add.w r2, r3, #4 ; 0x4 - 8024a78: f240 234a movw r3, #586 ; 0x24a - 8024a7c: 6013 str r3, [r2, #0] - tableauDistances4[2] = 512; // vers etape 19 - 8024a7e: f8d7 3b68 ldr.w r3, [r7, #2920] - 8024a82: f103 0208 add.w r2, r3, #8 ; 0x8 - 8024a86: f44f 7300 mov.w r3, #512 ; 0x200 - 8024a8a: 6013 str r3, [r2, #0] - tableauDistances4[3] = 415; // vers etape 29 - 8024a8c: f8d7 3b68 ldr.w r3, [r7, #2920] - 8024a90: f103 020c add.w r2, r3, #12 ; 0xc - 8024a94: f240 139f movw r3, #415 ; 0x19f - 8024a98: 6013 str r3, [r2, #0] - this->tableauEtapes[4]->setDistances(tableauDistances4); - 8024a9a: f507 739c add.w r3, r7, #312 ; 0x138 - 8024a9e: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8024aa2: 681b ldr r3, [r3, #0] - 8024aa4: f8d3 3780 ldr.w r3, [r3, #1920] - 8024aa8: f103 0310 add.w r3, r3, #16 ; 0x10 - 8024aac: 681b ldr r3, [r3, #0] - 8024aae: 4618 mov r0, r3 - 8024ab0: f8d7 1b68 ldr.w r1, [r7, #2920] - 8024ab4: f7f4 fc0a bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances5 = new int[3]; - 8024ab8: f04f 000c mov.w r0, #12 ; 0xc - 8024abc: f7f2 fd98 bl 80175f0 <_Znaj> - 8024ac0: 4603 mov r3, r0 - 8024ac2: f8c7 3b6c str.w r3, [r7, #2924] - tableauDistances5[0] = 586; // vers etape 4 - 8024ac6: f8d7 2b6c ldr.w r2, [r7, #2924] - 8024aca: f240 234a movw r3, #586 ; 0x24a - 8024ace: 6013 str r3, [r2, #0] - tableauDistances5[1] = 200; // vers etape 6 - 8024ad0: f8d7 3b6c ldr.w r3, [r7, #2924] - 8024ad4: f103 0204 add.w r2, r3, #4 ; 0x4 - 8024ad8: f04f 03c8 mov.w r3, #200 ; 0xc8 - 8024adc: 6013 str r3, [r2, #0] - tableauDistances5[2] = 415; // vers etape 29 - 8024ade: f8d7 3b6c ldr.w r3, [r7, #2924] - 8024ae2: f103 0208 add.w r2, r3, #8 ; 0x8 - 8024ae6: f240 139f movw r3, #415 ; 0x19f - 8024aea: 6013 str r3, [r2, #0] - this->tableauEtapes[5]->setDistances(tableauDistances5); - 8024aec: f507 739c add.w r3, r7, #312 ; 0x138 - 8024af0: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8024af4: 681b ldr r3, [r3, #0] - 8024af6: f8d3 3780 ldr.w r3, [r3, #1920] - 8024afa: f103 0314 add.w r3, r3, #20 ; 0x14 - 8024afe: 681b ldr r3, [r3, #0] - 8024b00: 4618 mov r0, r3 - 8024b02: f8d7 1b6c ldr.w r1, [r7, #2924] - 8024b06: f7f4 fbe1 bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances6 = new int[3]; - 8024b0a: f04f 000c mov.w r0, #12 ; 0xc - 8024b0e: f7f2 fd6f bl 80175f0 <_Znaj> - 8024b12: 4603 mov r3, r0 - 8024b14: f8c7 3b70 str.w r3, [r7, #2928] - tableauDistances6[0] = 200; // vers etape 5 - 8024b18: f8d7 2b70 ldr.w r2, [r7, #2928] - 8024b1c: f04f 03c8 mov.w r3, #200 ; 0xc8 - 8024b20: 6013 str r3, [r2, #0] - tableauDistances6[1] = 100; // vers etape 7 - 8024b22: f8d7 3b70 ldr.w r3, [r7, #2928] - 8024b26: f103 0204 add.w r2, r3, #4 ; 0x4 - 8024b2a: f04f 0364 mov.w r3, #100 ; 0x64 - 8024b2e: 6013 str r3, [r2, #0] - tableauDistances6[2] = 460; // vers etape 29 - 8024b30: f8d7 3b70 ldr.w r3, [r7, #2928] - 8024b34: f103 0208 add.w r2, r3, #8 ; 0x8 - 8024b38: f44f 73e6 mov.w r3, #460 ; 0x1cc - 8024b3c: 6013 str r3, [r2, #0] - this->tableauEtapes[6]->setDistances(tableauDistances6); - 8024b3e: f507 739c add.w r3, r7, #312 ; 0x138 - 8024b42: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8024b46: 681b ldr r3, [r3, #0] - 8024b48: f8d3 3780 ldr.w r3, [r3, #1920] - 8024b4c: f103 0318 add.w r3, r3, #24 ; 0x18 - 8024b50: 681b ldr r3, [r3, #0] - 8024b52: 4618 mov r0, r3 - 8024b54: f8d7 1b70 ldr.w r1, [r7, #2928] - 8024b58: f7f4 fbb8 bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances7 = new int[3]; - 8024b5c: f04f 000c mov.w r0, #12 ; 0xc - 8024b60: f7f2 fd46 bl 80175f0 <_Znaj> - 8024b64: 4603 mov r3, r0 - 8024b66: f8c7 3b74 str.w r3, [r7, #2932] - tableauDistances7[0] = 100; // vers etape 6 - 8024b6a: f8d7 2b74 ldr.w r2, [r7, #2932] - 8024b6e: f04f 0364 mov.w r3, #100 ; 0x64 - 8024b72: 6013 str r3, [r2, #0] - tableauDistances7[1] = 400; // vers etape 8 - 8024b74: f8d7 3b74 ldr.w r3, [r7, #2932] - 8024b78: f103 0204 add.w r2, r3, #4 ; 0x4 - 8024b7c: f44f 73c8 mov.w r3, #400 ; 0x190 - 8024b80: 6013 str r3, [r2, #0] - tableauDistances7[2] = 729; // vers etape 21 - 8024b82: f8d7 3b74 ldr.w r3, [r7, #2932] - 8024b86: f103 0208 add.w r2, r3, #8 ; 0x8 - 8024b8a: f240 23d9 movw r3, #729 ; 0x2d9 - 8024b8e: 6013 str r3, [r2, #0] - this->tableauEtapes[7]->setDistances(tableauDistances7); - 8024b90: f507 739c add.w r3, r7, #312 ; 0x138 - 8024b94: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8024b98: 681b ldr r3, [r3, #0] - 8024b9a: f8d3 3780 ldr.w r3, [r3, #1920] - 8024b9e: f103 031c add.w r3, r3, #28 ; 0x1c - 8024ba2: 681b ldr r3, [r3, #0] - 8024ba4: 4618 mov r0, r3 - 8024ba6: f8d7 1b74 ldr.w r1, [r7, #2932] - 8024baa: f7f4 fb8f bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances8 = new int[4]; - 8024bae: f04f 0010 mov.w r0, #16 ; 0x10 - 8024bb2: f7f2 fd1d bl 80175f0 <_Znaj> - 8024bb6: 4603 mov r3, r0 - 8024bb8: f8c7 3b78 str.w r3, [r7, #2936] - tableauDistances8[0] = 400; // vers etape 7 - 8024bbc: f8d7 2b78 ldr.w r2, [r7, #2936] - 8024bc0: f44f 73c8 mov.w r3, #400 ; 0x190 - 8024bc4: 6013 str r3, [r2, #0] - tableauDistances8[1] = 400; // vers etape 9 - 8024bc6: f8d7 3b78 ldr.w r3, [r7, #2936] - 8024bca: f103 0204 add.w r2, r3, #4 ; 0x4 - 8024bce: f44f 73c8 mov.w r3, #400 ; 0x190 - 8024bd2: 6013 str r3, [r2, #0] - tableauDistances8[2] = 576; // vers etape 20 - 8024bd4: f8d7 3b78 ldr.w r3, [r7, #2936] - 8024bd8: f103 0208 add.w r2, r3, #8 ; 0x8 - 8024bdc: f44f 7310 mov.w r3, #576 ; 0x240 - 8024be0: 6013 str r3, [r2, #0] - tableauDistances8[3] = 460; // vers etape 21 - 8024be2: f8d7 3b78 ldr.w r3, [r7, #2936] - 8024be6: f103 020c add.w r2, r3, #12 ; 0xc - 8024bea: f44f 73e6 mov.w r3, #460 ; 0x1cc - 8024bee: 6013 str r3, [r2, #0] - this->tableauEtapes[8]->setDistances(tableauDistances8); - 8024bf0: f507 739c add.w r3, r7, #312 ; 0x138 - 8024bf4: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8024bf8: 681b ldr r3, [r3, #0] - 8024bfa: f8d3 3780 ldr.w r3, [r3, #1920] - 8024bfe: f103 0320 add.w r3, r3, #32 ; 0x20 - 8024c02: 681b ldr r3, [r3, #0] - 8024c04: 4618 mov r0, r3 - 8024c06: f8d7 1b78 ldr.w r1, [r7, #2936] - 8024c0a: f7f4 fb5f bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances9 = new int[5]; - 8024c0e: f04f 0014 mov.w r0, #20 ; 0x14 - 8024c12: f7f2 fced bl 80175f0 <_Znaj> - 8024c16: 4603 mov r3, r0 - 8024c18: f8c7 3b7c str.w r3, [r7, #2940] - tableauDistances9[0] = 400; // vers etape 8 - 8024c1c: f8d7 2b7c ldr.w r2, [r7, #2940] - 8024c20: f44f 73c8 mov.w r3, #400 ; 0x190 - 8024c24: 6013 str r3, [r2, #0] - tableauDistances9[1] = 400; // vers etape 10 - 8024c26: f8d7 3b7c ldr.w r3, [r7, #2940] - 8024c2a: f103 0204 add.w r2, r3, #4 ; 0x4 - 8024c2e: f44f 73c8 mov.w r3, #400 ; 0x190 - 8024c32: 6013 str r3, [r2, #0] - tableauDistances9[2] = 901; // vers etape 20 - 8024c34: f8d7 3b7c ldr.w r3, [r7, #2940] - 8024c38: f103 0208 add.w r2, r3, #8 ; 0x8 - 8024c3c: f240 3385 movw r3, #901 ; 0x385 - 8024c40: 6013 str r3, [r2, #0] - tableauDistances9[3] = 460; // vers etape 21 - 8024c42: f8d7 3b7c ldr.w r3, [r7, #2940] - 8024c46: f103 020c add.w r2, r3, #12 ; 0xc - 8024c4a: f44f 73e6 mov.w r3, #460 ; 0x1cc - 8024c4e: 6013 str r3, [r2, #0] - tableauDistances9[4] = 623; // vers etape 23 - 8024c50: f8d7 3b7c ldr.w r3, [r7, #2940] - 8024c54: f103 0210 add.w r2, r3, #16 ; 0x10 - 8024c58: f240 236f movw r3, #623 ; 0x26f - 8024c5c: 6013 str r3, [r2, #0] - this->tableauEtapes[9]->setDistances(tableauDistances9); - 8024c5e: f507 739c add.w r3, r7, #312 ; 0x138 - 8024c62: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8024c66: 681b ldr r3, [r3, #0] - 8024c68: f8d3 3780 ldr.w r3, [r3, #1920] - 8024c6c: f103 0324 add.w r3, r3, #36 ; 0x24 - 8024c70: 681b ldr r3, [r3, #0] - 8024c72: 4618 mov r0, r3 - 8024c74: f8d7 1b7c ldr.w r1, [r7, #2940] - 8024c78: f7f4 fb28 bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances10 = new int[2]; - 8024c7c: f04f 0008 mov.w r0, #8 ; 0x8 - 8024c80: f7f2 fcb6 bl 80175f0 <_Znaj> - 8024c84: 4603 mov r3, r0 - 8024c86: f8c7 3b80 str.w r3, [r7, #2944] - tableauDistances10[0] = 400; // vers etape 9 - 8024c8a: f8d7 2b80 ldr.w r2, [r7, #2944] - 8024c8e: f44f 73c8 mov.w r3, #400 ; 0x190 - 8024c92: 6013 str r3, [r2, #0] - tableauDistances10[1] = 100; // vers etape 11 - 8024c94: f8d7 3b80 ldr.w r3, [r7, #2944] - 8024c98: f103 0204 add.w r2, r3, #4 ; 0x4 - 8024c9c: f04f 0364 mov.w r3, #100 ; 0x64 - 8024ca0: 6013 str r3, [r2, #0] - this->tableauEtapes[10]->setDistances(tableauDistances10); - 8024ca2: f507 739c add.w r3, r7, #312 ; 0x138 - 8024ca6: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8024caa: 681b ldr r3, [r3, #0] - 8024cac: f8d3 3780 ldr.w r3, [r3, #1920] - 8024cb0: f103 0328 add.w r3, r3, #40 ; 0x28 - 8024cb4: 681b ldr r3, [r3, #0] - 8024cb6: 4618 mov r0, r3 - 8024cb8: f8d7 1b80 ldr.w r1, [r7, #2944] - 8024cbc: f7f4 fb06 bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances11 = new int[3]; - 8024cc0: f04f 000c mov.w r0, #12 ; 0xc - 8024cc4: f7f2 fc94 bl 80175f0 <_Znaj> - 8024cc8: 4603 mov r3, r0 - 8024cca: f8c7 3b84 str.w r3, [r7, #2948] - tableauDistances11[0] = 100; // vers etape 10 - 8024cce: f8d7 2b84 ldr.w r2, [r7, #2948] - 8024cd2: f04f 0364 mov.w r3, #100 ; 0x64 - 8024cd6: 6013 str r3, [r2, #0] - tableauDistances11[1] = 200; // vers etape 12 - 8024cd8: f8d7 3b84 ldr.w r3, [r7, #2948] - 8024cdc: f103 0204 add.w r2, r3, #4 ; 0x4 - 8024ce0: f04f 03c8 mov.w r3, #200 ; 0xc8 - 8024ce4: 6013 str r3, [r2, #0] - tableauDistances11[2] = 460; // vers etape 30 - 8024ce6: f8d7 3b84 ldr.w r3, [r7, #2948] - 8024cea: f103 0208 add.w r2, r3, #8 ; 0x8 - 8024cee: f44f 73e6 mov.w r3, #460 ; 0x1cc - 8024cf2: 6013 str r3, [r2, #0] - this->tableauEtapes[11]->setDistances(tableauDistances11); - 8024cf4: f507 739c add.w r3, r7, #312 ; 0x138 - 8024cf8: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8024cfc: 681b ldr r3, [r3, #0] - 8024cfe: f8d3 3780 ldr.w r3, [r3, #1920] - 8024d02: f103 032c add.w r3, r3, #44 ; 0x2c - 8024d06: 681b ldr r3, [r3, #0] - 8024d08: 4618 mov r0, r3 - 8024d0a: f8d7 1b84 ldr.w r1, [r7, #2948] - 8024d0e: f7f4 fadd bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances12 = new int[3]; - 8024d12: f04f 000c mov.w r0, #12 ; 0xc - 8024d16: f7f2 fc6b bl 80175f0 <_Znaj> - 8024d1a: 4603 mov r3, r0 - 8024d1c: f8c7 3b88 str.w r3, [r7, #2952] - tableauDistances12[0] = 200; // vers etape 11 - 8024d20: f8d7 2b88 ldr.w r2, [r7, #2952] - 8024d24: f04f 03c8 mov.w r3, #200 ; 0xc8 - 8024d28: 6013 str r3, [r2, #0] - tableauDistances12[1] = 586; // vers etape 13 - 8024d2a: f8d7 3b88 ldr.w r3, [r7, #2952] - 8024d2e: f103 0204 add.w r2, r3, #4 ; 0x4 - 8024d32: f240 234a movw r3, #586 ; 0x24a - 8024d36: 6013 str r3, [r2, #0] - tableauDistances12[2] = 415; // vers etape 30 - 8024d38: f8d7 3b88 ldr.w r3, [r7, #2952] - 8024d3c: f103 0208 add.w r2, r3, #8 ; 0x8 - 8024d40: f240 139f movw r3, #415 ; 0x19f - 8024d44: 6013 str r3, [r2, #0] - this->tableauEtapes[12]->setDistances(tableauDistances12); - 8024d46: f507 739c add.w r3, r7, #312 ; 0x138 - 8024d4a: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8024d4e: 681b ldr r3, [r3, #0] - 8024d50: f8d3 3780 ldr.w r3, [r3, #1920] - 8024d54: f103 0330 add.w r3, r3, #48 ; 0x30 - 8024d58: 681b ldr r3, [r3, #0] - 8024d5a: 4618 mov r0, r3 - 8024d5c: f8d7 1b88 ldr.w r1, [r7, #2952] - 8024d60: f7f4 fab4 bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances13 = new int[3]; - 8024d64: f04f 000c mov.w r0, #12 ; 0xc - 8024d68: f7f2 fc42 bl 80175f0 <_Znaj> - 8024d6c: 4603 mov r3, r0 - 8024d6e: f8c7 3b8c str.w r3, [r7, #2956] - tableauDistances13[0] = 586; // vers etape 12 - 8024d72: f8d7 2b8c ldr.w r2, [r7, #2956] - 8024d76: f240 234a movw r3, #586 ; 0x24a - 8024d7a: 6013 str r3, [r2, #0] - tableauDistances13[1] = 200; // vers etape 14 - 8024d7c: f8d7 3b8c ldr.w r3, [r7, #2956] - 8024d80: f103 0204 add.w r2, r3, #4 ; 0x4 - 8024d84: f04f 03c8 mov.w r3, #200 ; 0xc8 - 8024d88: 6013 str r3, [r2, #0] - tableauDistances13[2] = 415; // vers etape 30 - 8024d8a: f8d7 3b8c ldr.w r3, [r7, #2956] - 8024d8e: f103 0208 add.w r2, r3, #8 ; 0x8 - 8024d92: f240 139f movw r3, #415 ; 0x19f - 8024d96: 6013 str r3, [r2, #0] - this->tableauEtapes[13]->setDistances(tableauDistances13); - 8024d98: f507 739c add.w r3, r7, #312 ; 0x138 - 8024d9c: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8024da0: 681b ldr r3, [r3, #0] - 8024da2: f8d3 3780 ldr.w r3, [r3, #1920] - 8024da6: f103 0334 add.w r3, r3, #52 ; 0x34 - 8024daa: 681b ldr r3, [r3, #0] - 8024dac: 4618 mov r0, r3 - 8024dae: f8d7 1b8c ldr.w r1, [r7, #2956] - 8024db2: f7f4 fa8b bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances14 = new int[3]; - 8024db6: f04f 000c mov.w r0, #12 ; 0xc - 8024dba: f7f2 fc19 bl 80175f0 <_Znaj> - 8024dbe: 4603 mov r3, r0 - 8024dc0: f8c7 3b90 str.w r3, [r7, #2960] - tableauDistances14[0] = 200; // vers etape 13 - 8024dc4: f8d7 2b90 ldr.w r2, [r7, #2960] - 8024dc8: f04f 03c8 mov.w r3, #200 ; 0xc8 - 8024dcc: 6013 str r3, [r2, #0] - tableauDistances14[1] = 100; // vers etape 15 - 8024dce: f8d7 3b90 ldr.w r3, [r7, #2960] - 8024dd2: f103 0204 add.w r2, r3, #4 ; 0x4 - 8024dd6: f04f 0364 mov.w r3, #100 ; 0x64 - 8024dda: 6013 str r3, [r2, #0] - tableauDistances14[2] = 460; // vers etape 30 - 8024ddc: f8d7 3b90 ldr.w r3, [r7, #2960] - 8024de0: f103 0208 add.w r2, r3, #8 ; 0x8 - 8024de4: f44f 73e6 mov.w r3, #460 ; 0x1cc - 8024de8: 6013 str r3, [r2, #0] - this->tableauEtapes[14]->setDistances(tableauDistances14); - 8024dea: f507 739c add.w r3, r7, #312 ; 0x138 - 8024dee: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8024df2: 681b ldr r3, [r3, #0] - 8024df4: f8d3 3780 ldr.w r3, [r3, #1920] - 8024df8: f103 0338 add.w r3, r3, #56 ; 0x38 - 8024dfc: 681b ldr r3, [r3, #0] - 8024dfe: 4618 mov r0, r3 - 8024e00: f8d7 1b90 ldr.w r1, [r7, #2960] - 8024e04: f7f4 fa62 bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances15 = new int[2]; - 8024e08: f04f 0008 mov.w r0, #8 ; 0x8 - 8024e0c: f7f2 fbf0 bl 80175f0 <_Znaj> - 8024e10: 4603 mov r3, r0 - 8024e12: f8c7 3b94 str.w r3, [r7, #2964] - tableauDistances15[0] = 100; // vers etape 14 - 8024e16: f8d7 2b94 ldr.w r2, [r7, #2964] - 8024e1a: f04f 0364 mov.w r3, #100 ; 0x64 - 8024e1e: 6013 str r3, [r2, #0] - tableauDistances15[1] = 300; // vers etape 16 - 8024e20: f8d7 3b94 ldr.w r3, [r7, #2964] - 8024e24: f103 0204 add.w r2, r3, #4 ; 0x4 - 8024e28: f44f 7396 mov.w r3, #300 ; 0x12c - 8024e2c: 6013 str r3, [r2, #0] - this->tableauEtapes[15]->setDistances(tableauDistances15); - 8024e2e: f507 739c add.w r3, r7, #312 ; 0x138 - 8024e32: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8024e36: 681b ldr r3, [r3, #0] - 8024e38: f8d3 3780 ldr.w r3, [r3, #1920] - 8024e3c: f103 033c add.w r3, r3, #60 ; 0x3c - 8024e40: 681b ldr r3, [r3, #0] - 8024e42: 4618 mov r0, r3 - 8024e44: f8d7 1b94 ldr.w r1, [r7, #2964] - 8024e48: f7f4 fa40 bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances16 = new int[3]; - 8024e4c: f04f 000c mov.w r0, #12 ; 0xc - 8024e50: f7f2 fbce bl 80175f0 <_Znaj> - 8024e54: 4603 mov r3, r0 - 8024e56: f8c7 3b98 str.w r3, [r7, #2968] - tableauDistances16[0] = 300; // vers etape 15 - 8024e5a: f8d7 2b98 ldr.w r2, [r7, #2968] - 8024e5e: f44f 7396 mov.w r3, #300 ; 0x12c - 8024e62: 6013 str r3, [r2, #0] - tableauDistances16[1] = 542; // vers etape 17@em6.club.resel.fr:gitRobotique.git - 8024e64: f8d7 3b98 ldr.w r3, [r7, #2968] - 8024e68: f103 0204 add.w r2, r3, #4 ; 0x4 - 8024e6c: f240 231e movw r3, #542 ; 0x21e - 8024e70: 6013 str r3, [r2, #0] - tableauDistances16[2] = 715; // vers etape 25 - 8024e72: f8d7 3b98 ldr.w r3, [r7, #2968] - 8024e76: f103 0208 add.w r2, r3, #8 ; 0x8 - 8024e7a: f240 23cb movw r3, #715 ; 0x2cb - 8024e7e: 6013 str r3, [r2, #0] - this->tableauEtapes[16]->setDistances(tableauDistances16); - 8024e80: f507 739c add.w r3, r7, #312 ; 0x138 - 8024e84: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8024e88: 681b ldr r3, [r3, #0] - 8024e8a: f8d3 3780 ldr.w r3, [r3, #1920] - 8024e8e: f103 0340 add.w r3, r3, #64 ; 0x40 - 8024e92: 681b ldr r3, [r3, #0] - 8024e94: 4618 mov r0, r3 - 8024e96: f8d7 1b98 ldr.w r1, [r7, #2968] - 8024e9a: f7f4 fa17 bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances17 = new int[3]; - 8024e9e: f04f 000c mov.w r0, #12 ; 0xc - 8024ea2: f7f2 fba5 bl 80175f0 <_Znaj> - 8024ea6: 4603 mov r3, r0 - 8024ea8: f8c7 3b9c str.w r3, [r7, #2972] - tableauDistances17[0] = 542; // vers etape 16 - 8024eac: f8d7 2b9c ldr.w r2, [r7, #2972] - 8024eb0: f240 231e movw r3, #542 ; 0x21e - 8024eb4: 6013 str r3, [r2, #0] - tableauDistances17[1] = 300; // vers etape 18 - 8024eb6: f8d7 3b9c ldr.w r3, [r7, #2972] - 8024eba: f103 0204 add.w r2, r3, #4 ; 0x4 - 8024ebe: f44f 7396 mov.w r3, #300 ; 0x12c - 8024ec2: 6013 str r3, [r2, #0] - tableauDistances17[2] = 650; // vers etape 24 - 8024ec4: f8d7 3b9c ldr.w r3, [r7, #2972] - 8024ec8: f103 0208 add.w r2, r3, #8 ; 0x8 - 8024ecc: f240 238a movw r3, #650 ; 0x28a - 8024ed0: 6013 str r3, [r2, #0] - this->tableauEtapes[17]->setDistances(tableauDistances17); - 8024ed2: f507 739c add.w r3, r7, #312 ; 0x138 - 8024ed6: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8024eda: 681b ldr r3, [r3, #0] - 8024edc: f8d3 3780 ldr.w r3, [r3, #1920] - 8024ee0: f103 0344 add.w r3, r3, #68 ; 0x44 - 8024ee4: 681b ldr r3, [r3, #0] - 8024ee6: 4618 mov r0, r3 - 8024ee8: f8d7 1b9c ldr.w r1, [r7, #2972] - 8024eec: f7f4 f9ee bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances18 = new int[2]; - 8024ef0: f04f 0008 mov.w r0, #8 ; 0x8 - 8024ef4: f7f2 fb7c bl 80175f0 <_Znaj> - 8024ef8: 4603 mov r3, r0 - 8024efa: f8c7 3ba0 str.w r3, [r7, #2976] - tableauDistances18[0] = 300; // vers etape 17 - 8024efe: f8d7 2ba0 ldr.w r2, [r7, #2976] - 8024f02: f44f 7396 mov.w r3, #300 ; 0x12c - 8024f06: 6013 str r3, [r2, #0] - tableauDistances18[1] = 300; // vers etape 26 - 8024f08: f8d7 3ba0 ldr.w r3, [r7, #2976] - 8024f0c: f103 0204 add.w r2, r3, #4 ; 0x4 - 8024f10: f44f 7396 mov.w r3, #300 ; 0x12c - 8024f14: 6013 str r3, [r2, #0] - this->tableauEtapes[18]->setDistances(tableauDistances18); - 8024f16: f507 739c add.w r3, r7, #312 ; 0x138 - 8024f1a: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8024f1e: 681b ldr r3, [r3, #0] - 8024f20: f8d3 3780 ldr.w r3, [r3, #1920] - 8024f24: f103 0348 add.w r3, r3, #72 ; 0x48 - 8024f28: 681b ldr r3, [r3, #0] - 8024f2a: 4618 mov r0, r3 - 8024f2c: f8d7 1ba0 ldr.w r1, [r7, #2976] - 8024f30: f7f4 f9cc bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances19 = new int[4]; - 8024f34: f04f 0010 mov.w r0, #16 ; 0x10 - 8024f38: f7f2 fb5a bl 80175f0 <_Znaj> - 8024f3c: 4603 mov r3, r0 - 8024f3e: f8c7 3ba4 str.w r3, [r7, #2980] - tableauDistances19[0] = 512; // vers etape 4 - 8024f42: f8d7 2ba4 ldr.w r2, [r7, #2980] - 8024f46: f44f 7300 mov.w r3, #512 ; 0x200 - 8024f4a: 6013 str r3, [r2, #0] - tableauDistances19[1] = 424; // vers etape 20 - 8024f4c: f8d7 3ba4 ldr.w r3, [r7, #2980] - 8024f50: f103 0204 add.w r2, r3, #4 ; 0x4 - 8024f54: f44f 73d4 mov.w r3, #424 ; 0x1a8 - 8024f58: 6013 str r3, [r2, #0] - tableauDistances19[2] = 200; // vers etape 28 - 8024f5a: f8d7 3ba4 ldr.w r3, [r7, #2980] - 8024f5e: f103 0208 add.w r2, r3, #8 ; 0x8 - 8024f62: f04f 03c8 mov.w r3, #200 ; 0xc8 - 8024f66: 6013 str r3, [r2, #0] - tableauDistances19[3] = 300; // vers etape 29 - 8024f68: f8d7 3ba4 ldr.w r3, [r7, #2980] - 8024f6c: f103 020c add.w r2, r3, #12 ; 0xc - 8024f70: f44f 7396 mov.w r3, #300 ; 0x12c - 8024f74: 6013 str r3, [r2, #0] - this->tableauEtapes[19]->setDistances(tableauDistances19); - 8024f76: f507 739c add.w r3, r7, #312 ; 0x138 - 8024f7a: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8024f7e: 681b ldr r3, [r3, #0] - 8024f80: f8d3 3780 ldr.w r3, [r3, #1920] - 8024f84: f103 034c add.w r3, r3, #76 ; 0x4c - 8024f88: 681b ldr r3, [r3, #0] - 8024f8a: 4618 mov r0, r3 - 8024f8c: f8d7 1ba4 ldr.w r1, [r7, #2980] - 8024f90: f7f4 f99c bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances20 = new int[5]; - 8024f94: f04f 0014 mov.w r0, #20 ; 0x14 - 8024f98: f7f2 fb2a bl 80175f0 <_Znaj> - 8024f9c: 4603 mov r3, r0 - 8024f9e: f8c7 3ba8 str.w r3, [r7, #2984] - tableauDistances20[0] = 576; // vers etape 8 - 8024fa2: f8d7 2ba8 ldr.w r2, [r7, #2984] - 8024fa6: f44f 7310 mov.w r3, #576 ; 0x240 - 8024faa: 6013 str r3, [r2, #0] - tableauDistances20[1] = 901; // vers etape 9 - 8024fac: f8d7 3ba8 ldr.w r3, [r7, #2984] - 8024fb0: f103 0204 add.w r2, r3, #4 ; 0x4 - 8024fb4: f240 3385 movw r3, #901 ; 0x385 - 8024fb8: 6013 str r3, [r2, #0] - tableauDistances20[2] = 424; // vers etape 19 - 8024fba: f8d7 3ba8 ldr.w r3, [r7, #2984] - 8024fbe: f103 0208 add.w r2, r3, #8 ; 0x8 - 8024fc2: f44f 73d4 mov.w r3, #424 ; 0x1a8 - 8024fc6: 6013 str r3, [r2, #0] - tableauDistances20[3] = 600; // vers etape 21 - 8024fc8: f8d7 3ba8 ldr.w r3, [r7, #2984] - 8024fcc: f103 020c add.w r2, r3, #12 ; 0xc - 8024fd0: f44f 7316 mov.w r3, #600 ; 0x258 - 8024fd4: 6013 str r3, [r2, #0] - tableauDistances20[4] = 300; // vers etape 29 - 8024fd6: f8d7 3ba8 ldr.w r3, [r7, #2984] - 8024fda: f103 0210 add.w r2, r3, #16 ; 0x10 - 8024fde: f44f 7396 mov.w r3, #300 ; 0x12c - 8024fe2: 6013 str r3, [r2, #0] - this->tableauEtapes[20]->setDistances(tableauDistances20); - 8024fe4: f507 739c add.w r3, r7, #312 ; 0x138 - 8024fe8: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8024fec: 681b ldr r3, [r3, #0] - 8024fee: f8d3 3780 ldr.w r3, [r3, #1920] - 8024ff2: f103 0350 add.w r3, r3, #80 ; 0x50 - 8024ff6: 681b ldr r3, [r3, #0] - 8024ff8: 4618 mov r0, r3 - 8024ffa: f8d7 1ba8 ldr.w r1, [r7, #2984] - 8024ffe: f7f4 f965 bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances21 = new int[6]; - 8025002: f04f 0018 mov.w r0, #24 ; 0x18 - 8025006: f7f2 faf3 bl 80175f0 <_Znaj> - 802500a: 4603 mov r3, r0 - 802500c: f8c7 3bac str.w r3, [r7, #2988] - tableauDistances21[0] = 729; // vers etape 7 - 8025010: f8d7 2bac ldr.w r2, [r7, #2988] - 8025014: f240 23d9 movw r3, #729 ; 0x2d9 - 8025018: 6013 str r3, [r2, #0] - tableauDistances21[1] = 460; // vers etape 8 - 802501a: f8d7 3bac ldr.w r3, [r7, #2988] - 802501e: f103 0204 add.w r2, r3, #4 ; 0x4 - 8025022: f44f 73e6 mov.w r3, #460 ; 0x1cc - 8025026: 6013 str r3, [r2, #0] - tableauDistances21[2] = 460; // vers etape 9 - 8025028: f8d7 3bac ldr.w r3, [r7, #2988] - 802502c: f103 0208 add.w r2, r3, #8 ; 0x8 - 8025030: f44f 73e6 mov.w r3, #460 ; 0x1cc - 8025034: 6013 str r3, [r2, #0] - tableauDistances21[3] = 600; // vers etape 20 - 8025036: f8d7 3bac ldr.w r3, [r7, #2988] - 802503a: f103 020c add.w r2, r3, #12 ; 0xc - 802503e: f44f 7316 mov.w r3, #600 ; 0x258 - 8025042: 6013 str r3, [r2, #0] - tableauDistances21[4] = 600; // vers etape 22 - 8025044: f8d7 3bac ldr.w r3, [r7, #2988] - 8025048: f103 0210 add.w r2, r3, #16 ; 0x10 - 802504c: f44f 7316 mov.w r3, #600 ; 0x258 - 8025050: 6013 str r3, [r2, #0] - tableauDistances21[5] = 360; // vers etape 23 - 8025052: f8d7 3bac ldr.w r3, [r7, #2988] - 8025056: f103 0214 add.w r2, r3, #20 ; 0x14 - 802505a: f44f 73b4 mov.w r3, #360 ; 0x168 - 802505e: 6013 str r3, [r2, #0] - this->tableauEtapes[21]->setDistances(tableauDistances21); - 8025060: f507 739c add.w r3, r7, #312 ; 0x138 - 8025064: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8025068: 681b ldr r3, [r3, #0] - 802506a: f8d3 3780 ldr.w r3, [r3, #1920] - 802506e: f103 0354 add.w r3, r3, #84 ; 0x54 - 8025072: 681b ldr r3, [r3, #0] - 8025074: 4618 mov r0, r3 - 8025076: f8d7 1bac ldr.w r1, [r7, #2988] - 802507a: f7f4 f927 bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances22 = new int[4]; - 802507e: f04f 0010 mov.w r0, #16 ; 0x10 - 8025082: f7f2 fab5 bl 80175f0 <_Znaj> - 8025086: 4603 mov r3, r0 - 8025088: f8c7 3bb0 str.w r3, [r7, #2992] - tableauDistances22[0] = 600; // vers etape 21 - 802508c: f8d7 2bb0 ldr.w r2, [r7, #2992] - 8025090: f44f 7316 mov.w r3, #600 ; 0x258 - 8025094: 6013 str r3, [r2, #0] - tableauDistances22[1] = 360; // vers etape 23 - 8025096: f8d7 3bb0 ldr.w r3, [r7, #2992] - 802509a: f103 0204 add.w r2, r3, #4 ; 0x4 - 802509e: f44f 73b4 mov.w r3, #360 ; 0x168 - 80250a2: 6013 str r3, [r2, #0] - tableauDistances22[2] = 424; // vers etape 24 - 80250a4: f8d7 3bb0 ldr.w r3, [r7, #2992] - 80250a8: f103 0208 add.w r2, r3, #8 ; 0x8 - 80250ac: f44f 73d4 mov.w r3, #424 ; 0x1a8 - 80250b0: 6013 str r3, [r2, #0] - tableauDistances22[3] = 300; // vers etape 30 - 80250b2: f8d7 3bb0 ldr.w r3, [r7, #2992] - 80250b6: f103 020c add.w r2, r3, #12 ; 0xc - 80250ba: f44f 7396 mov.w r3, #300 ; 0x12c - 80250be: 6013 str r3, [r2, #0] - this->tableauEtapes[22]->setDistances(tableauDistances22); - 80250c0: f507 739c add.w r3, r7, #312 ; 0x138 - 80250c4: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80250c8: 681b ldr r3, [r3, #0] - 80250ca: f8d3 3780 ldr.w r3, [r3, #1920] - 80250ce: f103 0358 add.w r3, r3, #88 ; 0x58 - 80250d2: 681b ldr r3, [r3, #0] - 80250d4: 4618 mov r0, r3 - 80250d6: f8d7 1bb0 ldr.w r1, [r7, #2992] - 80250da: f7f4 f8f7 bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances23 = new int[4]; - 80250de: f04f 0010 mov.w r0, #16 ; 0x10 - 80250e2: f7f2 fa85 bl 80175f0 <_Znaj> - 80250e6: 4603 mov r3, r0 - 80250e8: f8c7 3bb4 str.w r3, [r7, #2996] - tableauDistances23[0] = 623; // vers etape 9 - 80250ec: f8d7 2bb4 ldr.w r2, [r7, #2996] - 80250f0: f240 236f movw r3, #623 ; 0x26f - 80250f4: 6013 str r3, [r2, #0] - tableauDistances23[1] = 360; // vers etape 21 - 80250f6: f8d7 3bb4 ldr.w r3, [r7, #2996] - 80250fa: f103 0204 add.w r2, r3, #4 ; 0x4 - 80250fe: f44f 73b4 mov.w r3, #360 ; 0x168 - 8025102: 6013 str r3, [r2, #0] - tableauDistances23[2] = 360; // vers etape 22 - 8025104: f8d7 3bb4 ldr.w r3, [r7, #2996] - 8025108: f103 0208 add.w r2, r3, #8 ; 0x8 - 802510c: f44f 73b4 mov.w r3, #360 ; 0x168 - 8025110: 6013 str r3, [r2, #0] - tableauDistances23[3] = 200; // vers etape 27 - 8025112: f8d7 3bb4 ldr.w r3, [r7, #2996] - 8025116: f103 020c add.w r2, r3, #12 ; 0xc - 802511a: f04f 03c8 mov.w r3, #200 ; 0xc8 - 802511e: 6013 str r3, [r2, #0] - this->tableauEtapes[23]->setDistances(tableauDistances23); - 8025120: f507 739c add.w r3, r7, #312 ; 0x138 - 8025124: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8025128: 681b ldr r3, [r3, #0] - 802512a: f8d3 3780 ldr.w r3, [r3, #1920] - 802512e: f103 035c add.w r3, r3, #92 ; 0x5c - 8025132: 681b ldr r3, [r3, #0] - 8025134: 4618 mov r0, r3 - 8025136: f8d7 1bb4 ldr.w r1, [r7, #2996] - 802513a: f7f4 f8c7 bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances24 = new int[4]; - 802513e: f04f 0010 mov.w r0, #16 ; 0x10 - 8025142: f7f2 fa55 bl 80175f0 <_Znaj> - 8025146: 4603 mov r3, r0 - 8025148: f8c7 3bb8 str.w r3, [r7, #3000] - tableauDistances24[0] = 650; // vers etape 17 - 802514c: f8d7 2bb8 ldr.w r2, [r7, #3000] - 8025150: f240 238a movw r3, #650 ; 0x28a - 8025154: 6013 str r3, [r2, #0] - tableauDistances24[1] = 424; // vers etape 22 - 8025156: f8d7 3bb8 ldr.w r3, [r7, #3000] - 802515a: f103 0204 add.w r2, r3, #4 ; 0x4 - 802515e: f44f 73d4 mov.w r3, #424 ; 0x1a8 - 8025162: 6013 str r3, [r2, #0] - tableauDistances24[2] = 424; // vers etape 25 - 8025164: f8d7 3bb8 ldr.w r3, [r7, #3000] - 8025168: f103 0208 add.w r2, r3, #8 ; 0x8 - 802516c: f44f 73d4 mov.w r3, #424 ; 0x1a8 - 8025170: 6013 str r3, [r2, #0] - tableauDistances24[3] = 300; // vers etape 30 - 8025172: f8d7 3bb8 ldr.w r3, [r7, #3000] - 8025176: f103 020c add.w r2, r3, #12 ; 0xc - 802517a: f44f 7396 mov.w r3, #300 ; 0x12c - 802517e: 6013 str r3, [r2, #0] - this->tableauEtapes[24]->setDistances(tableauDistances24); - 8025180: f507 739c add.w r3, r7, #312 ; 0x138 - 8025184: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8025188: 681b ldr r3, [r3, #0] - 802518a: f8d3 3780 ldr.w r3, [r3, #1920] - 802518e: f103 0360 add.w r3, r3, #96 ; 0x60 - 8025192: 681b ldr r3, [r3, #0] - 8025194: 4618 mov r0, r3 - 8025196: f8d7 1bb8 ldr.w r1, [r7, #3000] - 802519a: f7f4 f897 bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances25 = new int[3]; - 802519e: f04f 000c mov.w r0, #12 ; 0xc - 80251a2: f7f2 fa25 bl 80175f0 <_Znaj> - 80251a6: 4603 mov r3, r0 - 80251a8: f8c7 3bbc str.w r3, [r7, #3004] - tableauDistances25[0] = 715; // vers etape 16 - 80251ac: f8d7 2bbc ldr.w r2, [r7, #3004] - 80251b0: f240 23cb movw r3, #715 ; 0x2cb - 80251b4: 6013 str r3, [r2, #0] - tableauDistances25[1] = 424; // vers etape 24 - 80251b6: f8d7 3bbc ldr.w r3, [r7, #3004] - 80251ba: f103 0204 add.w r2, r3, #4 ; 0x4 - 80251be: f44f 73d4 mov.w r3, #424 ; 0x1a8 - 80251c2: 6013 str r3, [r2, #0] - tableauDistances25[2] = 360; // vers etape 27 - 80251c4: f8d7 3bbc ldr.w r3, [r7, #3004] - 80251c8: f103 0208 add.w r2, r3, #8 ; 0x8 - 80251cc: f44f 73b4 mov.w r3, #360 ; 0x168 - 80251d0: 6013 str r3, [r2, #0] - this->tableauEtapes[25]->setDistances(tableauDistances25); - 80251d2: f507 739c add.w r3, r7, #312 ; 0x138 - 80251d6: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80251da: 681b ldr r3, [r3, #0] - 80251dc: f8d3 3780 ldr.w r3, [r3, #1920] - 80251e0: f103 0364 add.w r3, r3, #100 ; 0x64 - 80251e4: 681b ldr r3, [r3, #0] - 80251e6: 4618 mov r0, r3 - 80251e8: f8d7 1bbc ldr.w r1, [r7, #3004] - 80251ec: f7f4 f86e bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances26 = new int[2]; - 80251f0: f04f 0008 mov.w r0, #8 ; 0x8 - 80251f4: f7f2 f9fc bl 80175f0 <_Znaj> - 80251f8: 4603 mov r3, r0 - 80251fa: f8c7 3bc0 str.w r3, [r7, #3008] - tableauDistances26[0] = 300; // vers etape 18 - 80251fe: f8d7 2bc0 ldr.w r2, [r7, #3008] - 8025202: f44f 7396 mov.w r3, #300 ; 0x12c - 8025206: 6013 str r3, [r2, #0] - tableauDistances26[1] = 550; // vers etape 27 - 8025208: f8d7 3bc0 ldr.w r3, [r7, #3008] - 802520c: f103 0204 add.w r2, r3, #4 ; 0x4 - 8025210: f240 2326 movw r3, #550 ; 0x226 - 8025214: 6013 str r3, [r2, #0] - this->tableauEtapes[26]->setDistances(tableauDistances26); - 8025216: f507 739c add.w r3, r7, #312 ; 0x138 - 802521a: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802521e: 681b ldr r3, [r3, #0] - 8025220: f8d3 3780 ldr.w r3, [r3, #1920] - 8025224: f103 0368 add.w r3, r3, #104 ; 0x68 - 8025228: 681b ldr r3, [r3, #0] - 802522a: 4618 mov r0, r3 - 802522c: f8d7 1bc0 ldr.w r1, [r7, #3008] - 8025230: f7f4 f84c bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances27 = new int[3]; - 8025234: f04f 000c mov.w r0, #12 ; 0xc - 8025238: f7f2 f9da bl 80175f0 <_Znaj> - 802523c: 4603 mov r3, r0 - 802523e: f8c7 3bc4 str.w r3, [r7, #3012] - tableauDistances27[0] = 200; // vers etape 23 - 8025242: f8d7 2bc4 ldr.w r2, [r7, #3012] - 8025246: f04f 03c8 mov.w r3, #200 ; 0xc8 - 802524a: 6013 str r3, [r2, #0] - tableauDistances27[1] = 360; // vers etape 25 - 802524c: f8d7 3bc4 ldr.w r3, [r7, #3012] - 8025250: f103 0204 add.w r2, r3, #4 ; 0x4 - 8025254: f44f 73b4 mov.w r3, #360 ; 0x168 - 8025258: 6013 str r3, [r2, #0] - tableauDistances27[2] = 550; // vers etape 26 - 802525a: f8d7 3bc4 ldr.w r3, [r7, #3012] - 802525e: f103 0208 add.w r2, r3, #8 ; 0x8 - 8025262: f240 2326 movw r3, #550 ; 0x226 - 8025266: 6013 str r3, [r2, #0] - this->tableauEtapes[27]->setDistances(tableauDistances27); - 8025268: f507 739c add.w r3, r7, #312 ; 0x138 - 802526c: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8025270: 681b ldr r3, [r3, #0] - 8025272: f8d3 3780 ldr.w r3, [r3, #1920] - 8025276: f103 036c add.w r3, r3, #108 ; 0x6c - 802527a: 681b ldr r3, [r3, #0] - 802527c: 4618 mov r0, r3 - 802527e: f8d7 1bc4 ldr.w r1, [r7, #3012] - 8025282: f7f4 f823 bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances28 = new int[2]; - 8025286: f04f 0008 mov.w r0, #8 ; 0x8 - 802528a: f7f2 f9b1 bl 80175f0 <_Znaj> - 802528e: 4603 mov r3, r0 - 8025290: f8c7 3bc8 str.w r3, [r7, #3016] - tableauDistances28[0] = 576; // vers etape 0 - 8025294: f8d7 2bc8 ldr.w r2, [r7, #3016] - 8025298: f44f 7310 mov.w r3, #576 ; 0x240 - 802529c: 6013 str r3, [r2, #0] - tableauDistances28[1] = 200; // vers etape 19 - 802529e: f8d7 3bc8 ldr.w r3, [r7, #3016] - 80252a2: f103 0204 add.w r2, r3, #4 ; 0x4 - 80252a6: f04f 03c8 mov.w r3, #200 ; 0xc8 - 80252aa: 6013 str r3, [r2, #0] - this->tableauEtapes[28]->setDistances(tableauDistances28); - 80252ac: f507 739c add.w r3, r7, #312 ; 0x138 - 80252b0: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80252b4: 681b ldr r3, [r3, #0] - 80252b6: f8d3 3780 ldr.w r3, [r3, #1920] - 80252ba: f103 0370 add.w r3, r3, #112 ; 0x70 - 80252be: 681b ldr r3, [r3, #0] - 80252c0: 4618 mov r0, r3 - 80252c2: f8d7 1bc8 ldr.w r1, [r7, #3016] - 80252c6: f7f4 f801 bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances29 = new int[5]; - 80252ca: f04f 0014 mov.w r0, #20 ; 0x14 - 80252ce: f7f2 f98f bl 80175f0 <_Znaj> - 80252d2: 4603 mov r3, r0 - 80252d4: f8c7 3bcc str.w r3, [r7, #3020] - tableauDistances29[0] = 415; // vers etape 4 - 80252d8: f8d7 2bcc ldr.w r2, [r7, #3020] - 80252dc: f240 139f movw r3, #415 ; 0x19f - 80252e0: 6013 str r3, [r2, #0] - tableauDistances29[1] = 415; // vers etape 5 - 80252e2: f8d7 3bcc ldr.w r3, [r7, #3020] - 80252e6: f103 0204 add.w r2, r3, #4 ; 0x4 - 80252ea: f240 139f movw r3, #415 ; 0x19f - 80252ee: 6013 str r3, [r2, #0] - tableauDistances29[2] = 460; // vers etape 6 - 80252f0: f8d7 3bcc ldr.w r3, [r7, #3020] - 80252f4: f103 0208 add.w r2, r3, #8 ; 0x8 - 80252f8: f44f 73e6 mov.w r3, #460 ; 0x1cc - 80252fc: 6013 str r3, [r2, #0] - tableauDistances29[3] = 300; // vers etape 19 - 80252fe: f8d7 3bcc ldr.w r3, [r7, #3020] - 8025302: f103 020c add.w r2, r3, #12 ; 0xc - 8025306: f44f 7396 mov.w r3, #300 ; 0x12c - 802530a: 6013 str r3, [r2, #0] - tableauDistances29[4] = 300; // vers etape 20 - 802530c: f8d7 3bcc ldr.w r3, [r7, #3020] - 8025310: f103 0210 add.w r2, r3, #16 ; 0x10 - 8025314: f44f 7396 mov.w r3, #300 ; 0x12c - 8025318: 6013 str r3, [r2, #0] - this->tableauEtapes[29]->setDistances(tableauDistances29); - 802531a: f507 739c add.w r3, r7, #312 ; 0x138 - 802531e: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8025322: 681b ldr r3, [r3, #0] - 8025324: f8d3 3780 ldr.w r3, [r3, #1920] - 8025328: f103 0374 add.w r3, r3, #116 ; 0x74 - 802532c: 681b ldr r3, [r3, #0] - 802532e: 4618 mov r0, r3 - 8025330: f8d7 1bcc ldr.w r1, [r7, #3020] - 8025334: f7f3 ffca bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances30 = new int[6]; - 8025338: f04f 0018 mov.w r0, #24 ; 0x18 - 802533c: f7f2 f958 bl 80175f0 <_Znaj> - 8025340: 4603 mov r3, r0 - 8025342: f8c7 3bd0 str.w r3, [r7, #3024] - tableauDistances30[0] = 460; // vers etape 11 - 8025346: f8d7 2bd0 ldr.w r2, [r7, #3024] - 802534a: f44f 73e6 mov.w r3, #460 ; 0x1cc - 802534e: 6013 str r3, [r2, #0] - tableauDistances30[1] = 415; // vers etape 12 - 8025350: f8d7 3bd0 ldr.w r3, [r7, #3024] - 8025354: f103 0204 add.w r2, r3, #4 ; 0x4 - 8025358: f240 139f movw r3, #415 ; 0x19f - 802535c: 6013 str r3, [r2, #0] - tableauDistances30[2] = 415; // vers etape 13 - 802535e: f8d7 3bd0 ldr.w r3, [r7, #3024] - 8025362: f103 0208 add.w r2, r3, #8 ; 0x8 - 8025366: f240 139f movw r3, #415 ; 0x19f - 802536a: 6013 str r3, [r2, #0] - tableauDistances30[3] = 460; // vers etape 14 - 802536c: f8d7 3bd0 ldr.w r3, [r7, #3024] - 8025370: f103 020c add.w r2, r3, #12 ; 0xc - 8025374: f44f 73e6 mov.w r3, #460 ; 0x1cc - 8025378: 6013 str r3, [r2, #0] - tableauDistances30[4] = 300; // vers etape 22 - 802537a: f8d7 3bd0 ldr.w r3, [r7, #3024] - 802537e: f103 0210 add.w r2, r3, #16 ; 0x10 - 8025382: f44f 7396 mov.w r3, #300 ; 0x12c - 8025386: 6013 str r3, [r2, #0] - tableauDistances30[5] = 300; // vers etape 24 - 8025388: f8d7 3bd0 ldr.w r3, [r7, #3024] - 802538c: f103 0214 add.w r2, r3, #20 ; 0x14 - 8025390: f44f 7396 mov.w r3, #300 ; 0x12c - 8025394: 6013 str r3, [r2, #0] - this->tableauEtapes[30]->setDistances(tableauDistances30); - 8025396: f507 739c add.w r3, r7, #312 ; 0x138 - 802539a: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802539e: 681b ldr r3, [r3, #0] - 80253a0: f8d3 3780 ldr.w r3, [r3, #1920] - 80253a4: f103 0378 add.w r3, r3, #120 ; 0x78 - 80253a8: 681b ldr r3, [r3, #0] - 80253aa: 4618 mov r0, r3 - 80253ac: f8d7 1bd0 ldr.w r1, [r7, #3024] - 80253b0: f7f3 ff8c bl 80192cc <_ZN5Etape12setDistancesEPi> -#endif - - -} - 80253b4: f507 739c add.w r3, r7, #312 ; 0x138 - 80253b8: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80253bc: 681b ldr r3, [r3, #0] - 80253be: 4618 mov r0, r3 - 80253c0: f507 7777 add.w r7, r7, #988 ; 0x3dc - 80253c4: f507 6700 add.w r7, r7, #2048 ; 0x800 - 80253c8: 46bd mov sp, r7 - 80253ca: bd90 pop {r4, r7, pc} - -080253cc <_ZN11StrategieV3C2Eb>: - #include -#endif -//#include - - -StrategieV3::StrategieV3(bool isBlue) : MediumLevelAction() - 80253cc: b590 push {r4, r7, lr} - 80253ce: f5ad 6d3e sub.w sp, sp, #3040 ; 0xbe0 - 80253d2: b085 sub sp, #20 - 80253d4: af06 add r7, sp, #24 - 80253d6: f507 739c add.w r3, r7, #312 ; 0x138 - 80253da: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80253de: 6018 str r0, [r3, #0] - 80253e0: 460a mov r2, r1 - 80253e2: f507 739c add.w r3, r7, #312 ; 0x138 - 80253e6: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 80253ea: 701a strb r2, [r3, #0] - 80253ec: f507 739c add.w r3, r7, #312 ; 0x138 - 80253f0: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80253f4: 681c ldr r4, [r3, #0] - 80253f6: f507 739c add.w r3, r7, #312 ; 0x138 - 80253fa: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 80253fe: 4618 mov r0, r3 - 8025400: 4938 ldr r1, [pc, #224] (80254e4 <_ZN11StrategieV3C2Eb+0x118>) - 8025402: 4a38 ldr r2, [pc, #224] (80254e4 <_ZN11StrategieV3C2Eb+0x118>) - 8025404: f04f 0301 mov.w r3, #1 ; 0x1 - 8025408: f7f2 f9d2 bl 80177b0 <_ZN8PositionC1Effb> - 802540c: f507 739c add.w r3, r7, #312 ; 0x138 - 8025410: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 8025414: 4620 mov r0, r4 - 8025416: e893 0006 ldmia.w r3, {r1, r2} - 802541a: f7f6 fe39 bl 801c090 <_ZN17MediumLevelActionC2E8Position> - 802541e: f507 739c add.w r3, r7, #312 ; 0x138 - 8025422: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8025426: 681a ldr r2, [r3, #0] - 8025428: 4b2f ldr r3, [pc, #188] (80254e8 <_ZN11StrategieV3C2Eb+0x11c>) - 802542a: 6013 str r3, [r2, #0] - 802542c: f507 739c add.w r3, r7, #312 ; 0x138 - 8025430: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8025434: 681b ldr r3, [r3, #0] - 8025436: f103 0394 add.w r3, r3, #148 ; 0x94 - 802543a: 603b str r3, [r7, #0] - 802543c: f04f 021e mov.w r2, #30 ; 0x1e - 8025440: 607a str r2, [r7, #4] - 8025442: e01f b.n 8025484 <_ZN11StrategieV3C2Eb+0xb8> - 8025444: f507 739c add.w r3, r7, #312 ; 0x138 - 8025448: f1a3 030c sub.w r3, r3, #12 ; 0xc - 802544c: 4618 mov r0, r3 - 802544e: 4925 ldr r1, [pc, #148] (80254e4 <_ZN11StrategieV3C2Eb+0x118>) - 8025450: 4a24 ldr r2, [pc, #144] (80254e4 <_ZN11StrategieV3C2Eb+0x118>) - 8025452: f04f 0301 mov.w r3, #1 ; 0x1 - 8025456: f7f2 f9ab bl 80177b0 <_ZN8PositionC1Effb> - 802545a: f507 739c add.w r3, r7, #312 ; 0x138 - 802545e: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8025462: 4a22 ldr r2, [pc, #136] (80254ec <_ZN11StrategieV3C2Eb+0x120>) - 8025464: 9200 str r2, [sp, #0] - 8025466: 6838 ldr r0, [r7, #0] - 8025468: e893 0006 ldmia.w r3, {r1, r2} - 802546c: f04f 0300 mov.w r3, #0 ; 0x0 - 8025470: f7f2 fed6 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 8025474: 683b ldr r3, [r7, #0] - 8025476: f103 0330 add.w r3, r3, #48 ; 0x30 - 802547a: 603b str r3, [r7, #0] - 802547c: 687a ldr r2, [r7, #4] - 802547e: f102 32ff add.w r2, r2, #4294967295 ; 0xffffffff - 8025482: 607a str r2, [r7, #4] - 8025484: 687b ldr r3, [r7, #4] - 8025486: f1b3 3fff cmp.w r3, #4294967295 ; 0xffffffff - 802548a: d1db bne.n 8025444 <_ZN11StrategieV3C2Eb+0x78> - 802548c: f507 739c add.w r3, r7, #312 ; 0x138 - 8025490: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8025494: 681b ldr r3, [r3, #0] - 8025496: f503 63cc add.w r3, r3, #1632 ; 0x660 - 802549a: f103 0304 add.w r3, r3, #4 ; 0x4 - 802549e: 60bb str r3, [r7, #8] - 80254a0: f04f 0203 mov.w r2, #3 ; 0x3 - 80254a4: 60fa str r2, [r7, #12] - 80254a6: e00a b.n 80254be <_ZN11StrategieV3C2Eb+0xf2> - 80254a8: 68b8 ldr r0, [r7, #8] - 80254aa: f7f6 fa69 bl 801b980 <_ZN7FeuCoteC1Ev> - 80254ae: 68bb ldr r3, [r7, #8] - 80254b0: f103 033c add.w r3, r3, #60 ; 0x3c - 80254b4: 60bb str r3, [r7, #8] - 80254b6: 68fa ldr r2, [r7, #12] - 80254b8: f102 32ff add.w r2, r2, #4294967295 ; 0xffffffff - 80254bc: 60fa str r2, [r7, #12] - 80254be: 68fb ldr r3, [r7, #12] - 80254c0: f1b3 3fff cmp.w r3, #4294967295 ; 0xffffffff - 80254c4: d1f0 bne.n 80254a8 <_ZN11StrategieV3C2Eb+0xdc> - 80254c6: f507 739c add.w r3, r7, #312 ; 0x138 - 80254ca: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80254ce: 681b ldr r3, [r3, #0] - 80254d0: f503 63ea add.w r3, r3, #1872 ; 0x750 - 80254d4: f103 0304 add.w r3, r3, #4 ; 0x4 - 80254d8: 613b str r3, [r7, #16] - 80254da: f04f 0200 mov.w r2, #0 ; 0x0 - 80254de: 617a str r2, [r7, #20] - 80254e0: e011 b.n 8025506 <_ZN11StrategieV3C2Eb+0x13a> - 80254e2: 46c0 nop (mov r8, r8) - 80254e4: 00000000 .word 0x00000000 - 80254e8: 08034170 .word 0x08034170 - 80254ec: 41f00000 .word 0x41f00000 - 80254f0: 6938 ldr r0, [r7, #16] - 80254f2: f7f3 f87b bl 80185ec <_ZN12DeposeFruitsC1Ev> - 80254f6: 693b ldr r3, [r7, #16] - 80254f8: f103 0328 add.w r3, r3, #40 ; 0x28 - 80254fc: 613b str r3, [r7, #16] - 80254fe: 697a ldr r2, [r7, #20] - 8025500: f102 32ff add.w r2, r2, #4294967295 ; 0xffffffff - 8025504: 617a str r2, [r7, #20] - 8025506: 697b ldr r3, [r7, #20] - 8025508: f1b3 3fff cmp.w r3, #4294967295 ; 0xffffffff - 802550c: d1f0 bne.n 80254f0 <_ZN11StrategieV3C2Eb+0x124> -{ - this->avoiding = false; - 802550e: f507 739c add.w r3, r7, #312 ; 0x138 - 8025512: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8025516: 681a ldr r2, [r3, #0] - 8025518: f04f 0300 mov.w r3, #0 ; 0x0 - 802551c: f882 3788 strb.w r3, [r2, #1928] - this->etapeEnCours = 0; - 8025520: f507 739c add.w r3, r7, #312 ; 0x138 - 8025524: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8025528: 681a ldr r2, [r3, #0] - 802552a: f04f 0300 mov.w r3, #0 ; 0x0 - 802552e: f8c2 3784 str.w r3, [r2, #1924] - this->statusStrat=1; - 8025532: f507 739c add.w r3, r7, #312 ; 0x138 - 8025536: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802553a: 681a ldr r2, [r3, #0] - 802553c: f04f 0301 mov.w r3, #1 ; 0x1 - 8025540: f8c2 3790 str.w r3, [r2, #1936] - this->enTrainEviterReculant = false; - 8025544: f507 739c add.w r3, r7, #312 ; 0x138 - 8025548: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802554c: 681a ldr r2, [r3, #0] - 802554e: f04f 0300 mov.w r3, #0 ; 0x0 - 8025552: f882 3794 strb.w r3, [r2, #1940] - this->enTrainEviterAvancant = false; - 8025556: f507 739c add.w r3, r7, #312 ; 0x138 - 802555a: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802555e: 681a ldr r2, [r3, #0] - 8025560: f04f 0300 mov.w r3, #0 ; 0x0 - 8025564: f882 3795 strb.w r3, [r2, #1941] - this->millisecondesRestantes = 90 * 1000; - 8025568: f507 739c add.w r3, r7, #312 ; 0x138 - 802556c: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8025570: 681a ldr r2, [r3, #0] - 8025572: f8df 3da0 ldr.w r3, [pc, #3488] ; 8026314 <_ZN11StrategieV3C2Eb+0xf48> - 8025576: 6153 str r3, [r2, #20] - //FIN KRABI - #endif - - #ifdef KRABI_JR - /// KARBI-JUNIOR - this->nombreFruitsTransporte = 0; - 8025578: f507 739c add.w r3, r7, #312 ; 0x138 - 802557c: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8025580: 681a ldr r2, [r3, #0] - 8025582: f04f 0300 mov.w r3, #0 ; 0x0 - 8025586: f8c2 3798 str.w r3, [r2, #1944] - this->nombreFeuxTransporte = 0; - 802558a: f507 739c add.w r3, r7, #312 ; 0x138 - 802558e: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8025592: 681a ldr r2, [r3, #0] - 8025594: f04f 0300 mov.w r3, #0 ; 0x0 - 8025598: f8c2 379c str.w r3, [r2, #1948] - this->nombreFresquesTransporte = 0; - 802559c: f507 739c add.w r3, r7, #312 ; 0x138 - 80255a0: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80255a4: 681a ldr r2, [r3, #0] - 80255a6: f04f 0300 mov.w r3, #0 ; 0x0 - 80255aa: f8c2 37a0 str.w r3, [r2, #1952] - this->nombreLancesTransporte = 0; - 80255ae: f507 739c add.w r3, r7, #312 ; 0x138 - 80255b2: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80255b6: 681a ldr r2, [r3, #0] - 80255b8: f04f 0300 mov.w r3, #0 ; 0x0 - 80255bc: f8c2 37a4 str.w r3, [r2, #1956] - - //etape2 = new Etape(Position(185, 1200, isBlue), tableauEtapes2, 2, 2, Etape::FEU_COTE_NOTRE_COULEUR_FACE_EXTERIEUR, -1, 0); - actionFeuCote[0] = FeuCote(isBlue, Position(185, 1200, isBlue), FeuCote::NOTRE_BORDURE, FeuCote::NOTRE_COULEUR_VERS_EXTERIEUR, FeuCote::COTE_NOTRE_DEPART); - 80255c0: f507 739c add.w r3, r7, #312 ; 0x138 - 80255c4: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80255c8: 681b ldr r3, [r3, #0] - 80255ca: f503 64cc add.w r4, r3, #1632 ; 0x660 - 80255ce: f104 0404 add.w r4, r4, #4 ; 0x4 - 80255d2: f507 72bc add.w r2, r7, #376 ; 0x178 - 80255d6: f1a2 0208 sub.w r2, r2, #8 ; 0x8 - 80255da: f507 739c add.w r3, r7, #312 ; 0x138 - 80255de: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 80255e2: 781b ldrb r3, [r3, #0] - 80255e4: 4610 mov r0, r2 - 80255e6: f8df 1d30 ldr.w r1, [pc, #3376] ; 8026318 <_ZN11StrategieV3C2Eb+0xf4c> - 80255ea: f8df 2d30 ldr.w r2, [pc, #3376] ; 802631c <_ZN11StrategieV3C2Eb+0xf50> - 80255ee: f7f2 f8df bl 80177b0 <_ZN8PositionC1Effb> - 80255f2: f507 719c add.w r1, r7, #312 ; 0x138 - 80255f6: f1a1 0104 sub.w r1, r1, #4 ; 0x4 - 80255fa: f507 739c add.w r3, r7, #312 ; 0x138 - 80255fe: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8025602: f893 c000 ldrb.w ip, [r3] - 8025606: f507 72bc add.w r2, r7, #376 ; 0x178 - 802560a: f1a2 0208 sub.w r2, r2, #8 ; 0x8 - 802560e: f04f 0300 mov.w r3, #0 ; 0x0 - 8025612: 9300 str r3, [sp, #0] - 8025614: f04f 0301 mov.w r3, #1 ; 0x1 - 8025618: 9301 str r3, [sp, #4] - 802561a: f04f 0301 mov.w r3, #1 ; 0x1 - 802561e: 9302 str r3, [sp, #8] - 8025620: f8df 3cfc ldr.w r3, [pc, #3324] ; 8026320 <_ZN11StrategieV3C2Eb+0xf54> - 8025624: 9303 str r3, [sp, #12] - 8025626: 4608 mov r0, r1 - 8025628: 4661 mov r1, ip - 802562a: ca0c ldmia r2!, {r2, r3} - 802562c: f7f6 fa10 bl 801ba50 <_ZN7FeuCoteC1Eb8Positionibbf> - 8025630: f507 739c add.w r3, r7, #312 ; 0x138 - 8025634: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8025638: 4620 mov r0, r4 - 802563a: 4619 mov r1, r3 - 802563c: f009 fcf8 bl 802f030 <_ZN7FeuCoteaSERKS_> - 8025640: f507 739c add.w r3, r7, #312 ; 0x138 - 8025644: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8025648: 4618 mov r0, r3 - 802564a: f7f6 f961 bl 801b910 <_ZN7FeuCoteD1Ev> - actionFeuCote[1] = FeuCote(isBlue, Position(1300, 185, isBlue), FeuCote::BORDURE_MILIEU, FeuCote::NOTRE_COULEUR_VERS_TERRAIN, FeuCote::COTE_NOTRE_DEPART); - 802564e: f507 739c add.w r3, r7, #312 ; 0x138 - 8025652: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8025656: 681b ldr r3, [r3, #0] - 8025658: f503 64d4 add.w r4, r3, #1696 ; 0x6a0 - 802565c: f507 72dc add.w r2, r7, #440 ; 0x1b8 - 8025660: f1a2 0204 sub.w r2, r2, #4 ; 0x4 - 8025664: f507 739c add.w r3, r7, #312 ; 0x138 - 8025668: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 802566c: 781b ldrb r3, [r3, #0] - 802566e: 4610 mov r0, r2 - 8025670: f8df 1cb0 ldr.w r1, [pc, #3248] ; 8026324 <_ZN11StrategieV3C2Eb+0xf58> - 8025674: f8df 2ca0 ldr.w r2, [pc, #3232] ; 8026318 <_ZN11StrategieV3C2Eb+0xf4c> - 8025678: f7f2 f89a bl 80177b0 <_ZN8PositionC1Effb> - 802567c: f507 71bc add.w r1, r7, #376 ; 0x178 - 8025680: f507 739c add.w r3, r7, #312 ; 0x138 - 8025684: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8025688: f893 c000 ldrb.w ip, [r3] - 802568c: f507 72dc add.w r2, r7, #440 ; 0x1b8 - 8025690: f1a2 0204 sub.w r2, r2, #4 ; 0x4 - 8025694: f04f 0301 mov.w r3, #1 ; 0x1 - 8025698: 9300 str r3, [sp, #0] - 802569a: f04f 0300 mov.w r3, #0 ; 0x0 - 802569e: 9301 str r3, [sp, #4] - 80256a0: f04f 0301 mov.w r3, #1 ; 0x1 - 80256a4: 9302 str r3, [sp, #8] - 80256a6: f8df 3c78 ldr.w r3, [pc, #3192] ; 8026320 <_ZN11StrategieV3C2Eb+0xf54> - 80256aa: 9303 str r3, [sp, #12] - 80256ac: 4608 mov r0, r1 - 80256ae: 4661 mov r1, ip - 80256b0: ca0c ldmia r2!, {r2, r3} - 80256b2: f7f6 f9cd bl 801ba50 <_ZN7FeuCoteC1Eb8Positionibbf> - 80256b6: f507 73bc add.w r3, r7, #376 ; 0x178 - 80256ba: 4620 mov r0, r4 - 80256bc: 4619 mov r1, r3 - 80256be: f009 fcb7 bl 802f030 <_ZN7FeuCoteaSERKS_> - 80256c2: f507 73bc add.w r3, r7, #376 ; 0x178 - 80256c6: 4618 mov r0, r3 - 80256c8: f7f6 f922 bl 801b910 <_ZN7FeuCoteD1Ev> - actionFeuCote[2] = FeuCote(isBlue, Position(1700, 185, isBlue), FeuCote::BORDURE_MILIEU, FeuCote::NOTRE_COULEUR_VERS_EXTERIEUR, FeuCote::COTE_DEPART_ADVERSAIRE); - 80256cc: f507 739c add.w r3, r7, #312 ; 0x138 - 80256d0: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80256d4: 681b ldr r3, [r3, #0] - 80256d6: f503 64da add.w r4, r3, #1744 ; 0x6d0 - 80256da: f104 040c add.w r4, r4, #12 ; 0xc - 80256de: f507 72fc add.w r2, r7, #504 ; 0x1f8 - 80256e2: f507 739c add.w r3, r7, #312 ; 0x138 - 80256e6: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 80256ea: 781b ldrb r3, [r3, #0] - 80256ec: 4610 mov r0, r2 - 80256ee: f8df 1c38 ldr.w r1, [pc, #3128] ; 8026328 <_ZN11StrategieV3C2Eb+0xf5c> - 80256f2: f8df 2c24 ldr.w r2, [pc, #3108] ; 8026318 <_ZN11StrategieV3C2Eb+0xf4c> - 80256f6: f7f2 f85b bl 80177b0 <_ZN8PositionC1Effb> - 80256fa: f507 72ec add.w r2, r7, #472 ; 0x1d8 - 80256fe: f1a2 021c sub.w r2, r2, #28 ; 0x1c - 8025702: f507 739c add.w r3, r7, #312 ; 0x138 - 8025706: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 802570a: 7819 ldrb r1, [r3, #0] - 802570c: f507 7cfc add.w ip, r7, #504 ; 0x1f8 - 8025710: f04f 0301 mov.w r3, #1 ; 0x1 - 8025714: 9300 str r3, [sp, #0] - 8025716: f04f 0301 mov.w r3, #1 ; 0x1 - 802571a: 9301 str r3, [sp, #4] - 802571c: f04f 0300 mov.w r3, #0 ; 0x0 - 8025720: 9302 str r3, [sp, #8] - 8025722: f8df 3bfc ldr.w r3, [pc, #3068] ; 8026320 <_ZN11StrategieV3C2Eb+0xf54> - 8025726: 9303 str r3, [sp, #12] - 8025728: 4610 mov r0, r2 - 802572a: e89c 000c ldmia.w ip, {r2, r3} - 802572e: f7f6 f98f bl 801ba50 <_ZN7FeuCoteC1Eb8Positionibbf> - 8025732: f507 73ec add.w r3, r7, #472 ; 0x1d8 - 8025736: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802573a: 4620 mov r0, r4 - 802573c: 4619 mov r1, r3 - 802573e: f009 fc77 bl 802f030 <_ZN7FeuCoteaSERKS_> - 8025742: f507 73ec add.w r3, r7, #472 ; 0x1d8 - 8025746: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802574a: 4618 mov r0, r3 - 802574c: f7f6 f8e0 bl 801b910 <_ZN7FeuCoteD1Ev> - actionFeuCote[3] = FeuCote(isBlue, Position(2815, 1200, isBlue), FeuCote::BORDURE_ADVERSAIRE, FeuCote::NOTRE_COULEUR_VERS_EXTERIEUR, FeuCote::COTE_DEPART_ADVERSAIRE); - 8025750: f507 739c add.w r3, r7, #312 ; 0x138 - 8025754: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8025758: 681b ldr r3, [r3, #0] - 802575a: f503 64e3 add.w r4, r3, #1816 ; 0x718 - 802575e: f507 7216 add.w r2, r7, #600 ; 0x258 - 8025762: f1a2 021c sub.w r2, r2, #28 ; 0x1c - 8025766: f507 739c add.w r3, r7, #312 ; 0x138 - 802576a: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 802576e: 781b ldrb r3, [r3, #0] - 8025770: 4610 mov r0, r2 - 8025772: f8df 1bb8 ldr.w r1, [pc, #3000] ; 802632c <_ZN11StrategieV3C2Eb+0xf60> - 8025776: f8df 2ba4 ldr.w r2, [pc, #2980] ; 802631c <_ZN11StrategieV3C2Eb+0xf50> - 802577a: f7f2 f819 bl 80177b0 <_ZN8PositionC1Effb> - 802577e: f507 7106 add.w r1, r7, #536 ; 0x218 - 8025782: f1a1 0118 sub.w r1, r1, #24 ; 0x18 - 8025786: f507 739c add.w r3, r7, #312 ; 0x138 - 802578a: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 802578e: f893 c000 ldrb.w ip, [r3] - 8025792: f507 7216 add.w r2, r7, #600 ; 0x258 - 8025796: f1a2 021c sub.w r2, r2, #28 ; 0x1c - 802579a: f04f 0302 mov.w r3, #2 ; 0x2 - 802579e: 9300 str r3, [sp, #0] - 80257a0: f04f 0301 mov.w r3, #1 ; 0x1 - 80257a4: 9301 str r3, [sp, #4] - 80257a6: f04f 0300 mov.w r3, #0 ; 0x0 - 80257aa: 9302 str r3, [sp, #8] - 80257ac: f8df 3b70 ldr.w r3, [pc, #2928] ; 8026320 <_ZN11StrategieV3C2Eb+0xf54> - 80257b0: 9303 str r3, [sp, #12] - 80257b2: 4608 mov r0, r1 - 80257b4: 4661 mov r1, ip - 80257b6: ca0c ldmia r2!, {r2, r3} - 80257b8: f7f6 f94a bl 801ba50 <_ZN7FeuCoteC1Eb8Positionibbf> - 80257bc: f507 7306 add.w r3, r7, #536 ; 0x218 - 80257c0: f1a3 0318 sub.w r3, r3, #24 ; 0x18 - 80257c4: 4620 mov r0, r4 - 80257c6: 4619 mov r1, r3 - 80257c8: f009 fc32 bl 802f030 <_ZN7FeuCoteaSERKS_> - 80257cc: f507 7306 add.w r3, r7, #536 ; 0x218 - 80257d0: f1a3 0318 sub.w r3, r3, #24 ; 0x18 - 80257d4: 4618 mov r0, r3 - 80257d6: f7f6 f89b bl 801b910 <_ZN7FeuCoteD1Ev> - // etape18 = new Etape(Position(2400, 1550, isBlue), tableauEtapes18, 3, 18, Etape::DEPOSE_FRUIT, -1, 0); - - actionDeposeFruits[0] = DeposeFruits(isBlue, Position(2400, 1550, isBlue)); - 80257da: f507 739c add.w r3, r7, #312 ; 0x138 - 80257de: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80257e2: 681b ldr r3, [r3, #0] - 80257e4: f503 64ea add.w r4, r3, #1872 ; 0x750 - 80257e8: f104 0404 add.w r4, r4, #4 ; 0x4 - 80257ec: f507 721e add.w r2, r7, #632 ; 0x278 - 80257f0: f1a2 020c sub.w r2, r2, #12 ; 0xc - 80257f4: f507 739c add.w r3, r7, #312 ; 0x138 - 80257f8: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 80257fc: 781b ldrb r3, [r3, #0] - 80257fe: 4610 mov r0, r2 - 8025800: f8df 1b2c ldr.w r1, [pc, #2860] ; 8026330 <_ZN11StrategieV3C2Eb+0xf64> - 8025804: f8df 2b2c ldr.w r2, [pc, #2860] ; 8026334 <_ZN11StrategieV3C2Eb+0xf68> - 8025808: f7f1 ffd2 bl 80177b0 <_ZN8PositionC1Effb> - 802580c: f507 7116 add.w r1, r7, #600 ; 0x258 - 8025810: f1a1 0114 sub.w r1, r1, #20 ; 0x14 - 8025814: f507 739c add.w r3, r7, #312 ; 0x138 - 8025818: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 802581c: f893 c000 ldrb.w ip, [r3] - 8025820: f507 721e add.w r2, r7, #632 ; 0x278 - 8025824: f1a2 020c sub.w r2, r2, #12 ; 0xc - 8025828: f8df 3af4 ldr.w r3, [pc, #2804] ; 8026320 <_ZN11StrategieV3C2Eb+0xf54> - 802582c: 9300 str r3, [sp, #0] - 802582e: 4608 mov r0, r1 - 8025830: 4661 mov r1, ip - 8025832: ca0c ldmia r2!, {r2, r3} - 8025834: f7f2 ff2a bl 801868c <_ZN12DeposeFruitsC1Eb8Positionf> - 8025838: f507 7316 add.w r3, r7, #600 ; 0x258 - 802583c: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 8025840: 4620 mov r0, r4 - 8025842: 4619 mov r1, r3 - 8025844: f009 fc46 bl 802f0d4 <_ZN12DeposeFruitsaSERKS_> - 8025848: f507 7316 add.w r3, r7, #600 ; 0x258 - 802584c: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 8025850: 4618 mov r0, r3 - 8025852: f7f2 fe93 bl 801857c <_ZN12DeposeFruitsD1Ev> - - actionGoto[0] = ActionGoTo(Position(185, 1500, isBlue), false); - 8025856: f507 739c add.w r3, r7, #312 ; 0x138 - 802585a: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802585e: 681b ldr r3, [r3, #0] - 8025860: f103 0494 add.w r4, r3, #148 ; 0x94 - 8025864: f507 722e add.w r2, r7, #696 ; 0x2b8 - 8025868: f1a2 0214 sub.w r2, r2, #20 ; 0x14 - 802586c: f507 739c add.w r3, r7, #312 ; 0x138 - 8025870: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8025874: 781b ldrb r3, [r3, #0] - 8025876: 4610 mov r0, r2 - 8025878: f8df 1a9c ldr.w r1, [pc, #2716] ; 8026318 <_ZN11StrategieV3C2Eb+0xf4c> - 802587c: f8df 2ab8 ldr.w r2, [pc, #2744] ; 8026338 <_ZN11StrategieV3C2Eb+0xf6c> - 8025880: f7f1 ff96 bl 80177b0 <_ZN8PositionC1Effb> - 8025884: f507 711e add.w r1, r7, #632 ; 0x278 - 8025888: f1a1 0104 sub.w r1, r1, #4 ; 0x4 - 802588c: f507 732e add.w r3, r7, #696 ; 0x2b8 - 8025890: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 8025894: f8df 2a88 ldr.w r2, [pc, #2696] ; 8026320 <_ZN11StrategieV3C2Eb+0xf54> - 8025898: 9200 str r2, [sp, #0] - 802589a: 4608 mov r0, r1 - 802589c: e893 0006 ldmia.w r3, {r1, r2} - 80258a0: f04f 0300 mov.w r3, #0 ; 0x0 - 80258a4: f7f2 fcbc bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 80258a8: f507 731e add.w r3, r7, #632 ; 0x278 - 80258ac: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 80258b0: 4620 mov r0, r4 - 80258b2: 4619 mov r1, r3 - 80258b4: f009 faa0 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 80258b8: f507 731e add.w r3, r7, #632 ; 0x278 - 80258bc: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 80258c0: 4618 mov r0, r3 - 80258c2: f7f2 fc75 bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[1] = ActionGoTo(Position(185, 1200, isBlue), false); - 80258c6: f507 739c add.w r3, r7, #312 ; 0x138 - 80258ca: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80258ce: 681b ldr r3, [r3, #0] - 80258d0: f103 04c4 add.w r4, r3, #196 ; 0xc4 - 80258d4: f507 723e add.w r2, r7, #760 ; 0x2f8 - 80258d8: f1a2 021c sub.w r2, r2, #28 ; 0x1c - 80258dc: f507 739c add.w r3, r7, #312 ; 0x138 - 80258e0: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 80258e4: 781b ldrb r3, [r3, #0] - 80258e6: 4610 mov r0, r2 - 80258e8: f8df 1a2c ldr.w r1, [pc, #2604] ; 8026318 <_ZN11StrategieV3C2Eb+0xf4c> - 80258ec: f8df 2a2c ldr.w r2, [pc, #2604] ; 802631c <_ZN11StrategieV3C2Eb+0xf50> - 80258f0: f7f1 ff5e bl 80177b0 <_ZN8PositionC1Effb> - 80258f4: f507 712e add.w r1, r7, #696 ; 0x2b8 - 80258f8: f1a1 010c sub.w r1, r1, #12 ; 0xc - 80258fc: f507 733e add.w r3, r7, #760 ; 0x2f8 - 8025900: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8025904: f8df 2a18 ldr.w r2, [pc, #2584] ; 8026320 <_ZN11StrategieV3C2Eb+0xf54> - 8025908: 9200 str r2, [sp, #0] - 802590a: 4608 mov r0, r1 - 802590c: e893 0006 ldmia.w r3, {r1, r2} - 8025910: f04f 0300 mov.w r3, #0 ; 0x0 - 8025914: f7f2 fc84 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 8025918: f507 732e add.w r3, r7, #696 ; 0x2b8 - 802591c: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8025920: 4620 mov r0, r4 - 8025922: 4619 mov r1, r3 - 8025924: f009 fa68 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 8025928: f507 732e add.w r3, r7, #696 ; 0x2b8 - 802592c: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8025930: 4618 mov r0, r3 - 8025932: f7f2 fc3d bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[2] = ActionGoTo(Position(185, 900, isBlue), false); - 8025936: f507 739c add.w r3, r7, #312 ; 0x138 - 802593a: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802593e: 681b ldr r3, [r3, #0] - 8025940: f103 04f4 add.w r4, r3, #244 ; 0xf4 - 8025944: f507 7246 add.w r2, r7, #792 ; 0x318 - 8025948: f1a2 0204 sub.w r2, r2, #4 ; 0x4 - 802594c: f507 739c add.w r3, r7, #312 ; 0x138 - 8025950: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8025954: 781b ldrb r3, [r3, #0] - 8025956: 4610 mov r0, r2 - 8025958: f8df 19bc ldr.w r1, [pc, #2492] ; 8026318 <_ZN11StrategieV3C2Eb+0xf4c> - 802595c: f8df 29dc ldr.w r2, [pc, #2524] ; 802633c <_ZN11StrategieV3C2Eb+0xf70> - 8025960: f7f1 ff26 bl 80177b0 <_ZN8PositionC1Effb> - 8025964: f507 713e add.w r1, r7, #760 ; 0x2f8 - 8025968: f1a1 0114 sub.w r1, r1, #20 ; 0x14 - 802596c: f507 7346 add.w r3, r7, #792 ; 0x318 - 8025970: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8025974: f8df 29a8 ldr.w r2, [pc, #2472] ; 8026320 <_ZN11StrategieV3C2Eb+0xf54> - 8025978: 9200 str r2, [sp, #0] - 802597a: 4608 mov r0, r1 - 802597c: e893 0006 ldmia.w r3, {r1, r2} - 8025980: f04f 0300 mov.w r3, #0 ; 0x0 - 8025984: f7f2 fc4c bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 8025988: f507 733e add.w r3, r7, #760 ; 0x2f8 - 802598c: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 8025990: 4620 mov r0, r4 - 8025992: 4619 mov r1, r3 - 8025994: f009 fa30 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 8025998: f507 733e add.w r3, r7, #760 ; 0x2f8 - 802599c: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 80259a0: 4618 mov r0, r3 - 80259a2: f7f2 fc05 bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[3] = ActionGoTo(Position(185, 800, isBlue), false); - 80259a6: f507 739c add.w r3, r7, #312 ; 0x138 - 80259aa: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80259ae: 681b ldr r3, [r3, #0] - 80259b0: f503 7492 add.w r4, r3, #292 ; 0x124 - 80259b4: f507 7256 add.w r2, r7, #856 ; 0x358 - 80259b8: f1a2 020c sub.w r2, r2, #12 ; 0xc - 80259bc: f507 739c add.w r3, r7, #312 ; 0x138 - 80259c0: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 80259c4: 781b ldrb r3, [r3, #0] - 80259c6: 4610 mov r0, r2 - 80259c8: f8df 194c ldr.w r1, [pc, #2380] ; 8026318 <_ZN11StrategieV3C2Eb+0xf4c> - 80259cc: f8df 2970 ldr.w r2, [pc, #2416] ; 8026340 <_ZN11StrategieV3C2Eb+0xf74> - 80259d0: f7f1 feee bl 80177b0 <_ZN8PositionC1Effb> - 80259d4: f507 714e add.w r1, r7, #824 ; 0x338 - 80259d8: f1a1 011c sub.w r1, r1, #28 ; 0x1c - 80259dc: f507 7356 add.w r3, r7, #856 ; 0x358 - 80259e0: f1a3 030c sub.w r3, r3, #12 ; 0xc - 80259e4: f8df 2938 ldr.w r2, [pc, #2360] ; 8026320 <_ZN11StrategieV3C2Eb+0xf54> - 80259e8: 9200 str r2, [sp, #0] - 80259ea: 4608 mov r0, r1 - 80259ec: e893 0006 ldmia.w r3, {r1, r2} - 80259f0: f04f 0300 mov.w r3, #0 ; 0x0 - 80259f4: f7f2 fc14 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 80259f8: f507 734e add.w r3, r7, #824 ; 0x338 - 80259fc: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8025a00: 4620 mov r0, r4 - 8025a02: 4619 mov r1, r3 - 8025a04: f009 f9f8 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 8025a08: f507 734e add.w r3, r7, #824 ; 0x338 - 8025a0c: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8025a10: 4618 mov r0, r3 - 8025a12: f7f2 fbcd bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[4] = ActionGoTo(Position(185, 600, isBlue), false); - 8025a16: f507 739c add.w r3, r7, #312 ; 0x138 - 8025a1a: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8025a1e: 681b ldr r3, [r3, #0] - 8025a20: f503 74aa add.w r4, r3, #340 ; 0x154 - 8025a24: f507 7266 add.w r2, r7, #920 ; 0x398 - 8025a28: f1a2 0214 sub.w r2, r2, #20 ; 0x14 - 8025a2c: f507 739c add.w r3, r7, #312 ; 0x138 - 8025a30: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8025a34: 781b ldrb r3, [r3, #0] - 8025a36: 4610 mov r0, r2 - 8025a38: f8df 18dc ldr.w r1, [pc, #2268] ; 8026318 <_ZN11StrategieV3C2Eb+0xf4c> - 8025a3c: f8df 2904 ldr.w r2, [pc, #2308] ; 8026344 <_ZN11StrategieV3C2Eb+0xf78> - 8025a40: f7f1 feb6 bl 80177b0 <_ZN8PositionC1Effb> - 8025a44: f507 7156 add.w r1, r7, #856 ; 0x358 - 8025a48: f1a1 0104 sub.w r1, r1, #4 ; 0x4 - 8025a4c: f507 7366 add.w r3, r7, #920 ; 0x398 - 8025a50: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 8025a54: f8df 28c8 ldr.w r2, [pc, #2248] ; 8026320 <_ZN11StrategieV3C2Eb+0xf54> - 8025a58: 9200 str r2, [sp, #0] - 8025a5a: 4608 mov r0, r1 - 8025a5c: e893 0006 ldmia.w r3, {r1, r2} - 8025a60: f04f 0300 mov.w r3, #0 ; 0x0 - 8025a64: f7f2 fbdc bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 8025a68: f507 7356 add.w r3, r7, #856 ; 0x358 - 8025a6c: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8025a70: 4620 mov r0, r4 - 8025a72: 4619 mov r1, r3 - 8025a74: f009 f9c0 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 8025a78: f507 7356 add.w r3, r7, #856 ; 0x358 - 8025a7c: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8025a80: 4618 mov r0, r3 - 8025a82: f7f2 fb95 bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[5] = ActionGoTo(Position(600, 185, isBlue), false); - 8025a86: f507 739c add.w r3, r7, #312 ; 0x138 - 8025a8a: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8025a8e: 681b ldr r3, [r3, #0] - 8025a90: f503 74c2 add.w r4, r3, #388 ; 0x184 - 8025a94: f507 7276 add.w r2, r7, #984 ; 0x3d8 - 8025a98: f1a2 021c sub.w r2, r2, #28 ; 0x1c - 8025a9c: f507 739c add.w r3, r7, #312 ; 0x138 - 8025aa0: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8025aa4: 781b ldrb r3, [r3, #0] - 8025aa6: 4610 mov r0, r2 - 8025aa8: f8df 1898 ldr.w r1, [pc, #2200] ; 8026344 <_ZN11StrategieV3C2Eb+0xf78> - 8025aac: f8df 2868 ldr.w r2, [pc, #2152] ; 8026318 <_ZN11StrategieV3C2Eb+0xf4c> - 8025ab0: f7f1 fe7e bl 80177b0 <_ZN8PositionC1Effb> - 8025ab4: f507 7166 add.w r1, r7, #920 ; 0x398 - 8025ab8: f1a1 010c sub.w r1, r1, #12 ; 0xc - 8025abc: f507 7376 add.w r3, r7, #984 ; 0x3d8 - 8025ac0: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8025ac4: f8df 2858 ldr.w r2, [pc, #2136] ; 8026320 <_ZN11StrategieV3C2Eb+0xf54> - 8025ac8: 9200 str r2, [sp, #0] - 8025aca: 4608 mov r0, r1 - 8025acc: e893 0006 ldmia.w r3, {r1, r2} - 8025ad0: f04f 0300 mov.w r3, #0 ; 0x0 - 8025ad4: f7f2 fba4 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 8025ad8: f507 7366 add.w r3, r7, #920 ; 0x398 - 8025adc: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8025ae0: 4620 mov r0, r4 - 8025ae2: 4619 mov r1, r3 - 8025ae4: f009 f988 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 8025ae8: f507 7366 add.w r3, r7, #920 ; 0x398 - 8025aec: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8025af0: 4618 mov r0, r3 - 8025af2: f7f2 fb5d bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[6] = ActionGoTo(Position(800, 185, isBlue), false); - 8025af6: f507 739c add.w r3, r7, #312 ; 0x138 - 8025afa: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8025afe: 681b ldr r3, [r3, #0] - 8025b00: f503 74da add.w r4, r3, #436 ; 0x1b4 - 8025b04: f507 727e add.w r2, r7, #1016 ; 0x3f8 - 8025b08: f1a2 0204 sub.w r2, r2, #4 ; 0x4 - 8025b0c: f507 739c add.w r3, r7, #312 ; 0x138 - 8025b10: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8025b14: 781b ldrb r3, [r3, #0] - 8025b16: 4610 mov r0, r2 - 8025b18: f8df 1824 ldr.w r1, [pc, #2084] ; 8026340 <_ZN11StrategieV3C2Eb+0xf74> - 8025b1c: f8df 27f8 ldr.w r2, [pc, #2040] ; 8026318 <_ZN11StrategieV3C2Eb+0xf4c> - 8025b20: f7f1 fe46 bl 80177b0 <_ZN8PositionC1Effb> - 8025b24: f507 7176 add.w r1, r7, #984 ; 0x3d8 - 8025b28: f1a1 0114 sub.w r1, r1, #20 ; 0x14 - 8025b2c: f507 737e add.w r3, r7, #1016 ; 0x3f8 - 8025b30: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8025b34: f8df 27e8 ldr.w r2, [pc, #2024] ; 8026320 <_ZN11StrategieV3C2Eb+0xf54> - 8025b38: 9200 str r2, [sp, #0] - 8025b3a: 4608 mov r0, r1 - 8025b3c: e893 0006 ldmia.w r3, {r1, r2} - 8025b40: f04f 0300 mov.w r3, #0 ; 0x0 - 8025b44: f7f2 fb6c bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 8025b48: f507 7376 add.w r3, r7, #984 ; 0x3d8 - 8025b4c: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 8025b50: 4620 mov r0, r4 - 8025b52: 4619 mov r1, r3 - 8025b54: f009 f950 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 8025b58: f507 7376 add.w r3, r7, #984 ; 0x3d8 - 8025b5c: f1a3 0314 sub.w r3, r3, #20 ; 0x14 - 8025b60: 4618 mov r0, r3 - 8025b62: f7f2 fb25 bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[7] = ActionGoTo(Position(900, 185, isBlue), false); - 8025b66: f507 739c add.w r3, r7, #312 ; 0x138 - 8025b6a: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8025b6e: 681b ldr r3, [r3, #0] - 8025b70: f503 74f2 add.w r4, r3, #484 ; 0x1e4 - 8025b74: f507 6287 add.w r2, r7, #1080 ; 0x438 - 8025b78: f1a2 020c sub.w r2, r2, #12 ; 0xc - 8025b7c: f507 739c add.w r3, r7, #312 ; 0x138 - 8025b80: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8025b84: 781b ldrb r3, [r3, #0] - 8025b86: 4610 mov r0, r2 - 8025b88: f8df 17b0 ldr.w r1, [pc, #1968] ; 802633c <_ZN11StrategieV3C2Eb+0xf70> - 8025b8c: f8df 2788 ldr.w r2, [pc, #1928] ; 8026318 <_ZN11StrategieV3C2Eb+0xf4c> - 8025b90: f7f1 fe0e bl 80177b0 <_ZN8PositionC1Effb> - 8025b94: f507 6181 add.w r1, r7, #1032 ; 0x408 - 8025b98: f1a1 010c sub.w r1, r1, #12 ; 0xc - 8025b9c: f507 6387 add.w r3, r7, #1080 ; 0x438 - 8025ba0: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8025ba4: f8df 2778 ldr.w r2, [pc, #1912] ; 8026320 <_ZN11StrategieV3C2Eb+0xf54> - 8025ba8: 9200 str r2, [sp, #0] - 8025baa: 4608 mov r0, r1 - 8025bac: e893 0006 ldmia.w r3, {r1, r2} - 8025bb0: f04f 0300 mov.w r3, #0 ; 0x0 - 8025bb4: f7f2 fb34 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 8025bb8: f507 6381 add.w r3, r7, #1032 ; 0x408 - 8025bbc: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8025bc0: 4620 mov r0, r4 - 8025bc2: 4619 mov r1, r3 - 8025bc4: f009 f918 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 8025bc8: f507 6381 add.w r3, r7, #1032 ; 0x408 - 8025bcc: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8025bd0: 4618 mov r0, r3 - 8025bd2: f7f2 faed bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[8] = ActionGoTo(Position(1300, 185, isBlue), false); - 8025bd6: f507 739c add.w r3, r7, #312 ; 0x138 - 8025bda: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8025bde: 681b ldr r3, [r3, #0] - 8025be0: f503 7405 add.w r4, r3, #532 ; 0x214 - 8025be4: f507 628d add.w r2, r7, #1128 ; 0x468 - 8025be8: f1a2 0204 sub.w r2, r2, #4 ; 0x4 - 8025bec: f507 739c add.w r3, r7, #312 ; 0x138 - 8025bf0: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8025bf4: 781b ldrb r3, [r3, #0] - 8025bf6: 4610 mov r0, r2 - 8025bf8: f8df 1728 ldr.w r1, [pc, #1832] ; 8026324 <_ZN11StrategieV3C2Eb+0xf58> - 8025bfc: f8df 2718 ldr.w r2, [pc, #1816] ; 8026318 <_ZN11StrategieV3C2Eb+0xf4c> - 8025c00: f7f1 fdd6 bl 80177b0 <_ZN8PositionC1Effb> - 8025c04: f507 6187 add.w r1, r7, #1080 ; 0x438 - 8025c08: f1a1 0104 sub.w r1, r1, #4 ; 0x4 - 8025c0c: f507 638d add.w r3, r7, #1128 ; 0x468 - 8025c10: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8025c14: f8df 2708 ldr.w r2, [pc, #1800] ; 8026320 <_ZN11StrategieV3C2Eb+0xf54> - 8025c18: 9200 str r2, [sp, #0] - 8025c1a: 4608 mov r0, r1 - 8025c1c: e893 0006 ldmia.w r3, {r1, r2} - 8025c20: f04f 0300 mov.w r3, #0 ; 0x0 - 8025c24: f7f2 fafc bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 8025c28: f507 6387 add.w r3, r7, #1080 ; 0x438 - 8025c2c: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8025c30: 4620 mov r0, r4 - 8025c32: 4619 mov r1, r3 - 8025c34: f009 f8e0 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 8025c38: f507 6387 add.w r3, r7, #1080 ; 0x438 - 8025c3c: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8025c40: 4618 mov r0, r3 - 8025c42: f7f2 fab5 bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[9] = ActionGoTo(Position(1700, 185, isBlue), false); - 8025c46: f507 739c add.w r3, r7, #312 ; 0x138 - 8025c4a: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8025c4e: 681b ldr r3, [r3, #0] - 8025c50: f503 7411 add.w r4, r3, #580 ; 0x244 - 8025c54: f507 6295 add.w r2, r7, #1192 ; 0x4a8 - 8025c58: f1a2 020c sub.w r2, r2, #12 ; 0xc - 8025c5c: f507 739c add.w r3, r7, #312 ; 0x138 - 8025c60: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8025c64: 781b ldrb r3, [r3, #0] - 8025c66: 4610 mov r0, r2 - 8025c68: f8df 16bc ldr.w r1, [pc, #1724] ; 8026328 <_ZN11StrategieV3C2Eb+0xf5c> - 8025c6c: f8df 26a8 ldr.w r2, [pc, #1704] ; 8026318 <_ZN11StrategieV3C2Eb+0xf4c> - 8025c70: f7f1 fd9e bl 80177b0 <_ZN8PositionC1Effb> - 8025c74: f507 618f add.w r1, r7, #1144 ; 0x478 - 8025c78: f1a1 010c sub.w r1, r1, #12 ; 0xc - 8025c7c: f507 6395 add.w r3, r7, #1192 ; 0x4a8 - 8025c80: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8025c84: f8df 2698 ldr.w r2, [pc, #1688] ; 8026320 <_ZN11StrategieV3C2Eb+0xf54> - 8025c88: 9200 str r2, [sp, #0] - 8025c8a: 4608 mov r0, r1 - 8025c8c: e893 0006 ldmia.w r3, {r1, r2} - 8025c90: f04f 0300 mov.w r3, #0 ; 0x0 - 8025c94: f7f2 fac4 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 8025c98: f507 638f add.w r3, r7, #1144 ; 0x478 - 8025c9c: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8025ca0: 4620 mov r0, r4 - 8025ca2: 4619 mov r1, r3 - 8025ca4: f009 f8a8 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 8025ca8: f507 638f add.w r3, r7, #1144 ; 0x478 - 8025cac: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8025cb0: 4618 mov r0, r3 - 8025cb2: f7f2 fa7d bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[10] = ActionGoTo(Position(2100, 185, isBlue), false); - 8025cb6: f507 739c add.w r3, r7, #312 ; 0x138 - 8025cba: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8025cbe: 681b ldr r3, [r3, #0] - 8025cc0: f503 741d add.w r4, r3, #628 ; 0x274 - 8025cc4: f507 629b add.w r2, r7, #1240 ; 0x4d8 - 8025cc8: f1a2 0204 sub.w r2, r2, #4 ; 0x4 - 8025ccc: f507 739c add.w r3, r7, #312 ; 0x138 - 8025cd0: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8025cd4: 781b ldrb r3, [r3, #0] - 8025cd6: 4610 mov r0, r2 - 8025cd8: f8df 166c ldr.w r1, [pc, #1644] ; 8026348 <_ZN11StrategieV3C2Eb+0xf7c> - 8025cdc: f8df 2638 ldr.w r2, [pc, #1592] ; 8026318 <_ZN11StrategieV3C2Eb+0xf4c> - 8025ce0: f7f1 fd66 bl 80177b0 <_ZN8PositionC1Effb> - 8025ce4: f507 6195 add.w r1, r7, #1192 ; 0x4a8 - 8025ce8: f1a1 0104 sub.w r1, r1, #4 ; 0x4 - 8025cec: f507 639b add.w r3, r7, #1240 ; 0x4d8 - 8025cf0: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8025cf4: f8df 2628 ldr.w r2, [pc, #1576] ; 8026320 <_ZN11StrategieV3C2Eb+0xf54> - 8025cf8: 9200 str r2, [sp, #0] - 8025cfa: 4608 mov r0, r1 - 8025cfc: e893 0006 ldmia.w r3, {r1, r2} - 8025d00: f04f 0300 mov.w r3, #0 ; 0x0 - 8025d04: f7f2 fa8c bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 8025d08: f507 6395 add.w r3, r7, #1192 ; 0x4a8 - 8025d0c: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8025d10: 4620 mov r0, r4 - 8025d12: 4619 mov r1, r3 - 8025d14: f009 f870 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 8025d18: f507 6395 add.w r3, r7, #1192 ; 0x4a8 - 8025d1c: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8025d20: 4618 mov r0, r3 - 8025d22: f7f2 fa45 bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[11] = ActionGoTo(Position(2200, 185, isBlue), false); - 8025d26: f507 739c add.w r3, r7, #312 ; 0x138 - 8025d2a: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8025d2e: 681b ldr r3, [r3, #0] - 8025d30: f503 7429 add.w r4, r3, #676 ; 0x2a4 - 8025d34: f507 62a3 add.w r2, r7, #1304 ; 0x518 - 8025d38: f1a2 020c sub.w r2, r2, #12 ; 0xc - 8025d3c: f507 739c add.w r3, r7, #312 ; 0x138 - 8025d40: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8025d44: 781b ldrb r3, [r3, #0] - 8025d46: 4610 mov r0, r2 - 8025d48: f8df 1600 ldr.w r1, [pc, #1536] ; 802634c <_ZN11StrategieV3C2Eb+0xf80> - 8025d4c: f8df 25c8 ldr.w r2, [pc, #1480] ; 8026318 <_ZN11StrategieV3C2Eb+0xf4c> - 8025d50: f7f1 fd2e bl 80177b0 <_ZN8PositionC1Effb> - 8025d54: f507 619d add.w r1, r7, #1256 ; 0x4e8 - 8025d58: f1a1 010c sub.w r1, r1, #12 ; 0xc - 8025d5c: f507 63a3 add.w r3, r7, #1304 ; 0x518 - 8025d60: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8025d64: f8df 25b8 ldr.w r2, [pc, #1464] ; 8026320 <_ZN11StrategieV3C2Eb+0xf54> - 8025d68: 9200 str r2, [sp, #0] - 8025d6a: 4608 mov r0, r1 - 8025d6c: e893 0006 ldmia.w r3, {r1, r2} - 8025d70: f04f 0300 mov.w r3, #0 ; 0x0 - 8025d74: f7f2 fa54 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 8025d78: f507 639d add.w r3, r7, #1256 ; 0x4e8 - 8025d7c: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8025d80: 4620 mov r0, r4 - 8025d82: 4619 mov r1, r3 - 8025d84: f009 f838 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 8025d88: f507 639d add.w r3, r7, #1256 ; 0x4e8 - 8025d8c: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8025d90: 4618 mov r0, r3 - 8025d92: f7f2 fa0d bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[12] = ActionGoTo(Position(2400, 185, isBlue), false); - 8025d96: f507 739c add.w r3, r7, #312 ; 0x138 - 8025d9a: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8025d9e: 681b ldr r3, [r3, #0] - 8025da0: f503 7435 add.w r4, r3, #724 ; 0x2d4 - 8025da4: f507 62a9 add.w r2, r7, #1352 ; 0x548 - 8025da8: f1a2 0204 sub.w r2, r2, #4 ; 0x4 - 8025dac: f507 739c add.w r3, r7, #312 ; 0x138 - 8025db0: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8025db4: 781b ldrb r3, [r3, #0] - 8025db6: 4610 mov r0, r2 - 8025db8: f8df 1574 ldr.w r1, [pc, #1396] ; 8026330 <_ZN11StrategieV3C2Eb+0xf64> - 8025dbc: f8df 2558 ldr.w r2, [pc, #1368] ; 8026318 <_ZN11StrategieV3C2Eb+0xf4c> - 8025dc0: f7f1 fcf6 bl 80177b0 <_ZN8PositionC1Effb> - 8025dc4: f507 61a3 add.w r1, r7, #1304 ; 0x518 - 8025dc8: f1a1 0104 sub.w r1, r1, #4 ; 0x4 - 8025dcc: f507 63a9 add.w r3, r7, #1352 ; 0x548 - 8025dd0: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8025dd4: f8df 2548 ldr.w r2, [pc, #1352] ; 8026320 <_ZN11StrategieV3C2Eb+0xf54> - 8025dd8: 9200 str r2, [sp, #0] - 8025dda: 4608 mov r0, r1 - 8025ddc: e893 0006 ldmia.w r3, {r1, r2} - 8025de0: f04f 0300 mov.w r3, #0 ; 0x0 - 8025de4: f7f2 fa1c bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 8025de8: f507 63a3 add.w r3, r7, #1304 ; 0x518 - 8025dec: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8025df0: 4620 mov r0, r4 - 8025df2: 4619 mov r1, r3 - 8025df4: f009 f800 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 8025df8: f507 63a3 add.w r3, r7, #1304 ; 0x518 - 8025dfc: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8025e00: 4618 mov r0, r3 - 8025e02: f7f2 f9d5 bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[13] = ActionGoTo(Position(2815, 600, isBlue), false); - 8025e06: f507 739c add.w r3, r7, #312 ; 0x138 - 8025e0a: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8025e0e: 681b ldr r3, [r3, #0] - 8025e10: f503 7441 add.w r4, r3, #772 ; 0x304 - 8025e14: f507 62b1 add.w r2, r7, #1416 ; 0x588 - 8025e18: f1a2 020c sub.w r2, r2, #12 ; 0xc - 8025e1c: f507 739c add.w r3, r7, #312 ; 0x138 - 8025e20: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8025e24: 781b ldrb r3, [r3, #0] - 8025e26: 4610 mov r0, r2 - 8025e28: f8df 1500 ldr.w r1, [pc, #1280] ; 802632c <_ZN11StrategieV3C2Eb+0xf60> - 8025e2c: f8df 2514 ldr.w r2, [pc, #1300] ; 8026344 <_ZN11StrategieV3C2Eb+0xf78> - 8025e30: f7f1 fcbe bl 80177b0 <_ZN8PositionC1Effb> - 8025e34: f507 61ab add.w r1, r7, #1368 ; 0x558 - 8025e38: f1a1 010c sub.w r1, r1, #12 ; 0xc - 8025e3c: f507 63b1 add.w r3, r7, #1416 ; 0x588 - 8025e40: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8025e44: f8df 24d8 ldr.w r2, [pc, #1240] ; 8026320 <_ZN11StrategieV3C2Eb+0xf54> - 8025e48: 9200 str r2, [sp, #0] - 8025e4a: 4608 mov r0, r1 - 8025e4c: e893 0006 ldmia.w r3, {r1, r2} - 8025e50: f04f 0300 mov.w r3, #0 ; 0x0 - 8025e54: f7f2 f9e4 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 8025e58: f507 63ab add.w r3, r7, #1368 ; 0x558 - 8025e5c: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8025e60: 4620 mov r0, r4 - 8025e62: 4619 mov r1, r3 - 8025e64: f008 ffc8 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 8025e68: f507 63ab add.w r3, r7, #1368 ; 0x558 - 8025e6c: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8025e70: 4618 mov r0, r3 - 8025e72: f7f2 f99d bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[14] = ActionGoTo(Position(2815, 800, isBlue), false); - 8025e76: f507 739c add.w r3, r7, #312 ; 0x138 - 8025e7a: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8025e7e: 681b ldr r3, [r3, #0] - 8025e80: f503 744d add.w r4, r3, #820 ; 0x334 - 8025e84: f507 62b7 add.w r2, r7, #1464 ; 0x5b8 - 8025e88: f1a2 0204 sub.w r2, r2, #4 ; 0x4 - 8025e8c: f507 739c add.w r3, r7, #312 ; 0x138 - 8025e90: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8025e94: 781b ldrb r3, [r3, #0] - 8025e96: 4610 mov r0, r2 - 8025e98: f8df 1490 ldr.w r1, [pc, #1168] ; 802632c <_ZN11StrategieV3C2Eb+0xf60> - 8025e9c: f8df 24a0 ldr.w r2, [pc, #1184] ; 8026340 <_ZN11StrategieV3C2Eb+0xf74> - 8025ea0: f7f1 fc86 bl 80177b0 <_ZN8PositionC1Effb> - 8025ea4: f507 61b1 add.w r1, r7, #1416 ; 0x588 - 8025ea8: f1a1 0104 sub.w r1, r1, #4 ; 0x4 - 8025eac: f507 63b7 add.w r3, r7, #1464 ; 0x5b8 - 8025eb0: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8025eb4: f8df 2468 ldr.w r2, [pc, #1128] ; 8026320 <_ZN11StrategieV3C2Eb+0xf54> - 8025eb8: 9200 str r2, [sp, #0] - 8025eba: 4608 mov r0, r1 - 8025ebc: e893 0006 ldmia.w r3, {r1, r2} - 8025ec0: f04f 0300 mov.w r3, #0 ; 0x0 - 8025ec4: f7f2 f9ac bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 8025ec8: f507 63b1 add.w r3, r7, #1416 ; 0x588 - 8025ecc: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8025ed0: 4620 mov r0, r4 - 8025ed2: 4619 mov r1, r3 - 8025ed4: f008 ff90 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 8025ed8: f507 63b1 add.w r3, r7, #1416 ; 0x588 - 8025edc: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8025ee0: 4618 mov r0, r3 - 8025ee2: f7f2 f965 bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[15] = ActionGoTo(Position(2815, 900, isBlue), false); - 8025ee6: f507 739c add.w r3, r7, #312 ; 0x138 - 8025eea: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8025eee: 681b ldr r3, [r3, #0] - 8025ef0: f503 7459 add.w r4, r3, #868 ; 0x364 - 8025ef4: f507 62bf add.w r2, r7, #1528 ; 0x5f8 - 8025ef8: f1a2 020c sub.w r2, r2, #12 ; 0xc - 8025efc: f507 739c add.w r3, r7, #312 ; 0x138 - 8025f00: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8025f04: 781b ldrb r3, [r3, #0] - 8025f06: 4610 mov r0, r2 - 8025f08: f8df 1420 ldr.w r1, [pc, #1056] ; 802632c <_ZN11StrategieV3C2Eb+0xf60> - 8025f0c: f8df 242c ldr.w r2, [pc, #1068] ; 802633c <_ZN11StrategieV3C2Eb+0xf70> - 8025f10: f7f1 fc4e bl 80177b0 <_ZN8PositionC1Effb> - 8025f14: f507 61b9 add.w r1, r7, #1480 ; 0x5c8 - 8025f18: f1a1 010c sub.w r1, r1, #12 ; 0xc - 8025f1c: f507 63bf add.w r3, r7, #1528 ; 0x5f8 - 8025f20: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8025f24: 4afe ldr r2, [pc, #1016] (8026320 <_ZN11StrategieV3C2Eb+0xf54>) - 8025f26: 9200 str r2, [sp, #0] - 8025f28: 4608 mov r0, r1 - 8025f2a: e893 0006 ldmia.w r3, {r1, r2} - 8025f2e: f04f 0300 mov.w r3, #0 ; 0x0 - 8025f32: f7f2 f975 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 8025f36: f507 63b9 add.w r3, r7, #1480 ; 0x5c8 - 8025f3a: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8025f3e: 4620 mov r0, r4 - 8025f40: 4619 mov r1, r3 - 8025f42: f008 ff59 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 8025f46: f507 63b9 add.w r3, r7, #1480 ; 0x5c8 - 8025f4a: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8025f4e: 4618 mov r0, r3 - 8025f50: f7f2 f92e bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[16] = ActionGoTo(Position(2815, 1200, isBlue), false); - 8025f54: f507 739c add.w r3, r7, #312 ; 0x138 - 8025f58: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8025f5c: 681b ldr r3, [r3, #0] - 8025f5e: f503 7465 add.w r4, r3, #916 ; 0x394 - 8025f62: f507 62c5 add.w r2, r7, #1576 ; 0x628 - 8025f66: f1a2 0204 sub.w r2, r2, #4 ; 0x4 - 8025f6a: f507 739c add.w r3, r7, #312 ; 0x138 - 8025f6e: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8025f72: 781b ldrb r3, [r3, #0] - 8025f74: 4610 mov r0, r2 - 8025f76: 49ed ldr r1, [pc, #948] (802632c <_ZN11StrategieV3C2Eb+0xf60>) - 8025f78: 4ae8 ldr r2, [pc, #928] (802631c <_ZN11StrategieV3C2Eb+0xf50>) - 8025f7a: f7f1 fc19 bl 80177b0 <_ZN8PositionC1Effb> - 8025f7e: f507 61bf add.w r1, r7, #1528 ; 0x5f8 - 8025f82: f1a1 0104 sub.w r1, r1, #4 ; 0x4 - 8025f86: f507 63c5 add.w r3, r7, #1576 ; 0x628 - 8025f8a: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8025f8e: 4ae4 ldr r2, [pc, #912] (8026320 <_ZN11StrategieV3C2Eb+0xf54>) - 8025f90: 9200 str r2, [sp, #0] - 8025f92: 4608 mov r0, r1 - 8025f94: e893 0006 ldmia.w r3, {r1, r2} - 8025f98: f04f 0300 mov.w r3, #0 ; 0x0 - 8025f9c: f7f2 f940 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 8025fa0: f507 63bf add.w r3, r7, #1528 ; 0x5f8 - 8025fa4: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8025fa8: 4620 mov r0, r4 - 8025faa: 4619 mov r1, r3 - 8025fac: f008 ff24 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 8025fb0: f507 63bf add.w r3, r7, #1528 ; 0x5f8 - 8025fb4: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8025fb8: 4618 mov r0, r3 - 8025fba: f7f2 f8f9 bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[17] = ActionGoTo(Position(2400, 1550, isBlue), false); - 8025fbe: f507 739c add.w r3, r7, #312 ; 0x138 - 8025fc2: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8025fc6: 681b ldr r3, [r3, #0] - 8025fc8: f503 7471 add.w r4, r3, #964 ; 0x3c4 - 8025fcc: f507 62cd add.w r2, r7, #1640 ; 0x668 - 8025fd0: f1a2 020c sub.w r2, r2, #12 ; 0xc - 8025fd4: f507 739c add.w r3, r7, #312 ; 0x138 - 8025fd8: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8025fdc: 781b ldrb r3, [r3, #0] - 8025fde: 4610 mov r0, r2 - 8025fe0: 49d3 ldr r1, [pc, #844] (8026330 <_ZN11StrategieV3C2Eb+0xf64>) - 8025fe2: 4ad4 ldr r2, [pc, #848] (8026334 <_ZN11StrategieV3C2Eb+0xf68>) - 8025fe4: f7f1 fbe4 bl 80177b0 <_ZN8PositionC1Effb> - 8025fe8: f507 61c7 add.w r1, r7, #1592 ; 0x638 - 8025fec: f1a1 010c sub.w r1, r1, #12 ; 0xc - 8025ff0: f507 63cd add.w r3, r7, #1640 ; 0x668 - 8025ff4: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8025ff8: 4ac9 ldr r2, [pc, #804] (8026320 <_ZN11StrategieV3C2Eb+0xf54>) - 8025ffa: 9200 str r2, [sp, #0] - 8025ffc: 4608 mov r0, r1 - 8025ffe: e893 0006 ldmia.w r3, {r1, r2} - 8026002: f04f 0300 mov.w r3, #0 ; 0x0 - 8026006: f7f2 f90b bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 802600a: f507 63c7 add.w r3, r7, #1592 ; 0x638 - 802600e: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8026012: 4620 mov r0, r4 - 8026014: 4619 mov r1, r3 - 8026016: f008 feef bl 802edf8 <_ZN10ActionGoToaSERKS_> - 802601a: f507 63c7 add.w r3, r7, #1592 ; 0x638 - 802601e: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8026022: 4618 mov r0, r3 - 8026024: f7f2 f8c4 bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[18] = ActionGoTo(Position(2100, 1550, isBlue), false); - 8026028: f507 739c add.w r3, r7, #312 ; 0x138 - 802602c: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8026030: 681b ldr r3, [r3, #0] - 8026032: f503 747d add.w r4, r3, #1012 ; 0x3f4 - 8026036: f507 62d3 add.w r2, r7, #1688 ; 0x698 - 802603a: f1a2 0204 sub.w r2, r2, #4 ; 0x4 - 802603e: f507 739c add.w r3, r7, #312 ; 0x138 - 8026042: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8026046: 781b ldrb r3, [r3, #0] - 8026048: 4610 mov r0, r2 - 802604a: 49bf ldr r1, [pc, #764] (8026348 <_ZN11StrategieV3C2Eb+0xf7c>) - 802604c: 4ab9 ldr r2, [pc, #740] (8026334 <_ZN11StrategieV3C2Eb+0xf68>) - 802604e: f7f1 fbaf bl 80177b0 <_ZN8PositionC1Effb> - 8026052: f507 61cd add.w r1, r7, #1640 ; 0x668 - 8026056: f1a1 0104 sub.w r1, r1, #4 ; 0x4 - 802605a: f507 63d3 add.w r3, r7, #1688 ; 0x698 - 802605e: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8026062: 4aaf ldr r2, [pc, #700] (8026320 <_ZN11StrategieV3C2Eb+0xf54>) - 8026064: 9200 str r2, [sp, #0] - 8026066: 4608 mov r0, r1 - 8026068: e893 0006 ldmia.w r3, {r1, r2} - 802606c: f04f 0300 mov.w r3, #0 ; 0x0 - 8026070: f7f2 f8d6 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 8026074: f507 63cd add.w r3, r7, #1640 ; 0x668 - 8026078: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 802607c: 4620 mov r0, r4 - 802607e: 4619 mov r1, r3 - 8026080: f008 feba bl 802edf8 <_ZN10ActionGoToaSERKS_> - 8026084: f507 63cd add.w r3, r7, #1640 ; 0x668 - 8026088: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 802608c: 4618 mov r0, r3 - 802608e: f7f2 f88f bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[19] = ActionGoTo(Position(600, 900, isBlue), false); - 8026092: f507 739c add.w r3, r7, #312 ; 0x138 - 8026096: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802609a: 681b ldr r3, [r3, #0] - 802609c: f503 6484 add.w r4, r3, #1056 ; 0x420 - 80260a0: f104 0404 add.w r4, r4, #4 ; 0x4 - 80260a4: f507 62db add.w r2, r7, #1752 ; 0x6d8 - 80260a8: f1a2 020c sub.w r2, r2, #12 ; 0xc - 80260ac: f507 739c add.w r3, r7, #312 ; 0x138 - 80260b0: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 80260b4: 781b ldrb r3, [r3, #0] - 80260b6: 4610 mov r0, r2 - 80260b8: 49a2 ldr r1, [pc, #648] (8026344 <_ZN11StrategieV3C2Eb+0xf78>) - 80260ba: 4aa0 ldr r2, [pc, #640] (802633c <_ZN11StrategieV3C2Eb+0xf70>) - 80260bc: f7f1 fb78 bl 80177b0 <_ZN8PositionC1Effb> - 80260c0: f507 61d5 add.w r1, r7, #1704 ; 0x6a8 - 80260c4: f1a1 010c sub.w r1, r1, #12 ; 0xc - 80260c8: f507 63db add.w r3, r7, #1752 ; 0x6d8 - 80260cc: f1a3 030c sub.w r3, r3, #12 ; 0xc - 80260d0: 4a93 ldr r2, [pc, #588] (8026320 <_ZN11StrategieV3C2Eb+0xf54>) - 80260d2: 9200 str r2, [sp, #0] - 80260d4: 4608 mov r0, r1 - 80260d6: e893 0006 ldmia.w r3, {r1, r2} - 80260da: f04f 0300 mov.w r3, #0 ; 0x0 - 80260de: f7f2 f89f bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 80260e2: f507 63d5 add.w r3, r7, #1704 ; 0x6a8 - 80260e6: f1a3 030c sub.w r3, r3, #12 ; 0xc - 80260ea: 4620 mov r0, r4 - 80260ec: 4619 mov r1, r3 - 80260ee: f008 fe83 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 80260f2: f507 63d5 add.w r3, r7, #1704 ; 0x6a8 - 80260f6: f1a3 030c sub.w r3, r3, #12 ; 0xc - 80260fa: 4618 mov r0, r3 - 80260fc: f7f2 f858 bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[20] = ActionGoTo(Position(900, 600, isBlue), false); - 8026100: f507 739c add.w r3, r7, #312 ; 0x138 - 8026104: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8026108: 681b ldr r3, [r3, #0] - 802610a: f503 648a add.w r4, r3, #1104 ; 0x450 - 802610e: f104 0404 add.w r4, r4, #4 ; 0x4 - 8026112: f507 62e1 add.w r2, r7, #1800 ; 0x708 - 8026116: f1a2 0204 sub.w r2, r2, #4 ; 0x4 - 802611a: f507 739c add.w r3, r7, #312 ; 0x138 - 802611e: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8026122: 781b ldrb r3, [r3, #0] - 8026124: 4610 mov r0, r2 - 8026126: 4985 ldr r1, [pc, #532] (802633c <_ZN11StrategieV3C2Eb+0xf70>) - 8026128: 4a86 ldr r2, [pc, #536] (8026344 <_ZN11StrategieV3C2Eb+0xf78>) - 802612a: f7f1 fb41 bl 80177b0 <_ZN8PositionC1Effb> - 802612e: f507 61db add.w r1, r7, #1752 ; 0x6d8 - 8026132: f1a1 0104 sub.w r1, r1, #4 ; 0x4 - 8026136: f507 63e1 add.w r3, r7, #1800 ; 0x708 - 802613a: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 802613e: 4a78 ldr r2, [pc, #480] (8026320 <_ZN11StrategieV3C2Eb+0xf54>) - 8026140: 9200 str r2, [sp, #0] - 8026142: 4608 mov r0, r1 - 8026144: e893 0006 ldmia.w r3, {r1, r2} - 8026148: f04f 0300 mov.w r3, #0 ; 0x0 - 802614c: f7f2 f868 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 8026150: f507 63db add.w r3, r7, #1752 ; 0x6d8 - 8026154: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8026158: 4620 mov r0, r4 - 802615a: 4619 mov r1, r3 - 802615c: f008 fe4c bl 802edf8 <_ZN10ActionGoToaSERKS_> - 8026160: f507 63db add.w r3, r7, #1752 ; 0x6d8 - 8026164: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8026168: 4618 mov r0, r3 - 802616a: f7f2 f821 bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[21] = ActionGoTo(Position(1500, 600, isBlue), false); - 802616e: f507 739c add.w r3, r7, #312 ; 0x138 - 8026172: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8026176: 681b ldr r3, [r3, #0] - 8026178: f503 6490 add.w r4, r3, #1152 ; 0x480 - 802617c: f104 0404 add.w r4, r4, #4 ; 0x4 - 8026180: f507 62e9 add.w r2, r7, #1864 ; 0x748 - 8026184: f1a2 020c sub.w r2, r2, #12 ; 0xc - 8026188: f507 739c add.w r3, r7, #312 ; 0x138 - 802618c: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8026190: 781b ldrb r3, [r3, #0] - 8026192: 4610 mov r0, r2 - 8026194: 4968 ldr r1, [pc, #416] (8026338 <_ZN11StrategieV3C2Eb+0xf6c>) - 8026196: 4a6b ldr r2, [pc, #428] (8026344 <_ZN11StrategieV3C2Eb+0xf78>) - 8026198: f7f1 fb0a bl 80177b0 <_ZN8PositionC1Effb> - 802619c: f507 61e3 add.w r1, r7, #1816 ; 0x718 - 80261a0: f1a1 010c sub.w r1, r1, #12 ; 0xc - 80261a4: f507 63e9 add.w r3, r7, #1864 ; 0x748 - 80261a8: f1a3 030c sub.w r3, r3, #12 ; 0xc - 80261ac: 4a5c ldr r2, [pc, #368] (8026320 <_ZN11StrategieV3C2Eb+0xf54>) - 80261ae: 9200 str r2, [sp, #0] - 80261b0: 4608 mov r0, r1 - 80261b2: e893 0006 ldmia.w r3, {r1, r2} - 80261b6: f04f 0300 mov.w r3, #0 ; 0x0 - 80261ba: f7f2 f831 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 80261be: f507 63e3 add.w r3, r7, #1816 ; 0x718 - 80261c2: f1a3 030c sub.w r3, r3, #12 ; 0xc - 80261c6: 4620 mov r0, r4 - 80261c8: 4619 mov r1, r3 - 80261ca: f008 fe15 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 80261ce: f507 63e3 add.w r3, r7, #1816 ; 0x718 - 80261d2: f1a3 030c sub.w r3, r3, #12 ; 0xc - 80261d6: 4618 mov r0, r3 - 80261d8: f7f1 ffea bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[22] = ActionGoTo(Position(2100, 600, isBlue), false); - 80261dc: f507 739c add.w r3, r7, #312 ; 0x138 - 80261e0: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80261e4: 681b ldr r3, [r3, #0] - 80261e6: f503 6496 add.w r4, r3, #1200 ; 0x4b0 - 80261ea: f104 0404 add.w r4, r4, #4 ; 0x4 - 80261ee: f507 62ef add.w r2, r7, #1912 ; 0x778 - 80261f2: f1a2 0204 sub.w r2, r2, #4 ; 0x4 - 80261f6: f507 739c add.w r3, r7, #312 ; 0x138 - 80261fa: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 80261fe: 781b ldrb r3, [r3, #0] - 8026200: 4610 mov r0, r2 - 8026202: 4951 ldr r1, [pc, #324] (8026348 <_ZN11StrategieV3C2Eb+0xf7c>) - 8026204: 4a4f ldr r2, [pc, #316] (8026344 <_ZN11StrategieV3C2Eb+0xf78>) - 8026206: f7f1 fad3 bl 80177b0 <_ZN8PositionC1Effb> - 802620a: f507 61e9 add.w r1, r7, #1864 ; 0x748 - 802620e: f1a1 0104 sub.w r1, r1, #4 ; 0x4 - 8026212: f507 63ef add.w r3, r7, #1912 ; 0x778 - 8026216: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 802621a: 4a41 ldr r2, [pc, #260] (8026320 <_ZN11StrategieV3C2Eb+0xf54>) - 802621c: 9200 str r2, [sp, #0] - 802621e: 4608 mov r0, r1 - 8026220: e893 0006 ldmia.w r3, {r1, r2} - 8026224: f04f 0300 mov.w r3, #0 ; 0x0 - 8026228: f7f1 fffa bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 802622c: f507 63e9 add.w r3, r7, #1864 ; 0x748 - 8026230: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8026234: 4620 mov r0, r4 - 8026236: 4619 mov r1, r3 - 8026238: f008 fdde bl 802edf8 <_ZN10ActionGoToaSERKS_> - 802623c: f507 63e9 add.w r3, r7, #1864 ; 0x748 - 8026240: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8026244: 4618 mov r0, r3 - 8026246: f7f1 ffb3 bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[23] = ActionGoTo(Position(1800, 800, isBlue), false); - 802624a: f507 739c add.w r3, r7, #312 ; 0x138 - 802624e: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8026252: 681b ldr r3, [r3, #0] - 8026254: f503 649c add.w r4, r3, #1248 ; 0x4e0 - 8026258: f104 0404 add.w r4, r4, #4 ; 0x4 - 802625c: f507 62f7 add.w r2, r7, #1976 ; 0x7b8 - 8026260: f1a2 020c sub.w r2, r2, #12 ; 0xc - 8026264: f507 739c add.w r3, r7, #312 ; 0x138 - 8026268: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 802626c: 781b ldrb r3, [r3, #0] - 802626e: 4610 mov r0, r2 - 8026270: 4937 ldr r1, [pc, #220] (8026350 <_ZN11StrategieV3C2Eb+0xf84>) - 8026272: 4a33 ldr r2, [pc, #204] (8026340 <_ZN11StrategieV3C2Eb+0xf74>) - 8026274: f7f1 fa9c bl 80177b0 <_ZN8PositionC1Effb> - 8026278: f507 61f1 add.w r1, r7, #1928 ; 0x788 - 802627c: f1a1 010c sub.w r1, r1, #12 ; 0xc - 8026280: f507 63f7 add.w r3, r7, #1976 ; 0x7b8 - 8026284: f1a3 030c sub.w r3, r3, #12 ; 0xc - 8026288: 4a25 ldr r2, [pc, #148] (8026320 <_ZN11StrategieV3C2Eb+0xf54>) - 802628a: 9200 str r2, [sp, #0] - 802628c: 4608 mov r0, r1 - 802628e: e893 0006 ldmia.w r3, {r1, r2} - 8026292: f04f 0300 mov.w r3, #0 ; 0x0 - 8026296: f7f1 ffc3 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 802629a: f507 63f1 add.w r3, r7, #1928 ; 0x788 - 802629e: f1a3 030c sub.w r3, r3, #12 ; 0xc - 80262a2: 4620 mov r0, r4 - 80262a4: 4619 mov r1, r3 - 80262a6: f008 fda7 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 80262aa: f507 63f1 add.w r3, r7, #1928 ; 0x788 - 80262ae: f1a3 030c sub.w r3, r3, #12 ; 0xc - 80262b2: 4618 mov r0, r3 - 80262b4: f7f1 ff7c bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[24] = ActionGoTo(Position(2400, 900, isBlue), false); - 80262b8: f507 739c add.w r3, r7, #312 ; 0x138 - 80262bc: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80262c0: 681b ldr r3, [r3, #0] - 80262c2: f503 64a2 add.w r4, r3, #1296 ; 0x510 - 80262c6: f104 0404 add.w r4, r4, #4 ; 0x4 - 80262ca: f507 62fc add.w r2, r7, #2016 ; 0x7e0 - 80262ce: f102 0204 add.w r2, r2, #4 ; 0x4 - 80262d2: f507 739c add.w r3, r7, #312 ; 0x138 - 80262d6: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 80262da: 781b ldrb r3, [r3, #0] - 80262dc: 4610 mov r0, r2 - 80262de: 4914 ldr r1, [pc, #80] (8026330 <_ZN11StrategieV3C2Eb+0xf64>) - 80262e0: 4a16 ldr r2, [pc, #88] (802633c <_ZN11StrategieV3C2Eb+0xf70>) - 80262e2: f7f1 fa65 bl 80177b0 <_ZN8PositionC1Effb> - 80262e6: f507 62f7 add.w r2, r7, #1976 ; 0x7b8 - 80262ea: f1a2 0204 sub.w r2, r2, #4 ; 0x4 - 80262ee: f507 61fc add.w r1, r7, #2016 ; 0x7e0 - 80262f2: f101 0104 add.w r1, r1, #4 ; 0x4 - 80262f6: 4b0a ldr r3, [pc, #40] (8026320 <_ZN11StrategieV3C2Eb+0xf54>) - 80262f8: 9300 str r3, [sp, #0] - 80262fa: 4610 mov r0, r2 - 80262fc: c906 ldmia r1!, {r1, r2} - 80262fe: f04f 0300 mov.w r3, #0 ; 0x0 - 8026302: f7f1 ff8d bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 8026306: f507 63f7 add.w r3, r7, #1976 ; 0x7b8 - 802630a: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 802630e: 4620 mov r0, r4 - 8026310: 4619 mov r1, r3 - 8026312: e01f b.n 8026354 <_ZN11StrategieV3C2Eb+0xf88> - 8026314: 00015f90 .word 0x00015f90 - 8026318: 43390000 .word 0x43390000 - 802631c: 44960000 .word 0x44960000 - 8026320: 41f00000 .word 0x41f00000 - 8026324: 44a28000 .word 0x44a28000 - 8026328: 44d48000 .word 0x44d48000 - 802632c: 452ff000 .word 0x452ff000 - 8026330: 45160000 .word 0x45160000 - 8026334: 44c1c000 .word 0x44c1c000 - 8026338: 44bb8000 .word 0x44bb8000 - 802633c: 44610000 .word 0x44610000 - 8026340: 44480000 .word 0x44480000 - 8026344: 44160000 .word 0x44160000 - 8026348: 45034000 .word 0x45034000 - 802634c: 45098000 .word 0x45098000 - 8026350: 44e10000 .word 0x44e10000 - 8026354: f008 fd50 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 8026358: f507 63f7 add.w r3, r7, #1976 ; 0x7b8 - 802635c: f1a3 0304 sub.w r3, r3, #4 ; 0x4 - 8026360: 4618 mov r0, r3 - 8026362: f7f1 ff25 bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[25] = ActionGoTo(Position(2100, 1200, isBlue), false); - 8026366: f507 739c add.w r3, r7, #312 ; 0x138 - 802636a: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802636e: 681b ldr r3, [r3, #0] - 8026370: f503 64a8 add.w r4, r3, #1344 ; 0x540 - 8026374: f104 0404 add.w r4, r4, #4 ; 0x4 - 8026378: f507 6200 add.w r2, r7, #2048 ; 0x800 - 802637c: f102 021c add.w r2, r2, #28 ; 0x1c - 8026380: f507 739c add.w r3, r7, #312 ; 0x138 - 8026384: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8026388: 781b ldrb r3, [r3, #0] - 802638a: 4610 mov r0, r2 - 802638c: f8df 1b2c ldr.w r1, [pc, #2860] ; 8026ebc <_ZN11StrategieV3C2Eb+0x1af0> - 8026390: f8df 2b2c ldr.w r2, [pc, #2860] ; 8026ec0 <_ZN11StrategieV3C2Eb+0x1af4> - 8026394: f7f1 fa0c bl 80177b0 <_ZN8PositionC1Effb> - 8026398: f507 61fc add.w r1, r7, #2016 ; 0x7e0 - 802639c: f101 010c add.w r1, r1, #12 ; 0xc - 80263a0: f507 6200 add.w r2, r7, #2048 ; 0x800 - 80263a4: f102 021c add.w r2, r2, #28 ; 0x1c - 80263a8: f8df 3b18 ldr.w r3, [pc, #2840] ; 8026ec4 <_ZN11StrategieV3C2Eb+0x1af8> - 80263ac: 9300 str r3, [sp, #0] - 80263ae: 4608 mov r0, r1 - 80263b0: ca06 ldmia r2!, {r1, r2} - 80263b2: f04f 0300 mov.w r3, #0 ; 0x0 - 80263b6: f7f1 ff33 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 80263ba: f507 63fc add.w r3, r7, #2016 ; 0x7e0 - 80263be: f103 030c add.w r3, r3, #12 ; 0xc - 80263c2: 4620 mov r0, r4 - 80263c4: 4619 mov r1, r3 - 80263c6: f008 fd17 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 80263ca: f507 63fc add.w r3, r7, #2016 ; 0x7e0 - 80263ce: f103 030c add.w r3, r3, #12 ; 0xc - 80263d2: 4618 mov r0, r3 - 80263d4: f7f1 feec bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[26] = ActionGoTo(Position(1800, 1550, isBlue), false); - 80263d8: f507 739c add.w r3, r7, #312 ; 0x138 - 80263dc: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80263e0: 681b ldr r3, [r3, #0] - 80263e2: f503 64ae add.w r4, r3, #1392 ; 0x570 - 80263e6: f104 0404 add.w r4, r4, #4 ; 0x4 - 80263ea: f507 6204 add.w r2, r7, #2112 ; 0x840 - 80263ee: f102 0214 add.w r2, r2, #20 ; 0x14 - 80263f2: f507 739c add.w r3, r7, #312 ; 0x138 - 80263f6: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 80263fa: 781b ldrb r3, [r3, #0] - 80263fc: 4610 mov r0, r2 - 80263fe: f8df 1ac8 ldr.w r1, [pc, #2760] ; 8026ec8 <_ZN11StrategieV3C2Eb+0x1afc> - 8026402: f8df 2ac8 ldr.w r2, [pc, #2760] ; 8026ecc <_ZN11StrategieV3C2Eb+0x1b00> - 8026406: f7f1 f9d3 bl 80177b0 <_ZN8PositionC1Effb> - 802640a: f507 6102 add.w r1, r7, #2080 ; 0x820 - 802640e: f101 0104 add.w r1, r1, #4 ; 0x4 - 8026412: f507 6204 add.w r2, r7, #2112 ; 0x840 - 8026416: f102 0214 add.w r2, r2, #20 ; 0x14 - 802641a: f8df 3aa8 ldr.w r3, [pc, #2728] ; 8026ec4 <_ZN11StrategieV3C2Eb+0x1af8> - 802641e: 9300 str r3, [sp, #0] - 8026420: 4608 mov r0, r1 - 8026422: ca06 ldmia r2!, {r1, r2} - 8026424: f04f 0300 mov.w r3, #0 ; 0x0 - 8026428: f7f1 fefa bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 802642c: f507 6302 add.w r3, r7, #2080 ; 0x820 - 8026430: f103 0304 add.w r3, r3, #4 ; 0x4 - 8026434: 4620 mov r0, r4 - 8026436: 4619 mov r1, r3 - 8026438: f008 fcde bl 802edf8 <_ZN10ActionGoToaSERKS_> - 802643c: f507 6302 add.w r3, r7, #2080 ; 0x820 - 8026440: f103 0304 add.w r3, r3, #4 ; 0x4 - 8026444: 4618 mov r0, r3 - 8026446: f7f1 feb3 bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[27] = ActionGoTo(Position(1800, 1000, isBlue), false); - 802644a: f507 739c add.w r3, r7, #312 ; 0x138 - 802644e: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8026452: 681b ldr r3, [r3, #0] - 8026454: f503 64b4 add.w r4, r3, #1440 ; 0x5a0 - 8026458: f104 0404 add.w r4, r4, #4 ; 0x4 - 802645c: f507 6208 add.w r2, r7, #2176 ; 0x880 - 8026460: f102 020c add.w r2, r2, #12 ; 0xc - 8026464: f507 739c add.w r3, r7, #312 ; 0x138 - 8026468: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 802646c: 781b ldrb r3, [r3, #0] - 802646e: 4610 mov r0, r2 - 8026470: f8df 1a54 ldr.w r1, [pc, #2644] ; 8026ec8 <_ZN11StrategieV3C2Eb+0x1afc> - 8026474: f8df 2a58 ldr.w r2, [pc, #2648] ; 8026ed0 <_ZN11StrategieV3C2Eb+0x1b04> - 8026478: f7f1 f99a bl 80177b0 <_ZN8PositionC1Effb> - 802647c: f507 6104 add.w r1, r7, #2112 ; 0x840 - 8026480: f101 011c add.w r1, r1, #28 ; 0x1c - 8026484: f507 6208 add.w r2, r7, #2176 ; 0x880 - 8026488: f102 020c add.w r2, r2, #12 ; 0xc - 802648c: f8df 3a34 ldr.w r3, [pc, #2612] ; 8026ec4 <_ZN11StrategieV3C2Eb+0x1af8> - 8026490: 9300 str r3, [sp, #0] - 8026492: 4608 mov r0, r1 - 8026494: ca06 ldmia r2!, {r1, r2} - 8026496: f04f 0300 mov.w r3, #0 ; 0x0 - 802649a: f7f1 fec1 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 802649e: f507 6304 add.w r3, r7, #2112 ; 0x840 - 80264a2: f103 031c add.w r3, r3, #28 ; 0x1c - 80264a6: 4620 mov r0, r4 - 80264a8: 4619 mov r1, r3 - 80264aa: f008 fca5 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 80264ae: f507 6304 add.w r3, r7, #2112 ; 0x840 - 80264b2: f103 031c add.w r3, r3, #28 ; 0x1c - 80264b6: 4618 mov r0, r3 - 80264b8: f7f1 fe7a bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[28] = ActionGoTo(Position(600, 1100, isBlue), false); - 80264bc: f507 739c add.w r3, r7, #312 ; 0x138 - 80264c0: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80264c4: 681b ldr r3, [r3, #0] - 80264c6: f503 64ba add.w r4, r3, #1488 ; 0x5d0 - 80264ca: f104 0404 add.w r4, r4, #4 ; 0x4 - 80264ce: f507 620c add.w r2, r7, #2240 ; 0x8c0 - 80264d2: f102 0204 add.w r2, r2, #4 ; 0x4 - 80264d6: f507 739c add.w r3, r7, #312 ; 0x138 - 80264da: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 80264de: 781b ldrb r3, [r3, #0] - 80264e0: 4610 mov r0, r2 - 80264e2: f8df 19f0 ldr.w r1, [pc, #2544] ; 8026ed4 <_ZN11StrategieV3C2Eb+0x1b08> - 80264e6: f8df 29f0 ldr.w r2, [pc, #2544] ; 8026ed8 <_ZN11StrategieV3C2Eb+0x1b0c> - 80264ea: f7f1 f961 bl 80177b0 <_ZN8PositionC1Effb> - 80264ee: f507 6108 add.w r1, r7, #2176 ; 0x880 - 80264f2: f101 0114 add.w r1, r1, #20 ; 0x14 - 80264f6: f507 620c add.w r2, r7, #2240 ; 0x8c0 - 80264fa: f102 0204 add.w r2, r2, #4 ; 0x4 - 80264fe: f8df 39c4 ldr.w r3, [pc, #2500] ; 8026ec4 <_ZN11StrategieV3C2Eb+0x1af8> - 8026502: 9300 str r3, [sp, #0] - 8026504: 4608 mov r0, r1 - 8026506: ca06 ldmia r2!, {r1, r2} - 8026508: f04f 0300 mov.w r3, #0 ; 0x0 - 802650c: f7f1 fe88 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 8026510: f507 6308 add.w r3, r7, #2176 ; 0x880 - 8026514: f103 0314 add.w r3, r3, #20 ; 0x14 - 8026518: 4620 mov r0, r4 - 802651a: 4619 mov r1, r3 - 802651c: f008 fc6c bl 802edf8 <_ZN10ActionGoToaSERKS_> - 8026520: f507 6308 add.w r3, r7, #2176 ; 0x880 - 8026524: f103 0314 add.w r3, r3, #20 ; 0x14 - 8026528: 4618 mov r0, r3 - 802652a: f7f1 fe41 bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[29] = ActionGoTo(Position(600, 600, isBlue), false); - 802652e: f507 739c add.w r3, r7, #312 ; 0x138 - 8026532: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8026536: 681b ldr r3, [r3, #0] - 8026538: f503 64c0 add.w r4, r3, #1536 ; 0x600 - 802653c: f104 0404 add.w r4, r4, #4 ; 0x4 - 8026540: f507 620e add.w r2, r7, #2272 ; 0x8e0 - 8026544: f102 021c add.w r2, r2, #28 ; 0x1c - 8026548: f507 739c add.w r3, r7, #312 ; 0x138 - 802654c: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8026550: 781b ldrb r3, [r3, #0] - 8026552: 4610 mov r0, r2 - 8026554: f8df 197c ldr.w r1, [pc, #2428] ; 8026ed4 <_ZN11StrategieV3C2Eb+0x1b08> - 8026558: f8df 2978 ldr.w r2, [pc, #2424] ; 8026ed4 <_ZN11StrategieV3C2Eb+0x1b08> - 802655c: f7f1 f928 bl 80177b0 <_ZN8PositionC1Effb> - 8026560: f507 610c add.w r1, r7, #2240 ; 0x8c0 - 8026564: f101 010c add.w r1, r1, #12 ; 0xc - 8026568: f507 620e add.w r2, r7, #2272 ; 0x8e0 - 802656c: f102 021c add.w r2, r2, #28 ; 0x1c - 8026570: f8df 3950 ldr.w r3, [pc, #2384] ; 8026ec4 <_ZN11StrategieV3C2Eb+0x1af8> - 8026574: 9300 str r3, [sp, #0] - 8026576: 4608 mov r0, r1 - 8026578: ca06 ldmia r2!, {r1, r2} - 802657a: f04f 0300 mov.w r3, #0 ; 0x0 - 802657e: f7f1 fe4f bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 8026582: f507 630c add.w r3, r7, #2240 ; 0x8c0 - 8026586: f103 030c add.w r3, r3, #12 ; 0xc - 802658a: 4620 mov r0, r4 - 802658c: 4619 mov r1, r3 - 802658e: f008 fc33 bl 802edf8 <_ZN10ActionGoToaSERKS_> - 8026592: f507 630c add.w r3, r7, #2240 ; 0x8c0 - 8026596: f103 030c add.w r3, r3, #12 ; 0xc - 802659a: 4618 mov r0, r3 - 802659c: f7f1 fe08 bl 80181b0 <_ZN10ActionGoToD1Ev> - actionGoto[30] = ActionGoTo(Position(2400, 600, isBlue), false); - 80265a0: f507 739c add.w r3, r7, #312 ; 0x138 - 80265a4: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80265a8: 681b ldr r3, [r3, #0] - 80265aa: f503 64c6 add.w r4, r3, #1584 ; 0x630 - 80265ae: f104 0404 add.w r4, r4, #4 ; 0x4 - 80265b2: f507 6212 add.w r2, r7, #2336 ; 0x920 - 80265b6: f102 0214 add.w r2, r2, #20 ; 0x14 - 80265ba: f507 739c add.w r3, r7, #312 ; 0x138 - 80265be: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 80265c2: 781b ldrb r3, [r3, #0] - 80265c4: 4610 mov r0, r2 - 80265c6: f8df 1914 ldr.w r1, [pc, #2324] ; 8026edc <_ZN11StrategieV3C2Eb+0x1b10> - 80265ca: f8df 2908 ldr.w r2, [pc, #2312] ; 8026ed4 <_ZN11StrategieV3C2Eb+0x1b08> - 80265ce: f7f1 f8ef bl 80177b0 <_ZN8PositionC1Effb> - 80265d2: f507 6110 add.w r1, r7, #2304 ; 0x900 - 80265d6: f101 0104 add.w r1, r1, #4 ; 0x4 - 80265da: f507 6212 add.w r2, r7, #2336 ; 0x920 - 80265de: f102 0214 add.w r2, r2, #20 ; 0x14 - 80265e2: f8df 38e0 ldr.w r3, [pc, #2272] ; 8026ec4 <_ZN11StrategieV3C2Eb+0x1af8> - 80265e6: 9300 str r3, [sp, #0] - 80265e8: 4608 mov r0, r1 - 80265ea: ca06 ldmia r2!, {r1, r2} - 80265ec: f04f 0300 mov.w r3, #0 ; 0x0 - 80265f0: f7f1 fe16 bl 8018220 <_ZN10ActionGoToC1E8Positionbf> - 80265f4: f507 6310 add.w r3, r7, #2304 ; 0x900 - 80265f8: f103 0304 add.w r3, r3, #4 ; 0x4 - 80265fc: 4620 mov r0, r4 - 80265fe: 4619 mov r1, r3 - 8026600: f008 fbfa bl 802edf8 <_ZN10ActionGoToaSERKS_> - 8026604: f507 6310 add.w r3, r7, #2304 ; 0x900 - 8026608: f103 0304 add.w r3, r3, #4 ; 0x4 - 802660c: 4618 mov r0, r3 - 802660e: f7f1 fdcf bl 80181b0 <_ZN10ActionGoToD1Ev> - - actionEtape[0] = &actionGoto[0]; - 8026612: f507 739c add.w r3, r7, #312 ; 0x138 - 8026616: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802661a: 681b ldr r3, [r3, #0] - 802661c: f103 0294 add.w r2, r3, #148 ; 0x94 - 8026620: f507 739c add.w r3, r7, #312 ; 0x138 - 8026624: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8026628: 681b ldr r3, [r3, #0] - 802662a: 619a str r2, [r3, #24] - //actionEtape[1] = &actionGoto[1]; - actionEtape[1] = &actionFeuCote[0]; - 802662c: f507 739c add.w r3, r7, #312 ; 0x138 - 8026630: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8026634: 681b ldr r3, [r3, #0] - 8026636: f503 62cc add.w r2, r3, #1632 ; 0x660 - 802663a: f102 0204 add.w r2, r2, #4 ; 0x4 - 802663e: f507 739c add.w r3, r7, #312 ; 0x138 - 8026642: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8026646: 681b ldr r3, [r3, #0] - 8026648: 61da str r2, [r3, #28] - actionEtape[2] = &actionGoto[2]; - 802664a: f507 739c add.w r3, r7, #312 ; 0x138 - 802664e: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8026652: 681b ldr r3, [r3, #0] - 8026654: f103 02f4 add.w r2, r3, #244 ; 0xf4 - 8026658: f507 739c add.w r3, r7, #312 ; 0x138 - 802665c: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8026660: 681b ldr r3, [r3, #0] - 8026662: 621a str r2, [r3, #32] - actionEtape[3] = &actionGoto[3]; - 8026664: f507 739c add.w r3, r7, #312 ; 0x138 - 8026668: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802666c: 681b ldr r3, [r3, #0] - 802666e: f503 7292 add.w r2, r3, #292 ; 0x124 - 8026672: f507 739c add.w r3, r7, #312 ; 0x138 - 8026676: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802667a: 681b ldr r3, [r3, #0] - 802667c: 625a str r2, [r3, #36] - actionEtape[4] = &actionGoto[4]; - 802667e: f507 739c add.w r3, r7, #312 ; 0x138 - 8026682: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8026686: 681b ldr r3, [r3, #0] - 8026688: f503 72aa add.w r2, r3, #340 ; 0x154 - 802668c: f507 739c add.w r3, r7, #312 ; 0x138 - 8026690: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8026694: 681b ldr r3, [r3, #0] - 8026696: 629a str r2, [r3, #40] - actionEtape[5] = &actionGoto[5]; - 8026698: f507 739c add.w r3, r7, #312 ; 0x138 - 802669c: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80266a0: 681b ldr r3, [r3, #0] - 80266a2: f503 72c2 add.w r2, r3, #388 ; 0x184 - 80266a6: f507 739c add.w r3, r7, #312 ; 0x138 - 80266aa: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80266ae: 681b ldr r3, [r3, #0] - 80266b0: 62da str r2, [r3, #44] - actionEtape[6] = &actionGoto[6]; - 80266b2: f507 739c add.w r3, r7, #312 ; 0x138 - 80266b6: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80266ba: 681b ldr r3, [r3, #0] - 80266bc: f503 72da add.w r2, r3, #436 ; 0x1b4 - 80266c0: f507 739c add.w r3, r7, #312 ; 0x138 - 80266c4: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80266c8: 681b ldr r3, [r3, #0] - 80266ca: 631a str r2, [r3, #48] - actionEtape[7] = &actionGoto[7]; - 80266cc: f507 739c add.w r3, r7, #312 ; 0x138 - 80266d0: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80266d4: 681b ldr r3, [r3, #0] - 80266d6: f503 72f2 add.w r2, r3, #484 ; 0x1e4 - 80266da: f507 739c add.w r3, r7, #312 ; 0x138 - 80266de: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80266e2: 681b ldr r3, [r3, #0] - 80266e4: 635a str r2, [r3, #52] - //actionEtape[8] = &actionGoto[8]; - actionEtape[8] = &actionFeuCote[1]; - 80266e6: f507 739c add.w r3, r7, #312 ; 0x138 - 80266ea: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80266ee: 681b ldr r3, [r3, #0] - 80266f0: f503 62d4 add.w r2, r3, #1696 ; 0x6a0 - 80266f4: f507 739c add.w r3, r7, #312 ; 0x138 - 80266f8: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80266fc: 681b ldr r3, [r3, #0] - 80266fe: 639a str r2, [r3, #56] - //actionEtape[9] = &actionGoto[9]; - actionEtape[9] = &actionFeuCote[2]; - 8026700: f507 739c add.w r3, r7, #312 ; 0x138 - 8026704: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8026708: 681b ldr r3, [r3, #0] - 802670a: f503 62da add.w r2, r3, #1744 ; 0x6d0 - 802670e: f102 020c add.w r2, r2, #12 ; 0xc - 8026712: f507 739c add.w r3, r7, #312 ; 0x138 - 8026716: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802671a: 681b ldr r3, [r3, #0] - 802671c: 63da str r2, [r3, #60] - actionEtape[10] = &actionGoto[10]; - 802671e: f507 739c add.w r3, r7, #312 ; 0x138 - 8026722: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8026726: 681b ldr r3, [r3, #0] - 8026728: f503 721d add.w r2, r3, #628 ; 0x274 - 802672c: f507 739c add.w r3, r7, #312 ; 0x138 - 8026730: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8026734: 681b ldr r3, [r3, #0] - 8026736: 641a str r2, [r3, #64] - actionEtape[11] = &actionGoto[11]; - 8026738: f507 739c add.w r3, r7, #312 ; 0x138 - 802673c: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8026740: 681b ldr r3, [r3, #0] - 8026742: f503 7229 add.w r2, r3, #676 ; 0x2a4 - 8026746: f507 739c add.w r3, r7, #312 ; 0x138 - 802674a: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802674e: 681b ldr r3, [r3, #0] - 8026750: 645a str r2, [r3, #68] - actionEtape[12] = &actionGoto[12]; - 8026752: f507 739c add.w r3, r7, #312 ; 0x138 - 8026756: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802675a: 681b ldr r3, [r3, #0] - 802675c: f503 7235 add.w r2, r3, #724 ; 0x2d4 - 8026760: f507 739c add.w r3, r7, #312 ; 0x138 - 8026764: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8026768: 681b ldr r3, [r3, #0] - 802676a: 649a str r2, [r3, #72] - actionEtape[13] = &actionGoto[13]; - 802676c: f507 739c add.w r3, r7, #312 ; 0x138 - 8026770: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8026774: 681b ldr r3, [r3, #0] - 8026776: f503 7241 add.w r2, r3, #772 ; 0x304 - 802677a: f507 739c add.w r3, r7, #312 ; 0x138 - 802677e: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8026782: 681b ldr r3, [r3, #0] - 8026784: 64da str r2, [r3, #76] - actionEtape[14] = &actionGoto[14]; - 8026786: f507 739c add.w r3, r7, #312 ; 0x138 - 802678a: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802678e: 681b ldr r3, [r3, #0] - 8026790: f503 724d add.w r2, r3, #820 ; 0x334 - 8026794: f507 739c add.w r3, r7, #312 ; 0x138 - 8026798: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802679c: 681b ldr r3, [r3, #0] - 802679e: 651a str r2, [r3, #80] - actionEtape[15] = &actionGoto[15]; - 80267a0: f507 739c add.w r3, r7, #312 ; 0x138 - 80267a4: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80267a8: 681b ldr r3, [r3, #0] - 80267aa: f503 7259 add.w r2, r3, #868 ; 0x364 - 80267ae: f507 739c add.w r3, r7, #312 ; 0x138 - 80267b2: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80267b6: 681b ldr r3, [r3, #0] - 80267b8: 655a str r2, [r3, #84] - //actionEtape[16] = &actionGoto[16]; - actionEtape[16] = &actionFeuCote[3]; - 80267ba: f507 739c add.w r3, r7, #312 ; 0x138 - 80267be: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80267c2: 681b ldr r3, [r3, #0] - 80267c4: f503 62e3 add.w r2, r3, #1816 ; 0x718 - 80267c8: f507 739c add.w r3, r7, #312 ; 0x138 - 80267cc: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80267d0: 681b ldr r3, [r3, #0] - 80267d2: 659a str r2, [r3, #88] - actionEtape[17] = &actionDeposeFruits[0];//&actionGoto[17]; - 80267d4: f507 739c add.w r3, r7, #312 ; 0x138 - 80267d8: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80267dc: 681b ldr r3, [r3, #0] - 80267de: f503 62ea add.w r2, r3, #1872 ; 0x750 - 80267e2: f102 0204 add.w r2, r2, #4 ; 0x4 - 80267e6: f507 739c add.w r3, r7, #312 ; 0x138 - 80267ea: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80267ee: 681b ldr r3, [r3, #0] - 80267f0: 65da str r2, [r3, #92] - actionEtape[18] = &actionGoto[18]; - 80267f2: f507 739c add.w r3, r7, #312 ; 0x138 - 80267f6: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80267fa: 681b ldr r3, [r3, #0] - 80267fc: f503 727d add.w r2, r3, #1012 ; 0x3f4 - 8026800: f507 739c add.w r3, r7, #312 ; 0x138 - 8026804: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8026808: 681b ldr r3, [r3, #0] - 802680a: 661a str r2, [r3, #96] - actionEtape[19] = &actionGoto[19]; - 802680c: f507 739c add.w r3, r7, #312 ; 0x138 - 8026810: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8026814: 681b ldr r3, [r3, #0] - 8026816: f503 6284 add.w r2, r3, #1056 ; 0x420 - 802681a: f102 0204 add.w r2, r2, #4 ; 0x4 - 802681e: f507 739c add.w r3, r7, #312 ; 0x138 - 8026822: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8026826: 681b ldr r3, [r3, #0] - 8026828: 665a str r2, [r3, #100] - actionEtape[20] = &actionGoto[20]; - 802682a: f507 739c add.w r3, r7, #312 ; 0x138 - 802682e: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8026832: 681b ldr r3, [r3, #0] - 8026834: f503 628a add.w r2, r3, #1104 ; 0x450 - 8026838: f102 0204 add.w r2, r2, #4 ; 0x4 - 802683c: f507 739c add.w r3, r7, #312 ; 0x138 - 8026840: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8026844: 681b ldr r3, [r3, #0] - 8026846: 669a str r2, [r3, #104] - actionEtape[21] = &actionGoto[21]; - 8026848: f507 739c add.w r3, r7, #312 ; 0x138 - 802684c: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8026850: 681b ldr r3, [r3, #0] - 8026852: f503 6290 add.w r2, r3, #1152 ; 0x480 - 8026856: f102 0204 add.w r2, r2, #4 ; 0x4 - 802685a: f507 739c add.w r3, r7, #312 ; 0x138 - 802685e: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8026862: 681b ldr r3, [r3, #0] - 8026864: 66da str r2, [r3, #108] - actionEtape[22] = &actionGoto[22]; - 8026866: f507 739c add.w r3, r7, #312 ; 0x138 - 802686a: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802686e: 681b ldr r3, [r3, #0] - 8026870: f503 6296 add.w r2, r3, #1200 ; 0x4b0 - 8026874: f102 0204 add.w r2, r2, #4 ; 0x4 - 8026878: f507 739c add.w r3, r7, #312 ; 0x138 - 802687c: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8026880: 681b ldr r3, [r3, #0] - 8026882: 671a str r2, [r3, #112] - actionEtape[23] = &actionGoto[23]; - 8026884: f507 739c add.w r3, r7, #312 ; 0x138 - 8026888: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802688c: 681b ldr r3, [r3, #0] - 802688e: f503 629c add.w r2, r3, #1248 ; 0x4e0 - 8026892: f102 0204 add.w r2, r2, #4 ; 0x4 - 8026896: f507 739c add.w r3, r7, #312 ; 0x138 - 802689a: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802689e: 681b ldr r3, [r3, #0] - 80268a0: 675a str r2, [r3, #116] - actionEtape[24] = &actionGoto[24]; - 80268a2: f507 739c add.w r3, r7, #312 ; 0x138 - 80268a6: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80268aa: 681b ldr r3, [r3, #0] - 80268ac: f503 62a2 add.w r2, r3, #1296 ; 0x510 - 80268b0: f102 0204 add.w r2, r2, #4 ; 0x4 - 80268b4: f507 739c add.w r3, r7, #312 ; 0x138 - 80268b8: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80268bc: 681b ldr r3, [r3, #0] - 80268be: 679a str r2, [r3, #120] - actionEtape[25] = &actionGoto[25]; - 80268c0: f507 739c add.w r3, r7, #312 ; 0x138 - 80268c4: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80268c8: 681b ldr r3, [r3, #0] - 80268ca: f503 62a8 add.w r2, r3, #1344 ; 0x540 - 80268ce: f102 0204 add.w r2, r2, #4 ; 0x4 - 80268d2: f507 739c add.w r3, r7, #312 ; 0x138 - 80268d6: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80268da: 681b ldr r3, [r3, #0] - 80268dc: 67da str r2, [r3, #124] - actionEtape[26] = &actionGoto[26]; - 80268de: f507 739c add.w r3, r7, #312 ; 0x138 - 80268e2: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80268e6: 681b ldr r3, [r3, #0] - 80268e8: f503 62ae add.w r2, r3, #1392 ; 0x570 - 80268ec: f102 0204 add.w r2, r2, #4 ; 0x4 - 80268f0: f507 739c add.w r3, r7, #312 ; 0x138 - 80268f4: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80268f8: 681b ldr r3, [r3, #0] - 80268fa: f8c3 2080 str.w r2, [r3, #128] - actionEtape[27] = &actionGoto[27]; - 80268fe: f507 739c add.w r3, r7, #312 ; 0x138 - 8026902: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8026906: 681b ldr r3, [r3, #0] - 8026908: f503 62b4 add.w r2, r3, #1440 ; 0x5a0 - 802690c: f102 0204 add.w r2, r2, #4 ; 0x4 - 8026910: f507 739c add.w r3, r7, #312 ; 0x138 - 8026914: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8026918: 681b ldr r3, [r3, #0] - 802691a: f8c3 2084 str.w r2, [r3, #132] - actionEtape[28] = &actionGoto[28]; - 802691e: f507 739c add.w r3, r7, #312 ; 0x138 - 8026922: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8026926: 681b ldr r3, [r3, #0] - 8026928: f503 62ba add.w r2, r3, #1488 ; 0x5d0 - 802692c: f102 0204 add.w r2, r2, #4 ; 0x4 - 8026930: f507 739c add.w r3, r7, #312 ; 0x138 - 8026934: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8026938: 681b ldr r3, [r3, #0] - 802693a: f8c3 2088 str.w r2, [r3, #136] - actionEtape[29] = &actionGoto[29]; - 802693e: f507 739c add.w r3, r7, #312 ; 0x138 - 8026942: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8026946: 681b ldr r3, [r3, #0] - 8026948: f503 62c0 add.w r2, r3, #1536 ; 0x600 - 802694c: f102 0204 add.w r2, r2, #4 ; 0x4 - 8026950: f507 739c add.w r3, r7, #312 ; 0x138 - 8026954: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8026958: 681b ldr r3, [r3, #0] - 802695a: f8c3 208c str.w r2, [r3, #140] - actionEtape[30] = &actionGoto[30]; - 802695e: f507 739c add.w r3, r7, #312 ; 0x138 - 8026962: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8026966: 681b ldr r3, [r3, #0] - 8026968: f503 62c6 add.w r2, r3, #1584 ; 0x630 - 802696c: f102 0204 add.w r2, r2, #4 ; 0x4 - 8026970: f507 739c add.w r3, r7, #312 ; 0x138 - 8026974: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8026978: 681b ldr r3, [r3, #0] - 802697a: f8c3 2090 str.w r2, [r3, #144] - Etape* etape27; - Etape* etape28; - Etape* etape29; - Etape* etape30; - - Etape** tableauEtapes0 = new Etape*[2]; - 802697e: f04f 0008 mov.w r0, #8 ; 0x8 - 8026982: f7f0 fe35 bl 80175f0 <_Znaj> - 8026986: 4602 mov r2, r0 - 8026988: f507 632b add.w r3, r7, #2736 ; 0xab0 - 802698c: 601a str r2, [r3, #0] - Etape** tableauEtapes1 = new Etape*[2]; - 802698e: f04f 0008 mov.w r0, #8 ; 0x8 - 8026992: f7f0 fe2d bl 80175f0 <_Znaj> - 8026996: 4602 mov r2, r0 - 8026998: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 802699c: f103 0314 add.w r3, r3, #20 ; 0x14 - 80269a0: 601a str r2, [r3, #0] - Etape** tableauEtapes2 = new Etape*[2]; - 80269a2: f04f 0008 mov.w r0, #8 ; 0x8 - 80269a6: f7f0 fe23 bl 80175f0 <_Znaj> - 80269aa: 4602 mov r2, r0 - 80269ac: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 80269b0: f103 0318 add.w r3, r3, #24 ; 0x18 - 80269b4: 601a str r2, [r3, #0] - Etape** tableauEtapes3 = new Etape*[2]; - 80269b6: f04f 0008 mov.w r0, #8 ; 0x8 - 80269ba: f7f0 fe19 bl 80175f0 <_Znaj> - 80269be: 4602 mov r2, r0 - 80269c0: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 80269c4: f103 031c add.w r3, r3, #28 ; 0x1c - 80269c8: 601a str r2, [r3, #0] - Etape** tableauEtapes4 = new Etape*[4]; - 80269ca: f04f 0010 mov.w r0, #16 ; 0x10 - 80269ce: f7f0 fe0f bl 80175f0 <_Znaj> - 80269d2: 4602 mov r2, r0 - 80269d4: f507 632c add.w r3, r7, #2752 ; 0xac0 - 80269d8: 601a str r2, [r3, #0] - Etape** tableauEtapes5 = new Etape*[3]; - 80269da: f04f 000c mov.w r0, #12 ; 0xc - 80269de: f7f0 fe07 bl 80175f0 <_Znaj> - 80269e2: 4602 mov r2, r0 - 80269e4: f507 632c add.w r3, r7, #2752 ; 0xac0 - 80269e8: f103 0304 add.w r3, r3, #4 ; 0x4 - 80269ec: 601a str r2, [r3, #0] - Etape** tableauEtapes6 = new Etape*[3]; - 80269ee: f04f 000c mov.w r0, #12 ; 0xc - 80269f2: f7f0 fdfd bl 80175f0 <_Znaj> - 80269f6: 4602 mov r2, r0 - 80269f8: f507 632c add.w r3, r7, #2752 ; 0xac0 - 80269fc: f103 0308 add.w r3, r3, #8 ; 0x8 - 8026a00: 601a str r2, [r3, #0] - Etape** tableauEtapes7 = new Etape*[3]; - 8026a02: f04f 000c mov.w r0, #12 ; 0xc - 8026a06: f7f0 fdf3 bl 80175f0 <_Znaj> - 8026a0a: 4602 mov r2, r0 - 8026a0c: f507 632c add.w r3, r7, #2752 ; 0xac0 - 8026a10: f103 030c add.w r3, r3, #12 ; 0xc - 8026a14: 601a str r2, [r3, #0] - Etape** tableauEtapes8 = new Etape*[4]; - 8026a16: f04f 0010 mov.w r0, #16 ; 0x10 - 8026a1a: f7f0 fde9 bl 80175f0 <_Znaj> - 8026a1e: 4602 mov r2, r0 - 8026a20: f507 632d add.w r3, r7, #2768 ; 0xad0 - 8026a24: 601a str r2, [r3, #0] - Etape** tableauEtapes9 = new Etape*[5]; - 8026a26: f04f 0014 mov.w r0, #20 ; 0x14 - 8026a2a: f7f0 fde1 bl 80175f0 <_Znaj> - 8026a2e: 4602 mov r2, r0 - 8026a30: f507 632c add.w r3, r7, #2752 ; 0xac0 - 8026a34: f103 0314 add.w r3, r3, #20 ; 0x14 - 8026a38: 601a str r2, [r3, #0] - Etape** tableauEtapes10 = new Etape*[2]; - 8026a3a: f04f 0008 mov.w r0, #8 ; 0x8 - 8026a3e: f7f0 fdd7 bl 80175f0 <_Znaj> - 8026a42: 4602 mov r2, r0 - 8026a44: f507 632c add.w r3, r7, #2752 ; 0xac0 - 8026a48: f103 0318 add.w r3, r3, #24 ; 0x18 - 8026a4c: 601a str r2, [r3, #0] - Etape** tableauEtapes11 = new Etape*[3]; - 8026a4e: f04f 000c mov.w r0, #12 ; 0xc - 8026a52: f7f0 fdcd bl 80175f0 <_Znaj> - 8026a56: 4603 mov r3, r0 - 8026a58: f8c7 3adc str.w r3, [r7, #2780] - Etape** tableauEtapes12 = new Etape*[3]; - 8026a5c: f04f 000c mov.w r0, #12 ; 0xc - 8026a60: f7f0 fdc6 bl 80175f0 <_Znaj> - 8026a64: 4603 mov r3, r0 - 8026a66: f8c7 3ae0 str.w r3, [r7, #2784] - Etape** tableauEtapes13 = new Etape*[3]; - 8026a6a: f04f 000c mov.w r0, #12 ; 0xc - 8026a6e: f7f0 fdbf bl 80175f0 <_Znaj> - 8026a72: 4603 mov r3, r0 - 8026a74: f8c7 3ae4 str.w r3, [r7, #2788] - Etape** tableauEtapes14 = new Etape*[3]; - 8026a78: f04f 000c mov.w r0, #12 ; 0xc - 8026a7c: f7f0 fdb8 bl 80175f0 <_Znaj> - 8026a80: 4603 mov r3, r0 - 8026a82: f8c7 3ae8 str.w r3, [r7, #2792] - Etape** tableauEtapes15 = new Etape*[2]; - 8026a86: f04f 0008 mov.w r0, #8 ; 0x8 - 8026a8a: f7f0 fdb1 bl 80175f0 <_Znaj> - 8026a8e: 4603 mov r3, r0 - 8026a90: f8c7 3aec str.w r3, [r7, #2796] - Etape** tableauEtapes16 = new Etape*[3]; - 8026a94: f04f 000c mov.w r0, #12 ; 0xc - 8026a98: f7f0 fdaa bl 80175f0 <_Znaj> - 8026a9c: 4603 mov r3, r0 - 8026a9e: f8c7 3af0 str.w r3, [r7, #2800] - Etape** tableauEtapes17 = new Etape*[3]; - 8026aa2: f04f 000c mov.w r0, #12 ; 0xc - 8026aa6: f7f0 fda3 bl 80175f0 <_Znaj> - 8026aaa: 4603 mov r3, r0 - 8026aac: f8c7 3af4 str.w r3, [r7, #2804] - Etape** tableauEtapes18 = new Etape*[2]; - 8026ab0: f04f 0008 mov.w r0, #8 ; 0x8 - 8026ab4: f7f0 fd9c bl 80175f0 <_Znaj> - 8026ab8: 4603 mov r3, r0 - 8026aba: f8c7 3af8 str.w r3, [r7, #2808] - Etape** tableauEtapes19 = new Etape*[4]; - 8026abe: f04f 0010 mov.w r0, #16 ; 0x10 - 8026ac2: f7f0 fd95 bl 80175f0 <_Znaj> - 8026ac6: 4603 mov r3, r0 - 8026ac8: f8c7 3afc str.w r3, [r7, #2812] - Etape** tableauEtapes20 = new Etape*[5]; - 8026acc: f04f 0014 mov.w r0, #20 ; 0x14 - 8026ad0: f7f0 fd8e bl 80175f0 <_Znaj> - 8026ad4: 4603 mov r3, r0 - 8026ad6: f8c7 3b00 str.w r3, [r7, #2816] - Etape** tableauEtapes21 = new Etape*[6]; - 8026ada: f04f 0018 mov.w r0, #24 ; 0x18 - 8026ade: f7f0 fd87 bl 80175f0 <_Znaj> - 8026ae2: 4603 mov r3, r0 - 8026ae4: f8c7 3b04 str.w r3, [r7, #2820] - Etape** tableauEtapes22 = new Etape*[4]; - 8026ae8: f04f 0010 mov.w r0, #16 ; 0x10 - 8026aec: f7f0 fd80 bl 80175f0 <_Znaj> - 8026af0: 4603 mov r3, r0 - 8026af2: f8c7 3b08 str.w r3, [r7, #2824] - Etape** tableauEtapes23 = new Etape*[4]; - 8026af6: f04f 0010 mov.w r0, #16 ; 0x10 - 8026afa: f7f0 fd79 bl 80175f0 <_Znaj> - 8026afe: 4603 mov r3, r0 - 8026b00: f8c7 3b0c str.w r3, [r7, #2828] - Etape** tableauEtapes24 = new Etape*[4]; - 8026b04: f04f 0010 mov.w r0, #16 ; 0x10 - 8026b08: f7f0 fd72 bl 80175f0 <_Znaj> - 8026b0c: 4603 mov r3, r0 - 8026b0e: f8c7 3b10 str.w r3, [r7, #2832] - Etape** tableauEtapes25 = new Etape*[3]; - 8026b12: f04f 000c mov.w r0, #12 ; 0xc - 8026b16: f7f0 fd6b bl 80175f0 <_Znaj> - 8026b1a: 4603 mov r3, r0 - 8026b1c: f8c7 3b14 str.w r3, [r7, #2836] - Etape** tableauEtapes26 = new Etape*[2]; - 8026b20: f04f 0008 mov.w r0, #8 ; 0x8 - 8026b24: f7f0 fd64 bl 80175f0 <_Znaj> - 8026b28: 4603 mov r3, r0 - 8026b2a: f8c7 3b18 str.w r3, [r7, #2840] - Etape** tableauEtapes27 = new Etape*[3]; - 8026b2e: f04f 000c mov.w r0, #12 ; 0xc - 8026b32: f7f0 fd5d bl 80175f0 <_Znaj> - 8026b36: 4603 mov r3, r0 - 8026b38: f8c7 3b1c str.w r3, [r7, #2844] - Etape** tableauEtapes28 = new Etape*[2]; - 8026b3c: f04f 0008 mov.w r0, #8 ; 0x8 - 8026b40: f7f0 fd56 bl 80175f0 <_Znaj> - 8026b44: 4603 mov r3, r0 - 8026b46: f8c7 3b20 str.w r3, [r7, #2848] - Etape** tableauEtapes29 = new Etape*[5]; - 8026b4a: f04f 0014 mov.w r0, #20 ; 0x14 - 8026b4e: f7f0 fd4f bl 80175f0 <_Znaj> - 8026b52: 4603 mov r3, r0 - 8026b54: f8c7 3b24 str.w r3, [r7, #2852] - Etape** tableauEtapes30 = new Etape*[6]; - 8026b58: f04f 0018 mov.w r0, #24 ; 0x18 - 8026b5c: f7f0 fd48 bl 80175f0 <_Znaj> - 8026b60: 4603 mov r3, r0 - 8026b62: f8c7 3b28 str.w r3, [r7, #2856] - - etape0 = new Etape(Position(185, 1500, isBlue), tableauEtapes0, 2, 0, Etape::DEPART, -1, 0); - 8026b66: f507 6212 add.w r2, r7, #2336 ; 0x920 - 8026b6a: f102 021c add.w r2, r2, #28 ; 0x1c - 8026b6e: f507 739c add.w r3, r7, #312 ; 0x138 - 8026b72: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8026b76: 781b ldrb r3, [r3, #0] - 8026b78: 4610 mov r0, r2 - 8026b7a: 49d9 ldr r1, [pc, #868] (8026ee0 <_ZN11StrategieV3C2Eb+0x1b14>) - 8026b7c: 4ad9 ldr r2, [pc, #868] (8026ee4 <_ZN11StrategieV3C2Eb+0x1b18>) - 8026b7e: f7f0 fe17 bl 80177b0 <_ZN8PositionC1Effb> - 8026b82: f04f 0034 mov.w r0, #52 ; 0x34 - 8026b86: f7f0 fc9b bl 80174c0 <_Znwj> - 8026b8a: 4603 mov r3, r0 - 8026b8c: 61bb str r3, [r7, #24] - 8026b8e: 69ba ldr r2, [r7, #24] - 8026b90: 2a00 cmp r2, #0 - 8026b92: d01d beq.n 8026bd0 <_ZN11StrategieV3C2Eb+0x1804> - 8026b94: f507 6212 add.w r2, r7, #2336 ; 0x920 - 8026b98: f102 021c add.w r2, r2, #28 ; 0x1c - 8026b9c: f507 6c2b add.w ip, r7, #2736 ; 0xab0 - 8026ba0: f04f 0302 mov.w r3, #2 ; 0x2 - 8026ba4: 9300 str r3, [sp, #0] - 8026ba6: f04f 0300 mov.w r3, #0 ; 0x0 - 8026baa: 9301 str r3, [sp, #4] - 8026bac: f04f 0305 mov.w r3, #5 ; 0x5 - 8026bb0: 9302 str r3, [sp, #8] - 8026bb2: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8026bb6: 9303 str r3, [sp, #12] - 8026bb8: f04f 0300 mov.w r3, #0 ; 0x0 - 8026bbc: 9304 str r3, [sp, #16] - 8026bbe: 69b8 ldr r0, [r7, #24] - 8026bc0: ca06 ldmia r2!, {r1, r2} - 8026bc2: f8dc 3000 ldr.w r3, [ip] - 8026bc6: f7f2 fc41 bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 8026bca: 69bb ldr r3, [r7, #24] - 8026bcc: 61fb str r3, [r7, #28] - 8026bce: e001 b.n 8026bd4 <_ZN11StrategieV3C2Eb+0x1808> - 8026bd0: 69ba ldr r2, [r7, #24] - 8026bd2: 61fa str r2, [r7, #28] - 8026bd4: f507 6322 add.w r3, r7, #2592 ; 0xa20 - 8026bd8: f103 0314 add.w r3, r3, #20 ; 0x14 - 8026bdc: 69fa ldr r2, [r7, #28] - 8026bde: 601a str r2, [r3, #0] - etape1 = new Etape(Position(185, 1200, isBlue), tableauEtapes1, 2, 1, Etape::FEU_COTE_NOTRE_COULEUR_FACE_EXTERIEUR, -1, 0); - 8026be0: f507 6214 add.w r2, r7, #2368 ; 0x940 - 8026be4: f102 0204 add.w r2, r2, #4 ; 0x4 - 8026be8: f507 739c add.w r3, r7, #312 ; 0x138 - 8026bec: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8026bf0: 781b ldrb r3, [r3, #0] - 8026bf2: 4610 mov r0, r2 - 8026bf4: 49ba ldr r1, [pc, #744] (8026ee0 <_ZN11StrategieV3C2Eb+0x1b14>) - 8026bf6: 4ab2 ldr r2, [pc, #712] (8026ec0 <_ZN11StrategieV3C2Eb+0x1af4>) - 8026bf8: f7f0 fdda bl 80177b0 <_ZN8PositionC1Effb> - 8026bfc: f04f 0034 mov.w r0, #52 ; 0x34 - 8026c00: f7f0 fc5e bl 80174c0 <_Znwj> - 8026c04: 4603 mov r3, r0 - 8026c06: 623b str r3, [r7, #32] - 8026c08: 6a3b ldr r3, [r7, #32] - 8026c0a: 2b00 cmp r3, #0 - 8026c0c: d01f beq.n 8026c4e <_ZN11StrategieV3C2Eb+0x1882> - 8026c0e: f507 6214 add.w r2, r7, #2368 ; 0x940 - 8026c12: f102 0204 add.w r2, r2, #4 ; 0x4 - 8026c16: f507 6c2a add.w ip, r7, #2720 ; 0xaa0 - 8026c1a: f10c 0c14 add.w ip, ip, #20 ; 0x14 - 8026c1e: f04f 0302 mov.w r3, #2 ; 0x2 - 8026c22: 9300 str r3, [sp, #0] - 8026c24: f04f 0301 mov.w r3, #1 ; 0x1 - 8026c28: 9301 str r3, [sp, #4] - 8026c2a: f04f 030a mov.w r3, #10 ; 0xa - 8026c2e: 9302 str r3, [sp, #8] - 8026c30: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8026c34: 9303 str r3, [sp, #12] - 8026c36: f04f 0300 mov.w r3, #0 ; 0x0 - 8026c3a: 9304 str r3, [sp, #16] - 8026c3c: 6a38 ldr r0, [r7, #32] - 8026c3e: ca06 ldmia r2!, {r1, r2} - 8026c40: f8dc 3000 ldr.w r3, [ip] - 8026c44: f7f2 fc02 bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 8026c48: 6a3a ldr r2, [r7, #32] - 8026c4a: 627a str r2, [r7, #36] - 8026c4c: e001 b.n 8026c52 <_ZN11StrategieV3C2Eb+0x1886> - 8026c4e: 6a3b ldr r3, [r7, #32] - 8026c50: 627b str r3, [r7, #36] - 8026c52: f507 6322 add.w r3, r7, #2592 ; 0xa20 - 8026c56: f103 0318 add.w r3, r3, #24 ; 0x18 - 8026c5a: 6a7a ldr r2, [r7, #36] - 8026c5c: 601a str r2, [r3, #0] - etape2 = new Etape(Position(185, 900, isBlue), tableauEtapes2, 2, 2, Etape::FEU, -1, 1); - 8026c5e: f507 6214 add.w r2, r7, #2368 ; 0x940 - 8026c62: f102 020c add.w r2, r2, #12 ; 0xc - 8026c66: f507 739c add.w r3, r7, #312 ; 0x138 - 8026c6a: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8026c6e: 781b ldrb r3, [r3, #0] - 8026c70: 4610 mov r0, r2 - 8026c72: 499b ldr r1, [pc, #620] (8026ee0 <_ZN11StrategieV3C2Eb+0x1b14>) - 8026c74: 4a9c ldr r2, [pc, #624] (8026ee8 <_ZN11StrategieV3C2Eb+0x1b1c>) - 8026c76: f7f0 fd9b bl 80177b0 <_ZN8PositionC1Effb> - 8026c7a: f04f 0034 mov.w r0, #52 ; 0x34 - 8026c7e: f7f0 fc1f bl 80174c0 <_Znwj> - 8026c82: 4603 mov r3, r0 - 8026c84: 62bb str r3, [r7, #40] - 8026c86: 6abb ldr r3, [r7, #40] - 8026c88: 2b00 cmp r3, #0 - 8026c8a: d01f beq.n 8026ccc <_ZN11StrategieV3C2Eb+0x1900> - 8026c8c: f507 6214 add.w r2, r7, #2368 ; 0x940 - 8026c90: f102 020c add.w r2, r2, #12 ; 0xc - 8026c94: f507 6c2a add.w ip, r7, #2720 ; 0xaa0 - 8026c98: f10c 0c18 add.w ip, ip, #24 ; 0x18 - 8026c9c: f04f 0302 mov.w r3, #2 ; 0x2 - 8026ca0: 9300 str r3, [sp, #0] - 8026ca2: f04f 0302 mov.w r3, #2 ; 0x2 - 8026ca6: 9301 str r3, [sp, #4] - 8026ca8: f04f 0303 mov.w r3, #3 ; 0x3 - 8026cac: 9302 str r3, [sp, #8] - 8026cae: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8026cb2: 9303 str r3, [sp, #12] - 8026cb4: f04f 0301 mov.w r3, #1 ; 0x1 - 8026cb8: 9304 str r3, [sp, #16] - 8026cba: 6ab8 ldr r0, [r7, #40] - 8026cbc: ca06 ldmia r2!, {r1, r2} - 8026cbe: f8dc 3000 ldr.w r3, [ip] - 8026cc2: f7f2 fbc3 bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 8026cc6: 6aba ldr r2, [r7, #40] - 8026cc8: 62fa str r2, [r7, #44] - 8026cca: e001 b.n 8026cd0 <_ZN11StrategieV3C2Eb+0x1904> - 8026ccc: 6abb ldr r3, [r7, #40] - 8026cce: 62fb str r3, [r7, #44] - 8026cd0: f507 6322 add.w r3, r7, #2592 ; 0xa20 - 8026cd4: f103 031c add.w r3, r3, #28 ; 0x1c - 8026cd8: 6afa ldr r2, [r7, #44] - 8026cda: 601a str r2, [r3, #0] - etape3 = new Etape(Position(185, 800, isBlue), tableauEtapes3, 2, 3, Etape::FRUIT, -1, 0); - 8026cdc: f507 6214 add.w r2, r7, #2368 ; 0x940 - 8026ce0: f102 0214 add.w r2, r2, #20 ; 0x14 - 8026ce4: f507 739c add.w r3, r7, #312 ; 0x138 - 8026ce8: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8026cec: 781b ldrb r3, [r3, #0] - 8026cee: 4610 mov r0, r2 - 8026cf0: 497b ldr r1, [pc, #492] (8026ee0 <_ZN11StrategieV3C2Eb+0x1b14>) - 8026cf2: 4a7e ldr r2, [pc, #504] (8026eec <_ZN11StrategieV3C2Eb+0x1b20>) - 8026cf4: f7f0 fd5c bl 80177b0 <_ZN8PositionC1Effb> - 8026cf8: f04f 0034 mov.w r0, #52 ; 0x34 - 8026cfc: f7f0 fbe0 bl 80174c0 <_Znwj> - 8026d00: 4603 mov r3, r0 - 8026d02: 633b str r3, [r7, #48] - 8026d04: 6b3b ldr r3, [r7, #48] - 8026d06: 2b00 cmp r3, #0 - 8026d08: d01f beq.n 8026d4a <_ZN11StrategieV3C2Eb+0x197e> - 8026d0a: f507 6214 add.w r2, r7, #2368 ; 0x940 - 8026d0e: f102 0214 add.w r2, r2, #20 ; 0x14 - 8026d12: f507 6c2a add.w ip, r7, #2720 ; 0xaa0 - 8026d16: f10c 0c1c add.w ip, ip, #28 ; 0x1c - 8026d1a: f04f 0302 mov.w r3, #2 ; 0x2 - 8026d1e: 9300 str r3, [sp, #0] - 8026d20: f04f 0303 mov.w r3, #3 ; 0x3 - 8026d24: 9301 str r3, [sp, #4] - 8026d26: f04f 0302 mov.w r3, #2 ; 0x2 - 8026d2a: 9302 str r3, [sp, #8] - 8026d2c: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8026d30: 9303 str r3, [sp, #12] - 8026d32: f04f 0300 mov.w r3, #0 ; 0x0 - 8026d36: 9304 str r3, [sp, #16] - 8026d38: 6b38 ldr r0, [r7, #48] - 8026d3a: ca06 ldmia r2!, {r1, r2} - 8026d3c: f8dc 3000 ldr.w r3, [ip] - 8026d40: f7f2 fb84 bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 8026d44: 6b3a ldr r2, [r7, #48] - 8026d46: 637a str r2, [r7, #52] - 8026d48: e001 b.n 8026d4e <_ZN11StrategieV3C2Eb+0x1982> - 8026d4a: 6b3b ldr r3, [r7, #48] - 8026d4c: 637b str r3, [r7, #52] - 8026d4e: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8026d52: 6b7a ldr r2, [r7, #52] - 8026d54: 601a str r2, [r3, #0] - etape4 = new Etape(Position(185, 600, isBlue), tableauEtapes4, 4, 4, Etape::FRUIT, -1, 0); - 8026d56: f507 6214 add.w r2, r7, #2368 ; 0x940 - 8026d5a: f102 021c add.w r2, r2, #28 ; 0x1c - 8026d5e: f507 739c add.w r3, r7, #312 ; 0x138 - 8026d62: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8026d66: 781b ldrb r3, [r3, #0] - 8026d68: 4610 mov r0, r2 - 8026d6a: 495d ldr r1, [pc, #372] (8026ee0 <_ZN11StrategieV3C2Eb+0x1b14>) - 8026d6c: 4a59 ldr r2, [pc, #356] (8026ed4 <_ZN11StrategieV3C2Eb+0x1b08>) - 8026d6e: f7f0 fd1f bl 80177b0 <_ZN8PositionC1Effb> - 8026d72: f04f 0034 mov.w r0, #52 ; 0x34 - 8026d76: f7f0 fba3 bl 80174c0 <_Znwj> - 8026d7a: 4603 mov r3, r0 - 8026d7c: 63bb str r3, [r7, #56] - 8026d7e: 6bbb ldr r3, [r7, #56] - 8026d80: 2b00 cmp r3, #0 - 8026d82: d01d beq.n 8026dc0 <_ZN11StrategieV3C2Eb+0x19f4> - 8026d84: f507 6214 add.w r2, r7, #2368 ; 0x940 - 8026d88: f102 021c add.w r2, r2, #28 ; 0x1c - 8026d8c: f507 6c2c add.w ip, r7, #2752 ; 0xac0 - 8026d90: f04f 0304 mov.w r3, #4 ; 0x4 - 8026d94: 9300 str r3, [sp, #0] - 8026d96: f04f 0304 mov.w r3, #4 ; 0x4 - 8026d9a: 9301 str r3, [sp, #4] - 8026d9c: f04f 0302 mov.w r3, #2 ; 0x2 - 8026da0: 9302 str r3, [sp, #8] - 8026da2: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8026da6: 9303 str r3, [sp, #12] - 8026da8: f04f 0300 mov.w r3, #0 ; 0x0 - 8026dac: 9304 str r3, [sp, #16] - 8026dae: 6bb8 ldr r0, [r7, #56] - 8026db0: ca06 ldmia r2!, {r1, r2} - 8026db2: f8dc 3000 ldr.w r3, [ip] - 8026db6: f7f2 fb49 bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 8026dba: 6bba ldr r2, [r7, #56] - 8026dbc: 63fa str r2, [r7, #60] - 8026dbe: e001 b.n 8026dc4 <_ZN11StrategieV3C2Eb+0x19f8> - 8026dc0: 6bbb ldr r3, [r7, #56] - 8026dc2: 63fb str r3, [r7, #60] - 8026dc4: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8026dc8: f103 0304 add.w r3, r3, #4 ; 0x4 - 8026dcc: 6bfa ldr r2, [r7, #60] - 8026dce: 601a str r2, [r3, #0] - etape5 = new Etape(Position(600, 185, isBlue), tableauEtapes5, 3, 5, Etape::FRUIT, -1, 0); - 8026dd0: f507 6216 add.w r2, r7, #2400 ; 0x960 - 8026dd4: f102 0204 add.w r2, r2, #4 ; 0x4 - 8026dd8: f507 739c add.w r3, r7, #312 ; 0x138 - 8026ddc: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8026de0: 781b ldrb r3, [r3, #0] - 8026de2: 4610 mov r0, r2 - 8026de4: 493b ldr r1, [pc, #236] (8026ed4 <_ZN11StrategieV3C2Eb+0x1b08>) - 8026de6: 4a3e ldr r2, [pc, #248] (8026ee0 <_ZN11StrategieV3C2Eb+0x1b14>) - 8026de8: f7f0 fce2 bl 80177b0 <_ZN8PositionC1Effb> - 8026dec: f04f 0034 mov.w r0, #52 ; 0x34 - 8026df0: f7f0 fb66 bl 80174c0 <_Znwj> - 8026df4: 4603 mov r3, r0 - 8026df6: 643b str r3, [r7, #64] - 8026df8: 6c3b ldr r3, [r7, #64] - 8026dfa: 2b00 cmp r3, #0 - 8026dfc: d01f beq.n 8026e3e <_ZN11StrategieV3C2Eb+0x1a72> - 8026dfe: f507 6216 add.w r2, r7, #2400 ; 0x960 - 8026e02: f102 0204 add.w r2, r2, #4 ; 0x4 - 8026e06: f507 6c2c add.w ip, r7, #2752 ; 0xac0 - 8026e0a: f10c 0c04 add.w ip, ip, #4 ; 0x4 - 8026e0e: f04f 0303 mov.w r3, #3 ; 0x3 - 8026e12: 9300 str r3, [sp, #0] - 8026e14: f04f 0305 mov.w r3, #5 ; 0x5 - 8026e18: 9301 str r3, [sp, #4] - 8026e1a: f04f 0302 mov.w r3, #2 ; 0x2 - 8026e1e: 9302 str r3, [sp, #8] - 8026e20: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8026e24: 9303 str r3, [sp, #12] - 8026e26: f04f 0300 mov.w r3, #0 ; 0x0 - 8026e2a: 9304 str r3, [sp, #16] - 8026e2c: 6c38 ldr r0, [r7, #64] - 8026e2e: ca06 ldmia r2!, {r1, r2} - 8026e30: f8dc 3000 ldr.w r3, [ip] - 8026e34: f7f2 fb0a bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 8026e38: 6c3a ldr r2, [r7, #64] - 8026e3a: 647a str r2, [r7, #68] - 8026e3c: e001 b.n 8026e42 <_ZN11StrategieV3C2Eb+0x1a76> - 8026e3e: 6c3b ldr r3, [r7, #64] - 8026e40: 647b str r3, [r7, #68] - 8026e42: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8026e46: f103 0308 add.w r3, r3, #8 ; 0x8 - 8026e4a: 6c7a ldr r2, [r7, #68] - 8026e4c: 601a str r2, [r3, #0] - etape6 = new Etape(Position(800, 185, isBlue), tableauEtapes6, 3, 6, Etape::FRUIT, -1, 0); - 8026e4e: f507 6216 add.w r2, r7, #2400 ; 0x960 - 8026e52: f102 020c add.w r2, r2, #12 ; 0xc - 8026e56: f507 739c add.w r3, r7, #312 ; 0x138 - 8026e5a: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8026e5e: 781b ldrb r3, [r3, #0] - 8026e60: 4610 mov r0, r2 - 8026e62: 4922 ldr r1, [pc, #136] (8026eec <_ZN11StrategieV3C2Eb+0x1b20>) - 8026e64: 4a1e ldr r2, [pc, #120] (8026ee0 <_ZN11StrategieV3C2Eb+0x1b14>) - 8026e66: f7f0 fca3 bl 80177b0 <_ZN8PositionC1Effb> - 8026e6a: f04f 0034 mov.w r0, #52 ; 0x34 - 8026e6e: f7f0 fb27 bl 80174c0 <_Znwj> - 8026e72: 4603 mov r3, r0 - 8026e74: 64bb str r3, [r7, #72] - 8026e76: 6cbb ldr r3, [r7, #72] - 8026e78: 2b00 cmp r3, #0 - 8026e7a: d039 beq.n 8026ef0 <_ZN11StrategieV3C2Eb+0x1b24> - 8026e7c: f507 6216 add.w r2, r7, #2400 ; 0x960 - 8026e80: f102 020c add.w r2, r2, #12 ; 0xc - 8026e84: f507 6c2c add.w ip, r7, #2752 ; 0xac0 - 8026e88: f10c 0c08 add.w ip, ip, #8 ; 0x8 - 8026e8c: f04f 0303 mov.w r3, #3 ; 0x3 - 8026e90: 9300 str r3, [sp, #0] - 8026e92: f04f 0306 mov.w r3, #6 ; 0x6 - 8026e96: 9301 str r3, [sp, #4] - 8026e98: f04f 0302 mov.w r3, #2 ; 0x2 - 8026e9c: 9302 str r3, [sp, #8] - 8026e9e: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8026ea2: 9303 str r3, [sp, #12] - 8026ea4: f04f 0300 mov.w r3, #0 ; 0x0 - 8026ea8: 9304 str r3, [sp, #16] - 8026eaa: 6cb8 ldr r0, [r7, #72] - 8026eac: ca06 ldmia r2!, {r1, r2} - 8026eae: f8dc 3000 ldr.w r3, [ip] - 8026eb2: f7f2 facb bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 8026eb6: 6cba ldr r2, [r7, #72] - 8026eb8: 64fa str r2, [r7, #76] - 8026eba: e01b b.n 8026ef4 <_ZN11StrategieV3C2Eb+0x1b28> - 8026ebc: 45034000 .word 0x45034000 - 8026ec0: 44960000 .word 0x44960000 - 8026ec4: 41f00000 .word 0x41f00000 - 8026ec8: 44e10000 .word 0x44e10000 - 8026ecc: 44c1c000 .word 0x44c1c000 - 8026ed0: 447a0000 .word 0x447a0000 - 8026ed4: 44160000 .word 0x44160000 - 8026ed8: 44898000 .word 0x44898000 - 8026edc: 45160000 .word 0x45160000 - 8026ee0: 43390000 .word 0x43390000 - 8026ee4: 44bb8000 .word 0x44bb8000 - 8026ee8: 44610000 .word 0x44610000 - 8026eec: 44480000 .word 0x44480000 - 8026ef0: 6cbb ldr r3, [r7, #72] - 8026ef2: 64fb str r3, [r7, #76] - 8026ef4: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8026ef8: f103 030c add.w r3, r3, #12 ; 0xc - 8026efc: 6cfa ldr r2, [r7, #76] - 8026efe: 601a str r2, [r3, #0] - etape7 = new Etape(Position(900, 185, isBlue), tableauEtapes7, 3, 7, Etape::FEU, -1, 1);//FEU - 8026f00: f507 6216 add.w r2, r7, #2400 ; 0x960 - 8026f04: f102 0214 add.w r2, r2, #20 ; 0x14 - 8026f08: f507 739c add.w r3, r7, #312 ; 0x138 - 8026f0c: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8026f10: 781b ldrb r3, [r3, #0] - 8026f12: 4610 mov r0, r2 - 8026f14: f8df 1b38 ldr.w r1, [pc, #2872] ; 8027a50 <_ZN11StrategieV3C2Eb+0x2684> - 8026f18: f8df 2b38 ldr.w r2, [pc, #2872] ; 8027a54 <_ZN11StrategieV3C2Eb+0x2688> - 8026f1c: f7f0 fc48 bl 80177b0 <_ZN8PositionC1Effb> - 8026f20: f04f 0034 mov.w r0, #52 ; 0x34 - 8026f24: f7f0 facc bl 80174c0 <_Znwj> - 8026f28: 4603 mov r3, r0 - 8026f2a: 653b str r3, [r7, #80] - 8026f2c: 6d3b ldr r3, [r7, #80] - 8026f2e: 2b00 cmp r3, #0 - 8026f30: d01f beq.n 8026f72 <_ZN11StrategieV3C2Eb+0x1ba6> - 8026f32: f507 6216 add.w r2, r7, #2400 ; 0x960 - 8026f36: f102 0214 add.w r2, r2, #20 ; 0x14 - 8026f3a: f507 6c2c add.w ip, r7, #2752 ; 0xac0 - 8026f3e: f10c 0c0c add.w ip, ip, #12 ; 0xc - 8026f42: f04f 0303 mov.w r3, #3 ; 0x3 - 8026f46: 9300 str r3, [sp, #0] - 8026f48: f04f 0307 mov.w r3, #7 ; 0x7 - 8026f4c: 9301 str r3, [sp, #4] - 8026f4e: f04f 0303 mov.w r3, #3 ; 0x3 - 8026f52: 9302 str r3, [sp, #8] - 8026f54: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8026f58: 9303 str r3, [sp, #12] - 8026f5a: f04f 0301 mov.w r3, #1 ; 0x1 - 8026f5e: 9304 str r3, [sp, #16] - 8026f60: 6d38 ldr r0, [r7, #80] - 8026f62: ca06 ldmia r2!, {r1, r2} - 8026f64: f8dc 3000 ldr.w r3, [ip] - 8026f68: f7f2 fa70 bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 8026f6c: 6d3a ldr r2, [r7, #80] - 8026f6e: 657a str r2, [r7, #84] - 8026f70: e001 b.n 8026f76 <_ZN11StrategieV3C2Eb+0x1baa> - 8026f72: 6d3b ldr r3, [r7, #80] - 8026f74: 657b str r3, [r7, #84] - 8026f76: f507 6325 add.w r3, r7, #2640 ; 0xa50 - 8026f7a: 6d7a ldr r2, [r7, #84] - 8026f7c: 601a str r2, [r3, #0] - etape8 = new Etape(Position(1300, 185, isBlue), tableauEtapes8, 4, 8, Etape::FEU_COTE_NOTRE_COULEUR_FACE_TERRAIN, -1, 0); - 8026f7e: f507 6216 add.w r2, r7, #2400 ; 0x960 - 8026f82: f102 021c add.w r2, r2, #28 ; 0x1c - 8026f86: f507 739c add.w r3, r7, #312 ; 0x138 - 8026f8a: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8026f8e: 781b ldrb r3, [r3, #0] - 8026f90: 4610 mov r0, r2 - 8026f92: f8df 1ac4 ldr.w r1, [pc, #2756] ; 8027a58 <_ZN11StrategieV3C2Eb+0x268c> - 8026f96: f8df 2abc ldr.w r2, [pc, #2748] ; 8027a54 <_ZN11StrategieV3C2Eb+0x2688> - 8026f9a: f7f0 fc09 bl 80177b0 <_ZN8PositionC1Effb> - 8026f9e: f04f 0034 mov.w r0, #52 ; 0x34 - 8026fa2: f7f0 fa8d bl 80174c0 <_Znwj> - 8026fa6: 4603 mov r3, r0 - 8026fa8: 65bb str r3, [r7, #88] - 8026faa: 6dbb ldr r3, [r7, #88] - 8026fac: 2b00 cmp r3, #0 - 8026fae: d01d beq.n 8026fec <_ZN11StrategieV3C2Eb+0x1c20> - 8026fb0: f507 6216 add.w r2, r7, #2400 ; 0x960 - 8026fb4: f102 021c add.w r2, r2, #28 ; 0x1c - 8026fb8: f507 6c2d add.w ip, r7, #2768 ; 0xad0 - 8026fbc: f04f 0304 mov.w r3, #4 ; 0x4 - 8026fc0: 9300 str r3, [sp, #0] - 8026fc2: f04f 0308 mov.w r3, #8 ; 0x8 - 8026fc6: 9301 str r3, [sp, #4] - 8026fc8: f04f 0309 mov.w r3, #9 ; 0x9 - 8026fcc: 9302 str r3, [sp, #8] - 8026fce: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8026fd2: 9303 str r3, [sp, #12] - 8026fd4: f04f 0300 mov.w r3, #0 ; 0x0 - 8026fd8: 9304 str r3, [sp, #16] - 8026fda: 6db8 ldr r0, [r7, #88] - 8026fdc: ca06 ldmia r2!, {r1, r2} - 8026fde: f8dc 3000 ldr.w r3, [ip] - 8026fe2: f7f2 fa33 bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 8026fe6: 6dba ldr r2, [r7, #88] - 8026fe8: 65fa str r2, [r7, #92] - 8026fea: e001 b.n 8026ff0 <_ZN11StrategieV3C2Eb+0x1c24> - 8026fec: 6dbb ldr r3, [r7, #88] - 8026fee: 65fb str r3, [r7, #92] - 8026ff0: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8026ff4: f103 0314 add.w r3, r3, #20 ; 0x14 - 8026ff8: 6dfa ldr r2, [r7, #92] - 8026ffa: 601a str r2, [r3, #0] - etape9 = new Etape(Position(1700, 185, isBlue), tableauEtapes9, 5, 9, Etape::FEU_COTE_NOTRE_COULEUR_FACE_EXTERIEUR, -1, 0); - 8026ffc: f507 6218 add.w r2, r7, #2432 ; 0x980 - 8027000: f102 0204 add.w r2, r2, #4 ; 0x4 - 8027004: f507 739c add.w r3, r7, #312 ; 0x138 - 8027008: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 802700c: 781b ldrb r3, [r3, #0] - 802700e: 4610 mov r0, r2 - 8027010: f8df 1a48 ldr.w r1, [pc, #2632] ; 8027a5c <_ZN11StrategieV3C2Eb+0x2690> - 8027014: f8df 2a3c ldr.w r2, [pc, #2620] ; 8027a54 <_ZN11StrategieV3C2Eb+0x2688> - 8027018: f7f0 fbca bl 80177b0 <_ZN8PositionC1Effb> - 802701c: f04f 0034 mov.w r0, #52 ; 0x34 - 8027020: f7f0 fa4e bl 80174c0 <_Znwj> - 8027024: 4603 mov r3, r0 - 8027026: 663b str r3, [r7, #96] - 8027028: 6e3b ldr r3, [r7, #96] - 802702a: 2b00 cmp r3, #0 - 802702c: d01f beq.n 802706e <_ZN11StrategieV3C2Eb+0x1ca2> - 802702e: f507 6218 add.w r2, r7, #2432 ; 0x980 - 8027032: f102 0204 add.w r2, r2, #4 ; 0x4 - 8027036: f507 6c2c add.w ip, r7, #2752 ; 0xac0 - 802703a: f10c 0c14 add.w ip, ip, #20 ; 0x14 - 802703e: f04f 0305 mov.w r3, #5 ; 0x5 - 8027042: 9300 str r3, [sp, #0] - 8027044: f04f 0309 mov.w r3, #9 ; 0x9 - 8027048: 9301 str r3, [sp, #4] - 802704a: f04f 030a mov.w r3, #10 ; 0xa - 802704e: 9302 str r3, [sp, #8] - 8027050: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8027054: 9303 str r3, [sp, #12] - 8027056: f04f 0300 mov.w r3, #0 ; 0x0 - 802705a: 9304 str r3, [sp, #16] - 802705c: 6e38 ldr r0, [r7, #96] - 802705e: ca06 ldmia r2!, {r1, r2} - 8027060: f8dc 3000 ldr.w r3, [ip] - 8027064: f7f2 f9f2 bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 8027068: 6e3a ldr r2, [r7, #96] - 802706a: 667a str r2, [r7, #100] - 802706c: e001 b.n 8027072 <_ZN11StrategieV3C2Eb+0x1ca6> - 802706e: 6e3b ldr r3, [r7, #96] - 8027070: 667b str r3, [r7, #100] - 8027072: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8027076: f103 0318 add.w r3, r3, #24 ; 0x18 - 802707a: 6e7a ldr r2, [r7, #100] - 802707c: 601a str r2, [r3, #0] - etape10 = new Etape(Position(2100, 185, isBlue), tableauEtapes10, 2, 10, Etape::FEU, -1, 1); - 802707e: f507 6218 add.w r2, r7, #2432 ; 0x980 - 8027082: f102 020c add.w r2, r2, #12 ; 0xc - 8027086: f507 739c add.w r3, r7, #312 ; 0x138 - 802708a: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 802708e: 781b ldrb r3, [r3, #0] - 8027090: 4610 mov r0, r2 - 8027092: f8df 19cc ldr.w r1, [pc, #2508] ; 8027a60 <_ZN11StrategieV3C2Eb+0x2694> - 8027096: f8df 29bc ldr.w r2, [pc, #2492] ; 8027a54 <_ZN11StrategieV3C2Eb+0x2688> - 802709a: f7f0 fb89 bl 80177b0 <_ZN8PositionC1Effb> - 802709e: f04f 0034 mov.w r0, #52 ; 0x34 - 80270a2: f7f0 fa0d bl 80174c0 <_Znwj> - 80270a6: 4603 mov r3, r0 - 80270a8: 66bb str r3, [r7, #104] - 80270aa: 6ebb ldr r3, [r7, #104] - 80270ac: 2b00 cmp r3, #0 - 80270ae: d01f beq.n 80270f0 <_ZN11StrategieV3C2Eb+0x1d24> - 80270b0: f507 6218 add.w r2, r7, #2432 ; 0x980 - 80270b4: f102 020c add.w r2, r2, #12 ; 0xc - 80270b8: f507 6c2c add.w ip, r7, #2752 ; 0xac0 - 80270bc: f10c 0c18 add.w ip, ip, #24 ; 0x18 - 80270c0: f04f 0302 mov.w r3, #2 ; 0x2 - 80270c4: 9300 str r3, [sp, #0] - 80270c6: f04f 030a mov.w r3, #10 ; 0xa - 80270ca: 9301 str r3, [sp, #4] - 80270cc: f04f 0303 mov.w r3, #3 ; 0x3 - 80270d0: 9302 str r3, [sp, #8] - 80270d2: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 80270d6: 9303 str r3, [sp, #12] - 80270d8: f04f 0301 mov.w r3, #1 ; 0x1 - 80270dc: 9304 str r3, [sp, #16] - 80270de: 6eb8 ldr r0, [r7, #104] - 80270e0: ca06 ldmia r2!, {r1, r2} - 80270e2: f8dc 3000 ldr.w r3, [ip] - 80270e6: f7f2 f9b1 bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 80270ea: 6eba ldr r2, [r7, #104] - 80270ec: 66fa str r2, [r7, #108] - 80270ee: e001 b.n 80270f4 <_ZN11StrategieV3C2Eb+0x1d28> - 80270f0: 6ebb ldr r3, [r7, #104] - 80270f2: 66fb str r3, [r7, #108] - 80270f4: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 80270f8: f103 031c add.w r3, r3, #28 ; 0x1c - 80270fc: 6efa ldr r2, [r7, #108] - 80270fe: 601a str r2, [r3, #0] - etape11 = new Etape(Position(2200, 185, isBlue), tableauEtapes11, 3, 11, Etape::FRUIT, -1, 0); - 8027100: f507 6218 add.w r2, r7, #2432 ; 0x980 - 8027104: f102 0214 add.w r2, r2, #20 ; 0x14 - 8027108: f507 739c add.w r3, r7, #312 ; 0x138 - 802710c: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8027110: 781b ldrb r3, [r3, #0] - 8027112: 4610 mov r0, r2 - 8027114: f8df 194c ldr.w r1, [pc, #2380] ; 8027a64 <_ZN11StrategieV3C2Eb+0x2698> - 8027118: f8df 2938 ldr.w r2, [pc, #2360] ; 8027a54 <_ZN11StrategieV3C2Eb+0x2688> - 802711c: f7f0 fb48 bl 80177b0 <_ZN8PositionC1Effb> - 8027120: f04f 0034 mov.w r0, #52 ; 0x34 - 8027124: f7f0 f9cc bl 80174c0 <_Znwj> - 8027128: 4603 mov r3, r0 - 802712a: 673b str r3, [r7, #112] - 802712c: 6f3b ldr r3, [r7, #112] - 802712e: 2b00 cmp r3, #0 - 8027130: d01b beq.n 802716a <_ZN11StrategieV3C2Eb+0x1d9e> - 8027132: f507 6218 add.w r2, r7, #2432 ; 0x980 - 8027136: f102 0214 add.w r2, r2, #20 ; 0x14 - 802713a: f04f 0303 mov.w r3, #3 ; 0x3 - 802713e: 9300 str r3, [sp, #0] - 8027140: f04f 030b mov.w r3, #11 ; 0xb - 8027144: 9301 str r3, [sp, #4] - 8027146: f04f 0302 mov.w r3, #2 ; 0x2 - 802714a: 9302 str r3, [sp, #8] - 802714c: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8027150: 9303 str r3, [sp, #12] - 8027152: f04f 0300 mov.w r3, #0 ; 0x0 - 8027156: 9304 str r3, [sp, #16] - 8027158: 6f38 ldr r0, [r7, #112] - 802715a: ca06 ldmia r2!, {r1, r2} - 802715c: f8d7 3adc ldr.w r3, [r7, #2780] - 8027160: f7f2 f974 bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 8027164: 6f3a ldr r2, [r7, #112] - 8027166: 677a str r2, [r7, #116] - 8027168: e001 b.n 802716e <_ZN11StrategieV3C2Eb+0x1da2> - 802716a: 6f3b ldr r3, [r7, #112] - 802716c: 677b str r3, [r7, #116] - 802716e: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8027172: 6f7a ldr r2, [r7, #116] - 8027174: 601a str r2, [r3, #0] - etape12 = new Etape(Position(2400, 185, isBlue), tableauEtapes12, 3, 12, Etape::FRUIT, -1, 0); - 8027176: f507 6218 add.w r2, r7, #2432 ; 0x980 - 802717a: f102 021c add.w r2, r2, #28 ; 0x1c - 802717e: f507 739c add.w r3, r7, #312 ; 0x138 - 8027182: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8027186: 781b ldrb r3, [r3, #0] - 8027188: 4610 mov r0, r2 - 802718a: f8df 18dc ldr.w r1, [pc, #2268] ; 8027a68 <_ZN11StrategieV3C2Eb+0x269c> - 802718e: f8df 28c4 ldr.w r2, [pc, #2244] ; 8027a54 <_ZN11StrategieV3C2Eb+0x2688> - 8027192: f7f0 fb0d bl 80177b0 <_ZN8PositionC1Effb> - 8027196: f04f 0034 mov.w r0, #52 ; 0x34 - 802719a: f7f0 f991 bl 80174c0 <_Znwj> - 802719e: 4603 mov r3, r0 - 80271a0: 67bb str r3, [r7, #120] - 80271a2: 6fbb ldr r3, [r7, #120] - 80271a4: 2b00 cmp r3, #0 - 80271a6: d01b beq.n 80271e0 <_ZN11StrategieV3C2Eb+0x1e14> - 80271a8: f507 6218 add.w r2, r7, #2432 ; 0x980 - 80271ac: f102 021c add.w r2, r2, #28 ; 0x1c - 80271b0: f04f 0303 mov.w r3, #3 ; 0x3 - 80271b4: 9300 str r3, [sp, #0] - 80271b6: f04f 030c mov.w r3, #12 ; 0xc - 80271ba: 9301 str r3, [sp, #4] - 80271bc: f04f 0302 mov.w r3, #2 ; 0x2 - 80271c0: 9302 str r3, [sp, #8] - 80271c2: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 80271c6: 9303 str r3, [sp, #12] - 80271c8: f04f 0300 mov.w r3, #0 ; 0x0 - 80271cc: 9304 str r3, [sp, #16] - 80271ce: 6fb8 ldr r0, [r7, #120] - 80271d0: ca06 ldmia r2!, {r1, r2} - 80271d2: f8d7 3ae0 ldr.w r3, [r7, #2784] - 80271d6: f7f2 f939 bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 80271da: 6fba ldr r2, [r7, #120] - 80271dc: 67fa str r2, [r7, #124] - 80271de: e001 b.n 80271e4 <_ZN11StrategieV3C2Eb+0x1e18> - 80271e0: 6fbb ldr r3, [r7, #120] - 80271e2: 67fb str r3, [r7, #124] - 80271e4: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 80271e8: f103 0304 add.w r3, r3, #4 ; 0x4 - 80271ec: 6ffa ldr r2, [r7, #124] - 80271ee: 601a str r2, [r3, #0] - etape13 = new Etape(Position(2815, 600, isBlue), tableauEtapes13, 3, 13, Etape::FRUIT, -1, 0); - 80271f0: f507 621a add.w r2, r7, #2464 ; 0x9a0 - 80271f4: f102 0204 add.w r2, r2, #4 ; 0x4 - 80271f8: f507 739c add.w r3, r7, #312 ; 0x138 - 80271fc: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8027200: 781b ldrb r3, [r3, #0] - 8027202: 4610 mov r0, r2 - 8027204: f8df 1864 ldr.w r1, [pc, #2148] ; 8027a6c <_ZN11StrategieV3C2Eb+0x26a0> - 8027208: f8df 2864 ldr.w r2, [pc, #2148] ; 8027a70 <_ZN11StrategieV3C2Eb+0x26a4> - 802720c: f7f0 fad0 bl 80177b0 <_ZN8PositionC1Effb> - 8027210: f04f 0034 mov.w r0, #52 ; 0x34 - 8027214: f7f0 f954 bl 80174c0 <_Znwj> - 8027218: 4603 mov r3, r0 - 802721a: f8c7 3080 str.w r3, [r7, #128] - 802721e: f8d7 3080 ldr.w r3, [r7, #128] - 8027222: 2b00 cmp r3, #0 - 8027224: d01e beq.n 8027264 <_ZN11StrategieV3C2Eb+0x1e98> - 8027226: f507 621a add.w r2, r7, #2464 ; 0x9a0 - 802722a: f102 0204 add.w r2, r2, #4 ; 0x4 - 802722e: f04f 0303 mov.w r3, #3 ; 0x3 - 8027232: 9300 str r3, [sp, #0] - 8027234: f04f 030d mov.w r3, #13 ; 0xd - 8027238: 9301 str r3, [sp, #4] - 802723a: f04f 0302 mov.w r3, #2 ; 0x2 - 802723e: 9302 str r3, [sp, #8] - 8027240: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8027244: 9303 str r3, [sp, #12] - 8027246: f04f 0300 mov.w r3, #0 ; 0x0 - 802724a: 9304 str r3, [sp, #16] - 802724c: f8d7 0080 ldr.w r0, [r7, #128] - 8027250: ca06 ldmia r2!, {r1, r2} - 8027252: f8d7 3ae4 ldr.w r3, [r7, #2788] - 8027256: f7f2 f8f9 bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 802725a: f8d7 2080 ldr.w r2, [r7, #128] - 802725e: f8c7 2084 str.w r2, [r7, #132] - 8027262: e003 b.n 802726c <_ZN11StrategieV3C2Eb+0x1ea0> - 8027264: f8d7 3080 ldr.w r3, [r7, #128] - 8027268: f8c7 3084 str.w r3, [r7, #132] - 802726c: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8027270: f103 0308 add.w r3, r3, #8 ; 0x8 - 8027274: f8d7 2084 ldr.w r2, [r7, #132] - 8027278: 601a str r2, [r3, #0] - etape14 = new Etape(Position(2815, 800, isBlue), tableauEtapes14, 3, 14, Etape::FRUIT, -1, 0); - 802727a: f507 621a add.w r2, r7, #2464 ; 0x9a0 - 802727e: f102 020c add.w r2, r2, #12 ; 0xc - 8027282: f507 739c add.w r3, r7, #312 ; 0x138 - 8027286: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 802728a: 781b ldrb r3, [r3, #0] - 802728c: 4610 mov r0, r2 - 802728e: f8df 17dc ldr.w r1, [pc, #2012] ; 8027a6c <_ZN11StrategieV3C2Eb+0x26a0> - 8027292: f8df 27e0 ldr.w r2, [pc, #2016] ; 8027a74 <_ZN11StrategieV3C2Eb+0x26a8> - 8027296: f7f0 fa8b bl 80177b0 <_ZN8PositionC1Effb> - 802729a: f04f 0034 mov.w r0, #52 ; 0x34 - 802729e: f7f0 f90f bl 80174c0 <_Znwj> - 80272a2: 4603 mov r3, r0 - 80272a4: f8c7 3088 str.w r3, [r7, #136] - 80272a8: f8d7 3088 ldr.w r3, [r7, #136] - 80272ac: 2b00 cmp r3, #0 - 80272ae: d01e beq.n 80272ee <_ZN11StrategieV3C2Eb+0x1f22> - 80272b0: f507 621a add.w r2, r7, #2464 ; 0x9a0 - 80272b4: f102 020c add.w r2, r2, #12 ; 0xc - 80272b8: f04f 0303 mov.w r3, #3 ; 0x3 - 80272bc: 9300 str r3, [sp, #0] - 80272be: f04f 030e mov.w r3, #14 ; 0xe - 80272c2: 9301 str r3, [sp, #4] - 80272c4: f04f 0302 mov.w r3, #2 ; 0x2 - 80272c8: 9302 str r3, [sp, #8] - 80272ca: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 80272ce: 9303 str r3, [sp, #12] - 80272d0: f04f 0300 mov.w r3, #0 ; 0x0 - 80272d4: 9304 str r3, [sp, #16] - 80272d6: f8d7 0088 ldr.w r0, [r7, #136] - 80272da: ca06 ldmia r2!, {r1, r2} - 80272dc: f8d7 3ae8 ldr.w r3, [r7, #2792] - 80272e0: f7f2 f8b4 bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 80272e4: f8d7 2088 ldr.w r2, [r7, #136] - 80272e8: f8c7 208c str.w r2, [r7, #140] - 80272ec: e003 b.n 80272f6 <_ZN11StrategieV3C2Eb+0x1f2a> - 80272ee: f8d7 3088 ldr.w r3, [r7, #136] - 80272f2: f8c7 308c str.w r3, [r7, #140] - 80272f6: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 80272fa: f103 030c add.w r3, r3, #12 ; 0xc - 80272fe: f8d7 208c ldr.w r2, [r7, #140] - 8027302: 601a str r2, [r3, #0] - etape15 = new Etape(Position(2815, 900, isBlue), tableauEtapes15, 2, 15, Etape::FEU, -1, 1); - 8027304: f507 621a add.w r2, r7, #2464 ; 0x9a0 - 8027308: f102 0214 add.w r2, r2, #20 ; 0x14 - 802730c: f507 739c add.w r3, r7, #312 ; 0x138 - 8027310: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8027314: 781b ldrb r3, [r3, #0] - 8027316: 4610 mov r0, r2 - 8027318: f8df 1750 ldr.w r1, [pc, #1872] ; 8027a6c <_ZN11StrategieV3C2Eb+0x26a0> - 802731c: f8df 2730 ldr.w r2, [pc, #1840] ; 8027a50 <_ZN11StrategieV3C2Eb+0x2684> - 8027320: f7f0 fa46 bl 80177b0 <_ZN8PositionC1Effb> - 8027324: f04f 0034 mov.w r0, #52 ; 0x34 - 8027328: f7f0 f8ca bl 80174c0 <_Znwj> - 802732c: 4603 mov r3, r0 - 802732e: f8c7 3090 str.w r3, [r7, #144] - 8027332: f8d7 3090 ldr.w r3, [r7, #144] - 8027336: 2b00 cmp r3, #0 - 8027338: d01e beq.n 8027378 <_ZN11StrategieV3C2Eb+0x1fac> - 802733a: f507 621a add.w r2, r7, #2464 ; 0x9a0 - 802733e: f102 0214 add.w r2, r2, #20 ; 0x14 - 8027342: f04f 0302 mov.w r3, #2 ; 0x2 - 8027346: 9300 str r3, [sp, #0] - 8027348: f04f 030f mov.w r3, #15 ; 0xf - 802734c: 9301 str r3, [sp, #4] - 802734e: f04f 0303 mov.w r3, #3 ; 0x3 - 8027352: 9302 str r3, [sp, #8] - 8027354: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8027358: 9303 str r3, [sp, #12] - 802735a: f04f 0301 mov.w r3, #1 ; 0x1 - 802735e: 9304 str r3, [sp, #16] - 8027360: f8d7 0090 ldr.w r0, [r7, #144] - 8027364: ca06 ldmia r2!, {r1, r2} - 8027366: f8d7 3aec ldr.w r3, [r7, #2796] - 802736a: f7f2 f86f bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 802736e: f8d7 2090 ldr.w r2, [r7, #144] - 8027372: f8c7 2094 str.w r2, [r7, #148] - 8027376: e003 b.n 8027380 <_ZN11StrategieV3C2Eb+0x1fb4> - 8027378: f8d7 3090 ldr.w r3, [r7, #144] - 802737c: f8c7 3094 str.w r3, [r7, #148] - 8027380: f507 6327 add.w r3, r7, #2672 ; 0xa70 - 8027384: f8d7 2094 ldr.w r2, [r7, #148] - 8027388: 601a str r2, [r3, #0] - etape16 = new Etape(Position(2815, 1200, isBlue), tableauEtapes16, 3, 16, Etape::FEU_COTE_NOTRE_COULEUR_FACE_TERRAIN, -1, 0); - 802738a: f507 621a add.w r2, r7, #2464 ; 0x9a0 - 802738e: f102 021c add.w r2, r2, #28 ; 0x1c - 8027392: f507 739c add.w r3, r7, #312 ; 0x138 - 8027396: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 802739a: 781b ldrb r3, [r3, #0] - 802739c: 4610 mov r0, r2 - 802739e: f8df 16cc ldr.w r1, [pc, #1740] ; 8027a6c <_ZN11StrategieV3C2Eb+0x26a0> - 80273a2: f8df 26d4 ldr.w r2, [pc, #1748] ; 8027a78 <_ZN11StrategieV3C2Eb+0x26ac> - 80273a6: f7f0 fa03 bl 80177b0 <_ZN8PositionC1Effb> - 80273aa: f04f 0034 mov.w r0, #52 ; 0x34 - 80273ae: f7f0 f887 bl 80174c0 <_Znwj> - 80273b2: 4603 mov r3, r0 - 80273b4: f8c7 3098 str.w r3, [r7, #152] - 80273b8: f8d7 3098 ldr.w r3, [r7, #152] - 80273bc: 2b00 cmp r3, #0 - 80273be: d01e beq.n 80273fe <_ZN11StrategieV3C2Eb+0x2032> - 80273c0: f507 621a add.w r2, r7, #2464 ; 0x9a0 - 80273c4: f102 021c add.w r2, r2, #28 ; 0x1c - 80273c8: f04f 0303 mov.w r3, #3 ; 0x3 - 80273cc: 9300 str r3, [sp, #0] - 80273ce: f04f 0310 mov.w r3, #16 ; 0x10 - 80273d2: 9301 str r3, [sp, #4] - 80273d4: f04f 0309 mov.w r3, #9 ; 0x9 - 80273d8: 9302 str r3, [sp, #8] - 80273da: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 80273de: 9303 str r3, [sp, #12] - 80273e0: f04f 0300 mov.w r3, #0 ; 0x0 - 80273e4: 9304 str r3, [sp, #16] - 80273e6: f8d7 0098 ldr.w r0, [r7, #152] - 80273ea: ca06 ldmia r2!, {r1, r2} - 80273ec: f8d7 3af0 ldr.w r3, [r7, #2800] - 80273f0: f7f2 f82c bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 80273f4: f8d7 2098 ldr.w r2, [r7, #152] - 80273f8: f8c7 209c str.w r2, [r7, #156] - 80273fc: e003 b.n 8027406 <_ZN11StrategieV3C2Eb+0x203a> - 80273fe: f8d7 3098 ldr.w r3, [r7, #152] - 8027402: f8c7 309c str.w r3, [r7, #156] - 8027406: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 802740a: f103 0314 add.w r3, r3, #20 ; 0x14 - 802740e: f8d7 209c ldr.w r2, [r7, #156] - 8027412: 601a str r2, [r3, #0] - etape17 = new Etape(Position(2400, 1550, isBlue), tableauEtapes17, 3, 17, Etape::DEPOSE_FRUIT, -1, 0); - 8027414: f507 621c add.w r2, r7, #2496 ; 0x9c0 - 8027418: f102 0204 add.w r2, r2, #4 ; 0x4 - 802741c: f507 739c add.w r3, r7, #312 ; 0x138 - 8027420: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8027424: 781b ldrb r3, [r3, #0] - 8027426: 4610 mov r0, r2 - 8027428: f8df 163c ldr.w r1, [pc, #1596] ; 8027a68 <_ZN11StrategieV3C2Eb+0x269c> - 802742c: f8df 264c ldr.w r2, [pc, #1612] ; 8027a7c <_ZN11StrategieV3C2Eb+0x26b0> - 8027430: f7f0 f9be bl 80177b0 <_ZN8PositionC1Effb> - 8027434: f04f 0034 mov.w r0, #52 ; 0x34 - 8027438: f7f0 f842 bl 80174c0 <_Znwj> - 802743c: 4603 mov r3, r0 - 802743e: f8c7 30a0 str.w r3, [r7, #160] - 8027442: f8d7 30a0 ldr.w r3, [r7, #160] - 8027446: 2b00 cmp r3, #0 - 8027448: d01e beq.n 8027488 <_ZN11StrategieV3C2Eb+0x20bc> - 802744a: f507 621c add.w r2, r7, #2496 ; 0x9c0 - 802744e: f102 0204 add.w r2, r2, #4 ; 0x4 - 8027452: f04f 0303 mov.w r3, #3 ; 0x3 - 8027456: 9300 str r3, [sp, #0] - 8027458: f04f 0311 mov.w r3, #17 ; 0x11 - 802745c: 9301 str r3, [sp, #4] - 802745e: f04f 0307 mov.w r3, #7 ; 0x7 - 8027462: 9302 str r3, [sp, #8] - 8027464: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8027468: 9303 str r3, [sp, #12] - 802746a: f04f 0300 mov.w r3, #0 ; 0x0 - 802746e: 9304 str r3, [sp, #16] - 8027470: f8d7 00a0 ldr.w r0, [r7, #160] - 8027474: ca06 ldmia r2!, {r1, r2} - 8027476: f8d7 3af4 ldr.w r3, [r7, #2804] - 802747a: f7f1 ffe7 bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 802747e: f8d7 20a0 ldr.w r2, [r7, #160] - 8027482: f8c7 20a4 str.w r2, [r7, #164] - 8027486: e003 b.n 8027490 <_ZN11StrategieV3C2Eb+0x20c4> - 8027488: f8d7 30a0 ldr.w r3, [r7, #160] - 802748c: f8c7 30a4 str.w r3, [r7, #164] - 8027490: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8027494: f103 0318 add.w r3, r3, #24 ; 0x18 - 8027498: f8d7 20a4 ldr.w r2, [r7, #164] - 802749c: 601a str r2, [r3, #0] - etape18 = new Etape(Position(2100, 1550, isBlue), tableauEtapes18, 2, 18, Etape::TIR_MAMMOUTH, -1, 1); - 802749e: f507 621c add.w r2, r7, #2496 ; 0x9c0 - 80274a2: f102 020c add.w r2, r2, #12 ; 0xc - 80274a6: f507 739c add.w r3, r7, #312 ; 0x138 - 80274aa: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 80274ae: 781b ldrb r3, [r3, #0] - 80274b0: 4610 mov r0, r2 - 80274b2: f8df 15ac ldr.w r1, [pc, #1452] ; 8027a60 <_ZN11StrategieV3C2Eb+0x2694> - 80274b6: f8df 25c4 ldr.w r2, [pc, #1476] ; 8027a7c <_ZN11StrategieV3C2Eb+0x26b0> - 80274ba: f7f0 f979 bl 80177b0 <_ZN8PositionC1Effb> - 80274be: f04f 0034 mov.w r0, #52 ; 0x34 - 80274c2: f7ef fffd bl 80174c0 <_Znwj> - 80274c6: 4603 mov r3, r0 - 80274c8: f8c7 30a8 str.w r3, [r7, #168] - 80274cc: f8d7 30a8 ldr.w r3, [r7, #168] - 80274d0: 2b00 cmp r3, #0 - 80274d2: d01e beq.n 8027512 <_ZN11StrategieV3C2Eb+0x2146> - 80274d4: f507 621c add.w r2, r7, #2496 ; 0x9c0 - 80274d8: f102 020c add.w r2, r2, #12 ; 0xc - 80274dc: f04f 0302 mov.w r3, #2 ; 0x2 - 80274e0: 9300 str r3, [sp, #0] - 80274e2: f04f 0312 mov.w r3, #18 ; 0x12 - 80274e6: 9301 str r3, [sp, #4] - 80274e8: f04f 030c mov.w r3, #12 ; 0xc - 80274ec: 9302 str r3, [sp, #8] - 80274ee: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 80274f2: 9303 str r3, [sp, #12] - 80274f4: f04f 0301 mov.w r3, #1 ; 0x1 - 80274f8: 9304 str r3, [sp, #16] - 80274fa: f8d7 00a8 ldr.w r0, [r7, #168] - 80274fe: ca06 ldmia r2!, {r1, r2} - 8027500: f8d7 3af8 ldr.w r3, [r7, #2808] - 8027504: f7f1 ffa2 bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 8027508: f8d7 20a8 ldr.w r2, [r7, #168] - 802750c: f8c7 20ac str.w r2, [r7, #172] - 8027510: e003 b.n 802751a <_ZN11StrategieV3C2Eb+0x214e> - 8027512: f8d7 30a8 ldr.w r3, [r7, #168] - 8027516: f8c7 30ac str.w r3, [r7, #172] - 802751a: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 802751e: f103 031c add.w r3, r3, #28 ; 0x1c - 8027522: f8d7 20ac ldr.w r2, [r7, #172] - 8027526: 601a str r2, [r3, #0] - etape19 = new Etape(Position(600, 900, isBlue), tableauEtapes19, 4, 19, Etape::FEU, -1, 1); - 8027528: f507 621c add.w r2, r7, #2496 ; 0x9c0 - 802752c: f102 0214 add.w r2, r2, #20 ; 0x14 - 8027530: f507 739c add.w r3, r7, #312 ; 0x138 - 8027534: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8027538: 781b ldrb r3, [r3, #0] - 802753a: 4610 mov r0, r2 - 802753c: f8df 1530 ldr.w r1, [pc, #1328] ; 8027a70 <_ZN11StrategieV3C2Eb+0x26a4> - 8027540: f8df 250c ldr.w r2, [pc, #1292] ; 8027a50 <_ZN11StrategieV3C2Eb+0x2684> - 8027544: f7f0 f934 bl 80177b0 <_ZN8PositionC1Effb> - 8027548: f04f 0034 mov.w r0, #52 ; 0x34 - 802754c: f7ef ffb8 bl 80174c0 <_Znwj> - 8027550: 4603 mov r3, r0 - 8027552: f8c7 30b0 str.w r3, [r7, #176] - 8027556: f8d7 30b0 ldr.w r3, [r7, #176] - 802755a: 2b00 cmp r3, #0 - 802755c: d01e beq.n 802759c <_ZN11StrategieV3C2Eb+0x21d0> - 802755e: f507 621c add.w r2, r7, #2496 ; 0x9c0 - 8027562: f102 0214 add.w r2, r2, #20 ; 0x14 - 8027566: f04f 0304 mov.w r3, #4 ; 0x4 - 802756a: 9300 str r3, [sp, #0] - 802756c: f04f 0313 mov.w r3, #19 ; 0x13 - 8027570: 9301 str r3, [sp, #4] - 8027572: f04f 0303 mov.w r3, #3 ; 0x3 - 8027576: 9302 str r3, [sp, #8] - 8027578: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 802757c: 9303 str r3, [sp, #12] - 802757e: f04f 0301 mov.w r3, #1 ; 0x1 - 8027582: 9304 str r3, [sp, #16] - 8027584: f8d7 00b0 ldr.w r0, [r7, #176] - 8027588: ca06 ldmia r2!, {r1, r2} - 802758a: f8d7 3afc ldr.w r3, [r7, #2812] - 802758e: f7f1 ff5d bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 8027592: f8d7 20b0 ldr.w r2, [r7, #176] - 8027596: f8c7 20b4 str.w r2, [r7, #180] - 802759a: e003 b.n 80275a4 <_ZN11StrategieV3C2Eb+0x21d8> - 802759c: f8d7 30b0 ldr.w r3, [r7, #176] - 80275a0: f8c7 30b4 str.w r3, [r7, #180] - 80275a4: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 80275a8: f8d7 20b4 ldr.w r2, [r7, #180] - 80275ac: 601a str r2, [r3, #0] - etape20 = new Etape(Position(900, 600, isBlue), tableauEtapes20, 5, 20, Etape::FEU, -1, 1); - 80275ae: f507 621c add.w r2, r7, #2496 ; 0x9c0 - 80275b2: f102 021c add.w r2, r2, #28 ; 0x1c - 80275b6: f507 739c add.w r3, r7, #312 ; 0x138 - 80275ba: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 80275be: 781b ldrb r3, [r3, #0] - 80275c0: 4610 mov r0, r2 - 80275c2: f8df 148c ldr.w r1, [pc, #1164] ; 8027a50 <_ZN11StrategieV3C2Eb+0x2684> - 80275c6: f8df 24a8 ldr.w r2, [pc, #1192] ; 8027a70 <_ZN11StrategieV3C2Eb+0x26a4> - 80275ca: f7f0 f8f1 bl 80177b0 <_ZN8PositionC1Effb> - 80275ce: f04f 0034 mov.w r0, #52 ; 0x34 - 80275d2: f7ef ff75 bl 80174c0 <_Znwj> - 80275d6: 4603 mov r3, r0 - 80275d8: f8c7 30b8 str.w r3, [r7, #184] - 80275dc: f8d7 30b8 ldr.w r3, [r7, #184] - 80275e0: 2b00 cmp r3, #0 - 80275e2: d01e beq.n 8027622 <_ZN11StrategieV3C2Eb+0x2256> - 80275e4: f507 621c add.w r2, r7, #2496 ; 0x9c0 - 80275e8: f102 021c add.w r2, r2, #28 ; 0x1c - 80275ec: f04f 0305 mov.w r3, #5 ; 0x5 - 80275f0: 9300 str r3, [sp, #0] - 80275f2: f04f 0314 mov.w r3, #20 ; 0x14 - 80275f6: 9301 str r3, [sp, #4] - 80275f8: f04f 0303 mov.w r3, #3 ; 0x3 - 80275fc: 9302 str r3, [sp, #8] - 80275fe: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8027602: 9303 str r3, [sp, #12] - 8027604: f04f 0301 mov.w r3, #1 ; 0x1 - 8027608: 9304 str r3, [sp, #16] - 802760a: f8d7 00b8 ldr.w r0, [r7, #184] - 802760e: ca06 ldmia r2!, {r1, r2} - 8027610: f8d7 3b00 ldr.w r3, [r7, #2816] - 8027614: f7f1 ff1a bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 8027618: f8d7 20b8 ldr.w r2, [r7, #184] - 802761c: f8c7 20bc str.w r2, [r7, #188] - 8027620: e003 b.n 802762a <_ZN11StrategieV3C2Eb+0x225e> - 8027622: f8d7 30b8 ldr.w r3, [r7, #184] - 8027626: f8c7 30bc str.w r3, [r7, #188] - 802762a: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 802762e: f103 0304 add.w r3, r3, #4 ; 0x4 - 8027632: f8d7 20bc ldr.w r2, [r7, #188] - 8027636: 601a str r2, [r3, #0] - etape21 = new Etape(Position(1500, 600, isBlue), tableauEtapes21, 6, 21, Etape::POINT_PASSAGE, -1, 0); - 8027638: f507 621e add.w r2, r7, #2528 ; 0x9e0 - 802763c: f102 0204 add.w r2, r2, #4 ; 0x4 - 8027640: f507 739c add.w r3, r7, #312 ; 0x138 - 8027644: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8027648: 781b ldrb r3, [r3, #0] - 802764a: 4610 mov r0, r2 - 802764c: f8df 1430 ldr.w r1, [pc, #1072] ; 8027a80 <_ZN11StrategieV3C2Eb+0x26b4> - 8027650: f8df 241c ldr.w r2, [pc, #1052] ; 8027a70 <_ZN11StrategieV3C2Eb+0x26a4> - 8027654: f7f0 f8ac bl 80177b0 <_ZN8PositionC1Effb> - 8027658: f04f 0034 mov.w r0, #52 ; 0x34 - 802765c: f7ef ff30 bl 80174c0 <_Znwj> - 8027660: 4603 mov r3, r0 - 8027662: f8c7 30c0 str.w r3, [r7, #192] - 8027666: f8d7 30c0 ldr.w r3, [r7, #192] - 802766a: 2b00 cmp r3, #0 - 802766c: d01e beq.n 80276ac <_ZN11StrategieV3C2Eb+0x22e0> - 802766e: f507 621e add.w r2, r7, #2528 ; 0x9e0 - 8027672: f102 0204 add.w r2, r2, #4 ; 0x4 - 8027676: f04f 0306 mov.w r3, #6 ; 0x6 - 802767a: 9300 str r3, [sp, #0] - 802767c: f04f 0315 mov.w r3, #21 ; 0x15 - 8027680: 9301 str r3, [sp, #4] - 8027682: f04f 0300 mov.w r3, #0 ; 0x0 - 8027686: 9302 str r3, [sp, #8] - 8027688: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 802768c: 9303 str r3, [sp, #12] - 802768e: f04f 0300 mov.w r3, #0 ; 0x0 - 8027692: 9304 str r3, [sp, #16] - 8027694: f8d7 00c0 ldr.w r0, [r7, #192] - 8027698: ca06 ldmia r2!, {r1, r2} - 802769a: f8d7 3b04 ldr.w r3, [r7, #2820] - 802769e: f7f1 fed5 bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 80276a2: f8d7 20c0 ldr.w r2, [r7, #192] - 80276a6: f8c7 20c4 str.w r2, [r7, #196] - 80276aa: e003 b.n 80276b4 <_ZN11StrategieV3C2Eb+0x22e8> - 80276ac: f8d7 30c0 ldr.w r3, [r7, #192] - 80276b0: f8c7 30c4 str.w r3, [r7, #196] - 80276b4: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 80276b8: f103 0308 add.w r3, r3, #8 ; 0x8 - 80276bc: f8d7 20c4 ldr.w r2, [r7, #196] - 80276c0: 601a str r2, [r3, #0] - etape22 = new Etape(Position(2100, 600, isBlue), tableauEtapes22, 4, 22, Etape::FEU, -1, 0); - 80276c2: f507 621e add.w r2, r7, #2528 ; 0x9e0 - 80276c6: f102 020c add.w r2, r2, #12 ; 0xc - 80276ca: f507 739c add.w r3, r7, #312 ; 0x138 - 80276ce: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 80276d2: 781b ldrb r3, [r3, #0] - 80276d4: 4610 mov r0, r2 - 80276d6: 49e2 ldr r1, [pc, #904] (8027a60 <_ZN11StrategieV3C2Eb+0x2694>) - 80276d8: 4ae5 ldr r2, [pc, #916] (8027a70 <_ZN11StrategieV3C2Eb+0x26a4>) - 80276da: f7f0 f869 bl 80177b0 <_ZN8PositionC1Effb> - 80276de: f04f 0034 mov.w r0, #52 ; 0x34 - 80276e2: f7ef feed bl 80174c0 <_Znwj> - 80276e6: 4603 mov r3, r0 - 80276e8: f8c7 30c8 str.w r3, [r7, #200] - 80276ec: f8d7 30c8 ldr.w r3, [r7, #200] - 80276f0: 2b00 cmp r3, #0 - 80276f2: d01e beq.n 8027732 <_ZN11StrategieV3C2Eb+0x2366> - 80276f4: f507 621e add.w r2, r7, #2528 ; 0x9e0 - 80276f8: f102 020c add.w r2, r2, #12 ; 0xc - 80276fc: f04f 0304 mov.w r3, #4 ; 0x4 - 8027700: 9300 str r3, [sp, #0] - 8027702: f04f 0316 mov.w r3, #22 ; 0x16 - 8027706: 9301 str r3, [sp, #4] - 8027708: f04f 0303 mov.w r3, #3 ; 0x3 - 802770c: 9302 str r3, [sp, #8] - 802770e: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8027712: 9303 str r3, [sp, #12] - 8027714: f04f 0300 mov.w r3, #0 ; 0x0 - 8027718: 9304 str r3, [sp, #16] - 802771a: f8d7 00c8 ldr.w r0, [r7, #200] - 802771e: ca06 ldmia r2!, {r1, r2} - 8027720: f8d7 3b08 ldr.w r3, [r7, #2824] - 8027724: f7f1 fe92 bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 8027728: f8d7 20c8 ldr.w r2, [r7, #200] - 802772c: f8c7 20cc str.w r2, [r7, #204] - 8027730: e003 b.n 802773a <_ZN11StrategieV3C2Eb+0x236e> - 8027732: f8d7 30c8 ldr.w r3, [r7, #200] - 8027736: f8c7 30cc str.w r3, [r7, #204] - 802773a: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 802773e: f103 030c add.w r3, r3, #12 ; 0xc - 8027742: f8d7 20cc ldr.w r2, [r7, #204] - 8027746: 601a str r2, [r3, #0] - etape23 = new Etape(Position(1800, 800, isBlue), tableauEtapes23, 4, 23, Etape::TIR_MAMMOUTH, -1, 0); - 8027748: f507 621e add.w r2, r7, #2528 ; 0x9e0 - 802774c: f102 0214 add.w r2, r2, #20 ; 0x14 - 8027750: f507 739c add.w r3, r7, #312 ; 0x138 - 8027754: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8027758: 781b ldrb r3, [r3, #0] - 802775a: 4610 mov r0, r2 - 802775c: 49c9 ldr r1, [pc, #804] (8027a84 <_ZN11StrategieV3C2Eb+0x26b8>) - 802775e: 4ac5 ldr r2, [pc, #788] (8027a74 <_ZN11StrategieV3C2Eb+0x26a8>) - 8027760: f7f0 f826 bl 80177b0 <_ZN8PositionC1Effb> - 8027764: f04f 0034 mov.w r0, #52 ; 0x34 - 8027768: f7ef feaa bl 80174c0 <_Znwj> - 802776c: 4603 mov r3, r0 - 802776e: f8c7 30d0 str.w r3, [r7, #208] - 8027772: f8d7 30d0 ldr.w r3, [r7, #208] - 8027776: 2b00 cmp r3, #0 - 8027778: d01e beq.n 80277b8 <_ZN11StrategieV3C2Eb+0x23ec> - 802777a: f507 621e add.w r2, r7, #2528 ; 0x9e0 - 802777e: f102 0214 add.w r2, r2, #20 ; 0x14 - 8027782: f04f 0304 mov.w r3, #4 ; 0x4 - 8027786: 9300 str r3, [sp, #0] - 8027788: f04f 0317 mov.w r3, #23 ; 0x17 - 802778c: 9301 str r3, [sp, #4] - 802778e: f04f 030c mov.w r3, #12 ; 0xc - 8027792: 9302 str r3, [sp, #8] - 8027794: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8027798: 9303 str r3, [sp, #12] - 802779a: f04f 0300 mov.w r3, #0 ; 0x0 - 802779e: 9304 str r3, [sp, #16] - 80277a0: f8d7 00d0 ldr.w r0, [r7, #208] - 80277a4: ca06 ldmia r2!, {r1, r2} - 80277a6: f8d7 3b0c ldr.w r3, [r7, #2828] - 80277aa: f7f1 fe4f bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 80277ae: f8d7 20d0 ldr.w r2, [r7, #208] - 80277b2: f8c7 20d4 str.w r2, [r7, #212] - 80277b6: e003 b.n 80277c0 <_ZN11StrategieV3C2Eb+0x23f4> - 80277b8: f8d7 30d0 ldr.w r3, [r7, #208] - 80277bc: f8c7 30d4 str.w r3, [r7, #212] - 80277c0: f507 6329 add.w r3, r7, #2704 ; 0xa90 - 80277c4: f8d7 20d4 ldr.w r2, [r7, #212] - 80277c8: 601a str r2, [r3, #0] - etape24 = new Etape(Position(2400, 900, isBlue), tableauEtapes24, 4, 24, Etape::FEU, -1, 1); - 80277ca: f507 621e add.w r2, r7, #2528 ; 0x9e0 - 80277ce: f102 021c add.w r2, r2, #28 ; 0x1c - 80277d2: f507 739c add.w r3, r7, #312 ; 0x138 - 80277d6: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 80277da: 781b ldrb r3, [r3, #0] - 80277dc: 4610 mov r0, r2 - 80277de: 49a2 ldr r1, [pc, #648] (8027a68 <_ZN11StrategieV3C2Eb+0x269c>) - 80277e0: 4a9b ldr r2, [pc, #620] (8027a50 <_ZN11StrategieV3C2Eb+0x2684>) - 80277e2: f7ef ffe5 bl 80177b0 <_ZN8PositionC1Effb> - 80277e6: f04f 0034 mov.w r0, #52 ; 0x34 - 80277ea: f7ef fe69 bl 80174c0 <_Znwj> - 80277ee: 4603 mov r3, r0 - 80277f0: f8c7 30d8 str.w r3, [r7, #216] - 80277f4: f8d7 30d8 ldr.w r3, [r7, #216] - 80277f8: 2b00 cmp r3, #0 - 80277fa: d01e beq.n 802783a <_ZN11StrategieV3C2Eb+0x246e> - 80277fc: f507 621e add.w r2, r7, #2528 ; 0x9e0 - 8027800: f102 021c add.w r2, r2, #28 ; 0x1c - 8027804: f04f 0304 mov.w r3, #4 ; 0x4 - 8027808: 9300 str r3, [sp, #0] - 802780a: f04f 0318 mov.w r3, #24 ; 0x18 - 802780e: 9301 str r3, [sp, #4] - 8027810: f04f 0303 mov.w r3, #3 ; 0x3 - 8027814: 9302 str r3, [sp, #8] - 8027816: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 802781a: 9303 str r3, [sp, #12] - 802781c: f04f 0301 mov.w r3, #1 ; 0x1 - 8027820: 9304 str r3, [sp, #16] - 8027822: f8d7 00d8 ldr.w r0, [r7, #216] - 8027826: ca06 ldmia r2!, {r1, r2} - 8027828: f8d7 3b10 ldr.w r3, [r7, #2832] - 802782c: f7f1 fe0e bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 8027830: f8d7 20d8 ldr.w r2, [r7, #216] - 8027834: f8c7 20dc str.w r2, [r7, #220] - 8027838: e003 b.n 8027842 <_ZN11StrategieV3C2Eb+0x2476> - 802783a: f8d7 30d8 ldr.w r3, [r7, #216] - 802783e: f8c7 30dc str.w r3, [r7, #220] - 8027842: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8027846: f103 0314 add.w r3, r3, #20 ; 0x14 - 802784a: f8d7 20dc ldr.w r2, [r7, #220] - 802784e: 601a str r2, [r3, #0] - etape25 = new Etape(Position(2100, 1200, isBlue), tableauEtapes25, 3, 25, Etape::FEU, -1, 1); - 8027850: f507 6220 add.w r2, r7, #2560 ; 0xa00 - 8027854: f102 0204 add.w r2, r2, #4 ; 0x4 - 8027858: f507 739c add.w r3, r7, #312 ; 0x138 - 802785c: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8027860: 781b ldrb r3, [r3, #0] - 8027862: 4610 mov r0, r2 - 8027864: 497e ldr r1, [pc, #504] (8027a60 <_ZN11StrategieV3C2Eb+0x2694>) - 8027866: 4a84 ldr r2, [pc, #528] (8027a78 <_ZN11StrategieV3C2Eb+0x26ac>) - 8027868: f7ef ffa2 bl 80177b0 <_ZN8PositionC1Effb> - 802786c: f04f 0034 mov.w r0, #52 ; 0x34 - 8027870: f7ef fe26 bl 80174c0 <_Znwj> - 8027874: 4603 mov r3, r0 - 8027876: f8c7 30e0 str.w r3, [r7, #224] - 802787a: f8d7 30e0 ldr.w r3, [r7, #224] - 802787e: 2b00 cmp r3, #0 - 8027880: d01e beq.n 80278c0 <_ZN11StrategieV3C2Eb+0x24f4> - 8027882: f507 6220 add.w r2, r7, #2560 ; 0xa00 - 8027886: f102 0204 add.w r2, r2, #4 ; 0x4 - 802788a: f04f 0303 mov.w r3, #3 ; 0x3 - 802788e: 9300 str r3, [sp, #0] - 8027890: f04f 0319 mov.w r3, #25 ; 0x19 - 8027894: 9301 str r3, [sp, #4] - 8027896: f04f 0303 mov.w r3, #3 ; 0x3 - 802789a: 9302 str r3, [sp, #8] - 802789c: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 80278a0: 9303 str r3, [sp, #12] - 80278a2: f04f 0301 mov.w r3, #1 ; 0x1 - 80278a6: 9304 str r3, [sp, #16] - 80278a8: f8d7 00e0 ldr.w r0, [r7, #224] - 80278ac: ca06 ldmia r2!, {r1, r2} - 80278ae: f8d7 3b14 ldr.w r3, [r7, #2836] - 80278b2: f7f1 fdcb bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 80278b6: f8d7 20e0 ldr.w r2, [r7, #224] - 80278ba: f8c7 20e4 str.w r2, [r7, #228] - 80278be: e003 b.n 80278c8 <_ZN11StrategieV3C2Eb+0x24fc> - 80278c0: f8d7 30e0 ldr.w r3, [r7, #224] - 80278c4: f8c7 30e4 str.w r3, [r7, #228] - 80278c8: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 80278cc: f103 0318 add.w r3, r3, #24 ; 0x18 - 80278d0: f8d7 20e4 ldr.w r2, [r7, #228] - 80278d4: 601a str r2, [r3, #0] - etape26 = new Etape(Position(1800, 1550, isBlue), tableauEtapes26, 2, 26, Etape::POINT_PASSAGE, -1, 0); - 80278d6: f507 6220 add.w r2, r7, #2560 ; 0xa00 - 80278da: f102 020c add.w r2, r2, #12 ; 0xc - 80278de: f507 739c add.w r3, r7, #312 ; 0x138 - 80278e2: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 80278e6: 781b ldrb r3, [r3, #0] - 80278e8: 4610 mov r0, r2 - 80278ea: 4966 ldr r1, [pc, #408] (8027a84 <_ZN11StrategieV3C2Eb+0x26b8>) - 80278ec: 4a63 ldr r2, [pc, #396] (8027a7c <_ZN11StrategieV3C2Eb+0x26b0>) - 80278ee: f7ef ff5f bl 80177b0 <_ZN8PositionC1Effb> - 80278f2: f04f 0034 mov.w r0, #52 ; 0x34 - 80278f6: f7ef fde3 bl 80174c0 <_Znwj> - 80278fa: 4603 mov r3, r0 - 80278fc: f8c7 30e8 str.w r3, [r7, #232] - 8027900: f8d7 30e8 ldr.w r3, [r7, #232] - 8027904: 2b00 cmp r3, #0 - 8027906: d01e beq.n 8027946 <_ZN11StrategieV3C2Eb+0x257a> - 8027908: f507 6220 add.w r2, r7, #2560 ; 0xa00 - 802790c: f102 020c add.w r2, r2, #12 ; 0xc - 8027910: f04f 0302 mov.w r3, #2 ; 0x2 - 8027914: 9300 str r3, [sp, #0] - 8027916: f04f 031a mov.w r3, #26 ; 0x1a - 802791a: 9301 str r3, [sp, #4] - 802791c: f04f 0300 mov.w r3, #0 ; 0x0 - 8027920: 9302 str r3, [sp, #8] - 8027922: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8027926: 9303 str r3, [sp, #12] - 8027928: f04f 0300 mov.w r3, #0 ; 0x0 - 802792c: 9304 str r3, [sp, #16] - 802792e: f8d7 00e8 ldr.w r0, [r7, #232] - 8027932: ca06 ldmia r2!, {r1, r2} - 8027934: f8d7 3b18 ldr.w r3, [r7, #2840] - 8027938: f7f1 fd88 bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 802793c: f8d7 20e8 ldr.w r2, [r7, #232] - 8027940: f8c7 20ec str.w r2, [r7, #236] - 8027944: e003 b.n 802794e <_ZN11StrategieV3C2Eb+0x2582> - 8027946: f8d7 30e8 ldr.w r3, [r7, #232] - 802794a: f8c7 30ec str.w r3, [r7, #236] - 802794e: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8027952: f103 031c add.w r3, r3, #28 ; 0x1c - 8027956: f8d7 20ec ldr.w r2, [r7, #236] - 802795a: 601a str r2, [r3, #0] - etape27 = new Etape(Position(1800, 1000, isBlue), tableauEtapes27, 3, 27, Etape::POINT_PASSAGE, -1, 0); - 802795c: f507 6220 add.w r2, r7, #2560 ; 0xa00 - 8027960: f102 0214 add.w r2, r2, #20 ; 0x14 - 8027964: f507 739c add.w r3, r7, #312 ; 0x138 - 8027968: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 802796c: 781b ldrb r3, [r3, #0] - 802796e: 4610 mov r0, r2 - 8027970: 4944 ldr r1, [pc, #272] (8027a84 <_ZN11StrategieV3C2Eb+0x26b8>) - 8027972: 4a45 ldr r2, [pc, #276] (8027a88 <_ZN11StrategieV3C2Eb+0x26bc>) - 8027974: f7ef ff1c bl 80177b0 <_ZN8PositionC1Effb> - 8027978: f04f 0034 mov.w r0, #52 ; 0x34 - 802797c: f7ef fda0 bl 80174c0 <_Znwj> - 8027980: 4603 mov r3, r0 - 8027982: f8c7 30f0 str.w r3, [r7, #240] - 8027986: f8d7 30f0 ldr.w r3, [r7, #240] - 802798a: 2b00 cmp r3, #0 - 802798c: d01e beq.n 80279cc <_ZN11StrategieV3C2Eb+0x2600> - 802798e: f507 6220 add.w r2, r7, #2560 ; 0xa00 - 8027992: f102 0214 add.w r2, r2, #20 ; 0x14 - 8027996: f04f 0303 mov.w r3, #3 ; 0x3 - 802799a: 9300 str r3, [sp, #0] - 802799c: f04f 031b mov.w r3, #27 ; 0x1b - 80279a0: 9301 str r3, [sp, #4] - 80279a2: f04f 0300 mov.w r3, #0 ; 0x0 - 80279a6: 9302 str r3, [sp, #8] - 80279a8: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 80279ac: 9303 str r3, [sp, #12] - 80279ae: f04f 0300 mov.w r3, #0 ; 0x0 - 80279b2: 9304 str r3, [sp, #16] - 80279b4: f8d7 00f0 ldr.w r0, [r7, #240] - 80279b8: ca06 ldmia r2!, {r1, r2} - 80279ba: f8d7 3b1c ldr.w r3, [r7, #2844] - 80279be: f7f1 fd45 bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 80279c2: f8d7 20f0 ldr.w r2, [r7, #240] - 80279c6: f8c7 20f4 str.w r2, [r7, #244] - 80279ca: e003 b.n 80279d4 <_ZN11StrategieV3C2Eb+0x2608> - 80279cc: f8d7 30f0 ldr.w r3, [r7, #240] - 80279d0: f8c7 30f4 str.w r3, [r7, #244] - 80279d4: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 80279d8: f8d7 20f4 ldr.w r2, [r7, #244] - 80279dc: 601a str r2, [r3, #0] - etape28 = new Etape(Position(600, 1100, isBlue), tableauEtapes28, 2, 28, Etape::POINT_PASSAGE, -1, 0); - 80279de: f507 6220 add.w r2, r7, #2560 ; 0xa00 - 80279e2: f102 021c add.w r2, r2, #28 ; 0x1c - 80279e6: f507 739c add.w r3, r7, #312 ; 0x138 - 80279ea: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 80279ee: 781b ldrb r3, [r3, #0] - 80279f0: 4610 mov r0, r2 - 80279f2: 491f ldr r1, [pc, #124] (8027a70 <_ZN11StrategieV3C2Eb+0x26a4>) - 80279f4: 4a25 ldr r2, [pc, #148] (8027a8c <_ZN11StrategieV3C2Eb+0x26c0>) - 80279f6: f7ef fedb bl 80177b0 <_ZN8PositionC1Effb> - 80279fa: f04f 0034 mov.w r0, #52 ; 0x34 - 80279fe: f7ef fd5f bl 80174c0 <_Znwj> - 8027a02: 4603 mov r3, r0 - 8027a04: f8c7 30f8 str.w r3, [r7, #248] - 8027a08: f8d7 30f8 ldr.w r3, [r7, #248] - 8027a0c: 2b00 cmp r3, #0 - 8027a0e: d03f beq.n 8027a90 <_ZN11StrategieV3C2Eb+0x26c4> - 8027a10: f507 6220 add.w r2, r7, #2560 ; 0xa00 - 8027a14: f102 021c add.w r2, r2, #28 ; 0x1c - 8027a18: f04f 0302 mov.w r3, #2 ; 0x2 - 8027a1c: 9300 str r3, [sp, #0] - 8027a1e: f04f 031c mov.w r3, #28 ; 0x1c - 8027a22: 9301 str r3, [sp, #4] - 8027a24: f04f 0300 mov.w r3, #0 ; 0x0 - 8027a28: 9302 str r3, [sp, #8] - 8027a2a: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8027a2e: 9303 str r3, [sp, #12] - 8027a30: f04f 0300 mov.w r3, #0 ; 0x0 - 8027a34: 9304 str r3, [sp, #16] - 8027a36: f8d7 00f8 ldr.w r0, [r7, #248] - 8027a3a: ca06 ldmia r2!, {r1, r2} - 8027a3c: f8d7 3b20 ldr.w r3, [r7, #2848] - 8027a40: f7f1 fd04 bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 8027a44: f8d7 20f8 ldr.w r2, [r7, #248] - 8027a48: f8c7 20fc str.w r2, [r7, #252] - 8027a4c: e024 b.n 8027a98 <_ZN11StrategieV3C2Eb+0x26cc> - 8027a4e: 46c0 nop (mov r8, r8) - 8027a50: 44610000 .word 0x44610000 - 8027a54: 43390000 .word 0x43390000 - 8027a58: 44a28000 .word 0x44a28000 - 8027a5c: 44d48000 .word 0x44d48000 - 8027a60: 45034000 .word 0x45034000 - 8027a64: 45098000 .word 0x45098000 - 8027a68: 45160000 .word 0x45160000 - 8027a6c: 452ff000 .word 0x452ff000 - 8027a70: 44160000 .word 0x44160000 - 8027a74: 44480000 .word 0x44480000 - 8027a78: 44960000 .word 0x44960000 - 8027a7c: 44c1c000 .word 0x44c1c000 - 8027a80: 44bb8000 .word 0x44bb8000 - 8027a84: 44e10000 .word 0x44e10000 - 8027a88: 447a0000 .word 0x447a0000 - 8027a8c: 44898000 .word 0x44898000 - 8027a90: f8d7 30f8 ldr.w r3, [r7, #248] - 8027a94: f8c7 30fc str.w r3, [r7, #252] - 8027a98: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8027a9c: f103 0304 add.w r3, r3, #4 ; 0x4 - 8027aa0: f8d7 20fc ldr.w r2, [r7, #252] - 8027aa4: 601a str r2, [r3, #0] - etape29 = new Etape(Position(600, 600, isBlue), tableauEtapes29, 5, 29, Etape::POINT_PASSAGE, -1, 0); - 8027aa6: f507 6222 add.w r2, r7, #2592 ; 0xa20 - 8027aaa: f102 0204 add.w r2, r2, #4 ; 0x4 - 8027aae: f507 739c add.w r3, r7, #312 ; 0x138 - 8027ab2: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8027ab6: 781b ldrb r3, [r3, #0] - 8027ab8: 4610 mov r0, r2 - 8027aba: 4938 ldr r1, [pc, #224] (8027b9c <_ZN11StrategieV3C2Eb+0x27d0>) - 8027abc: 4a37 ldr r2, [pc, #220] (8027b9c <_ZN11StrategieV3C2Eb+0x27d0>) - 8027abe: f7ef fe77 bl 80177b0 <_ZN8PositionC1Effb> - 8027ac2: f04f 0034 mov.w r0, #52 ; 0x34 - 8027ac6: f7ef fcfb bl 80174c0 <_Znwj> - 8027aca: 4603 mov r3, r0 - 8027acc: f8c7 3100 str.w r3, [r7, #256] - 8027ad0: f8d7 3100 ldr.w r3, [r7, #256] - 8027ad4: 2b00 cmp r3, #0 - 8027ad6: d01e beq.n 8027b16 <_ZN11StrategieV3C2Eb+0x274a> - 8027ad8: f507 6222 add.w r2, r7, #2592 ; 0xa20 - 8027adc: f102 0204 add.w r2, r2, #4 ; 0x4 - 8027ae0: f04f 0305 mov.w r3, #5 ; 0x5 - 8027ae4: 9300 str r3, [sp, #0] - 8027ae6: f04f 031d mov.w r3, #29 ; 0x1d - 8027aea: 9301 str r3, [sp, #4] - 8027aec: f04f 0300 mov.w r3, #0 ; 0x0 - 8027af0: 9302 str r3, [sp, #8] - 8027af2: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8027af6: 9303 str r3, [sp, #12] - 8027af8: f04f 0300 mov.w r3, #0 ; 0x0 - 8027afc: 9304 str r3, [sp, #16] - 8027afe: f8d7 0100 ldr.w r0, [r7, #256] - 8027b02: ca06 ldmia r2!, {r1, r2} - 8027b04: f8d7 3b24 ldr.w r3, [r7, #2852] - 8027b08: f7f1 fca0 bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 8027b0c: f8d7 2100 ldr.w r2, [r7, #256] - 8027b10: f8c7 2104 str.w r2, [r7, #260] - 8027b14: e003 b.n 8027b1e <_ZN11StrategieV3C2Eb+0x2752> - 8027b16: f8d7 3100 ldr.w r3, [r7, #256] - 8027b1a: f8c7 3104 str.w r3, [r7, #260] - 8027b1e: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8027b22: f103 0308 add.w r3, r3, #8 ; 0x8 - 8027b26: f8d7 2104 ldr.w r2, [r7, #260] - 8027b2a: 601a str r2, [r3, #0] - etape30 = new Etape(Position(2400, 600, isBlue), tableauEtapes30, 6, 30, Etape::POINT_PASSAGE, -1, 0); - 8027b2c: f507 6222 add.w r2, r7, #2592 ; 0xa20 - 8027b30: f102 020c add.w r2, r2, #12 ; 0xc - 8027b34: f507 739c add.w r3, r7, #312 ; 0x138 - 8027b38: f1a3 031d sub.w r3, r3, #29 ; 0x1d - 8027b3c: 781b ldrb r3, [r3, #0] - 8027b3e: 4610 mov r0, r2 - 8027b40: 4917 ldr r1, [pc, #92] (8027ba0 <_ZN11StrategieV3C2Eb+0x27d4>) - 8027b42: 4a16 ldr r2, [pc, #88] (8027b9c <_ZN11StrategieV3C2Eb+0x27d0>) - 8027b44: f7ef fe34 bl 80177b0 <_ZN8PositionC1Effb> - 8027b48: f04f 0034 mov.w r0, #52 ; 0x34 - 8027b4c: f7ef fcb8 bl 80174c0 <_Znwj> - 8027b50: 4603 mov r3, r0 - 8027b52: f8c7 3108 str.w r3, [r7, #264] - 8027b56: f8d7 3108 ldr.w r3, [r7, #264] - 8027b5a: 2b00 cmp r3, #0 - 8027b5c: d022 beq.n 8027ba4 <_ZN11StrategieV3C2Eb+0x27d8> - 8027b5e: f507 6222 add.w r2, r7, #2592 ; 0xa20 - 8027b62: f102 020c add.w r2, r2, #12 ; 0xc - 8027b66: f04f 0306 mov.w r3, #6 ; 0x6 - 8027b6a: 9300 str r3, [sp, #0] - 8027b6c: f04f 031e mov.w r3, #30 ; 0x1e - 8027b70: 9301 str r3, [sp, #4] - 8027b72: f04f 0300 mov.w r3, #0 ; 0x0 - 8027b76: 9302 str r3, [sp, #8] - 8027b78: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8027b7c: 9303 str r3, [sp, #12] - 8027b7e: f04f 0300 mov.w r3, #0 ; 0x0 - 8027b82: 9304 str r3, [sp, #16] - 8027b84: f8d7 0108 ldr.w r0, [r7, #264] - 8027b88: ca06 ldmia r2!, {r1, r2} - 8027b8a: f8d7 3b28 ldr.w r3, [r7, #2856] - 8027b8e: f7f1 fc5d bl 801944c <_ZN5EtapeC1E8PositionPPS_iiNS_9EtapeTypeEii> - 8027b92: f8d7 2108 ldr.w r2, [r7, #264] - 8027b96: f8c7 210c str.w r2, [r7, #268] - 8027b9a: e007 b.n 8027bac <_ZN11StrategieV3C2Eb+0x27e0> - 8027b9c: 44160000 .word 0x44160000 - 8027ba0: 45160000 .word 0x45160000 - 8027ba4: f8d7 3108 ldr.w r3, [r7, #264] - 8027ba8: f8c7 310c str.w r3, [r7, #268] - 8027bac: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8027bb0: f103 030c add.w r3, r3, #12 ; 0xc - 8027bb4: f8d7 210c ldr.w r2, [r7, #268] - 8027bb8: 601a str r2, [r3, #0] - - tableauEtapes0[0] = etape1; - 8027bba: f507 632b add.w r3, r7, #2736 ; 0xab0 - 8027bbe: 681a ldr r2, [r3, #0] - 8027bc0: f507 6322 add.w r3, r7, #2592 ; 0xa20 - 8027bc4: f103 0318 add.w r3, r3, #24 ; 0x18 - 8027bc8: 681b ldr r3, [r3, #0] - 8027bca: 6013 str r3, [r2, #0] - tableauEtapes0[1] = etape28; - 8027bcc: f507 632b add.w r3, r7, #2736 ; 0xab0 - 8027bd0: 681b ldr r3, [r3, #0] - 8027bd2: f103 0204 add.w r2, r3, #4 ; 0x4 - 8027bd6: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8027bda: f103 0304 add.w r3, r3, #4 ; 0x4 - 8027bde: 681b ldr r3, [r3, #0] - 8027be0: 6013 str r3, [r2, #0] - - tableauEtapes1[0] = etape0; - 8027be2: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8027be6: f103 0314 add.w r3, r3, #20 ; 0x14 - 8027bea: 681a ldr r2, [r3, #0] - 8027bec: f507 6322 add.w r3, r7, #2592 ; 0xa20 - 8027bf0: f103 0314 add.w r3, r3, #20 ; 0x14 - 8027bf4: 681b ldr r3, [r3, #0] - 8027bf6: 6013 str r3, [r2, #0] - tableauEtapes1[1] = etape2; - 8027bf8: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8027bfc: f103 0314 add.w r3, r3, #20 ; 0x14 - 8027c00: 681b ldr r3, [r3, #0] - 8027c02: f103 0204 add.w r2, r3, #4 ; 0x4 - 8027c06: f507 6322 add.w r3, r7, #2592 ; 0xa20 - 8027c0a: f103 031c add.w r3, r3, #28 ; 0x1c - 8027c0e: 681b ldr r3, [r3, #0] - 8027c10: 6013 str r3, [r2, #0] - - tableauEtapes2[0] = etape1; - 8027c12: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8027c16: f103 0318 add.w r3, r3, #24 ; 0x18 - 8027c1a: 681a ldr r2, [r3, #0] - 8027c1c: f507 6322 add.w r3, r7, #2592 ; 0xa20 - 8027c20: f103 0318 add.w r3, r3, #24 ; 0x18 - 8027c24: 681b ldr r3, [r3, #0] - 8027c26: 6013 str r3, [r2, #0] - tableauEtapes2[1] = etape3; - 8027c28: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8027c2c: f103 0318 add.w r3, r3, #24 ; 0x18 - 8027c30: 681b ldr r3, [r3, #0] - 8027c32: f103 0204 add.w r2, r3, #4 ; 0x4 - 8027c36: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8027c3a: 681b ldr r3, [r3, #0] - 8027c3c: 6013 str r3, [r2, #0] - - tableauEtapes3[0] = etape2; - 8027c3e: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8027c42: f103 031c add.w r3, r3, #28 ; 0x1c - 8027c46: 681a ldr r2, [r3, #0] - 8027c48: f507 6322 add.w r3, r7, #2592 ; 0xa20 - 8027c4c: f103 031c add.w r3, r3, #28 ; 0x1c - 8027c50: 681b ldr r3, [r3, #0] - 8027c52: 6013 str r3, [r2, #0] - tableauEtapes3[1] = etape4; - 8027c54: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8027c58: f103 031c add.w r3, r3, #28 ; 0x1c - 8027c5c: 681b ldr r3, [r3, #0] - 8027c5e: f103 0204 add.w r2, r3, #4 ; 0x4 - 8027c62: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8027c66: f103 0304 add.w r3, r3, #4 ; 0x4 - 8027c6a: 681b ldr r3, [r3, #0] - 8027c6c: 6013 str r3, [r2, #0] - - tableauEtapes4[0] = etape3; - 8027c6e: f507 632c add.w r3, r7, #2752 ; 0xac0 - 8027c72: 681a ldr r2, [r3, #0] - 8027c74: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8027c78: 681b ldr r3, [r3, #0] - 8027c7a: 6013 str r3, [r2, #0] - tableauEtapes4[1] = etape5; - 8027c7c: f507 632c add.w r3, r7, #2752 ; 0xac0 - 8027c80: 681b ldr r3, [r3, #0] - 8027c82: f103 0204 add.w r2, r3, #4 ; 0x4 - 8027c86: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8027c8a: f103 0308 add.w r3, r3, #8 ; 0x8 - 8027c8e: 681b ldr r3, [r3, #0] - 8027c90: 6013 str r3, [r2, #0] - tableauEtapes4[2] = etape19; - 8027c92: f507 632c add.w r3, r7, #2752 ; 0xac0 - 8027c96: 681b ldr r3, [r3, #0] - 8027c98: f103 0208 add.w r2, r3, #8 ; 0x8 - 8027c9c: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8027ca0: 681b ldr r3, [r3, #0] - 8027ca2: 6013 str r3, [r2, #0] - tableauEtapes4[3] = etape29; - 8027ca4: f507 632c add.w r3, r7, #2752 ; 0xac0 - 8027ca8: 681b ldr r3, [r3, #0] - 8027caa: f103 020c add.w r2, r3, #12 ; 0xc - 8027cae: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8027cb2: f103 0308 add.w r3, r3, #8 ; 0x8 - 8027cb6: 681b ldr r3, [r3, #0] - 8027cb8: 6013 str r3, [r2, #0] - - tableauEtapes5[0] = etape4; - 8027cba: f507 632c add.w r3, r7, #2752 ; 0xac0 - 8027cbe: f103 0304 add.w r3, r3, #4 ; 0x4 - 8027cc2: 681a ldr r2, [r3, #0] - 8027cc4: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8027cc8: f103 0304 add.w r3, r3, #4 ; 0x4 - 8027ccc: 681b ldr r3, [r3, #0] - 8027cce: 6013 str r3, [r2, #0] - tableauEtapes5[1] = etape6; - 8027cd0: f507 632c add.w r3, r7, #2752 ; 0xac0 - 8027cd4: f103 0304 add.w r3, r3, #4 ; 0x4 - 8027cd8: 681b ldr r3, [r3, #0] - 8027cda: f103 0204 add.w r2, r3, #4 ; 0x4 - 8027cde: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8027ce2: f103 030c add.w r3, r3, #12 ; 0xc - 8027ce6: 681b ldr r3, [r3, #0] - 8027ce8: 6013 str r3, [r2, #0] - tableauEtapes5[2] = etape29; - 8027cea: f507 632c add.w r3, r7, #2752 ; 0xac0 - 8027cee: f103 0304 add.w r3, r3, #4 ; 0x4 - 8027cf2: 681b ldr r3, [r3, #0] - 8027cf4: f103 0208 add.w r2, r3, #8 ; 0x8 - 8027cf8: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8027cfc: f103 0308 add.w r3, r3, #8 ; 0x8 - 8027d00: 681b ldr r3, [r3, #0] - 8027d02: 6013 str r3, [r2, #0] - - tableauEtapes6[0] = etape5; - 8027d04: f507 632c add.w r3, r7, #2752 ; 0xac0 - 8027d08: f103 0308 add.w r3, r3, #8 ; 0x8 - 8027d0c: 681a ldr r2, [r3, #0] - 8027d0e: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8027d12: f103 0308 add.w r3, r3, #8 ; 0x8 - 8027d16: 681b ldr r3, [r3, #0] - 8027d18: 6013 str r3, [r2, #0] - tableauEtapes6[1] = etape7; - 8027d1a: f507 632c add.w r3, r7, #2752 ; 0xac0 - 8027d1e: f103 0308 add.w r3, r3, #8 ; 0x8 - 8027d22: 681b ldr r3, [r3, #0] - 8027d24: f103 0204 add.w r2, r3, #4 ; 0x4 - 8027d28: f507 6325 add.w r3, r7, #2640 ; 0xa50 - 8027d2c: 681b ldr r3, [r3, #0] - 8027d2e: 6013 str r3, [r2, #0] - tableauEtapes6[2] = etape29; - 8027d30: f507 632c add.w r3, r7, #2752 ; 0xac0 - 8027d34: f103 0308 add.w r3, r3, #8 ; 0x8 - 8027d38: 681b ldr r3, [r3, #0] - 8027d3a: f103 0208 add.w r2, r3, #8 ; 0x8 - 8027d3e: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8027d42: f103 0308 add.w r3, r3, #8 ; 0x8 - 8027d46: 681b ldr r3, [r3, #0] - 8027d48: 6013 str r3, [r2, #0] - - tableauEtapes7[0] = etape6; - 8027d4a: f507 632c add.w r3, r7, #2752 ; 0xac0 - 8027d4e: f103 030c add.w r3, r3, #12 ; 0xc - 8027d52: 681a ldr r2, [r3, #0] - 8027d54: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8027d58: f103 030c add.w r3, r3, #12 ; 0xc - 8027d5c: 681b ldr r3, [r3, #0] - 8027d5e: 6013 str r3, [r2, #0] - tableauEtapes7[1] = etape8; - 8027d60: f507 632c add.w r3, r7, #2752 ; 0xac0 - 8027d64: f103 030c add.w r3, r3, #12 ; 0xc - 8027d68: 681b ldr r3, [r3, #0] - 8027d6a: f103 0204 add.w r2, r3, #4 ; 0x4 - 8027d6e: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8027d72: f103 0314 add.w r3, r3, #20 ; 0x14 - 8027d76: 681b ldr r3, [r3, #0] - 8027d78: 6013 str r3, [r2, #0] - tableauEtapes7[2] = etape21; - 8027d7a: f507 632c add.w r3, r7, #2752 ; 0xac0 - 8027d7e: f103 030c add.w r3, r3, #12 ; 0xc - 8027d82: 681b ldr r3, [r3, #0] - 8027d84: f103 0208 add.w r2, r3, #8 ; 0x8 - 8027d88: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8027d8c: f103 0308 add.w r3, r3, #8 ; 0x8 - 8027d90: 681b ldr r3, [r3, #0] - 8027d92: 6013 str r3, [r2, #0] - - tableauEtapes8[0] = etape7; - 8027d94: f507 632d add.w r3, r7, #2768 ; 0xad0 - 8027d98: 681a ldr r2, [r3, #0] - 8027d9a: f507 6325 add.w r3, r7, #2640 ; 0xa50 - 8027d9e: 681b ldr r3, [r3, #0] - 8027da0: 6013 str r3, [r2, #0] - tableauEtapes8[1] = etape9; - 8027da2: f507 632d add.w r3, r7, #2768 ; 0xad0 - 8027da6: 681b ldr r3, [r3, #0] - 8027da8: f103 0204 add.w r2, r3, #4 ; 0x4 - 8027dac: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8027db0: f103 0318 add.w r3, r3, #24 ; 0x18 - 8027db4: 681b ldr r3, [r3, #0] - 8027db6: 6013 str r3, [r2, #0] - tableauEtapes8[2] = etape20; - 8027db8: f507 632d add.w r3, r7, #2768 ; 0xad0 - 8027dbc: 681b ldr r3, [r3, #0] - 8027dbe: f103 0208 add.w r2, r3, #8 ; 0x8 - 8027dc2: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8027dc6: f103 0304 add.w r3, r3, #4 ; 0x4 - 8027dca: 681b ldr r3, [r3, #0] - 8027dcc: 6013 str r3, [r2, #0] - tableauEtapes8[3] = etape21; - 8027dce: f507 632d add.w r3, r7, #2768 ; 0xad0 - 8027dd2: 681b ldr r3, [r3, #0] - 8027dd4: f103 020c add.w r2, r3, #12 ; 0xc - 8027dd8: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8027ddc: f103 0308 add.w r3, r3, #8 ; 0x8 - 8027de0: 681b ldr r3, [r3, #0] - 8027de2: 6013 str r3, [r2, #0] - - tableauEtapes9[0] = etape8; - 8027de4: f507 632c add.w r3, r7, #2752 ; 0xac0 - 8027de8: f103 0314 add.w r3, r3, #20 ; 0x14 - 8027dec: 681a ldr r2, [r3, #0] - 8027dee: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8027df2: f103 0314 add.w r3, r3, #20 ; 0x14 - 8027df6: 681b ldr r3, [r3, #0] - 8027df8: 6013 str r3, [r2, #0] - tableauEtapes9[1] = etape10; - 8027dfa: f507 632c add.w r3, r7, #2752 ; 0xac0 - 8027dfe: f103 0314 add.w r3, r3, #20 ; 0x14 - 8027e02: 681b ldr r3, [r3, #0] - 8027e04: f103 0204 add.w r2, r3, #4 ; 0x4 - 8027e08: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8027e0c: f103 031c add.w r3, r3, #28 ; 0x1c - 8027e10: 681b ldr r3, [r3, #0] - 8027e12: 6013 str r3, [r2, #0] - tableauEtapes9[2] = etape20; - 8027e14: f507 632c add.w r3, r7, #2752 ; 0xac0 - 8027e18: f103 0314 add.w r3, r3, #20 ; 0x14 - 8027e1c: 681b ldr r3, [r3, #0] - 8027e1e: f103 0208 add.w r2, r3, #8 ; 0x8 - 8027e22: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8027e26: f103 0304 add.w r3, r3, #4 ; 0x4 - 8027e2a: 681b ldr r3, [r3, #0] - 8027e2c: 6013 str r3, [r2, #0] - tableauEtapes9[3] = etape21; - 8027e2e: f507 632c add.w r3, r7, #2752 ; 0xac0 - 8027e32: f103 0314 add.w r3, r3, #20 ; 0x14 - 8027e36: 681b ldr r3, [r3, #0] - 8027e38: f103 020c add.w r2, r3, #12 ; 0xc - 8027e3c: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8027e40: f103 0308 add.w r3, r3, #8 ; 0x8 - 8027e44: 681b ldr r3, [r3, #0] - 8027e46: 6013 str r3, [r2, #0] - tableauEtapes9[4] = etape23; - 8027e48: f507 632c add.w r3, r7, #2752 ; 0xac0 - 8027e4c: f103 0314 add.w r3, r3, #20 ; 0x14 - 8027e50: 681b ldr r3, [r3, #0] - 8027e52: f103 0210 add.w r2, r3, #16 ; 0x10 - 8027e56: f507 6329 add.w r3, r7, #2704 ; 0xa90 - 8027e5a: 681b ldr r3, [r3, #0] - 8027e5c: 6013 str r3, [r2, #0] - - tableauEtapes10[0] = etape9; - 8027e5e: f507 632c add.w r3, r7, #2752 ; 0xac0 - 8027e62: f103 0318 add.w r3, r3, #24 ; 0x18 - 8027e66: 681a ldr r2, [r3, #0] - 8027e68: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8027e6c: f103 0318 add.w r3, r3, #24 ; 0x18 - 8027e70: 681b ldr r3, [r3, #0] - 8027e72: 6013 str r3, [r2, #0] - tableauEtapes10[1] = etape11; - 8027e74: f507 632c add.w r3, r7, #2752 ; 0xac0 - 8027e78: f103 0318 add.w r3, r3, #24 ; 0x18 - 8027e7c: 681b ldr r3, [r3, #0] - 8027e7e: f103 0204 add.w r2, r3, #4 ; 0x4 - 8027e82: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8027e86: 681b ldr r3, [r3, #0] - 8027e88: 6013 str r3, [r2, #0] - - tableauEtapes11[0] = etape10; - 8027e8a: f8d7 2adc ldr.w r2, [r7, #2780] - 8027e8e: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8027e92: f103 031c add.w r3, r3, #28 ; 0x1c - 8027e96: 681b ldr r3, [r3, #0] - 8027e98: 6013 str r3, [r2, #0] - tableauEtapes11[1] = etape12; - 8027e9a: f8d7 3adc ldr.w r3, [r7, #2780] - 8027e9e: f103 0204 add.w r2, r3, #4 ; 0x4 - 8027ea2: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8027ea6: f103 0304 add.w r3, r3, #4 ; 0x4 - 8027eaa: 681b ldr r3, [r3, #0] - 8027eac: 6013 str r3, [r2, #0] - tableauEtapes11[2] = etape30; - 8027eae: f8d7 3adc ldr.w r3, [r7, #2780] - 8027eb2: f103 0208 add.w r2, r3, #8 ; 0x8 - 8027eb6: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8027eba: f103 030c add.w r3, r3, #12 ; 0xc - 8027ebe: 681b ldr r3, [r3, #0] - 8027ec0: 6013 str r3, [r2, #0] - - tableauEtapes12[0] = etape11; - 8027ec2: f8d7 2ae0 ldr.w r2, [r7, #2784] - 8027ec6: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8027eca: 681b ldr r3, [r3, #0] - 8027ecc: 6013 str r3, [r2, #0] - tableauEtapes12[1] = etape13; - 8027ece: f8d7 3ae0 ldr.w r3, [r7, #2784] - 8027ed2: f103 0204 add.w r2, r3, #4 ; 0x4 - 8027ed6: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8027eda: f103 0308 add.w r3, r3, #8 ; 0x8 - 8027ede: 681b ldr r3, [r3, #0] - 8027ee0: 6013 str r3, [r2, #0] - tableauEtapes12[2] = etape30; - 8027ee2: f8d7 3ae0 ldr.w r3, [r7, #2784] - 8027ee6: f103 0208 add.w r2, r3, #8 ; 0x8 - 8027eea: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8027eee: f103 030c add.w r3, r3, #12 ; 0xc - 8027ef2: 681b ldr r3, [r3, #0] - 8027ef4: 6013 str r3, [r2, #0] - - tableauEtapes13[0] = etape12; - 8027ef6: f8d7 2ae4 ldr.w r2, [r7, #2788] - 8027efa: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8027efe: f103 0304 add.w r3, r3, #4 ; 0x4 - 8027f02: 681b ldr r3, [r3, #0] - 8027f04: 6013 str r3, [r2, #0] - tableauEtapes13[1] = etape14; - 8027f06: f8d7 3ae4 ldr.w r3, [r7, #2788] - 8027f0a: f103 0204 add.w r2, r3, #4 ; 0x4 - 8027f0e: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8027f12: f103 030c add.w r3, r3, #12 ; 0xc - 8027f16: 681b ldr r3, [r3, #0] - 8027f18: 6013 str r3, [r2, #0] - tableauEtapes13[2] = etape30; - 8027f1a: f8d7 3ae4 ldr.w r3, [r7, #2788] - 8027f1e: f103 0208 add.w r2, r3, #8 ; 0x8 - 8027f22: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8027f26: f103 030c add.w r3, r3, #12 ; 0xc - 8027f2a: 681b ldr r3, [r3, #0] - 8027f2c: 6013 str r3, [r2, #0] - - tableauEtapes14[0] = etape13; - 8027f2e: f8d7 2ae8 ldr.w r2, [r7, #2792] - 8027f32: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8027f36: f103 0308 add.w r3, r3, #8 ; 0x8 - 8027f3a: 681b ldr r3, [r3, #0] - 8027f3c: 6013 str r3, [r2, #0] - tableauEtapes14[1] = etape15; - 8027f3e: f8d7 3ae8 ldr.w r3, [r7, #2792] - 8027f42: f103 0204 add.w r2, r3, #4 ; 0x4 - 8027f46: f507 6327 add.w r3, r7, #2672 ; 0xa70 - 8027f4a: 681b ldr r3, [r3, #0] - 8027f4c: 6013 str r3, [r2, #0] - tableauEtapes14[2] = etape30; - 8027f4e: f8d7 3ae8 ldr.w r3, [r7, #2792] - 8027f52: f103 0208 add.w r2, r3, #8 ; 0x8 - 8027f56: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8027f5a: f103 030c add.w r3, r3, #12 ; 0xc - 8027f5e: 681b ldr r3, [r3, #0] - 8027f60: 6013 str r3, [r2, #0] - - tableauEtapes15[0] = etape14; - 8027f62: f8d7 2aec ldr.w r2, [r7, #2796] - 8027f66: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8027f6a: f103 030c add.w r3, r3, #12 ; 0xc - 8027f6e: 681b ldr r3, [r3, #0] - 8027f70: 6013 str r3, [r2, #0] - tableauEtapes15[1] = etape16; - 8027f72: f8d7 3aec ldr.w r3, [r7, #2796] - 8027f76: f103 0204 add.w r2, r3, #4 ; 0x4 - 8027f7a: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8027f7e: f103 0314 add.w r3, r3, #20 ; 0x14 - 8027f82: 681b ldr r3, [r3, #0] - 8027f84: 6013 str r3, [r2, #0] - - tableauEtapes16[0] = etape15; - 8027f86: f8d7 2af0 ldr.w r2, [r7, #2800] - 8027f8a: f507 6327 add.w r3, r7, #2672 ; 0xa70 - 8027f8e: 681b ldr r3, [r3, #0] - 8027f90: 6013 str r3, [r2, #0] - tableauEtapes16[1] = etape17; - 8027f92: f8d7 3af0 ldr.w r3, [r7, #2800] - 8027f96: f103 0204 add.w r2, r3, #4 ; 0x4 - 8027f9a: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8027f9e: f103 0318 add.w r3, r3, #24 ; 0x18 - 8027fa2: 681b ldr r3, [r3, #0] - 8027fa4: 6013 str r3, [r2, #0] - tableauEtapes16[2] = etape25; - 8027fa6: f8d7 3af0 ldr.w r3, [r7, #2800] - 8027faa: f103 0208 add.w r2, r3, #8 ; 0x8 - 8027fae: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8027fb2: f103 0318 add.w r3, r3, #24 ; 0x18 - 8027fb6: 681b ldr r3, [r3, #0] - 8027fb8: 6013 str r3, [r2, #0] - - tableauEtapes17[0] = etape16; - 8027fba: f8d7 2af4 ldr.w r2, [r7, #2804] - 8027fbe: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8027fc2: f103 0314 add.w r3, r3, #20 ; 0x14 - 8027fc6: 681b ldr r3, [r3, #0] - 8027fc8: 6013 str r3, [r2, #0] - tableauEtapes17[1] = etape18; - 8027fca: f8d7 3af4 ldr.w r3, [r7, #2804] - 8027fce: f103 0204 add.w r2, r3, #4 ; 0x4 - 8027fd2: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8027fd6: f103 031c add.w r3, r3, #28 ; 0x1c - 8027fda: 681b ldr r3, [r3, #0] - 8027fdc: 6013 str r3, [r2, #0] - tableauEtapes17[2] = etape24; - 8027fde: f8d7 3af4 ldr.w r3, [r7, #2804] - 8027fe2: f103 0208 add.w r2, r3, #8 ; 0x8 - 8027fe6: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8027fea: f103 0314 add.w r3, r3, #20 ; 0x14 - 8027fee: 681b ldr r3, [r3, #0] - 8027ff0: 6013 str r3, [r2, #0] - - tableauEtapes18[0] = etape17; - 8027ff2: f8d7 2af8 ldr.w r2, [r7, #2808] - 8027ff6: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8027ffa: f103 0318 add.w r3, r3, #24 ; 0x18 - 8027ffe: 681b ldr r3, [r3, #0] - 8028000: 6013 str r3, [r2, #0] - tableauEtapes18[1] = etape26; - 8028002: f8d7 3af8 ldr.w r3, [r7, #2808] - 8028006: f103 0204 add.w r2, r3, #4 ; 0x4 - 802800a: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 802800e: f103 031c add.w r3, r3, #28 ; 0x1c - 8028012: 681b ldr r3, [r3, #0] - 8028014: 6013 str r3, [r2, #0] - - tableauEtapes19[0] = etape4; - 8028016: f8d7 2afc ldr.w r2, [r7, #2812] - 802801a: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 802801e: f103 0304 add.w r3, r3, #4 ; 0x4 - 8028022: 681b ldr r3, [r3, #0] - 8028024: 6013 str r3, [r2, #0] - tableauEtapes19[1] = etape20; - 8028026: f8d7 3afc ldr.w r3, [r7, #2812] - 802802a: f103 0204 add.w r2, r3, #4 ; 0x4 - 802802e: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8028032: f103 0304 add.w r3, r3, #4 ; 0x4 - 8028036: 681b ldr r3, [r3, #0] - 8028038: 6013 str r3, [r2, #0] - tableauEtapes19[2] = etape28; - 802803a: f8d7 3afc ldr.w r3, [r7, #2812] - 802803e: f103 0208 add.w r2, r3, #8 ; 0x8 - 8028042: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8028046: f103 0304 add.w r3, r3, #4 ; 0x4 - 802804a: 681b ldr r3, [r3, #0] - 802804c: 6013 str r3, [r2, #0] - tableauEtapes19[3] = etape29; - 802804e: f8d7 3afc ldr.w r3, [r7, #2812] - 8028052: f103 020c add.w r2, r3, #12 ; 0xc - 8028056: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 802805a: f103 0308 add.w r3, r3, #8 ; 0x8 - 802805e: 681b ldr r3, [r3, #0] - 8028060: 6013 str r3, [r2, #0] - - tableauEtapes20[0] = etape8; - 8028062: f8d7 2b00 ldr.w r2, [r7, #2816] - 8028066: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 802806a: f103 0314 add.w r3, r3, #20 ; 0x14 - 802806e: 681b ldr r3, [r3, #0] - 8028070: 6013 str r3, [r2, #0] - tableauEtapes20[1] = etape9; - 8028072: f8d7 3b00 ldr.w r3, [r7, #2816] - 8028076: f103 0204 add.w r2, r3, #4 ; 0x4 - 802807a: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 802807e: f103 0318 add.w r3, r3, #24 ; 0x18 - 8028082: 681b ldr r3, [r3, #0] - 8028084: 6013 str r3, [r2, #0] - tableauEtapes20[2] = etape19; - 8028086: f8d7 3b00 ldr.w r3, [r7, #2816] - 802808a: f103 0208 add.w r2, r3, #8 ; 0x8 - 802808e: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8028092: 681b ldr r3, [r3, #0] - 8028094: 6013 str r3, [r2, #0] - tableauEtapes20[3] = etape21; - 8028096: f8d7 3b00 ldr.w r3, [r7, #2816] - 802809a: f103 020c add.w r2, r3, #12 ; 0xc - 802809e: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 80280a2: f103 0308 add.w r3, r3, #8 ; 0x8 - 80280a6: 681b ldr r3, [r3, #0] - 80280a8: 6013 str r3, [r2, #0] - tableauEtapes20[4] = etape29; - 80280aa: f8d7 3b00 ldr.w r3, [r7, #2816] - 80280ae: f103 0210 add.w r2, r3, #16 ; 0x10 - 80280b2: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 80280b6: f103 0308 add.w r3, r3, #8 ; 0x8 - 80280ba: 681b ldr r3, [r3, #0] - 80280bc: 6013 str r3, [r2, #0] - - tableauEtapes21[0] = etape7; - 80280be: f8d7 2b04 ldr.w r2, [r7, #2820] - 80280c2: f507 6325 add.w r3, r7, #2640 ; 0xa50 - 80280c6: 681b ldr r3, [r3, #0] - 80280c8: 6013 str r3, [r2, #0] - tableauEtapes21[1] = etape8; - 80280ca: f8d7 3b04 ldr.w r3, [r7, #2820] - 80280ce: f103 0204 add.w r2, r3, #4 ; 0x4 - 80280d2: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 80280d6: f103 0314 add.w r3, r3, #20 ; 0x14 - 80280da: 681b ldr r3, [r3, #0] - 80280dc: 6013 str r3, [r2, #0] - tableauEtapes21[2] = etape9; - 80280de: f8d7 3b04 ldr.w r3, [r7, #2820] - 80280e2: f103 0208 add.w r2, r3, #8 ; 0x8 - 80280e6: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 80280ea: f103 0318 add.w r3, r3, #24 ; 0x18 - 80280ee: 681b ldr r3, [r3, #0] - 80280f0: 6013 str r3, [r2, #0] - tableauEtapes21[3] = etape20; - 80280f2: f8d7 3b04 ldr.w r3, [r7, #2820] - 80280f6: f103 020c add.w r2, r3, #12 ; 0xc - 80280fa: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 80280fe: f103 0304 add.w r3, r3, #4 ; 0x4 - 8028102: 681b ldr r3, [r3, #0] - 8028104: 6013 str r3, [r2, #0] - tableauEtapes21[4] = etape22; - 8028106: f8d7 3b04 ldr.w r3, [r7, #2820] - 802810a: f103 0210 add.w r2, r3, #16 ; 0x10 - 802810e: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8028112: f103 030c add.w r3, r3, #12 ; 0xc - 8028116: 681b ldr r3, [r3, #0] - 8028118: 6013 str r3, [r2, #0] - tableauEtapes21[5] = etape23; - 802811a: f8d7 3b04 ldr.w r3, [r7, #2820] - 802811e: f103 0214 add.w r2, r3, #20 ; 0x14 - 8028122: f507 6329 add.w r3, r7, #2704 ; 0xa90 - 8028126: 681b ldr r3, [r3, #0] - 8028128: 6013 str r3, [r2, #0] - - tableauEtapes22[0] = etape21; - 802812a: f8d7 2b08 ldr.w r2, [r7, #2824] - 802812e: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8028132: f103 0308 add.w r3, r3, #8 ; 0x8 - 8028136: 681b ldr r3, [r3, #0] - 8028138: 6013 str r3, [r2, #0] - tableauEtapes22[1] = etape23; - 802813a: f8d7 3b08 ldr.w r3, [r7, #2824] - 802813e: f103 0204 add.w r2, r3, #4 ; 0x4 - 8028142: f507 6329 add.w r3, r7, #2704 ; 0xa90 - 8028146: 681b ldr r3, [r3, #0] - 8028148: 6013 str r3, [r2, #0] - tableauEtapes22[2] = etape24; - 802814a: f8d7 3b08 ldr.w r3, [r7, #2824] - 802814e: f103 0208 add.w r2, r3, #8 ; 0x8 - 8028152: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8028156: f103 0314 add.w r3, r3, #20 ; 0x14 - 802815a: 681b ldr r3, [r3, #0] - 802815c: 6013 str r3, [r2, #0] - tableauEtapes22[3] = etape30; - 802815e: f8d7 3b08 ldr.w r3, [r7, #2824] - 8028162: f103 020c add.w r2, r3, #12 ; 0xc - 8028166: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 802816a: f103 030c add.w r3, r3, #12 ; 0xc - 802816e: 681b ldr r3, [r3, #0] - 8028170: 6013 str r3, [r2, #0] - - tableauEtapes23[0] = etape9; - 8028172: f8d7 2b0c ldr.w r2, [r7, #2828] - 8028176: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 802817a: f103 0318 add.w r3, r3, #24 ; 0x18 - 802817e: 681b ldr r3, [r3, #0] - 8028180: 6013 str r3, [r2, #0] - tableauEtapes23[1] = etape21; - 8028182: f8d7 3b0c ldr.w r3, [r7, #2828] - 8028186: f103 0204 add.w r2, r3, #4 ; 0x4 - 802818a: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 802818e: f103 0308 add.w r3, r3, #8 ; 0x8 - 8028192: 681b ldr r3, [r3, #0] - 8028194: 6013 str r3, [r2, #0] - tableauEtapes23[2] = etape22; - 8028196: f8d7 3b0c ldr.w r3, [r7, #2828] - 802819a: f103 0208 add.w r2, r3, #8 ; 0x8 - 802819e: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 80281a2: f103 030c add.w r3, r3, #12 ; 0xc - 80281a6: 681b ldr r3, [r3, #0] - 80281a8: 6013 str r3, [r2, #0] - tableauEtapes23[3] = etape27; - 80281aa: f8d7 3b0c ldr.w r3, [r7, #2828] - 80281ae: f103 020c add.w r2, r3, #12 ; 0xc - 80281b2: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 80281b6: 681b ldr r3, [r3, #0] - 80281b8: 6013 str r3, [r2, #0] - - tableauEtapes24[0] = etape17; - 80281ba: f8d7 2b10 ldr.w r2, [r7, #2832] - 80281be: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 80281c2: f103 0318 add.w r3, r3, #24 ; 0x18 - 80281c6: 681b ldr r3, [r3, #0] - 80281c8: 6013 str r3, [r2, #0] - tableauEtapes24[1] = etape22; - 80281ca: f8d7 3b10 ldr.w r3, [r7, #2832] - 80281ce: f103 0204 add.w r2, r3, #4 ; 0x4 - 80281d2: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 80281d6: f103 030c add.w r3, r3, #12 ; 0xc - 80281da: 681b ldr r3, [r3, #0] - 80281dc: 6013 str r3, [r2, #0] - tableauEtapes24[2] = etape25; - 80281de: f8d7 3b10 ldr.w r3, [r7, #2832] - 80281e2: f103 0208 add.w r2, r3, #8 ; 0x8 - 80281e6: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 80281ea: f103 0318 add.w r3, r3, #24 ; 0x18 - 80281ee: 681b ldr r3, [r3, #0] - 80281f0: 6013 str r3, [r2, #0] - tableauEtapes24[3] = etape30; - 80281f2: f8d7 3b10 ldr.w r3, [r7, #2832] - 80281f6: f103 020c add.w r2, r3, #12 ; 0xc - 80281fa: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 80281fe: f103 030c add.w r3, r3, #12 ; 0xc - 8028202: 681b ldr r3, [r3, #0] - 8028204: 6013 str r3, [r2, #0] - - tableauEtapes25[0] = etape16; - 8028206: f8d7 2b14 ldr.w r2, [r7, #2836] - 802820a: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 802820e: f103 0314 add.w r3, r3, #20 ; 0x14 - 8028212: 681b ldr r3, [r3, #0] - 8028214: 6013 str r3, [r2, #0] - tableauEtapes25[1] = etape24; - 8028216: f8d7 3b14 ldr.w r3, [r7, #2836] - 802821a: f103 0204 add.w r2, r3, #4 ; 0x4 - 802821e: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8028222: f103 0314 add.w r3, r3, #20 ; 0x14 - 8028226: 681b ldr r3, [r3, #0] - 8028228: 6013 str r3, [r2, #0] - tableauEtapes25[2] = etape27; - 802822a: f8d7 3b14 ldr.w r3, [r7, #2836] - 802822e: f103 0208 add.w r2, r3, #8 ; 0x8 - 8028232: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8028236: 681b ldr r3, [r3, #0] - 8028238: 6013 str r3, [r2, #0] - - tableauEtapes26[0] = etape18; - 802823a: f8d7 2b18 ldr.w r2, [r7, #2840] - 802823e: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8028242: f103 031c add.w r3, r3, #28 ; 0x1c - 8028246: 681b ldr r3, [r3, #0] - 8028248: 6013 str r3, [r2, #0] - tableauEtapes26[1] = etape27; - 802824a: f8d7 3b18 ldr.w r3, [r7, #2840] - 802824e: f103 0204 add.w r2, r3, #4 ; 0x4 - 8028252: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8028256: 681b ldr r3, [r3, #0] - 8028258: 6013 str r3, [r2, #0] - - tableauEtapes27[0] = etape23; - 802825a: f8d7 2b1c ldr.w r2, [r7, #2844] - 802825e: f507 6329 add.w r3, r7, #2704 ; 0xa90 - 8028262: 681b ldr r3, [r3, #0] - 8028264: 6013 str r3, [r2, #0] - tableauEtapes27[1] = etape25; - 8028266: f8d7 3b1c ldr.w r3, [r7, #2844] - 802826a: f103 0204 add.w r2, r3, #4 ; 0x4 - 802826e: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8028272: f103 0318 add.w r3, r3, #24 ; 0x18 - 8028276: 681b ldr r3, [r3, #0] - 8028278: 6013 str r3, [r2, #0] - tableauEtapes27[2] = etape26; - 802827a: f8d7 3b1c ldr.w r3, [r7, #2844] - 802827e: f103 0208 add.w r2, r3, #8 ; 0x8 - 8028282: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8028286: f103 031c add.w r3, r3, #28 ; 0x1c - 802828a: 681b ldr r3, [r3, #0] - 802828c: 6013 str r3, [r2, #0] - - tableauEtapes28[0] = etape0; - 802828e: f8d7 2b20 ldr.w r2, [r7, #2848] - 8028292: f507 6322 add.w r3, r7, #2592 ; 0xa20 - 8028296: f103 0314 add.w r3, r3, #20 ; 0x14 - 802829a: 681b ldr r3, [r3, #0] - 802829c: 6013 str r3, [r2, #0] - tableauEtapes28[1] = etape19; - 802829e: f8d7 3b20 ldr.w r3, [r7, #2848] - 80282a2: f103 0204 add.w r2, r3, #4 ; 0x4 - 80282a6: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 80282aa: 681b ldr r3, [r3, #0] - 80282ac: 6013 str r3, [r2, #0] - - tableauEtapes29[0] = etape4; - 80282ae: f8d7 2b24 ldr.w r2, [r7, #2852] - 80282b2: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 80282b6: f103 0304 add.w r3, r3, #4 ; 0x4 - 80282ba: 681b ldr r3, [r3, #0] - 80282bc: 6013 str r3, [r2, #0] - tableauEtapes29[1] = etape5; - 80282be: f8d7 3b24 ldr.w r3, [r7, #2852] - 80282c2: f103 0204 add.w r2, r3, #4 ; 0x4 - 80282c6: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 80282ca: f103 0308 add.w r3, r3, #8 ; 0x8 - 80282ce: 681b ldr r3, [r3, #0] - 80282d0: 6013 str r3, [r2, #0] - tableauEtapes29[2] = etape6; - 80282d2: f8d7 3b24 ldr.w r3, [r7, #2852] - 80282d6: f103 0208 add.w r2, r3, #8 ; 0x8 - 80282da: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 80282de: f103 030c add.w r3, r3, #12 ; 0xc - 80282e2: 681b ldr r3, [r3, #0] - 80282e4: 6013 str r3, [r2, #0] - tableauEtapes29[3] = etape19; - 80282e6: f8d7 3b24 ldr.w r3, [r7, #2852] - 80282ea: f103 020c add.w r2, r3, #12 ; 0xc - 80282ee: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 80282f2: 681b ldr r3, [r3, #0] - 80282f4: 6013 str r3, [r2, #0] - tableauEtapes29[4] = etape20; - 80282f6: f8d7 3b24 ldr.w r3, [r7, #2852] - 80282fa: f103 0210 add.w r2, r3, #16 ; 0x10 - 80282fe: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8028302: f103 0304 add.w r3, r3, #4 ; 0x4 - 8028306: 681b ldr r3, [r3, #0] - 8028308: 6013 str r3, [r2, #0] - - tableauEtapes30[0] = etape11; - 802830a: f8d7 2b28 ldr.w r2, [r7, #2856] - 802830e: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8028312: 681b ldr r3, [r3, #0] - 8028314: 6013 str r3, [r2, #0] - tableauEtapes30[1] = etape12; - 8028316: f8d7 3b28 ldr.w r3, [r7, #2856] - 802831a: f103 0204 add.w r2, r3, #4 ; 0x4 - 802831e: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8028322: f103 0304 add.w r3, r3, #4 ; 0x4 - 8028326: 681b ldr r3, [r3, #0] - 8028328: 6013 str r3, [r2, #0] - tableauEtapes30[2] = etape13; - 802832a: f8d7 3b28 ldr.w r3, [r7, #2856] - 802832e: f103 0208 add.w r2, r3, #8 ; 0x8 - 8028332: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8028336: f103 0308 add.w r3, r3, #8 ; 0x8 - 802833a: 681b ldr r3, [r3, #0] - 802833c: 6013 str r3, [r2, #0] - tableauEtapes30[3] = etape14; - 802833e: f8d7 3b28 ldr.w r3, [r7, #2856] - 8028342: f103 020c add.w r2, r3, #12 ; 0xc - 8028346: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 802834a: f103 030c add.w r3, r3, #12 ; 0xc - 802834e: 681b ldr r3, [r3, #0] - 8028350: 6013 str r3, [r2, #0] - tableauEtapes30[4] = etape22; - 8028352: f8d7 3b28 ldr.w r3, [r7, #2856] - 8028356: f103 0210 add.w r2, r3, #16 ; 0x10 - 802835a: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 802835e: f103 030c add.w r3, r3, #12 ; 0xc - 8028362: 681b ldr r3, [r3, #0] - 8028364: 6013 str r3, [r2, #0] - tableauEtapes30[5] = etape24; - 8028366: f8d7 3b28 ldr.w r3, [r7, #2856] - 802836a: f103 0214 add.w r2, r3, #20 ; 0x14 - 802836e: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8028372: f103 0314 add.w r3, r3, #20 ; 0x14 - 8028376: 681b ldr r3, [r3, #0] - 8028378: 6013 str r3, [r2, #0] - - etape0->setChildren(tableauEtapes0); - 802837a: f507 6322 add.w r3, r7, #2592 ; 0xa20 - 802837e: f103 0314 add.w r3, r3, #20 ; 0x14 - 8028382: f507 622b add.w r2, r7, #2736 ; 0xab0 - 8028386: 6818 ldr r0, [r3, #0] - 8028388: 6811 ldr r1, [r2, #0] - 802838a: f7f0 ff11 bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape1->setChildren(tableauEtapes1); - 802838e: f507 6322 add.w r3, r7, #2592 ; 0xa20 - 8028392: f103 0318 add.w r3, r3, #24 ; 0x18 - 8028396: f507 622a add.w r2, r7, #2720 ; 0xaa0 - 802839a: f102 0214 add.w r2, r2, #20 ; 0x14 - 802839e: 6818 ldr r0, [r3, #0] - 80283a0: 6811 ldr r1, [r2, #0] - 80283a2: f7f0 ff05 bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape2->setChildren(tableauEtapes2); - 80283a6: f507 6322 add.w r3, r7, #2592 ; 0xa20 - 80283aa: f103 031c add.w r3, r3, #28 ; 0x1c - 80283ae: f507 622a add.w r2, r7, #2720 ; 0xaa0 - 80283b2: f102 0218 add.w r2, r2, #24 ; 0x18 - 80283b6: 6818 ldr r0, [r3, #0] - 80283b8: 6811 ldr r1, [r2, #0] - 80283ba: f7f0 fef9 bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape3->setChildren(tableauEtapes3); - 80283be: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 80283c2: f507 622a add.w r2, r7, #2720 ; 0xaa0 - 80283c6: f102 021c add.w r2, r2, #28 ; 0x1c - 80283ca: 6818 ldr r0, [r3, #0] - 80283cc: 6811 ldr r1, [r2, #0] - 80283ce: f7f0 feef bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape4->setChildren(tableauEtapes4); - 80283d2: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 80283d6: f103 0304 add.w r3, r3, #4 ; 0x4 - 80283da: f507 622c add.w r2, r7, #2752 ; 0xac0 - 80283de: 6818 ldr r0, [r3, #0] - 80283e0: 6811 ldr r1, [r2, #0] - 80283e2: f7f0 fee5 bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape5->setChildren(tableauEtapes5); - 80283e6: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 80283ea: f103 0308 add.w r3, r3, #8 ; 0x8 - 80283ee: f507 622c add.w r2, r7, #2752 ; 0xac0 - 80283f2: f102 0204 add.w r2, r2, #4 ; 0x4 - 80283f6: 6818 ldr r0, [r3, #0] - 80283f8: 6811 ldr r1, [r2, #0] - 80283fa: f7f0 fed9 bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape6->setChildren(tableauEtapes6); - 80283fe: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8028402: f103 030c add.w r3, r3, #12 ; 0xc - 8028406: f507 622c add.w r2, r7, #2752 ; 0xac0 - 802840a: f102 0208 add.w r2, r2, #8 ; 0x8 - 802840e: 6818 ldr r0, [r3, #0] - 8028410: 6811 ldr r1, [r2, #0] - 8028412: f7f0 fecd bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape7->setChildren(tableauEtapes7); - 8028416: f507 6325 add.w r3, r7, #2640 ; 0xa50 - 802841a: f507 622c add.w r2, r7, #2752 ; 0xac0 - 802841e: f102 020c add.w r2, r2, #12 ; 0xc - 8028422: 6818 ldr r0, [r3, #0] - 8028424: 6811 ldr r1, [r2, #0] - 8028426: f7f0 fec3 bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape8->setChildren(tableauEtapes8); - 802842a: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 802842e: f103 0314 add.w r3, r3, #20 ; 0x14 - 8028432: f507 622d add.w r2, r7, #2768 ; 0xad0 - 8028436: 6818 ldr r0, [r3, #0] - 8028438: 6811 ldr r1, [r2, #0] - 802843a: f7f0 feb9 bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape9->setChildren(tableauEtapes9); - 802843e: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8028442: f103 0318 add.w r3, r3, #24 ; 0x18 - 8028446: f507 622c add.w r2, r7, #2752 ; 0xac0 - 802844a: f102 0214 add.w r2, r2, #20 ; 0x14 - 802844e: 6818 ldr r0, [r3, #0] - 8028450: 6811 ldr r1, [r2, #0] - 8028452: f7f0 fead bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape10->setChildren(tableauEtapes10); - 8028456: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 802845a: f103 031c add.w r3, r3, #28 ; 0x1c - 802845e: f507 622c add.w r2, r7, #2752 ; 0xac0 - 8028462: f102 0218 add.w r2, r2, #24 ; 0x18 - 8028466: 6818 ldr r0, [r3, #0] - 8028468: 6811 ldr r1, [r2, #0] - 802846a: f7f0 fea1 bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape11->setChildren(tableauEtapes11); - 802846e: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8028472: 6818 ldr r0, [r3, #0] - 8028474: f8d7 1adc ldr.w r1, [r7, #2780] - 8028478: f7f0 fe9a bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape12->setChildren(tableauEtapes12); - 802847c: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8028480: f103 0304 add.w r3, r3, #4 ; 0x4 - 8028484: 6818 ldr r0, [r3, #0] - 8028486: f8d7 1ae0 ldr.w r1, [r7, #2784] - 802848a: f7f0 fe91 bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape13->setChildren(tableauEtapes13); - 802848e: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8028492: f103 0308 add.w r3, r3, #8 ; 0x8 - 8028496: 6818 ldr r0, [r3, #0] - 8028498: f8d7 1ae4 ldr.w r1, [r7, #2788] - 802849c: f7f0 fe88 bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape14->setChildren(tableauEtapes14); - 80284a0: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 80284a4: f103 030c add.w r3, r3, #12 ; 0xc - 80284a8: 6818 ldr r0, [r3, #0] - 80284aa: f8d7 1ae8 ldr.w r1, [r7, #2792] - 80284ae: f7f0 fe7f bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape15->setChildren(tableauEtapes15); - 80284b2: f507 6327 add.w r3, r7, #2672 ; 0xa70 - 80284b6: 6818 ldr r0, [r3, #0] - 80284b8: f8d7 1aec ldr.w r1, [r7, #2796] - 80284bc: f7f0 fe78 bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape16->setChildren(tableauEtapes16); - 80284c0: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 80284c4: f103 0314 add.w r3, r3, #20 ; 0x14 - 80284c8: 6818 ldr r0, [r3, #0] - 80284ca: f8d7 1af0 ldr.w r1, [r7, #2800] - 80284ce: f7f0 fe6f bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape17->setChildren(tableauEtapes17); - 80284d2: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 80284d6: f103 0318 add.w r3, r3, #24 ; 0x18 - 80284da: 6818 ldr r0, [r3, #0] - 80284dc: f8d7 1af4 ldr.w r1, [r7, #2804] - 80284e0: f7f0 fe66 bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape18->setChildren(tableauEtapes18); - 80284e4: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 80284e8: f103 031c add.w r3, r3, #28 ; 0x1c - 80284ec: 6818 ldr r0, [r3, #0] - 80284ee: f8d7 1af8 ldr.w r1, [r7, #2808] - 80284f2: f7f0 fe5d bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape19->setChildren(tableauEtapes19); - 80284f6: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 80284fa: 6818 ldr r0, [r3, #0] - 80284fc: f8d7 1afc ldr.w r1, [r7, #2812] - 8028500: f7f0 fe56 bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape20->setChildren(tableauEtapes20); - 8028504: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8028508: f103 0304 add.w r3, r3, #4 ; 0x4 - 802850c: 6818 ldr r0, [r3, #0] - 802850e: f8d7 1b00 ldr.w r1, [r7, #2816] - 8028512: f7f0 fe4d bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape21->setChildren(tableauEtapes21); - 8028516: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 802851a: f103 0308 add.w r3, r3, #8 ; 0x8 - 802851e: 6818 ldr r0, [r3, #0] - 8028520: f8d7 1b04 ldr.w r1, [r7, #2820] - 8028524: f7f0 fe44 bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape22->setChildren(tableauEtapes22); - 8028528: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 802852c: f103 030c add.w r3, r3, #12 ; 0xc - 8028530: 6818 ldr r0, [r3, #0] - 8028532: f8d7 1b08 ldr.w r1, [r7, #2824] - 8028536: f7f0 fe3b bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape23->setChildren(tableauEtapes23); - 802853a: f507 6329 add.w r3, r7, #2704 ; 0xa90 - 802853e: 6818 ldr r0, [r3, #0] - 8028540: f8d7 1b0c ldr.w r1, [r7, #2828] - 8028544: f7f0 fe34 bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape24->setChildren(tableauEtapes24); - 8028548: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 802854c: f103 0314 add.w r3, r3, #20 ; 0x14 - 8028550: 6818 ldr r0, [r3, #0] - 8028552: f8d7 1b10 ldr.w r1, [r7, #2832] - 8028556: f7f0 fe2b bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape25->setChildren(tableauEtapes25); - 802855a: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 802855e: f103 0318 add.w r3, r3, #24 ; 0x18 - 8028562: 6818 ldr r0, [r3, #0] - 8028564: f8d7 1b14 ldr.w r1, [r7, #2836] - 8028568: f7f0 fe22 bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape26->setChildren(tableauEtapes26); - 802856c: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8028570: f103 031c add.w r3, r3, #28 ; 0x1c - 8028574: 6818 ldr r0, [r3, #0] - 8028576: f8d7 1b18 ldr.w r1, [r7, #2840] - 802857a: f7f0 fe19 bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape27->setChildren(tableauEtapes27); - 802857e: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8028582: 6818 ldr r0, [r3, #0] - 8028584: f8d7 1b1c ldr.w r1, [r7, #2844] - 8028588: f7f0 fe12 bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape28->setChildren(tableauEtapes28); - 802858c: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8028590: f103 0304 add.w r3, r3, #4 ; 0x4 - 8028594: 6818 ldr r0, [r3, #0] - 8028596: f8d7 1b20 ldr.w r1, [r7, #2848] - 802859a: f7f0 fe09 bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape29->setChildren(tableauEtapes29); - 802859e: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 80285a2: f103 0308 add.w r3, r3, #8 ; 0x8 - 80285a6: 6818 ldr r0, [r3, #0] - 80285a8: f8d7 1b24 ldr.w r1, [r7, #2852] - 80285ac: f7f0 fe00 bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - etape30->setChildren(tableauEtapes30); - 80285b0: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 80285b4: f103 030c add.w r3, r3, #12 ; 0xc - 80285b8: 6818 ldr r0, [r3, #0] - 80285ba: f8d7 1b28 ldr.w r1, [r7, #2856] - 80285be: f7f0 fdf7 bl 80191b0 <_ZN5Etape11setChildrenEPPS_> - - Etape** tableauEtapesTotal = new Etape*[NOMBRE_ETAPES]; - 80285c2: f04f 007c mov.w r0, #124 ; 0x7c - 80285c6: f7ef f813 bl 80175f0 <_Znaj> - 80285ca: 4603 mov r3, r0 - 80285cc: f8c7 3b2c str.w r3, [r7, #2860] - tableauEtapesTotal[0] = etape0; - 80285d0: f8d7 2b2c ldr.w r2, [r7, #2860] - 80285d4: f507 6322 add.w r3, r7, #2592 ; 0xa20 - 80285d8: f103 0314 add.w r3, r3, #20 ; 0x14 - 80285dc: 681b ldr r3, [r3, #0] - 80285de: 6013 str r3, [r2, #0] - tableauEtapesTotal[1] = etape1; - 80285e0: f8d7 3b2c ldr.w r3, [r7, #2860] - 80285e4: f103 0204 add.w r2, r3, #4 ; 0x4 - 80285e8: f507 6322 add.w r3, r7, #2592 ; 0xa20 - 80285ec: f103 0318 add.w r3, r3, #24 ; 0x18 - 80285f0: 681b ldr r3, [r3, #0] - 80285f2: 6013 str r3, [r2, #0] - tableauEtapesTotal[2] = etape2; - 80285f4: f8d7 3b2c ldr.w r3, [r7, #2860] - 80285f8: f103 0208 add.w r2, r3, #8 ; 0x8 - 80285fc: f507 6322 add.w r3, r7, #2592 ; 0xa20 - 8028600: f103 031c add.w r3, r3, #28 ; 0x1c - 8028604: 681b ldr r3, [r3, #0] - 8028606: 6013 str r3, [r2, #0] - tableauEtapesTotal[3] = etape3; - 8028608: f8d7 3b2c ldr.w r3, [r7, #2860] - 802860c: f103 020c add.w r2, r3, #12 ; 0xc - 8028610: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8028614: 681b ldr r3, [r3, #0] - 8028616: 6013 str r3, [r2, #0] - tableauEtapesTotal[4] = etape4; - 8028618: f8d7 3b2c ldr.w r3, [r7, #2860] - 802861c: f103 0210 add.w r2, r3, #16 ; 0x10 - 8028620: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8028624: f103 0304 add.w r3, r3, #4 ; 0x4 - 8028628: 681b ldr r3, [r3, #0] - 802862a: 6013 str r3, [r2, #0] - tableauEtapesTotal[5] = etape5; - 802862c: f8d7 3b2c ldr.w r3, [r7, #2860] - 8028630: f103 0214 add.w r2, r3, #20 ; 0x14 - 8028634: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8028638: f103 0308 add.w r3, r3, #8 ; 0x8 - 802863c: 681b ldr r3, [r3, #0] - 802863e: 6013 str r3, [r2, #0] - tableauEtapesTotal[6] = etape6; - 8028640: f8d7 3b2c ldr.w r3, [r7, #2860] - 8028644: f103 0218 add.w r2, r3, #24 ; 0x18 - 8028648: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 802864c: f103 030c add.w r3, r3, #12 ; 0xc - 8028650: 681b ldr r3, [r3, #0] - 8028652: 6013 str r3, [r2, #0] - tableauEtapesTotal[7] = etape7; - 8028654: f8d7 3b2c ldr.w r3, [r7, #2860] - 8028658: f103 021c add.w r2, r3, #28 ; 0x1c - 802865c: f507 6325 add.w r3, r7, #2640 ; 0xa50 - 8028660: 681b ldr r3, [r3, #0] - 8028662: 6013 str r3, [r2, #0] - tableauEtapesTotal[8] = etape8; - 8028664: f8d7 3b2c ldr.w r3, [r7, #2860] - 8028668: f103 0220 add.w r2, r3, #32 ; 0x20 - 802866c: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8028670: f103 0314 add.w r3, r3, #20 ; 0x14 - 8028674: 681b ldr r3, [r3, #0] - 8028676: 6013 str r3, [r2, #0] - tableauEtapesTotal[9] = etape9; - 8028678: f8d7 3b2c ldr.w r3, [r7, #2860] - 802867c: f103 0224 add.w r2, r3, #36 ; 0x24 - 8028680: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8028684: f103 0318 add.w r3, r3, #24 ; 0x18 - 8028688: 681b ldr r3, [r3, #0] - 802868a: 6013 str r3, [r2, #0] - tableauEtapesTotal[10] = etape10; - 802868c: f8d7 3b2c ldr.w r3, [r7, #2860] - 8028690: f103 0228 add.w r2, r3, #40 ; 0x28 - 8028694: f507 6324 add.w r3, r7, #2624 ; 0xa40 - 8028698: f103 031c add.w r3, r3, #28 ; 0x1c - 802869c: 681b ldr r3, [r3, #0] - 802869e: 6013 str r3, [r2, #0] - tableauEtapesTotal[11] = etape11; - 80286a0: f8d7 3b2c ldr.w r3, [r7, #2860] - 80286a4: f103 022c add.w r2, r3, #44 ; 0x2c - 80286a8: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 80286ac: 681b ldr r3, [r3, #0] - 80286ae: 6013 str r3, [r2, #0] - tableauEtapesTotal[12] = etape12; - 80286b0: f8d7 3b2c ldr.w r3, [r7, #2860] - 80286b4: f103 0230 add.w r2, r3, #48 ; 0x30 - 80286b8: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 80286bc: f103 0304 add.w r3, r3, #4 ; 0x4 - 80286c0: 681b ldr r3, [r3, #0] - 80286c2: 6013 str r3, [r2, #0] - tableauEtapesTotal[13] = etape13; - 80286c4: f8d7 3b2c ldr.w r3, [r7, #2860] - 80286c8: f103 0234 add.w r2, r3, #52 ; 0x34 - 80286cc: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 80286d0: f103 0308 add.w r3, r3, #8 ; 0x8 - 80286d4: 681b ldr r3, [r3, #0] - 80286d6: 6013 str r3, [r2, #0] - tableauEtapesTotal[14] = etape14; - 80286d8: f8d7 3b2c ldr.w r3, [r7, #2860] - 80286dc: f103 0238 add.w r2, r3, #56 ; 0x38 - 80286e0: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 80286e4: f103 030c add.w r3, r3, #12 ; 0xc - 80286e8: 681b ldr r3, [r3, #0] - 80286ea: 6013 str r3, [r2, #0] - tableauEtapesTotal[15] = etape15; - 80286ec: f8d7 3b2c ldr.w r3, [r7, #2860] - 80286f0: f103 023c add.w r2, r3, #60 ; 0x3c - 80286f4: f507 6327 add.w r3, r7, #2672 ; 0xa70 - 80286f8: 681b ldr r3, [r3, #0] - 80286fa: 6013 str r3, [r2, #0] - tableauEtapesTotal[16] = etape16; - 80286fc: f8d7 3b2c ldr.w r3, [r7, #2860] - 8028700: f103 0240 add.w r2, r3, #64 ; 0x40 - 8028704: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8028708: f103 0314 add.w r3, r3, #20 ; 0x14 - 802870c: 681b ldr r3, [r3, #0] - 802870e: 6013 str r3, [r2, #0] - tableauEtapesTotal[17] = etape17; - 8028710: f8d7 3b2c ldr.w r3, [r7, #2860] - 8028714: f103 0244 add.w r2, r3, #68 ; 0x44 - 8028718: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 802871c: f103 0318 add.w r3, r3, #24 ; 0x18 - 8028720: 681b ldr r3, [r3, #0] - 8028722: 6013 str r3, [r2, #0] - tableauEtapesTotal[18] = etape18; - 8028724: f8d7 3b2c ldr.w r3, [r7, #2860] - 8028728: f103 0248 add.w r2, r3, #72 ; 0x48 - 802872c: f507 6326 add.w r3, r7, #2656 ; 0xa60 - 8028730: f103 031c add.w r3, r3, #28 ; 0x1c - 8028734: 681b ldr r3, [r3, #0] - 8028736: 6013 str r3, [r2, #0] - tableauEtapesTotal[19] = etape19; - 8028738: f8d7 3b2c ldr.w r3, [r7, #2860] - 802873c: f103 024c add.w r2, r3, #76 ; 0x4c - 8028740: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8028744: 681b ldr r3, [r3, #0] - 8028746: 6013 str r3, [r2, #0] - tableauEtapesTotal[20] = etape20; - 8028748: f8d7 3b2c ldr.w r3, [r7, #2860] - 802874c: f103 0250 add.w r2, r3, #80 ; 0x50 - 8028750: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8028754: f103 0304 add.w r3, r3, #4 ; 0x4 - 8028758: 681b ldr r3, [r3, #0] - 802875a: 6013 str r3, [r2, #0] - tableauEtapesTotal[21] = etape21; - 802875c: f8d7 3b2c ldr.w r3, [r7, #2860] - 8028760: f103 0254 add.w r2, r3, #84 ; 0x54 - 8028764: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 8028768: f103 0308 add.w r3, r3, #8 ; 0x8 - 802876c: 681b ldr r3, [r3, #0] - 802876e: 6013 str r3, [r2, #0] - tableauEtapesTotal[22] = etape22; - 8028770: f8d7 3b2c ldr.w r3, [r7, #2860] - 8028774: f103 0258 add.w r2, r3, #88 ; 0x58 - 8028778: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 802877c: f103 030c add.w r3, r3, #12 ; 0xc - 8028780: 681b ldr r3, [r3, #0] - 8028782: 6013 str r3, [r2, #0] - tableauEtapesTotal[23] = etape23; - 8028784: f8d7 3b2c ldr.w r3, [r7, #2860] - 8028788: f103 025c add.w r2, r3, #92 ; 0x5c - 802878c: f507 6329 add.w r3, r7, #2704 ; 0xa90 - 8028790: 681b ldr r3, [r3, #0] - 8028792: 6013 str r3, [r2, #0] - tableauEtapesTotal[24] = etape24; - 8028794: f8d7 3b2c ldr.w r3, [r7, #2860] - 8028798: f103 0260 add.w r2, r3, #96 ; 0x60 - 802879c: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 80287a0: f103 0314 add.w r3, r3, #20 ; 0x14 - 80287a4: 681b ldr r3, [r3, #0] - 80287a6: 6013 str r3, [r2, #0] - tableauEtapesTotal[25] = etape25; - 80287a8: f8d7 3b2c ldr.w r3, [r7, #2860] - 80287ac: f103 0264 add.w r2, r3, #100 ; 0x64 - 80287b0: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 80287b4: f103 0318 add.w r3, r3, #24 ; 0x18 - 80287b8: 681b ldr r3, [r3, #0] - 80287ba: 6013 str r3, [r2, #0] - tableauEtapesTotal[26] = etape26; - 80287bc: f8d7 3b2c ldr.w r3, [r7, #2860] - 80287c0: f103 0268 add.w r2, r3, #104 ; 0x68 - 80287c4: f507 6328 add.w r3, r7, #2688 ; 0xa80 - 80287c8: f103 031c add.w r3, r3, #28 ; 0x1c - 80287cc: 681b ldr r3, [r3, #0] - 80287ce: 6013 str r3, [r2, #0] - tableauEtapesTotal[27] = etape27; - 80287d0: f8d7 3b2c ldr.w r3, [r7, #2860] - 80287d4: f103 026c add.w r2, r3, #108 ; 0x6c - 80287d8: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 80287dc: 681b ldr r3, [r3, #0] - 80287de: 6013 str r3, [r2, #0] - tableauEtapesTotal[28] = etape28; - 80287e0: f8d7 3b2c ldr.w r3, [r7, #2860] - 80287e4: f103 0270 add.w r2, r3, #112 ; 0x70 - 80287e8: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 80287ec: f103 0304 add.w r3, r3, #4 ; 0x4 - 80287f0: 681b ldr r3, [r3, #0] - 80287f2: 6013 str r3, [r2, #0] - tableauEtapesTotal[29] = etape29; - 80287f4: f8d7 3b2c ldr.w r3, [r7, #2860] - 80287f8: f103 0274 add.w r2, r3, #116 ; 0x74 - 80287fc: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8028800: f103 0308 add.w r3, r3, #8 ; 0x8 - 8028804: 681b ldr r3, [r3, #0] - 8028806: 6013 str r3, [r2, #0] - tableauEtapesTotal[30] = etape30; - 8028808: f8d7 3b2c ldr.w r3, [r7, #2860] - 802880c: f103 0278 add.w r2, r3, #120 ; 0x78 - 8028810: f507 632a add.w r3, r7, #2720 ; 0xaa0 - 8028814: f103 030c add.w r3, r3, #12 ; 0xc - 8028818: 681b ldr r3, [r3, #0] - 802881a: 6013 str r3, [r2, #0] - - /// FIN KRABI-JUNIOR - #endif - - for(int i=0; i - tableauEtapesTotal[i]->computeChildDistances(); - 8028826: f8d7 3bd4 ldr.w r3, [r7, #3028] - 802882a: ea4f 0283 mov.w r2, r3, lsl #2 - 802882e: f8d7 3b2c ldr.w r3, [r7, #2860] - 8028832: 4413 add r3, r2 - 8028834: 681b ldr r3, [r3, #0] - 8028836: 4618 mov r0, r3 - 8028838: f7f0 fdb4 bl 80193a4 <_ZN5Etape21computeChildDistancesEv> - tableauEtapesTotal[30] = etape30; - - /// FIN KRABI-JUNIOR - #endif - - for(int i=0; i - tableauEtapesTotal[i]->computeChildDistances(); - - this->dijkstra = new Dijkstra(tableauEtapesTotal, NOMBRE_ETAPES); - 8028850: f04f 0024 mov.w r0, #36 ; 0x24 - 8028854: f7ee fe34 bl 80174c0 <_Znwj> - 8028858: 4603 mov r3, r0 - 802885a: f8c7 3110 str.w r3, [r7, #272] - 802885e: f8d7 3110 ldr.w r3, [r7, #272] - 8028862: 2b00 cmp r3, #0 - 8028864: d00c beq.n 8028880 <_ZN11StrategieV3C2Eb+0x34b4> - 8028866: f8d7 0110 ldr.w r0, [r7, #272] - 802886a: f8d7 1b2c ldr.w r1, [r7, #2860] - 802886e: f04f 021f mov.w r2, #31 ; 0x1f - 8028872: f7ef ffbb bl 80187ec <_ZN8DijkstraC1EPP5Etapei> - 8028876: f8d7 2110 ldr.w r2, [r7, #272] - 802887a: f8c7 2114 str.w r2, [r7, #276] - 802887e: e003 b.n 8028888 <_ZN11StrategieV3C2Eb+0x34bc> - 8028880: f8d7 3110 ldr.w r3, [r7, #272] - 8028884: f8c7 3114 str.w r3, [r7, #276] - 8028888: f507 739c add.w r3, r7, #312 ; 0x138 - 802888c: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8028890: 681b ldr r3, [r3, #0] - 8028892: f8d7 2114 ldr.w r2, [r7, #276] - 8028896: f8c3 277c str.w r2, [r3, #1916] - - this->tableauEtapes = tableauEtapesTotal; - 802889a: f507 739c add.w r3, r7, #312 ; 0x138 - 802889e: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80288a2: 681a ldr r2, [r3, #0] - 80288a4: f8d7 3b2c ldr.w r3, [r7, #2860] - 80288a8: f8c2 3780 str.w r3, [r2, #1920] - this->tableauEtapes[0]->setParent(this->tableauEtapes[0]);// Evite de planter si on detecte dès la première boucle (dans le simu) - 80288ac: f507 739c add.w r3, r7, #312 ; 0x138 - 80288b0: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80288b4: 681b ldr r3, [r3, #0] - 80288b6: f8d3 3780 ldr.w r3, [r3, #1920] - 80288ba: 681a ldr r2, [r3, #0] - 80288bc: f507 739c add.w r3, r7, #312 ; 0x138 - 80288c0: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80288c4: 681b ldr r3, [r3, #0] - 80288c6: f8d3 3780 ldr.w r3, [r3, #1920] - 80288ca: 681b ldr r3, [r3, #0] - 80288cc: 4610 mov r0, r2 - 80288ce: 4619 mov r1, r3 - 80288d0: f7f0 fc54 bl 801917c <_ZN5Etape9setParentEPS_> - - dijkstra->setEtapeCourante(0); - 80288d4: f507 739c add.w r3, r7, #312 ; 0x138 - 80288d8: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80288dc: 681b ldr r3, [r3, #0] - 80288de: f8d3 377c ldr.w r3, [r3, #1916] - 80288e2: 4618 mov r0, r3 - 80288e4: f04f 0100 mov.w r1, #0 ; 0x0 - 80288e8: f7ef ffa6 bl 8018838 <_ZN8Dijkstra16setEtapeCouranteEi> - // Fin code généré - // ########################################################################################### - -#ifdef KRABI_JR - // Deux côtés du feu terrain milieu côté départ - int* tableauEtapesLieesParFinirEtape3 = new int[1]; - 80288ec: f04f 0004 mov.w r0, #4 ; 0x4 - 80288f0: f7ee fe7e bl 80175f0 <_Znaj> - 80288f4: 4603 mov r3, r0 - 80288f6: f8c7 3b30 str.w r3, [r7, #2864] - tableauEtapesLieesParFinirEtape3[0] = 20; - 80288fa: f8d7 2b30 ldr.w r2, [r7, #2864] - 80288fe: f04f 0314 mov.w r3, #20 ; 0x14 - 8028902: 6013 str r3, [r2, #0] - this->tableauEtapes[2]->setEtapesLieesParFinirEtape(tableauEtapesLieesParFinirEtape3); - 8028904: f507 739c add.w r3, r7, #312 ; 0x138 - 8028908: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802890c: 681b ldr r3, [r3, #0] - 802890e: f8d3 3780 ldr.w r3, [r3, #1920] - 8028912: f103 0308 add.w r3, r3, #8 ; 0x8 - 8028916: 681b ldr r3, [r3, #0] - 8028918: 4618 mov r0, r3 - 802891a: f8d7 1b30 ldr.w r1, [r7, #2864] - 802891e: f7f0 fcef bl 8019300 <_ZN5Etape27setEtapesLieesParFinirEtapeEPi> - - int* tableauEtapesLieesParFinirEtape20 = new int[1]; - 8028922: f04f 0004 mov.w r0, #4 ; 0x4 - 8028926: f7ee fe63 bl 80175f0 <_Znaj> - 802892a: 4603 mov r3, r0 - 802892c: f8c7 3b34 str.w r3, [r7, #2868] - tableauEtapesLieesParFinirEtape20[0] = 3; - 8028930: f8d7 2b34 ldr.w r2, [r7, #2868] - 8028934: f04f 0303 mov.w r3, #3 ; 0x3 - 8028938: 6013 str r3, [r2, #0] - this->tableauEtapes[19]->setEtapesLieesParFinirEtape(tableauEtapesLieesParFinirEtape20); - 802893a: f507 739c add.w r3, r7, #312 ; 0x138 - 802893e: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8028942: 681b ldr r3, [r3, #0] - 8028944: f8d3 3780 ldr.w r3, [r3, #1920] - 8028948: f103 034c add.w r3, r3, #76 ; 0x4c - 802894c: 681b ldr r3, [r3, #0] - 802894e: 4618 mov r0, r3 - 8028950: f8d7 1b34 ldr.w r1, [r7, #2868] - 8028954: f7f0 fcd4 bl 8019300 <_ZN5Etape27setEtapesLieesParFinirEtapeEPi> - - // Deux côtés du feu terrain bas côté départ - int* tableauEtapesLieesParFinirEtape21 = new int[1]; - 8028958: f04f 0004 mov.w r0, #4 ; 0x4 - 802895c: f7ee fe48 bl 80175f0 <_Znaj> - 8028960: 4603 mov r3, r0 - 8028962: f8c7 3b38 str.w r3, [r7, #2872] - tableauEtapesLieesParFinirEtape21[0] = 8; - 8028966: f8d7 2b38 ldr.w r2, [r7, #2872] - 802896a: f04f 0308 mov.w r3, #8 ; 0x8 - 802896e: 6013 str r3, [r2, #0] - this->tableauEtapes[20]->setEtapesLieesParFinirEtape(tableauEtapesLieesParFinirEtape21); - 8028970: f507 739c add.w r3, r7, #312 ; 0x138 - 8028974: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8028978: 681b ldr r3, [r3, #0] - 802897a: f8d3 3780 ldr.w r3, [r3, #1920] - 802897e: f103 0350 add.w r3, r3, #80 ; 0x50 - 8028982: 681b ldr r3, [r3, #0] - 8028984: 4618 mov r0, r3 - 8028986: f8d7 1b38 ldr.w r1, [r7, #2872] - 802898a: f7f0 fcb9 bl 8019300 <_ZN5Etape27setEtapesLieesParFinirEtapeEPi> - - int* tableauEtapesLieesParFinirEtape8 = new int[1]; - 802898e: f04f 0004 mov.w r0, #4 ; 0x4 - 8028992: f7ee fe2d bl 80175f0 <_Znaj> - 8028996: 4603 mov r3, r0 - 8028998: f8c7 3b3c str.w r3, [r7, #2876] - tableauEtapesLieesParFinirEtape8[0] = 21; - 802899c: f8d7 2b3c ldr.w r2, [r7, #2876] - 80289a0: f04f 0315 mov.w r3, #21 ; 0x15 - 80289a4: 6013 str r3, [r2, #0] - this->tableauEtapes[7]->setEtapesLieesParFinirEtape(tableauEtapesLieesParFinirEtape8); - 80289a6: f507 739c add.w r3, r7, #312 ; 0x138 - 80289aa: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80289ae: 681b ldr r3, [r3, #0] - 80289b0: f8d3 3780 ldr.w r3, [r3, #1920] - 80289b4: f103 031c add.w r3, r3, #28 ; 0x1c - 80289b8: 681b ldr r3, [r3, #0] - 80289ba: 4618 mov r0, r3 - 80289bc: f8d7 1b3c ldr.w r1, [r7, #2876] - 80289c0: f7f0 fc9e bl 8019300 <_ZN5Etape27setEtapesLieesParFinirEtapeEPi> - - // Deux côtés du feu terrain bas côté adversaire -//Lances -//CanonLances shootAtWill - int* tableauEtapesLieesParFinirEtape23 = new int[1]; - 80289c4: f04f 0004 mov.w r0, #4 ; 0x4 - 80289c8: f7ee fe12 bl 80175f0 <_Znaj> - 80289cc: 4603 mov r3, r0 - 80289ce: f8c7 3b40 str.w r3, [r7, #2880] - tableauEtapesLieesParFinirEtape23[0] = 11; - 80289d2: f8d7 2b40 ldr.w r2, [r7, #2880] - 80289d6: f04f 030b mov.w r3, #11 ; 0xb - 80289da: 6013 str r3, [r2, #0] - this->tableauEtapes[22]->setEtapesLieesParFinirEtape(tableauEtapesLieesParFinirEtape23); - 80289dc: f507 739c add.w r3, r7, #312 ; 0x138 - 80289e0: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80289e4: 681b ldr r3, [r3, #0] - 80289e6: f8d3 3780 ldr.w r3, [r3, #1920] - 80289ea: f103 0358 add.w r3, r3, #88 ; 0x58 - 80289ee: 681b ldr r3, [r3, #0] - 80289f0: 4618 mov r0, r3 - 80289f2: f8d7 1b40 ldr.w r1, [r7, #2880] - 80289f6: f7f0 fc83 bl 8019300 <_ZN5Etape27setEtapesLieesParFinirEtapeEPi> - - int* tableauEtapesLieesParFinirEtape11 = new int[1]; - 80289fa: f04f 0004 mov.w r0, #4 ; 0x4 - 80289fe: f7ee fdf7 bl 80175f0 <_Znaj> - 8028a02: 4603 mov r3, r0 - 8028a04: f8c7 3b44 str.w r3, [r7, #2884] - tableauEtapesLieesParFinirEtape11[0] = 23; - 8028a08: f8d7 2b44 ldr.w r2, [r7, #2884] - 8028a0c: f04f 0317 mov.w r3, #23 ; 0x17 - 8028a10: 6013 str r3, [r2, #0] - this->tableauEtapes[10]->setEtapesLieesParFinirEtape(tableauEtapesLieesParFinirEtape11); - 8028a12: f507 739c add.w r3, r7, #312 ; 0x138 - 8028a16: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8028a1a: 681b ldr r3, [r3, #0] - 8028a1c: f8d3 3780 ldr.w r3, [r3, #1920] - 8028a20: f103 0328 add.w r3, r3, #40 ; 0x28 - 8028a24: 681b ldr r3, [r3, #0] - 8028a26: 4618 mov r0, r3 - 8028a28: f8d7 1b44 ldr.w r1, [r7, #2884] - 8028a2c: f7f0 fc68 bl 8019300 <_ZN5Etape27setEtapesLieesParFinirEtapeEPi> - - // Deux côtés du feu terrain milieu côté adversaire - int* tableauEtapesLieesParFinirEtape25 = new int[1]; - 8028a30: f04f 0004 mov.w r0, #4 ; 0x4 - 8028a34: f7ee fddc bl 80175f0 <_Znaj> - 8028a38: 4603 mov r3, r0 - 8028a3a: f8c7 3b48 str.w r3, [r7, #2888] - tableauEtapesLieesParFinirEtape25[0] = 16; - 8028a3e: f8d7 2b48 ldr.w r2, [r7, #2888] - 8028a42: f04f 0310 mov.w r3, #16 ; 0x10 - 8028a46: 6013 str r3, [r2, #0] - this->tableauEtapes[24]->setEtapesLieesParFinirEtape(tableauEtapesLieesParFinirEtape25); - 8028a48: f507 739c add.w r3, r7, #312 ; 0x138 - 8028a4c: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8028a50: 681b ldr r3, [r3, #0] - 8028a52: f8d3 3780 ldr.w r3, [r3, #1920] - 8028a56: f103 0360 add.w r3, r3, #96 ; 0x60 - 8028a5a: 681b ldr r3, [r3, #0] - 8028a5c: 4618 mov r0, r3 - 8028a5e: f8d7 1b48 ldr.w r1, [r7, #2888] - 8028a62: f7f0 fc4d bl 8019300 <_ZN5Etape27setEtapesLieesParFinirEtapeEPi> - - int* tableauEtapesLieesParFinirEtape16 = new int[1]; - 8028a66: f04f 0004 mov.w r0, #4 ; 0x4 - 8028a6a: f7ee fdc1 bl 80175f0 <_Znaj> - 8028a6e: 4603 mov r3, r0 - 8028a70: f8c7 3b4c str.w r3, [r7, #2892] - tableauEtapesLieesParFinirEtape16[0] = 25; - 8028a74: f8d7 2b4c ldr.w r2, [r7, #2892] - 8028a78: f04f 0319 mov.w r3, #25 ; 0x19 - 8028a7c: 6013 str r3, [r2, #0] - this->tableauEtapes[15]->setEtapesLieesParFinirEtape(tableauEtapesLieesParFinirEtape16); - 8028a7e: f507 739c add.w r3, r7, #312 ; 0x138 - 8028a82: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8028a86: 681b ldr r3, [r3, #0] - 8028a88: f8d3 3780 ldr.w r3, [r3, #1920] - 8028a8c: f103 033c add.w r3, r3, #60 ; 0x3c - 8028a90: 681b ldr r3, [r3, #0] - 8028a92: 4618 mov r0, r3 - 8028a94: f8d7 1b4c ldr.w r1, [r7, #2892] - 8028a98: f7f0 fc32 bl 8019300 <_ZN5Etape27setEtapesLieesParFinirEtapeEPi> - - // Deux côtés du feu terrain haut côté adversaire - int* tableauEtapesLieesParFinirEtape26 = new int[1]; - 8028a9c: f04f 0004 mov.w r0, #4 ; 0x4 - 8028aa0: f7ee fda6 bl 80175f0 <_Znaj> - 8028aa4: 4603 mov r3, r0 - 8028aa6: f8c7 3b50 str.w r3, [r7, #2896] - tableauEtapesLieesParFinirEtape26[0] = 19; - 8028aaa: f8d7 2b50 ldr.w r2, [r7, #2896] - 8028aae: f04f 0313 mov.w r3, #19 ; 0x13 - 8028ab2: 6013 str r3, [r2, #0] - this->tableauEtapes[25]->setEtapesLieesParFinirEtape(tableauEtapesLieesParFinirEtape26); - 8028ab4: f507 739c add.w r3, r7, #312 ; 0x138 - 8028ab8: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8028abc: 681b ldr r3, [r3, #0] - 8028abe: f8d3 3780 ldr.w r3, [r3, #1920] - 8028ac2: f103 0364 add.w r3, r3, #100 ; 0x64 - 8028ac6: 681b ldr r3, [r3, #0] - 8028ac8: 4618 mov r0, r3 - 8028aca: f8d7 1b50 ldr.w r1, [r7, #2896] - 8028ace: f7f0 fc17 bl 8019300 <_ZN5Etape27setEtapesLieesParFinirEtapeEPi> - - int* tableauEtapesLieesParFinirEtape19 = new int[1]; - 8028ad2: f04f 0004 mov.w r0, #4 ; 0x4 - 8028ad6: f7ee fd8b bl 80175f0 <_Znaj> - 8028ada: 4603 mov r3, r0 - 8028adc: f8c7 3b54 str.w r3, [r7, #2900] - tableauEtapesLieesParFinirEtape19[0] = 26; - 8028ae0: f8d7 2b54 ldr.w r2, [r7, #2900] - 8028ae4: f04f 031a mov.w r3, #26 ; 0x1a - 8028ae8: 6013 str r3, [r2, #0] - this->tableauEtapes[18]->setEtapesLieesParFinirEtape(tableauEtapesLieesParFinirEtape19); - 8028aea: f507 739c add.w r3, r7, #312 ; 0x138 - 8028aee: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8028af2: 681b ldr r3, [r3, #0] - 8028af4: f8d3 3780 ldr.w r3, [r3, #1920] - 8028af8: f103 0348 add.w r3, r3, #72 ; 0x48 - 8028afc: 681b ldr r3, [r3, #0] - 8028afe: 4618 mov r0, r3 - 8028b00: f8d7 1b54 ldr.w r1, [r7, #2900] - 8028b04: f7f0 fbfc bl 8019300 <_ZN5Etape27setEtapesLieesParFinirEtapeEPi> - - int* tableauDistances0 = new int[2]; - 8028b08: f04f 0008 mov.w r0, #8 ; 0x8 - 8028b0c: f7ee fd70 bl 80175f0 <_Znaj> - 8028b10: 4603 mov r3, r0 - 8028b12: f8c7 3b58 str.w r3, [r7, #2904] - tableauDistances0[0] = 300; // vers etape 1 - 8028b16: f8d7 2b58 ldr.w r2, [r7, #2904] - 8028b1a: f44f 7396 mov.w r3, #300 ; 0x12c - 8028b1e: 6013 str r3, [r2, #0] - tableauDistances0[1] = 576; // vers etape 28 - 8028b20: f8d7 3b58 ldr.w r3, [r7, #2904] - 8028b24: f103 0204 add.w r2, r3, #4 ; 0x4 - 8028b28: f44f 7310 mov.w r3, #576 ; 0x240 - 8028b2c: 6013 str r3, [r2, #0] - this->tableauEtapes[0]->setDistances(tableauDistances0); - 8028b2e: f507 739c add.w r3, r7, #312 ; 0x138 - 8028b32: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8028b36: 681b ldr r3, [r3, #0] - 8028b38: f8d3 3780 ldr.w r3, [r3, #1920] - 8028b3c: 681b ldr r3, [r3, #0] - 8028b3e: 4618 mov r0, r3 - 8028b40: f8d7 1b58 ldr.w r1, [r7, #2904] - 8028b44: f7f0 fbc2 bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances1 = new int[2]; - 8028b48: f04f 0008 mov.w r0, #8 ; 0x8 - 8028b4c: f7ee fd50 bl 80175f0 <_Znaj> - 8028b50: 4603 mov r3, r0 - 8028b52: f8c7 3b5c str.w r3, [r7, #2908] - tableauDistances1[0] = 300; // vers etape 0 - 8028b56: f8d7 2b5c ldr.w r2, [r7, #2908] - 8028b5a: f44f 7396 mov.w r3, #300 ; 0x12c - 8028b5e: 6013 str r3, [r2, #0] - tableauDistances1[1] = 300; // vers etape 2 - 8028b60: f8d7 3b5c ldr.w r3, [r7, #2908] - 8028b64: f103 0204 add.w r2, r3, #4 ; 0x4 - 8028b68: f44f 7396 mov.w r3, #300 ; 0x12c - 8028b6c: 6013 str r3, [r2, #0] - this->tableauEtapes[1]->setDistances(tableauDistances1); - 8028b6e: f507 739c add.w r3, r7, #312 ; 0x138 - 8028b72: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8028b76: 681b ldr r3, [r3, #0] - 8028b78: f8d3 3780 ldr.w r3, [r3, #1920] - 8028b7c: f103 0304 add.w r3, r3, #4 ; 0x4 - 8028b80: 681b ldr r3, [r3, #0] - 8028b82: 4618 mov r0, r3 - 8028b84: f8d7 1b5c ldr.w r1, [r7, #2908] - 8028b88: f7f0 fba0 bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances2 = new int[2]; - 8028b8c: f04f 0008 mov.w r0, #8 ; 0x8 - 8028b90: f7ee fd2e bl 80175f0 <_Znaj> - 8028b94: 4603 mov r3, r0 - 8028b96: f8c7 3b60 str.w r3, [r7, #2912] - tableauDistances2[0] = 300; // vers etape 1 - 8028b9a: f8d7 2b60 ldr.w r2, [r7, #2912] - 8028b9e: f44f 7396 mov.w r3, #300 ; 0x12c - 8028ba2: 6013 str r3, [r2, #0] - tableauDistances2[1] = 100; // vers etape 3 - 8028ba4: f8d7 3b60 ldr.w r3, [r7, #2912] - 8028ba8: f103 0204 add.w r2, r3, #4 ; 0x4 - 8028bac: f04f 0364 mov.w r3, #100 ; 0x64 - 8028bb0: 6013 str r3, [r2, #0] - this->tableauEtapes[2]->setDistances(tableauDistances2); - 8028bb2: f507 739c add.w r3, r7, #312 ; 0x138 - 8028bb6: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8028bba: 681b ldr r3, [r3, #0] - 8028bbc: f8d3 3780 ldr.w r3, [r3, #1920] - 8028bc0: f103 0308 add.w r3, r3, #8 ; 0x8 - 8028bc4: 681b ldr r3, [r3, #0] - 8028bc6: 4618 mov r0, r3 - 8028bc8: f8d7 1b60 ldr.w r1, [r7, #2912] - 8028bcc: f7f0 fb7e bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances3 = new int[2]; - 8028bd0: f04f 0008 mov.w r0, #8 ; 0x8 - 8028bd4: f7ee fd0c bl 80175f0 <_Znaj> - 8028bd8: 4603 mov r3, r0 - 8028bda: f8c7 3b64 str.w r3, [r7, #2916] - tableauDistances3[0] = 100; // vers etape 2 - 8028bde: f8d7 2b64 ldr.w r2, [r7, #2916] - 8028be2: f04f 0364 mov.w r3, #100 ; 0x64 - 8028be6: 6013 str r3, [r2, #0] - tableauDistances3[1] = 200; // vers etape 4 - 8028be8: f8d7 3b64 ldr.w r3, [r7, #2916] - 8028bec: f103 0204 add.w r2, r3, #4 ; 0x4 - 8028bf0: f04f 03c8 mov.w r3, #200 ; 0xc8 - 8028bf4: 6013 str r3, [r2, #0] - this->tableauEtapes[3]->setDistances(tableauDistances3); - 8028bf6: f507 739c add.w r3, r7, #312 ; 0x138 - 8028bfa: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8028bfe: 681b ldr r3, [r3, #0] - 8028c00: f8d3 3780 ldr.w r3, [r3, #1920] - 8028c04: f103 030c add.w r3, r3, #12 ; 0xc - 8028c08: 681b ldr r3, [r3, #0] - 8028c0a: 4618 mov r0, r3 - 8028c0c: f8d7 1b64 ldr.w r1, [r7, #2916] - 8028c10: f7f0 fb5c bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances4 = new int[4]; - 8028c14: f04f 0010 mov.w r0, #16 ; 0x10 - 8028c18: f7ee fcea bl 80175f0 <_Znaj> - 8028c1c: 4603 mov r3, r0 - 8028c1e: f8c7 3b68 str.w r3, [r7, #2920] - tableauDistances4[0] = 200; // vers etape 3 - 8028c22: f8d7 2b68 ldr.w r2, [r7, #2920] - 8028c26: f04f 03c8 mov.w r3, #200 ; 0xc8 - 8028c2a: 6013 str r3, [r2, #0] - tableauDistances4[1] = 586; // vers etape 5 - 8028c2c: f8d7 3b68 ldr.w r3, [r7, #2920] - 8028c30: f103 0204 add.w r2, r3, #4 ; 0x4 - 8028c34: f240 234a movw r3, #586 ; 0x24a - 8028c38: 6013 str r3, [r2, #0] - tableauDistances4[2] = 512; // vers etape 19 - 8028c3a: f8d7 3b68 ldr.w r3, [r7, #2920] - 8028c3e: f103 0208 add.w r2, r3, #8 ; 0x8 - 8028c42: f44f 7300 mov.w r3, #512 ; 0x200 - 8028c46: 6013 str r3, [r2, #0] - tableauDistances4[3] = 415; // vers etape 29 - 8028c48: f8d7 3b68 ldr.w r3, [r7, #2920] - 8028c4c: f103 020c add.w r2, r3, #12 ; 0xc - 8028c50: f240 139f movw r3, #415 ; 0x19f - 8028c54: 6013 str r3, [r2, #0] - this->tableauEtapes[4]->setDistances(tableauDistances4); - 8028c56: f507 739c add.w r3, r7, #312 ; 0x138 - 8028c5a: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8028c5e: 681b ldr r3, [r3, #0] - 8028c60: f8d3 3780 ldr.w r3, [r3, #1920] - 8028c64: f103 0310 add.w r3, r3, #16 ; 0x10 - 8028c68: 681b ldr r3, [r3, #0] - 8028c6a: 4618 mov r0, r3 - 8028c6c: f8d7 1b68 ldr.w r1, [r7, #2920] - 8028c70: f7f0 fb2c bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances5 = new int[3]; - 8028c74: f04f 000c mov.w r0, #12 ; 0xc - 8028c78: f7ee fcba bl 80175f0 <_Znaj> - 8028c7c: 4603 mov r3, r0 - 8028c7e: f8c7 3b6c str.w r3, [r7, #2924] - tableauDistances5[0] = 586; // vers etape 4 - 8028c82: f8d7 2b6c ldr.w r2, [r7, #2924] - 8028c86: f240 234a movw r3, #586 ; 0x24a - 8028c8a: 6013 str r3, [r2, #0] - tableauDistances5[1] = 200; // vers etape 6 - 8028c8c: f8d7 3b6c ldr.w r3, [r7, #2924] - 8028c90: f103 0204 add.w r2, r3, #4 ; 0x4 - 8028c94: f04f 03c8 mov.w r3, #200 ; 0xc8 - 8028c98: 6013 str r3, [r2, #0] - tableauDistances5[2] = 415; // vers etape 29 - 8028c9a: f8d7 3b6c ldr.w r3, [r7, #2924] - 8028c9e: f103 0208 add.w r2, r3, #8 ; 0x8 - 8028ca2: f240 139f movw r3, #415 ; 0x19f - 8028ca6: 6013 str r3, [r2, #0] - this->tableauEtapes[5]->setDistances(tableauDistances5); - 8028ca8: f507 739c add.w r3, r7, #312 ; 0x138 - 8028cac: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8028cb0: 681b ldr r3, [r3, #0] - 8028cb2: f8d3 3780 ldr.w r3, [r3, #1920] - 8028cb6: f103 0314 add.w r3, r3, #20 ; 0x14 - 8028cba: 681b ldr r3, [r3, #0] - 8028cbc: 4618 mov r0, r3 - 8028cbe: f8d7 1b6c ldr.w r1, [r7, #2924] - 8028cc2: f7f0 fb03 bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances6 = new int[3]; - 8028cc6: f04f 000c mov.w r0, #12 ; 0xc - 8028cca: f7ee fc91 bl 80175f0 <_Znaj> - 8028cce: 4603 mov r3, r0 - 8028cd0: f8c7 3b70 str.w r3, [r7, #2928] - tableauDistances6[0] = 200; // vers etape 5 - 8028cd4: f8d7 2b70 ldr.w r2, [r7, #2928] - 8028cd8: f04f 03c8 mov.w r3, #200 ; 0xc8 - 8028cdc: 6013 str r3, [r2, #0] - tableauDistances6[1] = 100; // vers etape 7 - 8028cde: f8d7 3b70 ldr.w r3, [r7, #2928] - 8028ce2: f103 0204 add.w r2, r3, #4 ; 0x4 - 8028ce6: f04f 0364 mov.w r3, #100 ; 0x64 - 8028cea: 6013 str r3, [r2, #0] - tableauDistances6[2] = 460; // vers etape 29 - 8028cec: f8d7 3b70 ldr.w r3, [r7, #2928] - 8028cf0: f103 0208 add.w r2, r3, #8 ; 0x8 - 8028cf4: f44f 73e6 mov.w r3, #460 ; 0x1cc - 8028cf8: 6013 str r3, [r2, #0] - this->tableauEtapes[6]->setDistances(tableauDistances6); - 8028cfa: f507 739c add.w r3, r7, #312 ; 0x138 - 8028cfe: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8028d02: 681b ldr r3, [r3, #0] - 8028d04: f8d3 3780 ldr.w r3, [r3, #1920] - 8028d08: f103 0318 add.w r3, r3, #24 ; 0x18 - 8028d0c: 681b ldr r3, [r3, #0] - 8028d0e: 4618 mov r0, r3 - 8028d10: f8d7 1b70 ldr.w r1, [r7, #2928] - 8028d14: f7f0 fada bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances7 = new int[3]; - 8028d18: f04f 000c mov.w r0, #12 ; 0xc - 8028d1c: f7ee fc68 bl 80175f0 <_Znaj> - 8028d20: 4603 mov r3, r0 - 8028d22: f8c7 3b74 str.w r3, [r7, #2932] - tableauDistances7[0] = 100; // vers etape 6 - 8028d26: f8d7 2b74 ldr.w r2, [r7, #2932] - 8028d2a: f04f 0364 mov.w r3, #100 ; 0x64 - 8028d2e: 6013 str r3, [r2, #0] - tableauDistances7[1] = 400; // vers etape 8 - 8028d30: f8d7 3b74 ldr.w r3, [r7, #2932] - 8028d34: f103 0204 add.w r2, r3, #4 ; 0x4 - 8028d38: f44f 73c8 mov.w r3, #400 ; 0x190 - 8028d3c: 6013 str r3, [r2, #0] - tableauDistances7[2] = 729; // vers etape 21 - 8028d3e: f8d7 3b74 ldr.w r3, [r7, #2932] - 8028d42: f103 0208 add.w r2, r3, #8 ; 0x8 - 8028d46: f240 23d9 movw r3, #729 ; 0x2d9 - 8028d4a: 6013 str r3, [r2, #0] - this->tableauEtapes[7]->setDistances(tableauDistances7); - 8028d4c: f507 739c add.w r3, r7, #312 ; 0x138 - 8028d50: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8028d54: 681b ldr r3, [r3, #0] - 8028d56: f8d3 3780 ldr.w r3, [r3, #1920] - 8028d5a: f103 031c add.w r3, r3, #28 ; 0x1c - 8028d5e: 681b ldr r3, [r3, #0] - 8028d60: 4618 mov r0, r3 - 8028d62: f8d7 1b74 ldr.w r1, [r7, #2932] - 8028d66: f7f0 fab1 bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances8 = new int[4]; - 8028d6a: f04f 0010 mov.w r0, #16 ; 0x10 - 8028d6e: f7ee fc3f bl 80175f0 <_Znaj> - 8028d72: 4603 mov r3, r0 - 8028d74: f8c7 3b78 str.w r3, [r7, #2936] - tableauDistances8[0] = 400; // vers etape 7 - 8028d78: f8d7 2b78 ldr.w r2, [r7, #2936] - 8028d7c: f44f 73c8 mov.w r3, #400 ; 0x190 - 8028d80: 6013 str r3, [r2, #0] - tableauDistances8[1] = 400; // vers etape 9 - 8028d82: f8d7 3b78 ldr.w r3, [r7, #2936] - 8028d86: f103 0204 add.w r2, r3, #4 ; 0x4 - 8028d8a: f44f 73c8 mov.w r3, #400 ; 0x190 - 8028d8e: 6013 str r3, [r2, #0] - tableauDistances8[2] = 576; // vers etape 20 - 8028d90: f8d7 3b78 ldr.w r3, [r7, #2936] - 8028d94: f103 0208 add.w r2, r3, #8 ; 0x8 - 8028d98: f44f 7310 mov.w r3, #576 ; 0x240 - 8028d9c: 6013 str r3, [r2, #0] - tableauDistances8[3] = 460; // vers etape 21 - 8028d9e: f8d7 3b78 ldr.w r3, [r7, #2936] - 8028da2: f103 020c add.w r2, r3, #12 ; 0xc - 8028da6: f44f 73e6 mov.w r3, #460 ; 0x1cc - 8028daa: 6013 str r3, [r2, #0] - this->tableauEtapes[8]->setDistances(tableauDistances8); - 8028dac: f507 739c add.w r3, r7, #312 ; 0x138 - 8028db0: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8028db4: 681b ldr r3, [r3, #0] - 8028db6: f8d3 3780 ldr.w r3, [r3, #1920] - 8028dba: f103 0320 add.w r3, r3, #32 ; 0x20 - 8028dbe: 681b ldr r3, [r3, #0] - 8028dc0: 4618 mov r0, r3 - 8028dc2: f8d7 1b78 ldr.w r1, [r7, #2936] - 8028dc6: f7f0 fa81 bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances9 = new int[5]; - 8028dca: f04f 0014 mov.w r0, #20 ; 0x14 - 8028dce: f7ee fc0f bl 80175f0 <_Znaj> - 8028dd2: 4603 mov r3, r0 - 8028dd4: f8c7 3b7c str.w r3, [r7, #2940] - tableauDistances9[0] = 400; // vers etape 8 - 8028dd8: f8d7 2b7c ldr.w r2, [r7, #2940] - 8028ddc: f44f 73c8 mov.w r3, #400 ; 0x190 - 8028de0: 6013 str r3, [r2, #0] - tableauDistances9[1] = 400; // vers etape 10 - 8028de2: f8d7 3b7c ldr.w r3, [r7, #2940] - 8028de6: f103 0204 add.w r2, r3, #4 ; 0x4 - 8028dea: f44f 73c8 mov.w r3, #400 ; 0x190 - 8028dee: 6013 str r3, [r2, #0] - tableauDistances9[2] = 901; // vers etape 20 - 8028df0: f8d7 3b7c ldr.w r3, [r7, #2940] - 8028df4: f103 0208 add.w r2, r3, #8 ; 0x8 - 8028df8: f240 3385 movw r3, #901 ; 0x385 - 8028dfc: 6013 str r3, [r2, #0] - tableauDistances9[3] = 460; // vers etape 21 - 8028dfe: f8d7 3b7c ldr.w r3, [r7, #2940] - 8028e02: f103 020c add.w r2, r3, #12 ; 0xc - 8028e06: f44f 73e6 mov.w r3, #460 ; 0x1cc - 8028e0a: 6013 str r3, [r2, #0] - tableauDistances9[4] = 623; // vers etape 23 - 8028e0c: f8d7 3b7c ldr.w r3, [r7, #2940] - 8028e10: f103 0210 add.w r2, r3, #16 ; 0x10 - 8028e14: f240 236f movw r3, #623 ; 0x26f - 8028e18: 6013 str r3, [r2, #0] - this->tableauEtapes[9]->setDistances(tableauDistances9); - 8028e1a: f507 739c add.w r3, r7, #312 ; 0x138 - 8028e1e: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8028e22: 681b ldr r3, [r3, #0] - 8028e24: f8d3 3780 ldr.w r3, [r3, #1920] - 8028e28: f103 0324 add.w r3, r3, #36 ; 0x24 - 8028e2c: 681b ldr r3, [r3, #0] - 8028e2e: 4618 mov r0, r3 - 8028e30: f8d7 1b7c ldr.w r1, [r7, #2940] - 8028e34: f7f0 fa4a bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances10 = new int[2]; - 8028e38: f04f 0008 mov.w r0, #8 ; 0x8 - 8028e3c: f7ee fbd8 bl 80175f0 <_Znaj> - 8028e40: 4603 mov r3, r0 - 8028e42: f8c7 3b80 str.w r3, [r7, #2944] - tableauDistances10[0] = 400; // vers etape 9 - 8028e46: f8d7 2b80 ldr.w r2, [r7, #2944] - 8028e4a: f44f 73c8 mov.w r3, #400 ; 0x190 - 8028e4e: 6013 str r3, [r2, #0] - tableauDistances10[1] = 100; // vers etape 11 - 8028e50: f8d7 3b80 ldr.w r3, [r7, #2944] - 8028e54: f103 0204 add.w r2, r3, #4 ; 0x4 - 8028e58: f04f 0364 mov.w r3, #100 ; 0x64 - 8028e5c: 6013 str r3, [r2, #0] - this->tableauEtapes[10]->setDistances(tableauDistances10); - 8028e5e: f507 739c add.w r3, r7, #312 ; 0x138 - 8028e62: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8028e66: 681b ldr r3, [r3, #0] - 8028e68: f8d3 3780 ldr.w r3, [r3, #1920] - 8028e6c: f103 0328 add.w r3, r3, #40 ; 0x28 - 8028e70: 681b ldr r3, [r3, #0] - 8028e72: 4618 mov r0, r3 - 8028e74: f8d7 1b80 ldr.w r1, [r7, #2944] - 8028e78: f7f0 fa28 bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances11 = new int[3]; - 8028e7c: f04f 000c mov.w r0, #12 ; 0xc - 8028e80: f7ee fbb6 bl 80175f0 <_Znaj> - 8028e84: 4603 mov r3, r0 - 8028e86: f8c7 3b84 str.w r3, [r7, #2948] - tableauDistances11[0] = 100; // vers etape 10 - 8028e8a: f8d7 2b84 ldr.w r2, [r7, #2948] - 8028e8e: f04f 0364 mov.w r3, #100 ; 0x64 - 8028e92: 6013 str r3, [r2, #0] - tableauDistances11[1] = 200; // vers etape 12 - 8028e94: f8d7 3b84 ldr.w r3, [r7, #2948] - 8028e98: f103 0204 add.w r2, r3, #4 ; 0x4 - 8028e9c: f04f 03c8 mov.w r3, #200 ; 0xc8 - 8028ea0: 6013 str r3, [r2, #0] - tableauDistances11[2] = 460; // vers etape 30 - 8028ea2: f8d7 3b84 ldr.w r3, [r7, #2948] - 8028ea6: f103 0208 add.w r2, r3, #8 ; 0x8 - 8028eaa: f44f 73e6 mov.w r3, #460 ; 0x1cc - 8028eae: 6013 str r3, [r2, #0] - this->tableauEtapes[11]->setDistances(tableauDistances11); - 8028eb0: f507 739c add.w r3, r7, #312 ; 0x138 - 8028eb4: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8028eb8: 681b ldr r3, [r3, #0] - 8028eba: f8d3 3780 ldr.w r3, [r3, #1920] - 8028ebe: f103 032c add.w r3, r3, #44 ; 0x2c - 8028ec2: 681b ldr r3, [r3, #0] - 8028ec4: 4618 mov r0, r3 - 8028ec6: f8d7 1b84 ldr.w r1, [r7, #2948] - 8028eca: f7f0 f9ff bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances12 = new int[3]; - 8028ece: f04f 000c mov.w r0, #12 ; 0xc - 8028ed2: f7ee fb8d bl 80175f0 <_Znaj> - 8028ed6: 4603 mov r3, r0 - 8028ed8: f8c7 3b88 str.w r3, [r7, #2952] - tableauDistances12[0] = 200; // vers etape 11 - 8028edc: f8d7 2b88 ldr.w r2, [r7, #2952] - 8028ee0: f04f 03c8 mov.w r3, #200 ; 0xc8 - 8028ee4: 6013 str r3, [r2, #0] - tableauDistances12[1] = 586; // vers etape 13 - 8028ee6: f8d7 3b88 ldr.w r3, [r7, #2952] - 8028eea: f103 0204 add.w r2, r3, #4 ; 0x4 - 8028eee: f240 234a movw r3, #586 ; 0x24a - 8028ef2: 6013 str r3, [r2, #0] - tableauDistances12[2] = 415; // vers etape 30 - 8028ef4: f8d7 3b88 ldr.w r3, [r7, #2952] - 8028ef8: f103 0208 add.w r2, r3, #8 ; 0x8 - 8028efc: f240 139f movw r3, #415 ; 0x19f - 8028f00: 6013 str r3, [r2, #0] - this->tableauEtapes[12]->setDistances(tableauDistances12); - 8028f02: f507 739c add.w r3, r7, #312 ; 0x138 - 8028f06: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8028f0a: 681b ldr r3, [r3, #0] - 8028f0c: f8d3 3780 ldr.w r3, [r3, #1920] - 8028f10: f103 0330 add.w r3, r3, #48 ; 0x30 - 8028f14: 681b ldr r3, [r3, #0] - 8028f16: 4618 mov r0, r3 - 8028f18: f8d7 1b88 ldr.w r1, [r7, #2952] - 8028f1c: f7f0 f9d6 bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances13 = new int[3]; - 8028f20: f04f 000c mov.w r0, #12 ; 0xc - 8028f24: f7ee fb64 bl 80175f0 <_Znaj> - 8028f28: 4603 mov r3, r0 - 8028f2a: f8c7 3b8c str.w r3, [r7, #2956] - tableauDistances13[0] = 586; // vers etape 12 - 8028f2e: f8d7 2b8c ldr.w r2, [r7, #2956] - 8028f32: f240 234a movw r3, #586 ; 0x24a - 8028f36: 6013 str r3, [r2, #0] - tableauDistances13[1] = 200; // vers etape 14 - 8028f38: f8d7 3b8c ldr.w r3, [r7, #2956] - 8028f3c: f103 0204 add.w r2, r3, #4 ; 0x4 - 8028f40: f04f 03c8 mov.w r3, #200 ; 0xc8 - 8028f44: 6013 str r3, [r2, #0] - tableauDistances13[2] = 415; // vers etape 30 - 8028f46: f8d7 3b8c ldr.w r3, [r7, #2956] - 8028f4a: f103 0208 add.w r2, r3, #8 ; 0x8 - 8028f4e: f240 139f movw r3, #415 ; 0x19f - 8028f52: 6013 str r3, [r2, #0] - this->tableauEtapes[13]->setDistances(tableauDistances13); - 8028f54: f507 739c add.w r3, r7, #312 ; 0x138 - 8028f58: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8028f5c: 681b ldr r3, [r3, #0] - 8028f5e: f8d3 3780 ldr.w r3, [r3, #1920] - 8028f62: f103 0334 add.w r3, r3, #52 ; 0x34 - 8028f66: 681b ldr r3, [r3, #0] - 8028f68: 4618 mov r0, r3 - 8028f6a: f8d7 1b8c ldr.w r1, [r7, #2956] - 8028f6e: f7f0 f9ad bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances14 = new int[3]; - 8028f72: f04f 000c mov.w r0, #12 ; 0xc - 8028f76: f7ee fb3b bl 80175f0 <_Znaj> - 8028f7a: 4603 mov r3, r0 - 8028f7c: f8c7 3b90 str.w r3, [r7, #2960] - tableauDistances14[0] = 200; // vers etape 13 - 8028f80: f8d7 2b90 ldr.w r2, [r7, #2960] - 8028f84: f04f 03c8 mov.w r3, #200 ; 0xc8 - 8028f88: 6013 str r3, [r2, #0] - tableauDistances14[1] = 100; // vers etape 15 - 8028f8a: f8d7 3b90 ldr.w r3, [r7, #2960] - 8028f8e: f103 0204 add.w r2, r3, #4 ; 0x4 - 8028f92: f04f 0364 mov.w r3, #100 ; 0x64 - 8028f96: 6013 str r3, [r2, #0] - tableauDistances14[2] = 460; // vers etape 30 - 8028f98: f8d7 3b90 ldr.w r3, [r7, #2960] - 8028f9c: f103 0208 add.w r2, r3, #8 ; 0x8 - 8028fa0: f44f 73e6 mov.w r3, #460 ; 0x1cc - 8028fa4: 6013 str r3, [r2, #0] - this->tableauEtapes[14]->setDistances(tableauDistances14); - 8028fa6: f507 739c add.w r3, r7, #312 ; 0x138 - 8028faa: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8028fae: 681b ldr r3, [r3, #0] - 8028fb0: f8d3 3780 ldr.w r3, [r3, #1920] - 8028fb4: f103 0338 add.w r3, r3, #56 ; 0x38 - 8028fb8: 681b ldr r3, [r3, #0] - 8028fba: 4618 mov r0, r3 - 8028fbc: f8d7 1b90 ldr.w r1, [r7, #2960] - 8028fc0: f7f0 f984 bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances15 = new int[2]; - 8028fc4: f04f 0008 mov.w r0, #8 ; 0x8 - 8028fc8: f7ee fb12 bl 80175f0 <_Znaj> - 8028fcc: 4603 mov r3, r0 - 8028fce: f8c7 3b94 str.w r3, [r7, #2964] - tableauDistances15[0] = 100; // vers etape 14 - 8028fd2: f8d7 2b94 ldr.w r2, [r7, #2964] - 8028fd6: f04f 0364 mov.w r3, #100 ; 0x64 - 8028fda: 6013 str r3, [r2, #0] - tableauDistances15[1] = 300; // vers etape 16 - 8028fdc: f8d7 3b94 ldr.w r3, [r7, #2964] - 8028fe0: f103 0204 add.w r2, r3, #4 ; 0x4 - 8028fe4: f44f 7396 mov.w r3, #300 ; 0x12c - 8028fe8: 6013 str r3, [r2, #0] - this->tableauEtapes[15]->setDistances(tableauDistances15); - 8028fea: f507 739c add.w r3, r7, #312 ; 0x138 - 8028fee: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8028ff2: 681b ldr r3, [r3, #0] - 8028ff4: f8d3 3780 ldr.w r3, [r3, #1920] - 8028ff8: f103 033c add.w r3, r3, #60 ; 0x3c - 8028ffc: 681b ldr r3, [r3, #0] - 8028ffe: 4618 mov r0, r3 - 8029000: f8d7 1b94 ldr.w r1, [r7, #2964] - 8029004: f7f0 f962 bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances16 = new int[3]; - 8029008: f04f 000c mov.w r0, #12 ; 0xc - 802900c: f7ee faf0 bl 80175f0 <_Znaj> - 8029010: 4603 mov r3, r0 - 8029012: f8c7 3b98 str.w r3, [r7, #2968] - tableauDistances16[0] = 300; // vers etape 15 - 8029016: f8d7 2b98 ldr.w r2, [r7, #2968] - 802901a: f44f 7396 mov.w r3, #300 ; 0x12c - 802901e: 6013 str r3, [r2, #0] - tableauDistances16[1] = 542; // vers etape 17@em6.club.resel.fr:gitRobotique.git - 8029020: f8d7 3b98 ldr.w r3, [r7, #2968] - 8029024: f103 0204 add.w r2, r3, #4 ; 0x4 - 8029028: f240 231e movw r3, #542 ; 0x21e - 802902c: 6013 str r3, [r2, #0] - tableauDistances16[2] = 715; // vers etape 25 - 802902e: f8d7 3b98 ldr.w r3, [r7, #2968] - 8029032: f103 0208 add.w r2, r3, #8 ; 0x8 - 8029036: f240 23cb movw r3, #715 ; 0x2cb - 802903a: 6013 str r3, [r2, #0] - this->tableauEtapes[16]->setDistances(tableauDistances16); - 802903c: f507 739c add.w r3, r7, #312 ; 0x138 - 8029040: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8029044: 681b ldr r3, [r3, #0] - 8029046: f8d3 3780 ldr.w r3, [r3, #1920] - 802904a: f103 0340 add.w r3, r3, #64 ; 0x40 - 802904e: 681b ldr r3, [r3, #0] - 8029050: 4618 mov r0, r3 - 8029052: f8d7 1b98 ldr.w r1, [r7, #2968] - 8029056: f7f0 f939 bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances17 = new int[3]; - 802905a: f04f 000c mov.w r0, #12 ; 0xc - 802905e: f7ee fac7 bl 80175f0 <_Znaj> - 8029062: 4603 mov r3, r0 - 8029064: f8c7 3b9c str.w r3, [r7, #2972] - tableauDistances17[0] = 542; // vers etape 16 - 8029068: f8d7 2b9c ldr.w r2, [r7, #2972] - 802906c: f240 231e movw r3, #542 ; 0x21e - 8029070: 6013 str r3, [r2, #0] - tableauDistances17[1] = 300; // vers etape 18 - 8029072: f8d7 3b9c ldr.w r3, [r7, #2972] - 8029076: f103 0204 add.w r2, r3, #4 ; 0x4 - 802907a: f44f 7396 mov.w r3, #300 ; 0x12c - 802907e: 6013 str r3, [r2, #0] - tableauDistances17[2] = 650; // vers etape 24 - 8029080: f8d7 3b9c ldr.w r3, [r7, #2972] - 8029084: f103 0208 add.w r2, r3, #8 ; 0x8 - 8029088: f240 238a movw r3, #650 ; 0x28a - 802908c: 6013 str r3, [r2, #0] - this->tableauEtapes[17]->setDistances(tableauDistances17); - 802908e: f507 739c add.w r3, r7, #312 ; 0x138 - 8029092: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8029096: 681b ldr r3, [r3, #0] - 8029098: f8d3 3780 ldr.w r3, [r3, #1920] - 802909c: f103 0344 add.w r3, r3, #68 ; 0x44 - 80290a0: 681b ldr r3, [r3, #0] - 80290a2: 4618 mov r0, r3 - 80290a4: f8d7 1b9c ldr.w r1, [r7, #2972] - 80290a8: f7f0 f910 bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances18 = new int[2]; - 80290ac: f04f 0008 mov.w r0, #8 ; 0x8 - 80290b0: f7ee fa9e bl 80175f0 <_Znaj> - 80290b4: 4603 mov r3, r0 - 80290b6: f8c7 3ba0 str.w r3, [r7, #2976] - tableauDistances18[0] = 300; // vers etape 17 - 80290ba: f8d7 2ba0 ldr.w r2, [r7, #2976] - 80290be: f44f 7396 mov.w r3, #300 ; 0x12c - 80290c2: 6013 str r3, [r2, #0] - tableauDistances18[1] = 300; // vers etape 26 - 80290c4: f8d7 3ba0 ldr.w r3, [r7, #2976] - 80290c8: f103 0204 add.w r2, r3, #4 ; 0x4 - 80290cc: f44f 7396 mov.w r3, #300 ; 0x12c - 80290d0: 6013 str r3, [r2, #0] - this->tableauEtapes[18]->setDistances(tableauDistances18); - 80290d2: f507 739c add.w r3, r7, #312 ; 0x138 - 80290d6: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80290da: 681b ldr r3, [r3, #0] - 80290dc: f8d3 3780 ldr.w r3, [r3, #1920] - 80290e0: f103 0348 add.w r3, r3, #72 ; 0x48 - 80290e4: 681b ldr r3, [r3, #0] - 80290e6: 4618 mov r0, r3 - 80290e8: f8d7 1ba0 ldr.w r1, [r7, #2976] - 80290ec: f7f0 f8ee bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances19 = new int[4]; - 80290f0: f04f 0010 mov.w r0, #16 ; 0x10 - 80290f4: f7ee fa7c bl 80175f0 <_Znaj> - 80290f8: 4603 mov r3, r0 - 80290fa: f8c7 3ba4 str.w r3, [r7, #2980] - tableauDistances19[0] = 512; // vers etape 4 - 80290fe: f8d7 2ba4 ldr.w r2, [r7, #2980] - 8029102: f44f 7300 mov.w r3, #512 ; 0x200 - 8029106: 6013 str r3, [r2, #0] - tableauDistances19[1] = 424; // vers etape 20 - 8029108: f8d7 3ba4 ldr.w r3, [r7, #2980] - 802910c: f103 0204 add.w r2, r3, #4 ; 0x4 - 8029110: f44f 73d4 mov.w r3, #424 ; 0x1a8 - 8029114: 6013 str r3, [r2, #0] - tableauDistances19[2] = 200; // vers etape 28 - 8029116: f8d7 3ba4 ldr.w r3, [r7, #2980] - 802911a: f103 0208 add.w r2, r3, #8 ; 0x8 - 802911e: f04f 03c8 mov.w r3, #200 ; 0xc8 - 8029122: 6013 str r3, [r2, #0] - tableauDistances19[3] = 300; // vers etape 29 - 8029124: f8d7 3ba4 ldr.w r3, [r7, #2980] - 8029128: f103 020c add.w r2, r3, #12 ; 0xc - 802912c: f44f 7396 mov.w r3, #300 ; 0x12c - 8029130: 6013 str r3, [r2, #0] - this->tableauEtapes[19]->setDistances(tableauDistances19); - 8029132: f507 739c add.w r3, r7, #312 ; 0x138 - 8029136: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802913a: 681b ldr r3, [r3, #0] - 802913c: f8d3 3780 ldr.w r3, [r3, #1920] - 8029140: f103 034c add.w r3, r3, #76 ; 0x4c - 8029144: 681b ldr r3, [r3, #0] - 8029146: 4618 mov r0, r3 - 8029148: f8d7 1ba4 ldr.w r1, [r7, #2980] - 802914c: f7f0 f8be bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances20 = new int[5]; - 8029150: f04f 0014 mov.w r0, #20 ; 0x14 - 8029154: f7ee fa4c bl 80175f0 <_Znaj> - 8029158: 4603 mov r3, r0 - 802915a: f8c7 3ba8 str.w r3, [r7, #2984] - tableauDistances20[0] = 576; // vers etape 8 - 802915e: f8d7 2ba8 ldr.w r2, [r7, #2984] - 8029162: f44f 7310 mov.w r3, #576 ; 0x240 - 8029166: 6013 str r3, [r2, #0] - tableauDistances20[1] = 901; // vers etape 9 - 8029168: f8d7 3ba8 ldr.w r3, [r7, #2984] - 802916c: f103 0204 add.w r2, r3, #4 ; 0x4 - 8029170: f240 3385 movw r3, #901 ; 0x385 - 8029174: 6013 str r3, [r2, #0] - tableauDistances20[2] = 424; // vers etape 19 - 8029176: f8d7 3ba8 ldr.w r3, [r7, #2984] - 802917a: f103 0208 add.w r2, r3, #8 ; 0x8 - 802917e: f44f 73d4 mov.w r3, #424 ; 0x1a8 - 8029182: 6013 str r3, [r2, #0] - tableauDistances20[3] = 600; // vers etape 21 - 8029184: f8d7 3ba8 ldr.w r3, [r7, #2984] - 8029188: f103 020c add.w r2, r3, #12 ; 0xc - 802918c: f44f 7316 mov.w r3, #600 ; 0x258 - 8029190: 6013 str r3, [r2, #0] - tableauDistances20[4] = 300; // vers etape 29 - 8029192: f8d7 3ba8 ldr.w r3, [r7, #2984] - 8029196: f103 0210 add.w r2, r3, #16 ; 0x10 - 802919a: f44f 7396 mov.w r3, #300 ; 0x12c - 802919e: 6013 str r3, [r2, #0] - this->tableauEtapes[20]->setDistances(tableauDistances20); - 80291a0: f507 739c add.w r3, r7, #312 ; 0x138 - 80291a4: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80291a8: 681b ldr r3, [r3, #0] - 80291aa: f8d3 3780 ldr.w r3, [r3, #1920] - 80291ae: f103 0350 add.w r3, r3, #80 ; 0x50 - 80291b2: 681b ldr r3, [r3, #0] - 80291b4: 4618 mov r0, r3 - 80291b6: f8d7 1ba8 ldr.w r1, [r7, #2984] - 80291ba: f7f0 f887 bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances21 = new int[6]; - 80291be: f04f 0018 mov.w r0, #24 ; 0x18 - 80291c2: f7ee fa15 bl 80175f0 <_Znaj> - 80291c6: 4603 mov r3, r0 - 80291c8: f8c7 3bac str.w r3, [r7, #2988] - tableauDistances21[0] = 729; // vers etape 7 - 80291cc: f8d7 2bac ldr.w r2, [r7, #2988] - 80291d0: f240 23d9 movw r3, #729 ; 0x2d9 - 80291d4: 6013 str r3, [r2, #0] - tableauDistances21[1] = 460; // vers etape 8 - 80291d6: f8d7 3bac ldr.w r3, [r7, #2988] - 80291da: f103 0204 add.w r2, r3, #4 ; 0x4 - 80291de: f44f 73e6 mov.w r3, #460 ; 0x1cc - 80291e2: 6013 str r3, [r2, #0] - tableauDistances21[2] = 460; // vers etape 9 - 80291e4: f8d7 3bac ldr.w r3, [r7, #2988] - 80291e8: f103 0208 add.w r2, r3, #8 ; 0x8 - 80291ec: f44f 73e6 mov.w r3, #460 ; 0x1cc - 80291f0: 6013 str r3, [r2, #0] - tableauDistances21[3] = 600; // vers etape 20 - 80291f2: f8d7 3bac ldr.w r3, [r7, #2988] - 80291f6: f103 020c add.w r2, r3, #12 ; 0xc - 80291fa: f44f 7316 mov.w r3, #600 ; 0x258 - 80291fe: 6013 str r3, [r2, #0] - tableauDistances21[4] = 600; // vers etape 22 - 8029200: f8d7 3bac ldr.w r3, [r7, #2988] - 8029204: f103 0210 add.w r2, r3, #16 ; 0x10 - 8029208: f44f 7316 mov.w r3, #600 ; 0x258 - 802920c: 6013 str r3, [r2, #0] - tableauDistances21[5] = 360; // vers etape 23 - 802920e: f8d7 3bac ldr.w r3, [r7, #2988] - 8029212: f103 0214 add.w r2, r3, #20 ; 0x14 - 8029216: f44f 73b4 mov.w r3, #360 ; 0x168 - 802921a: 6013 str r3, [r2, #0] - this->tableauEtapes[21]->setDistances(tableauDistances21); - 802921c: f507 739c add.w r3, r7, #312 ; 0x138 - 8029220: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8029224: 681b ldr r3, [r3, #0] - 8029226: f8d3 3780 ldr.w r3, [r3, #1920] - 802922a: f103 0354 add.w r3, r3, #84 ; 0x54 - 802922e: 681b ldr r3, [r3, #0] - 8029230: 4618 mov r0, r3 - 8029232: f8d7 1bac ldr.w r1, [r7, #2988] - 8029236: f7f0 f849 bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances22 = new int[4]; - 802923a: f04f 0010 mov.w r0, #16 ; 0x10 - 802923e: f7ee f9d7 bl 80175f0 <_Znaj> - 8029242: 4603 mov r3, r0 - 8029244: f8c7 3bb0 str.w r3, [r7, #2992] - tableauDistances22[0] = 600; // vers etape 21 - 8029248: f8d7 2bb0 ldr.w r2, [r7, #2992] - 802924c: f44f 7316 mov.w r3, #600 ; 0x258 - 8029250: 6013 str r3, [r2, #0] - tableauDistances22[1] = 360; // vers etape 23 - 8029252: f8d7 3bb0 ldr.w r3, [r7, #2992] - 8029256: f103 0204 add.w r2, r3, #4 ; 0x4 - 802925a: f44f 73b4 mov.w r3, #360 ; 0x168 - 802925e: 6013 str r3, [r2, #0] - tableauDistances22[2] = 424; // vers etape 24 - 8029260: f8d7 3bb0 ldr.w r3, [r7, #2992] - 8029264: f103 0208 add.w r2, r3, #8 ; 0x8 - 8029268: f44f 73d4 mov.w r3, #424 ; 0x1a8 - 802926c: 6013 str r3, [r2, #0] - tableauDistances22[3] = 300; // vers etape 30 - 802926e: f8d7 3bb0 ldr.w r3, [r7, #2992] - 8029272: f103 020c add.w r2, r3, #12 ; 0xc - 8029276: f44f 7396 mov.w r3, #300 ; 0x12c - 802927a: 6013 str r3, [r2, #0] - this->tableauEtapes[22]->setDistances(tableauDistances22); - 802927c: f507 739c add.w r3, r7, #312 ; 0x138 - 8029280: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8029284: 681b ldr r3, [r3, #0] - 8029286: f8d3 3780 ldr.w r3, [r3, #1920] - 802928a: f103 0358 add.w r3, r3, #88 ; 0x58 - 802928e: 681b ldr r3, [r3, #0] - 8029290: 4618 mov r0, r3 - 8029292: f8d7 1bb0 ldr.w r1, [r7, #2992] - 8029296: f7f0 f819 bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances23 = new int[4]; - 802929a: f04f 0010 mov.w r0, #16 ; 0x10 - 802929e: f7ee f9a7 bl 80175f0 <_Znaj> - 80292a2: 4603 mov r3, r0 - 80292a4: f8c7 3bb4 str.w r3, [r7, #2996] - tableauDistances23[0] = 623; // vers etape 9 - 80292a8: f8d7 2bb4 ldr.w r2, [r7, #2996] - 80292ac: f240 236f movw r3, #623 ; 0x26f - 80292b0: 6013 str r3, [r2, #0] - tableauDistances23[1] = 360; // vers etape 21 - 80292b2: f8d7 3bb4 ldr.w r3, [r7, #2996] - 80292b6: f103 0204 add.w r2, r3, #4 ; 0x4 - 80292ba: f44f 73b4 mov.w r3, #360 ; 0x168 - 80292be: 6013 str r3, [r2, #0] - tableauDistances23[2] = 360; // vers etape 22 - 80292c0: f8d7 3bb4 ldr.w r3, [r7, #2996] - 80292c4: f103 0208 add.w r2, r3, #8 ; 0x8 - 80292c8: f44f 73b4 mov.w r3, #360 ; 0x168 - 80292cc: 6013 str r3, [r2, #0] - tableauDistances23[3] = 200; // vers etape 27 - 80292ce: f8d7 3bb4 ldr.w r3, [r7, #2996] - 80292d2: f103 020c add.w r2, r3, #12 ; 0xc - 80292d6: f04f 03c8 mov.w r3, #200 ; 0xc8 - 80292da: 6013 str r3, [r2, #0] - this->tableauEtapes[23]->setDistances(tableauDistances23); - 80292dc: f507 739c add.w r3, r7, #312 ; 0x138 - 80292e0: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80292e4: 681b ldr r3, [r3, #0] - 80292e6: f8d3 3780 ldr.w r3, [r3, #1920] - 80292ea: f103 035c add.w r3, r3, #92 ; 0x5c - 80292ee: 681b ldr r3, [r3, #0] - 80292f0: 4618 mov r0, r3 - 80292f2: f8d7 1bb4 ldr.w r1, [r7, #2996] - 80292f6: f7ef ffe9 bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances24 = new int[4]; - 80292fa: f04f 0010 mov.w r0, #16 ; 0x10 - 80292fe: f7ee f977 bl 80175f0 <_Znaj> - 8029302: 4603 mov r3, r0 - 8029304: f8c7 3bb8 str.w r3, [r7, #3000] - tableauDistances24[0] = 650; // vers etape 17 - 8029308: f8d7 2bb8 ldr.w r2, [r7, #3000] - 802930c: f240 238a movw r3, #650 ; 0x28a - 8029310: 6013 str r3, [r2, #0] - tableauDistances24[1] = 424; // vers etape 22 - 8029312: f8d7 3bb8 ldr.w r3, [r7, #3000] - 8029316: f103 0204 add.w r2, r3, #4 ; 0x4 - 802931a: f44f 73d4 mov.w r3, #424 ; 0x1a8 - 802931e: 6013 str r3, [r2, #0] - tableauDistances24[2] = 424; // vers etape 25 - 8029320: f8d7 3bb8 ldr.w r3, [r7, #3000] - 8029324: f103 0208 add.w r2, r3, #8 ; 0x8 - 8029328: f44f 73d4 mov.w r3, #424 ; 0x1a8 - 802932c: 6013 str r3, [r2, #0] - tableauDistances24[3] = 300; // vers etape 30 - 802932e: f8d7 3bb8 ldr.w r3, [r7, #3000] - 8029332: f103 020c add.w r2, r3, #12 ; 0xc - 8029336: f44f 7396 mov.w r3, #300 ; 0x12c - 802933a: 6013 str r3, [r2, #0] - this->tableauEtapes[24]->setDistances(tableauDistances24); - 802933c: f507 739c add.w r3, r7, #312 ; 0x138 - 8029340: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8029344: 681b ldr r3, [r3, #0] - 8029346: f8d3 3780 ldr.w r3, [r3, #1920] - 802934a: f103 0360 add.w r3, r3, #96 ; 0x60 - 802934e: 681b ldr r3, [r3, #0] - 8029350: 4618 mov r0, r3 - 8029352: f8d7 1bb8 ldr.w r1, [r7, #3000] - 8029356: f7ef ffb9 bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances25 = new int[3]; - 802935a: f04f 000c mov.w r0, #12 ; 0xc - 802935e: f7ee f947 bl 80175f0 <_Znaj> - 8029362: 4603 mov r3, r0 - 8029364: f8c7 3bbc str.w r3, [r7, #3004] - tableauDistances25[0] = 715; // vers etape 16 - 8029368: f8d7 2bbc ldr.w r2, [r7, #3004] - 802936c: f240 23cb movw r3, #715 ; 0x2cb - 8029370: 6013 str r3, [r2, #0] - tableauDistances25[1] = 424; // vers etape 24 - 8029372: f8d7 3bbc ldr.w r3, [r7, #3004] - 8029376: f103 0204 add.w r2, r3, #4 ; 0x4 - 802937a: f44f 73d4 mov.w r3, #424 ; 0x1a8 - 802937e: 6013 str r3, [r2, #0] - tableauDistances25[2] = 360; // vers etape 27 - 8029380: f8d7 3bbc ldr.w r3, [r7, #3004] - 8029384: f103 0208 add.w r2, r3, #8 ; 0x8 - 8029388: f44f 73b4 mov.w r3, #360 ; 0x168 - 802938c: 6013 str r3, [r2, #0] - this->tableauEtapes[25]->setDistances(tableauDistances25); - 802938e: f507 739c add.w r3, r7, #312 ; 0x138 - 8029392: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8029396: 681b ldr r3, [r3, #0] - 8029398: f8d3 3780 ldr.w r3, [r3, #1920] - 802939c: f103 0364 add.w r3, r3, #100 ; 0x64 - 80293a0: 681b ldr r3, [r3, #0] - 80293a2: 4618 mov r0, r3 - 80293a4: f8d7 1bbc ldr.w r1, [r7, #3004] - 80293a8: f7ef ff90 bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances26 = new int[2]; - 80293ac: f04f 0008 mov.w r0, #8 ; 0x8 - 80293b0: f7ee f91e bl 80175f0 <_Znaj> - 80293b4: 4603 mov r3, r0 - 80293b6: f8c7 3bc0 str.w r3, [r7, #3008] - tableauDistances26[0] = 300; // vers etape 18 - 80293ba: f8d7 2bc0 ldr.w r2, [r7, #3008] - 80293be: f44f 7396 mov.w r3, #300 ; 0x12c - 80293c2: 6013 str r3, [r2, #0] - tableauDistances26[1] = 550; // vers etape 27 - 80293c4: f8d7 3bc0 ldr.w r3, [r7, #3008] - 80293c8: f103 0204 add.w r2, r3, #4 ; 0x4 - 80293cc: f240 2326 movw r3, #550 ; 0x226 - 80293d0: 6013 str r3, [r2, #0] - this->tableauEtapes[26]->setDistances(tableauDistances26); - 80293d2: f507 739c add.w r3, r7, #312 ; 0x138 - 80293d6: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80293da: 681b ldr r3, [r3, #0] - 80293dc: f8d3 3780 ldr.w r3, [r3, #1920] - 80293e0: f103 0368 add.w r3, r3, #104 ; 0x68 - 80293e4: 681b ldr r3, [r3, #0] - 80293e6: 4618 mov r0, r3 - 80293e8: f8d7 1bc0 ldr.w r1, [r7, #3008] - 80293ec: f7ef ff6e bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances27 = new int[3]; - 80293f0: f04f 000c mov.w r0, #12 ; 0xc - 80293f4: f7ee f8fc bl 80175f0 <_Znaj> - 80293f8: 4603 mov r3, r0 - 80293fa: f8c7 3bc4 str.w r3, [r7, #3012] - tableauDistances27[0] = 200; // vers etape 23 - 80293fe: f8d7 2bc4 ldr.w r2, [r7, #3012] - 8029402: f04f 03c8 mov.w r3, #200 ; 0xc8 - 8029406: 6013 str r3, [r2, #0] - tableauDistances27[1] = 360; // vers etape 25 - 8029408: f8d7 3bc4 ldr.w r3, [r7, #3012] - 802940c: f103 0204 add.w r2, r3, #4 ; 0x4 - 8029410: f44f 73b4 mov.w r3, #360 ; 0x168 - 8029414: 6013 str r3, [r2, #0] - tableauDistances27[2] = 550; // vers etape 26 - 8029416: f8d7 3bc4 ldr.w r3, [r7, #3012] - 802941a: f103 0208 add.w r2, r3, #8 ; 0x8 - 802941e: f240 2326 movw r3, #550 ; 0x226 - 8029422: 6013 str r3, [r2, #0] - this->tableauEtapes[27]->setDistances(tableauDistances27); - 8029424: f507 739c add.w r3, r7, #312 ; 0x138 - 8029428: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802942c: 681b ldr r3, [r3, #0] - 802942e: f8d3 3780 ldr.w r3, [r3, #1920] - 8029432: f103 036c add.w r3, r3, #108 ; 0x6c - 8029436: 681b ldr r3, [r3, #0] - 8029438: 4618 mov r0, r3 - 802943a: f8d7 1bc4 ldr.w r1, [r7, #3012] - 802943e: f7ef ff45 bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances28 = new int[2]; - 8029442: f04f 0008 mov.w r0, #8 ; 0x8 - 8029446: f7ee f8d3 bl 80175f0 <_Znaj> - 802944a: 4603 mov r3, r0 - 802944c: f8c7 3bc8 str.w r3, [r7, #3016] - tableauDistances28[0] = 576; // vers etape 0 - 8029450: f8d7 2bc8 ldr.w r2, [r7, #3016] - 8029454: f44f 7310 mov.w r3, #576 ; 0x240 - 8029458: 6013 str r3, [r2, #0] - tableauDistances28[1] = 200; // vers etape 19 - 802945a: f8d7 3bc8 ldr.w r3, [r7, #3016] - 802945e: f103 0204 add.w r2, r3, #4 ; 0x4 - 8029462: f04f 03c8 mov.w r3, #200 ; 0xc8 - 8029466: 6013 str r3, [r2, #0] - this->tableauEtapes[28]->setDistances(tableauDistances28); - 8029468: f507 739c add.w r3, r7, #312 ; 0x138 - 802946c: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8029470: 681b ldr r3, [r3, #0] - 8029472: f8d3 3780 ldr.w r3, [r3, #1920] - 8029476: f103 0370 add.w r3, r3, #112 ; 0x70 - 802947a: 681b ldr r3, [r3, #0] - 802947c: 4618 mov r0, r3 - 802947e: f8d7 1bc8 ldr.w r1, [r7, #3016] - 8029482: f7ef ff23 bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances29 = new int[5]; - 8029486: f04f 0014 mov.w r0, #20 ; 0x14 - 802948a: f7ee f8b1 bl 80175f0 <_Znaj> - 802948e: 4603 mov r3, r0 - 8029490: f8c7 3bcc str.w r3, [r7, #3020] - tableauDistances29[0] = 415; // vers etape 4 - 8029494: f8d7 2bcc ldr.w r2, [r7, #3020] - 8029498: f240 139f movw r3, #415 ; 0x19f - 802949c: 6013 str r3, [r2, #0] - tableauDistances29[1] = 415; // vers etape 5 - 802949e: f8d7 3bcc ldr.w r3, [r7, #3020] - 80294a2: f103 0204 add.w r2, r3, #4 ; 0x4 - 80294a6: f240 139f movw r3, #415 ; 0x19f - 80294aa: 6013 str r3, [r2, #0] - tableauDistances29[2] = 460; // vers etape 6 - 80294ac: f8d7 3bcc ldr.w r3, [r7, #3020] - 80294b0: f103 0208 add.w r2, r3, #8 ; 0x8 - 80294b4: f44f 73e6 mov.w r3, #460 ; 0x1cc - 80294b8: 6013 str r3, [r2, #0] - tableauDistances29[3] = 300; // vers etape 19 - 80294ba: f8d7 3bcc ldr.w r3, [r7, #3020] - 80294be: f103 020c add.w r2, r3, #12 ; 0xc - 80294c2: f44f 7396 mov.w r3, #300 ; 0x12c - 80294c6: 6013 str r3, [r2, #0] - tableauDistances29[4] = 300; // vers etape 20 - 80294c8: f8d7 3bcc ldr.w r3, [r7, #3020] - 80294cc: f103 0210 add.w r2, r3, #16 ; 0x10 - 80294d0: f44f 7396 mov.w r3, #300 ; 0x12c - 80294d4: 6013 str r3, [r2, #0] - this->tableauEtapes[29]->setDistances(tableauDistances29); - 80294d6: f507 739c add.w r3, r7, #312 ; 0x138 - 80294da: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 80294de: 681b ldr r3, [r3, #0] - 80294e0: f8d3 3780 ldr.w r3, [r3, #1920] - 80294e4: f103 0374 add.w r3, r3, #116 ; 0x74 - 80294e8: 681b ldr r3, [r3, #0] - 80294ea: 4618 mov r0, r3 - 80294ec: f8d7 1bcc ldr.w r1, [r7, #3020] - 80294f0: f7ef feec bl 80192cc <_ZN5Etape12setDistancesEPi> - - int* tableauDistances30 = new int[6]; - 80294f4: f04f 0018 mov.w r0, #24 ; 0x18 - 80294f8: f7ee f87a bl 80175f0 <_Znaj> - 80294fc: 4603 mov r3, r0 - 80294fe: f8c7 3bd0 str.w r3, [r7, #3024] - tableauDistances30[0] = 460; // vers etape 11 - 8029502: f8d7 2bd0 ldr.w r2, [r7, #3024] - 8029506: f44f 73e6 mov.w r3, #460 ; 0x1cc - 802950a: 6013 str r3, [r2, #0] - tableauDistances30[1] = 415; // vers etape 12 - 802950c: f8d7 3bd0 ldr.w r3, [r7, #3024] - 8029510: f103 0204 add.w r2, r3, #4 ; 0x4 - 8029514: f240 139f movw r3, #415 ; 0x19f - 8029518: 6013 str r3, [r2, #0] - tableauDistances30[2] = 415; // vers etape 13 - 802951a: f8d7 3bd0 ldr.w r3, [r7, #3024] - 802951e: f103 0208 add.w r2, r3, #8 ; 0x8 - 8029522: f240 139f movw r3, #415 ; 0x19f - 8029526: 6013 str r3, [r2, #0] - tableauDistances30[3] = 460; // vers etape 14 - 8029528: f8d7 3bd0 ldr.w r3, [r7, #3024] - 802952c: f103 020c add.w r2, r3, #12 ; 0xc - 8029530: f44f 73e6 mov.w r3, #460 ; 0x1cc - 8029534: 6013 str r3, [r2, #0] - tableauDistances30[4] = 300; // vers etape 22 - 8029536: f8d7 3bd0 ldr.w r3, [r7, #3024] - 802953a: f103 0210 add.w r2, r3, #16 ; 0x10 - 802953e: f44f 7396 mov.w r3, #300 ; 0x12c - 8029542: 6013 str r3, [r2, #0] - tableauDistances30[5] = 300; // vers etape 24 - 8029544: f8d7 3bd0 ldr.w r3, [r7, #3024] - 8029548: f103 0214 add.w r2, r3, #20 ; 0x14 - 802954c: f44f 7396 mov.w r3, #300 ; 0x12c - 8029550: 6013 str r3, [r2, #0] - this->tableauEtapes[30]->setDistances(tableauDistances30); - 8029552: f507 739c add.w r3, r7, #312 ; 0x138 - 8029556: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 802955a: 681b ldr r3, [r3, #0] - 802955c: f8d3 3780 ldr.w r3, [r3, #1920] - 8029560: f103 0378 add.w r3, r3, #120 ; 0x78 - 8029564: 681b ldr r3, [r3, #0] - 8029566: 4618 mov r0, r3 - 8029568: f8d7 1bd0 ldr.w r1, [r7, #3024] - 802956c: f7ef feae bl 80192cc <_ZN5Etape12setDistancesEPi> -#endif - - -} - 8029570: f507 739c add.w r3, r7, #312 ; 0x138 - 8029574: f1a3 031c sub.w r3, r3, #28 ; 0x1c - 8029578: 681b ldr r3, [r3, #0] - 802957a: 4618 mov r0, r3 - 802957c: f507 7777 add.w r7, r7, #988 ; 0x3dc - 8029580: f507 6700 add.w r7, r7, #2048 ; 0x800 - 8029584: 46bd mov sp, r7 - 8029586: bd90 pop {r4, r7, pc} - -08029588 <_exit>: - -void _exit(int status) -{ - //Endless loop - for(;;); -} - 8029588: b480 push {r7} - 802958a: b083 sub sp, #12 - 802958c: af00 add r7, sp, #0 - 802958e: 6078 str r0, [r7, #4] - 8029590: e7fe b.n 8029590 <_exit+0x8> - 8029592: 46c0 nop (mov r8, r8) - -08029594 <_close>: - -int _close(int file) -{ - 8029594: b480 push {r7} - 8029596: b083 sub sp, #12 - 8029598: af00 add r7, sp, #0 - 802959a: 6078 str r0, [r7, #4] - return -1; - 802959c: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff -} - 80295a0: 4618 mov r0, r3 - 80295a2: f107 070c add.w r7, r7, #12 ; 0xc - 80295a6: 46bd mov sp, r7 - 80295a8: bc80 pop {r7} - 80295aa: 4770 bx lr - -080295ac <_execve>: - -char* __env[1] = {0}; -char** environ = __env; - -int _execve(char* name, char** argv, char** env) -{ - 80295ac: b480 push {r7} - 80295ae: b085 sub sp, #20 - 80295b0: af00 add r7, sp, #0 - 80295b2: 60f8 str r0, [r7, #12] - 80295b4: 60b9 str r1, [r7, #8] - 80295b6: 607a str r2, [r7, #4] - errno = ENOMEM; - 80295b8: 4a05 ldr r2, [pc, #20] (80295d0 <_execve+0x24>) - 80295ba: f04f 030c mov.w r3, #12 ; 0xc - 80295be: 6013 str r3, [r2, #0] - return -1; - 80295c0: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff -} - 80295c4: 4618 mov r0, r3 - 80295c6: f107 0714 add.w r7, r7, #20 ; 0x14 - 80295ca: 46bd mov sp, r7 - 80295cc: bc80 pop {r7} - 80295ce: 4770 bx lr - 80295d0: 20000ee0 .word 0x20000ee0 - -080295d4 <_fork>: - -int _fork(void) -{ - 80295d4: b480 push {r7} - 80295d6: af00 add r7, sp, #0 - errno = EAGAIN; - 80295d8: 4a04 ldr r2, [pc, #16] (80295ec <_fork+0x18>) - 80295da: f04f 030b mov.w r3, #11 ; 0xb - 80295de: 6013 str r3, [r2, #0] - return -1; - 80295e0: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff -} - 80295e4: 4618 mov r0, r3 - 80295e6: 46bd mov sp, r7 - 80295e8: bc80 pop {r7} - 80295ea: 4770 bx lr - 80295ec: 20000ee0 .word 0x20000ee0 - -080295f0 <_fstat>: - -int _fstat(int file, struct stat* st) -{ - 80295f0: b480 push {r7} - 80295f2: b083 sub sp, #12 - 80295f4: af00 add r7, sp, #0 - 80295f6: 6078 str r0, [r7, #4] - 80295f8: 6039 str r1, [r7, #0] - st->st_mode = S_IFCHR; - 80295fa: 683a ldr r2, [r7, #0] - 80295fc: f44f 5300 mov.w r3, #8192 ; 0x2000 - 8029600: 6053 str r3, [r2, #4] - return 0; - 8029602: f04f 0300 mov.w r3, #0 ; 0x0 -} - 8029606: 4618 mov r0, r3 - 8029608: f107 070c add.w r7, r7, #12 ; 0xc - 802960c: 46bd mov sp, r7 - 802960e: bc80 pop {r7} - 8029610: 4770 bx lr - 8029612: 46c0 nop (mov r8, r8) - -08029614 <_getpid>: - -int _getpid(void) -{ - 8029614: b480 push {r7} - 8029616: af00 add r7, sp, #0 - return 1; - 8029618: f04f 0301 mov.w r3, #1 ; 0x1 -} - 802961c: 4618 mov r0, r3 - 802961e: 46bd mov sp, r7 - 8029620: bc80 pop {r7} - 8029622: 4770 bx lr - -08029624 <_isatty>: - -int _isatty(int file) -{ - 8029624: b480 push {r7} - 8029626: b083 sub sp, #12 - 8029628: af00 add r7, sp, #0 - 802962a: 6078 str r0, [r7, #4] - return 1; - 802962c: f04f 0301 mov.w r3, #1 ; 0x1 -} - 8029630: 4618 mov r0, r3 - 8029632: f107 070c add.w r7, r7, #12 ; 0xc - 8029636: 46bd mov sp, r7 - 8029638: bc80 pop {r7} - 802963a: 4770 bx lr - -0802963c <_kill>: - -int _kill(int pid, int sig) -{ - 802963c: b480 push {r7} - 802963e: b083 sub sp, #12 - 8029640: af00 add r7, sp, #0 - 8029642: 6078 str r0, [r7, #4] - 8029644: 6039 str r1, [r7, #0] - errno = EINVAL; - 8029646: 4a06 ldr r2, [pc, #24] (8029660 <_kill+0x24>) - 8029648: f04f 0316 mov.w r3, #22 ; 0x16 - 802964c: 6013 str r3, [r2, #0] - return -1; - 802964e: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff -} - 8029652: 4618 mov r0, r3 - 8029654: f107 070c add.w r7, r7, #12 ; 0xc - 8029658: 46bd mov sp, r7 - 802965a: bc80 pop {r7} - 802965c: 4770 bx lr - 802965e: 46c0 nop (mov r8, r8) - 8029660: 20000ee0 .word 0x20000ee0 - -08029664 <_link>: - -int _link(char* old, char* new) -{ - 8029664: b480 push {r7} - 8029666: b083 sub sp, #12 - 8029668: af00 add r7, sp, #0 - 802966a: 6078 str r0, [r7, #4] - 802966c: 6039 str r1, [r7, #0] - errno = EMLINK; - 802966e: 4a06 ldr r2, [pc, #24] (8029688 <_link+0x24>) - 8029670: f04f 031f mov.w r3, #31 ; 0x1f - 8029674: 6013 str r3, [r2, #0] - return -1; - 8029676: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff -} - 802967a: 4618 mov r0, r3 - 802967c: f107 070c add.w r7, r7, #12 ; 0xc - 8029680: 46bd mov sp, r7 - 8029682: bc80 pop {r7} - 8029684: 4770 bx lr - 8029686: 46c0 nop (mov r8, r8) - 8029688: 20000ee0 .word 0x20000ee0 - -0802968c <_lseek>: - -int _lseek(int file, int ptr, int dir) -{ - 802968c: b480 push {r7} - 802968e: b085 sub sp, #20 - 8029690: af00 add r7, sp, #0 - 8029692: 60f8 str r0, [r7, #12] - 8029694: 60b9 str r1, [r7, #8] - 8029696: 607a str r2, [r7, #4] - return 0; - 8029698: f04f 0300 mov.w r3, #0 ; 0x0 -} - 802969c: 4618 mov r0, r3 - 802969e: f107 0714 add.w r7, r7, #20 ; 0x14 - 80296a2: 46bd mov sp, r7 - 80296a4: bc80 pop {r7} - 80296a6: 4770 bx lr - -080296a8 <_open>: - -int _open(const char* name, int flags, int mode) -{ - 80296a8: b480 push {r7} - 80296aa: b085 sub sp, #20 - 80296ac: af00 add r7, sp, #0 - 80296ae: 60f8 str r0, [r7, #12] - 80296b0: 60b9 str r1, [r7, #8] - 80296b2: 607a str r2, [r7, #4] - return -1; - 80296b4: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff -} - 80296b8: 4618 mov r0, r3 - 80296ba: f107 0714 add.w r7, r7, #20 ; 0x14 - 80296be: 46bd mov sp, r7 - 80296c0: bc80 pop {r7} - 80296c2: 4770 bx lr - -080296c4 <_read>: - -int _read(int file, char* ptr, int len) -{ - 80296c4: b480 push {r7} - 80296c6: b085 sub sp, #20 - 80296c8: af00 add r7, sp, #0 - 80296ca: 60f8 str r0, [r7, #12] - 80296cc: 60b9 str r1, [r7, #8] - 80296ce: 607a str r2, [r7, #4] - return 0; - 80296d0: f04f 0300 mov.w r3, #0 ; 0x0 -} - 80296d4: 4618 mov r0, r3 - 80296d6: f107 0714 add.w r7, r7, #20 ; 0x14 - 80296da: 46bd mov sp, r7 - 80296dc: bc80 pop {r7} - 80296de: 4770 bx lr - -080296e0 <_sbrk>: - -caddr_t _sbrk(int incr) -{ - 80296e0: b580 push {r7, lr} - 80296e2: b084 sub sp, #16 - 80296e4: af00 add r7, sp, #0 - 80296e6: 6078 str r0, [r7, #4] - extern char _end; - static char* heap_end; - char* prev_heap_end; - char* stack_ptr = (char*)0xffffffff; - 80296e8: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 80296ec: 60fb str r3, [r7, #12] - - if(heap_end == 0) - 80296ee: 4b12 ldr r3, [pc, #72] (8029738 <_sbrk+0x58>) - 80296f0: 681b ldr r3, [r3, #0] - 80296f2: 2b00 cmp r3, #0 - 80296f4: d102 bne.n 80296fc <_sbrk+0x1c> - heap_end = &_end; - 80296f6: 4a10 ldr r2, [pc, #64] (8029738 <_sbrk+0x58>) - 80296f8: 4b10 ldr r3, [pc, #64] (802973c <_sbrk+0x5c>) - 80296fa: 6013 str r3, [r2, #0] - prev_heap_end = heap_end; - 80296fc: 4b0e ldr r3, [pc, #56] (8029738 <_sbrk+0x58>) - 80296fe: 681b ldr r3, [r3, #0] - 8029700: 60bb str r3, [r7, #8] - if( heap_end + incr > stack_ptr) - 8029702: 4b0d ldr r3, [pc, #52] (8029738 <_sbrk+0x58>) - 8029704: 681a ldr r2, [r3, #0] - 8029706: 687b ldr r3, [r7, #4] - 8029708: 441a add r2, r3 - 802970a: 68fb ldr r3, [r7, #12] - 802970c: 429a cmp r2, r3 - 802970e: d906 bls.n 802971e <_sbrk+0x3e> - { - write(1, "Heap and stack collision\n", 25); - 8029710: f04f 0001 mov.w r0, #1 ; 0x1 - 8029714: 490a ldr r1, [pc, #40] (8029740 <_sbrk+0x60>) - 8029716: f04f 0219 mov.w r2, #25 ; 0x19 - 802971a: f009 fd7d bl 8033218 - // abort(); - } - - heap_end += incr; - 802971e: 4b06 ldr r3, [pc, #24] (8029738 <_sbrk+0x58>) - 8029720: 681a ldr r2, [r3, #0] - 8029722: 687b ldr r3, [r7, #4] - 8029724: 441a add r2, r3 - 8029726: 4b04 ldr r3, [pc, #16] (8029738 <_sbrk+0x58>) - 8029728: 601a str r2, [r3, #0] - return (caddr_t)prev_heap_end; - 802972a: 68bb ldr r3, [r7, #8] -} - 802972c: 4618 mov r0, r3 - 802972e: f107 0710 add.w r7, r7, #16 ; 0x10 - 8029732: 46bd mov sp, r7 - 8029734: bd80 pop {r7, pc} - 8029736: 46c0 nop (mov r8, r8) - 8029738: 20000690 .word 0x20000690 - 802973c: 20000ee4 .word 0x20000ee4 - 8029740: 08034188 .word 0x08034188 - -08029744 <_times>: - -typedef struct tms tms; - -int _times(tms* buf) -{ - 8029744: b480 push {r7} - 8029746: b083 sub sp, #12 - 8029748: af00 add r7, sp, #0 - 802974a: 6078 str r0, [r7, #4] - return -1; - 802974c: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff -} - 8029750: 4618 mov r0, r3 - 8029752: f107 070c add.w r7, r7, #12 ; 0xc - 8029756: 46bd mov sp, r7 - 8029758: bc80 pop {r7} - 802975a: 4770 bx lr - -0802975c <_unlink>: - -int _unlink(char* name) -{ - 802975c: b480 push {r7} - 802975e: b083 sub sp, #12 - 8029760: af00 add r7, sp, #0 - 8029762: 6078 str r0, [r7, #4] - errno = ENOENT; - 8029764: 4a05 ldr r2, [pc, #20] (802977c <_unlink+0x20>) - 8029766: f04f 0302 mov.w r3, #2 ; 0x2 - 802976a: 6013 str r3, [r2, #0] - return -1; - 802976c: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff -} - 8029770: 4618 mov r0, r3 - 8029772: f107 070c add.w r7, r7, #12 ; 0xc - 8029776: 46bd mov sp, r7 - 8029778: bc80 pop {r7} - 802977a: 4770 bx lr - 802977c: 20000ee0 .word 0x20000ee0 - -08029780 <_wait>: - -int _wait(int* status) -{ - 8029780: b480 push {r7} - 8029782: b083 sub sp, #12 - 8029784: af00 add r7, sp, #0 - 8029786: 6078 str r0, [r7, #4] - errno = ECHILD; - 8029788: 4a05 ldr r2, [pc, #20] (80297a0 <_wait+0x20>) - 802978a: f04f 030a mov.w r3, #10 ; 0xa - 802978e: 6013 str r3, [r2, #0] - return -1; - 8029790: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff -} - 8029794: 4618 mov r0, r3 - 8029796: f107 070c add.w r7, r7, #12 ; 0xc - 802979a: 46bd mov sp, r7 - 802979c: bc80 pop {r7} - 802979e: 4770 bx lr - 80297a0: 20000ee0 .word 0x20000ee0 - -080297a4 <_write>: - -int _write(int file, char* ptr, int len) -{ - 80297a4: b480 push {r7} - 80297a6: b085 sub sp, #20 - 80297a8: af00 add r7, sp, #0 - 80297aa: 60f8 str r0, [r7, #12] - 80297ac: 60b9 str r1, [r7, #8] - 80297ae: 607a str r2, [r7, #4] - return len; - 80297b0: 687b ldr r3, [r7, #4] -} - 80297b2: 4618 mov r0, r3 - 80297b4: f107 0714 add.w r7, r7, #20 ; 0x14 - 80297b8: 46bd mov sp, r7 - 80297ba: bc80 pop {r7} - 80297bc: 4770 bx lr - 80297be: 46c0 nop (mov r8, r8) - 80297c0: 5cfc ldrb r4, [r7, r3] - 80297c2: 0803 lsrs r3, r0, #32 - 80297c4: 0000 lsls r0, r0, #0 - 80297c6: 2000 movs r0, #0 - 80297c8: 0554 lsls r4, r2, #21 - 80297ca: 2000 movs r0, #0 - 80297cc: 0554 lsls r4, r2, #21 - 80297ce: 2000 movs r0, #0 - 80297d0: 0ee4 lsrs r4, r4, #27 - 80297d2: 2000 movs r0, #0 - -080297d4 <__cxa_end_cleanup>: - 80297d4: b41e push {r1, r2, r3, r4} - 80297d6: f005 fd99 bl 802f30c <__gnu_end_cleanup> - 80297da: bc1e pop {r1, r2, r3, r4} - 80297dc: f004 fbd4 bl 802df88 <_Unwind_Resume> - -080297e0 : - 80297e0: b470 push {r4, r5, r6} - 80297e2: 461d mov r5, r3 - 80297e4: 1e4b subs r3, r1, #1 - 80297e6: 460e mov r6, r1 - 80297e8: 4614 mov r4, r2 - 80297ea: 2b34 cmp r3, #52 - 80297ec: d821 bhi.n 8029832 - 80297ee: e8df f003 tbb [pc, r3] - 80297f2: 3232 .short 0x3232 - 80297f4: 20203232 .word 0x20203232 - 80297f8: 32414120 .word 0x32414120 - 80297fc: 41414141 .word 0x41414141 - 8029800: 41414141 .word 0x41414141 - 8029804: 1c204141 .word 0x1c204141 - 8029808: 1c1c1c1c .word 0x1c1c1c1c - 802980c: 4141321c .word 0x4141321c - 8029810: 20414141 .word 0x20414141 - 8029814: 321b1c41 .word 0x321b1c41 - 8029818: 20204141 .word 0x20204141 - 802981c: 32323241 .word 0x32323241 - 8029820: 32323232 .word 0x32323232 - 8029824: 00324132 .word 0x00324132 - 8029828: b11d cbz r5, 8029832 - 802982a: 6941 ldr r1, [r0, #20] - 802982c: 6983 ldr r3, [r0, #24] - 802982e: 4299 cmp r1, r3 - 8029830: db02 blt.n 8029838 - 8029832: 2000 movs r0, #0 - 8029834: bc70 pop {r4, r5, r6} - 8029836: 4770 bx lr - 8029838: 008b lsls r3, r1, #2 - 802983a: 010a lsls r2, r1, #4 - 802983c: f8d0 c010 ldr.w ip, [r0, #16] - 8029840: 1ad2 subs r2, r2, r3 - 8029842: 1c4b adds r3, r1, #1 - 8029844: 6143 str r3, [r0, #20] - 8029846: eb1c 0002 adds.w r0, ip, r2 - 802984a: bf1e ittt ne - 802984c: f80c 6002 strbne.w r6, [ip, r2] - 8029850: 6044 strne r4, [r0, #4] - 8029852: 6085 strne r5, [r0, #8] - 8029854: e7ee b.n 8029834 - 8029856: f1d5 0301 rsbs r3, r5, #1 ; 0x1 - 802985a: bf38 it cc - 802985c: 2300 movcc r3, #0 - 802985e: 2c00 cmp r4, #0 - 8029860: bf08 it eq - 8029862: f043 0301 orreq.w r3, r3, #1 ; 0x1 - 8029866: 2b00 cmp r3, #0 - 8029868: d1e3 bne.n 8029832 - 802986a: 6941 ldr r1, [r0, #20] - 802986c: 6983 ldr r3, [r0, #24] - 802986e: 4299 cmp r1, r3 - 8029870: dadf bge.n 8029832 - 8029872: e7e1 b.n 8029838 - 8029874: 2c00 cmp r4, #0 - 8029876: d0dc beq.n 8029832 - 8029878: 6941 ldr r1, [r0, #20] - 802987a: 6983 ldr r3, [r0, #24] - 802987c: 4299 cmp r1, r3 - 802987e: dad8 bge.n 8029832 - 8029880: e7da b.n 8029838 - 8029882: 46c0 nop (mov r8, r8) - -08029884 : - 8029884: b410 push {r4} - 8029886: 68c1 ldr r1, [r0, #12] - 8029888: f891 c000 ldrb.w ip, [r1] - 802988c: f1bc 0f6e cmp.w ip, #110 ; 0x6e - 8029890: d01c beq.n 80298cc - 8029892: 2400 movs r4, #0 - 8029894: f1ac 0330 sub.w r3, ip, #48 ; 0x30 - 8029898: b2db uxtb r3, r3 - 802989a: 2b09 cmp r3, #9 - 802989c: d81c bhi.n 80298d8 - 802989e: 68c1 ldr r1, [r0, #12] - 80298a0: 2200 movs r2, #0 - 80298a2: 0053 lsls r3, r2, #1 - 80298a4: 3101 adds r1, #1 - 80298a6: 00d2 lsls r2, r2, #3 - 80298a8: 189b adds r3, r3, r2 - 80298aa: 60c1 str r1, [r0, #12] - 80298ac: 4463 add r3, ip - 80298ae: f891 c000 ldrb.w ip, [r1] - 80298b2: f1a3 0230 sub.w r2, r3, #48 ; 0x30 - 80298b6: f1ac 0330 sub.w r3, ip, #48 ; 0x30 - 80298ba: b2db uxtb r3, r3 - 80298bc: 2b09 cmp r3, #9 - 80298be: d9f0 bls.n 80298a2 - 80298c0: 4610 mov r0, r2 - 80298c2: b10c cbz r4, 80298c8 - 80298c4: f1c2 0000 rsb r0, r2, #0 ; 0x0 - 80298c8: bc10 pop {r4} - 80298ca: 4770 bx lr - 80298cc: 1c4b adds r3, r1, #1 - 80298ce: 60c3 str r3, [r0, #12] - 80298d0: f891 c001 ldrb.w ip, [r1, #1] - 80298d4: 2401 movs r4, #1 - 80298d6: e7dd b.n 8029894 - 80298d8: 2200 movs r2, #0 - 80298da: e7f1 b.n 80298c0 - -080298dc : - 80298dc: b510 push {r4, lr} - 80298de: 4604 mov r4, r0 - 80298e0: b931 cbnz r1, 80298f0 - 80298e2: 68c3 ldr r3, [r0, #12] - 80298e4: 7819 ldrb r1, [r3, #0] - 80298e6: b909 cbnz r1, 80298ec - 80298e8: 2000 movs r0, #0 - 80298ea: bd10 pop {r4, pc} - 80298ec: 3301 adds r3, #1 - 80298ee: 60c3 str r3, [r0, #12] - 80298f0: 2968 cmp r1, #104 - 80298f2: d00a beq.n 802990a - 80298f4: 2976 cmp r1, #118 - 80298f6: d1f7 bne.n 80298e8 - 80298f8: 4620 mov r0, r4 - 80298fa: f7ff ffc3 bl 8029884 - 80298fe: 68e2 ldr r2, [r4, #12] - 8029900: 7813 ldrb r3, [r2, #0] - 8029902: 2b5f cmp r3, #95 - 8029904: d1f0 bne.n 80298e8 - 8029906: 1c53 adds r3, r2, #1 - 8029908: 60e3 str r3, [r4, #12] - 802990a: 4620 mov r0, r4 - 802990c: f7ff ffba bl 8029884 - 8029910: 68e2 ldr r2, [r4, #12] - 8029912: 7813 ldrb r3, [r2, #0] - 8029914: 2b5f cmp r3, #95 - 8029916: d1e7 bne.n 80298e8 - 8029918: 1c53 adds r3, r2, #1 - 802991a: 60e3 str r3, [r4, #12] - 802991c: 2001 movs r0, #1 - 802991e: e7e4 b.n 80298ea - -08029920 : - 8029920: b570 push {r4, r5, r6, lr} - 8029922: 68c3 ldr r3, [r0, #12] - 8029924: 4616 mov r6, r2 - 8029926: 781a ldrb r2, [r3, #0] - 8029928: 4604 mov r4, r0 - 802992a: 460d mov r5, r1 - 802992c: 2a72 cmp r2, #114 - 802992e: bf14 ite ne - 8029930: 2100 movne r1, #0 - 8029932: 2101 moveq r1, #1 - 8029934: 2a56 cmp r2, #86 - 8029936: bf14 ite ne - 8029938: 2000 movne r0, #0 - 802993a: 2001 moveq r0, #1 - 802993c: ea51 0c00 orrs.w ip, r1, r0 - 8029940: d128 bne.n 8029994 - 8029942: 2a4b cmp r2, #75 - 8029944: d124 bne.n 8029990 - 8029946: 3301 adds r3, #1 - 8029948: 60e3 str r3, [r4, #12] - 802994a: b988 cbnz r0, 8029970 - 802994c: 6b23 ldr r3, [r4, #48] - 802994e: 2e00 cmp r6, #0 - 8029950: bf14 ite ne - 8029952: 211b movne r1, #27 - 8029954: 2118 moveq r1, #24 - 8029956: 3306 adds r3, #6 - 8029958: 6323 str r3, [r4, #48] - 802995a: 2200 movs r2, #0 - 802995c: 4620 mov r0, r4 - 802995e: 4613 mov r3, r2 - 8029960: f7ff ff3e bl 80297e0 - 8029964: 6028 str r0, [r5, #0] - 8029966: b190 cbz r0, 802998e - 8029968: 68e3 ldr r3, [r4, #12] - 802996a: 1d05 adds r5, r0, #4 - 802996c: 781a ldrb r2, [r3, #0] - 802996e: e7dd b.n 802992c - 8029970: 6b23 ldr r3, [r4, #48] - 8029972: 2200 movs r2, #0 - 8029974: 3309 adds r3, #9 - 8029976: 6323 str r3, [r4, #48] - 8029978: 2e00 cmp r6, #0 - 802997a: bf14 ite ne - 802997c: 211a movne r1, #26 - 802997e: 2117 moveq r1, #23 - 8029980: 4620 mov r0, r4 - 8029982: 4613 mov r3, r2 - 8029984: f7ff ff2c bl 80297e0 - 8029988: 6028 str r0, [r5, #0] - 802998a: 2800 cmp r0, #0 - 802998c: d1ec bne.n 8029968 - 802998e: 4605 mov r5, r0 - 8029990: 4628 mov r0, r5 - 8029992: bd70 pop {r4, r5, r6, pc} - 8029994: 3301 adds r3, #1 - 8029996: 60e3 str r3, [r4, #12] - 8029998: 2900 cmp r1, #0 - 802999a: d0d6 beq.n 802994a - 802999c: 6b23 ldr r3, [r4, #48] - 802999e: 2e00 cmp r6, #0 - 80299a0: bf14 ite ne - 80299a2: 2119 movne r1, #25 - 80299a4: 2116 moveq r1, #22 - 80299a6: 3309 adds r3, #9 - 80299a8: 6323 str r3, [r4, #48] - 80299aa: e7d6 b.n 802995a - -080299ac : - 80299ac: b530 push {r4, r5, lr} - 80299ae: 68c2 ldr r2, [r0, #12] - 80299b0: b081 sub sp, #4 - 80299b2: 7813 ldrb r3, [r2, #0] - 80299b4: 4604 mov r4, r0 - 80299b6: 2b54 cmp r3, #84 - 80299b8: d002 beq.n 80299c0 - 80299ba: 2000 movs r0, #0 - 80299bc: b001 add sp, #4 - 80299be: bd30 pop {r4, r5, pc} - 80299c0: 1c51 adds r1, r2, #1 - 80299c2: 60c1 str r1, [r0, #12] - 80299c4: 7853 ldrb r3, [r2, #1] - 80299c6: 2b5f cmp r3, #95 - 80299c8: d119 bne.n 80299fe - 80299ca: 2500 movs r5, #0 - 80299cc: 1c4b adds r3, r1, #1 - 80299ce: 6aa2 ldr r2, [r4, #40] - 80299d0: 60e3 str r3, [r4, #12] - 80299d2: f8d4 c014 ldr.w ip, [r4, #20] - 80299d6: 69a3 ldr r3, [r4, #24] - 80299d8: 3201 adds r2, #1 - 80299da: 459c cmp ip, r3 - 80299dc: 62a2 str r2, [r4, #40] - 80299de: daec bge.n 80299ba - 80299e0: ea4f 038c mov.w r3, ip, lsl #2 - 80299e4: ea4f 120c mov.w r2, ip, lsl #4 - 80299e8: 6921 ldr r1, [r4, #16] - 80299ea: 1ad2 subs r2, r2, r3 - 80299ec: 1888 adds r0, r1, r2 - 80299ee: f10c 0301 add.w r3, ip, #1 ; 0x1 - 80299f2: 6163 str r3, [r4, #20] - 80299f4: d0e2 beq.n 80299bc - 80299f6: 2305 movs r3, #5 - 80299f8: 548b strb r3, [r1, r2] - 80299fa: 6045 str r5, [r0, #4] - 80299fc: e7de b.n 80299bc - 80299fe: f7ff ff41 bl 8029884 - 8029a02: 2800 cmp r0, #0 - 8029a04: dbd9 blt.n 80299ba - 8029a06: 68e1 ldr r1, [r4, #12] - 8029a08: 780b ldrb r3, [r1, #0] - 8029a0a: 2b5f cmp r3, #95 - 8029a0c: d1d5 bne.n 80299ba - 8029a0e: 1c45 adds r5, r0, #1 - 8029a10: e7dc b.n 80299cc - 8029a12: 46c0 nop (mov r8, r8) - -08029a14 : - 8029a14: e92d 05f0 stmdb sp!, {r4, r5, r6, r7, r8, sl} - 8029a18: 68c2 ldr r2, [r0, #12] - 8029a1a: 460c mov r4, r1 - 8029a1c: 7813 ldrb r3, [r2, #0] - 8029a1e: 2b53 cmp r3, #83 - 8029a20: d003 beq.n 8029a2a - 8029a22: 2000 movs r0, #0 - 8029a24: e8bd 05f0 ldmia.w sp!, {r4, r5, r6, r7, r8, sl} - 8029a28: 4770 bx lr - 8029a2a: 1c53 adds r3, r2, #1 - 8029a2c: 60c3 str r3, [r0, #12] - 8029a2e: 7851 ldrb r1, [r2, #1] - 8029a30: bb39 cbnz r1, 8029a82 - 8029a32: 6883 ldr r3, [r0, #8] - 8029a34: 08db lsrs r3, r3, #3 - 8029a36: f013 0701 ands.w r7, r3, #1 ; 0x1 - 8029a3a: bf14 ite ne - 8029a3c: 2200 movne r2, #0 - 8029a3e: 2201 moveq r2, #1 - 8029a40: 2c00 cmp r4, #0 - 8029a42: bf0c ite eq - 8029a44: 2200 moveq r2, #0 - 8029a46: f002 0201 andne.w r2, r2, #1 ; 0x1 - 8029a4a: b13a cbz r2, 8029a5c - 8029a4c: 68c2 ldr r2, [r0, #12] - 8029a4e: 7813 ldrb r3, [r2, #0] - 8029a50: 3b43 subs r3, #67 - 8029a52: b2db uxtb r3, r3 - 8029a54: 2b01 cmp r3, #1 - 8029a56: bf8c ite hi - 8029a58: 2700 movhi r7, #0 - 8029a5a: 2701 movls r7, #1 - 8029a5c: 4a51 ldr r2, [pc, #324] (8029ba4 ) - 8029a5e: f1b2 03c4 subs.w r3, r2, #196 ; 0xc4 - 8029a62: d3de bcc.n 8029a22 - 8029a64: 2974 cmp r1, #116 - 8029a66: bf08 it eq - 8029a68: 469c moveq ip, r3 - 8029a6a: d04f beq.n 8029b0c - 8029a6c: 469c mov ip, r3 - 8029a6e: e003 b.n 8029a78 - 8029a70: f89c 3000 ldrb.w r3, [ip] - 8029a74: 428b cmp r3, r1 - 8029a76: d049 beq.n 8029b0c - 8029a78: f10c 0c1c add.w ip, ip, #28 ; 0x1c - 8029a7c: 4594 cmp ip, r2 - 8029a7e: d1f7 bne.n 8029a70 - 8029a80: e7cf b.n 8029a22 - 8029a82: 3301 adds r3, #1 - 8029a84: f1a1 0c30 sub.w ip, r1, #48 ; 0x30 - 8029a88: 60c3 str r3, [r0, #12] - 8029a8a: fa5f f38c uxtb.w r3, ip - 8029a8e: 2b09 cmp r3, #9 - 8029a90: bf8c ite hi - 8029a92: 2300 movhi r3, #0 - 8029a94: 2301 movls r3, #1 - 8029a96: 295f cmp r1, #95 - 8029a98: bf08 it eq - 8029a9a: f043 0301 orreq.w r3, r3, #1 ; 0x1 - 8029a9e: 2b00 cmp r3, #0 - 8029aa0: d079 beq.n 8029b96 - 8029aa2: 295f cmp r1, #95 - 8029aa4: d030 beq.n 8029b08 - 8029aa6: fa5f f38c uxtb.w r3, ip - 8029aaa: 2200 movs r2, #0 - 8029aac: 2b09 cmp r3, #9 - 8029aae: d814 bhi.n 8029ada - 8029ab0: 0093 lsls r3, r2, #2 - 8029ab2: 0152 lsls r2, r2, #5 - 8029ab4: 189b adds r3, r3, r2 - 8029ab6: 185b adds r3, r3, r1 - 8029ab8: f1a3 0230 sub.w r2, r3, #48 ; 0x30 - 8029abc: 2a00 cmp r2, #0 - 8029abe: dbb0 blt.n 8029a22 - 8029ac0: 68c3 ldr r3, [r0, #12] - 8029ac2: 7819 ldrb r1, [r3, #0] - 8029ac4: b119 cbz r1, 8029ace - 8029ac6: 3301 adds r3, #1 - 8029ac8: 295f cmp r1, #95 - 8029aca: 60c3 str r3, [r0, #12] - 8029acc: d011 beq.n 8029af2 - 8029ace: f1a1 0c30 sub.w ip, r1, #48 ; 0x30 - 8029ad2: fa5f f38c uxtb.w r3, ip - 8029ad6: 2b09 cmp r3, #9 - 8029ad8: d9ea bls.n 8029ab0 - 8029ada: f1a1 0341 sub.w r3, r1, #65 ; 0x41 - 8029ade: b2db uxtb r3, r3 - 8029ae0: 2b19 cmp r3, #25 - 8029ae2: d89e bhi.n 8029a22 - 8029ae4: 0093 lsls r3, r2, #2 - 8029ae6: 0152 lsls r2, r2, #5 - 8029ae8: 189b adds r3, r3, r2 - 8029aea: 185b adds r3, r3, r1 - 8029aec: f1a3 0237 sub.w r2, r3, #55 ; 0x37 - 8029af0: e7e4 b.n 8029abc - 8029af2: 1c51 adds r1, r2, #1 - 8029af4: 6a03 ldr r3, [r0, #32] - 8029af6: 4299 cmp r1, r3 - 8029af8: da93 bge.n 8029a22 - 8029afa: 6a83 ldr r3, [r0, #40] - 8029afc: 69c2 ldr r2, [r0, #28] - 8029afe: 3301 adds r3, #1 - 8029b00: 6283 str r3, [r0, #40] - 8029b02: f852 0021 ldr.w r0, [r2, r1, lsl #2] - 8029b06: e78d b.n 8029a24 - 8029b08: 395f subs r1, #95 - 8029b0a: e7f3 b.n 8029af4 - 8029b0c: f8dc a014 ldr.w sl, [ip, #20] - 8029b10: f1ba 0f00 cmp.w sl, #0 ; 0x0 - 8029b14: d03c beq.n 8029b90 - 8029b16: 6945 ldr r5, [r0, #20] - 8029b18: 6986 ldr r6, [r0, #24] - 8029b1a: f8dc 8018 ldr.w r8, [ip, #24] - 8029b1e: 42b5 cmp r5, r6 - 8029b20: db1c blt.n 8029b5c - 8029b22: 2200 movs r2, #0 - 8029b24: 62c2 str r2, [r0, #44] - 8029b26: 2f00 cmp r7, #0 - 8029b28: d02d beq.n 8029b86 - 8029b2a: f8dc 400c ldr.w r4, [ip, #12] - 8029b2e: f8dc c010 ldr.w ip, [ip, #16] - 8029b32: 6b03 ldr r3, [r0, #48] - 8029b34: 42b5 cmp r5, r6 - 8029b36: 4463 add r3, ip - 8029b38: 6303 str r3, [r0, #48] - 8029b3a: f6bf af72 bge.w 8029a22 - 8029b3e: 00ab lsls r3, r5, #2 - 8029b40: 012a lsls r2, r5, #4 - 8029b42: 6901 ldr r1, [r0, #16] - 8029b44: 1ad2 subs r2, r2, r3 - 8029b46: 1c6b adds r3, r5, #1 - 8029b48: 6143 str r3, [r0, #20] - 8029b4a: 1888 adds r0, r1, r2 - 8029b4c: f43f af6a beq.w 8029a24 - 8029b50: 2315 movs r3, #21 - 8029b52: 548b strb r3, [r1, r2] - 8029b54: 6044 str r4, [r0, #4] - 8029b56: f8c0 c008 str.w ip, [r0, #8] - 8029b5a: e763 b.n 8029a24 - 8029b5c: 012b lsls r3, r5, #4 - 8029b5e: 00aa lsls r2, r5, #2 - 8029b60: 6901 ldr r1, [r0, #16] - 8029b62: ebc2 0403 rsb r4, r2, r3 - 8029b66: 1c6b adds r3, r5, #1 - 8029b68: 190a adds r2, r1, r4 - 8029b6a: 6143 str r3, [r0, #20] - 8029b6c: bf08 it eq - 8029b6e: 461d moveq r5, r3 - 8029b70: d0d8 beq.n 8029b24 - 8029b72: f8c2 a004 str.w sl, [r2, #4] - 8029b76: f8c2 8008 str.w r8, [r2, #8] - 8029b7a: 2315 movs r3, #21 - 8029b7c: 550b strb r3, [r1, r4] - 8029b7e: 6945 ldr r5, [r0, #20] - 8029b80: 6986 ldr r6, [r0, #24] - 8029b82: 62c2 str r2, [r0, #44] - 8029b84: e7cf b.n 8029b26 - 8029b86: f8dc 4004 ldr.w r4, [ip, #4] - 8029b8a: f8dc c008 ldr.w ip, [ip, #8] - 8029b8e: e7d0 b.n 8029b32 - 8029b90: 6945 ldr r5, [r0, #20] - 8029b92: 6986 ldr r6, [r0, #24] - 8029b94: e7c7 b.n 8029b26 - 8029b96: f1a1 0341 sub.w r3, r1, #65 ; 0x41 - 8029b9a: b2db uxtb r3, r3 - 8029b9c: 2b19 cmp r3, #25 - 8029b9e: d982 bls.n 8029aa6 - 8029ba0: e747 b.n 8029a32 - 8029ba2: 46c0 nop (mov r8, r8) - 8029ba4: 08034790 .word 0x08034790 - -08029ba8 : - 8029ba8: b570 push {r4, r5, r6, lr} - 8029baa: 460e mov r6, r1 - 8029bac: f8d0 1104 ldr.w r1, [r0, #260] - 8029bb0: 4605 mov r5, r0 - 8029bb2: 29ff cmp r1, #255 - 8029bb4: d008 beq.n 8029bc8 - 8029bb6: eb05 0301 add.w r3, r5, r1 - 8029bba: 1c4a adds r2, r1, #1 - 8029bbc: 711e strb r6, [r3, #4] - 8029bbe: f8c5 2104 str.w r2, [r5, #260] - 8029bc2: f885 6108 strb.w r6, [r5, #264] - 8029bc6: bd70 pop {r4, r5, r6, pc} - 8029bc8: 2400 movs r4, #0 - 8029bca: f880 4103 strb.w r4, [r0, #259] - 8029bce: f8d5 2110 ldr.w r2, [r5, #272] - 8029bd2: 3004 adds r0, #4 - 8029bd4: f8d5 310c ldr.w r3, [r5, #268] - 8029bd8: 4798 blx r3 - 8029bda: f8c5 4104 str.w r4, [r5, #260] - 8029bde: 4621 mov r1, r4 - 8029be0: e7e9 b.n 8029bb6 - 8029be2: 46c0 nop (mov r8, r8) - -08029be4 : - 8029be4: b570 push {r4, r5, r6, lr} - 8029be6: 4604 mov r4, r0 - 8029be8: f7ff fe4c bl 8029884 - 8029bec: 2800 cmp r0, #0 - 8029bee: 4605 mov r5, r0 - 8029bf0: dd30 ble.n 8029c54 - 8029bf2: 68e6 ldr r6, [r4, #12] - 8029bf4: 6863 ldr r3, [r4, #4] - 8029bf6: 1b9b subs r3, r3, r6 - 8029bf8: 4298 cmp r0, r3 - 8029bfa: dd02 ble.n 8029c02 - 8029bfc: 2000 movs r0, #0 - 8029bfe: 62e0 str r0, [r4, #44] - 8029c00: bd70 pop {r4, r5, r6, pc} - 8029c02: 68a3 ldr r3, [r4, #8] - 8029c04: eb06 0200 add.w r2, r6, r0 - 8029c08: f013 0f04 tst.w r3, #4 ; 0x4 - 8029c0c: 60e2 str r2, [r4, #12] - 8029c0e: d004 beq.n 8029c1a - 8029c10: 5c33 ldrb r3, [r6, r0] - 8029c12: 2b24 cmp r3, #36 - 8029c14: d101 bne.n 8029c1a - 8029c16: 1c53 adds r3, r2, #1 - 8029c18: 60e3 str r3, [r4, #12] - 8029c1a: 2d09 cmp r5, #9 - 8029c1c: dc1c bgt.n 8029c58 - 8029c1e: 6961 ldr r1, [r4, #20] - 8029c20: 69a3 ldr r3, [r4, #24] - 8029c22: 4299 cmp r1, r3 - 8029c24: daea bge.n 8029bfc - 8029c26: 008a lsls r2, r1, #2 - 8029c28: 010b lsls r3, r1, #4 - 8029c2a: ebc2 0c03 rsb ip, r2, r3 - 8029c2e: 6922 ldr r2, [r4, #16] - 8029c30: 1c4b adds r3, r1, #1 - 8029c32: eb12 000c adds.w r0, r2, ip - 8029c36: 6163 str r3, [r4, #20] - 8029c38: bf14 ite ne - 8029c3a: 2300 movne r3, #0 - 8029c3c: 2301 moveq r3, #1 - 8029c3e: 2e00 cmp r6, #0 - 8029c40: bf08 it eq - 8029c42: f043 0301 orreq.w r3, r3, #1 ; 0x1 - 8029c46: 2b00 cmp r3, #0 - 8029c48: d1d8 bne.n 8029bfc - 8029c4a: f802 300c strb.w r3, [r2, ip] - 8029c4e: 6046 str r6, [r0, #4] - 8029c50: 6085 str r5, [r0, #8] - 8029c52: e7d4 b.n 8029bfe - 8029c54: 2000 movs r0, #0 - 8029c56: e7d3 b.n 8029c00 - 8029c58: 4630 mov r0, r6 - 8029c5a: 4919 ldr r1, [pc, #100] (8029cc0 ) - 8029c5c: 2208 movs r2, #8 - 8029c5e: f008 feeb bl 8032a38 - 8029c62: 2800 cmp r0, #0 - 8029c64: d1db bne.n 8029c1e - 8029c66: 7a32 ldrb r2, [r6, #8] - 8029c68: f106 0108 add.w r1, r6, #8 ; 0x8 - 8029c6c: 2a5f cmp r2, #95 - 8029c6e: bf14 ite ne - 8029c70: 2300 movne r3, #0 - 8029c72: 2301 moveq r3, #1 - 8029c74: 2a2e cmp r2, #46 - 8029c76: bf08 it eq - 8029c78: f043 0301 orreq.w r3, r3, #1 ; 0x1 - 8029c7c: b1e3 cbz r3, 8029cb8 - 8029c7e: 784b ldrb r3, [r1, #1] - 8029c80: 2b4e cmp r3, #78 - 8029c82: d1cc bne.n 8029c1e - 8029c84: 6b23 ldr r3, [r4, #48] - 8029c86: 6961 ldr r1, [r4, #20] - 8029c88: 3316 adds r3, #22 - 8029c8a: 1b5b subs r3, r3, r5 - 8029c8c: 6323 str r3, [r4, #48] - 8029c8e: 69a3 ldr r3, [r4, #24] - 8029c90: 4299 cmp r1, r3 - 8029c92: dab3 bge.n 8029bfc - 8029c94: 008b lsls r3, r1, #2 - 8029c96: 010a lsls r2, r1, #4 - 8029c98: f8d4 c010 ldr.w ip, [r4, #16] - 8029c9c: 1ad2 subs r2, r2, r3 - 8029c9e: 1c4b adds r3, r1, #1 - 8029ca0: eb1c 0002 adds.w r0, ip, r2 - 8029ca4: 6163 str r3, [r4, #20] - 8029ca6: d0aa beq.n 8029bfe - 8029ca8: 2300 movs r3, #0 - 8029caa: f80c 3002 strb.w r3, [ip, r2] - 8029cae: 4a05 ldr r2, [pc, #20] (8029cc4 ) - 8029cb0: 3315 adds r3, #21 - 8029cb2: 6042 str r2, [r0, #4] - 8029cb4: 6083 str r3, [r0, #8] - 8029cb6: e7a2 b.n 8029bfe - 8029cb8: 2a24 cmp r2, #36 - 8029cba: d1b0 bne.n 8029c1e - 8029cbc: e7df b.n 8029c7e - 8029cbe: 46c0 nop (mov r8, r8) - 8029cc0: 08034ed8 .word 0x08034ed8 - 8029cc4: 08034ee4 .word 0x08034ee4 - -08029cc8 : - 8029cc8: b5f0 push {r4, r5, r6, r7, lr} - 8029cca: 4605 mov r5, r0 - 8029ccc: 68c0 ldr r0, [r0, #12] - 8029cce: b083 sub sp, #12 - 8029cd0: 7801 ldrb r1, [r0, #0] - 8029cd2: 2956 cmp r1, #86 - 8029cd4: bf14 ite ne - 8029cd6: 2300 movne r3, #0 - 8029cd8: 2301 moveq r3, #1 - 8029cda: 2972 cmp r1, #114 - 8029cdc: bf08 it eq - 8029cde: f043 0301 orreq.w r3, r3, #1 ; 0x1 - 8029ce2: b90b cbnz r3, 8029ce8 - 8029ce4: 294b cmp r1, #75 - 8029ce6: d11d bne.n 8029d24 - 8029ce8: 4628 mov r0, r5 - 8029cea: a901 add r1, sp, #4 - 8029cec: 2200 movs r2, #0 - 8029cee: f7ff fe17 bl 8029920 - 8029cf2: 4604 mov r4, r0 - 8029cf4: b910 cbnz r0, 8029cfc - 8029cf6: 2000 movs r0, #0 - 8029cf8: b003 add sp, #12 - 8029cfa: bdf0 pop {r4, r5, r6, r7, pc} - 8029cfc: 4628 mov r0, r5 - 8029cfe: f7ff ffe3 bl 8029cc8 - 8029d02: 6020 str r0, [r4, #0] - 8029d04: 2800 cmp r0, #0 - 8029d06: d0f6 beq.n 8029cf6 - 8029d08: 9901 ldr r1, [sp, #4] - 8029d0a: 2900 cmp r1, #0 - 8029d0c: d0f3 beq.n 8029cf6 - 8029d0e: 6a2a ldr r2, [r5, #32] - 8029d10: 6a6b ldr r3, [r5, #36] - 8029d12: 429a cmp r2, r3 - 8029d14: daef bge.n 8029cf6 - 8029d16: 69eb ldr r3, [r5, #28] - 8029d18: f843 1022 str.w r1, [r3, r2, lsl #2] - 8029d1c: 3201 adds r2, #1 - 8029d1e: 622a str r2, [r5, #32] - 8029d20: 9801 ldr r0, [sp, #4] - 8029d22: e7e9 b.n 8029cf8 - 8029d24: f1a1 0330 sub.w r3, r1, #48 ; 0x30 - 8029d28: 2b4a cmp r3, #74 - 8029d2a: d8e4 bhi.n 8029cf6 - 8029d2c: a201 add r2, pc, #4 (adr r2, 8029d34 ) - 8029d2e: f852 f023 ldr.w pc, [r2, r3, lsl #2] - 8029d32: 46c0 nop (mov r8, r8) - 8029d34: 0802a0d3 .word 0x0802a0d3 - 8029d38: 0802a0d3 .word 0x0802a0d3 - 8029d3c: 0802a0d3 .word 0x0802a0d3 - 8029d40: 0802a0d3 .word 0x0802a0d3 - 8029d44: 0802a0d3 .word 0x0802a0d3 - 8029d48: 0802a0d3 .word 0x0802a0d3 - 8029d4c: 0802a0d3 .word 0x0802a0d3 - 8029d50: 0802a0d3 .word 0x0802a0d3 - 8029d54: 0802a0d3 .word 0x0802a0d3 - 8029d58: 0802a0d3 .word 0x0802a0d3 - 8029d5c: 08029cf7 .word 0x08029cf7 - 8029d60: 08029cf7 .word 0x08029cf7 - 8029d64: 08029cf7 .word 0x08029cf7 - 8029d68: 08029cf7 .word 0x08029cf7 - 8029d6c: 08029cf7 .word 0x08029cf7 - 8029d70: 08029cf7 .word 0x08029cf7 - 8029d74: 08029cf7 .word 0x08029cf7 - 8029d78: 0802a061 .word 0x0802a061 - 8029d7c: 08029cf7 .word 0x08029cf7 - 8029d80: 0802a047 .word 0x0802a047 - 8029d84: 08029cf7 .word 0x08029cf7 - 8029d88: 08029cf7 .word 0x08029cf7 - 8029d8c: 0802a023 .word 0x0802a023 - 8029d90: 0802a009 .word 0x0802a009 - 8029d94: 08029cf7 .word 0x08029cf7 - 8029d98: 08029cf7 .word 0x08029cf7 - 8029d9c: 08029cf7 .word 0x08029cf7 - 8029da0: 08029cf7 .word 0x08029cf7 - 8029da4: 08029cf7 .word 0x08029cf7 - 8029da8: 08029fe5 .word 0x08029fe5 - 8029dac: 0802a0d3 .word 0x0802a0d3 - 8029db0: 08029fcb .word 0x08029fcb - 8029db4: 08029fb1 .word 0x08029fb1 - 8029db8: 08029cf7 .word 0x08029cf7 - 8029dbc: 08029f97 .word 0x08029f97 - 8029dc0: 08029f47 .word 0x08029f47 - 8029dc4: 08029f05 .word 0x08029f05 - 8029dc8: 08029ee3 .word 0x08029ee3 - 8029dcc: 08029cf7 .word 0x08029cf7 - 8029dd0: 08029cf7 .word 0x08029cf7 - 8029dd4: 08029cf7 .word 0x08029cf7 - 8029dd8: 08029cf7 .word 0x08029cf7 - 8029ddc: 0802a0d3 .word 0x0802a0d3 - 8029de0: 08029cf7 .word 0x08029cf7 - 8029de4: 08029cf7 .word 0x08029cf7 - 8029de8: 08029cf7 .word 0x08029cf7 - 8029dec: 08029cf7 .word 0x08029cf7 - 8029df0: 08029cf7 .word 0x08029cf7 - 8029df4: 08029cf7 .word 0x08029cf7 - 8029df8: 08029e99 .word 0x08029e99 - 8029dfc: 08029e99 .word 0x08029e99 - 8029e00: 08029e99 .word 0x08029e99 - 8029e04: 08029e99 .word 0x08029e99 - 8029e08: 08029e99 .word 0x08029e99 - 8029e0c: 08029e99 .word 0x08029e99 - 8029e10: 08029e99 .word 0x08029e99 - 8029e14: 08029e99 .word 0x08029e99 - 8029e18: 08029e99 .word 0x08029e99 - 8029e1c: 08029e99 .word 0x08029e99 - 8029e20: 08029cf7 .word 0x08029cf7 - 8029e24: 08029e99 .word 0x08029e99 - 8029e28: 08029e99 .word 0x08029e99 - 8029e2c: 08029e99 .word 0x08029e99 - 8029e30: 08029e99 .word 0x08029e99 - 8029e34: 08029cf7 .word 0x08029cf7 - 8029e38: 08029cf7 .word 0x08029cf7 - 8029e3c: 08029cf7 .word 0x08029cf7 - 8029e40: 08029e99 .word 0x08029e99 - 8029e44: 08029e99 .word 0x08029e99 - 8029e48: 08029e61 .word 0x08029e61 - 8029e4c: 08029e99 .word 0x08029e99 - 8029e50: 08029e99 .word 0x08029e99 - 8029e54: 08029e99 .word 0x08029e99 - 8029e58: 08029e99 .word 0x08029e99 - 8029e5c: 08029e99 .word 0x08029e99 - 8029e60: 1c43 adds r3, r0, #1 - 8029e62: 60eb str r3, [r5, #12] - 8029e64: 4628 mov r0, r5 - 8029e66: f7ff febd bl 8029be4 - 8029e6a: 2123 movs r1, #35 - 8029e6c: 4602 mov r2, r0 - 8029e6e: 2300 movs r3, #0 - 8029e70: 4628 mov r0, r5 - 8029e72: f7ff fcb5 bl 80297e0 - 8029e76: 9001 str r0, [sp, #4] - 8029e78: 9801 ldr r0, [sp, #4] - 8029e7a: 2800 cmp r0, #0 - 8029e7c: f43f af3b beq.w 8029cf6 - 8029e80: 6a2a ldr r2, [r5, #32] - 8029e82: 6a6b ldr r3, [r5, #36] - 8029e84: 429a cmp r2, r3 - 8029e86: f6bf af36 bge.w 8029cf6 - 8029e8a: 69eb ldr r3, [r5, #28] - 8029e8c: f843 0022 str.w r0, [r3, r2, lsl #2] - 8029e90: 3201 adds r2, #1 - 8029e92: 622a str r2, [r5, #32] - 8029e94: 9801 ldr r0, [sp, #4] - 8029e96: e72f b.n 8029cf8 - 8029e98: 008b lsls r3, r1, #2 - 8029e9a: 4aaf ldr r2, [pc, #700] (802a158 ) - 8029e9c: 0109 lsls r1, r1, #4 - 8029e9e: 185b adds r3, r3, r1 - 8029ea0: 189c adds r4, r3, r2 - 8029ea2: f000 811b beq.w 802a0dc - 8029ea6: 6969 ldr r1, [r5, #20] - 8029ea8: 69ab ldr r3, [r5, #24] - 8029eaa: 4299 cmp r1, r3 - 8029eac: f280 8116 bge.w 802a0dc - 8029eb0: 008b lsls r3, r1, #2 - 8029eb2: 010a lsls r2, r1, #4 - 8029eb4: f8d5 c010 ldr.w ip, [r5, #16] - 8029eb8: 1ad2 subs r2, r2, r3 - 8029eba: 1c4b adds r3, r1, #1 - 8029ebc: eb1c 0102 adds.w r1, ip, r2 - 8029ec0: 616b str r3, [r5, #20] - 8029ec2: d004 beq.n 8029ece - 8029ec4: 604c str r4, [r1, #4] - 8029ec6: 2322 movs r3, #34 - 8029ec8: 68e8 ldr r0, [r5, #12] - 8029eca: f80c 3002 strb.w r3, [ip, r2] - 8029ece: 9101 str r1, [sp, #4] - 8029ed0: 6849 ldr r1, [r1, #4] - 8029ed2: 6b2b ldr r3, [r5, #48] - 8029ed4: 684a ldr r2, [r1, #4] - 8029ed6: 189b adds r3, r3, r2 - 8029ed8: 1c42 adds r2, r0, #1 - 8029eda: 632b str r3, [r5, #48] - 8029edc: 60ea str r2, [r5, #12] - 8029ede: 9801 ldr r0, [sp, #4] - 8029ee0: e70a b.n 8029cf8 - 8029ee2: 1c43 adds r3, r0, #1 - 8029ee4: 60eb str r3, [r5, #12] - 8029ee6: 4628 mov r0, r5 - 8029ee8: f7ff fe7c bl 8029be4 - 8029eec: 9001 str r0, [sp, #4] - 8029eee: 4628 mov r0, r5 - 8029ef0: f7ff feea bl 8029cc8 - 8029ef4: 211c movs r1, #28 - 8029ef6: 4602 mov r2, r0 - 8029ef8: 9b01 ldr r3, [sp, #4] - 8029efa: 4628 mov r0, r5 - 8029efc: f7ff fc70 bl 80297e0 - 8029f00: 9001 str r0, [sp, #4] - 8029f02: e7b9 b.n 8029e78 - 8029f04: 4628 mov r0, r5 - 8029f06: f7ff fd51 bl 80299ac - 8029f0a: 68eb ldr r3, [r5, #12] - 8029f0c: 9001 str r0, [sp, #4] - 8029f0e: 781a ldrb r2, [r3, #0] - 8029f10: 2a49 cmp r2, #73 - 8029f12: d1b1 bne.n 8029e78 - 8029f14: 2800 cmp r0, #0 - 8029f16: f43f aeee beq.w 8029cf6 - 8029f1a: 6a2a ldr r2, [r5, #32] - 8029f1c: 6a6b ldr r3, [r5, #36] - 8029f1e: 429a cmp r2, r3 - 8029f20: f6bf aee9 bge.w 8029cf6 - 8029f24: 69eb ldr r3, [r5, #28] - 8029f26: f843 0022 str.w r0, [r3, r2, lsl #2] - 8029f2a: 3201 adds r2, #1 - 8029f2c: 622a str r2, [r5, #32] - 8029f2e: 4628 mov r0, r5 - 8029f30: 9c01 ldr r4, [sp, #4] - 8029f32: f000 fe45 bl 802abc0 - 8029f36: 2104 movs r1, #4 - 8029f38: 4603 mov r3, r0 - 8029f3a: 4622 mov r2, r4 - 8029f3c: 4628 mov r0, r5 - 8029f3e: f7ff fc4f bl 80297e0 - 8029f42: 9001 str r0, [sp, #4] - 8029f44: e798 b.n 8029e78 - 8029f46: 7841 ldrb r1, [r0, #1] - 8029f48: f1a1 0230 sub.w r2, r1, #48 ; 0x30 - 8029f4c: b2d2 uxtb r2, r2 - 8029f4e: 295f cmp r1, #95 - 8029f50: bf14 ite ne - 8029f52: 2300 movne r3, #0 - 8029f54: 2301 moveq r3, #1 - 8029f56: 2a09 cmp r2, #9 - 8029f58: bf98 it ls - 8029f5a: f043 0301 orrls.w r3, r3, #1 ; 0x1 - 8029f5e: b92b cbnz r3, 8029f6c - 8029f60: f1a1 0341 sub.w r3, r1, #65 ; 0x41 - 8029f64: b2db uxtb r3, r3 - 8029f66: 2b19 cmp r3, #25 - 8029f68: f200 80cf bhi.w 802a10a - 8029f6c: 2100 movs r1, #0 - 8029f6e: 4628 mov r0, r5 - 8029f70: f7ff fd50 bl 8029a14 - 8029f74: 68eb ldr r3, [r5, #12] - 8029f76: 9001 str r0, [sp, #4] - 8029f78: 781a ldrb r2, [r3, #0] - 8029f7a: 4604 mov r4, r0 - 8029f7c: 2a49 cmp r2, #73 - 8029f7e: d189 bne.n 8029e94 - 8029f80: 4628 mov r0, r5 - 8029f82: f000 fe1d bl 802abc0 - 8029f86: 2104 movs r1, #4 - 8029f88: 4603 mov r3, r0 - 8029f8a: 4622 mov r2, r4 - 8029f8c: 4628 mov r0, r5 - 8029f8e: f7ff fc27 bl 80297e0 - 8029f92: 9001 str r0, [sp, #4] - 8029f94: e770 b.n 8029e78 - 8029f96: 1c43 adds r3, r0, #1 - 8029f98: 60eb str r3, [r5, #12] - 8029f9a: 4628 mov r0, r5 - 8029f9c: f7ff fe94 bl 8029cc8 - 8029fa0: 211e movs r1, #30 - 8029fa2: 4602 mov r2, r0 - 8029fa4: 2300 movs r3, #0 - 8029fa6: 4628 mov r0, r5 - 8029fa8: f7ff fc1a bl 80297e0 - 8029fac: 9001 str r0, [sp, #4] - 8029fae: e763 b.n 8029e78 - 8029fb0: 1c43 adds r3, r0, #1 - 8029fb2: 60eb str r3, [r5, #12] - 8029fb4: 4628 mov r0, r5 - 8029fb6: f7ff fe87 bl 8029cc8 - 8029fba: 211d movs r1, #29 - 8029fbc: 4602 mov r2, r0 - 8029fbe: 2300 movs r3, #0 - 8029fc0: 4628 mov r0, r5 - 8029fc2: f7ff fc0d bl 80297e0 - 8029fc6: 9001 str r0, [sp, #4] - 8029fc8: e756 b.n 8029e78 - 8029fca: 1c43 adds r3, r0, #1 - 8029fcc: 60eb str r3, [r5, #12] - 8029fce: 4628 mov r0, r5 - 8029fd0: f7ff fe7a bl 8029cc8 - 8029fd4: 211f movs r1, #31 - 8029fd6: 4602 mov r2, r0 - 8029fd8: 2300 movs r3, #0 - 8029fda: 4628 mov r0, r5 - 8029fdc: f7ff fc00 bl 80297e0 - 8029fe0: 9001 str r0, [sp, #4] - 8029fe2: e749 b.n 8029e78 - 8029fe4: 1c43 adds r3, r0, #1 - 8029fe6: 60eb str r3, [r5, #12] - 8029fe8: 4628 mov r0, r5 - 8029fea: f7ff fe6d bl 8029cc8 - 8029fee: 4669 mov r1, sp - 8029ff0: 4607 mov r7, r0 - 8029ff2: 2201 movs r2, #1 - 8029ff4: 4628 mov r0, r5 - 8029ff6: f7ff fc93 bl 8029920 - 8029ffa: 466e mov r6, sp - 8029ffc: 4604 mov r4, r0 - 8029ffe: 2800 cmp r0, #0 - 802a000: d16e bne.n 802a0e0 - 802a002: 2000 movs r0, #0 - 802a004: 9001 str r0, [sp, #4] - 802a006: e737 b.n 8029e78 - 802a008: 1c43 adds r3, r0, #1 - 802a00a: 60eb str r3, [r5, #12] - 802a00c: 4628 mov r0, r5 - 802a00e: f7ff fe5b bl 8029cc8 - 802a012: 2121 movs r1, #33 - 802a014: 4602 mov r2, r0 - 802a016: 2300 movs r3, #0 - 802a018: 4628 mov r0, r5 - 802a01a: f7ff fbe1 bl 80297e0 - 802a01e: 9001 str r0, [sp, #4] - 802a020: e72a b.n 8029e78 - 802a022: 1c42 adds r2, r0, #1 - 802a024: 60ea str r2, [r5, #12] - 802a026: 7843 ldrb r3, [r0, #1] - 802a028: 2b59 cmp r3, #89 - 802a02a: f000 8083 beq.w 802a134 - 802a02e: 2101 movs r1, #1 - 802a030: 4628 mov r0, r5 - 802a032: f000 f9b7 bl 802a3a4 - 802a036: 68ea ldr r2, [r5, #12] - 802a038: 7813 ldrb r3, [r2, #0] - 802a03a: 2b45 cmp r3, #69 - 802a03c: d1e1 bne.n 802a002 - 802a03e: 1c53 adds r3, r2, #1 - 802a040: 60eb str r3, [r5, #12] - 802a042: 9001 str r0, [sp, #4] - 802a044: e718 b.n 8029e78 - 802a046: 1c43 adds r3, r0, #1 - 802a048: 60eb str r3, [r5, #12] - 802a04a: 4628 mov r0, r5 - 802a04c: f7ff fe3c bl 8029cc8 - 802a050: 2120 movs r1, #32 - 802a052: 4602 mov r2, r0 - 802a054: 2300 movs r3, #0 - 802a056: 4628 mov r0, r5 - 802a058: f7ff fbc2 bl 80297e0 - 802a05c: 9001 str r0, [sp, #4] - 802a05e: e70b b.n 8029e78 - 802a060: 1c41 adds r1, r0, #1 - 802a062: 60e9 str r1, [r5, #12] - 802a064: 7842 ldrb r2, [r0, #1] - 802a066: 2a5f cmp r2, #95 - 802a068: d04d beq.n 802a106 - 802a06a: f1a2 0330 sub.w r3, r2, #48 ; 0x30 - 802a06e: b2db uxtb r3, r3 - 802a070: 2b09 cmp r3, #9 - 802a072: d857 bhi.n 802a124 - 802a074: 4608 mov r0, r1 - 802a076: 3001 adds r0, #1 - 802a078: 60e8 str r0, [r5, #12] - 802a07a: 7803 ldrb r3, [r0, #0] - 802a07c: 3b30 subs r3, #48 - 802a07e: b2db uxtb r3, r3 - 802a080: 2b09 cmp r3, #9 - 802a082: d9f8 bls.n 802a076 - 802a084: f8d5 c014 ldr.w ip, [r5, #20] - 802a088: 69ab ldr r3, [r5, #24] - 802a08a: 459c cmp ip, r3 - 802a08c: dab9 bge.n 802a002 - 802a08e: ea4f 038c mov.w r3, ip, lsl #2 - 802a092: ea4f 120c mov.w r2, ip, lsl #4 - 802a096: 692c ldr r4, [r5, #16] - 802a098: 1ad2 subs r2, r2, r3 - 802a09a: 18a6 adds r6, r4, r2 - 802a09c: f10c 0301 add.w r3, ip, #1 ; 0x1 - 802a0a0: 616b str r3, [r5, #20] - 802a0a2: d0ae beq.n 802a002 - 802a0a4: 1a40 subs r0, r0, r1 - 802a0a6: d0ac beq.n 802a002 - 802a0a8: 2300 movs r3, #0 - 802a0aa: 54a3 strb r3, [r4, r2] - 802a0ac: 6071 str r1, [r6, #4] - 802a0ae: 60b0 str r0, [r6, #8] - 802a0b0: 68e9 ldr r1, [r5, #12] - 802a0b2: 780b ldrb r3, [r1, #0] - 802a0b4: 2b5f cmp r3, #95 - 802a0b6: d1a4 bne.n 802a002 - 802a0b8: 1c4b adds r3, r1, #1 - 802a0ba: 60eb str r3, [r5, #12] - 802a0bc: 4628 mov r0, r5 - 802a0be: f7ff fe03 bl 8029cc8 - 802a0c2: 2125 movs r1, #37 - 802a0c4: 4603 mov r3, r0 - 802a0c6: 4632 mov r2, r6 - 802a0c8: 4628 mov r0, r5 - 802a0ca: f7ff fb89 bl 80297e0 - 802a0ce: 9001 str r0, [sp, #4] - 802a0d0: e6d2 b.n 8029e78 - 802a0d2: 4628 mov r0, r5 - 802a0d4: f000 fdb6 bl 802ac44 - 802a0d8: 9001 str r0, [sp, #4] - 802a0da: e6cd b.n 8029e78 - 802a0dc: 2100 movs r1, #0 - 802a0de: e6f6 b.n 8029ece - 802a0e0: 4628 mov r0, r5 - 802a0e2: f7ff fdf1 bl 8029cc8 - 802a0e6: 6020 str r0, [r4, #0] - 802a0e8: 2800 cmp r0, #0 - 802a0ea: d08a beq.n 802a002 - 802a0ec: 456c cmp r4, sp - 802a0ee: d002 beq.n 802a0f6 - 802a0f0: 7803 ldrb r3, [r0, #0] - 802a0f2: 2b24 cmp r3, #36 - 802a0f4: d121 bne.n 802a13a - 802a0f6: 4628 mov r0, r5 - 802a0f8: 2126 movs r1, #38 - 802a0fa: 463a mov r2, r7 - 802a0fc: 9b00 ldr r3, [sp, #0] - 802a0fe: f7ff fb6f bl 80297e0 - 802a102: 9001 str r0, [sp, #4] - 802a104: e6b8 b.n 8029e78 - 802a106: 2600 movs r6, #0 - 802a108: e7d6 b.n 802a0b8 - 802a10a: 4628 mov r0, r5 - 802a10c: f000 fd9a bl 802ac44 - 802a110: 2800 cmp r0, #0 - 802a112: f43f adf0 beq.w 8029cf6 - 802a116: 7803 ldrb r3, [r0, #0] - 802a118: 9001 str r0, [sp, #4] - 802a11a: 2b15 cmp r3, #21 - 802a11c: f47f aeb0 bne.w 8029e80 - 802a120: 9801 ldr r0, [sp, #4] - 802a122: e5e9 b.n 8029cf8 - 802a124: 4628 mov r0, r5 - 802a126: f000 fca9 bl 802aa7c - 802a12a: 4606 mov r6, r0 - 802a12c: 2800 cmp r0, #0 - 802a12e: d1bf bne.n 802a0b0 - 802a130: 2000 movs r0, #0 - 802a132: e767 b.n 802a004 - 802a134: 1c53 adds r3, r2, #1 - 802a136: 60eb str r3, [r5, #12] - 802a138: e779 b.n 802a02e - 802a13a: 9900 ldr r1, [sp, #0] - 802a13c: 2900 cmp r1, #0 - 802a13e: f43f af60 beq.w 802a002 - 802a142: 6a2a ldr r2, [r5, #32] - 802a144: 6a6b ldr r3, [r5, #36] - 802a146: 429a cmp r2, r3 - 802a148: f6bf af5b bge.w 802a002 - 802a14c: 69eb ldr r3, [r5, #28] - 802a14e: f843 1022 str.w r1, [r3, r2, lsl #2] - 802a152: 3201 adds r2, #1 - 802a154: 622a str r2, [r5, #32] - 802a156: e7ce b.n 802a0f6 - 802a158: 08033a10 .word 0x08033a10 - -0802a15c : - 802a15c: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 802a160: 68c2 ldr r2, [r0, #12] - 802a162: 4606 mov r6, r0 - 802a164: 7814 ldrb r4, [r2, #0] - 802a166: 2c00 cmp r4, #0 - 802a168: d02a beq.n 802a1c0 - 802a16a: 1c53 adds r3, r2, #1 - 802a16c: 60c3 str r3, [r0, #12] - 802a16e: 7855 ldrb r5, [r2, #1] - 802a170: b10d cbz r5, 802a176 - 802a172: 3301 adds r3, #1 - 802a174: 60c3 str r3, [r0, #12] - 802a176: 2c76 cmp r4, #118 - 802a178: d143 bne.n 802a202 - 802a17a: f1a5 0730 sub.w r7, r5, #48 ; 0x30 - 802a17e: b2fb uxtb r3, r7 - 802a180: 2b09 cmp r3, #9 - 802a182: d81e bhi.n 802a1c2 - 802a184: 4630 mov r0, r6 - 802a186: f7ff fd2d bl 8029be4 - 802a18a: 6971 ldr r1, [r6, #20] - 802a18c: 69b3 ldr r3, [r6, #24] - 802a18e: 4604 mov r4, r0 - 802a190: 4299 cmp r1, r3 - 802a192: da2f bge.n 802a1f4 - 802a194: 008a lsls r2, r1, #2 - 802a196: 010b lsls r3, r1, #4 - 802a198: ebc2 0c03 rsb ip, r2, r3 - 802a19c: 6932 ldr r2, [r6, #16] - 802a19e: 1c4b adds r3, r1, #1 - 802a1a0: eb12 000c adds.w r0, r2, ip - 802a1a4: 6173 str r3, [r6, #20] - 802a1a6: bf14 ite ne - 802a1a8: 2300 movne r3, #0 - 802a1aa: 2301 moveq r3, #1 - 802a1ac: ea53 73d7 orrs.w r3, r3, r7, lsr #31 - 802a1b0: d120 bne.n 802a1f4 - 802a1b2: b1fc cbz r4, 802a1f4 - 802a1b4: 232a movs r3, #42 - 802a1b6: f802 300c strb.w r3, [r2, ip] - 802a1ba: 6047 str r7, [r0, #4] - 802a1bc: 6084 str r4, [r0, #8] - 802a1be: e01a b.n 802a1f6 - 802a1c0: 4625 mov r5, r4 - 802a1c2: 4f24 ldr r7, [pc, #144] (802a254 ) - 802a1c4: 2000 movs r0, #0 - 802a1c6: f04f 0c31 mov.w ip, #49 ; 0x31 - 802a1ca: ebc0 030c rsb r3, r0, ip - 802a1ce: eb03 73d3 add.w r3, r3, r3, lsr #31 - 802a1d2: eb00 0163 add.w r1, r0, r3, asr #1 - 802a1d6: 010a lsls r2, r1, #4 - 802a1d8: 58bb ldr r3, [r7, r2] - 802a1da: eb07 0802 add.w r8, r7, r2 - 802a1de: 781a ldrb r2, [r3, #0] - 802a1e0: 4294 cmp r4, r2 - 802a1e2: d10a bne.n 802a1fa - 802a1e4: 785b ldrb r3, [r3, #1] - 802a1e6: 429d cmp r5, r3 - 802a1e8: d020 beq.n 802a22c - 802a1ea: 42ab cmp r3, r5 - 802a1ec: d907 bls.n 802a1fe - 802a1ee: 468c mov ip, r1 - 802a1f0: 4560 cmp r0, ip - 802a1f2: d1ea bne.n 802a1ca - 802a1f4: 2000 movs r0, #0 - 802a1f6: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - 802a1fa: 42a2 cmp r2, r4 - 802a1fc: d8f7 bhi.n 802a1ee - 802a1fe: 1c48 adds r0, r1, #1 - 802a200: e7f6 b.n 802a1f0 - 802a202: 2c63 cmp r4, #99 - 802a204: bf14 ite ne - 802a206: 2300 movne r3, #0 - 802a208: 2301 moveq r3, #1 - 802a20a: 2d76 cmp r5, #118 - 802a20c: bf14 ite ne - 802a20e: 2300 movne r3, #0 - 802a210: f003 0301 andeq.w r3, r3, #1 ; 0x1 - 802a214: 2b00 cmp r3, #0 - 802a216: d0d4 beq.n 802a1c2 - 802a218: 4630 mov r0, r6 - 802a21a: f7ff fd55 bl 8029cc8 - 802a21e: 212b movs r1, #43 - 802a220: 4602 mov r2, r0 - 802a222: 2300 movs r3, #0 - 802a224: 4630 mov r0, r6 - 802a226: f7ff fadb bl 80297e0 - 802a22a: e7e4 b.n 802a1f6 - 802a22c: 6971 ldr r1, [r6, #20] - 802a22e: 69b3 ldr r3, [r6, #24] - 802a230: 4299 cmp r1, r3 - 802a232: dadf bge.n 802a1f4 - 802a234: 008b lsls r3, r1, #2 - 802a236: 010a lsls r2, r1, #4 - 802a238: f8d6 c010 ldr.w ip, [r6, #16] - 802a23c: 1ad2 subs r2, r2, r3 - 802a23e: 1c4b adds r3, r1, #1 - 802a240: eb1c 0002 adds.w r0, ip, r2 - 802a244: 6173 str r3, [r6, #20] - 802a246: d0d6 beq.n 802a1f6 - 802a248: 2329 movs r3, #41 - 802a24a: f80c 3002 strb.w r3, [ip, r2] - 802a24e: f8c0 8004 str.w r8, [r0, #4] - 802a252: e7d0 b.n 802a1f6 - 802a254: 080343ac .word 0x080343ac - -0802a258 : - 802a258: b570 push {r4, r5, r6, lr} - 802a25a: 68c1 ldr r1, [r0, #12] - 802a25c: 4604 mov r4, r0 - 802a25e: 780a ldrb r2, [r1, #0] - 802a260: f1a2 0330 sub.w r3, r2, #48 ; 0x30 - 802a264: b2db uxtb r3, r3 - 802a266: 2b09 cmp r3, #9 - 802a268: d927 bls.n 802a2ba - 802a26a: f1a2 0361 sub.w r3, r2, #97 ; 0x61 - 802a26e: b2db uxtb r3, r3 - 802a270: 2b19 cmp r3, #25 - 802a272: d914 bls.n 802a29e - 802a274: f1a2 0343 sub.w r3, r2, #67 ; 0x43 - 802a278: b2db uxtb r3, r3 - 802a27a: 2b01 cmp r3, #1 - 802a27c: d870 bhi.n 802a360 - 802a27e: 6ac5 ldr r5, [r0, #44] - 802a280: b13d cbz r5, 802a292 - 802a282: 782b ldrb r3, [r5, #0] - 802a284: 2b00 cmp r3, #0 - 802a286: d11b bne.n 802a2c0 - 802a288: 68aa ldr r2, [r5, #8] - 802a28a: 6b23 ldr r3, [r4, #48] - 802a28c: 189b adds r3, r3, r2 - 802a28e: 6323 str r3, [r4, #48] - 802a290: 780a ldrb r2, [r1, #0] - 802a292: 2a43 cmp r2, #67 - 802a294: d018 beq.n 802a2c8 - 802a296: 2a44 cmp r2, #68 - 802a298: d03c beq.n 802a314 - 802a29a: 2000 movs r0, #0 - 802a29c: bd70 pop {r4, r5, r6, pc} - 802a29e: f7ff ff5d bl 802a15c - 802a2a2: 2800 cmp r0, #0 - 802a2a4: d0fa beq.n 802a29c - 802a2a6: 7803 ldrb r3, [r0, #0] - 802a2a8: 2b29 cmp r3, #41 - 802a2aa: d1f7 bne.n 802a29c - 802a2ac: 6843 ldr r3, [r0, #4] - 802a2ae: 6b22 ldr r2, [r4, #48] - 802a2b0: 6899 ldr r1, [r3, #8] - 802a2b2: 1852 adds r2, r2, r1 - 802a2b4: 3207 adds r2, #7 - 802a2b6: 6322 str r2, [r4, #48] - 802a2b8: e7f0 b.n 802a29c - 802a2ba: f7ff fc93 bl 8029be4 - 802a2be: e7ed b.n 802a29c - 802a2c0: 2b15 cmp r3, #21 - 802a2c2: d0e1 beq.n 802a288 - 802a2c4: 2a43 cmp r2, #67 - 802a2c6: d1e6 bne.n 802a296 - 802a2c8: 784b ldrb r3, [r1, #1] - 802a2ca: 2b32 cmp r3, #50 - 802a2cc: d05d beq.n 802a38a - 802a2ce: 2b33 cmp r3, #51 - 802a2d0: d059 beq.n 802a386 - 802a2d2: 2b31 cmp r3, #49 - 802a2d4: d1e1 bne.n 802a29a - 802a2d6: 2601 movs r6, #1 - 802a2d8: 1c8b adds r3, r1, #2 - 802a2da: 60e3 str r3, [r4, #12] - 802a2dc: 6961 ldr r1, [r4, #20] - 802a2de: 69a3 ldr r3, [r4, #24] - 802a2e0: 4299 cmp r1, r3 - 802a2e2: dada bge.n 802a29a - 802a2e4: 008a lsls r2, r1, #2 - 802a2e6: 010b lsls r3, r1, #4 - 802a2e8: ebc2 0c03 rsb ip, r2, r3 - 802a2ec: 6922 ldr r2, [r4, #16] - 802a2ee: 1c4b adds r3, r1, #1 - 802a2f0: eb12 000c adds.w r0, r2, ip - 802a2f4: 6163 str r3, [r4, #20] - 802a2f6: bf14 ite ne - 802a2f8: 2300 movne r3, #0 - 802a2fa: 2301 moveq r3, #1 - 802a2fc: 2d00 cmp r5, #0 - 802a2fe: bf08 it eq - 802a300: f043 0301 orreq.w r3, r3, #1 ; 0x1 - 802a304: 2b00 cmp r3, #0 - 802a306: d1c8 bne.n 802a29a - 802a308: 3306 adds r3, #6 - 802a30a: f802 300c strb.w r3, [r2, ip] - 802a30e: 7106 strb r6, [r0, #4] - 802a310: 6085 str r5, [r0, #8] - 802a312: e7c3 b.n 802a29c - 802a314: 784b ldrb r3, [r1, #1] - 802a316: 2b31 cmp r3, #49 - 802a318: d033 beq.n 802a382 - 802a31a: 2b32 cmp r3, #50 - 802a31c: d02f beq.n 802a37e - 802a31e: 2b30 cmp r3, #48 - 802a320: d1bb bne.n 802a29a - 802a322: 2601 movs r6, #1 - 802a324: 1c8b adds r3, r1, #2 - 802a326: 60e3 str r3, [r4, #12] - 802a328: 6961 ldr r1, [r4, #20] - 802a32a: 69a3 ldr r3, [r4, #24] - 802a32c: 4299 cmp r1, r3 - 802a32e: dab4 bge.n 802a29a - 802a330: 008a lsls r2, r1, #2 - 802a332: 010b lsls r3, r1, #4 - 802a334: ebc2 0c03 rsb ip, r2, r3 - 802a338: 6922 ldr r2, [r4, #16] - 802a33a: 1c4b adds r3, r1, #1 - 802a33c: eb12 000c adds.w r0, r2, ip - 802a340: 6163 str r3, [r4, #20] - 802a342: bf14 ite ne - 802a344: 2300 movne r3, #0 - 802a346: 2301 moveq r3, #1 - 802a348: 2d00 cmp r5, #0 - 802a34a: bf08 it eq - 802a34c: f043 0301 orreq.w r3, r3, #1 ; 0x1 - 802a350: 2b00 cmp r3, #0 - 802a352: d1a2 bne.n 802a29a - 802a354: 3307 adds r3, #7 - 802a356: f802 300c strb.w r3, [r2, ip] - 802a35a: 7106 strb r6, [r0, #4] - 802a35c: 6085 str r5, [r0, #8] - 802a35e: e79d b.n 802a29c - 802a360: 2a4c cmp r2, #76 - 802a362: d19a bne.n 802a29a - 802a364: 1c4b adds r3, r1, #1 - 802a366: 60c3 str r3, [r0, #12] - 802a368: f7ff fc3c bl 8029be4 - 802a36c: 4605 mov r5, r0 - 802a36e: 2800 cmp r0, #0 - 802a370: d093 beq.n 802a29a - 802a372: 68e2 ldr r2, [r4, #12] - 802a374: 7813 ldrb r3, [r2, #0] - 802a376: 2b5f cmp r3, #95 - 802a378: d009 beq.n 802a38e - 802a37a: 4628 mov r0, r5 - 802a37c: e78e b.n 802a29c - 802a37e: 2603 movs r6, #3 - 802a380: e7d0 b.n 802a324 - 802a382: 2602 movs r6, #2 - 802a384: e7ce b.n 802a324 - 802a386: 2603 movs r6, #3 - 802a388: e7a6 b.n 802a2d8 - 802a38a: 2602 movs r6, #2 - 802a38c: e7a4 b.n 802a2d8 - 802a38e: 1c53 adds r3, r2, #1 - 802a390: 60e3 str r3, [r4, #12] - 802a392: 4620 mov r0, r4 - 802a394: f7ff fa76 bl 8029884 - 802a398: 2800 cmp r0, #0 - 802a39a: f6ff af7e blt.w 802a29a - 802a39e: 4628 mov r0, r5 - 802a3a0: e77c b.n 802a29c - 802a3a2: 46c0 nop (mov r8, r8) - -0802a3a4 : - 802a3a4: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 802a3a8: 460e mov r6, r1 - 802a3aa: 68c1 ldr r1, [r0, #12] - 802a3ac: b082 sub sp, #8 - 802a3ae: 780b ldrb r3, [r1, #0] - 802a3b0: 4605 mov r5, r0 - 802a3b2: 2b4a cmp r3, #74 - 802a3b4: d035 beq.n 802a422 - 802a3b6: 2300 movs r3, #0 - 802a3b8: af02 add r7, sp, #8 - 802a3ba: f847 3d04 str.w r3, [r7, #-4]! - 802a3be: 4698 mov r8, r3 - 802a3c0: e002 b.n 802a3c8 - 802a3c2: 68e9 ldr r1, [r5, #12] - 802a3c4: 4626 mov r6, r4 - 802a3c6: 4680 mov r8, r0 - 802a3c8: 780a ldrb r2, [r1, #0] - 802a3ca: 2a45 cmp r2, #69 - 802a3cc: bf14 ite ne - 802a3ce: 2300 movne r3, #0 - 802a3d0: 2301 moveq r3, #1 - 802a3d2: 2a00 cmp r2, #0 - 802a3d4: bf14 ite ne - 802a3d6: 461c movne r4, r3 - 802a3d8: f043 0401 orreq.w r4, r3, #1 ; 0x1 - 802a3dc: b9ac cbnz r4, 802a40a - 802a3de: 4628 mov r0, r5 - 802a3e0: f7ff fc72 bl 8029cc8 - 802a3e4: 4602 mov r2, r0 - 802a3e6: b160 cbz r0, 802a402 - 802a3e8: 2e00 cmp r6, #0 - 802a3ea: d1ea bne.n 802a3c2 - 802a3ec: 4628 mov r0, r5 - 802a3ee: 2127 movs r1, #39 - 802a3f0: 4633 mov r3, r6 - 802a3f2: f7ff f9f5 bl 80297e0 - 802a3f6: 6038 str r0, [r7, #0] - 802a3f8: b118 cbz r0, 802a402 - 802a3fa: f100 0708 add.w r7, r0, #8 ; 0x8 - 802a3fe: 68e9 ldr r1, [r5, #12] - 802a400: e7e2 b.n 802a3c8 - 802a402: 2000 movs r0, #0 - 802a404: b002 add sp, #8 - 802a406: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - 802a40a: 9c01 ldr r4, [sp, #4] - 802a40c: 2c00 cmp r4, #0 - 802a40e: d0f8 beq.n 802a402 - 802a410: 68a1 ldr r1, [r4, #8] - 802a412: b159 cbz r1, 802a42c - 802a414: 4628 mov r0, r5 - 802a416: 2124 movs r1, #36 - 802a418: 4642 mov r2, r8 - 802a41a: 4623 mov r3, r4 - 802a41c: f7ff f9e0 bl 80297e0 - 802a420: e7f0 b.n 802a404 - 802a422: 1c4b adds r3, r1, #1 - 802a424: 60c3 str r3, [r0, #12] - 802a426: 2601 movs r6, #1 - 802a428: 4619 mov r1, r3 - 802a42a: e7c4 b.n 802a3b6 - 802a42c: 6862 ldr r2, [r4, #4] - 802a42e: 7813 ldrb r3, [r2, #0] - 802a430: 2b22 cmp r3, #34 - 802a432: d1ef bne.n 802a414 - 802a434: 6852 ldr r2, [r2, #4] - 802a436: 7c13 ldrb r3, [r2, #16] - 802a438: 2b09 cmp r3, #9 - 802a43a: d1eb bne.n 802a414 - 802a43c: 6b2b ldr r3, [r5, #48] - 802a43e: 6852 ldr r2, [r2, #4] - 802a440: 9101 str r1, [sp, #4] - 802a442: 1a9b subs r3, r3, r2 - 802a444: 632b str r3, [r5, #48] - 802a446: 460c mov r4, r1 - 802a448: e7e4 b.n 802a414 - 802a44a: 46c0 nop (mov r8, r8) - -0802a44c : - 802a44c: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} - 802a450: 460d mov r5, r1 - 802a452: 68c1 ldr r1, [r0, #12] - 802a454: 4606 mov r6, r0 - 802a456: 780a ldrb r2, [r1, #0] - 802a458: 2a54 cmp r2, #84 - 802a45a: bf14 ite ne - 802a45c: 2300 movne r3, #0 - 802a45e: 2301 moveq r3, #1 - 802a460: 2a47 cmp r2, #71 - 802a462: bf08 it eq - 802a464: f043 0301 orreq.w r3, r3, #1 ; 0x1 - 802a468: 2b00 cmp r3, #0 - 802a46a: d14e bne.n 802a50a - 802a46c: f000 fbea bl 802ac44 - 802a470: 1e2b subs r3, r5, #0 - 802a472: bf18 it ne - 802a474: 2301 movne r3, #1 - 802a476: 2800 cmp r0, #0 - 802a478: bf0c ite eq - 802a47a: 2300 moveq r3, #0 - 802a47c: f003 0301 andne.w r3, r3, #1 ; 0x1 - 802a480: 4604 mov r4, r0 - 802a482: bb0b cbnz r3, 802a4c8 - 802a484: 68f2 ldr r2, [r6, #12] - 802a486: 7812 ldrb r2, [r2, #0] - 802a488: f1d2 0301 rsbs r3, r2, #1 ; 0x1 - 802a48c: bf38 it cc - 802a48e: 2300 movcc r3, #0 - 802a490: 2c00 cmp r4, #0 - 802a492: bf08 it eq - 802a494: f043 0301 orreq.w r3, r3, #1 ; 0x1 - 802a498: 2b00 cmp r3, #0 - 802a49a: d133 bne.n 802a504 - 802a49c: 2a45 cmp r2, #69 - 802a49e: d031 beq.n 802a504 - 802a4a0: 4622 mov r2, r4 - 802a4a2: 7813 ldrb r3, [r2, #0] - 802a4a4: 2b04 cmp r3, #4 - 802a4a6: f000 80cd beq.w 802a644 - 802a4aa: d302 bcc.n 802a4b2 - 802a4ac: 3b19 subs r3, #25 - 802a4ae: 2b02 cmp r3, #2 - 802a4b0: d94f bls.n 802a552 - 802a4b2: 2100 movs r1, #0 - 802a4b4: 4630 mov r0, r6 - 802a4b6: f7ff ff75 bl 802a3a4 - 802a4ba: 2103 movs r1, #3 - 802a4bc: 4603 mov r3, r0 - 802a4be: 4622 mov r2, r4 - 802a4c0: 4630 mov r0, r6 - 802a4c2: f7ff f98d bl 80297e0 - 802a4c6: e01e b.n 802a506 - 802a4c8: 68b3 ldr r3, [r6, #8] - 802a4ca: f013 0f01 tst.w r3, #1 ; 0x1 - 802a4ce: d1d9 bne.n 802a484 - 802a4d0: 7822 ldrb r2, [r4, #0] - 802a4d2: f1a2 0319 sub.w r3, r2, #25 ; 0x19 - 802a4d6: b2db uxtb r3, r3 - 802a4d8: 2b02 cmp r3, #2 - 802a4da: d806 bhi.n 802a4ea - 802a4dc: 6864 ldr r4, [r4, #4] - 802a4de: 7822 ldrb r2, [r4, #0] - 802a4e0: f1a2 0319 sub.w r3, r2, #25 ; 0x19 - 802a4e4: b2db uxtb r3, r3 - 802a4e6: 2b02 cmp r3, #2 - 802a4e8: d9f8 bls.n 802a4dc - 802a4ea: 2a02 cmp r2, #2 - 802a4ec: 4620 mov r0, r4 - 802a4ee: d10a bne.n 802a506 - 802a4f0: 68a2 ldr r2, [r4, #8] - 802a4f2: e000 b.n 802a4f6 - 802a4f4: 6852 ldr r2, [r2, #4] - 802a4f6: 7813 ldrb r3, [r2, #0] - 802a4f8: 3b19 subs r3, #25 - 802a4fa: b2db uxtb r3, r3 - 802a4fc: 2b02 cmp r3, #2 - 802a4fe: d9f9 bls.n 802a4f4 - 802a500: 60a2 str r2, [r4, #8] - 802a502: e000 b.n 802a506 - 802a504: 4620 mov r0, r4 - 802a506: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} - 802a50a: 6b03 ldr r3, [r0, #48] - 802a50c: f103 0014 add.w r0, r3, #20 ; 0x14 - 802a510: 6330 str r0, [r6, #48] - 802a512: 780b ldrb r3, [r1, #0] - 802a514: 2b54 cmp r3, #84 - 802a516: d020 beq.n 802a55a - 802a518: 2b47 cmp r3, #71 - 802a51a: d001 beq.n 802a520 - 802a51c: 2000 movs r0, #0 - 802a51e: e7f2 b.n 802a506 - 802a520: 1c4b adds r3, r1, #1 - 802a522: 60f3 str r3, [r6, #12] - 802a524: 784a ldrb r2, [r1, #1] - 802a526: 2a00 cmp r2, #0 - 802a528: d0f8 beq.n 802a51c - 802a52a: 3301 adds r3, #1 - 802a52c: 2a52 cmp r2, #82 - 802a52e: 60f3 str r3, [r6, #12] - 802a530: f000 8189 beq.w 802a846 - 802a534: f200 8191 bhi.w 802a85a - 802a538: 2a41 cmp r2, #65 - 802a53a: d1ef bne.n 802a51c - 802a53c: 2100 movs r1, #0 - 802a53e: 4630 mov r0, r6 - 802a540: f7ff ff84 bl 802a44c - 802a544: 2114 movs r1, #20 - 802a546: 4602 mov r2, r0 - 802a548: 2300 movs r3, #0 - 802a54a: 4630 mov r0, r6 - 802a54c: f7ff f948 bl 80297e0 - 802a550: e7d9 b.n 802a506 - 802a552: 6852 ldr r2, [r2, #4] - 802a554: 2a00 cmp r2, #0 - 802a556: d1a4 bne.n 802a4a2 - 802a558: e7ab b.n 802a4b2 - 802a55a: 1c4a adds r2, r1, #1 - 802a55c: 60f2 str r2, [r6, #12] - 802a55e: 784b ldrb r3, [r1, #1] - 802a560: 2b00 cmp r3, #0 - 802a562: d0db beq.n 802a51c - 802a564: 3201 adds r2, #1 - 802a566: 3b43 subs r3, #67 - 802a568: 60f2 str r2, [r6, #12] - 802a56a: 2b33 cmp r3, #51 - 802a56c: d8d6 bhi.n 802a51c - 802a56e: a101 add r1, pc, #4 (adr r1, 802a574 ) - 802a570: f851 f023 ldr.w pc, [r1, r3, lsl #2] - 802a574: 0802a789 .word 0x0802a789 - 802a578: 0802a51d .word 0x0802a51d - 802a57c: 0802a51d .word 0x0802a51d - 802a580: 0802a7d9 .word 0x0802a7d9 - 802a584: 0802a51d .word 0x0802a51d - 802a588: 0802a51d .word 0x0802a51d - 802a58c: 0802a7c5 .word 0x0802a7c5 - 802a590: 0802a833 .word 0x0802a833 - 802a594: 0802a51d .word 0x0802a51d - 802a598: 0802a51d .word 0x0802a51d - 802a59c: 0802a51d .word 0x0802a51d - 802a5a0: 0802a51d .word 0x0802a51d - 802a5a4: 0802a51d .word 0x0802a51d - 802a5a8: 0802a51d .word 0x0802a51d - 802a5ac: 0802a51d .word 0x0802a51d - 802a5b0: 0802a51d .word 0x0802a51d - 802a5b4: 0802a81f .word 0x0802a81f - 802a5b8: 0802a805 .word 0x0802a805 - 802a5bc: 0802a51d .word 0x0802a51d - 802a5c0: 0802a7ed .word 0x0802a7ed - 802a5c4: 0802a51d .word 0x0802a51d - 802a5c8: 0802a51d .word 0x0802a51d - 802a5cc: 0802a51d .word 0x0802a51d - 802a5d0: 0802a51d .word 0x0802a51d - 802a5d4: 0802a51d .word 0x0802a51d - 802a5d8: 0802a51d .word 0x0802a51d - 802a5dc: 0802a51d .word 0x0802a51d - 802a5e0: 0802a51d .word 0x0802a51d - 802a5e4: 0802a51d .word 0x0802a51d - 802a5e8: 0802a51d .word 0x0802a51d - 802a5ec: 0802a51d .word 0x0802a51d - 802a5f0: 0802a51d .word 0x0802a51d - 802a5f4: 0802a733 .word 0x0802a733 - 802a5f8: 0802a51d .word 0x0802a51d - 802a5fc: 0802a51d .word 0x0802a51d - 802a600: 0802a51d .word 0x0802a51d - 802a604: 0802a51d .word 0x0802a51d - 802a608: 0802a70f .word 0x0802a70f - 802a60c: 0802a51d .word 0x0802a51d - 802a610: 0802a51d .word 0x0802a51d - 802a614: 0802a51d .word 0x0802a51d - 802a618: 0802a51d .word 0x0802a51d - 802a61c: 0802a51d .word 0x0802a51d - 802a620: 0802a51d .word 0x0802a51d - 802a624: 0802a51d .word 0x0802a51d - 802a628: 0802a51d .word 0x0802a51d - 802a62c: 0802a51d .word 0x0802a51d - 802a630: 0802a51d .word 0x0802a51d - 802a634: 0802a51d .word 0x0802a51d - 802a638: 0802a51d .word 0x0802a51d - 802a63c: 0802a51d .word 0x0802a51d - 802a640: 0802a765 .word 0x0802a765 - 802a644: 6852 ldr r2, [r2, #4] - 802a646: 2a00 cmp r2, #0 - 802a648: d05f beq.n 802a70a - 802a64a: 7813 ldrb r3, [r2, #0] - 802a64c: 3b01 subs r3, #1 - 802a64e: 2b2a cmp r3, #42 - 802a650: d85b bhi.n 802a70a - 802a652: a101 add r1, pc, #4 (adr r1, 802a658 ) - 802a654: f851 f023 ldr.w pc, [r1, r3, lsl #2] - 802a658: 0802a705 .word 0x0802a705 - 802a65c: 0802a705 .word 0x0802a705 - 802a660: 0802a70b .word 0x0802a70b - 802a664: 0802a70b .word 0x0802a70b - 802a668: 0802a70b .word 0x0802a70b - 802a66c: 0802a4b3 .word 0x0802a4b3 - 802a670: 0802a4b3 .word 0x0802a4b3 - 802a674: 0802a70b .word 0x0802a70b - 802a678: 0802a70b .word 0x0802a70b - 802a67c: 0802a70b .word 0x0802a70b - 802a680: 0802a70b .word 0x0802a70b - 802a684: 0802a70b .word 0x0802a70b - 802a688: 0802a70b .word 0x0802a70b - 802a68c: 0802a70b .word 0x0802a70b - 802a690: 0802a70b .word 0x0802a70b - 802a694: 0802a70b .word 0x0802a70b - 802a698: 0802a70b .word 0x0802a70b - 802a69c: 0802a70b .word 0x0802a70b - 802a6a0: 0802a70b .word 0x0802a70b - 802a6a4: 0802a70b .word 0x0802a70b - 802a6a8: 0802a70b .word 0x0802a70b - 802a6ac: 0802a70b .word 0x0802a70b - 802a6b0: 0802a70b .word 0x0802a70b - 802a6b4: 0802a70b .word 0x0802a70b - 802a6b8: 0802a70b .word 0x0802a70b - 802a6bc: 0802a70b .word 0x0802a70b - 802a6c0: 0802a70b .word 0x0802a70b - 802a6c4: 0802a70b .word 0x0802a70b - 802a6c8: 0802a70b .word 0x0802a70b - 802a6cc: 0802a70b .word 0x0802a70b - 802a6d0: 0802a70b .word 0x0802a70b - 802a6d4: 0802a70b .word 0x0802a70b - 802a6d8: 0802a70b .word 0x0802a70b - 802a6dc: 0802a70b .word 0x0802a70b - 802a6e0: 0802a70b .word 0x0802a70b - 802a6e4: 0802a70b .word 0x0802a70b - 802a6e8: 0802a70b .word 0x0802a70b - 802a6ec: 0802a70b .word 0x0802a70b - 802a6f0: 0802a70b .word 0x0802a70b - 802a6f4: 0802a70b .word 0x0802a70b - 802a6f8: 0802a70b .word 0x0802a70b - 802a6fc: 0802a70b .word 0x0802a70b - 802a700: 0802a4b3 .word 0x0802a4b3 - 802a704: 6892 ldr r2, [r2, #8] - 802a706: 2a00 cmp r2, #0 - 802a708: d19f bne.n 802a64a - 802a70a: 2101 movs r1, #1 - 802a70c: e6d2 b.n 802a4b4 - 802a70e: 4630 mov r0, r6 - 802a710: 2168 movs r1, #104 - 802a712: f7ff f8e3 bl 80298dc - 802a716: 2800 cmp r0, #0 - 802a718: f43f af00 beq.w 802a51c - 802a71c: 2100 movs r1, #0 - 802a71e: 4630 mov r0, r6 - 802a720: f7ff fe94 bl 802a44c - 802a724: 210e movs r1, #14 - 802a726: 4602 mov r2, r0 - 802a728: 2300 movs r3, #0 - 802a72a: 4630 mov r0, r6 - 802a72c: f7ff f858 bl 80297e0 - 802a730: e6e9 b.n 802a506 - 802a732: 4630 mov r0, r6 - 802a734: 2100 movs r1, #0 - 802a736: f7ff f8d1 bl 80298dc - 802a73a: 2800 cmp r0, #0 - 802a73c: f43f aeee beq.w 802a51c - 802a740: 4630 mov r0, r6 - 802a742: 2100 movs r1, #0 - 802a744: f7ff f8ca bl 80298dc - 802a748: 2800 cmp r0, #0 - 802a74a: f43f aee7 beq.w 802a51c - 802a74e: 2100 movs r1, #0 - 802a750: 4630 mov r0, r6 - 802a752: f7ff fe7b bl 802a44c - 802a756: 2110 movs r1, #16 - 802a758: 4602 mov r2, r0 - 802a75a: 2300 movs r3, #0 - 802a75c: 4630 mov r0, r6 - 802a75e: f7ff f83f bl 80297e0 - 802a762: e6d0 b.n 802a506 - 802a764: 4630 mov r0, r6 - 802a766: 2176 movs r1, #118 - 802a768: f7ff f8b8 bl 80298dc - 802a76c: 2800 cmp r0, #0 - 802a76e: f43f aed5 beq.w 802a51c - 802a772: 2100 movs r1, #0 - 802a774: 4630 mov r0, r6 - 802a776: f7ff fe69 bl 802a44c - 802a77a: 210f movs r1, #15 - 802a77c: 4602 mov r2, r0 - 802a77e: 2300 movs r3, #0 - 802a780: 4630 mov r0, r6 - 802a782: f7ff f82d bl 80297e0 - 802a786: e6be b.n 802a506 - 802a788: 4630 mov r0, r6 - 802a78a: f7ff fa9d bl 8029cc8 - 802a78e: 4604 mov r4, r0 - 802a790: 4630 mov r0, r6 - 802a792: f7ff f877 bl 8029884 - 802a796: 2800 cmp r0, #0 - 802a798: f6ff aec0 blt.w 802a51c - 802a79c: 68f2 ldr r2, [r6, #12] - 802a79e: 7813 ldrb r3, [r2, #0] - 802a7a0: 2b5f cmp r3, #95 - 802a7a2: f47f aebb bne.w 802a51c - 802a7a6: 1c53 adds r3, r2, #1 - 802a7a8: 60f3 str r3, [r6, #12] - 802a7aa: 4630 mov r0, r6 - 802a7ac: f7ff fa8c bl 8029cc8 - 802a7b0: 6b33 ldr r3, [r6, #48] - 802a7b2: 4602 mov r2, r0 - 802a7b4: 3305 adds r3, #5 - 802a7b6: 6333 str r3, [r6, #48] - 802a7b8: 4630 mov r0, r6 - 802a7ba: 210a movs r1, #10 - 802a7bc: 4623 mov r3, r4 - 802a7be: f7ff f80f bl 80297e0 - 802a7c2: e6a0 b.n 802a506 - 802a7c4: 4630 mov r0, r6 - 802a7c6: f7ff fa7f bl 8029cc8 - 802a7ca: 210b movs r1, #11 - 802a7cc: 4602 mov r2, r0 - 802a7ce: 2300 movs r3, #0 - 802a7d0: 4630 mov r0, r6 - 802a7d2: f7ff f805 bl 80297e0 - 802a7d6: e696 b.n 802a506 - 802a7d8: 4630 mov r0, r6 - 802a7da: f7ff fa75 bl 8029cc8 - 802a7de: 210d movs r1, #13 - 802a7e0: 4602 mov r2, r0 - 802a7e2: 2300 movs r3, #0 - 802a7e4: 4630 mov r0, r6 - 802a7e6: f7fe fffb bl 80297e0 - 802a7ea: e68c b.n 802a506 - 802a7ec: 1f43 subs r3, r0, #5 - 802a7ee: 6333 str r3, [r6, #48] - 802a7f0: 4630 mov r0, r6 - 802a7f2: f7ff fa69 bl 8029cc8 - 802a7f6: 2108 movs r1, #8 - 802a7f8: 4602 mov r2, r0 - 802a7fa: 2300 movs r3, #0 - 802a7fc: 4630 mov r0, r6 - 802a7fe: f7fe ffef bl 80297e0 - 802a802: e680 b.n 802a506 - 802a804: f1a0 030a sub.w r3, r0, #10 ; 0xa - 802a808: 6333 str r3, [r6, #48] - 802a80a: 4630 mov r0, r6 - 802a80c: f7ff fa5c bl 8029cc8 - 802a810: 2109 movs r1, #9 - 802a812: 4602 mov r2, r0 - 802a814: 2300 movs r3, #0 - 802a816: 4630 mov r0, r6 - 802a818: f7fe ffe2 bl 80297e0 - 802a81c: e673 b.n 802a506 - 802a81e: 4630 mov r0, r6 - 802a820: f7ff fa52 bl 8029cc8 - 802a824: 210c movs r1, #12 - 802a826: 4602 mov r2, r0 - 802a828: 2300 movs r3, #0 - 802a82a: 4630 mov r0, r6 - 802a82c: f7fe ffd8 bl 80297e0 - 802a830: e669 b.n 802a506 - 802a832: 4630 mov r0, r6 - 802a834: f7ff fa48 bl 8029cc8 - 802a838: 2111 movs r1, #17 - 802a83a: 4602 mov r2, r0 - 802a83c: 2300 movs r3, #0 - 802a83e: 4630 mov r0, r6 - 802a840: f7fe ffce bl 80297e0 - 802a844: e65f b.n 802a506 - 802a846: 4630 mov r0, r6 - 802a848: f000 f9fc bl 802ac44 - 802a84c: 2113 movs r1, #19 - 802a84e: 4602 mov r2, r0 - 802a850: 2300 movs r3, #0 - 802a852: 4630 mov r0, r6 - 802a854: f7fe ffc4 bl 80297e0 - 802a858: e655 b.n 802a506 - 802a85a: 2a56 cmp r2, #86 - 802a85c: d04f beq.n 802a8fe - 802a85e: 2a72 cmp r2, #114 - 802a860: f47f ae5c bne.w 802a51c - 802a864: 4630 mov r0, r6 - 802a866: f7ff f80d bl 8029884 - 802a86a: 2801 cmp r0, #1 - 802a86c: f77f ae56 ble.w 802a51c - 802a870: 68f3 ldr r3, [r6, #12] - 802a872: 781a ldrb r2, [r3, #0] - 802a874: 2a00 cmp r2, #0 - 802a876: f43f ae51 beq.w 802a51c - 802a87a: 1c5d adds r5, r3, #1 - 802a87c: 2a5f cmp r2, #95 - 802a87e: 60f5 str r5, [r6, #12] - 802a880: f47f ae4c bne.w 802a51c - 802a884: f04f 0800 mov.w r8, #0 ; 0x0 - 802a888: 1e47 subs r7, r0, #1 - 802a88a: 46c2 mov sl, r8 - 802a88c: f04f 0936 mov.w r9, #54 ; 0x36 - 802a890: 782b ldrb r3, [r5, #0] - 802a892: 2b00 cmp r3, #0 - 802a894: f43f ae42 beq.w 802a51c - 802a898: 2b24 cmp r3, #36 - 802a89a: d054 beq.n 802a946 - 802a89c: 2f01 cmp r7, #1 - 802a89e: dd4f ble.n 802a940 - 802a8a0: 786b ldrb r3, [r5, #1] - 802a8a2: 2b00 cmp r3, #0 - 802a8a4: d04c beq.n 802a940 - 802a8a6: f04f 0c01 mov.w ip, #1 ; 0x1 - 802a8aa: e007 b.n 802a8bc - 802a8ac: f10c 0c01 add.w ip, ip, #1 ; 0x1 - 802a8b0: 45bc cmp ip, r7 - 802a8b2: da05 bge.n 802a8c0 - 802a8b4: f815 300c ldrb.w r3, [r5, ip] - 802a8b8: 46e6 mov lr, ip - 802a8ba: b113 cbz r3, 802a8c2 - 802a8bc: 2b24 cmp r3, #36 - 802a8be: d1f5 bne.n 802a8ac - 802a8c0: 46e6 mov lr, ip - 802a8c2: 6970 ldr r0, [r6, #20] - 802a8c4: 69b3 ldr r3, [r6, #24] - 802a8c6: 4298 cmp r0, r3 - 802a8c8: da35 bge.n 802a936 - 802a8ca: 0083 lsls r3, r0, #2 - 802a8cc: 0102 lsls r2, r0, #4 - 802a8ce: 6931 ldr r1, [r6, #16] - 802a8d0: 1ad2 subs r2, r2, r3 - 802a8d2: 1c43 adds r3, r0, #1 - 802a8d4: 188c adds r4, r1, r2 - 802a8d6: 6173 str r3, [r6, #20] - 802a8d8: d02d beq.n 802a936 - 802a8da: 6065 str r5, [r4, #4] - 802a8dc: f8c4 c008 str.w ip, [r4, #8] - 802a8e0: 68f3 ldr r3, [r6, #12] - 802a8e2: f801 a002 strb.w sl, [r1, r2] - 802a8e6: eb03 050e add.w r5, r3, lr - 802a8ea: 60f5 str r5, [r6, #12] - 802a8ec: ebcc 0707 rsb r7, ip, r7 - 802a8f0: f1b8 0f00 cmp.w r8, #0 ; 0x0 - 802a8f4: d114 bne.n 802a920 - 802a8f6: 2f00 cmp r7, #0 - 802a8f8: dd0b ble.n 802a912 - 802a8fa: 46a0 mov r8, r4 - 802a8fc: e7c8 b.n 802a890 - 802a8fe: 4630 mov r0, r6 - 802a900: f000 f9a0 bl 802ac44 - 802a904: 2112 movs r1, #18 - 802a906: 4602 mov r2, r0 - 802a908: 2300 movs r3, #0 - 802a90a: 4630 mov r0, r6 - 802a90c: f7fe ff68 bl 80297e0 - 802a910: e5f9 b.n 802a506 - 802a912: 4630 mov r0, r6 - 802a914: 2134 movs r1, #52 - 802a916: 4622 mov r2, r4 - 802a918: 2300 movs r3, #0 - 802a91a: f7fe ff61 bl 80297e0 - 802a91e: e5f2 b.n 802a506 - 802a920: 4623 mov r3, r4 - 802a922: 4630 mov r0, r6 - 802a924: 2135 movs r1, #53 - 802a926: 4642 mov r2, r8 - 802a928: f7fe ff5a bl 80297e0 - 802a92c: 4604 mov r4, r0 - 802a92e: 2800 cmp r0, #0 - 802a930: d1e1 bne.n 802a8f6 - 802a932: 2000 movs r0, #0 - 802a934: e5e7 b.n 802a506 - 802a936: 68f3 ldr r3, [r6, #12] - 802a938: 2000 movs r0, #0 - 802a93a: 4473 add r3, lr - 802a93c: 60f3 str r3, [r6, #12] - 802a93e: e5e2 b.n 802a506 - 802a940: f04f 0c01 mov.w ip, #1 ; 0x1 - 802a944: e7bc b.n 802a8c0 - 802a946: 786b ldrb r3, [r5, #1] - 802a948: 2b53 cmp r3, #83 - 802a94a: d01a beq.n 802a982 - 802a94c: 2b5f cmp r3, #95 - 802a94e: d020 beq.n 802a992 - 802a950: 2b24 cmp r3, #36 - 802a952: f47f ade3 bne.w 802a51c - 802a956: 469c mov ip, r3 - 802a958: 6970 ldr r0, [r6, #20] - 802a95a: 69b3 ldr r3, [r6, #24] - 802a95c: 4298 cmp r0, r3 - 802a95e: da13 bge.n 802a988 - 802a960: 0083 lsls r3, r0, #2 - 802a962: 0102 lsls r2, r0, #4 - 802a964: 6931 ldr r1, [r6, #16] - 802a966: 1ad2 subs r2, r2, r3 - 802a968: 1c43 adds r3, r0, #1 - 802a96a: 188c adds r4, r1, r2 - 802a96c: 6173 str r3, [r6, #20] - 802a96e: d00b beq.n 802a988 - 802a970: f8c4 c004 str.w ip, [r4, #4] - 802a974: 68f3 ldr r3, [r6, #12] - 802a976: f801 9002 strb.w r9, [r1, r2] - 802a97a: 1c9d adds r5, r3, #2 - 802a97c: 60f5 str r5, [r6, #12] - 802a97e: 3f02 subs r7, #2 - 802a980: e7b6 b.n 802a8f0 - 802a982: f04f 0c2f mov.w ip, #47 ; 0x2f - 802a986: e7e7 b.n 802a958 - 802a988: 68f3 ldr r3, [r6, #12] - 802a98a: 2000 movs r0, #0 - 802a98c: 3302 adds r3, #2 - 802a98e: 60f3 str r3, [r6, #12] - 802a990: e5b9 b.n 802a506 - 802a992: f04f 0c2e mov.w ip, #46 ; 0x2e - 802a996: e7df b.n 802a958 - -0802a998 : - 802a998: b5f0 push {r4, r5, r6, r7, lr} - 802a99a: 68c2 ldr r2, [r0, #12] - 802a99c: b081 sub sp, #4 - 802a99e: 7813 ldrb r3, [r2, #0] - 802a9a0: 4604 mov r4, r0 - 802a9a2: 2b4c cmp r3, #76 - 802a9a4: d002 beq.n 802a9ac - 802a9a6: 2000 movs r0, #0 - 802a9a8: b001 add sp, #4 - 802a9aa: bdf0 pop {r4, r5, r6, r7, pc} - 802a9ac: 1c51 adds r1, r2, #1 - 802a9ae: 60c1 str r1, [r0, #12] - 802a9b0: 7853 ldrb r3, [r2, #1] - 802a9b2: 2b5f cmp r3, #95 - 802a9b4: d029 beq.n 802aa0a - 802a9b6: f7ff f987 bl 8029cc8 - 802a9ba: 4606 mov r6, r0 - 802a9bc: 2800 cmp r0, #0 - 802a9be: d0f2 beq.n 802a9a6 - 802a9c0: 7803 ldrb r3, [r0, #0] - 802a9c2: 2b22 cmp r3, #34 - 802a9c4: d036 beq.n 802aa34 - 802a9c6: f8d4 c00c ldr.w ip, [r4, #12] - 802a9ca: f89c 3000 ldrb.w r3, [ip] - 802a9ce: 2b6e cmp r3, #110 - 802a9d0: d028 beq.n 802aa24 - 802a9d2: 2732 movs r7, #50 - 802a9d4: 2b45 cmp r3, #69 - 802a9d6: d04f beq.n 802aa78 - 802a9d8: 2b00 cmp r3, #0 - 802a9da: d0e4 beq.n 802a9a6 - 802a9dc: 4663 mov r3, ip - 802a9de: e001 b.n 802a9e4 - 802a9e0: 2a00 cmp r2, #0 - 802a9e2: d0e0 beq.n 802a9a6 - 802a9e4: 3301 adds r3, #1 - 802a9e6: 60e3 str r3, [r4, #12] - 802a9e8: 781a ldrb r2, [r3, #0] - 802a9ea: 2a45 cmp r2, #69 - 802a9ec: d1f8 bne.n 802a9e0 - 802a9ee: ebcc 0103 rsb r1, ip, r3 - 802a9f2: 6960 ldr r0, [r4, #20] - 802a9f4: 69a3 ldr r3, [r4, #24] - 802a9f6: 4298 cmp r0, r3 - 802a9f8: db25 blt.n 802aa46 - 802a9fa: 2500 movs r5, #0 - 802a9fc: 4620 mov r0, r4 - 802a9fe: 4639 mov r1, r7 - 802aa00: 4632 mov r2, r6 - 802aa02: 462b mov r3, r5 - 802aa04: f7fe feec bl 80297e0 - 802aa08: e005 b.n 802aa16 - 802aa0a: 1c4a adds r2, r1, #1 - 802aa0c: 60c2 str r2, [r0, #12] - 802aa0e: 784b ldrb r3, [r1, #1] - 802aa10: 2b5a cmp r3, #90 - 802aa12: d02b beq.n 802aa6c - 802aa14: 2000 movs r0, #0 - 802aa16: 68e2 ldr r2, [r4, #12] - 802aa18: 7813 ldrb r3, [r2, #0] - 802aa1a: 2b45 cmp r3, #69 - 802aa1c: d1c3 bne.n 802a9a6 - 802aa1e: 1c53 adds r3, r2, #1 - 802aa20: 60e3 str r3, [r4, #12] - 802aa22: e7c1 b.n 802a9a8 - 802aa24: f10c 0c01 add.w ip, ip, #1 ; 0x1 - 802aa28: f8c4 c00c str.w ip, [r4, #12] - 802aa2c: f89c 3000 ldrb.w r3, [ip] - 802aa30: 2733 movs r7, #51 - 802aa32: e7cf b.n 802a9d4 - 802aa34: 6842 ldr r2, [r0, #4] - 802aa36: 7c13 ldrb r3, [r2, #16] - 802aa38: 2b00 cmp r3, #0 - 802aa3a: d0c4 beq.n 802a9c6 - 802aa3c: 6b23 ldr r3, [r4, #48] - 802aa3e: 6852 ldr r2, [r2, #4] - 802aa40: 1a9b subs r3, r3, r2 - 802aa42: 6323 str r3, [r4, #48] - 802aa44: e7bf b.n 802a9c6 - 802aa46: 0083 lsls r3, r0, #2 - 802aa48: 0102 lsls r2, r0, #4 - 802aa4a: f8d4 e010 ldr.w lr, [r4, #16] - 802aa4e: 1ad2 subs r2, r2, r3 - 802aa50: 1c43 adds r3, r0, #1 - 802aa52: eb1e 0502 adds.w r5, lr, r2 - 802aa56: 6163 str r3, [r4, #20] - 802aa58: d0cf beq.n 802a9fa - 802aa5a: 2900 cmp r1, #0 - 802aa5c: d0cd beq.n 802a9fa - 802aa5e: 2300 movs r3, #0 - 802aa60: f80e 3002 strb.w r3, [lr, r2] - 802aa64: f8c5 c004 str.w ip, [r5, #4] - 802aa68: 60a9 str r1, [r5, #8] - 802aa6a: e7c7 b.n 802a9fc - 802aa6c: 1c53 adds r3, r2, #1 - 802aa6e: 60c3 str r3, [r0, #12] - 802aa70: 2100 movs r1, #0 - 802aa72: f7ff fceb bl 802a44c - 802aa76: e7ce b.n 802aa16 - 802aa78: 2100 movs r1, #0 - 802aa7a: e7ba b.n 802a9f2 - -0802aa7c : - 802aa7c: b5f0 push {r4, r5, r6, r7, lr} - 802aa7e: 68c2 ldr r2, [r0, #12] - 802aa80: b081 sub sp, #4 - 802aa82: 7813 ldrb r3, [r2, #0] - 802aa84: 4606 mov r6, r0 - 802aa86: 2b4c cmp r3, #76 - 802aa88: d03a beq.n 802ab00 - 802aa8a: 2b54 cmp r3, #84 - 802aa8c: d03b beq.n 802ab06 - 802aa8e: 2b73 cmp r3, #115 - 802aa90: d102 bne.n 802aa98 - 802aa92: 7853 ldrb r3, [r2, #1] - 802aa94: 2b72 cmp r3, #114 - 802aa96: d039 beq.n 802ab0c - 802aa98: 4630 mov r0, r6 - 802aa9a: f7ff fb5f bl 802a15c - 802aa9e: 4607 mov r7, r0 - 802aaa0: b180 cbz r0, 802aac4 - 802aaa2: 7803 ldrb r3, [r0, #0] - 802aaa4: 2b29 cmp r3, #41 - 802aaa6: d010 beq.n 802aaca - 802aaa8: 2b2a cmp r3, #42 - 802aaaa: d043 beq.n 802ab34 - 802aaac: 2b2b cmp r3, #43 - 802aaae: d023 beq.n 802aaf8 - 802aab0: 2b29 cmp r3, #41 - 802aab2: d107 bne.n 802aac4 - 802aab4: 6844 ldr r4, [r0, #4] - 802aab6: 68e0 ldr r0, [r4, #12] - 802aab8: 2802 cmp r0, #2 - 802aaba: d05b beq.n 802ab74 - 802aabc: 2803 cmp r0, #3 - 802aabe: d03b beq.n 802ab38 - 802aac0: 2801 cmp r0, #1 - 802aac2: d019 beq.n 802aaf8 - 802aac4: 2000 movs r0, #0 - 802aac6: b001 add sp, #4 - 802aac8: bdf0 pop {r4, r5, r6, r7, pc} - 802aaca: 6841 ldr r1, [r0, #4] - 802aacc: 6b33 ldr r3, [r6, #48] - 802aace: 688a ldr r2, [r1, #8] - 802aad0: 493a ldr r1, [pc, #232] (802abbc ) - 802aad2: 189b adds r3, r3, r2 - 802aad4: 3b02 subs r3, #2 - 802aad6: 6333 str r3, [r6, #48] - 802aad8: 6844 ldr r4, [r0, #4] - 802aada: 6820 ldr r0, [r4, #0] - 802aadc: f008 fb5a bl 8033194 - 802aae0: 2800 cmp r0, #0 - 802aae2: d1e8 bne.n 802aab6 - 802aae4: 4630 mov r0, r6 - 802aae6: f7ff f8ef bl 8029cc8 - 802aaea: 4603 mov r3, r0 - 802aaec: 212c movs r1, #44 - 802aaee: 4630 mov r0, r6 - 802aaf0: 463a mov r2, r7 - 802aaf2: f7fe fe75 bl 80297e0 - 802aaf6: e7e6 b.n 802aac6 - 802aaf8: 4630 mov r0, r6 - 802aafa: f7ff ffbf bl 802aa7c - 802aafe: e7f4 b.n 802aaea - 802ab00: f7ff ff4a bl 802a998 - 802ab04: e7df b.n 802aac6 - 802ab06: f7fe ff51 bl 80299ac - 802ab0a: e7dc b.n 802aac6 - 802ab0c: 1c93 adds r3, r2, #2 - 802ab0e: 60c3 str r3, [r0, #12] - 802ab10: f7ff f8da bl 8029cc8 - 802ab14: 4605 mov r5, r0 - 802ab16: 4630 mov r0, r6 - 802ab18: f7ff fb9e bl 802a258 - 802ab1c: 68f3 ldr r3, [r6, #12] - 802ab1e: 4604 mov r4, r0 - 802ab20: 781a ldrb r2, [r3, #0] - 802ab22: 2a49 cmp r2, #73 - 802ab24: d03a beq.n 802ab9c - 802ab26: 4630 mov r0, r6 - 802ab28: 2101 movs r1, #1 - 802ab2a: 462a mov r2, r5 - 802ab2c: 4623 mov r3, r4 - 802ab2e: f7fe fe57 bl 80297e0 - 802ab32: e7c8 b.n 802aac6 - 802ab34: 6840 ldr r0, [r0, #4] - 802ab36: e7bf b.n 802aab8 - 802ab38: 4630 mov r0, r6 - 802ab3a: f7ff ff9f bl 802aa7c - 802ab3e: 4605 mov r5, r0 - 802ab40: 4630 mov r0, r6 - 802ab42: f7ff ff9b bl 802aa7c - 802ab46: 4604 mov r4, r0 - 802ab48: 4630 mov r0, r6 - 802ab4a: f7ff ff97 bl 802aa7c - 802ab4e: 2131 movs r1, #49 - 802ab50: 4603 mov r3, r0 - 802ab52: 4622 mov r2, r4 - 802ab54: 4630 mov r0, r6 - 802ab56: f7fe fe43 bl 80297e0 - 802ab5a: 2130 movs r1, #48 - 802ab5c: 4603 mov r3, r0 - 802ab5e: 462a mov r2, r5 - 802ab60: 4630 mov r0, r6 - 802ab62: f7fe fe3d bl 80297e0 - 802ab66: 212f movs r1, #47 - 802ab68: 4603 mov r3, r0 - 802ab6a: 463a mov r2, r7 - 802ab6c: 4630 mov r0, r6 - 802ab6e: f7fe fe37 bl 80297e0 - 802ab72: e7a8 b.n 802aac6 - 802ab74: 4630 mov r0, r6 - 802ab76: f7ff ff81 bl 802aa7c - 802ab7a: 4604 mov r4, r0 - 802ab7c: 4630 mov r0, r6 - 802ab7e: f7ff ff7d bl 802aa7c - 802ab82: 212e movs r1, #46 - 802ab84: 4603 mov r3, r0 - 802ab86: 4622 mov r2, r4 - 802ab88: 4630 mov r0, r6 - 802ab8a: f7fe fe29 bl 80297e0 - 802ab8e: 212d movs r1, #45 - 802ab90: 4603 mov r3, r0 - 802ab92: 463a mov r2, r7 - 802ab94: 4630 mov r0, r6 - 802ab96: f7fe fe23 bl 80297e0 - 802ab9a: e794 b.n 802aac6 - 802ab9c: 4630 mov r0, r6 - 802ab9e: f000 f80f bl 802abc0 - 802aba2: 2104 movs r1, #4 - 802aba4: 4603 mov r3, r0 - 802aba6: 4622 mov r2, r4 - 802aba8: 4630 mov r0, r6 - 802abaa: f7fe fe19 bl 80297e0 - 802abae: 2101 movs r1, #1 - 802abb0: 4603 mov r3, r0 - 802abb2: 462a mov r2, r5 - 802abb4: 4630 mov r0, r6 - 802abb6: f7fe fe13 bl 80297e0 - 802abba: e784 b.n 802aac6 - 802abbc: 08035094 .word 0x08035094 - -0802abc0 : - 802abc0: b570 push {r4, r5, r6, lr} - 802abc2: 68c2 ldr r2, [r0, #12] - 802abc4: b082 sub sp, #8 - 802abc6: 7813 ldrb r3, [r2, #0] - 802abc8: 4604 mov r4, r0 - 802abca: 2b49 cmp r3, #73 - 802abcc: 6ac6 ldr r6, [r0, #44] - 802abce: d002 beq.n 802abd6 - 802abd0: 2000 movs r0, #0 - 802abd2: b002 add sp, #8 - 802abd4: bd70 pop {r4, r5, r6, pc} - 802abd6: 3b49 subs r3, #73 - 802abd8: 1c51 adds r1, r2, #1 - 802abda: ad02 add r5, sp, #8 - 802abdc: 60c1 str r1, [r0, #12] - 802abde: f845 3d04 str.w r3, [r5, #-4]! - 802abe2: 7853 ldrb r3, [r2, #1] - 802abe4: 2b4c cmp r3, #76 - 802abe6: d016 beq.n 802ac16 - 802abe8: 2b58 cmp r3, #88 - 802abea: d019 beq.n 802ac20 - 802abec: 4620 mov r0, r4 - 802abee: f7ff f86b bl 8029cc8 - 802abf2: 4602 mov r2, r0 - 802abf4: 2a00 cmp r2, #0 - 802abf6: d0eb beq.n 802abd0 - 802abf8: 4620 mov r0, r4 - 802abfa: 2128 movs r1, #40 - 802abfc: 2300 movs r3, #0 - 802abfe: f7fe fdef bl 80297e0 - 802ac02: 6028 str r0, [r5, #0] - 802ac04: 2800 cmp r0, #0 - 802ac06: d0e3 beq.n 802abd0 - 802ac08: 68e1 ldr r1, [r4, #12] - 802ac0a: 780b ldrb r3, [r1, #0] - 802ac0c: 2b45 cmp r3, #69 - 802ac0e: d014 beq.n 802ac3a - 802ac10: f100 0508 add.w r5, r0, #8 ; 0x8 - 802ac14: e7e6 b.n 802abe4 - 802ac16: 4620 mov r0, r4 - 802ac18: f7ff febe bl 802a998 - 802ac1c: 4602 mov r2, r0 - 802ac1e: e7e9 b.n 802abf4 - 802ac20: 1c4b adds r3, r1, #1 - 802ac22: 60e3 str r3, [r4, #12] - 802ac24: 4620 mov r0, r4 - 802ac26: f7ff ff29 bl 802aa7c - 802ac2a: 68e1 ldr r1, [r4, #12] - 802ac2c: 4602 mov r2, r0 - 802ac2e: 780b ldrb r3, [r1, #0] - 802ac30: 2b45 cmp r3, #69 - 802ac32: d1cd bne.n 802abd0 - 802ac34: 1c4b adds r3, r1, #1 - 802ac36: 60e3 str r3, [r4, #12] - 802ac38: e7dc b.n 802abf4 - 802ac3a: 1c4b adds r3, r1, #1 - 802ac3c: 60e3 str r3, [r4, #12] - 802ac3e: 62e6 str r6, [r4, #44] - 802ac40: 9801 ldr r0, [sp, #4] - 802ac42: e7c6 b.n 802abd2 - -0802ac44 : - 802ac44: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 802ac48: 68c2 ldr r2, [r0, #12] - 802ac4a: b082 sub sp, #8 - 802ac4c: 7813 ldrb r3, [r2, #0] - 802ac4e: 4606 mov r6, r0 - 802ac50: 3b4c subs r3, #76 - 802ac52: 2b0e cmp r3, #14 - 802ac54: d809 bhi.n 802ac6a - 802ac56: e8df f003 tbb [pc, r3] - 802ac5a: 0883 .short 0x0883 - 802ac5c: 0808083b .word 0x0808083b - 802ac60: 08082108 .word 0x08082108 - 802ac64: 08080808 .word 0x08080808 - 802ac68: 0014 .short 0x0014 - 802ac6a: f7ff faf5 bl 802a258 - 802ac6e: 68f3 ldr r3, [r6, #12] - 802ac70: 4604 mov r4, r0 - 802ac72: 781a ldrb r2, [r3, #0] - 802ac74: 2a49 cmp r2, #73 - 802ac76: f000 80d0 beq.w 802ae1a - 802ac7a: 4620 mov r0, r4 - 802ac7c: b002 add sp, #8 - 802ac7e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - 802ac82: 1c53 adds r3, r2, #1 - 802ac84: 60c3 str r3, [r0, #12] - 802ac86: 2100 movs r1, #0 - 802ac88: f7ff fbe0 bl 802a44c - 802ac8c: 68f2 ldr r2, [r6, #12] - 802ac8e: 4604 mov r4, r0 - 802ac90: 7813 ldrb r3, [r2, #0] - 802ac92: 2b45 cmp r3, #69 - 802ac94: f000 80a0 beq.w 802add8 - 802ac98: 2400 movs r4, #0 - 802ac9a: e7ee b.n 802ac7a - 802ac9c: 7853 ldrb r3, [r2, #1] - 802ac9e: 2b74 cmp r3, #116 - 802aca0: d06c beq.n 802ad7c - 802aca2: 2100 movs r1, #0 - 802aca4: f7fe feb6 bl 8029a14 - 802aca8: 2101 movs r1, #1 - 802acaa: 4604 mov r4, r0 - 802acac: 68f3 ldr r3, [r6, #12] - 802acae: 781a ldrb r2, [r3, #0] - 802acb0: 2a49 cmp r2, #73 - 802acb2: d1e2 bne.n 802ac7a - 802acb4: 2900 cmp r1, #0 - 802acb6: f000 80b0 beq.w 802ae1a - 802acba: 4630 mov r0, r6 - 802acbc: f7ff ff80 bl 802abc0 - 802acc0: 4622 mov r2, r4 - 802acc2: 4603 mov r3, r0 - 802acc4: 2104 movs r1, #4 - 802acc6: 4630 mov r0, r6 - 802acc8: f7fe fd8a bl 80297e0 - 802accc: 4604 mov r4, r0 - 802acce: e7d4 b.n 802ac7a - 802acd0: 1c53 adds r3, r2, #1 - 802acd2: 60c3 str r3, [r0, #12] - 802acd4: a901 add r1, sp, #4 - 802acd6: 2201 movs r2, #1 - 802acd8: f7fe fe22 bl 8029920 - 802acdc: 4680 mov r8, r0 - 802acde: 2800 cmp r0, #0 - 802ace0: d0da beq.n 802ac98 - 802ace2: 68f1 ldr r1, [r6, #12] - 802ace4: 2700 movs r7, #0 - 802ace6: 780c ldrb r4, [r1, #0] - 802ace8: 2c00 cmp r4, #0 - 802acea: d042 beq.n 802ad72 - 802acec: f1a4 0361 sub.w r3, r4, #97 ; 0x61 - 802acf0: f1a4 0230 sub.w r2, r4, #48 ; 0x30 - 802acf4: b2db uxtb r3, r3 - 802acf6: b2d2 uxtb r2, r2 - 802acf8: 2b19 cmp r3, #25 - 802acfa: bf8c ite hi - 802acfc: 2300 movhi r3, #0 - 802acfe: 2301 movls r3, #1 - 802ad00: 2a09 cmp r2, #9 - 802ad02: bf98 it ls - 802ad04: f043 0301 orrls.w r3, r3, #1 ; 0x1 - 802ad08: 2b00 cmp r3, #0 - 802ad0a: d15a bne.n 802adc2 - 802ad0c: 2c44 cmp r4, #68 - 802ad0e: bf14 ite ne - 802ad10: 2300 movne r3, #0 - 802ad12: 2301 moveq r3, #1 - 802ad14: 2c43 cmp r4, #67 - 802ad16: bf08 it eq - 802ad18: f043 0301 orreq.w r3, r3, #1 ; 0x1 - 802ad1c: 2b00 cmp r3, #0 - 802ad1e: d150 bne.n 802adc2 - 802ad20: 2c4c cmp r4, #76 - 802ad22: d04e beq.n 802adc2 - 802ad24: 2c53 cmp r4, #83 - 802ad26: d051 beq.n 802adcc - 802ad28: 2c49 cmp r4, #73 - 802ad2a: f000 8093 beq.w 802ae54 - 802ad2e: 2c54 cmp r4, #84 - 802ad30: f040 8081 bne.w 802ae36 - 802ad34: 4630 mov r0, r6 - 802ad36: f7fe fe39 bl 80299ac - 802ad3a: 4605 mov r5, r0 - 802ad3c: b137 cbz r7, 802ad4c - 802ad3e: 2101 movs r1, #1 - 802ad40: 462b mov r3, r5 - 802ad42: 4630 mov r0, r6 - 802ad44: 463a mov r2, r7 - 802ad46: f7fe fd4b bl 80297e0 - 802ad4a: 4605 mov r5, r0 - 802ad4c: 2c53 cmp r4, #83 - 802ad4e: bf08 it eq - 802ad50: 68f1 ldreq r1, [r6, #12] - 802ad52: d003 beq.n 802ad5c - 802ad54: 68f1 ldr r1, [r6, #12] - 802ad56: 780b ldrb r3, [r1, #0] - 802ad58: 2b45 cmp r3, #69 - 802ad5a: d105 bne.n 802ad68 - 802ad5c: 462f mov r7, r5 - 802ad5e: e7c2 b.n 802ace6 - 802ad60: f7ff fa7a bl 802a258 - 802ad64: 4604 mov r4, r0 - 802ad66: e788 b.n 802ac7a - 802ad68: b11d cbz r5, 802ad72 - 802ad6a: 6a32 ldr r2, [r6, #32] - 802ad6c: 6a73 ldr r3, [r6, #36] - 802ad6e: 429a cmp r2, r3 - 802ad70: db4c blt.n 802ae0c - 802ad72: 2300 movs r3, #0 - 802ad74: f8c8 3000 str.w r3, [r8] - 802ad78: 461c mov r4, r3 - 802ad7a: e77e b.n 802ac7a - 802ad7c: 1c93 adds r3, r2, #2 - 802ad7e: 60c3 str r3, [r0, #12] - 802ad80: 6941 ldr r1, [r0, #20] - 802ad82: 6983 ldr r3, [r0, #24] - 802ad84: 4299 cmp r1, r3 - 802ad86: da3f bge.n 802ae08 - 802ad88: 008b lsls r3, r1, #2 - 802ad8a: 010a lsls r2, r1, #4 - 802ad8c: 6900 ldr r0, [r0, #16] - 802ad8e: 1ad2 subs r2, r2, r3 - 802ad90: 1c4b adds r3, r1, #1 - 802ad92: 1884 adds r4, r0, r2 - 802ad94: 6173 str r3, [r6, #20] - 802ad96: d037 beq.n 802ae08 - 802ad98: 2300 movs r3, #0 - 802ad9a: 5483 strb r3, [r0, r2] - 802ad9c: 4a4b ldr r2, [pc, #300] (802aecc ) - 802ad9e: 3303 adds r3, #3 - 802ada0: 6062 str r2, [r4, #4] - 802ada2: 60a3 str r3, [r4, #8] - 802ada4: 4630 mov r0, r6 - 802ada6: f7ff fa57 bl 802a258 - 802adaa: 2101 movs r1, #1 - 802adac: 4603 mov r3, r0 - 802adae: 4622 mov r2, r4 - 802adb0: 4630 mov r0, r6 - 802adb2: f7fe fd15 bl 80297e0 - 802adb6: 6b33 ldr r3, [r6, #48] - 802adb8: 4604 mov r4, r0 - 802adba: 3303 adds r3, #3 - 802adbc: 6333 str r3, [r6, #48] - 802adbe: 2100 movs r1, #0 - 802adc0: e774 b.n 802acac - 802adc2: 4630 mov r0, r6 - 802adc4: f7ff fa48 bl 802a258 - 802adc8: 4605 mov r5, r0 - 802adca: e7b7 b.n 802ad3c - 802adcc: 4630 mov r0, r6 - 802adce: 2101 movs r1, #1 - 802add0: f7fe fe20 bl 8029a14 - 802add4: 4605 mov r5, r0 - 802add6: e7b1 b.n 802ad3c - 802add8: 1c51 adds r1, r2, #1 - 802adda: 60f1 str r1, [r6, #12] - 802addc: 7853 ldrb r3, [r2, #1] - 802adde: 2b73 cmp r3, #115 - 802ade0: d140 bne.n 802ae64 - 802ade2: 1c4a adds r2, r1, #1 - 802ade4: 60f2 str r2, [r6, #12] - 802ade6: 784b ldrb r3, [r1, #1] - 802ade8: 2b5f cmp r3, #95 - 802adea: d05d beq.n 802aea8 - 802adec: 6971 ldr r1, [r6, #20] - 802adee: 69b3 ldr r3, [r6, #24] - 802adf0: 4299 cmp r1, r3 - 802adf2: db47 blt.n 802ae84 - 802adf4: f04f 0c00 mov.w ip, #0 ; 0x0 - 802adf8: 4622 mov r2, r4 - 802adfa: 4630 mov r0, r6 - 802adfc: 2102 movs r1, #2 - 802adfe: 4663 mov r3, ip - 802ae00: f7fe fcee bl 80297e0 - 802ae04: 4604 mov r4, r0 - 802ae06: e738 b.n 802ac7a - 802ae08: 2400 movs r4, #0 - 802ae0a: e7cb b.n 802ada4 - 802ae0c: 69f3 ldr r3, [r6, #28] - 802ae0e: 462f mov r7, r5 - 802ae10: f843 5022 str.w r5, [r3, r2, lsl #2] - 802ae14: 3201 adds r2, #1 - 802ae16: 6232 str r2, [r6, #32] - 802ae18: e765 b.n 802ace6 - 802ae1a: 2c00 cmp r4, #0 - 802ae1c: f43f af2d beq.w 802ac7a - 802ae20: 6a32 ldr r2, [r6, #32] - 802ae22: 6a73 ldr r3, [r6, #36] - 802ae24: 429a cmp r2, r3 - 802ae26: f6bf af37 bge.w 802ac98 - 802ae2a: 69f3 ldr r3, [r6, #28] - 802ae2c: f843 4022 str.w r4, [r3, r2, lsl #2] - 802ae30: 3201 adds r2, #1 - 802ae32: 6232 str r2, [r6, #32] - 802ae34: e741 b.n 802acba - 802ae36: 2c45 cmp r4, #69 - 802ae38: d19b bne.n 802ad72 - 802ae3a: f8c8 7000 str.w r7, [r8] - 802ae3e: 2f00 cmp r7, #0 - 802ae40: f43f af2a beq.w 802ac98 - 802ae44: 780b ldrb r3, [r1, #0] - 802ae46: 2b45 cmp r3, #69 - 802ae48: f47f af26 bne.w 802ac98 - 802ae4c: 1c4b adds r3, r1, #1 - 802ae4e: 60f3 str r3, [r6, #12] - 802ae50: 9c01 ldr r4, [sp, #4] - 802ae52: e712 b.n 802ac7a - 802ae54: 2f00 cmp r7, #0 - 802ae56: d08c beq.n 802ad72 - 802ae58: 4630 mov r0, r6 - 802ae5a: f7ff feb1 bl 802abc0 - 802ae5e: 2104 movs r1, #4 - 802ae60: 4605 mov r5, r0 - 802ae62: e76d b.n 802ad40 - 802ae64: 4630 mov r0, r6 - 802ae66: f7ff feed bl 802ac44 - 802ae6a: 68f2 ldr r2, [r6, #12] - 802ae6c: 4605 mov r5, r0 - 802ae6e: 7813 ldrb r3, [r2, #0] - 802ae70: 2b5f cmp r3, #95 - 802ae72: d022 beq.n 802aeba - 802ae74: 4622 mov r2, r4 - 802ae76: 4630 mov r0, r6 - 802ae78: 2102 movs r1, #2 - 802ae7a: 462b mov r3, r5 - 802ae7c: f7fe fcb0 bl 80297e0 - 802ae80: 4604 mov r4, r0 - 802ae82: e6fa b.n 802ac7a - 802ae84: 008b lsls r3, r1, #2 - 802ae86: 010a lsls r2, r1, #4 - 802ae88: 6930 ldr r0, [r6, #16] - 802ae8a: 1ad2 subs r2, r2, r3 - 802ae8c: 1c4b adds r3, r1, #1 - 802ae8e: eb10 0c02 adds.w ip, r0, r2 - 802ae92: 6173 str r3, [r6, #20] - 802ae94: d0ae beq.n 802adf4 - 802ae96: 2300 movs r3, #0 - 802ae98: 5483 strb r3, [r0, r2] - 802ae9a: 4a0d ldr r2, [pc, #52] (802aed0 ) - 802ae9c: 330e adds r3, #14 - 802ae9e: f8cc 2004 str.w r2, [ip, #4] - 802aea2: f8cc 3008 str.w r3, [ip, #8] - 802aea6: e7a7 b.n 802adf8 - 802aea8: 1c53 adds r3, r2, #1 - 802aeaa: 60f3 str r3, [r6, #12] - 802aeac: 4630 mov r0, r6 - 802aeae: f7fe fce9 bl 8029884 - 802aeb2: 2800 cmp r0, #0 - 802aeb4: da9a bge.n 802adec - 802aeb6: 2400 movs r4, #0 - 802aeb8: e6df b.n 802ac7a - 802aeba: 1c53 adds r3, r2, #1 - 802aebc: 60f3 str r3, [r6, #12] - 802aebe: 4630 mov r0, r6 - 802aec0: f7fe fce0 bl 8029884 - 802aec4: 2800 cmp r0, #0 - 802aec6: dad5 bge.n 802ae74 - 802aec8: 2400 movs r4, #0 - 802aeca: e6d6 b.n 802ac7a - 802aecc: 08034f0c .word 0x08034f0c - 802aed0: 08034efc .word 0x08034efc - -0802aed4 : - 802aed4: 6853 ldr r3, [r2, #4] - 802aed6: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 802aeda: 4615 mov r5, r2 - 802aedc: 3301 adds r3, #1 - 802aede: 68ac ldr r4, [r5, #8] - 802aee0: eb03 0201 add.w r2, r3, r1 - 802aee4: 42a2 cmp r2, r4 - 802aee6: 4680 mov r8, r0 - 802aee8: 460e mov r6, r1 - 802aeea: d811 bhi.n 802af10 - 802aeec: 68ec ldr r4, [r5, #12] - 802aeee: b96c cbnz r4, 802af0c - 802aef0: 686b ldr r3, [r5, #4] - 802aef2: 6828 ldr r0, [r5, #0] - 802aef4: 4641 mov r1, r8 - 802aef6: 18c0 adds r0, r0, r3 - 802aef8: 4632 mov r2, r6 - 802aefa: f007 fdaf bl 8032a5c - 802aefe: 682a ldr r2, [r5, #0] - 802af00: 6869 ldr r1, [r5, #4] - 802af02: 1992 adds r2, r2, r6 - 802af04: 5454 strb r4, [r2, r1] - 802af06: 686b ldr r3, [r5, #4] - 802af08: 199b adds r3, r3, r6 - 802af0a: 606b str r3, [r5, #4] - 802af0c: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - 802af10: 68eb ldr r3, [r5, #12] - 802af12: 2b00 cmp r3, #0 - 802af14: d1fa bne.n 802af0c - 802af16: b914 cbnz r4, 802af1e - 802af18: 2a02 cmp r2, #2 - 802af1a: d90c bls.n 802af36 - 802af1c: 2402 movs r4, #2 - 802af1e: 0064 lsls r4, r4, #1 - 802af20: 42a2 cmp r2, r4 - 802af22: d8fc bhi.n 802af1e - 802af24: 6828 ldr r0, [r5, #0] - 802af26: 4621 mov r1, r4 - 802af28: f007 fe1e bl 8032b68 - 802af2c: 4607 mov r7, r0 - 802af2e: b120 cbz r0, 802af3a - 802af30: 6028 str r0, [r5, #0] - 802af32: 60ac str r4, [r5, #8] - 802af34: e7da b.n 802aeec - 802af36: 3402 adds r4, #2 - 802af38: e7f4 b.n 802af24 - 802af3a: 6828 ldr r0, [r5, #0] - 802af3c: f007 fb20 bl 8032580 - 802af40: 2301 movs r3, #1 - 802af42: 602f str r7, [r5, #0] - 802af44: 606f str r7, [r5, #4] - 802af46: 60af str r7, [r5, #8] - 802af48: 60eb str r3, [r5, #12] - 802af4a: e7df b.n 802af0c - -0802af4c : - 802af4c: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} - 802af50: 4604 mov r4, r0 - 802af52: 4688 mov r8, r1 - 802af54: 4617 mov r7, r2 - 802af56: b35a cbz r2, 802afb0 - 802af58: 2500 movs r5, #0 - 802af5a: f100 0904 add.w r9, r0, #4 ; 0x4 - 802af5e: 46aa mov sl, r5 - 802af60: e00a b.n 802af78 - 802af62: 3501 adds r5, #1 - 802af64: 1c4a adds r2, r1, #1 - 802af66: eb04 0301 add.w r3, r4, r1 - 802af6a: 42af cmp r7, r5 - 802af6c: 711e strb r6, [r3, #4] - 802af6e: f8c4 2104 str.w r2, [r4, #260] - 802af72: f884 6108 strb.w r6, [r4, #264] - 802af76: d91b bls.n 802afb0 - 802af78: f8d4 1104 ldr.w r1, [r4, #260] - 802af7c: f818 6005 ldrb.w r6, [r8, r5] - 802af80: 29ff cmp r1, #255 - 802af82: d1ee bne.n 802af62 - 802af84: f8d4 2110 ldr.w r2, [r4, #272] - 802af88: f8d4 310c ldr.w r3, [r4, #268] - 802af8c: f884 a103 strb.w sl, [r4, #259] - 802af90: 4648 mov r0, r9 - 802af92: 4798 blx r3 - 802af94: 3501 adds r5, #1 - 802af96: 4651 mov r1, sl - 802af98: 1c4a adds r2, r1, #1 - 802af9a: eb04 0301 add.w r3, r4, r1 - 802af9e: 42af cmp r7, r5 - 802afa0: f8c4 a104 str.w sl, [r4, #260] - 802afa4: 711e strb r6, [r3, #4] - 802afa6: f8c4 2104 str.w r2, [r4, #260] - 802afaa: f884 6108 strb.w r6, [r4, #264] - 802afae: d8e3 bhi.n 802af78 - 802afb0: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} - -0802afb4 : - 802afb4: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} - 802afb8: 4604 mov r4, r0 - 802afba: 4608 mov r0, r1 - 802afbc: 4688 mov r8, r1 - 802afbe: f008 f903 bl 80331c8 - 802afc2: 4607 mov r7, r0 - 802afc4: b358 cbz r0, 802b01e - 802afc6: 2500 movs r5, #0 - 802afc8: f104 0904 add.w r9, r4, #4 ; 0x4 - 802afcc: 46aa mov sl, r5 - 802afce: e00a b.n 802afe6 - 802afd0: 3501 adds r5, #1 - 802afd2: 1c4a adds r2, r1, #1 - 802afd4: eb04 0301 add.w r3, r4, r1 - 802afd8: 42af cmp r7, r5 - 802afda: 711e strb r6, [r3, #4] - 802afdc: f8c4 2104 str.w r2, [r4, #260] - 802afe0: f884 6108 strb.w r6, [r4, #264] - 802afe4: d91b bls.n 802b01e - 802afe6: f8d4 1104 ldr.w r1, [r4, #260] - 802afea: f818 6005 ldrb.w r6, [r8, r5] - 802afee: 29ff cmp r1, #255 - 802aff0: d1ee bne.n 802afd0 - 802aff2: f8d4 2110 ldr.w r2, [r4, #272] - 802aff6: f8d4 310c ldr.w r3, [r4, #268] - 802affa: f884 a103 strb.w sl, [r4, #259] - 802affe: 4648 mov r0, r9 - 802b000: 4798 blx r3 - 802b002: 3501 adds r5, #1 - 802b004: 4651 mov r1, sl - 802b006: 1c4a adds r2, r1, #1 - 802b008: eb04 0301 add.w r3, r4, r1 - 802b00c: 42af cmp r7, r5 - 802b00e: f8c4 a104 str.w sl, [r4, #260] - 802b012: 711e strb r6, [r3, #4] - 802b014: f8c4 2104 str.w r2, [r4, #260] - 802b018: f884 6108 strb.w r6, [r4, #264] - 802b01c: d8e3 bhi.n 802afe6 - 802b01e: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} - 802b022: 46c0 nop (mov r8, r8) - -0802b024 : - 802b024: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 802b028: 4605 mov r5, r0 - 802b02a: 4688 mov r8, r1 - 802b02c: 4616 mov r6, r2 - 802b02e: 2a00 cmp r2, #0 - 802b030: d042 beq.n 802b0b8 - 802b032: 6894 ldr r4, [r2, #8] - 802b034: b13c cbz r4, 802b046 - 802b036: 6812 ldr r2, [r2, #0] - 802b038: 2a00 cmp r2, #0 - 802b03a: d1fa bne.n 802b032 - 802b03c: 4628 mov r0, r5 - 802b03e: 4631 mov r1, r6 - 802b040: f000 fe78 bl 802bd34 - 802b044: e038 b.n 802b0b8 - 802b046: 6853 ldr r3, [r2, #4] - 802b048: 781a ldrb r2, [r3, #0] - 802b04a: 2a25 cmp r2, #37 - 802b04c: f000 8085 beq.w 802b15a - 802b050: f8d5 c104 ldr.w ip, [r5, #260] - 802b054: 1d2f adds r7, r5, #4 - 802b056: f1bc 0fff cmp.w ip, #255 ; 0xff - 802b05a: f000 8092 beq.w 802b182 - 802b05e: f10c 0201 add.w r2, ip, #1 ; 0x1 - 802b062: 2120 movs r1, #32 - 802b064: eb05 030c add.w r3, r5, ip - 802b068: 2aff cmp r2, #255 - 802b06a: 7119 strb r1, [r3, #4] - 802b06c: f8c5 2104 str.w r2, [r5, #260] - 802b070: f885 1108 strb.w r1, [r5, #264] - 802b074: 4694 mov ip, r2 - 802b076: f000 8091 beq.w 802b19c - 802b07a: 2128 movs r1, #40 - 802b07c: f10c 0201 add.w r2, ip, #1 ; 0x1 - 802b080: eb05 030c add.w r3, r5, ip - 802b084: 7119 strb r1, [r3, #4] - 802b086: f8c5 2104 str.w r2, [r5, #260] - 802b08a: f885 1108 strb.w r1, [r5, #264] - 802b08e: 2200 movs r2, #0 - 802b090: 4628 mov r0, r5 - 802b092: 4631 mov r1, r6 - 802b094: f000 fe4e bl 802bd34 - 802b098: f8d5 c104 ldr.w ip, [r5, #260] - 802b09c: f1bc 0fff cmp.w ip, #255 ; 0xff - 802b0a0: f000 808a beq.w 802b1b8 - 802b0a4: 2129 movs r1, #41 - 802b0a6: eb05 030c add.w r3, r5, ip - 802b0aa: f10c 0201 add.w r2, ip, #1 ; 0x1 - 802b0ae: 7119 strb r1, [r3, #4] - 802b0b0: f8c5 2104 str.w r2, [r5, #260] - 802b0b4: f885 1108 strb.w r1, [r5, #264] - 802b0b8: f8d5 c104 ldr.w ip, [r5, #260] - 802b0bc: f1bc 0fff cmp.w ip, #255 ; 0xff - 802b0c0: d051 beq.n 802b166 - 802b0c2: 2120 movs r1, #32 - 802b0c4: eb05 030c add.w r3, r5, ip - 802b0c8: f10c 0201 add.w r2, ip, #1 ; 0x1 - 802b0cc: 7119 strb r1, [r3, #4] - 802b0ce: f8c5 2104 str.w r2, [r5, #260] - 802b0d2: f885 1108 strb.w r1, [r5, #264] - 802b0d6: f8d5 c104 ldr.w ip, [r5, #260] - 802b0da: f1bc 0fff cmp.w ip, #255 ; 0xff - 802b0de: d02e beq.n 802b13e - 802b0e0: 215b movs r1, #91 - 802b0e2: eb05 030c add.w r3, r5, ip - 802b0e6: f10c 0201 add.w r2, ip, #1 ; 0x1 - 802b0ea: 7119 strb r1, [r3, #4] - 802b0ec: f8c5 2104 str.w r2, [r5, #260] - 802b0f0: f885 1108 strb.w r1, [r5, #264] - 802b0f4: f8d8 1004 ldr.w r1, [r8, #4] - 802b0f8: b111 cbz r1, 802b100 - 802b0fa: 4628 mov r0, r5 - 802b0fc: f000 f86a bl 802b1d4 - 802b100: f8d5 c104 ldr.w ip, [r5, #260] - 802b104: f1bc 0fff cmp.w ip, #255 ; 0xff - 802b108: d00b beq.n 802b122 - 802b10a: 215d movs r1, #93 - 802b10c: eb05 030c add.w r3, r5, ip - 802b110: f10c 0201 add.w r2, ip, #1 ; 0x1 - 802b114: 7119 strb r1, [r3, #4] - 802b116: f8c5 2104 str.w r2, [r5, #260] - 802b11a: f885 1108 strb.w r1, [r5, #264] - 802b11e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - 802b122: 2400 movs r4, #0 - 802b124: 4661 mov r1, ip - 802b126: f885 4103 strb.w r4, [r5, #259] - 802b12a: 1d28 adds r0, r5, #4 - 802b12c: f8d5 2110 ldr.w r2, [r5, #272] - 802b130: f8d5 310c ldr.w r3, [r5, #268] - 802b134: 4798 blx r3 - 802b136: f8c5 4104 str.w r4, [r5, #260] - 802b13a: 46a4 mov ip, r4 - 802b13c: e7e5 b.n 802b10a - 802b13e: 2400 movs r4, #0 - 802b140: 4661 mov r1, ip - 802b142: f885 4103 strb.w r4, [r5, #259] - 802b146: 1d28 adds r0, r5, #4 - 802b148: f8d5 2110 ldr.w r2, [r5, #272] - 802b14c: f8d5 310c ldr.w r3, [r5, #268] - 802b150: 4798 blx r3 - 802b152: f8c5 4104 str.w r4, [r5, #260] - 802b156: 46a4 mov ip, r4 - 802b158: e7c2 b.n 802b0e0 - 802b15a: 4628 mov r0, r5 - 802b15c: 4631 mov r1, r6 - 802b15e: 4622 mov r2, r4 - 802b160: f000 fde8 bl 802bd34 - 802b164: e7b7 b.n 802b0d6 - 802b166: 2400 movs r4, #0 - 802b168: 4661 mov r1, ip - 802b16a: f885 4103 strb.w r4, [r5, #259] - 802b16e: 1d28 adds r0, r5, #4 - 802b170: f8d5 2110 ldr.w r2, [r5, #272] - 802b174: f8d5 310c ldr.w r3, [r5, #268] - 802b178: 4798 blx r3 - 802b17a: f8c5 4104 str.w r4, [r5, #260] - 802b17e: 46a4 mov ip, r4 - 802b180: e79f b.n 802b0c2 - 802b182: 4661 mov r1, ip - 802b184: f885 4103 strb.w r4, [r5, #259] - 802b188: f8d5 2110 ldr.w r2, [r5, #272] - 802b18c: f8d5 310c ldr.w r3, [r5, #268] - 802b190: 4638 mov r0, r7 - 802b192: 4798 blx r3 - 802b194: f8c5 4104 str.w r4, [r5, #260] - 802b198: 46a4 mov ip, r4 - 802b19a: e760 b.n 802b05e - 802b19c: 2400 movs r4, #0 - 802b19e: 4661 mov r1, ip - 802b1a0: f885 4103 strb.w r4, [r5, #259] - 802b1a4: f8d5 2110 ldr.w r2, [r5, #272] - 802b1a8: f8d5 310c ldr.w r3, [r5, #268] - 802b1ac: 4638 mov r0, r7 - 802b1ae: 4798 blx r3 - 802b1b0: f8c5 4104 str.w r4, [r5, #260] - 802b1b4: 46a4 mov ip, r4 - 802b1b6: e760 b.n 802b07a - 802b1b8: 2400 movs r4, #0 - 802b1ba: 4661 mov r1, ip - 802b1bc: f885 4103 strb.w r4, [r5, #259] - 802b1c0: f8d5 2110 ldr.w r2, [r5, #272] - 802b1c4: f8d5 310c ldr.w r3, [r5, #268] - 802b1c8: 4638 mov r0, r7 - 802b1ca: 4798 blx r3 - 802b1cc: f8c5 4104 str.w r4, [r5, #260] - 802b1d0: 46a4 mov ip, r4 - 802b1d2: e767 b.n 802b0a4 - -0802b1d4 : - 802b1d4: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 802b1d8: 4680 mov r8, r0 - 802b1da: b09b sub sp, #108 - 802b1dc: 460f mov r7, r1 - 802b1de: 2900 cmp r1, #0 - 802b1e0: d06e beq.n 802b2c0 - 802b1e2: f8d0 311c ldr.w r3, [r0, #284] - 802b1e6: 2b00 cmp r3, #0 - 802b1e8: d167 bne.n 802b2ba - 802b1ea: 7808 ldrb r0, [r1, #0] - 802b1ec: 2836 cmp r0, #54 - 802b1ee: d867 bhi.n 802b2c0 - 802b1f0: e8df f010 tbh [pc, r0, lsl #1] - 802b1f4: 006a021a .word 0x006a021a - 802b1f8: 0127006a .word 0x0127006a - 802b1fc: 02b9028b .word 0x02b9028b - 802b200: 02e00079 .word 0x02e00079 - 802b204: 03a103cc .word 0x03a103cc - 802b208: 03d503e7 .word 0x03d503e7 - 802b20c: 023b03de .word 0x023b03de - 802b210: 024f0245 .word 0x024f0245 - 802b214: 02630259 .word 0x02630259 - 802b218: 0277026d .word 0x0277026d - 802b21c: 00880281 .word 0x00880281 - 802b220: 01c301c3 .word 0x01c301c3 - 802b224: 031201c3 .word 0x031201c3 - 802b228: 03120312 .word 0x03120312 - 802b22c: 03120312 .word 0x03120312 - 802b230: 03120312 .word 0x03120312 - 802b234: 03120312 .word 0x03120312 - 802b238: 0083032d .word 0x0083032d - 802b23c: 033a01da .word 0x033a01da - 802b240: 02e903aa .word 0x02e903aa - 802b244: 02fb02e9 .word 0x02fb02e9 - 802b248: 011d0113 .word 0x011d0113 - 802b24c: 00a3008e .word 0x00a3008e - 802b250: 00df0066 .word 0x00df0066 - 802b254: 00660066 .word 0x00660066 - 802b258: 00370037 .word 0x00370037 - 802b25c: 0211007e .word 0x0211007e - 802b260: 010e .short 0x010e - 802b262: 684a ldr r2, [r1, #4] - 802b264: 7813 ldrb r3, [r2, #0] - 802b266: 2b22 cmp r3, #34 - 802b268: f040 8402 bne.w 802ba70 - 802b26c: 6853 ldr r3, [r2, #4] - 802b26e: 7c1c ldrb r4, [r3, #16] - 802b270: b12c cbz r4, 802b27e - 802b272: 2c06 cmp r4, #6 - 802b274: f240 843f bls.w 802baf6 - 802b278: 2c07 cmp r4, #7 - 802b27a: f000 8423 beq.w 802bac4 - 802b27e: 2128 movs r1, #40 - 802b280: 4640 mov r0, r8 - 802b282: f7fe fc91 bl 8029ba8 - 802b286: 6879 ldr r1, [r7, #4] - 802b288: 4640 mov r0, r8 - 802b28a: f7ff ffa3 bl 802b1d4 - 802b28e: 2129 movs r1, #41 - 802b290: 4640 mov r0, r8 - 802b292: f7fe fc89 bl 8029ba8 - 802b296: 783b ldrb r3, [r7, #0] - 802b298: 2b33 cmp r3, #51 - 802b29a: f000 8467 beq.w 802bb6c - 802b29e: 2c08 cmp r4, #8 - 802b2a0: d121 bne.n 802b2e6 - 802b2a2: 4640 mov r0, r8 - 802b2a4: 215b movs r1, #91 - 802b2a6: f7fe fc7f bl 8029ba8 - 802b2aa: 68b9 ldr r1, [r7, #8] - 802b2ac: 4640 mov r0, r8 - 802b2ae: f7ff ff91 bl 802b1d4 - 802b2b2: 4640 mov r0, r8 - 802b2b4: 215d movs r1, #93 - 802b2b6: f7fe fc77 bl 8029ba8 - 802b2ba: b01b add sp, #108 - 802b2bc: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} - 802b2c0: 2301 movs r3, #1 - 802b2c2: f8c8 311c str.w r3, [r8, #284] - 802b2c6: e7f8 b.n 802b2ba - 802b2c8: 6849 ldr r1, [r1, #4] - 802b2ca: 4640 mov r0, r8 - 802b2cc: f7ff ff82 bl 802b1d4 - 802b2d0: f8d8 3000 ldr.w r3, [r8] - 802b2d4: f013 0f04 tst.w r3, #4 ; 0x4 - 802b2d8: f040 83c5 bne.w 802ba66 - 802b2dc: 4640 mov r0, r8 - 802b2de: f8df 1900 ldr.w r1, [pc, #2304] ; 802bbe0 - 802b2e2: f7ff fe67 bl 802afb4 - 802b2e6: 68b9 ldr r1, [r7, #8] - 802b2e8: 4640 mov r0, r8 - 802b2ea: f7ff ff73 bl 802b1d4 - 802b2ee: e7e4 b.n 802b2ba - 802b2f0: 4640 mov r0, r8 - 802b2f2: f8df 18f0 ldr.w r1, [pc, #2288] ; 802bbe4 - 802b2f6: f7ff fe5d bl 802afb4 - 802b2fa: 6879 ldr r1, [r7, #4] - 802b2fc: 4640 mov r0, r8 - 802b2fe: f7ff ff69 bl 802b1d4 - 802b302: e7da b.n 802b2ba - 802b304: 6879 ldr r1, [r7, #4] - 802b306: 68ba ldr r2, [r7, #8] - 802b308: 4640 mov r0, r8 - 802b30a: f7ff fe1f bl 802af4c - 802b30e: e7d4 b.n 802b2ba - 802b310: 6849 ldr r1, [r1, #4] - 802b312: 780b ldrb r3, [r1, #0] - 802b314: 2b2b cmp r3, #43 - 802b316: f000 83ba beq.w 802ba8e - 802b31a: 4640 mov r0, r8 - 802b31c: f000 feda bl 802c0d4 - 802b320: 2128 movs r1, #40 - 802b322: 4640 mov r0, r8 - 802b324: f7fe fc40 bl 8029ba8 - 802b328: 68b9 ldr r1, [r7, #8] - 802b32a: 4640 mov r0, r8 - 802b32c: f7ff ff52 bl 802b1d4 - 802b330: 4640 mov r0, r8 - 802b332: 2129 movs r1, #41 - 802b334: f7fe fc38 bl 8029ba8 - 802b338: e7bf b.n 802b2ba - 802b33a: 688b ldr r3, [r1, #8] - 802b33c: 781a ldrb r2, [r3, #0] - 802b33e: 2a2e cmp r2, #46 - 802b340: d1be bne.n 802b2c0 - 802b342: 684a ldr r2, [r1, #4] - 802b344: 7813 ldrb r3, [r2, #0] - 802b346: 2b29 cmp r3, #41 - 802b348: f000 8416 beq.w 802bb78 - 802b34c: 2128 movs r1, #40 - 802b34e: 4640 mov r0, r8 - 802b350: f7fe fc2a bl 8029ba8 - 802b354: 68bb ldr r3, [r7, #8] - 802b356: 4640 mov r0, r8 - 802b358: 6859 ldr r1, [r3, #4] - 802b35a: f7ff ff3b bl 802b1d4 - 802b35e: 4640 mov r0, r8 - 802b360: f8df 1884 ldr.w r1, [pc, #2180] ; 802bbe8 - 802b364: f7ff fe26 bl 802afb4 - 802b368: 6879 ldr r1, [r7, #4] - 802b36a: 4640 mov r0, r8 - 802b36c: f000 feb2 bl 802c0d4 - 802b370: 4640 mov r0, r8 - 802b372: f8df 1878 ldr.w r1, [pc, #2168] ; 802bbec - 802b376: f7ff fe1d bl 802afb4 - 802b37a: 68bb ldr r3, [r7, #8] - 802b37c: 4640 mov r0, r8 - 802b37e: 6899 ldr r1, [r3, #8] - 802b380: f7ff ff28 bl 802b1d4 - 802b384: 2129 movs r1, #41 - 802b386: 4640 mov r0, r8 - 802b388: f7fe fc0e bl 8029ba8 - 802b38c: 6879 ldr r1, [r7, #4] - 802b38e: f891 c000 ldrb.w ip, [r1] - 802b392: f1bc 0f29 cmp.w ip, #41 ; 0x29 - 802b396: d190 bne.n 802b2ba - 802b398: 6849 ldr r1, [r1, #4] - 802b39a: 688b ldr r3, [r1, #8] - 802b39c: 2b01 cmp r3, #1 - 802b39e: d18c bne.n 802b2ba - 802b3a0: 684b ldr r3, [r1, #4] - 802b3a2: 781a ldrb r2, [r3, #0] - 802b3a4: 2a3e cmp r2, #62 - 802b3a6: d188 bne.n 802b2ba - 802b3a8: 4640 mov r0, r8 - 802b3aa: 4661 mov r1, ip - 802b3ac: f7fe fbfc bl 8029ba8 - 802b3b0: e783 b.n 802b2ba - 802b3b2: 688a ldr r2, [r1, #8] - 802b3b4: 7813 ldrb r3, [r2, #0] - 802b3b6: 2b30 cmp r3, #48 - 802b3b8: d182 bne.n 802b2c0 - 802b3ba: 6893 ldr r3, [r2, #8] - 802b3bc: 781a ldrb r2, [r3, #0] - 802b3be: 2a31 cmp r2, #49 - 802b3c0: f47f af7e bne.w 802b2c0 - 802b3c4: 4640 mov r0, r8 - 802b3c6: 2128 movs r1, #40 - 802b3c8: f7fe fbee bl 8029ba8 - 802b3cc: 68bb ldr r3, [r7, #8] - 802b3ce: 4640 mov r0, r8 - 802b3d0: 6859 ldr r1, [r3, #4] - 802b3d2: f7ff feff bl 802b1d4 - 802b3d6: 4640 mov r0, r8 - 802b3d8: f8df 180c ldr.w r1, [pc, #2060] ; 802bbe8 - 802b3dc: f7ff fdea bl 802afb4 - 802b3e0: 6879 ldr r1, [r7, #4] - 802b3e2: 4640 mov r0, r8 - 802b3e4: f000 fe76 bl 802c0d4 - 802b3e8: 4640 mov r0, r8 - 802b3ea: f8df 1800 ldr.w r1, [pc, #2048] ; 802bbec - 802b3ee: f7ff fde1 bl 802afb4 - 802b3f2: 68bb ldr r3, [r7, #8] - 802b3f4: 4640 mov r0, r8 - 802b3f6: 689a ldr r2, [r3, #8] - 802b3f8: 6851 ldr r1, [r2, #4] - 802b3fa: f7ff feeb bl 802b1d4 - 802b3fe: f8df 17f0 ldr.w r1, [pc, #2032] ; 802bbf0 - 802b402: 4640 mov r0, r8 - 802b404: f7ff fdd6 bl 802afb4 - 802b408: 68bb ldr r3, [r7, #8] - 802b40a: 689a ldr r2, [r3, #8] - 802b40c: 6891 ldr r1, [r2, #8] - 802b40e: e78c b.n 802b32a - 802b410: 7909 ldrb r1, [r1, #4] - 802b412: 4640 mov r0, r8 - 802b414: f7fe fbc8 bl 8029ba8 - 802b418: e74f b.n 802b2ba - 802b41a: 4640 mov r0, r8 - 802b41c: f8df 17d4 ldr.w r1, [pc, #2004] ; 802bbf4 - 802b420: f7ff fdc8 bl 802afb4 - 802b424: 68b9 ldr r1, [r7, #8] - 802b426: 4640 mov r0, r8 - 802b428: f7ff fed4 bl 802b1d4 - 802b42c: e745 b.n 802b2ba - 802b42e: 4640 mov r0, r8 - 802b430: f8df 17c0 ldr.w r1, [pc, #1984] ; 802bbf4 - 802b434: f7ff fdbe bl 802afb4 - 802b438: 4640 mov r0, r8 - 802b43a: 4639 mov r1, r7 - 802b43c: f000 fdd6 bl 802bfec - 802b440: e73b b.n 802b2ba - 802b442: f8d8 3118 ldr.w r3, [r8, #280] - 802b446: 9302 str r3, [sp, #8] - 802b448: 684d ldr r5, [r1, #4] - 802b44a: 2d00 cmp r5, #0 - 802b44c: f43f af38 beq.w 802b2c0 - 802b450: 7829 ldrb r1, [r5, #0] - 802b452: f10d 0b68 add.w fp, sp, #104 ; 0x68 - 802b456: f84b 3d58 str.w r3, [fp, #-88]! - 802b45a: f1a1 0319 sub.w r3, r1, #25 ; 0x19 - 802b45e: f8d8 0114 ldr.w r0, [r8, #276] - 802b462: b2db uxtb r3, r3 - 802b464: f04f 0c00 mov.w ip, #0 ; 0x0 - 802b468: 2b02 cmp r3, #2 - 802b46a: f8c8 b118 str.w fp, [r8, #280] - 802b46e: 9505 str r5, [sp, #20] - 802b470: f8cd c018 str.w ip, [sp, #24] - 802b474: 9007 str r0, [sp, #28] - 802b476: f200 83a5 bhi.w 802bbc4 - 802b47a: aa08 add r2, sp, #32 - 802b47c: 2601 movs r6, #1 - 802b47e: 686d ldr r5, [r5, #4] - 802b480: 2d00 cmp r5, #0 - 802b482: f43f af1d beq.w 802b2c0 - 802b486: 2e04 cmp r6, #4 - 802b488: f43f af1a beq.w 802b2c0 - 802b48c: f8d8 3118 ldr.w r3, [r8, #280] - 802b490: 7829 ldrb r1, [r5, #0] - 802b492: 6013 str r3, [r2, #0] - 802b494: f1a1 0319 sub.w r3, r1, #25 ; 0x19 - 802b498: b2db uxtb r3, r3 - 802b49a: f8c8 2118 str.w r2, [r8, #280] - 802b49e: 6055 str r5, [r2, #4] - 802b4a0: f8c2 c008 str.w ip, [r2, #8] - 802b4a4: 60d0 str r0, [r2, #12] - 802b4a6: 3601 adds r6, #1 - 802b4a8: 3210 adds r2, #16 - 802b4aa: 2b02 cmp r3, #2 - 802b4ac: d9e7 bls.n 802b47e - 802b4ae: 2904 cmp r1, #4 - 802b4b0: bf01 itttt eq - 802b4b2: ab1a addeq r3, sp, #104 - 802b4b4: f843 0d08 streq.w r0, [r3, #-8]! - 802b4b8: f8c8 3114 streq.w r3, [r8, #276] - 802b4bc: 9519 streq r5, [sp, #100] - 802b4be: d042 beq.n 802b546 - 802b4c0: 2902 cmp r1, #2 - 802b4c2: d140 bne.n 802b546 - 802b4c4: f8d5 c008 ldr.w ip, [r5, #8] - 802b4c8: f89c 3000 ldrb.w r3, [ip] - 802b4cc: 3b19 subs r3, #25 - 802b4ce: b2db uxtb r3, r3 - 802b4d0: 2b02 cmp r3, #2 - 802b4d2: d838 bhi.n 802b546 - 802b4d4: 2e03 cmp r6, #3 - 802b4d6: f63f aef3 bhi.w 802b2c0 - 802b4da: f106 5380 add.w r3, r6, #268435456 ; 0x10000000 - 802b4de: 3b01 subs r3, #1 - 802b4e0: 011b lsls r3, r3, #4 - 802b4e2: 1e72 subs r2, r6, #1 - 802b4e4: eb0b 0403 add.w r4, fp, r3 - 802b4e8: 0112 lsls r2, r2, #4 - 802b4ea: 0133 lsls r3, r6, #4 - 802b4ec: eb0b 0902 add.w r9, fp, r2 - 802b4f0: eb0b 0a03 add.w sl, fp, r3 - 802b4f4: e007 b.n 802b506 - 802b4f6: 2e03 cmp r6, #3 - 802b4f8: 9c01 ldr r4, [sp, #4] - 802b4fa: f109 0910 add.w r9, r9, #16 ; 0x10 - 802b4fe: f10a 0a10 add.w sl, sl, #16 ; 0x10 - 802b502: f63f aedd bhi.w 802b2c0 - 802b506: f104 0210 add.w r2, r4, #16 ; 0x10 - 802b50a: 9201 str r2, [sp, #4] - 802b50c: 4610 mov r0, r2 - 802b50e: 4621 mov r1, r4 - 802b510: 2210 movs r2, #16 - 802b512: f8cd c000 str.w ip, [sp] - 802b516: f007 faa1 bl 8032a5c - 802b51a: 2300 movs r3, #0 - 802b51c: f8dd c000 ldr.w ip, [sp] - 802b520: 60a3 str r3, [r4, #8] - 802b522: f8d8 3114 ldr.w r3, [r8, #276] - 802b526: f8c4 9010 str.w r9, [r4, #16] - 802b52a: 60e3 str r3, [r4, #12] - 802b52c: f8c8 a118 str.w sl, [r8, #280] - 802b530: f8c4 c004 str.w ip, [r4, #4] - 802b534: f8dc c004 ldr.w ip, [ip, #4] - 802b538: 3601 adds r6, #1 - 802b53a: f89c 3000 ldrb.w r3, [ip] - 802b53e: 3b19 subs r3, #25 - 802b540: b2db uxtb r3, r3 - 802b542: 2b02 cmp r3, #2 - 802b544: d9d7 bls.n 802b4f6 - 802b546: 68b9 ldr r1, [r7, #8] - 802b548: 4640 mov r0, r8 - 802b54a: f7ff fe43 bl 802b1d4 - 802b54e: 782b ldrb r3, [r5, #0] - 802b550: 2b04 cmp r3, #4 - 802b552: bf04 itt eq - 802b554: 9b18 ldreq r3, [sp, #96] - 802b556: f8c8 3114 streq.w r3, [r8, #276] - 802b55a: b156 cbz r6, 802b572 - 802b55c: 0133 lsls r3, r6, #4 - 802b55e: eb0b 0403 add.w r4, fp, r3 - 802b562: f854 3c08 ldr.w r3, [r4, #-8] - 802b566: 2b00 cmp r3, #0 - 802b568: f000 82a2 beq.w 802bab0 - 802b56c: 3c10 subs r4, #16 - 802b56e: 455c cmp r4, fp - 802b570: d1f7 bne.n 802b562 - 802b572: 9a02 ldr r2, [sp, #8] - 802b574: f8c8 2118 str.w r2, [r8, #280] - 802b578: e69f b.n 802b2ba - 802b57a: f8d8 4118 ldr.w r4, [r8, #280] - 802b57e: 2c00 cmp r4, #0 - 802b580: f000 814c beq.w 802b81c - 802b584: 4621 mov r1, r4 - 802b586: 688b ldr r3, [r1, #8] - 802b588: b953 cbnz r3, 802b5a0 - 802b58a: 684a ldr r2, [r1, #4] - 802b58c: 7812 ldrb r2, [r2, #0] - 802b58e: f1a2 0316 sub.w r3, r2, #22 ; 0x16 - 802b592: b2db uxtb r3, r3 - 802b594: 2b02 cmp r3, #2 - 802b596: f200 8141 bhi.w 802b81c - 802b59a: 4290 cmp r0, r2 - 802b59c: f43f aead beq.w 802b2fa - 802b5a0: 6809 ldr r1, [r1, #0] - 802b5a2: 2900 cmp r1, #0 - 802b5a4: d1ef bne.n 802b586 - 802b5a6: e139 b.n 802b81c - 802b5a8: f8d8 3000 ldr.w r3, [r8] - 802b5ac: f013 0f20 tst.w r3, #32 ; 0x20 - 802b5b0: f040 8267 bne.w 802ba82 - 802b5b4: 687b ldr r3, [r7, #4] - 802b5b6: b30b cbz r3, 802b5fc - 802b5b8: f8d8 2118 ldr.w r2, [r8, #280] - 802b5bc: ab1a add r3, sp, #104 - 802b5be: f843 2d18 str.w r2, [r3, #-24]! - 802b5c2: f8d8 2114 ldr.w r2, [r8, #276] - 802b5c6: f8c8 3118 str.w r3, [r8, #280] - 802b5ca: 2300 movs r3, #0 - 802b5cc: 9316 str r3, [sp, #88] - 802b5ce: 9217 str r2, [sp, #92] - 802b5d0: 9715 str r7, [sp, #84] - 802b5d2: 6879 ldr r1, [r7, #4] - 802b5d4: 4640 mov r0, r8 - 802b5d6: f7ff fdfd bl 802b1d4 - 802b5da: 9b14 ldr r3, [sp, #80] - 802b5dc: 9a16 ldr r2, [sp, #88] - 802b5de: f8c8 3118 str.w r3, [r8, #280] - 802b5e2: 2a00 cmp r2, #0 - 802b5e4: f47f ae69 bne.w 802b2ba - 802b5e8: f8d8 3000 ldr.w r3, [r8] - 802b5ec: f013 0f20 tst.w r3, #32 ; 0x20 - 802b5f0: f47f ae63 bne.w 802b2ba - 802b5f4: 4640 mov r0, r8 - 802b5f6: 2120 movs r1, #32 - 802b5f8: f7fe fad6 bl 8029ba8 - 802b5fc: f8d8 3000 ldr.w r3, [r8] - 802b600: f013 0f20 tst.w r3, #32 ; 0x20 - 802b604: f47f ae59 bne.w 802b2ba - 802b608: f8d8 2118 ldr.w r2, [r8, #280] - 802b60c: 4640 mov r0, r8 - 802b60e: 4639 mov r1, r7 - 802b610: f000 fbfe bl 802be10 - 802b614: e651 b.n 802b2ba - 802b616: 4640 mov r0, r8 - 802b618: 6849 ldr r1, [r1, #4] - 802b61a: f7ff fddb bl 802b1d4 - 802b61e: 68b9 ldr r1, [r7, #8] - 802b620: 4640 mov r0, r8 - 802b622: f7ff fdd7 bl 802b1d4 - 802b626: e648 b.n 802b2ba - 802b628: f8d8 3000 ldr.w r3, [r8] - 802b62c: f013 0f04 tst.w r3, #4 ; 0x4 - 802b630: f43f ae68 beq.w 802b304 - 802b634: 684a ldr r2, [r1, #4] - 802b636: 688b ldr r3, [r1, #8] - 802b638: eb02 0503 add.w r5, r2, r3 - 802b63c: 42aa cmp r2, r5 - 802b63e: d30c bcc.n 802b65a - 802b640: e63b b.n 802b2ba - 802b642: 7811 ldrb r1, [r2, #0] - 802b644: 295f cmp r1, #95 - 802b646: f000 81cd beq.w 802b9e4 - 802b64a: 1c54 adds r4, r2, #1 - 802b64c: 4640 mov r0, r8 - 802b64e: f7fe faab bl 8029ba8 - 802b652: 42a5 cmp r5, r4 - 802b654: f67f ae31 bls.w 802b2ba - 802b658: 4622 mov r2, r4 - 802b65a: ebc2 0305 rsb r3, r2, r5 - 802b65e: 2b03 cmp r3, #3 - 802b660: dcef bgt.n 802b642 - 802b662: 4614 mov r4, r2 - 802b664: f814 1b01 ldrb.w r1, [r4], #1 - 802b668: e7f0 b.n 802b64c - 802b66a: 4640 mov r0, r8 - 802b66c: f8df 1588 ldr.w r1, [pc, #1416] ; 802bbf8 - 802b670: f7ff fca0 bl 802afb4 - 802b674: 6879 ldr r1, [r7, #4] - 802b676: 4640 mov r0, r8 - 802b678: f7ff fdac bl 802b1d4 - 802b67c: e61d b.n 802b2ba - 802b67e: 4640 mov r0, r8 - 802b680: f8df 1578 ldr.w r1, [pc, #1400] ; 802bbfc - 802b684: f7ff fc96 bl 802afb4 - 802b688: 6879 ldr r1, [r7, #4] - 802b68a: 4640 mov r0, r8 - 802b68c: f7ff fda2 bl 802b1d4 - 802b690: e613 b.n 802b2ba - 802b692: 4640 mov r0, r8 - 802b694: f8df 1568 ldr.w r1, [pc, #1384] ; 802bc00 - 802b698: f7ff fc8c bl 802afb4 - 802b69c: 6879 ldr r1, [r7, #4] - 802b69e: 4640 mov r0, r8 - 802b6a0: f7ff fd98 bl 802b1d4 - 802b6a4: e609 b.n 802b2ba - 802b6a6: 4640 mov r0, r8 - 802b6a8: f8df 1558 ldr.w r1, [pc, #1368] ; 802bc04 - 802b6ac: f7ff fc82 bl 802afb4 - 802b6b0: 6879 ldr r1, [r7, #4] - 802b6b2: 4640 mov r0, r8 - 802b6b4: f7ff fd8e bl 802b1d4 - 802b6b8: e5ff b.n 802b2ba - 802b6ba: 4640 mov r0, r8 - 802b6bc: f8df 1548 ldr.w r1, [pc, #1352] ; 802bc08 - 802b6c0: f7ff fc78 bl 802afb4 - 802b6c4: 6879 ldr r1, [r7, #4] - 802b6c6: 4640 mov r0, r8 - 802b6c8: f7ff fd84 bl 802b1d4 - 802b6cc: e5f5 b.n 802b2ba - 802b6ce: 4640 mov r0, r8 - 802b6d0: f8df 1538 ldr.w r1, [pc, #1336] ; 802bc0c - 802b6d4: f7ff fc6e bl 802afb4 - 802b6d8: 6879 ldr r1, [r7, #4] - 802b6da: 4640 mov r0, r8 - 802b6dc: f7ff fd7a bl 802b1d4 - 802b6e0: e5eb b.n 802b2ba - 802b6e2: 4640 mov r0, r8 - 802b6e4: f8df 1528 ldr.w r1, [pc, #1320] ; 802bc10 - 802b6e8: f7ff fc64 bl 802afb4 - 802b6ec: 6879 ldr r1, [r7, #4] - 802b6ee: 4640 mov r0, r8 - 802b6f0: f7ff fd70 bl 802b1d4 - 802b6f4: e5e1 b.n 802b2ba - 802b6f6: 4640 mov r0, r8 - 802b6f8: f8df 1518 ldr.w r1, [pc, #1304] ; 802bc14 - 802b6fc: f7ff fc5a bl 802afb4 - 802b700: 6879 ldr r1, [r7, #4] - 802b702: 4640 mov r0, r8 - 802b704: f7ff fd66 bl 802b1d4 - 802b708: e5d7 b.n 802b2ba - 802b70a: 2300 movs r3, #0 - 802b70c: f8d8 5118 ldr.w r5, [r8, #280] - 802b710: f8c8 3118 str.w r3, [r8, #280] - 802b714: f8d8 3000 ldr.w r3, [r8] - 802b718: 684c ldr r4, [r1, #4] - 802b71a: f013 0f04 tst.w r3, #4 ; 0x4 - 802b71e: d005 beq.n 802b72c - 802b720: 7823 ldrb r3, [r4, #0] - 802b722: b91b cbnz r3, 802b72c - 802b724: 68a2 ldr r2, [r4, #8] - 802b726: 2a06 cmp r2, #6 - 802b728: f000 8239 beq.w 802bb9e - 802b72c: 4640 mov r0, r8 - 802b72e: 4621 mov r1, r4 - 802b730: f7ff fd50 bl 802b1d4 - 802b734: f898 3108 ldrb.w r3, [r8, #264] - 802b738: 2b3c cmp r3, #60 - 802b73a: f000 8212 beq.w 802bb62 - 802b73e: 213c movs r1, #60 - 802b740: 4640 mov r0, r8 - 802b742: f7fe fa31 bl 8029ba8 - 802b746: 68b9 ldr r1, [r7, #8] - 802b748: 4640 mov r0, r8 - 802b74a: f7ff fd43 bl 802b1d4 - 802b74e: f898 3108 ldrb.w r3, [r8, #264] - 802b752: 2b3e cmp r3, #62 - 802b754: f000 8200 beq.w 802bb58 - 802b758: 4640 mov r0, r8 - 802b75a: 213e movs r1, #62 - 802b75c: f7fe fa24 bl 8029ba8 - 802b760: f8c8 5118 str.w r5, [r8, #280] - 802b764: e5a9 b.n 802b2ba - 802b766: f8d8 4114 ldr.w r4, [r8, #276] - 802b76a: 2c00 cmp r4, #0 - 802b76c: f43f ada8 beq.w 802b2c0 - 802b770: 6863 ldr r3, [r4, #4] - 802b772: 6849 ldr r1, [r1, #4] - 802b774: 689a ldr r2, [r3, #8] - 802b776: 2a00 cmp r2, #0 - 802b778: f43f ada2 beq.w 802b2c0 - 802b77c: 7813 ldrb r3, [r2, #0] - 802b77e: 2b28 cmp r3, #40 - 802b780: d009 beq.n 802b796 - 802b782: e59d b.n 802b2c0 - 802b784: 6892 ldr r2, [r2, #8] - 802b786: 2a00 cmp r2, #0 - 802b788: f43f ad9a beq.w 802b2c0 - 802b78c: 7813 ldrb r3, [r2, #0] - 802b78e: 2b28 cmp r3, #40 - 802b790: f47f ad96 bne.w 802b2c0 - 802b794: 3901 subs r1, #1 - 802b796: 2900 cmp r1, #0 - 802b798: dcf4 bgt.n 802b784 - 802b79a: 2900 cmp r1, #0 - 802b79c: f47f ad90 bne.w 802b2c0 - 802b7a0: 6823 ldr r3, [r4, #0] - 802b7a2: 4640 mov r0, r8 - 802b7a4: f8c8 3114 str.w r3, [r8, #276] - 802b7a8: 6851 ldr r1, [r2, #4] - 802b7aa: f7ff fd13 bl 802b1d4 - 802b7ae: f8c8 4114 str.w r4, [r8, #276] - 802b7b2: e582 b.n 802b2ba - 802b7b4: 4640 mov r0, r8 - 802b7b6: 217e movs r1, #126 - 802b7b8: f7fe f9f6 bl 8029ba8 - 802b7bc: 68b9 ldr r1, [r7, #8] - 802b7be: 4640 mov r0, r8 - 802b7c0: f7ff fd08 bl 802b1d4 - 802b7c4: e579 b.n 802b2ba - 802b7c6: 6849 ldr r1, [r1, #4] - 802b7c8: 4640 mov r0, r8 - 802b7ca: f7ff fd03 bl 802b1d4 - 802b7ce: 68bb ldr r3, [r7, #8] - 802b7d0: 2b00 cmp r3, #0 - 802b7d2: f43f ad72 beq.w 802b2ba - 802b7d6: 4640 mov r0, r8 - 802b7d8: f8df 143c ldr.w r1, [pc, #1084] ; 802bc18 - 802b7dc: f7ff fbea bl 802afb4 - 802b7e0: 68b9 ldr r1, [r7, #8] - 802b7e2: 4640 mov r0, r8 - 802b7e4: f7ff fcf6 bl 802b1d4 - 802b7e8: e567 b.n 802b2ba - 802b7ea: f8df 1430 ldr.w r1, [pc, #1072] ; 802bc1c - 802b7ee: 4640 mov r0, r8 - 802b7f0: f7ff fbe0 bl 802afb4 - 802b7f4: 687a ldr r2, [r7, #4] - 802b7f6: 6851 ldr r1, [r2, #4] - 802b7f8: 780b ldrb r3, [r1, #0] - 802b7fa: 3b61 subs r3, #97 - 802b7fc: b2db uxtb r3, r3 - 802b7fe: 2b19 cmp r3, #25 - 802b800: d805 bhi.n 802b80e - 802b802: 2120 movs r1, #32 - 802b804: 4640 mov r0, r8 - 802b806: f7fe f9cf bl 8029ba8 - 802b80a: 687a ldr r2, [r7, #4] - 802b80c: 6851 ldr r1, [r2, #4] - 802b80e: 6892 ldr r2, [r2, #8] - 802b810: 4640 mov r0, r8 - 802b812: f7ff fb9b bl 802af4c - 802b816: e550 b.n 802b2ba - 802b818: f8d8 4118 ldr.w r4, [r8, #280] - 802b81c: ab1a add r3, sp, #104 - 802b81e: f843 4d18 str.w r4, [r3, #-24]! - 802b822: f8d8 2114 ldr.w r2, [r8, #276] - 802b826: f8c8 3118 str.w r3, [r8, #280] - 802b82a: 2300 movs r3, #0 - 802b82c: 9316 str r3, [sp, #88] - 802b82e: 9715 str r7, [sp, #84] - 802b830: 9217 str r2, [sp, #92] - 802b832: 6879 ldr r1, [r7, #4] - 802b834: 4640 mov r0, r8 - 802b836: f7ff fccd bl 802b1d4 - 802b83a: 9b16 ldr r3, [sp, #88] - 802b83c: b91b cbnz r3, 802b846 - 802b83e: 4640 mov r0, r8 - 802b840: 4639 mov r1, r7 - 802b842: f000 fa09 bl 802bc58 - 802b846: 9b14 ldr r3, [sp, #80] - 802b848: f8c8 3118 str.w r3, [r8, #280] - 802b84c: e535 b.n 802b2ba - 802b84e: f8d8 3000 ldr.w r3, [r8] - 802b852: f013 0f04 tst.w r3, #4 ; 0x4 - 802b856: f040 810d bne.w 802ba74 - 802b85a: 684b ldr r3, [r1, #4] - 802b85c: 4640 mov r0, r8 - 802b85e: 6819 ldr r1, [r3, #0] - 802b860: 685a ldr r2, [r3, #4] - 802b862: f7ff fb73 bl 802af4c - 802b866: e528 b.n 802b2ba - 802b868: f8d8 9118 ldr.w r9, [r8, #280] - 802b86c: f8d8 2114 ldr.w r2, [r8, #276] - 802b870: f8cd 900c str.w r9, [sp, #12] - 802b874: f10d 0b68 add.w fp, sp, #104 ; 0x68 - 802b878: 9207 str r2, [sp, #28] - 802b87a: 9a03 ldr r2, [sp, #12] - 802b87c: f84b 9d58 str.w r9, [fp, #-88]! - 802b880: 2300 movs r3, #0 - 802b882: 46d9 mov r9, fp - 802b884: f8c8 b118 str.w fp, [r8, #280] - 802b888: 9105 str r1, [sp, #20] - 802b88a: 9306 str r3, [sp, #24] - 802b88c: 2a00 cmp r2, #0 - 802b88e: f000 8183 beq.w 802bb98 - 802b892: 6852 ldr r2, [r2, #4] - 802b894: 7813 ldrb r3, [r2, #0] - 802b896: 3b16 subs r3, #22 - 802b898: b2db uxtb r3, r3 - 802b89a: 2b02 cmp r3, #2 - 802b89c: f200 817c bhi.w 802bb98 - 802b8a0: 9e03 ldr r6, [sp, #12] - 802b8a2: f04f 0a01 mov.w sl, #1 ; 0x1 - 802b8a6: e005 b.n 802b8b4 - 802b8a8: 6872 ldr r2, [r6, #4] - 802b8aa: 7813 ldrb r3, [r2, #0] - 802b8ac: 3b16 subs r3, #22 - 802b8ae: b2db uxtb r3, r3 - 802b8b0: 2b02 cmp r3, #2 - 802b8b2: d81c bhi.n 802b8ee - 802b8b4: 68b3 ldr r3, [r6, #8] - 802b8b6: b9bb cbnz r3, 802b8e8 - 802b8b8: f1ba 0f03 cmp.w sl, #3 ; 0x3 - 802b8bc: f200 80f4 bhi.w 802baa8 - 802b8c0: ea4f 150a mov.w r5, sl, lsl #4 - 802b8c4: ab1a add r3, sp, #104 - 802b8c6: eb03 0405 add.w r4, r3, r5 - 802b8ca: f1a4 0c58 sub.w ip, r4, #88 ; 0x58 - 802b8ce: e896 000f ldmia.w r6, {r0, r1, r2, r3} - 802b8d2: e88c 000f stmia.w ip, {r0, r1, r2, r3} - 802b8d6: f844 9c58 str.w r9, [r4, #-88] - 802b8da: 2201 movs r2, #1 - 802b8dc: eb0b 0905 add.w r9, fp, r5 - 802b8e0: f8c8 9118 str.w r9, [r8, #280] - 802b8e4: 60b2 str r2, [r6, #8] - 802b8e6: 4492 add sl, r2 - 802b8e8: 6836 ldr r6, [r6, #0] - 802b8ea: 2e00 cmp r6, #0 - 802b8ec: d1dc bne.n 802b8a8 - 802b8ee: 68b9 ldr r1, [r7, #8] - 802b8f0: 4640 mov r0, r8 - 802b8f2: f7ff fc6f bl 802b1d4 - 802b8f6: 9b03 ldr r3, [sp, #12] - 802b8f8: f8c8 3118 str.w r3, [r8, #280] - 802b8fc: 9b06 ldr r3, [sp, #24] - 802b8fe: 2b00 cmp r3, #0 - 802b900: f47f acdb bne.w 802b2ba - 802b904: f1ba 0f01 cmp.w sl, #1 ; 0x1 - 802b908: d00e beq.n 802b928 - 802b90a: ea4f 130a mov.w r3, sl, lsl #4 - 802b90e: eb0b 0403 add.w r4, fp, r3 - 802b912: f854 1c0c ldr.w r1, [r4, #-12] - 802b916: f10a 3aff add.w sl, sl, #4294967295 ; 0xffffffff - 802b91a: 4640 mov r0, r8 - 802b91c: f000 f99c bl 802bc58 - 802b920: 3c10 subs r4, #16 - 802b922: f1ba 0f01 cmp.w sl, #1 ; 0x1 - 802b926: d8f4 bhi.n 802b912 - 802b928: f8d8 2118 ldr.w r2, [r8, #280] - 802b92c: 4640 mov r0, r8 - 802b92e: 4639 mov r1, r7 - 802b930: f7ff fb78 bl 802b024 - 802b934: e4c1 b.n 802b2ba - 802b936: 4640 mov r0, r8 - 802b938: 49b9 ldr r1, [pc, #740] (802bc20 ) - 802b93a: f7ff fb3b bl 802afb4 - 802b93e: 6879 ldr r1, [r7, #4] - 802b940: 4640 mov r0, r8 - 802b942: f7ff fc47 bl 802b1d4 - 802b946: e4b8 b.n 802b2ba - 802b948: f8d8 2118 ldr.w r2, [r8, #280] - 802b94c: ab1a add r3, sp, #104 - 802b94e: f843 2d18 str.w r2, [r3, #-24]! - 802b952: f8d8 2114 ldr.w r2, [r8, #276] - 802b956: f8c8 3118 str.w r3, [r8, #280] - 802b95a: 2300 movs r3, #0 - 802b95c: 9316 str r3, [sp, #88] - 802b95e: 9115 str r1, [sp, #84] - 802b960: 9217 str r2, [sp, #92] - 802b962: 6889 ldr r1, [r1, #8] - 802b964: 4640 mov r0, r8 - 802b966: f7ff fc35 bl 802b1d4 - 802b96a: 9b16 ldr r3, [sp, #88] - 802b96c: 2b00 cmp r3, #0 - 802b96e: f47f af6a bne.w 802b846 - 802b972: 4640 mov r0, r8 - 802b974: 2120 movs r1, #32 - 802b976: f7fe f917 bl 8029ba8 - 802b97a: 6879 ldr r1, [r7, #4] - 802b97c: 4640 mov r0, r8 - 802b97e: f7ff fc29 bl 802b1d4 - 802b982: 4640 mov r0, r8 - 802b984: 49a7 ldr r1, [pc, #668] (802bc24 ) - 802b986: f7ff fb15 bl 802afb4 - 802b98a: e75c b.n 802b846 - 802b98c: 4640 mov r0, r8 - 802b98e: 49a6 ldr r1, [pc, #664] (802bc28 ) - 802b990: f7ff fb10 bl 802afb4 - 802b994: 6879 ldr r1, [r7, #4] - 802b996: 4640 mov r0, r8 - 802b998: f7ff fc1c bl 802b1d4 - 802b99c: e48d b.n 802b2ba - 802b99e: 4640 mov r0, r8 - 802b9a0: 49a2 ldr r1, [pc, #648] (802bc2c ) - 802b9a2: f7ff fb07 bl 802afb4 - 802b9a6: 6879 ldr r1, [r7, #4] - 802b9a8: 4640 mov r0, r8 - 802b9aa: f7ff fc13 bl 802b1d4 - 802b9ae: e484 b.n 802b2ba - 802b9b0: 4640 mov r0, r8 - 802b9b2: 499f ldr r1, [pc, #636] (802bc30 ) - 802b9b4: f7ff fafe bl 802afb4 - 802b9b8: 6879 ldr r1, [r7, #4] - 802b9ba: 4640 mov r0, r8 - 802b9bc: f7ff fc0a bl 802b1d4 - 802b9c0: e47b b.n 802b2ba - 802b9c2: 4640 mov r0, r8 - 802b9c4: 499b ldr r1, [pc, #620] (802bc34 ) - 802b9c6: f7ff faf5 bl 802afb4 - 802b9ca: 6879 ldr r1, [r7, #4] - 802b9cc: 4640 mov r0, r8 - 802b9ce: f7ff fc01 bl 802b1d4 - 802b9d2: 4640 mov r0, r8 - 802b9d4: 4998 ldr r1, [pc, #608] (802bc38 ) - 802b9d6: f7ff faed bl 802afb4 - 802b9da: 68b9 ldr r1, [r7, #8] - 802b9dc: 4640 mov r0, r8 - 802b9de: f7ff fbf9 bl 802b1d4 - 802b9e2: e46a b.n 802b2ba - 802b9e4: 7853 ldrb r3, [r2, #1] - 802b9e6: 1c54 adds r4, r2, #1 - 802b9e8: 2b5f cmp r3, #95 - 802b9ea: f47f ae2f bne.w 802b64c - 802b9ee: 7893 ldrb r3, [r2, #2] - 802b9f0: 2b55 cmp r3, #85 - 802b9f2: f47f ae2b bne.w 802b64c - 802b9f6: 1cd6 adds r6, r2, #3 - 802b9f8: 42b5 cmp r5, r6 - 802b9fa: f67f ae27 bls.w 802b64c - 802b9fe: f04f 0c00 mov.w ip, #0 ; 0x0 - 802ba02: e009 b.n 802ba18 - 802ba04: f1a0 0257 sub.w r2, r0, #87 ; 0x57 - 802ba08: 3601 adds r6, #1 - 802ba0a: 42b5 cmp r5, r6 - 802ba0c: f67f ae1e bls.w 802b64c - 802ba10: ea4f 130c mov.w r3, ip, lsl #4 - 802ba14: eb02 0c03 add.w ip, r2, r3 - 802ba18: 7830 ldrb r0, [r6, #0] - 802ba1a: f1a0 0230 sub.w r2, r0, #48 ; 0x30 - 802ba1e: b2d3 uxtb r3, r2 - 802ba20: 2b09 cmp r3, #9 - 802ba22: d9f1 bls.n 802ba08 - 802ba24: f1a0 0341 sub.w r3, r0, #65 ; 0x41 - 802ba28: b2db uxtb r3, r3 - 802ba2a: 2b05 cmp r3, #5 - 802ba2c: bf98 it ls - 802ba2e: f1a0 0237 subls.w r2, r0, #55 ; 0x37 - 802ba32: d9e9 bls.n 802ba08 - 802ba34: f1a0 0361 sub.w r3, r0, #97 ; 0x61 - 802ba38: b2db uxtb r3, r3 - 802ba3a: 2b05 cmp r3, #5 - 802ba3c: d9e2 bls.n 802ba04 - 802ba3e: f1bc 0fff cmp.w ip, #255 ; 0xff - 802ba42: bf8c ite hi - 802ba44: 2300 movhi r3, #0 - 802ba46: 2301 movls r3, #1 - 802ba48: 285f cmp r0, #95 - 802ba4a: bf14 ite ne - 802ba4c: 2300 movne r3, #0 - 802ba4e: f003 0301 andeq.w r3, r3, #1 ; 0x1 - 802ba52: 2b00 cmp r3, #0 - 802ba54: f43f adfa beq.w 802b64c - 802ba58: fa5f f18c uxtb.w r1, ip - 802ba5c: 4640 mov r0, r8 - 802ba5e: f7fe f8a3 bl 8029ba8 - 802ba62: 1c74 adds r4, r6, #1 - 802ba64: e5f5 b.n 802b652 - 802ba66: 4640 mov r0, r8 - 802ba68: 212e movs r1, #46 - 802ba6a: f7fe f89d bl 8029ba8 - 802ba6e: e43a b.n 802b2e6 - 802ba70: 2400 movs r4, #0 - 802ba72: e404 b.n 802b27e - 802ba74: 684b ldr r3, [r1, #4] - 802ba76: 4640 mov r0, r8 - 802ba78: 6899 ldr r1, [r3, #8] - 802ba7a: 68da ldr r2, [r3, #12] - 802ba7c: f7ff fa66 bl 802af4c - 802ba80: e41b b.n 802b2ba - 802ba82: f8d8 2118 ldr.w r2, [r8, #280] - 802ba86: 4640 mov r0, r8 - 802ba88: f000 f9c2 bl 802be10 - 802ba8c: e592 b.n 802b5b4 - 802ba8e: 4640 mov r0, r8 - 802ba90: 2128 movs r1, #40 - 802ba92: f7fe f889 bl 8029ba8 - 802ba96: 6879 ldr r1, [r7, #4] - 802ba98: 4640 mov r0, r8 - 802ba9a: f000 faa7 bl 802bfec - 802ba9e: 4640 mov r0, r8 - 802baa0: 2129 movs r1, #41 - 802baa2: f7fe f881 bl 8029ba8 - 802baa6: e43b b.n 802b320 - 802baa8: 3301 adds r3, #1 - 802baaa: f8c8 311c str.w r3, [r8, #284] - 802baae: e404 b.n 802b2ba - 802bab0: 4640 mov r0, r8 - 802bab2: 2120 movs r1, #32 - 802bab4: f7fe f878 bl 8029ba8 - 802bab8: f854 1c0c ldr.w r1, [r4, #-12] - 802babc: 4640 mov r0, r8 - 802babe: f000 f8cb bl 802bc58 - 802bac2: e553 b.n 802b56c - 802bac4: 688a ldr r2, [r1, #8] - 802bac6: 7813 ldrb r3, [r2, #0] - 802bac8: 2b00 cmp r3, #0 - 802baca: f47f abd8 bne.w 802b27e - 802bace: 6893 ldr r3, [r2, #8] - 802bad0: 2b01 cmp r3, #1 - 802bad2: f47f abd4 bne.w 802b27e - 802bad6: 2832 cmp r0, #50 - 802bad8: f47f abd1 bne.w 802b27e - 802badc: 6853 ldr r3, [r2, #4] - 802bade: 781b ldrb r3, [r3, #0] - 802bae0: 2b30 cmp r3, #48 - 802bae2: d077 beq.n 802bbd4 - 802bae4: 2b31 cmp r3, #49 - 802bae6: f47f abca bne.w 802b27e - 802baea: 4640 mov r0, r8 - 802baec: 4953 ldr r1, [pc, #332] (802bc3c ) - 802baee: f7ff fa61 bl 802afb4 - 802baf2: f7ff bbe2 b.w 802b2ba - 802baf6: 6889 ldr r1, [r1, #8] - 802baf8: 780b ldrb r3, [r1, #0] - 802bafa: 2b00 cmp r3, #0 - 802bafc: f47f abbf bne.w 802b27e - 802bb00: 2833 cmp r0, #51 - 802bb02: d061 beq.n 802bbc8 - 802bb04: 4640 mov r0, r8 - 802bb06: f7ff fb65 bl 802b1d4 - 802bb0a: 1ea3 subs r3, r4, #2 - 802bb0c: 2b04 cmp r3, #4 - 802bb0e: f63f abd4 bhi.w 802b2ba - 802bb12: e8df f003 tbb [pc, r3] - 802bb16: 151b .short 0x151b - 802bb18: 0003090f .word 0x0003090f - 802bb1c: 4640 mov r0, r8 - 802bb1e: 4948 ldr r1, [pc, #288] (802bc40 ) - 802bb20: f7ff fa48 bl 802afb4 - 802bb24: f7ff bbc9 b.w 802b2ba - 802bb28: 4640 mov r0, r8 - 802bb2a: 4946 ldr r1, [pc, #280] (802bc44 ) - 802bb2c: f7ff fa42 bl 802afb4 - 802bb30: f7ff bbc3 b.w 802b2ba - 802bb34: 4640 mov r0, r8 - 802bb36: 4944 ldr r1, [pc, #272] (802bc48 ) - 802bb38: f7ff fa3c bl 802afb4 - 802bb3c: f7ff bbbd b.w 802b2ba - 802bb40: 4640 mov r0, r8 - 802bb42: 216c movs r1, #108 - 802bb44: f7fe f830 bl 8029ba8 - 802bb48: f7ff bbb7 b.w 802b2ba - 802bb4c: 4640 mov r0, r8 - 802bb4e: 2175 movs r1, #117 - 802bb50: f7fe f82a bl 8029ba8 - 802bb54: f7ff bbb1 b.w 802b2ba - 802bb58: 4640 mov r0, r8 - 802bb5a: 2120 movs r1, #32 - 802bb5c: f7fe f824 bl 8029ba8 - 802bb60: e5fa b.n 802b758 - 802bb62: 4640 mov r0, r8 - 802bb64: 2120 movs r1, #32 - 802bb66: f7fe f81f bl 8029ba8 - 802bb6a: e5e8 b.n 802b73e - 802bb6c: 4640 mov r0, r8 - 802bb6e: 212d movs r1, #45 - 802bb70: f7fe f81a bl 8029ba8 - 802bb74: f7ff bb93 b.w 802b29e - 802bb78: 6852 ldr r2, [r2, #4] - 802bb7a: 6893 ldr r3, [r2, #8] - 802bb7c: 2b01 cmp r3, #1 - 802bb7e: f47f abe5 bne.w 802b34c - 802bb82: 6853 ldr r3, [r2, #4] - 802bb84: 781a ldrb r2, [r3, #0] - 802bb86: 2a3e cmp r2, #62 - 802bb88: f47f abe0 bne.w 802b34c - 802bb8c: 4640 mov r0, r8 - 802bb8e: 2128 movs r1, #40 - 802bb90: f7fe f80a bl 8029ba8 - 802bb94: f7ff bbda b.w 802b34c - 802bb98: f04f 0a01 mov.w sl, #1 ; 0x1 - 802bb9c: e6a7 b.n 802b8ee - 802bb9e: 6860 ldr r0, [r4, #4] - 802bba0: 492a ldr r1, [pc, #168] (802bc4c ) - 802bba2: f007 fb19 bl 80331d8 - 802bba6: 2800 cmp r0, #0 - 802bba8: f47f adc0 bne.w 802b72c - 802bbac: 68b9 ldr r1, [r7, #8] - 802bbae: 4640 mov r0, r8 - 802bbb0: f7ff fb10 bl 802b1d4 - 802bbb4: 4640 mov r0, r8 - 802bbb6: 4926 ldr r1, [pc, #152] (802bc50 ) - 802bbb8: f7ff f9fc bl 802afb4 - 802bbbc: f8c8 5118 str.w r5, [r8, #280] - 802bbc0: f7ff bb7b b.w 802b2ba - 802bbc4: 2601 movs r6, #1 - 802bbc6: e472 b.n 802b4ae - 802bbc8: 212d movs r1, #45 - 802bbca: 4640 mov r0, r8 - 802bbcc: f7fd ffec bl 8029ba8 - 802bbd0: 68b9 ldr r1, [r7, #8] - 802bbd2: e797 b.n 802bb04 - 802bbd4: 4640 mov r0, r8 - 802bbd6: 491f ldr r1, [pc, #124] (802bc54 ) - 802bbd8: f7ff f9ec bl 802afb4 - 802bbdc: f7ff bb6d b.w 802b2ba - 802bbe0: 08034f10 .word 0x08034f10 - 802bbe4: 08035068 .word 0x08035068 - 802bbe8: 0803503c .word 0x0803503c - 802bbec: 08035040 .word 0x08035040 - 802bbf0: 08035044 .word 0x08035044 - 802bbf4: 08035030 .word 0x08035030 - 802bbf8: 08034f80 .word 0x08034f80 - 802bbfc: 08034f94 .word 0x08034f94 - 802bc00: 08034f98 .word 0x08034f98 - 802bc04: 08034fac .word 0x08034fac - 802bc08: 08034fc8 .word 0x08034fc8 - 802bc0c: 08034fd8 .word 0x08034fd8 - 802bc10: 08034fec .word 0x08034fec - 802bc14: 08035008 .word 0x08035008 - 802bc18: 08035020 .word 0x08035020 - 802bc1c: 08035024 .word 0x08035024 - 802bc20: 08034f2c .word 0x08034f2c - 802bc24: 0803501c .word 0x0803501c - 802bc28: 08034f20 .word 0x08034f20 - 802bc2c: 08034f5c .word 0x08034f5c - 802bc30: 08034f6c .word 0x08034f6c - 802bc34: 08034f38 .word 0x08034f38 - 802bc38: 08034f54 .word 0x08034f54 - 802bc3c: 08035060 .word 0x08035060 - 802bc40: 08035054 .word 0x08035054 - 802bc44: 08035050 .word 0x08035050 - 802bc48: 0803504c .word 0x0803504c - 802bc4c: 08034f14 .word 0x08034f14 - 802bc50: 08034f1c .word 0x08034f1c - 802bc54: 08035058 .word 0x08035058 - -0802bc58 : - 802bc58: b530 push {r4, r5, lr} - 802bc5a: 780b ldrb r3, [r1, #0] - 802bc5c: b081 sub sp, #4 - 802bc5e: 3b03 subs r3, #3 - 802bc60: 4604 mov r4, r0 - 802bc62: 460d mov r5, r1 - 802bc64: 2b23 cmp r3, #35 - 802bc66: d813 bhi.n 802bc90 - 802bc68: e8df f003 tbb [pc, r3] - 802bc6c: 12121216 .word 0x12121216 - 802bc70: 12121212 .word 0x12121212 - 802bc74: 12121212 .word 0x12121212 - 802bc78: 12121212 .word 0x12121212 - 802bc7c: 1a121212 .word 0x1a121212 - 802bc80: 1e1a221e .word 0x1e1a221e - 802bc84: 362e2622 .word 0x362e2622 - 802bc88: 12423e3a .word 0x12423e3a - 802bc8c: 46121212 .word 0x46121212 - 802bc90: f7ff faa0 bl 802b1d4 - 802bc94: b001 add sp, #4 - 802bc96: bd30 pop {r4, r5, pc} - 802bc98: 6849 ldr r1, [r1, #4] - 802bc9a: f7ff fa9b bl 802b1d4 - 802bc9e: e7f9 b.n 802bc94 - 802bca0: 491d ldr r1, [pc, #116] (802bd18 ) - 802bca2: f7ff f987 bl 802afb4 - 802bca6: e7f5 b.n 802bc94 - 802bca8: 491c ldr r1, [pc, #112] (802bd1c ) - 802bcaa: f7ff f983 bl 802afb4 - 802bcae: e7f1 b.n 802bc94 - 802bcb0: 491b ldr r1, [pc, #108] (802bd20 ) - 802bcb2: f7ff f97f bl 802afb4 - 802bcb6: e7ed b.n 802bc94 - 802bcb8: 2120 movs r1, #32 - 802bcba: f7fd ff75 bl 8029ba8 - 802bcbe: 68a9 ldr r1, [r5, #8] - 802bcc0: 4620 mov r0, r4 - 802bcc2: f7ff fa87 bl 802b1d4 - 802bcc6: e7e5 b.n 802bc94 - 802bcc8: 6803 ldr r3, [r0, #0] - 802bcca: f013 0f04 tst.w r3, #4 ; 0x4 - 802bcce: d1e1 bne.n 802bc94 - 802bcd0: 212a movs r1, #42 - 802bcd2: f7fd ff69 bl 8029ba8 - 802bcd6: e7dd b.n 802bc94 - 802bcd8: 2126 movs r1, #38 - 802bcda: f7fd ff65 bl 8029ba8 - 802bcde: e7d9 b.n 802bc94 - 802bce0: 4910 ldr r1, [pc, #64] (802bd24 ) - 802bce2: f7ff f967 bl 802afb4 - 802bce6: e7d5 b.n 802bc94 - 802bce8: 490f ldr r1, [pc, #60] (802bd28 ) - 802bcea: f7ff f963 bl 802afb4 - 802bcee: e7d1 b.n 802bc94 - 802bcf0: 490e ldr r1, [pc, #56] (802bd2c ) - 802bcf2: f7ff f95f bl 802afb4 - 802bcf6: e7cd b.n 802bc94 - 802bcf8: f890 3108 ldrb.w r3, [r0, #264] - 802bcfc: 2b28 cmp r3, #40 - 802bcfe: d002 beq.n 802bd06 - 802bd00: 2120 movs r1, #32 - 802bd02: f7fd ff51 bl 8029ba8 - 802bd06: 6869 ldr r1, [r5, #4] - 802bd08: 4620 mov r0, r4 - 802bd0a: f7ff fa63 bl 802b1d4 - 802bd0e: 4620 mov r0, r4 - 802bd10: 4907 ldr r1, [pc, #28] (802bd30 ) - 802bd12: f7ff f94f bl 802afb4 - 802bd16: e7bd b.n 802bc94 - 802bd18: 08035078 .word 0x08035078 - 802bd1c: 08035084 .word 0x08035084 - 802bd20: 08035090 .word 0x08035090 - 802bd24: 08035098 .word 0x08035098 - 802bd28: 0803509c .word 0x0803509c - 802bd2c: 080350a8 .word 0x080350a8 - 802bd30: 0803501c .word 0x0803501c - -0802bd34 : - 802bd34: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 802bd38: 4606 mov r6, r0 - 802bd3a: 460d mov r5, r1 - 802bd3c: 4614 mov r4, r2 - 802bd3e: 2900 cmp r1, #0 - 802bd40: d02d beq.n 802bd9e - 802bd42: f8d0 311c ldr.w r3, [r0, #284] - 802bd46: 2b00 cmp r3, #0 - 802bd48: d129 bne.n 802bd9e - 802bd4a: f04f 0801 mov.w r8, #1 ; 0x1 - 802bd4e: e018 b.n 802bd82 - 802bd50: 6869 ldr r1, [r5, #4] - 802bd52: 68eb ldr r3, [r5, #12] - 802bd54: f8d6 7114 ldr.w r7, [r6, #276] - 802bd58: f8c6 3114 str.w r3, [r6, #276] - 802bd5c: 780b ldrb r3, [r1, #0] - 802bd5e: f8c5 8008 str.w r8, [r5, #8] - 802bd62: 2b24 cmp r3, #36 - 802bd64: d01d beq.n 802bda2 - 802bd66: 2b25 cmp r3, #37 - 802bd68: d022 beq.n 802bdb0 - 802bd6a: 2b02 cmp r3, #2 - 802bd6c: d027 beq.n 802bdbe - 802bd6e: 4630 mov r0, r6 - 802bd70: f7ff ff72 bl 802bc58 - 802bd74: f8c6 7114 str.w r7, [r6, #276] - 802bd78: 682d ldr r5, [r5, #0] - 802bd7a: b185 cbz r5, 802bd9e - 802bd7c: f8d6 311c ldr.w r3, [r6, #284] - 802bd80: b96b cbnz r3, 802bd9e - 802bd82: 68ab ldr r3, [r5, #8] - 802bd84: 2b00 cmp r3, #0 - 802bd86: d1f7 bne.n 802bd78 - 802bd88: 2c00 cmp r4, #0 - 802bd8a: d1e1 bne.n 802bd50 - 802bd8c: 6869 ldr r1, [r5, #4] - 802bd8e: 780b ldrb r3, [r1, #0] - 802bd90: 3b19 subs r3, #25 - 802bd92: b2db uxtb r3, r3 - 802bd94: 2b02 cmp r3, #2 - 802bd96: d8dc bhi.n 802bd52 - 802bd98: 682d ldr r5, [r5, #0] - 802bd9a: 2d00 cmp r5, #0 - 802bd9c: d1ee bne.n 802bd7c - 802bd9e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - 802bda2: 682a ldr r2, [r5, #0] - 802bda4: 4630 mov r0, r6 - 802bda6: f000 f833 bl 802be10 - 802bdaa: f8c6 7114 str.w r7, [r6, #276] - 802bdae: e7f6 b.n 802bd9e - 802bdb0: 682a ldr r2, [r5, #0] - 802bdb2: 4630 mov r0, r6 - 802bdb4: f7ff f936 bl 802b024 - 802bdb8: f8c6 7114 str.w r7, [r6, #276] - 802bdbc: e7ef b.n 802bd9e - 802bdbe: 3b02 subs r3, #2 - 802bdc0: f8d6 4118 ldr.w r4, [r6, #280] - 802bdc4: f8c6 3118 str.w r3, [r6, #280] - 802bdc8: 6849 ldr r1, [r1, #4] - 802bdca: 4630 mov r0, r6 - 802bdcc: f7ff fa02 bl 802b1d4 - 802bdd0: 6833 ldr r3, [r6, #0] - 802bdd2: f8c6 4118 str.w r4, [r6, #280] - 802bdd6: f013 0f04 tst.w r3, #4 ; 0x4 - 802bdda: d112 bne.n 802be02 - 802bddc: 4630 mov r0, r6 - 802bdde: 490b ldr r1, [pc, #44] (802be0c ) - 802bde0: f7ff f8e8 bl 802afb4 - 802bde4: 686a ldr r2, [r5, #4] - 802bde6: 6891 ldr r1, [r2, #8] - 802bde8: e000 b.n 802bdec - 802bdea: 6849 ldr r1, [r1, #4] - 802bdec: 780b ldrb r3, [r1, #0] - 802bdee: 3b19 subs r3, #25 - 802bdf0: b2db uxtb r3, r3 - 802bdf2: 2b02 cmp r3, #2 - 802bdf4: d9f9 bls.n 802bdea - 802bdf6: 4630 mov r0, r6 - 802bdf8: f7ff f9ec bl 802b1d4 - 802bdfc: f8c6 7114 str.w r7, [r6, #276] - 802be00: e7cd b.n 802bd9e - 802be02: 4630 mov r0, r6 - 802be04: 212e movs r1, #46 - 802be06: f7fd fecf bl 8029ba8 - 802be0a: e7eb b.n 802bde4 - 802be0c: 08034f10 .word 0x08034f10 - -0802be10 : - 802be10: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 802be14: 4605 mov r5, r0 - 802be16: 4688 mov r8, r1 - 802be18: 4616 mov r6, r2 - 802be1a: 2a00 cmp r2, #0 - 802be1c: f000 80de beq.w 802bfdc - 802be20: 6893 ldr r3, [r2, #8] - 802be22: 2b00 cmp r3, #0 - 802be24: f040 80da bne.w 802bfdc - 802be28: 4611 mov r1, r2 - 802be2a: 2001 movs r0, #1 - 802be2c: 684b ldr r3, [r1, #4] - 802be2e: 781a ldrb r2, [r3, #0] - 802be30: 3a16 subs r2, #22 - 802be32: b2d3 uxtb r3, r2 - 802be34: 2b10 cmp r3, #16 - 802be36: d865 bhi.n 802bf04 - 802be38: b252 sxtb r2, r2 - 802be3a: fa10 f202 lsls.w r2, r0, r2 - 802be3e: 4b6a ldr r3, [pc, #424] (802bfe8 ) - 802be40: ea02 0303 and.w r3, r2, r3 - 802be44: 2b00 cmp r3, #0 - 802be46: d16c bne.n 802bf22 - 802be48: f412 7f60 tst.w r2, #896 ; 0x380 - 802be4c: d05a beq.n 802bf04 - 802be4e: f895 3108 ldrb.w r3, [r5, #264] - 802be52: 2b28 cmp r3, #40 - 802be54: d001 beq.n 802be5a - 802be56: 2b2a cmp r3, #42 - 802be58: d165 bne.n 802bf26 - 802be5a: f8d5 c104 ldr.w ip, [r5, #260] - 802be5e: f1bc 0fff cmp.w ip, #255 ; 0xff - 802be62: d076 beq.n 802bf52 - 802be64: 2128 movs r1, #40 - 802be66: f10c 0201 add.w r2, ip, #1 ; 0x1 - 802be6a: eb05 030c add.w r3, r5, ip - 802be6e: 2400 movs r4, #0 - 802be70: 7119 strb r1, [r3, #4] - 802be72: f8c5 2104 str.w r2, [r5, #260] - 802be76: f885 1108 strb.w r1, [r5, #264] - 802be7a: f8d5 7118 ldr.w r7, [r5, #280] - 802be7e: 4628 mov r0, r5 - 802be80: f8c5 4118 str.w r4, [r5, #280] - 802be84: 4631 mov r1, r6 - 802be86: 4622 mov r2, r4 - 802be88: f7ff ff54 bl 802bd34 - 802be8c: f8d5 c104 ldr.w ip, [r5, #260] - 802be90: f1bc 0fff cmp.w ip, #255 ; 0xff - 802be94: d06b beq.n 802bf6e - 802be96: 2129 movs r1, #41 - 802be98: eb05 030c add.w r3, r5, ip - 802be9c: f10c 0201 add.w r2, ip, #1 ; 0x1 - 802bea0: 7119 strb r1, [r3, #4] - 802bea2: f8c5 2104 str.w r2, [r5, #260] - 802bea6: f885 1108 strb.w r1, [r5, #264] - 802beaa: f8d5 c104 ldr.w ip, [r5, #260] - 802beae: f1bc 0fff cmp.w ip, #255 ; 0xff - 802beb2: d077 beq.n 802bfa4 - 802beb4: 2128 movs r1, #40 - 802beb6: eb05 030c add.w r3, r5, ip - 802beba: f10c 0201 add.w r2, ip, #1 ; 0x1 - 802bebe: 7119 strb r1, [r3, #4] - 802bec0: f8c5 2104 str.w r2, [r5, #260] - 802bec4: f885 1108 strb.w r1, [r5, #264] - 802bec8: f8d8 1008 ldr.w r1, [r8, #8] - 802becc: b111 cbz r1, 802bed4 - 802bece: 4628 mov r0, r5 - 802bed0: f7ff f980 bl 802b1d4 - 802bed4: f8d5 c104 ldr.w ip, [r5, #260] - 802bed8: f1bc 0fff cmp.w ip, #255 ; 0xff - 802bedc: d054 beq.n 802bf88 - 802bede: 2129 movs r1, #41 - 802bee0: f10c 0201 add.w r2, ip, #1 ; 0x1 - 802bee4: eb05 030c add.w r3, r5, ip - 802bee8: 7119 strb r1, [r3, #4] - 802beea: f8c5 2104 str.w r2, [r5, #260] - 802beee: f885 1108 strb.w r1, [r5, #264] - 802bef2: 4628 mov r0, r5 - 802bef4: 4631 mov r1, r6 - 802bef6: 2201 movs r2, #1 - 802bef8: f7ff ff1c bl 802bd34 - 802befc: f8c5 7118 str.w r7, [r5, #280] - 802bf00: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - 802bf04: 6809 ldr r1, [r1, #0] - 802bf06: b111 cbz r1, 802bf0e - 802bf08: 688b ldr r3, [r1, #8] - 802bf0a: 2b00 cmp r3, #0 - 802bf0c: d08e beq.n 802be2c - 802bf0e: 2200 movs r2, #0 - 802bf10: f8d5 7118 ldr.w r7, [r5, #280] - 802bf14: 4628 mov r0, r5 - 802bf16: f8c5 2118 str.w r2, [r5, #280] - 802bf1a: 4631 mov r1, r6 - 802bf1c: f7ff ff0a bl 802bd34 - 802bf20: e7c3 b.n 802beaa - 802bf22: f895 3108 ldrb.w r3, [r5, #264] - 802bf26: 2b20 cmp r3, #32 - 802bf28: d097 beq.n 802be5a - 802bf2a: f8d5 c104 ldr.w ip, [r5, #260] - 802bf2e: f1bc 0fff cmp.w ip, #255 ; 0xff - 802bf32: d045 beq.n 802bfc0 - 802bf34: f10c 0201 add.w r2, ip, #1 ; 0x1 - 802bf38: f8c5 2104 str.w r2, [r5, #260] - 802bf3c: eb05 030c add.w r3, r5, ip - 802bf40: f8d5 c104 ldr.w ip, [r5, #260] - 802bf44: 2120 movs r1, #32 - 802bf46: f1bc 0fff cmp.w ip, #255 ; 0xff - 802bf4a: 7119 strb r1, [r3, #4] - 802bf4c: f885 1108 strb.w r1, [r5, #264] - 802bf50: d188 bne.n 802be64 - 802bf52: 2400 movs r4, #0 - 802bf54: 4661 mov r1, ip - 802bf56: f885 4103 strb.w r4, [r5, #259] - 802bf5a: 1d28 adds r0, r5, #4 - 802bf5c: f8d5 2110 ldr.w r2, [r5, #272] - 802bf60: f8d5 310c ldr.w r3, [r5, #268] - 802bf64: 4798 blx r3 - 802bf66: f8c5 4104 str.w r4, [r5, #260] - 802bf6a: 46a4 mov ip, r4 - 802bf6c: e77a b.n 802be64 - 802bf6e: 4661 mov r1, ip - 802bf70: f885 4103 strb.w r4, [r5, #259] - 802bf74: 1d28 adds r0, r5, #4 - 802bf76: f8d5 2110 ldr.w r2, [r5, #272] - 802bf7a: f8d5 310c ldr.w r3, [r5, #268] - 802bf7e: 4798 blx r3 - 802bf80: f8c5 4104 str.w r4, [r5, #260] - 802bf84: 46a4 mov ip, r4 - 802bf86: e786 b.n 802be96 - 802bf88: 2400 movs r4, #0 - 802bf8a: 4661 mov r1, ip - 802bf8c: f885 4103 strb.w r4, [r5, #259] - 802bf90: 1d28 adds r0, r5, #4 - 802bf92: f8d5 2110 ldr.w r2, [r5, #272] - 802bf96: f8d5 310c ldr.w r3, [r5, #268] - 802bf9a: 4798 blx r3 - 802bf9c: f8c5 4104 str.w r4, [r5, #260] - 802bfa0: 46a4 mov ip, r4 - 802bfa2: e79c b.n 802bede - 802bfa4: 2400 movs r4, #0 - 802bfa6: 4661 mov r1, ip - 802bfa8: f885 4103 strb.w r4, [r5, #259] - 802bfac: 1d28 adds r0, r5, #4 - 802bfae: f8d5 2110 ldr.w r2, [r5, #272] - 802bfb2: f8d5 310c ldr.w r3, [r5, #268] - 802bfb6: 4798 blx r3 - 802bfb8: f8c5 4104 str.w r4, [r5, #260] - 802bfbc: 46a4 mov ip, r4 - 802bfbe: e779 b.n 802beb4 - 802bfc0: 2400 movs r4, #0 - 802bfc2: 4661 mov r1, ip - 802bfc4: f885 4103 strb.w r4, [r5, #259] - 802bfc8: 1d28 adds r0, r5, #4 - 802bfca: f8d5 2110 ldr.w r2, [r5, #272] - 802bfce: f8d5 310c ldr.w r3, [r5, #268] - 802bfd2: 4798 blx r3 - 802bfd4: f8c5 4104 str.w r4, [r5, #260] - 802bfd8: 46a4 mov ip, r4 - 802bfda: e7ab b.n 802bf34 - 802bfdc: f8d8 3004 ldr.w r3, [r8, #4] - 802bfe0: 2b00 cmp r3, #0 - 802bfe2: f47f af34 bne.w 802be4e - 802bfe6: e792 b.n 802bf0e - 802bfe8: 00010c47 .word 0x00010c47 - -0802bfec : - 802bfec: b5f0 push {r4, r5, r6, r7, lr} - 802bfee: 460e mov r6, r1 - 802bff0: 6849 ldr r1, [r1, #4] - 802bff2: b083 sub sp, #12 - 802bff4: 780b ldrb r3, [r1, #0] - 802bff6: 4605 mov r5, r0 - 802bff8: 2b04 cmp r3, #4 - 802bffa: d003 beq.n 802c004 - 802bffc: f7ff f8ea bl 802b1d4 - 802c000: b003 add sp, #12 - 802c002: bdf0 pop {r4, r5, r6, r7, pc} - 802c004: f8d0 2114 ldr.w r2, [r0, #276] - 802c008: 2300 movs r3, #0 - 802c00a: f8d0 7118 ldr.w r7, [r0, #280] - 802c00e: f8c0 3118 str.w r3, [r0, #280] - 802c012: ab02 add r3, sp, #8 - 802c014: f843 2d08 str.w r2, [r3, #-8]! - 802c018: f8c0 3114 str.w r3, [r0, #276] - 802c01c: 9101 str r1, [sp, #4] - 802c01e: 6849 ldr r1, [r1, #4] - 802c020: f7ff f8d8 bl 802b1d4 - 802c024: f895 2108 ldrb.w r2, [r5, #264] - 802c028: 9b00 ldr r3, [sp, #0] - 802c02a: 2a3c cmp r2, #60 - 802c02c: f8c5 3114 str.w r3, [r5, #276] - 802c030: d045 beq.n 802c0be - 802c032: f8d5 c104 ldr.w ip, [r5, #260] - 802c036: f1bc 0fff cmp.w ip, #255 ; 0xff - 802c03a: d024 beq.n 802c086 - 802c03c: 213c movs r1, #60 - 802c03e: f10c 0301 add.w r3, ip, #1 ; 0x1 - 802c042: eb05 020c add.w r2, r5, ip - 802c046: 7111 strb r1, [r2, #4] - 802c048: f8c5 3104 str.w r3, [r5, #260] - 802c04c: f885 1108 strb.w r1, [r5, #264] - 802c050: 6873 ldr r3, [r6, #4] - 802c052: 4628 mov r0, r5 - 802c054: 6899 ldr r1, [r3, #8] - 802c056: f7ff f8bd bl 802b1d4 - 802c05a: f895 3108 ldrb.w r3, [r5, #264] - 802c05e: 2b3e cmp r3, #62 - 802c060: d032 beq.n 802c0c8 - 802c062: f8d5 c104 ldr.w ip, [r5, #260] - 802c066: f1bc 0fff cmp.w ip, #255 ; 0xff - 802c06a: d01a beq.n 802c0a2 - 802c06c: 213e movs r1, #62 - 802c06e: eb05 030c add.w r3, r5, ip - 802c072: f10c 0201 add.w r2, ip, #1 ; 0x1 - 802c076: 7119 strb r1, [r3, #4] - 802c078: f8c5 2104 str.w r2, [r5, #260] - 802c07c: f885 1108 strb.w r1, [r5, #264] - 802c080: f8c5 7118 str.w r7, [r5, #280] - 802c084: e7bc b.n 802c000 - 802c086: 2400 movs r4, #0 - 802c088: 4661 mov r1, ip - 802c08a: f885 4103 strb.w r4, [r5, #259] - 802c08e: 1d28 adds r0, r5, #4 - 802c090: f8d5 2110 ldr.w r2, [r5, #272] - 802c094: f8d5 310c ldr.w r3, [r5, #268] - 802c098: 4798 blx r3 - 802c09a: f8c5 4104 str.w r4, [r5, #260] - 802c09e: 46a4 mov ip, r4 - 802c0a0: e7cc b.n 802c03c - 802c0a2: 2400 movs r4, #0 - 802c0a4: 4661 mov r1, ip - 802c0a6: f885 4103 strb.w r4, [r5, #259] - 802c0aa: 1d28 adds r0, r5, #4 - 802c0ac: f8d5 2110 ldr.w r2, [r5, #272] - 802c0b0: f8d5 310c ldr.w r3, [r5, #268] - 802c0b4: 4798 blx r3 - 802c0b6: f8c5 4104 str.w r4, [r5, #260] - 802c0ba: 46a4 mov ip, r4 - 802c0bc: e7d6 b.n 802c06c - 802c0be: 4628 mov r0, r5 - 802c0c0: 2120 movs r1, #32 - 802c0c2: f7fd fd71 bl 8029ba8 - 802c0c6: e7b4 b.n 802c032 - 802c0c8: 4628 mov r0, r5 - 802c0ca: 2120 movs r1, #32 - 802c0cc: f7fd fd6c bl 8029ba8 - 802c0d0: e7c7 b.n 802c062 - 802c0d2: 46c0 nop (mov r8, r8) - -0802c0d4 : - 802c0d4: 780b ldrb r3, [r1, #0] - 802c0d6: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} - 802c0da: 2b29 cmp r3, #41 - 802c0dc: 4604 mov r4, r0 - 802c0de: d003 beq.n 802c0e8 - 802c0e0: f7ff f878 bl 802b1d4 - 802c0e4: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} - 802c0e8: 684b ldr r3, [r1, #4] - 802c0ea: 689f ldr r7, [r3, #8] - 802c0ec: f8d3 8004 ldr.w r8, [r3, #4] - 802c0f0: 2f00 cmp r7, #0 - 802c0f2: d0f7 beq.n 802c0e4 - 802c0f4: 2500 movs r5, #0 - 802c0f6: f100 0904 add.w r9, r0, #4 ; 0x4 - 802c0fa: 46aa mov sl, r5 - 802c0fc: e00a b.n 802c114 - 802c0fe: 3501 adds r5, #1 - 802c100: 1c4a adds r2, r1, #1 - 802c102: eb04 0301 add.w r3, r4, r1 - 802c106: 42af cmp r7, r5 - 802c108: 711e strb r6, [r3, #4] - 802c10a: f8c4 2104 str.w r2, [r4, #260] - 802c10e: f884 6108 strb.w r6, [r4, #264] - 802c112: d9e7 bls.n 802c0e4 - 802c114: f8d4 1104 ldr.w r1, [r4, #260] - 802c118: f818 6005 ldrb.w r6, [r8, r5] - 802c11c: 29ff cmp r1, #255 - 802c11e: d1ee bne.n 802c0fe - 802c120: f884 a103 strb.w sl, [r4, #259] - 802c124: f8d4 2110 ldr.w r2, [r4, #272] - 802c128: f8d4 310c ldr.w r3, [r4, #268] - 802c12c: 4648 mov r0, r9 - 802c12e: 4798 blx r3 - 802c130: f8c4 a104 str.w sl, [r4, #260] - 802c134: 4651 mov r1, sl - 802c136: e7e2 b.n 802c0fe - -0802c138 : - 802c138: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 802c13c: b0d7 sub sp, #348 - 802c13e: 7806 ldrb r6, [r0, #0] - 802c140: af00 add r7, sp, #0 - 802c142: 2e5f cmp r6, #95 - 802c144: 4604 mov r4, r0 - 802c146: 460d mov r5, r1 - 802c148: 4691 mov r9, r2 - 802c14a: 469a mov sl, r3 - 802c14c: d105 bne.n 802c15a - 802c14e: 7843 ldrb r3, [r0, #1] - 802c150: 2b5a cmp r3, #90 - 802c152: bf08 it eq - 802c154: f04f 0800 moveq.w r8, #0 ; 0x0 - 802c158: d017 beq.n 802c18a - 802c15a: 4620 mov r0, r4 - 802c15c: 4961 ldr r1, [pc, #388] (802c2e4 ) - 802c15e: 2208 movs r2, #8 - 802c160: f007 f83a bl 80331d8 - 802c164: b960 cbnz r0, 802c180 - 802c166: 7a22 ldrb r2, [r4, #8] - 802c168: 2a5f cmp r2, #95 - 802c16a: bf14 ite ne - 802c16c: 2300 movne r3, #0 - 802c16e: 2301 moveq r3, #1 - 802c170: 2a2e cmp r2, #46 - 802c172: bf08 it eq - 802c174: f043 0301 orreq.w r3, r3, #1 ; 0x1 - 802c178: 2b00 cmp r3, #0 - 802c17a: d175 bne.n 802c268 - 802c17c: 2a24 cmp r2, #36 - 802c17e: d073 beq.n 802c268 - 802c180: f015 0010 ands.w r0, r5, #16 ; 0x10 - 802c184: d06b beq.n 802c25e - 802c186: f04f 0801 mov.w r8, #1 ; 0x1 - 802c18a: 4620 mov r0, r4 - 802c18c: f007 f81c bl 80331c8 - 802c190: eb04 0300 add.w r3, r4, r0 - 802c194: 2200 movs r2, #0 - 802c196: f8c7 3128 str.w r3, [r7, #296] - 802c19a: 0043 lsls r3, r0, #1 - 802c19c: f8c7 313c str.w r3, [r7, #316] - 802c1a0: f8c7 2138 str.w r2, [r7, #312] - 802c1a4: 0143 lsls r3, r0, #5 - 802c1a6: f8c7 2144 str.w r2, [r7, #324] - 802c1aa: f8c7 214c str.w r2, [r7, #332] - 802c1ae: f8c7 2150 str.w r2, [r7, #336] - 802c1b2: f8c7 2154 str.w r2, [r7, #340] - 802c1b6: 00c2 lsls r2, r0, #3 - 802c1b8: 1a9b subs r3, r3, r2 - 802c1ba: f8c7 0148 str.w r0, [r7, #328] - 802c1be: 3308 adds r3, #8 - 802c1c0: 0080 lsls r0, r0, #2 - 802c1c2: 46eb mov fp, sp - 802c1c4: 300e adds r0, #14 - 802c1c6: ebc3 0d0d rsb sp, r3, sp - 802c1ca: ea4f 02dd mov.w r2, sp, lsr #3 - 802c1ce: f020 0007 bic.w r0, r0, #7 ; 0x7 - 802c1d2: 00d2 lsls r2, r2, #3 - 802c1d4: ebc0 0d0d rsb sp, r0, sp - 802c1d8: f8c7 4124 str.w r4, [r7, #292] - 802c1dc: f8c7 512c str.w r5, [r7, #300] - 802c1e0: f8c7 4130 str.w r4, [r7, #304] - 802c1e4: f8c7 2134 str.w r2, [r7, #308] - 802c1e8: f8c7 d140 str.w sp, [r7, #320] - 802c1ec: f1b8 0f00 cmp.w r8, #0 ; 0x0 - 802c1f0: d15f bne.n 802c2b2 - 802c1f2: 2e5f cmp r6, #95 - 802c1f4: d066 beq.n 802c2c4 - 802c1f6: 2100 movs r1, #0 - 802c1f8: f015 0f01 tst.w r5, #1 ; 0x1 - 802c1fc: d004 beq.n 802c208 - 802c1fe: f8d7 3130 ldr.w r3, [r7, #304] - 802c202: 781a ldrb r2, [r3, #0] - 802c204: 2a00 cmp r2, #0 - 802c206: d15a bne.n 802c2be - 802c208: 2900 cmp r1, #0 - 802c20a: d058 beq.n 802c2be - 802c20c: 1d3c adds r4, r7, #4 - 802c20e: 6025 str r5, [r4, #0] - 802c210: 2500 movs r5, #0 - 802c212: 4620 mov r0, r4 - 802c214: f8c4 5104 str.w r5, [r4, #260] - 802c218: f884 5108 strb.w r5, [r4, #264] - 802c21c: f8c4 5114 str.w r5, [r4, #276] - 802c220: f8c4 5118 str.w r5, [r4, #280] - 802c224: f8c4 910c str.w r9, [r4, #268] - 802c228: f8c4 a110 str.w sl, [r4, #272] - 802c22c: f8c4 511c str.w r5, [r4, #284] - 802c230: f7fe ffd0 bl 802b1d4 - 802c234: f8d4 1104 ldr.w r1, [r4, #260] - 802c238: f107 0008 add.w r0, r7, #8 ; 0x8 - 802c23c: eb04 0301 add.w r3, r4, r1 - 802c240: 711d strb r5, [r3, #4] - 802c242: f8d4 2110 ldr.w r2, [r4, #272] - 802c246: f8d4 310c ldr.w r3, [r4, #268] - 802c24a: 4798 blx r3 - 802c24c: f8d4 311c ldr.w r3, [r4, #284] - 802c250: f8c4 5104 str.w r5, [r4, #260] - 802c254: 42ab cmp r3, r5 - 802c256: bf14 ite ne - 802c258: 2000 movne r0, #0 - 802c25a: 2001 moveq r0, #1 - 802c25c: 46dd mov sp, fp - 802c25e: f507 77ae add.w r7, r7, #348 ; 0x15c - 802c262: 46bd mov sp, r7 - 802c264: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} - 802c268: 7a63 ldrb r3, [r4, #9] - 802c26a: 2b49 cmp r3, #73 - 802c26c: bf14 ite ne - 802c26e: 2200 movne r2, #0 - 802c270: 2201 moveq r2, #1 - 802c272: 2b44 cmp r3, #68 - 802c274: bf14 ite ne - 802c276: 4613 movne r3, r2 - 802c278: f042 0301 orreq.w r3, r2, #1 ; 0x1 - 802c27c: 2b00 cmp r3, #0 - 802c27e: f43f af7f beq.w 802c180 - 802c282: 7aa3 ldrb r3, [r4, #10] - 802c284: 2b5f cmp r3, #95 - 802c286: f47f af7b bne.w 802c180 - 802c28a: 4b17 ldr r3, [pc, #92] (802c2e8 ) - 802c28c: 4817 ldr r0, [pc, #92] (802c2ec ) - 802c28e: 2a00 cmp r2, #0 - 802c290: bf08 it eq - 802c292: 4618 moveq r0, r3 - 802c294: bf14 ite ne - 802c296: 211d movne r1, #29 - 802c298: 211c moveq r1, #28 - 802c29a: 4652 mov r2, sl - 802c29c: 340b adds r4, #11 - 802c29e: 47c8 blx r9 - 802c2a0: 4620 mov r0, r4 - 802c2a2: f006 ff91 bl 80331c8 - 802c2a6: 4652 mov r2, sl - 802c2a8: 4601 mov r1, r0 - 802c2aa: 4620 mov r0, r4 - 802c2ac: 47c8 blx r9 - 802c2ae: 2001 movs r0, #1 - 802c2b0: e7d5 b.n 802c25e - 802c2b2: f507 7092 add.w r0, r7, #292 ; 0x124 - 802c2b6: f7fd fd07 bl 8029cc8 - 802c2ba: 4601 mov r1, r0 - 802c2bc: e79c b.n 802c1f8 - 802c2be: 2000 movs r0, #0 - 802c2c0: 46dd mov sp, fp - 802c2c2: e7cc b.n 802c25e - 802c2c4: 1c62 adds r2, r4, #1 - 802c2c6: f8c7 2130 str.w r2, [r7, #304] - 802c2ca: 7863 ldrb r3, [r4, #1] - 802c2cc: 2b5a cmp r3, #90 - 802c2ce: d192 bne.n 802c1f6 - 802c2d0: 1c53 adds r3, r2, #1 - 802c2d2: 2101 movs r1, #1 - 802c2d4: f507 7092 add.w r0, r7, #292 ; 0x124 - 802c2d8: f8c7 3130 str.w r3, [r7, #304] - 802c2dc: f7fe f8b6 bl 802a44c - 802c2e0: 4601 mov r1, r0 - 802c2e2: e789 b.n 802c1f8 - 802c2e4: 08034ed8 .word 0x08034ed8 - 802c2e8: 080350b4 .word 0x080350b4 - 802c2ec: 080350d4 .word 0x080350d4 - -0802c2f0 <__gcclibcxx_demangle_callback>: - 802c2f0: f1d1 0301 rsbs r3, r1, #1 ; 0x1 - 802c2f4: bf38 it cc - 802c2f6: 2300 movcc r3, #0 - 802c2f8: 2800 cmp r0, #0 - 802c2fa: bf08 it eq - 802c2fc: f043 0301 orreq.w r3, r3, #1 ; 0x1 - 802c300: b510 push {r4, lr} - 802c302: 468c mov ip, r1 - 802c304: 4614 mov r4, r2 - 802c306: b113 cbz r3, 802c30e <__gcclibcxx_demangle_callback+0x1e> - 802c308: f06f 0002 mvn.w r0, #2 ; 0x2 - 802c30c: bd10 pop {r4, pc} - 802c30e: 2111 movs r1, #17 - 802c310: 4662 mov r2, ip - 802c312: 4623 mov r3, r4 - 802c314: f7ff ff10 bl 802c138 - 802c318: 2800 cmp r0, #0 - 802c31a: bf0c ite eq - 802c31c: f06f 0001 mvneq.w r0, #1 ; 0x1 - 802c320: 2000 movne r0, #0 - 802c322: e7f3 b.n 802c30c <__gcclibcxx_demangle_callback+0x1c> - -0802c324 <__cxa_demangle>: - 802c324: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 802c328: 460e mov r6, r1 - 802c32a: b084 sub sp, #16 - 802c32c: 4617 mov r7, r2 - 802c32e: 4698 mov r8, r3 - 802c330: 2800 cmp r0, #0 - 802c332: d05b beq.n 802c3ec <__cxa_demangle+0xc8> - 802c334: f1d2 0301 rsbs r3, r2, #1 ; 0x1 - 802c338: bf38 it cc - 802c33a: 2300 movcc r3, #0 - 802c33c: 2900 cmp r1, #0 - 802c33e: bf0c ite eq - 802c340: 2300 moveq r3, #0 - 802c342: f003 0301 andne.w r3, r3, #1 ; 0x1 - 802c346: 2b00 cmp r3, #0 - 802c348: d145 bne.n 802c3d6 <__cxa_demangle+0xb2> - 802c34a: 9300 str r3, [sp, #0] - 802c34c: 9301 str r3, [sp, #4] - 802c34e: 9302 str r3, [sp, #8] - 802c350: 9303 str r3, [sp, #12] - 802c352: 2111 movs r1, #17 - 802c354: 4a2c ldr r2, [pc, #176] (802c408 <__cxa_demangle+0xe4>) - 802c356: 466b mov r3, sp - 802c358: f7ff feee bl 802c138 - 802c35c: 4604 mov r4, r0 - 802c35e: 2800 cmp r0, #0 - 802c360: d026 beq.n 802c3b0 <__cxa_demangle+0x8c> - 802c362: 9b03 ldr r3, [sp, #12] - 802c364: 9c00 ldr r4, [sp, #0] - 802c366: 1e1d subs r5, r3, #0 - 802c368: bf18 it ne - 802c36a: 2501 movne r5, #1 - 802c36c: 4628 mov r0, r5 - 802c36e: 2c00 cmp r4, #0 - 802c370: d022 beq.n 802c3b8 <__cxa_demangle+0x94> - 802c372: 2e00 cmp r6, #0 - 802c374: d02b beq.n 802c3ce <__cxa_demangle+0xaa> - 802c376: 4620 mov r0, r4 - 802c378: f006 ff26 bl 80331c8 - 802c37c: 683b ldr r3, [r7, #0] - 802c37e: 4298 cmp r0, r3 - 802c380: d211 bcs.n 802c3a6 <__cxa_demangle+0x82> - 802c382: 4621 mov r1, r4 - 802c384: 4630 mov r0, r6 - 802c386: f006 ff17 bl 80331b8 - 802c38a: 4620 mov r0, r4 - 802c38c: f006 f8f8 bl 8032580 - 802c390: 4634 mov r4, r6 - 802c392: f1b8 0f00 cmp.w r8, #0 ; 0x0 - 802c396: d002 beq.n 802c39e <__cxa_demangle+0x7a> - 802c398: 2300 movs r3, #0 - 802c39a: f8c8 3000 str.w r3, [r8] - 802c39e: 4620 mov r0, r4 - 802c3a0: b004 add sp, #16 - 802c3a2: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - 802c3a6: 4630 mov r0, r6 - 802c3a8: f006 f8ea bl 8032580 - 802c3ac: 603d str r5, [r7, #0] - 802c3ae: e7f0 b.n 802c392 <__cxa_demangle+0x6e> - 802c3b0: 9800 ldr r0, [sp, #0] - 802c3b2: f006 f8e5 bl 8032580 - 802c3b6: 4620 mov r0, r4 - 802c3b8: f1b8 0f00 cmp.w r8, #0 ; 0x0 - 802c3bc: d00e beq.n 802c3dc <__cxa_demangle+0xb8> - 802c3be: 2801 cmp r0, #1 - 802c3c0: d01c beq.n 802c3fc <__cxa_demangle+0xd8> - 802c3c2: f06f 0301 mvn.w r3, #1 ; 0x1 - 802c3c6: f8c8 3000 str.w r3, [r8] - 802c3ca: 2400 movs r4, #0 - 802c3cc: e7e7 b.n 802c39e <__cxa_demangle+0x7a> - 802c3ce: 2f00 cmp r7, #0 - 802c3d0: d0df beq.n 802c392 <__cxa_demangle+0x6e> - 802c3d2: 603d str r5, [r7, #0] - 802c3d4: e7dd b.n 802c392 <__cxa_demangle+0x6e> - 802c3d6: f1b8 0f00 cmp.w r8, #0 ; 0x0 - 802c3da: d101 bne.n 802c3e0 <__cxa_demangle+0xbc> - 802c3dc: 2400 movs r4, #0 - 802c3de: e7de b.n 802c39e <__cxa_demangle+0x7a> - 802c3e0: f06f 0302 mvn.w r3, #2 ; 0x2 - 802c3e4: f8c8 3000 str.w r3, [r8] - 802c3e8: 2400 movs r4, #0 - 802c3ea: e7d8 b.n 802c39e <__cxa_demangle+0x7a> - 802c3ec: 2b00 cmp r3, #0 - 802c3ee: d0f5 beq.n 802c3dc <__cxa_demangle+0xb8> - 802c3f0: f06f 0302 mvn.w r3, #2 ; 0x2 - 802c3f4: f8c8 3000 str.w r3, [r8] - 802c3f8: 4604 mov r4, r0 - 802c3fa: e7d0 b.n 802c39e <__cxa_demangle+0x7a> - 802c3fc: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 802c400: f8c8 3000 str.w r3, [r8] - 802c404: 2400 movs r4, #0 - 802c406: e7ca b.n 802c39e <__cxa_demangle+0x7a> - 802c408: 0802aed5 .word 0x0802aed5 - -0802c40c <__aeabi_drsub>: - 802c40c: f081 4100 eor.w r1, r1, #2147483648 ; 0x80000000 - 802c410: e002 b.n 802c418 <__adddf3> - 802c412: 46c0 nop (mov r8, r8) - -0802c414 <__aeabi_dsub>: - 802c414: f083 4300 eor.w r3, r3, #2147483648 ; 0x80000000 - -0802c418 <__adddf3>: - 802c418: b530 push {r4, r5, lr} - 802c41a: ea4f 0441 mov.w r4, r1, lsl #1 - 802c41e: ea4f 0543 mov.w r5, r3, lsl #1 - 802c422: ea94 0f05 teq r4, r5 - 802c426: bf08 it eq - 802c428: ea90 0f02 teqeq r0, r2 - 802c42c: bf1f itttt ne - 802c42e: ea54 0c00 orrsne.w ip, r4, r0 - 802c432: ea55 0c02 orrsne.w ip, r5, r2 - 802c436: ea7f 5c64 mvnsne.w ip, r4, asr #21 - 802c43a: ea7f 5c65 mvnsne.w ip, r5, asr #21 - 802c43e: f000 80e2 beq.w 802c606 <__adddf3+0x1ee> - 802c442: ea4f 5454 mov.w r4, r4, lsr #21 - 802c446: ebd4 5555 rsbs r5, r4, r5, lsr #21 - 802c44a: bfb8 it lt - 802c44c: 426d neglt r5, r5 - 802c44e: dd0c ble.n 802c46a <__adddf3+0x52> - 802c450: 442c add r4, r5 - 802c452: ea80 0202 eor.w r2, r0, r2 - 802c456: ea81 0303 eor.w r3, r1, r3 - 802c45a: ea82 0000 eor.w r0, r2, r0 - 802c45e: ea83 0101 eor.w r1, r3, r1 - 802c462: ea80 0202 eor.w r2, r0, r2 - 802c466: ea81 0303 eor.w r3, r1, r3 - 802c46a: 2d36 cmp r5, #54 - 802c46c: bf88 it hi - 802c46e: bd30 pophi {r4, r5, pc} - 802c470: f011 4f00 tst.w r1, #2147483648 ; 0x80000000 - 802c474: ea4f 3101 mov.w r1, r1, lsl #12 - 802c478: f44f 1c80 mov.w ip, #1048576 ; 0x100000 - 802c47c: ea4c 3111 orr.w r1, ip, r1, lsr #12 - 802c480: d002 beq.n 802c488 <__adddf3+0x70> - 802c482: 4240 negs r0, r0 - 802c484: eb61 0141 sbc.w r1, r1, r1, lsl #1 - 802c488: f013 4f00 tst.w r3, #2147483648 ; 0x80000000 - 802c48c: ea4f 3303 mov.w r3, r3, lsl #12 - 802c490: ea4c 3313 orr.w r3, ip, r3, lsr #12 - 802c494: d002 beq.n 802c49c <__adddf3+0x84> - 802c496: 4252 negs r2, r2 - 802c498: eb63 0343 sbc.w r3, r3, r3, lsl #1 - 802c49c: ea94 0f05 teq r4, r5 - 802c4a0: f000 80a7 beq.w 802c5f2 <__adddf3+0x1da> - 802c4a4: f1a4 0401 sub.w r4, r4, #1 ; 0x1 - 802c4a8: f1d5 0e20 rsbs lr, r5, #32 ; 0x20 - 802c4ac: db0d blt.n 802c4ca <__adddf3+0xb2> - 802c4ae: fa02 fc0e lsl.w ip, r2, lr - 802c4b2: fa22 f205 lsr.w r2, r2, r5 - 802c4b6: 1880 adds r0, r0, r2 - 802c4b8: f141 0100 adc.w r1, r1, #0 ; 0x0 - 802c4bc: fa03 f20e lsl.w r2, r3, lr - 802c4c0: 1880 adds r0, r0, r2 - 802c4c2: fa43 f305 asr.w r3, r3, r5 - 802c4c6: 4159 adcs r1, r3 - 802c4c8: e00e b.n 802c4e8 <__adddf3+0xd0> - 802c4ca: f1a5 0520 sub.w r5, r5, #32 ; 0x20 - 802c4ce: f10e 0e20 add.w lr, lr, #32 ; 0x20 - 802c4d2: 2a01 cmp r2, #1 - 802c4d4: fa03 fc0e lsl.w ip, r3, lr - 802c4d8: bf28 it cs - 802c4da: f04c 0c02 orrcs.w ip, ip, #2 ; 0x2 - 802c4de: fa43 f305 asr.w r3, r3, r5 - 802c4e2: 18c0 adds r0, r0, r3 - 802c4e4: eb51 71e3 adcs.w r1, r1, r3, asr #31 - 802c4e8: f001 4500 and.w r5, r1, #2147483648 ; 0x80000000 - 802c4ec: d507 bpl.n 802c4fe <__adddf3+0xe6> - 802c4ee: f04f 0e00 mov.w lr, #0 ; 0x0 - 802c4f2: f1dc 0c00 rsbs ip, ip, #0 ; 0x0 - 802c4f6: eb7e 0000 sbcs.w r0, lr, r0 - 802c4fa: eb6e 0101 sbc.w r1, lr, r1 - 802c4fe: f5b1 1f80 cmp.w r1, #1048576 ; 0x100000 - 802c502: d31b bcc.n 802c53c <__adddf3+0x124> - 802c504: f5b1 1f00 cmp.w r1, #2097152 ; 0x200000 - 802c508: d30c bcc.n 802c524 <__adddf3+0x10c> - 802c50a: 0849 lsrs r1, r1, #1 - 802c50c: ea5f 0030 movs.w r0, r0, rrx - 802c510: ea4f 0c3c mov.w ip, ip, rrx - 802c514: f104 0401 add.w r4, r4, #1 ; 0x1 - 802c518: ea4f 5244 mov.w r2, r4, lsl #21 - 802c51c: f512 0f80 cmn.w r2, #4194304 ; 0x400000 - 802c520: f080 809a bcs.w 802c658 <__adddf3+0x240> - 802c524: f1bc 4f00 cmp.w ip, #2147483648 ; 0x80000000 - 802c528: bf08 it eq - 802c52a: ea5f 0c50 movseq.w ip, r0, lsr #1 - 802c52e: f150 0000 adcs.w r0, r0, #0 ; 0x0 - 802c532: eb41 5104 adc.w r1, r1, r4, lsl #20 - 802c536: ea41 0105 orr.w r1, r1, r5 - 802c53a: bd30 pop {r4, r5, pc} - 802c53c: ea5f 0c4c movs.w ip, ip, lsl #1 - 802c540: 4140 adcs r0, r0 - 802c542: eb41 0101 adc.w r1, r1, r1 - 802c546: f411 1f80 tst.w r1, #1048576 ; 0x100000 - 802c54a: f1a4 0401 sub.w r4, r4, #1 ; 0x1 - 802c54e: d1e9 bne.n 802c524 <__adddf3+0x10c> - 802c550: f091 0f00 teq r1, #0 ; 0x0 - 802c554: bf04 itt eq - 802c556: 4601 moveq r1, r0 - 802c558: 2000 moveq r0, #0 - 802c55a: fab1 f381 clz r3, r1 - 802c55e: bf08 it eq - 802c560: 3320 addeq r3, #32 - 802c562: f1a3 030b sub.w r3, r3, #11 ; 0xb - 802c566: f1b3 0220 subs.w r2, r3, #32 ; 0x20 - 802c56a: da0c bge.n 802c586 <__adddf3+0x16e> - 802c56c: 320c adds r2, #12 - 802c56e: dd08 ble.n 802c582 <__adddf3+0x16a> - 802c570: f102 0c14 add.w ip, r2, #20 ; 0x14 - 802c574: f1c2 020c rsb r2, r2, #12 ; 0xc - 802c578: fa01 f00c lsl.w r0, r1, ip - 802c57c: fa21 f102 lsr.w r1, r1, r2 - 802c580: e00c b.n 802c59c <__adddf3+0x184> - 802c582: f102 0214 add.w r2, r2, #20 ; 0x14 - 802c586: bfd8 it le - 802c588: f1c2 0c20 rsble ip, r2, #32 ; 0x20 - 802c58c: fa01 f102 lsl.w r1, r1, r2 - 802c590: fa20 fc0c lsr.w ip, r0, ip - 802c594: bfdc itt le - 802c596: ea41 010c orrle.w r1, r1, ip - 802c59a: 4090 lslle r0, r2 - 802c59c: 1ae4 subs r4, r4, r3 - 802c59e: bfa2 ittt ge - 802c5a0: eb01 5104 addge.w r1, r1, r4, lsl #20 - 802c5a4: 4329 orrge r1, r5 - 802c5a6: bd30 popge {r4, r5, pc} - 802c5a8: ea6f 0404 mvn.w r4, r4 - 802c5ac: 3c1f subs r4, #31 - 802c5ae: da1c bge.n 802c5ea <__adddf3+0x1d2> - 802c5b0: 340c adds r4, #12 - 802c5b2: dc0e bgt.n 802c5d2 <__adddf3+0x1ba> - 802c5b4: f104 0414 add.w r4, r4, #20 ; 0x14 - 802c5b8: f1c4 0220 rsb r2, r4, #32 ; 0x20 - 802c5bc: fa20 f004 lsr.w r0, r0, r4 - 802c5c0: fa01 f302 lsl.w r3, r1, r2 - 802c5c4: ea40 0003 orr.w r0, r0, r3 - 802c5c8: fa21 f304 lsr.w r3, r1, r4 - 802c5cc: ea45 0103 orr.w r1, r5, r3 - 802c5d0: bd30 pop {r4, r5, pc} - 802c5d2: f1c4 040c rsb r4, r4, #12 ; 0xc - 802c5d6: f1c4 0220 rsb r2, r4, #32 ; 0x20 - 802c5da: fa20 f002 lsr.w r0, r0, r2 - 802c5de: fa01 f304 lsl.w r3, r1, r4 - 802c5e2: ea40 0003 orr.w r0, r0, r3 - 802c5e6: 4629 mov r1, r5 - 802c5e8: bd30 pop {r4, r5, pc} - 802c5ea: fa21 f004 lsr.w r0, r1, r4 - 802c5ee: 4629 mov r1, r5 - 802c5f0: bd30 pop {r4, r5, pc} - 802c5f2: f094 0f00 teq r4, #0 ; 0x0 - 802c5f6: f483 1380 eor.w r3, r3, #1048576 ; 0x100000 - 802c5fa: bf06 itte eq - 802c5fc: f481 1180 eoreq.w r1, r1, #1048576 ; 0x100000 - 802c600: 3401 addeq r4, #1 - 802c602: 3d01 subne r5, #1 - 802c604: e74e b.n 802c4a4 <__adddf3+0x8c> - 802c606: ea7f 5c64 mvns.w ip, r4, asr #21 - 802c60a: bf18 it ne - 802c60c: ea7f 5c65 mvnsne.w ip, r5, asr #21 - 802c610: d029 beq.n 802c666 <__adddf3+0x24e> - 802c612: ea94 0f05 teq r4, r5 - 802c616: bf08 it eq - 802c618: ea90 0f02 teqeq r0, r2 - 802c61c: d005 beq.n 802c62a <__adddf3+0x212> - 802c61e: ea54 0c00 orrs.w ip, r4, r0 - 802c622: bf04 itt eq - 802c624: 4619 moveq r1, r3 - 802c626: 4610 moveq r0, r2 - 802c628: bd30 pop {r4, r5, pc} - 802c62a: ea91 0f03 teq r1, r3 - 802c62e: bf1e ittt ne - 802c630: 2100 movne r1, #0 - 802c632: 2000 movne r0, #0 - 802c634: bd30 popne {r4, r5, pc} - 802c636: ea5f 5c54 movs.w ip, r4, lsr #21 - 802c63a: d105 bne.n 802c648 <__adddf3+0x230> - 802c63c: 0040 lsls r0, r0, #1 - 802c63e: 4149 adcs r1, r1 - 802c640: bf28 it cs - 802c642: f041 4100 orrcs.w r1, r1, #2147483648 ; 0x80000000 - 802c646: bd30 pop {r4, r5, pc} - 802c648: f514 0480 adds.w r4, r4, #4194304 ; 0x400000 - 802c64c: bf3c itt cc - 802c64e: f501 1180 addcc.w r1, r1, #1048576 ; 0x100000 - 802c652: bd30 popcc {r4, r5, pc} - 802c654: f001 4500 and.w r5, r1, #2147483648 ; 0x80000000 - 802c658: f045 41fe orr.w r1, r5, #2130706432 ; 0x7f000000 - 802c65c: f441 0170 orr.w r1, r1, #15728640 ; 0xf00000 - 802c660: f04f 0000 mov.w r0, #0 ; 0x0 - 802c664: bd30 pop {r4, r5, pc} - 802c666: ea7f 5c64 mvns.w ip, r4, asr #21 - 802c66a: bf1a itte ne - 802c66c: 4619 movne r1, r3 - 802c66e: 4610 movne r0, r2 - 802c670: ea7f 5c65 mvnseq.w ip, r5, asr #21 - 802c674: bf1c itt ne - 802c676: 460b movne r3, r1 - 802c678: 4602 movne r2, r0 - 802c67a: ea50 3401 orrs.w r4, r0, r1, lsl #12 - 802c67e: bf06 itte eq - 802c680: ea52 3503 orrseq.w r5, r2, r3, lsl #12 - 802c684: ea91 0f03 teqeq r1, r3 - 802c688: f441 2100 orrne.w r1, r1, #524288 ; 0x80000 - 802c68c: bd30 pop {r4, r5, pc} - 802c68e: 46c0 nop (mov r8, r8) - -0802c690 <__aeabi_ui2d>: - 802c690: f090 0f00 teq r0, #0 ; 0x0 - 802c694: bf04 itt eq - 802c696: 2100 moveq r1, #0 - 802c698: 4770 bxeq lr - 802c69a: b530 push {r4, r5, lr} - 802c69c: f44f 6480 mov.w r4, #1024 ; 0x400 - 802c6a0: f104 0432 add.w r4, r4, #50 ; 0x32 - 802c6a4: f04f 0500 mov.w r5, #0 ; 0x0 - 802c6a8: f04f 0100 mov.w r1, #0 ; 0x0 - 802c6ac: e750 b.n 802c550 <__adddf3+0x138> - 802c6ae: 46c0 nop (mov r8, r8) - -0802c6b0 <__aeabi_i2d>: - 802c6b0: f090 0f00 teq r0, #0 ; 0x0 - 802c6b4: bf04 itt eq - 802c6b6: 2100 moveq r1, #0 - 802c6b8: 4770 bxeq lr - 802c6ba: b530 push {r4, r5, lr} - 802c6bc: f44f 6480 mov.w r4, #1024 ; 0x400 - 802c6c0: f104 0432 add.w r4, r4, #50 ; 0x32 - 802c6c4: f010 4500 ands.w r5, r0, #2147483648 ; 0x80000000 - 802c6c8: bf48 it mi - 802c6ca: 4240 negmi r0, r0 - 802c6cc: f04f 0100 mov.w r1, #0 ; 0x0 - 802c6d0: e73e b.n 802c550 <__adddf3+0x138> - 802c6d2: 46c0 nop (mov r8, r8) - -0802c6d4 <__aeabi_f2d>: - 802c6d4: 0042 lsls r2, r0, #1 - 802c6d6: ea4f 01e2 mov.w r1, r2, asr #3 - 802c6da: ea4f 0131 mov.w r1, r1, rrx - 802c6de: ea4f 7002 mov.w r0, r2, lsl #28 - 802c6e2: bf1f itttt ne - 802c6e4: f012 437f andsne.w r3, r2, #4278190080 ; 0xff000000 - 802c6e8: f093 4f7f teqne r3, #4278190080 ; 0xff000000 - 802c6ec: f081 5160 eorne.w r1, r1, #939524096 ; 0x38000000 - 802c6f0: 4770 bxne lr - 802c6f2: f092 0f00 teq r2, #0 ; 0x0 - 802c6f6: bf14 ite ne - 802c6f8: f093 4f7f teqne r3, #4278190080 ; 0xff000000 - 802c6fc: 4770 bxeq lr - 802c6fe: b530 push {r4, r5, lr} - 802c700: f44f 7460 mov.w r4, #896 ; 0x380 - 802c704: f001 4500 and.w r5, r1, #2147483648 ; 0x80000000 - 802c708: f021 4100 bic.w r1, r1, #2147483648 ; 0x80000000 - 802c70c: e720 b.n 802c550 <__adddf3+0x138> - 802c70e: 46c0 nop (mov r8, r8) - -0802c710 <__aeabi_ul2d>: - 802c710: ea50 0201 orrs.w r2, r0, r1 - 802c714: bf08 it eq - 802c716: 4770 bxeq lr - 802c718: b530 push {r4, r5, lr} - 802c71a: f04f 0500 mov.w r5, #0 ; 0x0 - 802c71e: e00a b.n 802c736 <__aeabi_l2d+0x16> - -0802c720 <__aeabi_l2d>: - 802c720: ea50 0201 orrs.w r2, r0, r1 - 802c724: bf08 it eq - 802c726: 4770 bxeq lr - 802c728: b530 push {r4, r5, lr} - 802c72a: f011 4500 ands.w r5, r1, #2147483648 ; 0x80000000 - 802c72e: d502 bpl.n 802c736 <__aeabi_l2d+0x16> - 802c730: 4240 negs r0, r0 - 802c732: eb61 0141 sbc.w r1, r1, r1, lsl #1 - 802c736: f44f 6480 mov.w r4, #1024 ; 0x400 - 802c73a: f104 0432 add.w r4, r4, #50 ; 0x32 - 802c73e: ea5f 5c91 movs.w ip, r1, lsr #22 - 802c742: f43f aedc beq.w 802c4fe <__adddf3+0xe6> - 802c746: f04f 0203 mov.w r2, #3 ; 0x3 - 802c74a: ea5f 0cdc movs.w ip, ip, lsr #3 - 802c74e: bf18 it ne - 802c750: 3203 addne r2, #3 - 802c752: ea5f 0cdc movs.w ip, ip, lsr #3 - 802c756: bf18 it ne - 802c758: 3203 addne r2, #3 - 802c75a: eb02 02dc add.w r2, r2, ip, lsr #3 - 802c75e: f1c2 0320 rsb r3, r2, #32 ; 0x20 - 802c762: fa00 fc03 lsl.w ip, r0, r3 - 802c766: fa20 f002 lsr.w r0, r0, r2 - 802c76a: fa01 fe03 lsl.w lr, r1, r3 - 802c76e: ea40 000e orr.w r0, r0, lr - 802c772: fa21 f102 lsr.w r1, r1, r2 - 802c776: 4414 add r4, r2 - 802c778: e6c1 b.n 802c4fe <__adddf3+0xe6> - 802c77a: 46c0 nop (mov r8, r8) - -0802c77c <__aeabi_dmul>: - 802c77c: b570 push {r4, r5, r6, lr} - 802c77e: f04f 0cff mov.w ip, #255 ; 0xff - 802c782: f44c 6ce0 orr.w ip, ip, #1792 ; 0x700 - 802c786: ea1c 5411 ands.w r4, ip, r1, lsr #20 - 802c78a: bf1d ittte ne - 802c78c: ea1c 5513 andsne.w r5, ip, r3, lsr #20 - 802c790: ea94 0f0c teqne r4, ip - 802c794: ea95 0f0c teqne r5, ip - 802c798: f000 f8de bleq 802c958 <__aeabi_dmul+0x1dc> - 802c79c: 442c add r4, r5 - 802c79e: ea81 0603 eor.w r6, r1, r3 - 802c7a2: ea21 514c bic.w r1, r1, ip, lsl #21 - 802c7a6: ea23 534c bic.w r3, r3, ip, lsl #21 - 802c7aa: ea50 3501 orrs.w r5, r0, r1, lsl #12 - 802c7ae: bf18 it ne - 802c7b0: ea52 3503 orrsne.w r5, r2, r3, lsl #12 - 802c7b4: f441 1180 orr.w r1, r1, #1048576 ; 0x100000 - 802c7b8: f443 1380 orr.w r3, r3, #1048576 ; 0x100000 - 802c7bc: d038 beq.n 802c830 <__aeabi_dmul+0xb4> - 802c7be: fba0 ce02 umull ip, lr, r0, r2 - 802c7c2: f04f 0500 mov.w r5, #0 ; 0x0 - 802c7c6: fbe1 e502 umlal lr, r5, r1, r2 - 802c7ca: f006 4200 and.w r2, r6, #2147483648 ; 0x80000000 - 802c7ce: fbe0 e503 umlal lr, r5, r0, r3 - 802c7d2: f04f 0600 mov.w r6, #0 ; 0x0 - 802c7d6: fbe1 5603 umlal r5, r6, r1, r3 - 802c7da: f09c 0f00 teq ip, #0 ; 0x0 - 802c7de: bf18 it ne - 802c7e0: f04e 0e01 orrne.w lr, lr, #1 ; 0x1 - 802c7e4: f1a4 04ff sub.w r4, r4, #255 ; 0xff - 802c7e8: f5b6 7f00 cmp.w r6, #512 ; 0x200 - 802c7ec: f564 7440 sbc.w r4, r4, #768 ; 0x300 - 802c7f0: d204 bcs.n 802c7fc <__aeabi_dmul+0x80> - 802c7f2: ea5f 0e4e movs.w lr, lr, lsl #1 - 802c7f6: 416d adcs r5, r5 - 802c7f8: eb46 0606 adc.w r6, r6, r6 - 802c7fc: ea42 21c6 orr.w r1, r2, r6, lsl #11 - 802c800: ea41 5155 orr.w r1, r1, r5, lsr #21 - 802c804: ea4f 20c5 mov.w r0, r5, lsl #11 - 802c808: ea40 505e orr.w r0, r0, lr, lsr #21 - 802c80c: ea4f 2ece mov.w lr, lr, lsl #11 - 802c810: f1b4 0cfd subs.w ip, r4, #253 ; 0xfd - 802c814: bf88 it hi - 802c816: f5bc 6fe0 cmphi.w ip, #1792 ; 0x700 - 802c81a: d81e bhi.n 802c85a <__aeabi_dmul+0xde> - 802c81c: f1be 4f00 cmp.w lr, #2147483648 ; 0x80000000 - 802c820: bf08 it eq - 802c822: ea5f 0e50 movseq.w lr, r0, lsr #1 - 802c826: f150 0000 adcs.w r0, r0, #0 ; 0x0 - 802c82a: eb41 5104 adc.w r1, r1, r4, lsl #20 - 802c82e: bd70 pop {r4, r5, r6, pc} - 802c830: f006 4600 and.w r6, r6, #2147483648 ; 0x80000000 - 802c834: ea46 0101 orr.w r1, r6, r1 - 802c838: ea40 0002 orr.w r0, r0, r2 - 802c83c: ea81 0103 eor.w r1, r1, r3 - 802c840: ebb4 045c subs.w r4, r4, ip, lsr #1 - 802c844: bfc2 ittt gt - 802c846: ebd4 050c rsbsgt r5, r4, ip - 802c84a: ea41 5104 orrgt.w r1, r1, r4, lsl #20 - 802c84e: bd70 popgt {r4, r5, r6, pc} - 802c850: f441 1180 orr.w r1, r1, #1048576 ; 0x100000 - 802c854: f04f 0e00 mov.w lr, #0 ; 0x0 - 802c858: 3c01 subs r4, #1 - 802c85a: f300 80ab bgt.w 802c9b4 <__aeabi_dmul+0x238> - 802c85e: f114 0f36 cmn.w r4, #54 ; 0x36 - 802c862: bfde ittt le - 802c864: 2000 movle r0, #0 - 802c866: f001 4100 andle.w r1, r1, #2147483648 ; 0x80000000 - 802c86a: bd70 pople {r4, r5, r6, pc} - 802c86c: f1c4 0400 rsb r4, r4, #0 ; 0x0 - 802c870: 3c20 subs r4, #32 - 802c872: da35 bge.n 802c8e0 <__aeabi_dmul+0x164> - 802c874: 340c adds r4, #12 - 802c876: dc1b bgt.n 802c8b0 <__aeabi_dmul+0x134> - 802c878: f104 0414 add.w r4, r4, #20 ; 0x14 - 802c87c: f1c4 0520 rsb r5, r4, #32 ; 0x20 - 802c880: fa00 f305 lsl.w r3, r0, r5 - 802c884: fa20 f004 lsr.w r0, r0, r4 - 802c888: fa01 f205 lsl.w r2, r1, r5 - 802c88c: ea40 0002 orr.w r0, r0, r2 - 802c890: f001 4200 and.w r2, r1, #2147483648 ; 0x80000000 - 802c894: f021 4100 bic.w r1, r1, #2147483648 ; 0x80000000 - 802c898: eb10 70d3 adds.w r0, r0, r3, lsr #31 - 802c89c: fa21 f604 lsr.w r6, r1, r4 - 802c8a0: eb42 0106 adc.w r1, r2, r6 - 802c8a4: ea5e 0e43 orrs.w lr, lr, r3, lsl #1 - 802c8a8: bf08 it eq - 802c8aa: ea20 70d3 biceq.w r0, r0, r3, lsr #31 - 802c8ae: bd70 pop {r4, r5, r6, pc} - 802c8b0: f1c4 040c rsb r4, r4, #12 ; 0xc - 802c8b4: f1c4 0520 rsb r5, r4, #32 ; 0x20 - 802c8b8: fa00 f304 lsl.w r3, r0, r4 - 802c8bc: fa20 f005 lsr.w r0, r0, r5 - 802c8c0: fa01 f204 lsl.w r2, r1, r4 - 802c8c4: ea40 0002 orr.w r0, r0, r2 - 802c8c8: f001 4100 and.w r1, r1, #2147483648 ; 0x80000000 - 802c8cc: eb10 70d3 adds.w r0, r0, r3, lsr #31 - 802c8d0: f141 0100 adc.w r1, r1, #0 ; 0x0 - 802c8d4: ea5e 0e43 orrs.w lr, lr, r3, lsl #1 - 802c8d8: bf08 it eq - 802c8da: ea20 70d3 biceq.w r0, r0, r3, lsr #31 - 802c8de: bd70 pop {r4, r5, r6, pc} - 802c8e0: f1c4 0520 rsb r5, r4, #32 ; 0x20 - 802c8e4: fa00 f205 lsl.w r2, r0, r5 - 802c8e8: ea4e 0e02 orr.w lr, lr, r2 - 802c8ec: fa20 f304 lsr.w r3, r0, r4 - 802c8f0: fa01 f205 lsl.w r2, r1, r5 - 802c8f4: ea43 0302 orr.w r3, r3, r2 - 802c8f8: fa21 f004 lsr.w r0, r1, r4 - 802c8fc: f001 4100 and.w r1, r1, #2147483648 ; 0x80000000 - 802c900: fa21 f204 lsr.w r2, r1, r4 - 802c904: ea20 0002 bic.w r0, r0, r2 - 802c908: eb00 70d3 add.w r0, r0, r3, lsr #31 - 802c90c: ea5e 0e43 orrs.w lr, lr, r3, lsl #1 - 802c910: bf08 it eq - 802c912: ea20 70d3 biceq.w r0, r0, r3, lsr #31 - 802c916: bd70 pop {r4, r5, r6, pc} - 802c918: f094 0f00 teq r4, #0 ; 0x0 - 802c91c: d10f bne.n 802c93e <__aeabi_dmul+0x1c2> - 802c91e: f001 4600 and.w r6, r1, #2147483648 ; 0x80000000 - 802c922: 0040 lsls r0, r0, #1 - 802c924: eb41 0101 adc.w r1, r1, r1 - 802c928: f411 1f80 tst.w r1, #1048576 ; 0x100000 - 802c92c: bf08 it eq - 802c92e: 3c01 subeq r4, #1 - 802c930: d0f7 beq.n 802c922 <__aeabi_dmul+0x1a6> - 802c932: ea41 0106 orr.w r1, r1, r6 - 802c936: f095 0f00 teq r5, #0 ; 0x0 - 802c93a: bf18 it ne - 802c93c: 46f7 movne pc, lr - 802c93e: f003 4600 and.w r6, r3, #2147483648 ; 0x80000000 - 802c942: 0052 lsls r2, r2, #1 - 802c944: eb43 0303 adc.w r3, r3, r3 - 802c948: f413 1f80 tst.w r3, #1048576 ; 0x100000 - 802c94c: bf08 it eq - 802c94e: 3d01 subeq r5, #1 - 802c950: d0f7 beq.n 802c942 <__aeabi_dmul+0x1c6> - 802c952: ea43 0306 orr.w r3, r3, r6 - 802c956: 46f7 mov pc, lr - 802c958: ea94 0f0c teq r4, ip - 802c95c: ea0c 5513 and.w r5, ip, r3, lsr #20 - 802c960: bf18 it ne - 802c962: ea95 0f0c teqne r5, ip - 802c966: d00c beq.n 802c982 <__aeabi_dmul+0x206> - 802c968: ea50 0641 orrs.w r6, r0, r1, lsl #1 - 802c96c: bf18 it ne - 802c96e: ea52 0643 orrsne.w r6, r2, r3, lsl #1 - 802c972: d1d1 bne.n 802c918 <__aeabi_dmul+0x19c> - 802c974: ea81 0103 eor.w r1, r1, r3 - 802c978: f001 4100 and.w r1, r1, #2147483648 ; 0x80000000 - 802c97c: f04f 0000 mov.w r0, #0 ; 0x0 - 802c980: bd70 pop {r4, r5, r6, pc} - 802c982: ea50 0641 orrs.w r6, r0, r1, lsl #1 - 802c986: bf06 itte eq - 802c988: 4610 moveq r0, r2 - 802c98a: 4619 moveq r1, r3 - 802c98c: ea52 0643 orrsne.w r6, r2, r3, lsl #1 - 802c990: d019 beq.n 802c9c6 <__aeabi_dmul+0x24a> - 802c992: ea94 0f0c teq r4, ip - 802c996: d102 bne.n 802c99e <__aeabi_dmul+0x222> - 802c998: ea50 3601 orrs.w r6, r0, r1, lsl #12 - 802c99c: d113 bne.n 802c9c6 <__aeabi_dmul+0x24a> - 802c99e: ea95 0f0c teq r5, ip - 802c9a2: d105 bne.n 802c9b0 <__aeabi_dmul+0x234> - 802c9a4: ea52 3603 orrs.w r6, r2, r3, lsl #12 - 802c9a8: bf1c itt ne - 802c9aa: 4610 movne r0, r2 - 802c9ac: 4619 movne r1, r3 - 802c9ae: d10a bne.n 802c9c6 <__aeabi_dmul+0x24a> - 802c9b0: ea81 0103 eor.w r1, r1, r3 - 802c9b4: f001 4100 and.w r1, r1, #2147483648 ; 0x80000000 - 802c9b8: f041 41fe orr.w r1, r1, #2130706432 ; 0x7f000000 - 802c9bc: f441 0170 orr.w r1, r1, #15728640 ; 0xf00000 - 802c9c0: f04f 0000 mov.w r0, #0 ; 0x0 - 802c9c4: bd70 pop {r4, r5, r6, pc} - 802c9c6: f041 41fe orr.w r1, r1, #2130706432 ; 0x7f000000 - 802c9ca: f441 0178 orr.w r1, r1, #16252928 ; 0xf80000 - 802c9ce: bd70 pop {r4, r5, r6, pc} - -0802c9d0 <__aeabi_ddiv>: - 802c9d0: b570 push {r4, r5, r6, lr} - 802c9d2: f04f 0cff mov.w ip, #255 ; 0xff - 802c9d6: f44c 6ce0 orr.w ip, ip, #1792 ; 0x700 - 802c9da: ea1c 5411 ands.w r4, ip, r1, lsr #20 - 802c9de: bf1d ittte ne - 802c9e0: ea1c 5513 andsne.w r5, ip, r3, lsr #20 - 802c9e4: ea94 0f0c teqne r4, ip - 802c9e8: ea95 0f0c teqne r5, ip - 802c9ec: f000 f8a7 bleq 802cb3e <__aeabi_ddiv+0x16e> - 802c9f0: eba4 0405 sub.w r4, r4, r5 - 802c9f4: ea81 0e03 eor.w lr, r1, r3 - 802c9f8: ea52 3503 orrs.w r5, r2, r3, lsl #12 - 802c9fc: ea4f 3101 mov.w r1, r1, lsl #12 - 802ca00: f000 8088 beq.w 802cb14 <__aeabi_ddiv+0x144> - 802ca04: ea4f 3303 mov.w r3, r3, lsl #12 - 802ca08: f04f 5580 mov.w r5, #268435456 ; 0x10000000 - 802ca0c: ea45 1313 orr.w r3, r5, r3, lsr #4 - 802ca10: ea43 6312 orr.w r3, r3, r2, lsr #24 - 802ca14: ea4f 2202 mov.w r2, r2, lsl #8 - 802ca18: ea45 1511 orr.w r5, r5, r1, lsr #4 - 802ca1c: ea45 6510 orr.w r5, r5, r0, lsr #24 - 802ca20: ea4f 2600 mov.w r6, r0, lsl #8 - 802ca24: f00e 4100 and.w r1, lr, #2147483648 ; 0x80000000 - 802ca28: 429d cmp r5, r3 - 802ca2a: bf08 it eq - 802ca2c: 4296 cmpeq r6, r2 - 802ca2e: f144 04fd adc.w r4, r4, #253 ; 0xfd - 802ca32: f504 7440 add.w r4, r4, #768 ; 0x300 - 802ca36: d202 bcs.n 802ca3e <__aeabi_ddiv+0x6e> - 802ca38: 085b lsrs r3, r3, #1 - 802ca3a: ea4f 0232 mov.w r2, r2, rrx - 802ca3e: 1ab6 subs r6, r6, r2 - 802ca40: eb65 0503 sbc.w r5, r5, r3 - 802ca44: 085b lsrs r3, r3, #1 - 802ca46: ea4f 0232 mov.w r2, r2, rrx - 802ca4a: f44f 1080 mov.w r0, #1048576 ; 0x100000 - 802ca4e: f44f 2c00 mov.w ip, #524288 ; 0x80000 - 802ca52: ebb6 0e02 subs.w lr, r6, r2 - 802ca56: eb75 0e03 sbcs.w lr, r5, r3 - 802ca5a: bf22 ittt cs - 802ca5c: 1ab6 subcs r6, r6, r2 - 802ca5e: 4675 movcs r5, lr - 802ca60: ea40 000c orrcs.w r0, r0, ip - 802ca64: 085b lsrs r3, r3, #1 - 802ca66: ea4f 0232 mov.w r2, r2, rrx - 802ca6a: ebb6 0e02 subs.w lr, r6, r2 - 802ca6e: eb75 0e03 sbcs.w lr, r5, r3 - 802ca72: bf22 ittt cs - 802ca74: 1ab6 subcs r6, r6, r2 - 802ca76: 4675 movcs r5, lr - 802ca78: ea40 005c orrcs.w r0, r0, ip, lsr #1 - 802ca7c: 085b lsrs r3, r3, #1 - 802ca7e: ea4f 0232 mov.w r2, r2, rrx - 802ca82: ebb6 0e02 subs.w lr, r6, r2 - 802ca86: eb75 0e03 sbcs.w lr, r5, r3 - 802ca8a: bf22 ittt cs - 802ca8c: 1ab6 subcs r6, r6, r2 - 802ca8e: 4675 movcs r5, lr - 802ca90: ea40 009c orrcs.w r0, r0, ip, lsr #2 - 802ca94: 085b lsrs r3, r3, #1 - 802ca96: ea4f 0232 mov.w r2, r2, rrx - 802ca9a: ebb6 0e02 subs.w lr, r6, r2 - 802ca9e: eb75 0e03 sbcs.w lr, r5, r3 - 802caa2: bf22 ittt cs - 802caa4: 1ab6 subcs r6, r6, r2 - 802caa6: 4675 movcs r5, lr - 802caa8: ea40 00dc orrcs.w r0, r0, ip, lsr #3 - 802caac: ea55 0e06 orrs.w lr, r5, r6 - 802cab0: d018 beq.n 802cae4 <__aeabi_ddiv+0x114> - 802cab2: ea4f 1505 mov.w r5, r5, lsl #4 - 802cab6: ea45 7516 orr.w r5, r5, r6, lsr #28 - 802caba: ea4f 1606 mov.w r6, r6, lsl #4 - 802cabe: ea4f 03c3 mov.w r3, r3, lsl #3 - 802cac2: ea43 7352 orr.w r3, r3, r2, lsr #29 - 802cac6: ea4f 02c2 mov.w r2, r2, lsl #3 - 802caca: ea5f 1c1c movs.w ip, ip, lsr #4 - 802cace: d1c0 bne.n 802ca52 <__aeabi_ddiv+0x82> - 802cad0: f411 1f80 tst.w r1, #1048576 ; 0x100000 - 802cad4: d10b bne.n 802caee <__aeabi_ddiv+0x11e> - 802cad6: ea41 0100 orr.w r1, r1, r0 - 802cada: f04f 0000 mov.w r0, #0 ; 0x0 - 802cade: f04f 4c00 mov.w ip, #2147483648 ; 0x80000000 - 802cae2: e7b6 b.n 802ca52 <__aeabi_ddiv+0x82> - 802cae4: f411 1f80 tst.w r1, #1048576 ; 0x100000 - 802cae8: bf04 itt eq - 802caea: 4301 orreq r1, r0 - 802caec: 2000 moveq r0, #0 - 802caee: f1b4 0cfd subs.w ip, r4, #253 ; 0xfd - 802caf2: bf88 it hi - 802caf4: f5bc 6fe0 cmphi.w ip, #1792 ; 0x700 - 802caf8: f63f aeaf bhi.w 802c85a <__aeabi_dmul+0xde> - 802cafc: ebb5 0c03 subs.w ip, r5, r3 - 802cb00: bf04 itt eq - 802cb02: ebb6 0c02 subseq.w ip, r6, r2 - 802cb06: ea5f 0c50 movseq.w ip, r0, lsr #1 - 802cb0a: f150 0000 adcs.w r0, r0, #0 ; 0x0 - 802cb0e: eb41 5104 adc.w r1, r1, r4, lsl #20 - 802cb12: bd70 pop {r4, r5, r6, pc} - 802cb14: f00e 4e00 and.w lr, lr, #2147483648 ; 0x80000000 - 802cb18: ea4e 3111 orr.w r1, lr, r1, lsr #12 - 802cb1c: eb14 045c adds.w r4, r4, ip, lsr #1 - 802cb20: bfc2 ittt gt - 802cb22: ebd4 050c rsbsgt r5, r4, ip - 802cb26: ea41 5104 orrgt.w r1, r1, r4, lsl #20 - 802cb2a: bd70 popgt {r4, r5, r6, pc} - 802cb2c: f441 1180 orr.w r1, r1, #1048576 ; 0x100000 - 802cb30: f04f 0e00 mov.w lr, #0 ; 0x0 - 802cb34: 3c01 subs r4, #1 - 802cb36: e690 b.n 802c85a <__aeabi_dmul+0xde> - 802cb38: ea45 0e06 orr.w lr, r5, r6 - 802cb3c: e68d b.n 802c85a <__aeabi_dmul+0xde> - 802cb3e: ea0c 5513 and.w r5, ip, r3, lsr #20 - 802cb42: ea94 0f0c teq r4, ip - 802cb46: bf08 it eq - 802cb48: ea95 0f0c teqeq r5, ip - 802cb4c: f43f af3b beq.w 802c9c6 <__aeabi_dmul+0x24a> - 802cb50: ea94 0f0c teq r4, ip - 802cb54: d10a bne.n 802cb6c <__aeabi_ddiv+0x19c> - 802cb56: ea50 3401 orrs.w r4, r0, r1, lsl #12 - 802cb5a: f47f af34 bne.w 802c9c6 <__aeabi_dmul+0x24a> - 802cb5e: ea95 0f0c teq r5, ip - 802cb62: f47f af25 bne.w 802c9b0 <__aeabi_dmul+0x234> - 802cb66: 4610 mov r0, r2 - 802cb68: 4619 mov r1, r3 - 802cb6a: e72c b.n 802c9c6 <__aeabi_dmul+0x24a> - 802cb6c: ea95 0f0c teq r5, ip - 802cb70: d106 bne.n 802cb80 <__aeabi_ddiv+0x1b0> - 802cb72: ea52 3503 orrs.w r5, r2, r3, lsl #12 - 802cb76: f43f aefd beq.w 802c974 <__aeabi_dmul+0x1f8> - 802cb7a: 4610 mov r0, r2 - 802cb7c: 4619 mov r1, r3 - 802cb7e: e722 b.n 802c9c6 <__aeabi_dmul+0x24a> - 802cb80: ea50 0641 orrs.w r6, r0, r1, lsl #1 - 802cb84: bf18 it ne - 802cb86: ea52 0643 orrsne.w r6, r2, r3, lsl #1 - 802cb8a: f47f aec5 bne.w 802c918 <__aeabi_dmul+0x19c> - 802cb8e: ea50 0441 orrs.w r4, r0, r1, lsl #1 - 802cb92: f47f af0d bne.w 802c9b0 <__aeabi_dmul+0x234> - 802cb96: ea52 0543 orrs.w r5, r2, r3, lsl #1 - 802cb9a: f47f aeeb bne.w 802c974 <__aeabi_dmul+0x1f8> - 802cb9e: e712 b.n 802c9c6 <__aeabi_dmul+0x24a> - -0802cba0 <__gedf2>: - 802cba0: f04f 3cff mov.w ip, #4294967295 ; 0xffffffff - 802cba4: e006 b.n 802cbb4 <__cmpdf2+0x4> - 802cba6: 46c0 nop (mov r8, r8) - -0802cba8 <__ledf2>: - 802cba8: f04f 0c01 mov.w ip, #1 ; 0x1 - 802cbac: e002 b.n 802cbb4 <__cmpdf2+0x4> - 802cbae: 46c0 nop (mov r8, r8) - -0802cbb0 <__cmpdf2>: - 802cbb0: f04f 0c01 mov.w ip, #1 ; 0x1 - 802cbb4: f84d cc04 str.w ip, [sp, #-4] - 802cbb8: ea4f 0c41 mov.w ip, r1, lsl #1 - 802cbbc: ea7f 5c6c mvns.w ip, ip, asr #21 - 802cbc0: ea4f 0c43 mov.w ip, r3, lsl #1 - 802cbc4: bf18 it ne - 802cbc6: ea7f 5c6c mvnsne.w ip, ip, asr #21 - 802cbca: d01a beq.n 802cc02 <__cmpdf2+0x52> - 802cbcc: ea50 0c41 orrs.w ip, r0, r1, lsl #1 - 802cbd0: bf0c ite eq - 802cbd2: ea52 0c43 orrseq.w ip, r2, r3, lsl #1 - 802cbd6: ea91 0f03 teqne r1, r3 - 802cbda: bf02 ittt eq - 802cbdc: ea90 0f02 teqeq r0, r2 - 802cbe0: 2000 moveq r0, #0 - 802cbe2: 4770 bxeq lr - 802cbe4: f110 0f00 cmn.w r0, #0 ; 0x0 - 802cbe8: ea91 0f03 teq r1, r3 - 802cbec: bf58 it pl - 802cbee: 4299 cmppl r1, r3 - 802cbf0: bf08 it eq - 802cbf2: 4290 cmpeq r0, r2 - 802cbf4: bf2c ite cs - 802cbf6: 17d8 asrcs r0, r3, #31 - 802cbf8: ea6f 70e3 mvncc.w r0, r3, asr #31 - 802cbfc: f040 0001 orr.w r0, r0, #1 ; 0x1 - 802cc00: 4770 bx lr - 802cc02: ea4f 0c41 mov.w ip, r1, lsl #1 - 802cc06: ea7f 5c6c mvns.w ip, ip, asr #21 - 802cc0a: d102 bne.n 802cc12 <__cmpdf2+0x62> - 802cc0c: ea50 3c01 orrs.w ip, r0, r1, lsl #12 - 802cc10: d107 bne.n 802cc22 <__cmpdf2+0x72> - 802cc12: ea4f 0c43 mov.w ip, r3, lsl #1 - 802cc16: ea7f 5c6c mvns.w ip, ip, asr #21 - 802cc1a: d1d7 bne.n 802cbcc <__cmpdf2+0x1c> - 802cc1c: ea52 3c03 orrs.w ip, r2, r3, lsl #12 - 802cc20: d0d4 beq.n 802cbcc <__cmpdf2+0x1c> - 802cc22: f85d 0c04 ldr.w r0, [sp, #-4] - 802cc26: 4770 bx lr - -0802cc28 <__aeabi_cdrcmple>: - 802cc28: 4684 mov ip, r0 - 802cc2a: 4610 mov r0, r2 - 802cc2c: 4662 mov r2, ip - 802cc2e: 468c mov ip, r1 - 802cc30: 4619 mov r1, r3 - 802cc32: 4663 mov r3, ip - 802cc34: e000 b.n 802cc38 <__aeabi_cdcmpeq> - 802cc36: 46c0 nop (mov r8, r8) - -0802cc38 <__aeabi_cdcmpeq>: - 802cc38: b501 push {r0, lr} - 802cc3a: f7ff ffb9 bl 802cbb0 <__cmpdf2> - 802cc3e: 2800 cmp r0, #0 - 802cc40: bf48 it mi - 802cc42: f110 0f00 cmnmi.w r0, #0 ; 0x0 - 802cc46: bd01 pop {r0, pc} - -0802cc48 <__aeabi_dcmpeq>: - 802cc48: f84d ed08 str.w lr, [sp, #-8]! - 802cc4c: f7ff fff4 bl 802cc38 <__aeabi_cdcmpeq> - 802cc50: bf0c ite eq - 802cc52: 2001 moveq r0, #1 - 802cc54: 2000 movne r0, #0 - 802cc56: f85d fb08 ldr.w pc, [sp], #8 - 802cc5a: 46c0 nop (mov r8, r8) - -0802cc5c <__aeabi_dcmplt>: - 802cc5c: f84d ed08 str.w lr, [sp, #-8]! - 802cc60: f7ff ffea bl 802cc38 <__aeabi_cdcmpeq> - 802cc64: bf34 ite cc - 802cc66: 2001 movcc r0, #1 - 802cc68: 2000 movcs r0, #0 - 802cc6a: f85d fb08 ldr.w pc, [sp], #8 - 802cc6e: 46c0 nop (mov r8, r8) - -0802cc70 <__aeabi_dcmple>: - 802cc70: f84d ed08 str.w lr, [sp, #-8]! - 802cc74: f7ff ffe0 bl 802cc38 <__aeabi_cdcmpeq> - 802cc78: bf94 ite ls - 802cc7a: 2001 movls r0, #1 - 802cc7c: 2000 movhi r0, #0 - 802cc7e: f85d fb08 ldr.w pc, [sp], #8 - 802cc82: 46c0 nop (mov r8, r8) - -0802cc84 <__aeabi_dcmpge>: - 802cc84: f84d ed08 str.w lr, [sp, #-8]! - 802cc88: f7ff ffce bl 802cc28 <__aeabi_cdrcmple> - 802cc8c: bf94 ite ls - 802cc8e: 2001 movls r0, #1 - 802cc90: 2000 movhi r0, #0 - 802cc92: f85d fb08 ldr.w pc, [sp], #8 - 802cc96: 46c0 nop (mov r8, r8) - -0802cc98 <__aeabi_dcmpgt>: - 802cc98: f84d ed08 str.w lr, [sp, #-8]! - 802cc9c: f7ff ffc4 bl 802cc28 <__aeabi_cdrcmple> - 802cca0: bf34 ite cc - 802cca2: 2001 movcc r0, #1 - 802cca4: 2000 movcs r0, #0 - 802cca6: f85d fb08 ldr.w pc, [sp], #8 - 802ccaa: 46c0 nop (mov r8, r8) - -0802ccac <__aeabi_d2iz>: - 802ccac: ea4f 0241 mov.w r2, r1, lsl #1 - 802ccb0: f512 1200 adds.w r2, r2, #2097152 ; 0x200000 - 802ccb4: d215 bcs.n 802cce2 <__aeabi_d2iz+0x36> - 802ccb6: d511 bpl.n 802ccdc <__aeabi_d2iz+0x30> - 802ccb8: f46f 7378 mvn.w r3, #992 ; 0x3e0 - 802ccbc: ebb3 5262 subs.w r2, r3, r2, asr #21 - 802ccc0: d912 bls.n 802cce8 <__aeabi_d2iz+0x3c> - 802ccc2: ea4f 23c1 mov.w r3, r1, lsl #11 - 802ccc6: f043 4300 orr.w r3, r3, #2147483648 ; 0x80000000 - 802ccca: ea43 5350 orr.w r3, r3, r0, lsr #21 - 802ccce: f011 4f00 tst.w r1, #2147483648 ; 0x80000000 - 802ccd2: fa23 f002 lsr.w r0, r3, r2 - 802ccd6: bf18 it ne - 802ccd8: 4240 negne r0, r0 - 802ccda: 4770 bx lr - 802ccdc: f04f 0000 mov.w r0, #0 ; 0x0 - 802cce0: 4770 bx lr - 802cce2: ea50 3001 orrs.w r0, r0, r1, lsl #12 - 802cce6: d105 bne.n 802ccf4 <__aeabi_d2iz+0x48> - 802cce8: f011 4000 ands.w r0, r1, #2147483648 ; 0x80000000 - 802ccec: bf08 it eq - 802ccee: f06f 4000 mvneq.w r0, #2147483648 ; 0x80000000 - 802ccf2: 4770 bx lr - 802ccf4: f04f 0000 mov.w r0, #0 ; 0x0 - 802ccf8: 4770 bx lr - 802ccfa: 46c0 nop (mov r8, r8) - -0802ccfc <__aeabi_d2f>: - 802ccfc: ea4f 0241 mov.w r2, r1, lsl #1 - 802cd00: f1b2 43e0 subs.w r3, r2, #1879048192 ; 0x70000000 - 802cd04: bf24 itt cs - 802cd06: f5b3 1c00 subscs.w ip, r3, #2097152 ; 0x200000 - 802cd0a: f1dc 5cfe rsbscs ip, ip, #532676608 ; 0x1fc00000 - 802cd0e: d90d bls.n 802cd2c <__aeabi_d2f+0x30> - 802cd10: f001 4c00 and.w ip, r1, #2147483648 ; 0x80000000 - 802cd14: ea4f 02c0 mov.w r2, r0, lsl #3 - 802cd18: ea4c 7050 orr.w r0, ip, r0, lsr #29 - 802cd1c: f1b2 4f00 cmp.w r2, #2147483648 ; 0x80000000 - 802cd20: eb40 0083 adc.w r0, r0, r3, lsl #2 - 802cd24: bf08 it eq - 802cd26: f020 0001 biceq.w r0, r0, #1 ; 0x1 - 802cd2a: 4770 bx lr - 802cd2c: f011 4f80 tst.w r1, #1073741824 ; 0x40000000 - 802cd30: d121 bne.n 802cd76 <__aeabi_d2f+0x7a> - 802cd32: f113 7238 adds.w r2, r3, #48234496 ; 0x2e00000 - 802cd36: bfbc itt lt - 802cd38: f001 4000 andlt.w r0, r1, #2147483648 ; 0x80000000 - 802cd3c: 4770 bxlt lr - 802cd3e: f441 1180 orr.w r1, r1, #1048576 ; 0x100000 - 802cd42: ea4f 5252 mov.w r2, r2, lsr #21 - 802cd46: f1c2 0218 rsb r2, r2, #24 ; 0x18 - 802cd4a: f1c2 0c20 rsb ip, r2, #32 ; 0x20 - 802cd4e: fa10 f30c lsls.w r3, r0, ip - 802cd52: fa20 f002 lsr.w r0, r0, r2 - 802cd56: bf18 it ne - 802cd58: f040 0001 orrne.w r0, r0, #1 ; 0x1 - 802cd5c: ea4f 23c1 mov.w r3, r1, lsl #11 - 802cd60: ea4f 23d3 mov.w r3, r3, lsr #11 - 802cd64: fa03 fc0c lsl.w ip, r3, ip - 802cd68: ea40 000c orr.w r0, r0, ip - 802cd6c: fa23 f302 lsr.w r3, r3, r2 - 802cd70: ea4f 0343 mov.w r3, r3, lsl #1 - 802cd74: e7cc b.n 802cd10 <__aeabi_d2f+0x14> - 802cd76: ea7f 5362 mvns.w r3, r2, asr #21 - 802cd7a: d107 bne.n 802cd8c <__aeabi_d2f+0x90> - 802cd7c: ea50 3301 orrs.w r3, r0, r1, lsl #12 - 802cd80: bf1e ittt ne - 802cd82: f04f 40fe movne.w r0, #2130706432 ; 0x7f000000 - 802cd86: f440 0040 orrne.w r0, r0, #12582912 ; 0xc00000 - 802cd8a: 4770 bxne lr - 802cd8c: f001 4000 and.w r0, r1, #2147483648 ; 0x80000000 - 802cd90: f040 40fe orr.w r0, r0, #2130706432 ; 0x7f000000 - 802cd94: f440 0000 orr.w r0, r0, #8388608 ; 0x800000 - 802cd98: 4770 bx lr - 802cd9a: 46c0 nop (mov r8, r8) - -0802cd9c <__aeabi_frsub>: - 802cd9c: f080 4000 eor.w r0, r0, #2147483648 ; 0x80000000 - 802cda0: e002 b.n 802cda8 <__addsf3> - 802cda2: 46c0 nop (mov r8, r8) - -0802cda4 <__aeabi_fsub>: - 802cda4: f081 4100 eor.w r1, r1, #2147483648 ; 0x80000000 - -0802cda8 <__addsf3>: - 802cda8: 0042 lsls r2, r0, #1 - 802cdaa: bf1f itttt ne - 802cdac: ea5f 0341 movsne.w r3, r1, lsl #1 - 802cdb0: ea92 0f03 teqne r2, r3 - 802cdb4: ea7f 6c22 mvnsne.w ip, r2, asr #24 - 802cdb8: ea7f 6c23 mvnsne.w ip, r3, asr #24 - 802cdbc: d06a beq.n 802ce94 <__addsf3+0xec> - 802cdbe: ea4f 6212 mov.w r2, r2, lsr #24 - 802cdc2: ebd2 6313 rsbs r3, r2, r3, lsr #24 - 802cdc6: bfc1 itttt gt - 802cdc8: 18d2 addgt r2, r2, r3 - 802cdca: 4041 eorgt r1, r0 - 802cdcc: 4048 eorgt r0, r1 - 802cdce: 4041 eorgt r1, r0 - 802cdd0: bfb8 it lt - 802cdd2: 425b neglt r3, r3 - 802cdd4: 2b19 cmp r3, #25 - 802cdd6: bf88 it hi - 802cdd8: 4770 bxhi lr - 802cdda: f010 4f00 tst.w r0, #2147483648 ; 0x80000000 - 802cdde: f440 0000 orr.w r0, r0, #8388608 ; 0x800000 - 802cde2: f020 407f bic.w r0, r0, #4278190080 ; 0xff000000 - 802cde6: bf18 it ne - 802cde8: 4240 negne r0, r0 - 802cdea: f011 4f00 tst.w r1, #2147483648 ; 0x80000000 - 802cdee: f441 0100 orr.w r1, r1, #8388608 ; 0x800000 - 802cdf2: f021 417f bic.w r1, r1, #4278190080 ; 0xff000000 - 802cdf6: bf18 it ne - 802cdf8: 4249 negne r1, r1 - 802cdfa: ea92 0f03 teq r2, r3 - 802cdfe: d03f beq.n 802ce80 <__addsf3+0xd8> - 802ce00: f1a2 0201 sub.w r2, r2, #1 ; 0x1 - 802ce04: fa41 fc03 asr.w ip, r1, r3 - 802ce08: eb10 000c adds.w r0, r0, ip - 802ce0c: f1c3 0320 rsb r3, r3, #32 ; 0x20 - 802ce10: fa01 f103 lsl.w r1, r1, r3 - 802ce14: f000 4300 and.w r3, r0, #2147483648 ; 0x80000000 - 802ce18: d502 bpl.n 802ce20 <__addsf3+0x78> - 802ce1a: 4249 negs r1, r1 - 802ce1c: eb60 0040 sbc.w r0, r0, r0, lsl #1 - 802ce20: f5b0 0f00 cmp.w r0, #8388608 ; 0x800000 - 802ce24: d313 bcc.n 802ce4e <__addsf3+0xa6> - 802ce26: f1b0 7f80 cmp.w r0, #16777216 ; 0x1000000 - 802ce2a: d306 bcc.n 802ce3a <__addsf3+0x92> - 802ce2c: 0840 lsrs r0, r0, #1 - 802ce2e: ea4f 0131 mov.w r1, r1, rrx - 802ce32: f102 0201 add.w r2, r2, #1 ; 0x1 - 802ce36: 2afe cmp r2, #254 - 802ce38: d251 bcs.n 802cede <__addsf3+0x136> - 802ce3a: f1b1 4f00 cmp.w r1, #2147483648 ; 0x80000000 - 802ce3e: eb40 50c2 adc.w r0, r0, r2, lsl #23 - 802ce42: bf08 it eq - 802ce44: f020 0001 biceq.w r0, r0, #1 ; 0x1 - 802ce48: ea40 0003 orr.w r0, r0, r3 - 802ce4c: 4770 bx lr - 802ce4e: 0049 lsls r1, r1, #1 - 802ce50: eb40 0000 adc.w r0, r0, r0 - 802ce54: f410 0f00 tst.w r0, #8388608 ; 0x800000 - 802ce58: f1a2 0201 sub.w r2, r2, #1 ; 0x1 - 802ce5c: d1ed bne.n 802ce3a <__addsf3+0x92> - 802ce5e: fab0 fc80 clz ip, r0 - 802ce62: f1ac 0c08 sub.w ip, ip, #8 ; 0x8 - 802ce66: ebb2 020c subs.w r2, r2, ip - 802ce6a: fa00 f00c lsl.w r0, r0, ip - 802ce6e: bfaa itet ge - 802ce70: eb00 50c2 addge.w r0, r0, r2, lsl #23 - 802ce74: 4252 neglt r2, r2 - 802ce76: 4318 orrge r0, r3 - 802ce78: bfbc itt lt - 802ce7a: 40d0 lsrlt r0, r2 - 802ce7c: 4318 orrlt r0, r3 - 802ce7e: 4770 bx lr - 802ce80: f092 0f00 teq r2, #0 ; 0x0 - 802ce84: f481 0100 eor.w r1, r1, #8388608 ; 0x800000 - 802ce88: bf06 itte eq - 802ce8a: f480 0000 eoreq.w r0, r0, #8388608 ; 0x800000 - 802ce8e: 3201 addeq r2, #1 - 802ce90: 3b01 subne r3, #1 - 802ce92: e7b5 b.n 802ce00 <__addsf3+0x58> - 802ce94: ea4f 0341 mov.w r3, r1, lsl #1 - 802ce98: ea7f 6c22 mvns.w ip, r2, asr #24 - 802ce9c: bf18 it ne - 802ce9e: ea7f 6c23 mvnsne.w ip, r3, asr #24 - 802cea2: d021 beq.n 802cee8 <__addsf3+0x140> - 802cea4: ea92 0f03 teq r2, r3 - 802cea8: d004 beq.n 802ceb4 <__addsf3+0x10c> - 802ceaa: f092 0f00 teq r2, #0 ; 0x0 - 802ceae: bf08 it eq - 802ceb0: 4608 moveq r0, r1 - 802ceb2: 4770 bx lr - 802ceb4: ea90 0f01 teq r0, r1 - 802ceb8: bf1c itt ne - 802ceba: 2000 movne r0, #0 - 802cebc: 4770 bxne lr - 802cebe: f012 4f7f tst.w r2, #4278190080 ; 0xff000000 - 802cec2: d104 bne.n 802cece <__addsf3+0x126> - 802cec4: 0040 lsls r0, r0, #1 - 802cec6: bf28 it cs - 802cec8: f040 4000 orrcs.w r0, r0, #2147483648 ; 0x80000000 - 802cecc: 4770 bx lr - 802cece: f112 7200 adds.w r2, r2, #33554432 ; 0x2000000 - 802ced2: bf3c itt cc - 802ced4: f500 0000 addcc.w r0, r0, #8388608 ; 0x800000 - 802ced8: 4770 bxcc lr - 802ceda: f000 4300 and.w r3, r0, #2147483648 ; 0x80000000 - 802cede: f043 40fe orr.w r0, r3, #2130706432 ; 0x7f000000 - 802cee2: f440 0000 orr.w r0, r0, #8388608 ; 0x800000 - 802cee6: 4770 bx lr - 802cee8: ea7f 6222 mvns.w r2, r2, asr #24 - 802ceec: bf16 itet ne - 802ceee: 4608 movne r0, r1 - 802cef0: ea7f 6323 mvnseq.w r3, r3, asr #24 - 802cef4: 4601 movne r1, r0 - 802cef6: 0242 lsls r2, r0, #9 - 802cef8: bf06 itte eq - 802cefa: ea5f 2341 movseq.w r3, r1, lsl #9 - 802cefe: ea90 0f01 teqeq r0, r1 - 802cf02: f440 0080 orrne.w r0, r0, #4194304 ; 0x400000 - 802cf06: 4770 bx lr - -0802cf08 <__aeabi_ui2f>: - 802cf08: f04f 0300 mov.w r3, #0 ; 0x0 - 802cf0c: e004 b.n 802cf18 <__aeabi_i2f+0x8> - 802cf0e: 46c0 nop (mov r8, r8) - -0802cf10 <__aeabi_i2f>: - 802cf10: f010 4300 ands.w r3, r0, #2147483648 ; 0x80000000 - 802cf14: bf48 it mi - 802cf16: 4240 negmi r0, r0 - 802cf18: ea5f 0c00 movs.w ip, r0 - 802cf1c: bf08 it eq - 802cf1e: 4770 bxeq lr - 802cf20: f043 4396 orr.w r3, r3, #1258291200 ; 0x4b000000 - 802cf24: 4601 mov r1, r0 - 802cf26: f04f 0000 mov.w r0, #0 ; 0x0 - 802cf2a: e01c b.n 802cf66 <__aeabi_l2f+0x2a> - -0802cf2c <__aeabi_ul2f>: - 802cf2c: ea50 0201 orrs.w r2, r0, r1 - 802cf30: bf08 it eq - 802cf32: 4770 bxeq lr - 802cf34: f04f 0300 mov.w r3, #0 ; 0x0 - 802cf38: e00a b.n 802cf50 <__aeabi_l2f+0x14> - 802cf3a: 46c0 nop (mov r8, r8) - -0802cf3c <__aeabi_l2f>: - 802cf3c: ea50 0201 orrs.w r2, r0, r1 - 802cf40: bf08 it eq - 802cf42: 4770 bxeq lr - 802cf44: f011 4300 ands.w r3, r1, #2147483648 ; 0x80000000 - 802cf48: d502 bpl.n 802cf50 <__aeabi_l2f+0x14> - 802cf4a: 4240 negs r0, r0 - 802cf4c: eb61 0141 sbc.w r1, r1, r1, lsl #1 - 802cf50: ea5f 0c01 movs.w ip, r1 - 802cf54: bf02 ittt eq - 802cf56: 4684 moveq ip, r0 - 802cf58: 4601 moveq r1, r0 - 802cf5a: 2000 moveq r0, #0 - 802cf5c: f043 43b6 orr.w r3, r3, #1526726656 ; 0x5b000000 - 802cf60: bf08 it eq - 802cf62: f1a3 5380 subeq.w r3, r3, #268435456 ; 0x10000000 - 802cf66: f5a3 0300 sub.w r3, r3, #8388608 ; 0x800000 - 802cf6a: fabc f28c clz r2, ip - 802cf6e: 3a08 subs r2, #8 - 802cf70: eba3 53c2 sub.w r3, r3, r2, lsl #23 - 802cf74: db10 blt.n 802cf98 <__aeabi_l2f+0x5c> - 802cf76: fa01 fc02 lsl.w ip, r1, r2 - 802cf7a: 4463 add r3, ip - 802cf7c: fa00 fc02 lsl.w ip, r0, r2 - 802cf80: f1c2 0220 rsb r2, r2, #32 ; 0x20 - 802cf84: f1bc 4f00 cmp.w ip, #2147483648 ; 0x80000000 - 802cf88: fa20 f202 lsr.w r2, r0, r2 - 802cf8c: eb43 0002 adc.w r0, r3, r2 - 802cf90: bf08 it eq - 802cf92: f020 0001 biceq.w r0, r0, #1 ; 0x1 - 802cf96: 4770 bx lr - 802cf98: f102 0220 add.w r2, r2, #32 ; 0x20 - 802cf9c: fa01 fc02 lsl.w ip, r1, r2 - 802cfa0: f1c2 0220 rsb r2, r2, #32 ; 0x20 - 802cfa4: ea50 004c orrs.w r0, r0, ip, lsl #1 - 802cfa8: fa21 f202 lsr.w r2, r1, r2 - 802cfac: eb43 0002 adc.w r0, r3, r2 - 802cfb0: bf08 it eq - 802cfb2: ea20 70dc biceq.w r0, r0, ip, lsr #31 - 802cfb6: 4770 bx lr - -0802cfb8 <__aeabi_fmul>: - 802cfb8: f04f 0cff mov.w ip, #255 ; 0xff - 802cfbc: ea1c 52d0 ands.w r2, ip, r0, lsr #23 - 802cfc0: bf1e ittt ne - 802cfc2: ea1c 53d1 andsne.w r3, ip, r1, lsr #23 - 802cfc6: ea92 0f0c teqne r2, ip - 802cfca: ea93 0f0c teqne r3, ip - 802cfce: d06f beq.n 802d0b0 <__aeabi_fmul+0xf8> - 802cfd0: 441a add r2, r3 - 802cfd2: ea80 0c01 eor.w ip, r0, r1 - 802cfd6: 0240 lsls r0, r0, #9 - 802cfd8: bf18 it ne - 802cfda: ea5f 2141 movsne.w r1, r1, lsl #9 - 802cfde: d01e beq.n 802d01e <__aeabi_fmul+0x66> - 802cfe0: f04f 6300 mov.w r3, #134217728 ; 0x8000000 - 802cfe4: ea43 1050 orr.w r0, r3, r0, lsr #5 - 802cfe8: ea43 1151 orr.w r1, r3, r1, lsr #5 - 802cfec: fba0 3101 umull r3, r1, r0, r1 - 802cff0: f00c 4000 and.w r0, ip, #2147483648 ; 0x80000000 - 802cff4: f5b1 0f00 cmp.w r1, #8388608 ; 0x800000 - 802cff8: bf3e ittt cc - 802cffa: 0049 lslcc r1, r1, #1 - 802cffc: ea41 71d3 orrcc.w r1, r1, r3, lsr #31 - 802d000: 005b lslcc r3, r3, #1 - 802d002: ea40 0001 orr.w r0, r0, r1 - 802d006: f162 027f sbc.w r2, r2, #127 ; 0x7f - 802d00a: 2afd cmp r2, #253 - 802d00c: d81d bhi.n 802d04a <__aeabi_fmul+0x92> - 802d00e: f1b3 4f00 cmp.w r3, #2147483648 ; 0x80000000 - 802d012: eb40 50c2 adc.w r0, r0, r2, lsl #23 - 802d016: bf08 it eq - 802d018: f020 0001 biceq.w r0, r0, #1 ; 0x1 - 802d01c: 4770 bx lr - 802d01e: f090 0f00 teq r0, #0 ; 0x0 - 802d022: f00c 4c00 and.w ip, ip, #2147483648 ; 0x80000000 - 802d026: bf08 it eq - 802d028: 0249 lsleq r1, r1, #9 - 802d02a: ea4c 2050 orr.w r0, ip, r0, lsr #9 - 802d02e: ea40 2051 orr.w r0, r0, r1, lsr #9 - 802d032: 3a7f subs r2, #127 - 802d034: bfc2 ittt gt - 802d036: f1d2 03ff rsbsgt r3, r2, #255 ; 0xff - 802d03a: ea40 50c2 orrgt.w r0, r0, r2, lsl #23 - 802d03e: 4770 bxgt lr - 802d040: f440 0000 orr.w r0, r0, #8388608 ; 0x800000 - 802d044: f04f 0300 mov.w r3, #0 ; 0x0 - 802d048: 3a01 subs r2, #1 - 802d04a: dc5d bgt.n 802d108 <__aeabi_fmul+0x150> - 802d04c: f112 0f19 cmn.w r2, #25 ; 0x19 - 802d050: bfdc itt le - 802d052: f000 4000 andle.w r0, r0, #2147483648 ; 0x80000000 - 802d056: 4770 bxle lr - 802d058: f1c2 0200 rsb r2, r2, #0 ; 0x0 - 802d05c: 0041 lsls r1, r0, #1 - 802d05e: fa21 f102 lsr.w r1, r1, r2 - 802d062: f1c2 0220 rsb r2, r2, #32 ; 0x20 - 802d066: fa00 fc02 lsl.w ip, r0, r2 - 802d06a: ea5f 0031 movs.w r0, r1, rrx - 802d06e: f140 0000 adc.w r0, r0, #0 ; 0x0 - 802d072: ea53 034c orrs.w r3, r3, ip, lsl #1 - 802d076: bf08 it eq - 802d078: ea20 70dc biceq.w r0, r0, ip, lsr #31 - 802d07c: 4770 bx lr - 802d07e: f092 0f00 teq r2, #0 ; 0x0 - 802d082: f000 4c00 and.w ip, r0, #2147483648 ; 0x80000000 - 802d086: bf02 ittt eq - 802d088: 0040 lsleq r0, r0, #1 - 802d08a: f410 0f00 tsteq.w r0, #8388608 ; 0x800000 - 802d08e: 3a01 subeq r2, #1 - 802d090: d0f9 beq.n 802d086 <__aeabi_fmul+0xce> - 802d092: ea40 000c orr.w r0, r0, ip - 802d096: f093 0f00 teq r3, #0 ; 0x0 - 802d09a: f001 4c00 and.w ip, r1, #2147483648 ; 0x80000000 - 802d09e: bf02 ittt eq - 802d0a0: 0049 lsleq r1, r1, #1 - 802d0a2: f411 0f00 tsteq.w r1, #8388608 ; 0x800000 - 802d0a6: 3b01 subeq r3, #1 - 802d0a8: d0f9 beq.n 802d09e <__aeabi_fmul+0xe6> - 802d0aa: ea41 010c orr.w r1, r1, ip - 802d0ae: e78f b.n 802cfd0 <__aeabi_fmul+0x18> - 802d0b0: ea0c 53d1 and.w r3, ip, r1, lsr #23 - 802d0b4: ea92 0f0c teq r2, ip - 802d0b8: bf18 it ne - 802d0ba: ea93 0f0c teqne r3, ip - 802d0be: d00a beq.n 802d0d6 <__aeabi_fmul+0x11e> - 802d0c0: f030 4c00 bics.w ip, r0, #2147483648 ; 0x80000000 - 802d0c4: bf18 it ne - 802d0c6: f031 4c00 bicsne.w ip, r1, #2147483648 ; 0x80000000 - 802d0ca: d1d8 bne.n 802d07e <__aeabi_fmul+0xc6> - 802d0cc: ea80 0001 eor.w r0, r0, r1 - 802d0d0: f000 4000 and.w r0, r0, #2147483648 ; 0x80000000 - 802d0d4: 4770 bx lr - 802d0d6: f090 0f00 teq r0, #0 ; 0x0 - 802d0da: bf17 itett ne - 802d0dc: f090 4f00 teqne r0, #2147483648 ; 0x80000000 - 802d0e0: 4608 moveq r0, r1 - 802d0e2: f091 0f00 teqne r1, #0 ; 0x0 - 802d0e6: f091 4f00 teqne r1, #2147483648 ; 0x80000000 - 802d0ea: d014 beq.n 802d116 <__aeabi_fmul+0x15e> - 802d0ec: ea92 0f0c teq r2, ip - 802d0f0: d101 bne.n 802d0f6 <__aeabi_fmul+0x13e> - 802d0f2: 0242 lsls r2, r0, #9 - 802d0f4: d10f bne.n 802d116 <__aeabi_fmul+0x15e> - 802d0f6: ea93 0f0c teq r3, ip - 802d0fa: d103 bne.n 802d104 <__aeabi_fmul+0x14c> - 802d0fc: 024b lsls r3, r1, #9 - 802d0fe: bf18 it ne - 802d100: 4608 movne r0, r1 - 802d102: d108 bne.n 802d116 <__aeabi_fmul+0x15e> - 802d104: ea80 0001 eor.w r0, r0, r1 - 802d108: f000 4000 and.w r0, r0, #2147483648 ; 0x80000000 - 802d10c: f040 40fe orr.w r0, r0, #2130706432 ; 0x7f000000 - 802d110: f440 0000 orr.w r0, r0, #8388608 ; 0x800000 - 802d114: 4770 bx lr - 802d116: f040 40fe orr.w r0, r0, #2130706432 ; 0x7f000000 - 802d11a: f440 0040 orr.w r0, r0, #12582912 ; 0xc00000 - 802d11e: 4770 bx lr - -0802d120 <__aeabi_fdiv>: - 802d120: f04f 0cff mov.w ip, #255 ; 0xff - 802d124: ea1c 52d0 ands.w r2, ip, r0, lsr #23 - 802d128: bf1e ittt ne - 802d12a: ea1c 53d1 andsne.w r3, ip, r1, lsr #23 - 802d12e: ea92 0f0c teqne r2, ip - 802d132: ea93 0f0c teqne r3, ip - 802d136: d069 beq.n 802d20c <__aeabi_fdiv+0xec> - 802d138: eba2 0203 sub.w r2, r2, r3 - 802d13c: ea80 0c01 eor.w ip, r0, r1 - 802d140: 0249 lsls r1, r1, #9 - 802d142: ea4f 2040 mov.w r0, r0, lsl #9 - 802d146: d037 beq.n 802d1b8 <__aeabi_fdiv+0x98> - 802d148: f04f 5380 mov.w r3, #268435456 ; 0x10000000 - 802d14c: ea43 1111 orr.w r1, r3, r1, lsr #4 - 802d150: ea43 1310 orr.w r3, r3, r0, lsr #4 - 802d154: f00c 4000 and.w r0, ip, #2147483648 ; 0x80000000 - 802d158: 428b cmp r3, r1 - 802d15a: bf38 it cc - 802d15c: 005b lslcc r3, r3, #1 - 802d15e: f142 027d adc.w r2, r2, #125 ; 0x7d - 802d162: f44f 0c00 mov.w ip, #8388608 ; 0x800000 - 802d166: 428b cmp r3, r1 - 802d168: bf24 itt cs - 802d16a: 1a5b subcs r3, r3, r1 - 802d16c: ea40 000c orrcs.w r0, r0, ip - 802d170: ebb3 0f51 cmp.w r3, r1, lsr #1 - 802d174: bf24 itt cs - 802d176: eba3 0351 subcs.w r3, r3, r1, lsr #1 - 802d17a: ea40 005c orrcs.w r0, r0, ip, lsr #1 - 802d17e: ebb3 0f91 cmp.w r3, r1, lsr #2 - 802d182: bf24 itt cs - 802d184: eba3 0391 subcs.w r3, r3, r1, lsr #2 - 802d188: ea40 009c orrcs.w r0, r0, ip, lsr #2 - 802d18c: ebb3 0fd1 cmp.w r3, r1, lsr #3 - 802d190: bf24 itt cs - 802d192: eba3 03d1 subcs.w r3, r3, r1, lsr #3 - 802d196: ea40 00dc orrcs.w r0, r0, ip, lsr #3 - 802d19a: 011b lsls r3, r3, #4 - 802d19c: bf18 it ne - 802d19e: ea5f 1c1c movsne.w ip, ip, lsr #4 - 802d1a2: d1e0 bne.n 802d166 <__aeabi_fdiv+0x46> - 802d1a4: 2afd cmp r2, #253 - 802d1a6: f63f af50 bhi.w 802d04a <__aeabi_fmul+0x92> - 802d1aa: 428b cmp r3, r1 - 802d1ac: eb40 50c2 adc.w r0, r0, r2, lsl #23 - 802d1b0: bf08 it eq - 802d1b2: f020 0001 biceq.w r0, r0, #1 ; 0x1 - 802d1b6: 4770 bx lr - 802d1b8: f00c 4c00 and.w ip, ip, #2147483648 ; 0x80000000 - 802d1bc: ea4c 2050 orr.w r0, ip, r0, lsr #9 - 802d1c0: 327f adds r2, #127 - 802d1c2: bfc2 ittt gt - 802d1c4: f1d2 03ff rsbsgt r3, r2, #255 ; 0xff - 802d1c8: ea40 50c2 orrgt.w r0, r0, r2, lsl #23 - 802d1cc: 4770 bxgt lr - 802d1ce: f440 0000 orr.w r0, r0, #8388608 ; 0x800000 - 802d1d2: f04f 0300 mov.w r3, #0 ; 0x0 - 802d1d6: 3a01 subs r2, #1 - 802d1d8: e737 b.n 802d04a <__aeabi_fmul+0x92> - 802d1da: f092 0f00 teq r2, #0 ; 0x0 - 802d1de: f000 4c00 and.w ip, r0, #2147483648 ; 0x80000000 - 802d1e2: bf02 ittt eq - 802d1e4: 0040 lsleq r0, r0, #1 - 802d1e6: f410 0f00 tsteq.w r0, #8388608 ; 0x800000 - 802d1ea: 3a01 subeq r2, #1 - 802d1ec: d0f9 beq.n 802d1e2 <__aeabi_fdiv+0xc2> - 802d1ee: ea40 000c orr.w r0, r0, ip - 802d1f2: f093 0f00 teq r3, #0 ; 0x0 - 802d1f6: f001 4c00 and.w ip, r1, #2147483648 ; 0x80000000 - 802d1fa: bf02 ittt eq - 802d1fc: 0049 lsleq r1, r1, #1 - 802d1fe: f411 0f00 tsteq.w r1, #8388608 ; 0x800000 - 802d202: 3b01 subeq r3, #1 - 802d204: d0f9 beq.n 802d1fa <__aeabi_fdiv+0xda> - 802d206: ea41 010c orr.w r1, r1, ip - 802d20a: e795 b.n 802d138 <__aeabi_fdiv+0x18> - 802d20c: ea0c 53d1 and.w r3, ip, r1, lsr #23 - 802d210: ea92 0f0c teq r2, ip - 802d214: d108 bne.n 802d228 <__aeabi_fdiv+0x108> - 802d216: 0242 lsls r2, r0, #9 - 802d218: f47f af7d bne.w 802d116 <__aeabi_fmul+0x15e> - 802d21c: ea93 0f0c teq r3, ip - 802d220: f47f af70 bne.w 802d104 <__aeabi_fmul+0x14c> - 802d224: 4608 mov r0, r1 - 802d226: e776 b.n 802d116 <__aeabi_fmul+0x15e> - 802d228: ea93 0f0c teq r3, ip - 802d22c: d104 bne.n 802d238 <__aeabi_fdiv+0x118> - 802d22e: 024b lsls r3, r1, #9 - 802d230: f43f af4c beq.w 802d0cc <__aeabi_fmul+0x114> - 802d234: 4608 mov r0, r1 - 802d236: e76e b.n 802d116 <__aeabi_fmul+0x15e> - 802d238: f030 4c00 bics.w ip, r0, #2147483648 ; 0x80000000 - 802d23c: bf18 it ne - 802d23e: f031 4c00 bicsne.w ip, r1, #2147483648 ; 0x80000000 - 802d242: d1ca bne.n 802d1da <__aeabi_fdiv+0xba> - 802d244: f030 4200 bics.w r2, r0, #2147483648 ; 0x80000000 - 802d248: f47f af5c bne.w 802d104 <__aeabi_fmul+0x14c> - 802d24c: f031 4300 bics.w r3, r1, #2147483648 ; 0x80000000 - 802d250: f47f af3c bne.w 802d0cc <__aeabi_fmul+0x114> - 802d254: e75f b.n 802d116 <__aeabi_fmul+0x15e> - 802d256: 46c0 nop (mov r8, r8) - -0802d258 <__gesf2>: - 802d258: f04f 3cff mov.w ip, #4294967295 ; 0xffffffff - 802d25c: e006 b.n 802d26c <__cmpsf2+0x4> - 802d25e: 46c0 nop (mov r8, r8) - -0802d260 <__lesf2>: - 802d260: f04f 0c01 mov.w ip, #1 ; 0x1 - 802d264: e002 b.n 802d26c <__cmpsf2+0x4> - 802d266: 46c0 nop (mov r8, r8) - -0802d268 <__cmpsf2>: - 802d268: f04f 0c01 mov.w ip, #1 ; 0x1 - 802d26c: f84d cc04 str.w ip, [sp, #-4] - 802d270: ea4f 0240 mov.w r2, r0, lsl #1 - 802d274: ea4f 0341 mov.w r3, r1, lsl #1 - 802d278: ea7f 6c22 mvns.w ip, r2, asr #24 - 802d27c: bf18 it ne - 802d27e: ea7f 6c23 mvnsne.w ip, r3, asr #24 - 802d282: d010 beq.n 802d2a6 <__cmpsf2+0x3e> - 802d284: ea52 0c53 orrs.w ip, r2, r3, lsr #1 - 802d288: bf18 it ne - 802d28a: ea90 0f01 teqne r0, r1 - 802d28e: bf58 it pl - 802d290: ebb2 0003 subspl.w r0, r2, r3 - 802d294: bf88 it hi - 802d296: 17c8 asrhi r0, r1, #31 - 802d298: bf38 it cc - 802d29a: ea6f 70e1 mvncc.w r0, r1, asr #31 - 802d29e: bf18 it ne - 802d2a0: f040 0001 orrne.w r0, r0, #1 ; 0x1 - 802d2a4: 4770 bx lr - 802d2a6: ea7f 6c22 mvns.w ip, r2, asr #24 - 802d2aa: d102 bne.n 802d2b2 <__cmpsf2+0x4a> - 802d2ac: ea5f 2c40 movs.w ip, r0, lsl #9 - 802d2b0: d105 bne.n 802d2be <__cmpsf2+0x56> - 802d2b2: ea7f 6c23 mvns.w ip, r3, asr #24 - 802d2b6: d1e5 bne.n 802d284 <__cmpsf2+0x1c> - 802d2b8: ea5f 2c41 movs.w ip, r1, lsl #9 - 802d2bc: d0e2 beq.n 802d284 <__cmpsf2+0x1c> - 802d2be: f85d 0c04 ldr.w r0, [sp, #-4] - 802d2c2: 4770 bx lr - -0802d2c4 <__aeabi_cfrcmple>: - 802d2c4: 4684 mov ip, r0 - 802d2c6: 4608 mov r0, r1 - 802d2c8: 4661 mov r1, ip - 802d2ca: e7ff b.n 802d2cc <__aeabi_cfcmpeq> - -0802d2cc <__aeabi_cfcmpeq>: - 802d2cc: b50f push {r0, r1, r2, r3, lr} - 802d2ce: f7ff ffcb bl 802d268 <__cmpsf2> - 802d2d2: 2800 cmp r0, #0 - 802d2d4: bf48 it mi - 802d2d6: f110 0f00 cmnmi.w r0, #0 ; 0x0 - 802d2da: bd0f pop {r0, r1, r2, r3, pc} - -0802d2dc <__aeabi_fcmpeq>: - 802d2dc: f84d ed08 str.w lr, [sp, #-8]! - 802d2e0: f7ff fff4 bl 802d2cc <__aeabi_cfcmpeq> - 802d2e4: bf0c ite eq - 802d2e6: 2001 moveq r0, #1 - 802d2e8: 2000 movne r0, #0 - 802d2ea: f85d fb08 ldr.w pc, [sp], #8 - 802d2ee: 46c0 nop (mov r8, r8) - -0802d2f0 <__aeabi_fcmplt>: - 802d2f0: f84d ed08 str.w lr, [sp, #-8]! - 802d2f4: f7ff ffea bl 802d2cc <__aeabi_cfcmpeq> - 802d2f8: bf34 ite cc - 802d2fa: 2001 movcc r0, #1 - 802d2fc: 2000 movcs r0, #0 - 802d2fe: f85d fb08 ldr.w pc, [sp], #8 - 802d302: 46c0 nop (mov r8, r8) - -0802d304 <__aeabi_fcmple>: - 802d304: f84d ed08 str.w lr, [sp, #-8]! - 802d308: f7ff ffe0 bl 802d2cc <__aeabi_cfcmpeq> - 802d30c: bf94 ite ls - 802d30e: 2001 movls r0, #1 - 802d310: 2000 movhi r0, #0 - 802d312: f85d fb08 ldr.w pc, [sp], #8 - 802d316: 46c0 nop (mov r8, r8) - -0802d318 <__aeabi_fcmpge>: - 802d318: f84d ed08 str.w lr, [sp, #-8]! - 802d31c: f7ff ffd2 bl 802d2c4 <__aeabi_cfrcmple> - 802d320: bf94 ite ls - 802d322: 2001 movls r0, #1 - 802d324: 2000 movhi r0, #0 - 802d326: f85d fb08 ldr.w pc, [sp], #8 - 802d32a: 46c0 nop (mov r8, r8) - -0802d32c <__aeabi_fcmpgt>: - 802d32c: f84d ed08 str.w lr, [sp, #-8]! - 802d330: f7ff ffc8 bl 802d2c4 <__aeabi_cfrcmple> - 802d334: bf34 ite cc - 802d336: 2001 movcc r0, #1 - 802d338: 2000 movcs r0, #0 - 802d33a: f85d fb08 ldr.w pc, [sp], #8 - 802d33e: 46c0 nop (mov r8, r8) - -0802d340 <__aeabi_f2iz>: - 802d340: ea4f 0240 mov.w r2, r0, lsl #1 - 802d344: f1b2 4ffe cmp.w r2, #2130706432 ; 0x7f000000 - 802d348: d30f bcc.n 802d36a <__aeabi_f2iz+0x2a> - 802d34a: f04f 039e mov.w r3, #158 ; 0x9e - 802d34e: ebb3 6212 subs.w r2, r3, r2, lsr #24 - 802d352: d90d bls.n 802d370 <__aeabi_f2iz+0x30> - 802d354: ea4f 2300 mov.w r3, r0, lsl #8 - 802d358: f043 4300 orr.w r3, r3, #2147483648 ; 0x80000000 - 802d35c: f010 4f00 tst.w r0, #2147483648 ; 0x80000000 - 802d360: fa23 f002 lsr.w r0, r3, r2 - 802d364: bf18 it ne - 802d366: 4240 negne r0, r0 - 802d368: 4770 bx lr - 802d36a: f04f 0000 mov.w r0, #0 ; 0x0 - 802d36e: 4770 bx lr - 802d370: f112 0f61 cmn.w r2, #97 ; 0x61 - 802d374: d101 bne.n 802d37a <__aeabi_f2iz+0x3a> - 802d376: 0242 lsls r2, r0, #9 - 802d378: d105 bne.n 802d386 <__aeabi_f2iz+0x46> - 802d37a: f010 4000 ands.w r0, r0, #2147483648 ; 0x80000000 - 802d37e: bf08 it eq - 802d380: f06f 4000 mvneq.w r0, #2147483648 ; 0x80000000 - 802d384: 4770 bx lr - 802d386: f04f 0000 mov.w r0, #0 ; 0x0 - 802d38a: 4770 bx lr - -0802d38c <__aeabi_f2uiz>: - 802d38c: 0042 lsls r2, r0, #1 - 802d38e: d20e bcs.n 802d3ae <__aeabi_f2uiz+0x22> - 802d390: f1b2 4ffe cmp.w r2, #2130706432 ; 0x7f000000 - 802d394: d30b bcc.n 802d3ae <__aeabi_f2uiz+0x22> - 802d396: f04f 039e mov.w r3, #158 ; 0x9e - 802d39a: ebb3 6212 subs.w r2, r3, r2, lsr #24 - 802d39e: d409 bmi.n 802d3b4 <__aeabi_f2uiz+0x28> - 802d3a0: ea4f 2300 mov.w r3, r0, lsl #8 - 802d3a4: f043 4300 orr.w r3, r3, #2147483648 ; 0x80000000 - 802d3a8: fa23 f002 lsr.w r0, r3, r2 - 802d3ac: 4770 bx lr - 802d3ae: f04f 0000 mov.w r0, #0 ; 0x0 - 802d3b2: 4770 bx lr - 802d3b4: f112 0f61 cmn.w r2, #97 ; 0x61 - 802d3b8: d101 bne.n 802d3be <__aeabi_f2uiz+0x32> - 802d3ba: 0242 lsls r2, r0, #9 - 802d3bc: d102 bne.n 802d3c4 <__aeabi_f2uiz+0x38> - 802d3be: f04f 30ff mov.w r0, #4294967295 ; 0xffffffff - 802d3c2: 4770 bx lr - 802d3c4: f04f 0000 mov.w r0, #0 ; 0x0 - 802d3c8: 4770 bx lr - 802d3ca: 46c0 nop (mov r8, r8) - -0802d3cc <_Unwind_decode_target2>: - 802d3cc: 4603 mov r3, r0 - 802d3ce: 6800 ldr r0, [r0, #0] - 802d3d0: b100 cbz r0, 802d3d4 <_Unwind_decode_target2+0x8> - 802d3d2: 18c0 adds r0, r0, r3 - 802d3d4: 4770 bx lr - 802d3d6: 46c0 nop (mov r8, r8) - -0802d3d8 <_Unwind_VRS_Get>: - 802d3d8: b410 push {r4} - 802d3da: 469c mov ip, r3 - 802d3dc: 4604 mov r4, r0 - 802d3de: b969 cbnz r1, 802d3fc <_Unwind_VRS_Get+0x24> - 802d3e0: 2a0f cmp r2, #15 - 802d3e2: bf94 ite ls - 802d3e4: 2300 movls r3, #0 - 802d3e6: 2301 movhi r3, #1 - 802d3e8: f1bc 0f00 cmp.w ip, #0 ; 0x0 - 802d3ec: bf0c ite eq - 802d3ee: 4618 moveq r0, r3 - 802d3f0: f043 0001 orrne.w r0, r3, #1 ; 0x1 - 802d3f4: b130 cbz r0, 802d404 <_Unwind_VRS_Get+0x2c> - 802d3f6: 2002 movs r0, #2 - 802d3f8: bc10 pop {r4} - 802d3fa: 4770 bx lr - 802d3fc: 2904 cmp r1, #4 - 802d3fe: d8fa bhi.n 802d3f6 <_Unwind_VRS_Get+0x1e> - 802d400: 2001 movs r0, #1 - 802d402: e7f9 b.n 802d3f8 <_Unwind_VRS_Get+0x20> - 802d404: 0093 lsls r3, r2, #2 - 802d406: 4423 add r3, r4 - 802d408: 685a ldr r2, [r3, #4] - 802d40a: 9b01 ldr r3, [sp, #4] - 802d40c: 601a str r2, [r3, #0] - 802d40e: e7f3 b.n 802d3f8 <_Unwind_VRS_Get+0x20> - -0802d410 <_Unwind_GetGR>: - 802d410: b500 push {lr} - 802d412: b085 sub sp, #20 - 802d414: 460a mov r2, r1 - 802d416: ab03 add r3, sp, #12 - 802d418: 2100 movs r1, #0 - 802d41a: 9300 str r3, [sp, #0] - 802d41c: 460b mov r3, r1 - 802d41e: f7ff ffdb bl 802d3d8 <_Unwind_VRS_Get> - 802d422: 9803 ldr r0, [sp, #12] - 802d424: b005 add sp, #20 - 802d426: bd00 pop {pc} - -0802d428 <_Unwind_VRS_Set>: - 802d428: b410 push {r4} - 802d42a: 469c mov ip, r3 - 802d42c: 4604 mov r4, r0 - 802d42e: b969 cbnz r1, 802d44c <_Unwind_VRS_Set+0x24> - 802d430: 2a0f cmp r2, #15 - 802d432: bf94 ite ls - 802d434: 2300 movls r3, #0 - 802d436: 2301 movhi r3, #1 - 802d438: f1bc 0f00 cmp.w ip, #0 ; 0x0 - 802d43c: bf0c ite eq - 802d43e: 4618 moveq r0, r3 - 802d440: f043 0001 orrne.w r0, r3, #1 ; 0x1 - 802d444: b130 cbz r0, 802d454 <_Unwind_VRS_Set+0x2c> - 802d446: 2002 movs r0, #2 - 802d448: bc10 pop {r4} - 802d44a: 4770 bx lr - 802d44c: 2904 cmp r1, #4 - 802d44e: d8fa bhi.n 802d446 <_Unwind_VRS_Set+0x1e> - 802d450: 2001 movs r0, #1 - 802d452: e7f9 b.n 802d448 <_Unwind_VRS_Set+0x20> - 802d454: 9901 ldr r1, [sp, #4] - 802d456: 0093 lsls r3, r2, #2 - 802d458: 680a ldr r2, [r1, #0] - 802d45a: 4423 add r3, r4 - 802d45c: 605a str r2, [r3, #4] - 802d45e: e7f3 b.n 802d448 <_Unwind_VRS_Set+0x20> - -0802d460 <_Unwind_SetGR>: - 802d460: b500 push {lr} - 802d462: b085 sub sp, #20 - 802d464: ab04 add r3, sp, #16 - 802d466: 468c mov ip, r1 - 802d468: f843 2d04 str.w r2, [r3, #-4]! - 802d46c: 2100 movs r1, #0 - 802d46e: 9300 str r3, [sp, #0] - 802d470: 4662 mov r2, ip - 802d472: 460b mov r3, r1 - 802d474: f7ff ffd8 bl 802d428 <_Unwind_VRS_Set> - 802d478: b005 add sp, #20 - 802d47a: bd00 pop {pc} - -0802d47c : - 802d47c: 6803 ldr r3, [r0, #0] - 802d47e: 4602 mov r2, r0 - 802d480: f013 4f80 tst.w r3, #1073741824 ; 0x40000000 - 802d484: bf14 ite ne - 802d486: f043 4000 orrne.w r0, r3, #2147483648 ; 0x80000000 - 802d48a: f023 4000 biceq.w r0, r3, #2147483648 ; 0x80000000 - 802d48e: 4410 add r0, r2 - 802d490: 4770 bx lr - 802d492: 46c0 nop (mov r8, r8) - -0802d494 : - 802d494: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 802d498: 4682 mov sl, r0 - 802d49a: b081 sub sp, #4 - 802d49c: 4690 mov r8, r2 - 802d49e: 2900 cmp r1, #0 - 802d4a0: d024 beq.n 802d4ec - 802d4a2: f101 3bff add.w fp, r1, #4294967295 ; 0xffffffff - 802d4a6: 46d9 mov r9, fp - 802d4a8: 2700 movs r7, #0 - 802d4aa: e000 b.n 802d4ae - 802d4ac: 1c67 adds r7, r4, #1 - 802d4ae: eb09 0307 add.w r3, r9, r7 - 802d4b2: eb03 73d3 add.w r3, r3, r3, lsr #31 - 802d4b6: 105c asrs r4, r3, #1 - 802d4b8: 00e2 lsls r2, r4, #3 - 802d4ba: eb0a 0502 add.w r5, sl, r2 - 802d4be: 4628 mov r0, r5 - 802d4c0: f7ff ffdc bl 802d47c - 802d4c4: 45a3 cmp fp, r4 - 802d4c6: 4606 mov r6, r0 - 802d4c8: bf08 it eq - 802d4ca: f04f 30ff moveq.w r0, #4294967295 ; 0xffffffff - 802d4ce: d005 beq.n 802d4dc - 802d4d0: 1c60 adds r0, r4, #1 - 802d4d2: 00c0 lsls r0, r0, #3 - 802d4d4: 4450 add r0, sl - 802d4d6: f7ff ffd1 bl 802d47c - 802d4da: 3801 subs r0, #1 - 802d4dc: 4546 cmp r6, r8 - 802d4de: d807 bhi.n 802d4f0 - 802d4e0: 4540 cmp r0, r8 - 802d4e2: d3e3 bcc.n 802d4ac - 802d4e4: 4628 mov r0, r5 - 802d4e6: b001 add sp, #4 - 802d4e8: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} - 802d4ec: 2500 movs r5, #0 - 802d4ee: e7f9 b.n 802d4e4 - 802d4f0: 42bc cmp r4, r7 - 802d4f2: d0fb beq.n 802d4ec - 802d4f4: f104 39ff add.w r9, r4, #4294967295 ; 0xffffffff - 802d4f8: e7d9 b.n 802d4ae - 802d4fa: 46c0 nop (mov r8, r8) - -0802d4fc <_Unwind_GetCFA>: - 802d4fc: 6c40 ldr r0, [r0, #68] - 802d4fe: 4770 bx lr - -0802d500 <_Unwind_Complete>: - 802d500: 4770 bx lr - 802d502: 46c0 nop (mov r8, r8) - -0802d504 <_Unwind_DeleteException>: - 802d504: b500 push {lr} - 802d506: 6883 ldr r3, [r0, #8] - 802d508: b081 sub sp, #4 - 802d50a: 4601 mov r1, r0 - 802d50c: b10b cbz r3, 802d512 <_Unwind_DeleteException+0xe> - 802d50e: 2001 movs r0, #1 - 802d510: 4798 blx r3 - 802d512: b001 add sp, #4 - 802d514: bd00 pop {pc} - 802d516: 46c0 nop (mov r8, r8) - -0802d518 <__gnu_unwind_pr_common>: - 802d518: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 802d51c: 4688 mov r8, r1 - 802d51e: b089 sub sp, #36 - 802d520: f000 0108 and.w r1, r0, #8 ; 0x8 - 802d524: f000 0003 and.w r0, r0, #3 ; 0x3 - 802d528: 9003 str r0, [sp, #12] - 802d52a: f8d8 004c ldr.w r0, [r8, #76] - 802d52e: 4691 mov r9, r2 - 802d530: f850 2b04 ldr.w r2, [r0], #4 - 802d534: 469b mov fp, r3 - 802d536: 9102 str r1, [sp, #8] - 802d538: 9005 str r0, [sp, #20] - 802d53a: 2b00 cmp r3, #0 - 802d53c: f040 80c1 bne.w 802d6c2 <__gnu_unwind_pr_common+0x1aa> - 802d540: 0213 lsls r3, r2, #8 - 802d542: 9304 str r3, [sp, #16] - 802d544: 2303 movs r3, #3 - 802d546: f88d b019 strb.w fp, [sp, #25] - 802d54a: f88d 3018 strb.w r3, [sp, #24] - 802d54e: 9a03 ldr r2, [sp, #12] - 802d550: f8d8 3050 ldr.w r3, [r8, #80] - 802d554: 2a02 cmp r2, #2 - 802d556: bf08 it eq - 802d558: f8d8 0038 ldreq.w r0, [r8, #56] - 802d55c: f013 0301 ands.w r3, r3, #1 ; 0x1 - 802d560: bf02 ittt eq - 802d562: f108 0158 addeq.w r1, r8, #88 ; 0x58 - 802d566: 9301 streq r3, [sp, #4] - 802d568: 9100 streq r1, [sp, #0] - 802d56a: f040 80b6 bne.w 802d6da <__gnu_unwind_pr_common+0x1c2> - 802d56e: 6803 ldr r3, [r0, #0] - 802d570: 2b00 cmp r3, #0 - 802d572: d02e beq.n 802d5d2 <__gnu_unwind_pr_common+0xba> - 802d574: f1bb 0f02 cmp.w fp, #2 ; 0x2 - 802d578: bf0a itet eq - 802d57a: 6844 ldreq r4, [r0, #4] - 802d57c: 8844 ldrhne r4, [r0, #2] - 802d57e: 461e moveq r6, r3 - 802d580: f8d8 3048 ldr.w r3, [r8, #72] - 802d584: bf0c ite eq - 802d586: f100 0708 addeq.w r7, r0, #8 ; 0x8 - 802d58a: 8806 ldrhne r6, [r0, #0] - 802d58c: f024 0201 bic.w r2, r4, #1 ; 0x1 - 802d590: bf18 it ne - 802d592: 1d07 addne r7, r0, #4 - 802d594: 210f movs r1, #15 - 802d596: 4648 mov r0, r9 - 802d598: eb02 0503 add.w r5, r2, r3 - 802d59c: f7ff ff38 bl 802d410 <_Unwind_GetGR> - 802d5a0: 4285 cmp r5, r0 - 802d5a2: d922 bls.n 802d5ea <__gnu_unwind_pr_common+0xd2> - 802d5a4: f004 0201 and.w r2, r4, #1 ; 0x1 - 802d5a8: f006 0301 and.w r3, r6, #1 ; 0x1 - 802d5ac: ea43 0242 orr.w r2, r3, r2, lsl #1 - 802d5b0: 2000 movs r0, #0 - 802d5b2: 2a01 cmp r2, #1 - 802d5b4: d028 beq.n 802d608 <__gnu_unwind_pr_common+0xf0> - 802d5b6: d248 bcs.n 802d64a <__gnu_unwind_pr_common+0x132> - 802d5b8: 9a03 ldr r2, [sp, #12] - 802d5ba: 2a00 cmp r2, #0 - 802d5bc: bf0c ite eq - 802d5be: 2300 moveq r3, #0 - 802d5c0: f000 0301 andne.w r3, r0, #1 ; 0x1 - 802d5c4: 2b00 cmp r3, #0 - 802d5c6: f040 80ec bne.w 802d7a2 <__gnu_unwind_pr_common+0x28a> - 802d5ca: 1d38 adds r0, r7, #4 - 802d5cc: 6803 ldr r3, [r0, #0] - 802d5ce: 2b00 cmp r3, #0 - 802d5d0: d1d0 bne.n 802d574 <__gnu_unwind_pr_common+0x5c> - 802d5d2: 4648 mov r0, r9 - 802d5d4: a904 add r1, sp, #16 - 802d5d6: f000 fd67 bl 802e0a8 <__gnu_unwind_execute> - 802d5da: 2800 cmp r0, #0 - 802d5dc: d137 bne.n 802d64e <__gnu_unwind_pr_common+0x136> - 802d5de: 9b01 ldr r3, [sp, #4] - 802d5e0: 2b00 cmp r3, #0 - 802d5e2: f040 80ce bne.w 802d782 <__gnu_unwind_pr_common+0x26a> - 802d5e6: 3008 adds r0, #8 - 802d5e8: e032 b.n 802d650 <__gnu_unwind_pr_common+0x138> - 802d5ea: f026 0301 bic.w r3, r6, #1 ; 0x1 - 802d5ee: 442b add r3, r5 - 802d5f0: 4298 cmp r0, r3 - 802d5f2: bf2c ite cs - 802d5f4: 2000 movcs r0, #0 - 802d5f6: 2001 movcc r0, #1 - 802d5f8: f004 0201 and.w r2, r4, #1 ; 0x1 - 802d5fc: f006 0301 and.w r3, r6, #1 ; 0x1 - 802d600: ea43 0242 orr.w r2, r3, r2, lsl #1 - 802d604: 2a01 cmp r2, #1 - 802d606: d1d6 bne.n 802d5b6 <__gnu_unwind_pr_common+0x9e> - 802d608: 9b03 ldr r3, [sp, #12] - 802d60a: 2b00 cmp r3, #0 - 802d60c: d16f bne.n 802d6ee <__gnu_unwind_pr_common+0x1d6> - 802d60e: b1c8 cbz r0, 802d644 <__gnu_unwind_pr_common+0x12c> - 802d610: 687b ldr r3, [r7, #4] - 802d612: 4638 mov r0, r7 - 802d614: f113 0f02 cmn.w r3, #2 ; 0x2 - 802d618: f850 4b04 ldr.w r4, [r0], #4 - 802d61c: d017 beq.n 802d64e <__gnu_unwind_pr_common+0x136> - 802d61e: 9900 ldr r1, [sp, #0] - 802d620: f1b3 3fff cmp.w r3, #4294967295 ; 0xffffffff - 802d624: 9107 str r1, [sp, #28] - 802d626: f000 809b beq.w 802d760 <__gnu_unwind_pr_common+0x248> - 802d62a: f7ff fecf bl 802d3cc <_Unwind_decode_target2> - 802d62e: 0fe2 lsrs r2, r4, #31 - 802d630: 4601 mov r1, r0 - 802d632: ab07 add r3, sp, #28 - 802d634: 4640 mov r0, r8 - 802d636: f001 fe0d bl 802f254 <__cxa_type_match> - 802d63a: 2800 cmp r0, #0 - 802d63c: f040 8090 bne.w 802d760 <__gnu_unwind_pr_common+0x248> - 802d640: 9a03 ldr r2, [sp, #12] - 802d642: 9207 str r2, [sp, #28] - 802d644: f107 0008 add.w r0, r7, #8 ; 0x8 - 802d648: e791 b.n 802d56e <__gnu_unwind_pr_common+0x56> - 802d64a: 2a02 cmp r2, #2 - 802d64c: d003 beq.n 802d656 <__gnu_unwind_pr_common+0x13e> - 802d64e: 2009 movs r0, #9 - 802d650: b009 add sp, #36 - 802d652: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} - 802d656: 683a ldr r2, [r7, #0] - 802d658: 9b03 ldr r3, [sp, #12] - 802d65a: f022 4a00 bic.w sl, r2, #2147483648 ; 0x80000000 - 802d65e: 2b00 cmp r3, #0 - 802d660: d160 bne.n 802d724 <__gnu_unwind_pr_common+0x20c> - 802d662: b328 cbz r0, 802d6b0 <__gnu_unwind_pr_common+0x198> - 802d664: 9902 ldr r1, [sp, #8] - 802d666: f1da 0301 rsbs r3, sl, #1 ; 0x1 - 802d66a: bf38 it cc - 802d66c: 2300 movcc r3, #0 - 802d66e: 2900 cmp r1, #0 - 802d670: bf08 it eq - 802d672: f043 0301 orreq.w r3, r3, #1 ; 0x1 - 802d676: b1db cbz r3, 802d6b0 <__gnu_unwind_pr_common+0x198> - 802d678: f1ba 0f00 cmp.w sl, #0 ; 0x0 - 802d67c: d074 beq.n 802d768 <__gnu_unwind_pr_common+0x250> - 802d67e: 1d3d adds r5, r7, #4 - 802d680: 9e03 ldr r6, [sp, #12] - 802d682: e003 b.n 802d68c <__gnu_unwind_pr_common+0x174> - 802d684: 3504 adds r5, #4 - 802d686: 45a2 cmp sl, r4 - 802d688: d90f bls.n 802d6aa <__gnu_unwind_pr_common+0x192> - 802d68a: 4626 mov r6, r4 - 802d68c: 9a00 ldr r2, [sp, #0] - 802d68e: 4628 mov r0, r5 - 802d690: 9207 str r2, [sp, #28] - 802d692: f7ff fe9b bl 802d3cc <_Unwind_decode_target2> - 802d696: 2200 movs r2, #0 - 802d698: 4601 mov r1, r0 - 802d69a: ab07 add r3, sp, #28 - 802d69c: 4640 mov r0, r8 - 802d69e: 1c74 adds r4, r6, #1 - 802d6a0: f001 fdd8 bl 802f254 <__cxa_type_match> - 802d6a4: 2800 cmp r0, #0 - 802d6a6: d0ed beq.n 802d684 <__gnu_unwind_pr_common+0x16c> - 802d6a8: 4634 mov r4, r6 - 802d6aa: 4554 cmp r4, sl - 802d6ac: d05c beq.n 802d768 <__gnu_unwind_pr_common+0x250> - 802d6ae: 683a ldr r2, [r7, #0] - 802d6b0: 2a00 cmp r2, #0 - 802d6b2: bfac ite ge - 802d6b4: 4638 movge r0, r7 - 802d6b6: 1d38 addlt r0, r7, #4 - 802d6b8: f10a 0301 add.w r3, sl, #1 ; 0x1 - 802d6bc: 009b lsls r3, r3, #2 - 802d6be: 18c0 adds r0, r0, r3 - 802d6c0: e755 b.n 802d56e <__gnu_unwind_pr_common+0x56> - 802d6c2: 0c13 lsrs r3, r2, #16 - 802d6c4: b2db uxtb r3, r3 - 802d6c6: 2102 movs r1, #2 - 802d6c8: f88d 3019 strb.w r3, [sp, #25] - 802d6cc: 408b lsls r3, r1 - 802d6ce: 0412 lsls r2, r2, #16 - 802d6d0: 9204 str r2, [sp, #16] - 802d6d2: f88d 1018 strb.w r1, [sp, #24] - 802d6d6: 18c0 adds r0, r0, r3 - 802d6d8: e739 b.n 802d54e <__gnu_unwind_pr_common+0x36> - 802d6da: 2300 movs r3, #0 - 802d6dc: 4648 mov r0, r9 - 802d6de: a904 add r1, sp, #16 - 802d6e0: 9301 str r3, [sp, #4] - 802d6e2: f000 fce1 bl 802e0a8 <__gnu_unwind_execute> - 802d6e6: 2800 cmp r0, #0 - 802d6e8: f43f af79 beq.w 802d5de <__gnu_unwind_pr_common+0xc6> - 802d6ec: e7af b.n 802d64e <__gnu_unwind_pr_common+0x136> - 802d6ee: 210d movs r1, #13 - 802d6f0: 4648 mov r0, r9 - 802d6f2: f8d8 4020 ldr.w r4, [r8, #32] - 802d6f6: f7ff fe8b bl 802d410 <_Unwind_GetGR> - 802d6fa: 4284 cmp r4, r0 - 802d6fc: d1a2 bne.n 802d644 <__gnu_unwind_pr_common+0x12c> - 802d6fe: f8d8 3028 ldr.w r3, [r8, #40] - 802d702: 429f cmp r7, r3 - 802d704: d19e bne.n 802d644 <__gnu_unwind_pr_common+0x12c> - 802d706: 4638 mov r0, r7 - 802d708: f7ff feb8 bl 802d47c - 802d70c: 4602 mov r2, r0 - 802d70e: 210f movs r1, #15 - 802d710: 4648 mov r0, r9 - 802d712: f7ff fea5 bl 802d460 <_Unwind_SetGR> - 802d716: 4648 mov r0, r9 - 802d718: 2100 movs r1, #0 - 802d71a: 4642 mov r2, r8 - 802d71c: f7ff fea0 bl 802d460 <_Unwind_SetGR> - 802d720: 2007 movs r0, #7 - 802d722: e795 b.n 802d650 <__gnu_unwind_pr_common+0x138> - 802d724: 210d movs r1, #13 - 802d726: 4648 mov r0, r9 - 802d728: f8d8 4020 ldr.w r4, [r8, #32] - 802d72c: f7ff fe70 bl 802d410 <_Unwind_GetGR> - 802d730: 4284 cmp r4, r0 - 802d732: d1bc bne.n 802d6ae <__gnu_unwind_pr_common+0x196> - 802d734: f8d8 3028 ldr.w r3, [r8, #40] - 802d738: 429f cmp r7, r3 - 802d73a: d1b8 bne.n 802d6ae <__gnu_unwind_pr_common+0x196> - 802d73c: 2104 movs r1, #4 - 802d73e: 2300 movs r3, #0 - 802d740: eb07 0001 add.w r0, r7, r1 - 802d744: f8c8 a028 str.w sl, [r8, #40] - 802d748: f8c8 302c str.w r3, [r8, #44] - 802d74c: f8c8 1030 str.w r1, [r8, #48] - 802d750: f8c8 0034 str.w r0, [r8, #52] - 802d754: 683b ldr r3, [r7, #0] - 802d756: 2b00 cmp r3, #0 - 802d758: da37 bge.n 802d7ca <__gnu_unwind_pr_common+0x2b2> - 802d75a: 2201 movs r2, #1 - 802d75c: 9201 str r2, [sp, #4] - 802d75e: e7ab b.n 802d6b8 <__gnu_unwind_pr_common+0x1a0> - 802d760: 9b07 ldr r3, [sp, #28] - 802d762: 2b00 cmp r3, #0 - 802d764: f43f af6e beq.w 802d644 <__gnu_unwind_pr_common+0x12c> - 802d768: 4648 mov r0, r9 - 802d76a: 210d movs r1, #13 - 802d76c: f7ff fe50 bl 802d410 <_Unwind_GetGR> - 802d770: 9b07 ldr r3, [sp, #28] - 802d772: f8c8 0020 str.w r0, [r8, #32] - 802d776: f8c8 3024 str.w r3, [r8, #36] - 802d77a: f8c8 7028 str.w r7, [r8, #40] - 802d77e: 2006 movs r0, #6 - 802d780: e766 b.n 802d650 <__gnu_unwind_pr_common+0x138> - 802d782: 210f movs r1, #15 - 802d784: 4648 mov r0, r9 - 802d786: f7ff fe43 bl 802d410 <_Unwind_GetGR> - 802d78a: 210e movs r1, #14 - 802d78c: 4602 mov r2, r0 - 802d78e: 4648 mov r0, r9 - 802d790: f7ff fe66 bl 802d460 <_Unwind_SetGR> - 802d794: 4648 mov r0, r9 - 802d796: 210f movs r1, #15 - 802d798: 4a0f ldr r2, [pc, #60] (802d7d8 <__gnu_unwind_pr_common+0x2c0>) - 802d79a: f7ff fe61 bl 802d460 <_Unwind_SetGR> - 802d79e: 2007 movs r0, #7 - 802d7a0: e756 b.n 802d650 <__gnu_unwind_pr_common+0x138> - 802d7a2: 4638 mov r0, r7 - 802d7a4: f7ff fe6a bl 802d47c - 802d7a8: 1d3b adds r3, r7, #4 - 802d7aa: 4604 mov r4, r0 - 802d7ac: f8c8 3038 str.w r3, [r8, #56] - 802d7b0: 4640 mov r0, r8 - 802d7b2: f001 fd19 bl 802f1e8 <__cxa_begin_cleanup> - 802d7b6: 2800 cmp r0, #0 - 802d7b8: f43f af49 beq.w 802d64e <__gnu_unwind_pr_common+0x136> - 802d7bc: 4648 mov r0, r9 - 802d7be: 210f movs r1, #15 - 802d7c0: 4622 mov r2, r4 - 802d7c2: f7ff fe4d bl 802d460 <_Unwind_SetGR> - 802d7c6: 2007 movs r0, #7 - 802d7c8: e742 b.n 802d650 <__gnu_unwind_pr_common+0x138> - 802d7ca: f10a 0001 add.w r0, sl, #1 ; 0x1 - 802d7ce: 0080 lsls r0, r0, #2 - 802d7d0: 4438 add r0, r7 - 802d7d2: f7ff fe53 bl 802d47c - 802d7d6: e799 b.n 802d70c <__gnu_unwind_pr_common+0x1f4> - 802d7d8: 0802fe71 .word 0x0802fe71 - -0802d7dc <__aeabi_unwind_cpp_pr2>: - 802d7dc: b500 push {lr} - 802d7de: 2302 movs r3, #2 - 802d7e0: b081 sub sp, #4 - 802d7e2: f7ff fe99 bl 802d518 <__gnu_unwind_pr_common> - 802d7e6: b001 add sp, #4 - 802d7e8: bd00 pop {pc} - 802d7ea: 46c0 nop (mov r8, r8) - -0802d7ec <__aeabi_unwind_cpp_pr1>: - 802d7ec: b500 push {lr} - 802d7ee: 2301 movs r3, #1 - 802d7f0: b081 sub sp, #4 - 802d7f2: f7ff fe91 bl 802d518 <__gnu_unwind_pr_common> - 802d7f6: b001 add sp, #4 - 802d7f8: bd00 pop {pc} - 802d7fa: 46c0 nop (mov r8, r8) - -0802d7fc <__aeabi_unwind_cpp_pr0>: - 802d7fc: b500 push {lr} - 802d7fe: 2300 movs r3, #0 - 802d800: b081 sub sp, #4 - 802d802: f7ff fe89 bl 802d518 <__gnu_unwind_pr_common> - 802d806: b001 add sp, #4 - 802d808: bd00 pop {pc} - 802d80a: 46c0 nop (mov r8, r8) - -0802d80c : - 802d80c: b530 push {r4, r5, lr} - 802d80e: 4b2d ldr r3, [pc, #180] (802d8c4 ) - 802d810: b083 sub sp, #12 - 802d812: 4605 mov r5, r0 - 802d814: 1e8c subs r4, r1, #2 - 802d816: 2b00 cmp r3, #0 - 802d818: d04a beq.n 802d8b0 - 802d81a: 4620 mov r0, r4 - 802d81c: a901 add r1, sp, #4 - 802d81e: e000 b.n 802d822 - 802d820: bf00 nop - 802d822: 4602 mov r2, r0 - 802d824: 2800 cmp r0, #0 - 802d826: d02b beq.n 802d880 - 802d828: 4610 mov r0, r2 - 802d82a: 9901 ldr r1, [sp, #4] - 802d82c: 4622 mov r2, r4 - 802d82e: f7ff fe31 bl 802d494 - 802d832: 4604 mov r4, r0 - 802d834: b300 cbz r0, 802d878 - 802d836: f7ff fe21 bl 802d47c - 802d83a: 64a8 str r0, [r5, #72] - 802d83c: 6863 ldr r3, [r4, #4] - 802d83e: 2b01 cmp r3, #1 - 802d840: d02e beq.n 802d8a0 - 802d842: 2b00 cmp r3, #0 - 802d844: db1f blt.n 802d886 - 802d846: 1d20 adds r0, r4, #4 - 802d848: f7ff fe18 bl 802d47c - 802d84c: 64e8 str r0, [r5, #76] - 802d84e: 2300 movs r3, #0 - 802d850: 6ce8 ldr r0, [r5, #76] - 802d852: 652b str r3, [r5, #80] - 802d854: 6803 ldr r3, [r0, #0] - 802d856: 2b00 cmp r3, #0 - 802d858: da1d bge.n 802d896 - 802d85a: 0e1b lsrs r3, r3, #24 - 802d85c: f013 000f ands.w r0, r3, #15 ; 0xf - 802d860: bf04 itt eq - 802d862: 4b19 ldreq r3, [pc, #100] (802d8c8 ) - 802d864: 612b streq r3, [r5, #16] - 802d866: d009 beq.n 802d87c - 802d868: 2801 cmp r0, #1 - 802d86a: d01d beq.n 802d8a8 - 802d86c: 2802 cmp r0, #2 - 802d86e: d025 beq.n 802d8bc - 802d870: 2300 movs r3, #0 - 802d872: 612b str r3, [r5, #16] - 802d874: 2009 movs r0, #9 - 802d876: e001 b.n 802d87c - 802d878: 6128 str r0, [r5, #16] - 802d87a: 2009 movs r0, #9 - 802d87c: b003 add sp, #12 - 802d87e: bd30 pop {r4, r5, pc} - 802d880: 6128 str r0, [r5, #16] - 802d882: 3009 adds r0, #9 - 802d884: e7fa b.n 802d87c - 802d886: 1d23 adds r3, r4, #4 - 802d888: 64eb str r3, [r5, #76] - 802d88a: 2201 movs r2, #1 - 802d88c: 6ce8 ldr r0, [r5, #76] - 802d88e: 652a str r2, [r5, #80] - 802d890: 6803 ldr r3, [r0, #0] - 802d892: 2b00 cmp r3, #0 - 802d894: dbe1 blt.n 802d85a - 802d896: f7ff fdf1 bl 802d47c - 802d89a: 6128 str r0, [r5, #16] - 802d89c: 2000 movs r0, #0 - 802d89e: e7ed b.n 802d87c - 802d8a0: 3b01 subs r3, #1 - 802d8a2: 612b str r3, [r5, #16] - 802d8a4: 2005 movs r0, #5 - 802d8a6: e7e9 b.n 802d87c - 802d8a8: 4b08 ldr r3, [pc, #32] (802d8cc ) - 802d8aa: 3801 subs r0, #1 - 802d8ac: 612b str r3, [r5, #16] - 802d8ae: e7e5 b.n 802d87c - 802d8b0: 4a07 ldr r2, [pc, #28] (802d8d0 ) - 802d8b2: 4b08 ldr r3, [pc, #32] (802d8d4 ) - 802d8b4: 1a9b subs r3, r3, r2 - 802d8b6: 10db asrs r3, r3, #3 - 802d8b8: 9301 str r3, [sp, #4] - 802d8ba: e7b5 b.n 802d828 - 802d8bc: 4b06 ldr r3, [pc, #24] (802d8d8 ) - 802d8be: 3802 subs r0, #2 - 802d8c0: 612b str r3, [r5, #16] - 802d8c2: e7db b.n 802d87c - 802d8c4: 00000000 .word 0x00000000 - 802d8c8: 0802d7fd .word 0x0802d7fd - 802d8cc: 0802d7ed .word 0x0802d7ed - 802d8d0: 08035930 .word 0x08035930 - 802d8d4: 08035cf8 .word 0x08035cf8 - 802d8d8: 0802d7dd .word 0x0802d7dd - -0802d8dc : - 802d8dc: 6803 ldr r3, [r0, #0] - 802d8de: b510 push {r4, lr} - 802d8e0: f013 0f01 tst.w r3, #1 ; 0x1 - 802d8e4: 4604 mov r4, r0 - 802d8e6: d107 bne.n 802d8f8 - 802d8e8: f013 0f02 tst.w r3, #2 ; 0x2 - 802d8ec: d012 beq.n 802d914 - 802d8ee: f100 0048 add.w r0, r0, #72 ; 0x48 - 802d8f2: f000 facf bl 802de94 <__gnu_Unwind_Restore_VFP_D> - 802d8f6: 6823 ldr r3, [r4, #0] - 802d8f8: f013 0f04 tst.w r3, #4 ; 0x4 - 802d8fc: d012 beq.n 802d924 - 802d8fe: f013 0f08 tst.w r3, #8 ; 0x8 - 802d902: d017 beq.n 802d934 - 802d904: f013 0f10 tst.w r3, #16 ; 0x10 - 802d908: d103 bne.n 802d912 - 802d90a: f504 700c add.w r0, r4, #560 ; 0x230 - 802d90e: f000 fb15 bl 802df3c <__gnu_Unwind_Restore_WMMXC> - 802d912: bd10 pop {r4, pc} - 802d914: f100 0048 add.w r0, r0, #72 ; 0x48 - 802d918: f000 fab4 bl 802de84 <__gnu_Unwind_Restore_VFP> - 802d91c: 6823 ldr r3, [r4, #0] - 802d91e: f013 0f04 tst.w r3, #4 ; 0x4 - 802d922: d1ec bne.n 802d8fe - 802d924: f104 00d0 add.w r0, r4, #208 ; 0xd0 - 802d928: f000 fabc bl 802dea4 <__gnu_Unwind_Restore_VFP_D_16_to_31> - 802d92c: 6823 ldr r3, [r4, #0] - 802d92e: f013 0f08 tst.w r3, #8 ; 0x8 - 802d932: d1e7 bne.n 802d904 - 802d934: f504 70d8 add.w r0, r4, #432 ; 0x1b0 - 802d938: f000 fabc bl 802deb4 <__gnu_Unwind_Restore_WMMXD> - 802d93c: 6823 ldr r3, [r4, #0] - 802d93e: e7e1 b.n 802d904 - -0802d940 <__gnu_Unwind_Backtrace>: - 802d940: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 802d944: 6bd3 ldr r3, [r2, #60] - 802d946: f5ad 7d26 sub.w sp, sp, #664 ; 0x298 - 802d94a: 6413 str r3, [r2, #64] - 802d94c: f10d 0c04 add.w ip, sp, #4 ; 0x4 - 802d950: f102 0e04 add.w lr, r2, #4 ; 0x4 - 802d954: 4680 mov r8, r0 - 802d956: 460f mov r7, r1 - 802d958: e8be 000f ldmia.w lr!, {r0, r1, r2, r3} - 802d95c: e8ac 000f stmia.w ip!, {r0, r1, r2, r3} - 802d960: e8be 000f ldmia.w lr!, {r0, r1, r2, r3} - 802d964: e8ac 000f stmia.w ip!, {r0, r1, r2, r3} - 802d968: e8be 000f ldmia.w lr!, {r0, r1, r2, r3} - 802d96c: e8ac 000f stmia.w ip!, {r0, r1, r2, r3} - 802d970: e89e 000f ldmia.w lr, {r0, r1, r2, r3} - 802d974: e88c 000f stmia.w ip, {r0, r1, r2, r3} - 802d978: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 802d97c: 466e mov r6, sp - 802d97e: 9300 str r3, [sp, #0] - 802d980: ad90 add r5, sp, #576 - 802d982: 6c31 ldr r1, [r6, #64] - 802d984: 4628 mov r0, r5 - 802d986: f7ff ff41 bl 802d80c - 802d98a: 2800 cmp r0, #0 - 802d98c: d121 bne.n 802d9d2 <__gnu_Unwind_Backtrace+0x92> - 802d98e: 4668 mov r0, sp - 802d990: 210c movs r1, #12 - 802d992: 462a mov r2, r5 - 802d994: f7ff fd64 bl 802d460 <_Unwind_SetGR> - 802d998: 4668 mov r0, sp - 802d99a: 4639 mov r1, r7 - 802d99c: 47c0 blx r8 - 802d99e: b9c0 cbnz r0, 802d9d2 <__gnu_Unwind_Backtrace+0x92> - 802d9a0: 9b94 ldr r3, [sp, #592] - 802d9a2: 3008 adds r0, #8 - 802d9a4: 4629 mov r1, r5 - 802d9a6: 466a mov r2, sp - 802d9a8: 4798 blx r3 - 802d9aa: f1b0 0309 subs.w r3, r0, #9 ; 0x9 - 802d9ae: bf18 it ne - 802d9b0: 2301 movne r3, #1 - 802d9b2: 2805 cmp r0, #5 - 802d9b4: bf0c ite eq - 802d9b6: 2300 moveq r3, #0 - 802d9b8: f003 0301 andne.w r3, r3, #1 ; 0x1 - 802d9bc: 4604 mov r4, r0 - 802d9be: 2b00 cmp r3, #0 - 802d9c0: d1df bne.n 802d982 <__gnu_Unwind_Backtrace+0x42> - 802d9c2: 4668 mov r0, sp - 802d9c4: f7ff ff8a bl 802d8dc - 802d9c8: 4620 mov r0, r4 - 802d9ca: f50d 7d26 add.w sp, sp, #664 ; 0x298 - 802d9ce: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - 802d9d2: 2409 movs r4, #9 - 802d9d4: e7f5 b.n 802d9c2 <__gnu_Unwind_Backtrace+0x82> - 802d9d6: 46c0 nop (mov r8, r8) - -0802d9d8 : - 802d9d8: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 802d9dc: 68c3 ldr r3, [r0, #12] - 802d9de: f5ad 6d92 sub.w sp, sp, #1168 ; 0x490 - 802d9e2: b083 sub sp, #12 - 802d9e4: 6984 ldr r4, [r0, #24] - 802d9e6: 9304 str r3, [sp, #16] - 802d9e8: ab97 add r3, sp, #604 - 802d9ea: 9303 str r3, [sp, #12] - 802d9ec: 9405 str r4, [sp, #20] - 802d9ee: 9c03 ldr r4, [sp, #12] - 802d9f0: f101 0c04 add.w ip, r1, #4 ; 0x4 - 802d9f4: 4606 mov r6, r0 - 802d9f6: 4693 mov fp, r2 - 802d9f8: e8bc 000f ldmia.w ip!, {r0, r1, r2, r3} - 802d9fc: c40f stmia r4!, {r0, r1, r2, r3} - 802d9fe: 46a6 mov lr, r4 - 802da00: e8bc 000f ldmia.w ip!, {r0, r1, r2, r3} - 802da04: e8ae 000f stmia.w lr!, {r0, r1, r2, r3} - 802da08: e8bc 000f ldmia.w ip!, {r0, r1, r2, r3} - 802da0c: e8ae 000f stmia.w lr!, {r0, r1, r2, r3} - 802da10: af96 add r7, sp, #600 - 802da12: e89c 000f ldmia.w ip, {r0, r1, r2, r3} - 802da16: e88e 000f stmia.w lr, {r0, r1, r2, r3} - 802da1a: 2300 movs r3, #0 - 802da1c: 603b str r3, [r7, #0] - 802da1e: 4698 mov r8, r3 - 802da20: f10d 0a18 add.w sl, sp, #24 ; 0x18 - 802da24: 6c39 ldr r1, [r7, #64] - 802da26: 4630 mov r0, r6 - 802da28: f7ff fef0 bl 802d80c - 802da2c: 4605 mov r5, r0 - 802da2e: 4681 mov r9, r0 - 802da30: f1bb 0f00 cmp.w fp, #0 ; 0x0 - 802da34: d125 bne.n 802da82 - 802da36: 2409 movs r4, #9 - 802da38: 2d00 cmp r5, #0 - 802da3a: d027 beq.n 802da8c - 802da3c: 6bbb ldr r3, [r7, #56] - 802da3e: f044 0410 orr.w r4, r4, #16 ; 0x10 - 802da42: 647b str r3, [r7, #68] - 802da44: 9b05 ldr r3, [sp, #20] - 802da46: 4621 mov r1, r4 - 802da48: 9301 str r3, [sp, #4] - 802da4a: 9700 str r7, [sp, #0] - 802da4c: 2001 movs r0, #1 - 802da4e: 4632 mov r2, r6 - 802da50: 4633 mov r3, r6 - 802da52: 9c04 ldr r4, [sp, #16] - 802da54: 47a0 blx r4 - 802da56: b960 cbnz r0, 802da72 - 802da58: b96d cbnz r5, 802da76 - 802da5a: 4638 mov r0, r7 - 802da5c: 4651 mov r1, sl - 802da5e: f44f 7210 mov.w r2, #576 ; 0x240 - 802da62: f004 fffb bl 8032a5c - 802da66: f1b8 0f08 cmp.w r8, #8 ; 0x8 - 802da6a: d0db beq.n 802da24 - 802da6c: f1b8 0f07 cmp.w r8, #7 ; 0x7 - 802da70: d01e beq.n 802dab0 - 802da72: f04f 0909 mov.w r9, #9 ; 0x9 - 802da76: 4648 mov r0, r9 - 802da78: b027 add sp, #156 - 802da7a: f50d 6d80 add.w sp, sp, #1024 ; 0x400 - 802da7e: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} - 802da82: 240a movs r4, #10 - 802da84: f04f 0b00 mov.w fp, #0 ; 0x0 - 802da88: 2d00 cmp r5, #0 - 802da8a: d1d7 bne.n 802da3c - 802da8c: 6c3b ldr r3, [r7, #64] - 802da8e: 4639 mov r1, r7 - 802da90: 6173 str r3, [r6, #20] - 802da92: f44f 7210 mov.w r2, #576 ; 0x240 - 802da96: 4650 mov r0, sl - 802da98: f004 ffe0 bl 8032a5c - 802da9c: 6933 ldr r3, [r6, #16] - 802da9e: 4620 mov r0, r4 - 802daa0: 4631 mov r1, r6 - 802daa2: 4652 mov r2, sl - 802daa4: 4798 blx r3 - 802daa6: f8da 3038 ldr.w r3, [sl, #56] - 802daaa: 4680 mov r8, r0 - 802daac: 647b str r3, [r7, #68] - 802daae: e7c9 b.n 802da44 - 802dab0: a897 add r0, sp, #604 - 802dab2: f000 f9db bl 802de6c <__restore_core_regs> - 802dab6: 46c0 nop (mov r8, r8) - -0802dab8 <__gnu_Unwind_ForcedUnwind>: - 802dab8: b500 push {lr} - 802daba: 60c1 str r1, [r0, #12] - 802dabc: 6182 str r2, [r0, #24] - 802dabe: 6bda ldr r2, [r3, #60] - 802dac0: b081 sub sp, #4 - 802dac2: 641a str r2, [r3, #64] - 802dac4: 4619 mov r1, r3 - 802dac6: 2200 movs r2, #0 - 802dac8: f7ff ff86 bl 802d9d8 - 802dacc: b001 add sp, #4 - 802dace: bd00 pop {pc} - -0802dad0 : - 802dad0: b570 push {r4, r5, r6, lr} - 802dad2: 4605 mov r5, r0 - 802dad4: 460e mov r6, r1 - 802dad6: 6c31 ldr r1, [r6, #64] - 802dad8: 4628 mov r0, r5 - 802dada: f7ff fe97 bl 802d80c - 802dade: b950 cbnz r0, 802daf6 - 802dae0: 6c33 ldr r3, [r6, #64] - 802dae2: 2001 movs r0, #1 - 802dae4: 616b str r3, [r5, #20] - 802dae6: 692c ldr r4, [r5, #16] - 802dae8: 4629 mov r1, r5 - 802daea: 4632 mov r2, r6 - 802daec: 47a0 blx r4 - 802daee: 2808 cmp r0, #8 - 802daf0: d0f1 beq.n 802dad6 - 802daf2: 2807 cmp r0, #7 - 802daf4: d001 beq.n 802dafa - 802daf6: f004 fafd bl 80320f4 - 802dafa: 1d30 adds r0, r6, #4 - 802dafc: f000 f9b6 bl 802de6c <__restore_core_regs> - -0802db00 <__gnu_Unwind_RaiseException>: - 802db00: b5f0 push {r4, r5, r6, r7, lr} - 802db02: 6bcb ldr r3, [r1, #60] - 802db04: f5ad 7d11 sub.w sp, sp, #580 ; 0x244 - 802db08: 640b str r3, [r1, #64] - 802db0a: f10d 0e04 add.w lr, sp, #4 ; 0x4 - 802db0e: f101 0c04 add.w ip, r1, #4 ; 0x4 - 802db12: 4605 mov r5, r0 - 802db14: 460f mov r7, r1 - 802db16: e8bc 000f ldmia.w ip!, {r0, r1, r2, r3} - 802db1a: e8ae 000f stmia.w lr!, {r0, r1, r2, r3} - 802db1e: e8bc 000f ldmia.w ip!, {r0, r1, r2, r3} - 802db22: e8ae 000f stmia.w lr!, {r0, r1, r2, r3} - 802db26: e8bc 000f ldmia.w ip!, {r0, r1, r2, r3} - 802db2a: e8ae 000f stmia.w lr!, {r0, r1, r2, r3} - 802db2e: e89c 000f ldmia.w ip, {r0, r1, r2, r3} - 802db32: e88e 000f stmia.w lr, {r0, r1, r2, r3} - 802db36: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 802db3a: 466e mov r6, sp - 802db3c: 9300 str r3, [sp, #0] - 802db3e: 6c31 ldr r1, [r6, #64] - 802db40: 4628 mov r0, r5 - 802db42: f7ff fe63 bl 802d80c - 802db46: b958 cbnz r0, 802db60 <__gnu_Unwind_RaiseException+0x60> - 802db48: 692b ldr r3, [r5, #16] - 802db4a: 4629 mov r1, r5 - 802db4c: 466a mov r2, sp - 802db4e: 4798 blx r3 - 802db50: 2808 cmp r0, #8 - 802db52: 4604 mov r4, r0 - 802db54: d0f3 beq.n 802db3e <__gnu_Unwind_RaiseException+0x3e> - 802db56: 4668 mov r0, sp - 802db58: f7ff fec0 bl 802d8dc - 802db5c: 2c06 cmp r4, #6 - 802db5e: d003 beq.n 802db68 <__gnu_Unwind_RaiseException+0x68> - 802db60: 2009 movs r0, #9 - 802db62: f50d 7d11 add.w sp, sp, #580 ; 0x244 - 802db66: bdf0 pop {r4, r5, r6, r7, pc} - 802db68: 4628 mov r0, r5 - 802db6a: 4639 mov r1, r7 - 802db6c: f7ff ffb0 bl 802dad0 - -0802db70 <__gnu_Unwind_Resume_or_Rethrow>: - 802db70: b500 push {lr} - 802db72: 68c3 ldr r3, [r0, #12] - 802db74: b081 sub sp, #4 - 802db76: b133 cbz r3, 802db86 <__gnu_Unwind_Resume_or_Rethrow+0x16> - 802db78: 6bcb ldr r3, [r1, #60] - 802db7a: 2200 movs r2, #0 - 802db7c: 640b str r3, [r1, #64] - 802db7e: f7ff ff2b bl 802d9d8 - 802db82: b001 add sp, #4 - 802db84: bd00 pop {pc} - 802db86: f7ff ffbb bl 802db00 <__gnu_Unwind_RaiseException> - 802db8a: e7fa b.n 802db82 <__gnu_Unwind_Resume_or_Rethrow+0x12> - -0802db8c <__gnu_Unwind_Resume>: - 802db8c: b530 push {r4, r5, lr} - 802db8e: 6943 ldr r3, [r0, #20] - 802db90: b081 sub sp, #4 - 802db92: 640b str r3, [r1, #64] - 802db94: 68c2 ldr r2, [r0, #12] - 802db96: 4604 mov r4, r0 - 802db98: 460d mov r5, r1 - 802db9a: b98a cbnz r2, 802dbc0 <__gnu_Unwind_Resume+0x34> - 802db9c: 6903 ldr r3, [r0, #16] - 802db9e: 4621 mov r1, r4 - 802dba0: 2002 movs r0, #2 - 802dba2: 462a mov r2, r5 - 802dba4: 4798 blx r3 - 802dba6: 2807 cmp r0, #7 - 802dba8: d007 beq.n 802dbba <__gnu_Unwind_Resume+0x2e> - 802dbaa: 2808 cmp r0, #8 - 802dbac: d001 beq.n 802dbb2 <__gnu_Unwind_Resume+0x26> - 802dbae: f004 faa1 bl 80320f4 - 802dbb2: 4620 mov r0, r4 - 802dbb4: 4629 mov r1, r5 - 802dbb6: f7ff ff8b bl 802dad0 - 802dbba: 1d28 adds r0, r5, #4 - 802dbbc: f000 f956 bl 802de6c <__restore_core_regs> - 802dbc0: 2201 movs r2, #1 - 802dbc2: f7ff ff09 bl 802d9d8 - 802dbc6: f004 fa95 bl 80320f4 - 802dbca: 46c0 nop (mov r8, r8) - -0802dbcc <_Unwind_VRS_Pop>: - 802dbcc: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 802dbd0: 4614 mov r4, r2 - 802dbd2: b0e6 sub sp, #408 - 802dbd4: 4605 mov r5, r0 - 802dbd6: 461a mov r2, r3 - 802dbd8: 2904 cmp r1, #4 - 802dbda: d80e bhi.n 802dbfa <_Unwind_VRS_Pop+0x2e> - 802dbdc: e8df f001 tbb [pc, r1] - 802dbe0: 03545638 .word 0x03545638 - 802dbe4: 0011 .short 0x0011 - 802dbe6: 2a03 cmp r2, #3 - 802dbe8: d107 bne.n 802dbfa <_Unwind_VRS_Pop+0x2e> - 802dbea: 0c26 lsrs r6, r4, #16 - 802dbec: 0424 lsls r4, r4, #16 - 802dbee: 0c24 lsrs r4, r4, #16 - 802dbf0: eb04 0306 add.w r3, r4, r6 - 802dbf4: 2b10 cmp r3, #16 - 802dbf6: f240 80d9 bls.w 802ddac <_Unwind_VRS_Pop+0x1e0> - 802dbfa: 2002 movs r0, #2 - 802dbfc: b066 add sp, #408 - 802dbfe: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - 802dc02: 2c10 cmp r4, #16 - 802dc04: bf94 ite ls - 802dc06: 2300 movls r3, #0 - 802dc08: 2301 movhi r3, #1 - 802dc0a: 2a00 cmp r2, #0 - 802dc0c: bf18 it ne - 802dc0e: f043 0301 orrne.w r3, r3, #1 ; 0x1 - 802dc12: 2b00 cmp r3, #0 - 802dc14: d1f1 bne.n 802dbfa <_Unwind_VRS_Pop+0x2e> - 802dc16: 6803 ldr r3, [r0, #0] - 802dc18: f013 0f10 tst.w r3, #16 ; 0x10 - 802dc1c: f040 8101 bne.w 802de22 <_Unwind_VRS_Pop+0x256> - 802dc20: ae62 add r6, sp, #392 - 802dc22: 4630 mov r0, r6 - 802dc24: f000 f994 bl 802df50 <__gnu_Unwind_Save_WMMXC> - 802dc28: 6ba9 ldr r1, [r5, #56] - 802dc2a: 2200 movs r2, #0 - 802dc2c: 2001 movs r0, #1 - 802dc2e: fa10 f302 lsls.w r3, r0, r2 - 802dc32: 4223 tst r3, r4 - 802dc34: bf1c itt ne - 802dc36: f851 3b04 ldrne.w r3, [r1], #4 - 802dc3a: f846 3022 strne.w r3, [r6, r2, lsl #2] - 802dc3e: 3201 adds r2, #1 - 802dc40: 2a04 cmp r2, #4 - 802dc42: d1f4 bne.n 802dc2e <_Unwind_VRS_Pop+0x62> - 802dc44: 4630 mov r0, r6 - 802dc46: 63a9 str r1, [r5, #56] - 802dc48: f000 f978 bl 802df3c <__gnu_Unwind_Restore_WMMXC> - 802dc4c: 2000 movs r0, #0 - 802dc4e: e7d5 b.n 802dbfc <_Unwind_VRS_Pop+0x30> - 802dc50: 2a00 cmp r2, #0 - 802dc52: d1d2 bne.n 802dbfa <_Unwind_VRS_Pop+0x2e> - 802dc54: 0420 lsls r0, r4, #16 - 802dc56: f8d5 c038 ldr.w ip, [r5, #56] - 802dc5a: 0c00 lsrs r0, r0, #16 - 802dc5c: 4611 mov r1, r2 - 802dc5e: 2401 movs r4, #1 - 802dc60: fa14 f301 lsls.w r3, r4, r1 - 802dc64: 4203 tst r3, r0 - 802dc66: d004 beq.n 802dc72 <_Unwind_VRS_Pop+0xa6> - 802dc68: 008b lsls r3, r1, #2 - 802dc6a: f85c 2b04 ldr.w r2, [ip], #4 - 802dc6e: 442b add r3, r5 - 802dc70: 605a str r2, [r3, #4] - 802dc72: 3101 adds r1, #1 - 802dc74: 2910 cmp r1, #16 - 802dc76: d1f3 bne.n 802dc60 <_Unwind_VRS_Pop+0x94> - 802dc78: f410 5000 ands.w r0, r0, #8192 ; 0x2000 - 802dc7c: bf08 it eq - 802dc7e: f8c5 c038 streq.w ip, [r5, #56] - 802dc82: d0bb beq.n 802dbfc <_Unwind_VRS_Pop+0x30> - 802dc84: 2000 movs r0, #0 - 802dc86: e7b9 b.n 802dbfc <_Unwind_VRS_Pop+0x30> - 802dc88: 2001 movs r0, #1 - 802dc8a: e7b7 b.n 802dbfc <_Unwind_VRS_Pop+0x30> - 802dc8c: 1f50 subs r0, r2, #5 - 802dc8e: bf18 it ne - 802dc90: 2001 movne r0, #1 - 802dc92: 2a01 cmp r2, #1 - 802dc94: bf0c ite eq - 802dc96: 2300 moveq r3, #0 - 802dc98: f000 0301 andne.w r3, r0, #1 ; 0x1 - 802dc9c: 2b00 cmp r3, #0 - 802dc9e: d1ac bne.n 802dbfa <_Unwind_VRS_Pop+0x2e> - 802dca0: 0c26 lsrs r6, r4, #16 - 802dca2: 0424 lsls r4, r4, #16 - 802dca4: 0c24 lsrs r4, r4, #16 - 802dca6: eb04 0106 add.w r1, r4, r6 - 802dcaa: 2a01 cmp r2, #1 - 802dcac: bf0c ite eq - 802dcae: 2310 moveq r3, #16 - 802dcb0: 2320 movne r3, #32 - 802dcb2: 428b cmp r3, r1 - 802dcb4: d3a1 bcc.n 802dbfa <_Unwind_VRS_Pop+0x2e> - 802dcb6: 2a01 cmp r2, #1 - 802dcb8: bf14 ite ne - 802dcba: f04f 0800 movne.w r8, #0 ; 0x0 - 802dcbe: f04f 0801 moveq.w r8, #1 ; 0x1 - 802dcc2: 2e0f cmp r6, #15 - 802dcc4: bf94 ite ls - 802dcc6: 2300 movls r3, #0 - 802dcc8: 2301 movhi r3, #1 - 802dcca: ea18 0f03 tst.w r8, r3 - 802dcce: d194 bne.n 802dbfa <_Unwind_VRS_Pop+0x2e> - 802dcd0: 2b00 cmp r3, #0 - 802dcd2: f040 808d bne.w 802ddf0 <_Unwind_VRS_Pop+0x224> - 802dcd6: 2910 cmp r1, #16 - 802dcd8: bf98 it ls - 802dcda: 461f movls r7, r3 - 802dcdc: d908 bls.n 802dcf0 <_Unwind_VRS_Pop+0x124> - 802dcde: f1a1 0710 sub.w r7, r1, #16 ; 0x10 - 802dce2: 2f00 cmp r7, #0 - 802dce4: bf0c ite eq - 802dce6: 2300 moveq r3, #0 - 802dce8: f000 0301 andne.w r3, r0, #1 ; 0x1 - 802dcec: 2b00 cmp r3, #0 - 802dcee: d184 bne.n 802dbfa <_Unwind_VRS_Pop+0x2e> - 802dcf0: 2e0f cmp r6, #15 - 802dcf2: d810 bhi.n 802dd16 <_Unwind_VRS_Pop+0x14a> - 802dcf4: 682b ldr r3, [r5, #0] - 802dcf6: f013 0f01 tst.w r3, #1 ; 0x1 - 802dcfa: d00c beq.n 802dd16 <_Unwind_VRS_Pop+0x14a> - 802dcfc: f023 0101 bic.w r1, r3, #1 ; 0x1 - 802dd00: 2a05 cmp r2, #5 - 802dd02: 6029 str r1, [r5, #0] - 802dd04: f000 80a9 beq.w 802de5a <_Unwind_VRS_Pop+0x28e> - 802dd08: f023 0303 bic.w r3, r3, #3 ; 0x3 - 802dd0c: 4628 mov r0, r5 - 802dd0e: f840 3b48 str.w r3, [r0], #72 - 802dd12: f000 f8bb bl 802de8c <__gnu_Unwind_Save_VFP> - 802dd16: 2f00 cmp r7, #0 - 802dd18: dd03 ble.n 802dd22 <_Unwind_VRS_Pop+0x156> - 802dd1a: 682b ldr r3, [r5, #0] - 802dd1c: f013 0f04 tst.w r3, #4 ; 0x4 - 802dd20: d177 bne.n 802de12 <_Unwind_VRS_Pop+0x246> - 802dd22: f1b8 0f00 cmp.w r8, #0 ; 0x0 - 802dd26: f040 8094 bne.w 802de52 <_Unwind_VRS_Pop+0x286> - 802dd2a: 2e0f cmp r6, #15 - 802dd2c: d96b bls.n 802de06 <_Unwind_VRS_Pop+0x23a> - 802dd2e: 2f00 cmp r7, #0 - 802dd30: d160 bne.n 802ddf4 <_Unwind_VRS_Pop+0x228> - 802dd32: 4622 mov r2, r4 - 802dd34: 6ba8 ldr r0, [r5, #56] - 802dd36: 2a00 cmp r2, #0 - 802dd38: 4684 mov ip, r0 - 802dd3a: dd0f ble.n 802dd5c <_Unwind_VRS_Pop+0x190> - 802dd3c: 0054 lsls r4, r2, #1 - 802dd3e: 2100 movs r1, #0 - 802dd40: 00f2 lsls r2, r6, #3 - 802dd42: eb0d 0c02 add.w ip, sp, r2 - 802dd46: 460a mov r2, r1 - 802dd48: 5813 ldr r3, [r2, r0] - 802dd4a: 3101 adds r1, #1 - 802dd4c: f84c 3002 str.w r3, [ip, r2] - 802dd50: 3204 adds r2, #4 - 802dd52: 42a1 cmp r1, r4 - 802dd54: d1f8 bne.n 802dd48 <_Unwind_VRS_Pop+0x17c> - 802dd56: 008b lsls r3, r1, #2 - 802dd58: eb00 0c03 add.w ip, r0, r3 - 802dd5c: 2f00 cmp r7, #0 - 802dd5e: dd13 ble.n 802dd88 <_Unwind_VRS_Pop+0x1bc> - 802dd60: 2e10 cmp r6, #16 - 802dd62: bf2c ite cs - 802dd64: 4633 movcs r3, r6 - 802dd66: 2310 movcc r3, #16 - 802dd68: 3b10 subs r3, #16 - 802dd6a: 00db lsls r3, r3, #3 - 802dd6c: aa42 add r2, sp, #264 - 802dd6e: 2000 movs r0, #0 - 802dd70: 007c lsls r4, r7, #1 - 802dd72: 18d2 adds r2, r2, r3 - 802dd74: 4601 mov r1, r0 - 802dd76: f85c 3001 ldr.w r3, [ip, r1] - 802dd7a: 3001 adds r0, #1 - 802dd7c: 5053 str r3, [r2, r1] - 802dd7e: 3104 adds r1, #4 - 802dd80: 42a0 cmp r0, r4 - 802dd82: d1f8 bne.n 802dd76 <_Unwind_VRS_Pop+0x1aa> - 802dd84: 0083 lsls r3, r0, #2 - 802dd86: 449c add ip, r3 - 802dd88: f1b8 0f00 cmp.w r8, #0 ; 0x0 - 802dd8c: d159 bne.n 802de42 <_Unwind_VRS_Pop+0x276> - 802dd8e: 2e0f cmp r6, #15 - 802dd90: f8c5 c038 str.w ip, [r5, #56] - 802dd94: d802 bhi.n 802dd9c <_Unwind_VRS_Pop+0x1d0> - 802dd96: 4668 mov r0, sp - 802dd98: f000 f87c bl 802de94 <__gnu_Unwind_Restore_VFP_D> - 802dd9c: 2f00 cmp r7, #0 - 802dd9e: f77f af71 ble.w 802dc84 <_Unwind_VRS_Pop+0xb8> - 802dda2: a842 add r0, sp, #264 - 802dda4: f000 f87e bl 802dea4 <__gnu_Unwind_Restore_VFP_D_16_to_31> - 802dda8: 2000 movs r0, #0 - 802ddaa: e727 b.n 802dbfc <_Unwind_VRS_Pop+0x30> - 802ddac: 6803 ldr r3, [r0, #0] - 802ddae: f013 0f08 tst.w r3, #8 ; 0x8 - 802ddb2: d13e bne.n 802de32 <_Unwind_VRS_Pop+0x266> - 802ddb4: af22 add r7, sp, #136 - 802ddb6: 4638 mov r0, r7 - 802ddb8: f000 f89e bl 802def8 <__gnu_Unwind_Save_WMMXD> - 802ddbc: 6ba8 ldr r0, [r5, #56] - 802ddbe: ea4f 0e44 mov.w lr, r4, lsl #1 - 802ddc2: 4603 mov r3, r0 - 802ddc4: b174 cbz r4, 802dde4 <_Unwind_VRS_Pop+0x218> - 802ddc6: 00f3 lsls r3, r6, #3 - 802ddc8: eb07 0c03 add.w ip, r7, r3 - 802ddcc: 4671 mov r1, lr - 802ddce: 2200 movs r2, #0 - 802ddd0: 5813 ldr r3, [r2, r0] - 802ddd2: f84c 3002 str.w r3, [ip, r2] - 802ddd6: 3204 adds r2, #4 - 802ddd8: f111 31ff adds.w r1, r1, #4294967295 ; 0xffffffff - 802dddc: d1f8 bne.n 802ddd0 <_Unwind_VRS_Pop+0x204> - 802ddde: ea4f 038e mov.w r3, lr, lsl #2 - 802dde2: 4403 add r3, r0 - 802dde4: 4638 mov r0, r7 - 802dde6: 63ab str r3, [r5, #56] - 802dde8: f000 f864 bl 802deb4 <__gnu_Unwind_Restore_WMMXD> - 802ddec: 2000 movs r0, #0 - 802ddee: e705 b.n 802dbfc <_Unwind_VRS_Pop+0x30> - 802ddf0: 4627 mov r7, r4 - 802ddf2: e776 b.n 802dce2 <_Unwind_VRS_Pop+0x116> - 802ddf4: a842 add r0, sp, #264 - 802ddf6: f000 f859 bl 802deac <__gnu_Unwind_Save_VFP_D_16_to_31> - 802ddfa: 2f00 cmp r7, #0 - 802ddfc: bfc8 it gt - 802ddfe: f1c6 0210 rsbgt r2, r6, #16 ; 0x10 - 802de02: dc97 bgt.n 802dd34 <_Unwind_VRS_Pop+0x168> - 802de04: e795 b.n 802dd32 <_Unwind_VRS_Pop+0x166> - 802de06: 4668 mov r0, sp - 802de08: f000 f848 bl 802de9c <__gnu_Unwind_Save_VFP_D> - 802de0c: 2f00 cmp r7, #0 - 802de0e: d090 beq.n 802dd32 <_Unwind_VRS_Pop+0x166> - 802de10: e7f0 b.n 802ddf4 <_Unwind_VRS_Pop+0x228> - 802de12: f023 0304 bic.w r3, r3, #4 ; 0x4 - 802de16: 4628 mov r0, r5 - 802de18: f840 3bd0 str.w r3, [r0], #208 - 802de1c: f000 f846 bl 802deac <__gnu_Unwind_Save_VFP_D_16_to_31> - 802de20: e77f b.n 802dd22 <_Unwind_VRS_Pop+0x156> - 802de22: f023 0310 bic.w r3, r3, #16 ; 0x10 - 802de26: 6003 str r3, [r0, #0] - 802de28: f500 700c add.w r0, r0, #560 ; 0x230 - 802de2c: f000 f890 bl 802df50 <__gnu_Unwind_Save_WMMXC> - 802de30: e6f6 b.n 802dc20 <_Unwind_VRS_Pop+0x54> - 802de32: f023 0308 bic.w r3, r3, #8 ; 0x8 - 802de36: 6003 str r3, [r0, #0] - 802de38: f500 70d8 add.w r0, r0, #432 ; 0x1b0 - 802de3c: f000 f85c bl 802def8 <__gnu_Unwind_Save_WMMXD> - 802de40: e7b8 b.n 802ddb4 <_Unwind_VRS_Pop+0x1e8> - 802de42: f10c 0304 add.w r3, ip, #4 ; 0x4 - 802de46: 4668 mov r0, sp - 802de48: 63ab str r3, [r5, #56] - 802de4a: f000 f81b bl 802de84 <__gnu_Unwind_Restore_VFP> - 802de4e: 2000 movs r0, #0 - 802de50: e6d4 b.n 802dbfc <_Unwind_VRS_Pop+0x30> - 802de52: 4668 mov r0, sp - 802de54: f000 f81a bl 802de8c <__gnu_Unwind_Save_VFP> - 802de58: e7cf b.n 802ddfa <_Unwind_VRS_Pop+0x22e> - 802de5a: f041 0302 orr.w r3, r1, #2 ; 0x2 - 802de5e: 4628 mov r0, r5 - 802de60: f840 3b48 str.w r3, [r0], #72 - 802de64: f000 f81a bl 802de9c <__gnu_Unwind_Save_VFP_D> - 802de68: e755 b.n 802dd16 <_Unwind_VRS_Pop+0x14a> - 802de6a: 46c0 nop (mov r8, r8) - -0802de6c <__restore_core_regs>: - 802de6c: f100 0134 add.w r1, r0, #52 ; 0x34 - 802de70: e891 0038 ldmia.w r1, {r3, r4, r5} - 802de74: 469c mov ip, r3 - 802de76: 46a6 mov lr, r4 - 802de78: f84c 5d04 str.w r5, [ip, #-4]! - 802de7c: e890 0fff ldmia.w r0, {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp} - 802de80: 46e5 mov sp, ip - 802de82: bd00 pop {pc} - -0802de84 <__gnu_Unwind_Restore_VFP>: - 802de84: ec90 0b21 fldmiax r0, {d0-d15} - 802de88: 4770 bx lr - 802de8a: 46c0 nop (mov r8, r8) - -0802de8c <__gnu_Unwind_Save_VFP>: - 802de8c: ec80 0b21 fstmiax r0, {d0-d15} - 802de90: 4770 bx lr - 802de92: 46c0 nop (mov r8, r8) - -0802de94 <__gnu_Unwind_Restore_VFP_D>: - 802de94: ec90 0b20 vldmia r0, {d0-d15} - 802de98: 4770 bx lr - 802de9a: 46c0 nop (mov r8, r8) - -0802de9c <__gnu_Unwind_Save_VFP_D>: - 802de9c: ec80 0b20 vstmia r0, {d0-d15} - 802dea0: 4770 bx lr - 802dea2: 46c0 nop (mov r8, r8) - -0802dea4 <__gnu_Unwind_Restore_VFP_D_16_to_31>: - 802dea4: ecd0 0b20 vldmia r0, {d16-d31} - 802dea8: 4770 bx lr - 802deaa: 46c0 nop (mov r8, r8) - -0802deac <__gnu_Unwind_Save_VFP_D_16_to_31>: - 802deac: ecc0 0b20 vstmia r0, {d16-d31} - 802deb0: 4770 bx lr - 802deb2: 46c0 nop (mov r8, r8) - -0802deb4 <__gnu_Unwind_Restore_WMMXD>: - 802deb4: ecf0 0102 ldfe f0, [r0], #8 - 802deb8: ecf0 1102 ldfe f1, [r0], #8 - 802debc: ecf0 2102 ldfe f2, [r0], #8 - 802dec0: ecf0 3102 ldfe f3, [r0], #8 - 802dec4: ecf0 4102 ldfe f4, [r0], #8 - 802dec8: ecf0 5102 ldfe f5, [r0], #8 - 802decc: ecf0 6102 ldfe f6, [r0], #8 - 802ded0: ecf0 7102 ldfe f7, [r0], #8 - 802ded4: ecf0 8102 ldfp f0, [r0], #8 - 802ded8: ecf0 9102 ldfp f1, [r0], #8 - 802dedc: ecf0 a102 ldfp f2, [r0], #8 - 802dee0: ecf0 b102 ldfp f3, [r0], #8 - 802dee4: ecf0 c102 ldfp f4, [r0], #8 - 802dee8: ecf0 d102 ldfp f5, [r0], #8 - 802deec: ecf0 e102 ldfp f6, [r0], #8 - 802def0: ecf0 f102 ldfp f7, [r0], #8 - 802def4: 4770 bx lr - 802def6: 46c0 nop (mov r8, r8) - -0802def8 <__gnu_Unwind_Save_WMMXD>: - 802def8: ece0 0102 stfe f0, [r0], #8 - 802defc: ece0 1102 stfe f1, [r0], #8 - 802df00: ece0 2102 stfe f2, [r0], #8 - 802df04: ece0 3102 stfe f3, [r0], #8 - 802df08: ece0 4102 stfe f4, [r0], #8 - 802df0c: ece0 5102 stfe f5, [r0], #8 - 802df10: ece0 6102 stfe f6, [r0], #8 - 802df14: ece0 7102 stfe f7, [r0], #8 - 802df18: ece0 8102 stfp f0, [r0], #8 - 802df1c: ece0 9102 stfp f1, [r0], #8 - 802df20: ece0 a102 stfp f2, [r0], #8 - 802df24: ece0 b102 stfp f3, [r0], #8 - 802df28: ece0 c102 stfp f4, [r0], #8 - 802df2c: ece0 d102 stfp f5, [r0], #8 - 802df30: ece0 e102 stfp f6, [r0], #8 - 802df34: ece0 f102 stfp f7, [r0], #8 - 802df38: 4770 bx lr - 802df3a: 46c0 nop (mov r8, r8) - -0802df3c <__gnu_Unwind_Restore_WMMXC>: - 802df3c: fcb0 8101 ldc2 1, cr8, [r0], #4 - 802df40: fcb0 9101 ldc2 1, cr9, [r0], #4 - 802df44: fcb0 a101 ldc2 1, cr10, [r0], #4 - 802df48: fcb0 b101 ldc2 1, cr11, [r0], #4 - 802df4c: 4770 bx lr - 802df4e: 46c0 nop (mov r8, r8) - -0802df50 <__gnu_Unwind_Save_WMMXC>: - 802df50: fca0 8101 stc2 1, cr8, [r0], #4 - 802df54: fca0 9101 stc2 1, cr9, [r0], #4 - 802df58: fca0 a101 stc2 1, cr10, [r0], #4 - 802df5c: fca0 b101 stc2 1, cr11, [r0], #4 - 802df60: 4770 bx lr - 802df62: 46c0 nop (mov r8, r8) - -0802df64 <_Unwind_RaiseException>: - 802df64: 46ec mov ip, sp - 802df66: b500 push {lr} - 802df68: e92d 5000 stmdb sp!, {ip, lr} - 802df6c: e92d 1fff stmdb sp!, {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip} - 802df70: f04f 0300 mov.w r3, #0 ; 0x0 - 802df74: e92d 000c stmdb sp!, {r2, r3} - 802df78: a901 add r1, sp, #4 - 802df7a: f7ff fdc1 bl 802db00 <__gnu_Unwind_RaiseException> - 802df7e: f8dd e040 ldr.w lr, [sp, #64] - 802df82: b012 add sp, #72 - 802df84: 4770 bx lr - 802df86: 46c0 nop (mov r8, r8) - -0802df88 <_Unwind_Resume>: - 802df88: 46ec mov ip, sp - 802df8a: b500 push {lr} - 802df8c: e92d 5000 stmdb sp!, {ip, lr} - 802df90: e92d 1fff stmdb sp!, {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip} - 802df94: f04f 0300 mov.w r3, #0 ; 0x0 - 802df98: e92d 000c stmdb sp!, {r2, r3} - 802df9c: a901 add r1, sp, #4 - 802df9e: f7ff fdf5 bl 802db8c <__gnu_Unwind_Resume> - 802dfa2: f8dd e040 ldr.w lr, [sp, #64] - 802dfa6: b012 add sp, #72 - 802dfa8: 4770 bx lr - 802dfaa: 46c0 nop (mov r8, r8) - -0802dfac <_Unwind_Resume_or_Rethrow>: - 802dfac: 46ec mov ip, sp - 802dfae: b500 push {lr} - 802dfb0: e92d 5000 stmdb sp!, {ip, lr} - 802dfb4: e92d 1fff stmdb sp!, {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip} - 802dfb8: f04f 0300 mov.w r3, #0 ; 0x0 - 802dfbc: e92d 000c stmdb sp!, {r2, r3} - 802dfc0: a901 add r1, sp, #4 - 802dfc2: f7ff fdd5 bl 802db70 <__gnu_Unwind_Resume_or_Rethrow> - 802dfc6: f8dd e040 ldr.w lr, [sp, #64] - 802dfca: b012 add sp, #72 - 802dfcc: 4770 bx lr - 802dfce: 46c0 nop (mov r8, r8) - -0802dfd0 <_Unwind_ForcedUnwind>: - 802dfd0: 46ec mov ip, sp - 802dfd2: b500 push {lr} - 802dfd4: e92d 5000 stmdb sp!, {ip, lr} - 802dfd8: e92d 1fff stmdb sp!, {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip} - 802dfdc: f04f 0300 mov.w r3, #0 ; 0x0 - 802dfe0: e92d 000c stmdb sp!, {r2, r3} - 802dfe4: ab01 add r3, sp, #4 - 802dfe6: f7ff fd67 bl 802dab8 <__gnu_Unwind_ForcedUnwind> - 802dfea: f8dd e040 ldr.w lr, [sp, #64] - 802dfee: b012 add sp, #72 - 802dff0: 4770 bx lr - 802dff2: 46c0 nop (mov r8, r8) - -0802dff4 <_Unwind_Backtrace>: - 802dff4: 46ec mov ip, sp - 802dff6: b500 push {lr} - 802dff8: e92d 5000 stmdb sp!, {ip, lr} - 802dffc: e92d 1fff stmdb sp!, {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip} - 802e000: f04f 0300 mov.w r3, #0 ; 0x0 - 802e004: e92d 000c stmdb sp!, {r2, r3} - 802e008: aa01 add r2, sp, #4 - 802e00a: f7ff fc99 bl 802d940 <__gnu_Unwind_Backtrace> - 802e00e: f8dd e040 ldr.w lr, [sp, #64] - 802e012: b012 add sp, #72 - 802e014: 4770 bx lr - 802e016: 46c0 nop (mov r8, r8) - -0802e018 : - 802e018: 7a03 ldrb r3, [r0, #8] - 802e01a: b993 cbnz r3, 802e042 - 802e01c: 7a42 ldrb r2, [r0, #9] - 802e01e: b172 cbz r2, 802e03e - 802e020: 3a01 subs r2, #1 - 802e022: 6843 ldr r3, [r0, #4] - 802e024: 7242 strb r2, [r0, #9] - 802e026: f853 2b04 ldr.w r2, [r3], #4 - 802e02a: 6002 str r2, [r0, #0] - 802e02c: 2203 movs r2, #3 - 802e02e: 6043 str r3, [r0, #4] - 802e030: 7202 strb r2, [r0, #8] - 802e032: 6803 ldr r3, [r0, #0] - 802e034: 0e1a lsrs r2, r3, #24 - 802e036: 021b lsls r3, r3, #8 - 802e038: 6003 str r3, [r0, #0] - 802e03a: 4610 mov r0, r2 - 802e03c: 4770 bx lr - 802e03e: 32b0 adds r2, #176 - 802e040: e7fb b.n 802e03a - 802e042: 3b01 subs r3, #1 - 802e044: 7203 strb r3, [r0, #8] - 802e046: e7f4 b.n 802e032 - -0802e048 <_Unwind_GetTextRelBase>: - 802e048: b500 push {lr} - 802e04a: b081 sub sp, #4 - 802e04c: f004 f852 bl 80320f4 - -0802e050 <_Unwind_GetDataRelBase>: - 802e050: b500 push {lr} - 802e052: b081 sub sp, #4 - 802e054: f004 f84e bl 80320f4 - -0802e058 <_Unwind_GetGR>: - 802e058: b500 push {lr} - 802e05a: b085 sub sp, #20 - 802e05c: 460a mov r2, r1 - 802e05e: ab03 add r3, sp, #12 - 802e060: 2100 movs r1, #0 - 802e062: 9300 str r3, [sp, #0] - 802e064: 460b mov r3, r1 - 802e066: f7ff f9b7 bl 802d3d8 <_Unwind_VRS_Get> - 802e06a: 9803 ldr r0, [sp, #12] - 802e06c: b005 add sp, #20 - 802e06e: bd00 pop {pc} - -0802e070 : - 802e070: b500 push {lr} - 802e072: 210c movs r1, #12 - 802e074: b081 sub sp, #4 - 802e076: f7ff ffef bl 802e058 <_Unwind_GetGR> - 802e07a: b001 add sp, #4 - 802e07c: bd00 pop {pc} - 802e07e: 46c0 nop (mov r8, r8) - -0802e080 <_Unwind_GetLanguageSpecificData>: - 802e080: b500 push {lr} - 802e082: b081 sub sp, #4 - 802e084: f7ff fff4 bl 802e070 - 802e088: 6cc2 ldr r2, [r0, #76] - 802e08a: 79d3 ldrb r3, [r2, #7] - 802e08c: 1d10 adds r0, r2, #4 - 802e08e: 3301 adds r3, #1 - 802e090: 009b lsls r3, r3, #2 - 802e092: 18c0 adds r0, r0, r3 - 802e094: b001 add sp, #4 - 802e096: bd00 pop {pc} - -0802e098 <_Unwind_GetRegionStart>: - 802e098: b500 push {lr} - 802e09a: b081 sub sp, #4 - 802e09c: f7ff ffe8 bl 802e070 - 802e0a0: 6c80 ldr r0, [r0, #72] - 802e0a2: b001 add sp, #4 - 802e0a4: bd00 pop {pc} - 802e0a6: 46c0 nop (mov r8, r8) - -0802e0a8 <__gnu_unwind_execute>: - 802e0a8: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} - 802e0ac: b084 sub sp, #16 - 802e0ae: 4606 mov r6, r0 - 802e0b0: 460f mov r7, r1 - 802e0b2: f04f 0800 mov.w r8, #0 ; 0x0 - 802e0b6: f10d 0a0c add.w sl, sp, #12 ; 0xc - 802e0ba: f44f 697f mov.w r9, #4080 ; 0xff0 - 802e0be: 4638 mov r0, r7 - 802e0c0: f7ff ffaa bl 802e018 - 802e0c4: 28b0 cmp r0, #176 - 802e0c6: 4604 mov r4, r0 - 802e0c8: d02a beq.n 802e120 <__gnu_unwind_execute+0x78> - 802e0ca: f010 0180 ands.w r1, r0, #128 ; 0x80 - 802e0ce: d02f beq.n 802e130 <__gnu_unwind_execute+0x88> - 802e0d0: f000 03f0 and.w r3, r0, #240 ; 0xf0 - 802e0d4: 2b80 cmp r3, #128 - 802e0d6: d05d beq.n 802e194 <__gnu_unwind_execute+0xec> - 802e0d8: 2b90 cmp r3, #144 - 802e0da: d143 bne.n 802e164 <__gnu_unwind_execute+0xbc> - 802e0dc: f000 020f and.w r2, r0, #15 ; 0xf - 802e0e0: 2a0f cmp r2, #15 - 802e0e2: bf14 ite ne - 802e0e4: 2300 movne r3, #0 - 802e0e6: 2301 moveq r3, #1 - 802e0e8: 2a0d cmp r2, #13 - 802e0ea: bf14 ite ne - 802e0ec: 461c movne r4, r3 - 802e0ee: f043 0401 orreq.w r4, r3, #1 ; 0x1 - 802e0f2: 2c00 cmp r4, #0 - 802e0f4: d14c bne.n 802e190 <__gnu_unwind_execute+0xe8> - 802e0f6: 4621 mov r1, r4 - 802e0f8: 4623 mov r3, r4 - 802e0fa: 4630 mov r0, r6 - 802e0fc: f8cd a000 str.w sl, [sp] - 802e100: f7ff f96a bl 802d3d8 <_Unwind_VRS_Get> - 802e104: 4621 mov r1, r4 - 802e106: 220d movs r2, #13 - 802e108: 4623 mov r3, r4 - 802e10a: 4630 mov r0, r6 - 802e10c: f8cd a000 str.w sl, [sp] - 802e110: f7ff f98a bl 802d428 <_Unwind_VRS_Set> - 802e114: 4638 mov r0, r7 - 802e116: f7ff ff7f bl 802e018 - 802e11a: 28b0 cmp r0, #176 - 802e11c: 4604 mov r4, r0 - 802e11e: d1d4 bne.n 802e0ca <__gnu_unwind_execute+0x22> - 802e120: f1b8 0f00 cmp.w r8, #0 ; 0x0 - 802e124: f000 80c3 beq.w 802e2ae <__gnu_unwind_execute+0x206> - 802e128: 2000 movs r0, #0 - 802e12a: b004 add sp, #16 - 802e12c: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} - 802e130: 0083 lsls r3, r0, #2 - 802e132: f003 03ff and.w r3, r3, #255 ; 0xff - 802e136: 1d1d adds r5, r3, #4 - 802e138: 220d movs r2, #13 - 802e13a: 4630 mov r0, r6 - 802e13c: 460b mov r3, r1 - 802e13e: f8cd a000 str.w sl, [sp] - 802e142: f7ff f949 bl 802d3d8 <_Unwind_VRS_Get> - 802e146: f014 0f40 tst.w r4, #64 ; 0x40 - 802e14a: d03b beq.n 802e1c4 <__gnu_unwind_execute+0x11c> - 802e14c: 9b03 ldr r3, [sp, #12] - 802e14e: 1b5b subs r3, r3, r5 - 802e150: 9303 str r3, [sp, #12] - 802e152: 2100 movs r1, #0 - 802e154: 4630 mov r0, r6 - 802e156: 220d movs r2, #13 - 802e158: 460b mov r3, r1 - 802e15a: f8cd a000 str.w sl, [sp] - 802e15e: f7ff f963 bl 802d428 <_Unwind_VRS_Set> - 802e162: e7ac b.n 802e0be <__gnu_unwind_execute+0x16> - 802e164: 2ba0 cmp r3, #160 - 802e166: d131 bne.n 802e1cc <__gnu_unwind_execute+0x124> - 802e168: ea6f 0300 mvn.w r3, r0 - 802e16c: f003 0307 and.w r3, r3, #7 ; 0x7 - 802e170: fa49 f303 asr.w r3, r9, r3 - 802e174: f010 0f08 tst.w r0, #8 ; 0x8 - 802e178: f403 627f and.w r2, r3, #4080 ; 0xff0 - 802e17c: bf18 it ne - 802e17e: f442 4280 orrne.w r2, r2, #16384 ; 0x4000 - 802e182: 2100 movs r1, #0 - 802e184: 4630 mov r0, r6 - 802e186: 460b mov r3, r1 - 802e188: f7ff fd20 bl 802dbcc <_Unwind_VRS_Pop> - 802e18c: 2800 cmp r0, #0 - 802e18e: d096 beq.n 802e0be <__gnu_unwind_execute+0x16> - 802e190: 2009 movs r0, #9 - 802e192: e7ca b.n 802e12a <__gnu_unwind_execute+0x82> - 802e194: 0204 lsls r4, r0, #8 - 802e196: 4638 mov r0, r7 - 802e198: f7ff ff3e bl 802e018 - 802e19c: 4320 orrs r0, r4 - 802e19e: f5b0 4f00 cmp.w r0, #32768 ; 0x8000 - 802e1a2: d0f5 beq.n 802e190 <__gnu_unwind_execute+0xe8> - 802e1a4: 0104 lsls r4, r0, #4 - 802e1a6: 0422 lsls r2, r4, #16 - 802e1a8: 2100 movs r1, #0 - 802e1aa: 0c12 lsrs r2, r2, #16 - 802e1ac: 4630 mov r0, r6 - 802e1ae: 460b mov r3, r1 - 802e1b0: f7ff fd0c bl 802dbcc <_Unwind_VRS_Pop> - 802e1b4: 2800 cmp r0, #0 - 802e1b6: d1eb bne.n 802e190 <__gnu_unwind_execute+0xe8> - 802e1b8: f414 4f00 tst.w r4, #32768 ; 0x8000 - 802e1bc: bf18 it ne - 802e1be: f04f 0801 movne.w r8, #1 ; 0x1 - 802e1c2: e77c b.n 802e0be <__gnu_unwind_execute+0x16> - 802e1c4: 9b03 ldr r3, [sp, #12] - 802e1c6: 195b adds r3, r3, r5 - 802e1c8: 9303 str r3, [sp, #12] - 802e1ca: e7c2 b.n 802e152 <__gnu_unwind_execute+0xaa> - 802e1cc: 2bb0 cmp r3, #176 - 802e1ce: d014 beq.n 802e1fa <__gnu_unwind_execute+0x152> - 802e1d0: 2bc0 cmp r3, #192 - 802e1d2: d02c beq.n 802e22e <__gnu_unwind_execute+0x186> - 802e1d4: f000 03f8 and.w r3, r0, #248 ; 0xf8 - 802e1d8: 2bd0 cmp r3, #208 - 802e1da: d1d9 bne.n 802e190 <__gnu_unwind_execute+0xe8> - 802e1dc: f000 0207 and.w r2, r0, #7 ; 0x7 - 802e1e0: 3201 adds r2, #1 - 802e1e2: f442 2200 orr.w r2, r2, #524288 ; 0x80000 - 802e1e6: 4630 mov r0, r6 - 802e1e8: 2101 movs r1, #1 - 802e1ea: 3bcb subs r3, #203 - 802e1ec: f7ff fcee bl 802dbcc <_Unwind_VRS_Pop> - 802e1f0: 2800 cmp r0, #0 - 802e1f2: f43f af64 beq.w 802e0be <__gnu_unwind_execute+0x16> - 802e1f6: 2009 movs r0, #9 - 802e1f8: e797 b.n 802e12a <__gnu_unwind_execute+0x82> - 802e1fa: 28b1 cmp r0, #177 - 802e1fc: d03a beq.n 802e274 <__gnu_unwind_execute+0x1cc> - 802e1fe: 28b2 cmp r0, #178 - 802e200: f000 808f beq.w 802e322 <__gnu_unwind_execute+0x27a> - 802e204: 28b3 cmp r0, #179 - 802e206: d047 beq.n 802e298 <__gnu_unwind_execute+0x1f0> - 802e208: f000 03fc and.w r3, r0, #252 ; 0xfc - 802e20c: 2bb4 cmp r3, #180 - 802e20e: d06e beq.n 802e2ee <__gnu_unwind_execute+0x246> - 802e210: f000 0207 and.w r2, r0, #7 ; 0x7 - 802e214: 3201 adds r2, #1 - 802e216: f442 2200 orr.w r2, r2, #524288 ; 0x80000 - 802e21a: 2101 movs r1, #1 - 802e21c: 4630 mov r0, r6 - 802e21e: 460b mov r3, r1 - 802e220: f7ff fcd4 bl 802dbcc <_Unwind_VRS_Pop> - 802e224: 2800 cmp r0, #0 - 802e226: f43f af4a beq.w 802e0be <__gnu_unwind_execute+0x16> - 802e22a: 2009 movs r0, #9 - 802e22c: e77d b.n 802e12a <__gnu_unwind_execute+0x82> - 802e22e: 28c6 cmp r0, #198 - 802e230: d06c beq.n 802e30c <__gnu_unwind_execute+0x264> - 802e232: 28c7 cmp r0, #199 - 802e234: f000 809a beq.w 802e36c <__gnu_unwind_execute+0x2c4> - 802e238: f000 03f8 and.w r3, r0, #248 ; 0xf8 - 802e23c: 2bc0 cmp r3, #192 - 802e23e: d047 beq.n 802e2d0 <__gnu_unwind_execute+0x228> - 802e240: 28c8 cmp r0, #200 - 802e242: f000 80a7 beq.w 802e394 <__gnu_unwind_execute+0x2ec> - 802e246: 28c9 cmp r0, #201 - 802e248: d1a2 bne.n 802e190 <__gnu_unwind_execute+0xe8> - 802e24a: 4638 mov r0, r7 - 802e24c: f7ff fee4 bl 802e018 - 802e250: 4602 mov r2, r0 - 802e252: f000 03f0 and.w r3, r0, #240 ; 0xf0 - 802e256: f002 020f and.w r2, r2, #15 ; 0xf - 802e25a: 3201 adds r2, #1 - 802e25c: ea42 3203 orr.w r2, r2, r3, lsl #12 - 802e260: 4630 mov r0, r6 - 802e262: 2101 movs r1, #1 - 802e264: 2305 movs r3, #5 - 802e266: f7ff fcb1 bl 802dbcc <_Unwind_VRS_Pop> - 802e26a: 2800 cmp r0, #0 - 802e26c: f43f af27 beq.w 802e0be <__gnu_unwind_execute+0x16> - 802e270: 2009 movs r0, #9 - 802e272: e75a b.n 802e12a <__gnu_unwind_execute+0x82> - 802e274: 4638 mov r0, r7 - 802e276: f7ff fecf bl 802e018 - 802e27a: 4602 mov r2, r0 - 802e27c: 2800 cmp r0, #0 - 802e27e: d087 beq.n 802e190 <__gnu_unwind_execute+0xe8> - 802e280: f010 01f0 ands.w r1, r0, #240 ; 0xf0 - 802e284: d184 bne.n 802e190 <__gnu_unwind_execute+0xe8> - 802e286: 4630 mov r0, r6 - 802e288: 460b mov r3, r1 - 802e28a: f7ff fc9f bl 802dbcc <_Unwind_VRS_Pop> - 802e28e: 2800 cmp r0, #0 - 802e290: f43f af15 beq.w 802e0be <__gnu_unwind_execute+0x16> - 802e294: 2009 movs r0, #9 - 802e296: e748 b.n 802e12a <__gnu_unwind_execute+0x82> - 802e298: 4638 mov r0, r7 - 802e29a: f7ff febd bl 802e018 - 802e29e: f000 020f and.w r2, r0, #15 ; 0xf - 802e2a2: f000 03f0 and.w r3, r0, #240 ; 0xf0 - 802e2a6: 3201 adds r2, #1 - 802e2a8: ea42 3203 orr.w r2, r2, r3, lsl #12 - 802e2ac: e7b5 b.n 802e21a <__gnu_unwind_execute+0x172> - 802e2ae: ac03 add r4, sp, #12 - 802e2b0: 4641 mov r1, r8 - 802e2b2: 220e movs r2, #14 - 802e2b4: 4643 mov r3, r8 - 802e2b6: 4630 mov r0, r6 - 802e2b8: 9400 str r4, [sp, #0] - 802e2ba: f7ff f88d bl 802d3d8 <_Unwind_VRS_Get> - 802e2be: 4630 mov r0, r6 - 802e2c0: 4641 mov r1, r8 - 802e2c2: 220f movs r2, #15 - 802e2c4: 4643 mov r3, r8 - 802e2c6: 9400 str r4, [sp, #0] - 802e2c8: f7ff f8ae bl 802d428 <_Unwind_VRS_Set> - 802e2cc: 4640 mov r0, r8 - 802e2ce: e72c b.n 802e12a <__gnu_unwind_execute+0x82> - 802e2d0: f000 020f and.w r2, r0, #15 ; 0xf - 802e2d4: 3201 adds r2, #1 - 802e2d6: f442 2220 orr.w r2, r2, #655360 ; 0xa0000 - 802e2da: 2103 movs r1, #3 - 802e2dc: 4630 mov r0, r6 - 802e2de: 460b mov r3, r1 - 802e2e0: f7ff fc74 bl 802dbcc <_Unwind_VRS_Pop> - 802e2e4: 2800 cmp r0, #0 - 802e2e6: f43f aeea beq.w 802e0be <__gnu_unwind_execute+0x16> - 802e2ea: 2009 movs r0, #9 - 802e2ec: e71d b.n 802e12a <__gnu_unwind_execute+0x82> - 802e2ee: f000 0203 and.w r2, r0, #3 ; 0x3 - 802e2f2: 3201 adds r2, #1 - 802e2f4: 2102 movs r1, #2 - 802e2f6: f442 2280 orr.w r2, r2, #262144 ; 0x40000 - 802e2fa: 4630 mov r0, r6 - 802e2fc: 460b mov r3, r1 - 802e2fe: f7ff fc65 bl 802dbcc <_Unwind_VRS_Pop> - 802e302: 2800 cmp r0, #0 - 802e304: f43f aedb beq.w 802e0be <__gnu_unwind_execute+0x16> - 802e308: 2009 movs r0, #9 - 802e30a: e70e b.n 802e12a <__gnu_unwind_execute+0x82> - 802e30c: 4638 mov r0, r7 - 802e30e: f7ff fe83 bl 802e018 - 802e312: f000 020f and.w r2, r0, #15 ; 0xf - 802e316: f000 03f0 and.w r3, r0, #240 ; 0xf0 - 802e31a: 3201 adds r2, #1 - 802e31c: ea42 3203 orr.w r2, r2, r3, lsl #12 - 802e320: e7db b.n 802e2da <__gnu_unwind_execute+0x232> - 802e322: 2100 movs r1, #0 - 802e324: 220d movs r2, #13 - 802e326: 460b mov r3, r1 - 802e328: 4630 mov r0, r6 - 802e32a: f8cd a000 str.w sl, [sp] - 802e32e: f7ff f853 bl 802d3d8 <_Unwind_VRS_Get> - 802e332: 4638 mov r0, r7 - 802e334: f7ff fe70 bl 802e018 - 802e338: f010 0f80 tst.w r0, #128 ; 0x80 - 802e33c: d032 beq.n 802e3a4 <__gnu_unwind_execute+0x2fc> - 802e33e: 2402 movs r4, #2 - 802e340: f000 027f and.w r2, r0, #127 ; 0x7f - 802e344: 40a2 lsls r2, r4 - 802e346: 9b03 ldr r3, [sp, #12] - 802e348: 4638 mov r0, r7 - 802e34a: 189b adds r3, r3, r2 - 802e34c: 9303 str r3, [sp, #12] - 802e34e: f7ff fe63 bl 802e018 - 802e352: 3407 adds r4, #7 - 802e354: f010 0f80 tst.w r0, #128 ; 0x80 - 802e358: d1f2 bne.n 802e340 <__gnu_unwind_execute+0x298> - 802e35a: f000 037f and.w r3, r0, #127 ; 0x7f - 802e35e: 40a3 lsls r3, r4 - 802e360: 9a03 ldr r2, [sp, #12] - 802e362: f502 7201 add.w r2, r2, #516 ; 0x204 - 802e366: 18d2 adds r2, r2, r3 - 802e368: 9203 str r2, [sp, #12] - 802e36a: e6f2 b.n 802e152 <__gnu_unwind_execute+0xaa> - 802e36c: 4638 mov r0, r7 - 802e36e: f7ff fe53 bl 802e018 - 802e372: 4602 mov r2, r0 - 802e374: 2800 cmp r0, #0 - 802e376: f43f af0b beq.w 802e190 <__gnu_unwind_execute+0xe8> - 802e37a: f010 03f0 ands.w r3, r0, #240 ; 0xf0 - 802e37e: f47f af07 bne.w 802e190 <__gnu_unwind_execute+0xe8> - 802e382: 4630 mov r0, r6 - 802e384: 2104 movs r1, #4 - 802e386: f7ff fc21 bl 802dbcc <_Unwind_VRS_Pop> - 802e38a: 2800 cmp r0, #0 - 802e38c: f43f ae97 beq.w 802e0be <__gnu_unwind_execute+0x16> - 802e390: 2009 movs r0, #9 - 802e392: e6ca b.n 802e12a <__gnu_unwind_execute+0x82> - 802e394: 4638 mov r0, r7 - 802e396: f7ff fe3f bl 802e018 - 802e39a: f000 03f0 and.w r3, r0, #240 ; 0xf0 - 802e39e: 4602 mov r2, r0 - 802e3a0: 3310 adds r3, #16 - 802e3a2: e758 b.n 802e256 <__gnu_unwind_execute+0x1ae> - 802e3a4: 3cb0 subs r4, #176 - 802e3a6: e7d8 b.n 802e35a <__gnu_unwind_execute+0x2b2> - -0802e3a8 <__gnu_unwind_frame>: - 802e3a8: b500 push {lr} - 802e3aa: f8d0 c04c ldr.w ip, [r0, #76] - 802e3ae: b085 sub sp, #20 - 802e3b0: f8dc 3004 ldr.w r3, [ip, #4] - 802e3b4: f10c 0208 add.w r2, ip, #8 ; 0x8 - 802e3b8: 021b lsls r3, r3, #8 - 802e3ba: 9301 str r3, [sp, #4] - 802e3bc: 2303 movs r3, #3 - 802e3be: f88d 300c strb.w r3, [sp, #12] - 802e3c2: 9202 str r2, [sp, #8] - 802e3c4: f89c 2007 ldrb.w r2, [ip, #7] - 802e3c8: 4608 mov r0, r1 - 802e3ca: a901 add r1, sp, #4 - 802e3cc: f88d 200d strb.w r2, [sp, #13] - 802e3d0: f7ff fe6a bl 802e0a8 <__gnu_unwind_execute> - 802e3d4: b005 add sp, #20 - 802e3d6: bd00 pop {pc} - -0802e3d8 <_ZN6vectorIN11SharpSensor9SharpNameEE5resetEv>: - delete[] oldTable; - } -} - -template -void vector::reset() - 802e3d8: b480 push {r7} - 802e3da: b083 sub sp, #12 - 802e3dc: af00 add r7, sp, #0 - 802e3de: 6078 str r0, [r7, #4] -{ - size = 0; - 802e3e0: 687a ldr r2, [r7, #4] - 802e3e2: f04f 0300 mov.w r3, #0 ; 0x0 - 802e3e6: 6093 str r3, [r2, #8] -} - 802e3e8: f107 070c add.w r7, r7, #12 ; 0xc - 802e3ec: 46bd mov sp, r7 - 802e3ee: bc80 pop {r7} - 802e3f0: 4770 bx lr - 802e3f2: 46c0 nop (mov r8, r8) - -0802e3f4 <_ZN6vectorIN17LimitSwitchSensor15LimitSwitchNameEE5resetEv>: - delete[] oldTable; - } -} - -template -void vector::reset() - 802e3f4: b480 push {r7} - 802e3f6: b083 sub sp, #12 - 802e3f8: af00 add r7, sp, #0 - 802e3fa: 6078 str r0, [r7, #4] -{ - size = 0; - 802e3fc: 687a ldr r2, [r7, #4] - 802e3fe: f04f 0300 mov.w r3, #0 ; 0x0 - 802e402: 6093 str r3, [r2, #8] -} - 802e404: f107 070c add.w r7, r7, #12 ; 0xc - 802e408: 46bd mov sp, r7 - 802e40a: bc80 pop {r7} - 802e40c: 4770 bx lr - 802e40e: 46c0 nop (mov r8, r8) - -0802e410 <_ZN6vectorIN6Sensor12OutputSensorEE5resetEv>: - delete[] oldTable; - } -} - -template -void vector::reset() - 802e410: b480 push {r7} - 802e412: b083 sub sp, #12 - 802e414: af00 add r7, sp, #0 - 802e416: 6078 str r0, [r7, #4] -{ - size = 0; - 802e418: 687a ldr r2, [r7, #4] - 802e41a: f04f 0300 mov.w r3, #0 ; 0x0 - 802e41e: 6093 str r3, [r2, #8] -} - 802e420: f107 070c add.w r7, r7, #12 ; 0xc - 802e424: 46bd mov sp, r7 - 802e426: bc80 pop {r7} - 802e428: 4770 bx lr - 802e42a: 46c0 nop (mov r8, r8) - -0802e42c <_ZN6vectorIN18LigthBarrierSensor16LigthBarrierNameEE5resetEv>: - delete[] oldTable; - } -} - -template -void vector::reset() - 802e42c: b480 push {r7} - 802e42e: b083 sub sp, #12 - 802e430: af00 add r7, sp, #0 - 802e432: 6078 str r0, [r7, #4] -{ - size = 0; - 802e434: 687a ldr r2, [r7, #4] - 802e436: f04f 0300 mov.w r3, #0 ; 0x0 - 802e43a: 6093 str r3, [r2, #8] -} - 802e43c: f107 070c add.w r7, r7, #12 ; 0xc - 802e440: 46bd mov sp, r7 - 802e442: bc80 pop {r7} - 802e444: 4770 bx lr - 802e446: 46c0 nop (mov r8, r8) - -0802e448 <_ZN6vectorIN6Sensor12OutputSensorEEC1Ei>: - size = 0; - table = 0x0; -} - -template -vector::vector(int allocatedSize) - 802e448: b580 push {r7, lr} - 802e44a: b082 sub sp, #8 - 802e44c: af00 add r7, sp, #0 - 802e44e: 6078 str r0, [r7, #4] - 802e450: 6039 str r1, [r7, #0] - 802e452: 687a ldr r2, [r7, #4] - 802e454: 4b0e ldr r3, [pc, #56] (802e490 <_ZN6vectorIN6Sensor12OutputSensorEEC1Ei+0x48>) - 802e456: 6013 str r3, [r2, #0] -{ - this->allocatedSize = allocatedSize; - 802e458: 687a ldr r2, [r7, #4] - 802e45a: 683b ldr r3, [r7, #0] - 802e45c: 60d3 str r3, [r2, #12] - table = new T[allocatedSize]; - 802e45e: 683b ldr r3, [r7, #0] - 802e460: ea4f 0283 mov.w r2, r3, lsl #2 - 802e464: ea4f 0382 mov.w r3, r2, lsl #2 - 802e468: ebc2 0303 rsb r3, r2, r3 - 802e46c: 4618 mov r0, r3 - 802e46e: f7e9 f8bf bl 80175f0 <_Znaj> - 802e472: 4603 mov r3, r0 - 802e474: 461a mov r2, r3 - 802e476: 687b ldr r3, [r7, #4] - 802e478: 605a str r2, [r3, #4] - size = 0; - 802e47a: 687a ldr r2, [r7, #4] - 802e47c: f04f 0300 mov.w r3, #0 ; 0x0 - 802e480: 6093 str r3, [r2, #8] - 802e482: 687b ldr r3, [r7, #4] -} - 802e484: 4618 mov r0, r3 - 802e486: f107 0708 add.w r7, r7, #8 ; 0x8 - 802e48a: 46bd mov sp, r7 - 802e48c: bd80 pop {r7, pc} - 802e48e: 46c0 nop (mov r8, r8) - 802e490: 08034798 .word 0x08034798 - -0802e494 <_ZN6vectorIN17LimitSwitchSensor15LimitSwitchNameEEC1Ei>: - size = 0; - table = 0x0; -} - -template -vector::vector(int allocatedSize) - 802e494: b580 push {r7, lr} - 802e496: b082 sub sp, #8 - 802e498: af00 add r7, sp, #0 - 802e49a: 6078 str r0, [r7, #4] - 802e49c: 6039 str r1, [r7, #0] - 802e49e: 687a ldr r2, [r7, #4] - 802e4a0: 4b0b ldr r3, [pc, #44] (802e4d0 <_ZN6vectorIN17LimitSwitchSensor15LimitSwitchNameEEC1Ei+0x3c>) - 802e4a2: 6013 str r3, [r2, #0] -{ - this->allocatedSize = allocatedSize; - 802e4a4: 687a ldr r2, [r7, #4] - 802e4a6: 683b ldr r3, [r7, #0] - 802e4a8: 60d3 str r3, [r2, #12] - table = new T[allocatedSize]; - 802e4aa: 683b ldr r3, [r7, #0] - 802e4ac: 4618 mov r0, r3 - 802e4ae: f7e9 f89f bl 80175f0 <_Znaj> - 802e4b2: 4603 mov r3, r0 - 802e4b4: 461a mov r2, r3 - 802e4b6: 687b ldr r3, [r7, #4] - 802e4b8: 605a str r2, [r3, #4] - size = 0; - 802e4ba: 687a ldr r2, [r7, #4] - 802e4bc: f04f 0300 mov.w r3, #0 ; 0x0 - 802e4c0: 6093 str r3, [r2, #8] - 802e4c2: 687b ldr r3, [r7, #4] -} - 802e4c4: 4618 mov r0, r3 - 802e4c6: f107 0708 add.w r7, r7, #8 ; 0x8 - 802e4ca: 46bd mov sp, r7 - 802e4cc: bd80 pop {r7, pc} - 802e4ce: 46c0 nop (mov r8, r8) - 802e4d0: 080347a8 .word 0x080347a8 - -0802e4d4 <_ZN6vectorIN18LigthBarrierSensor16LigthBarrierNameEEC1Ei>: - size = 0; - table = 0x0; -} - -template -vector::vector(int allocatedSize) - 802e4d4: b580 push {r7, lr} - 802e4d6: b082 sub sp, #8 - 802e4d8: af00 add r7, sp, #0 - 802e4da: 6078 str r0, [r7, #4] - 802e4dc: 6039 str r1, [r7, #0] - 802e4de: 687a ldr r2, [r7, #4] - 802e4e0: 4b0b ldr r3, [pc, #44] (802e510 <_ZN6vectorIN18LigthBarrierSensor16LigthBarrierNameEEC1Ei+0x3c>) - 802e4e2: 6013 str r3, [r2, #0] -{ - this->allocatedSize = allocatedSize; - 802e4e4: 687a ldr r2, [r7, #4] - 802e4e6: 683b ldr r3, [r7, #0] - 802e4e8: 60d3 str r3, [r2, #12] - table = new T[allocatedSize]; - 802e4ea: 683b ldr r3, [r7, #0] - 802e4ec: 4618 mov r0, r3 - 802e4ee: f7e9 f87f bl 80175f0 <_Znaj> - 802e4f2: 4603 mov r3, r0 - 802e4f4: 461a mov r2, r3 - 802e4f6: 687b ldr r3, [r7, #4] - 802e4f8: 605a str r2, [r3, #4] - size = 0; - 802e4fa: 687a ldr r2, [r7, #4] - 802e4fc: f04f 0300 mov.w r3, #0 ; 0x0 - 802e500: 6093 str r3, [r2, #8] - 802e502: 687b ldr r3, [r7, #4] -} - 802e504: 4618 mov r0, r3 - 802e506: f107 0708 add.w r7, r7, #8 ; 0x8 - 802e50a: 46bd mov sp, r7 - 802e50c: bd80 pop {r7, pc} - 802e50e: 46c0 nop (mov r8, r8) - 802e510: 080347b8 .word 0x080347b8 - -0802e514 <_ZN6vectorIN18LigthBarrierSensor16LigthBarrierNameEE9push_backERKS1_>: -{ - delete[] table; -} - -template -void vector::push_back(const T& value) - 802e514: b580 push {r7, lr} - 802e516: b084 sub sp, #16 - 802e518: af00 add r7, sp, #0 - 802e51a: 6078 str r0, [r7, #4] - 802e51c: 6039 str r1, [r7, #0] -{ - if (size < allocatedSize) - 802e51e: 687b ldr r3, [r7, #4] - 802e520: 689a ldr r2, [r3, #8] - 802e522: 687b ldr r3, [r7, #4] - 802e524: 68db ldr r3, [r3, #12] - 802e526: 429a cmp r2, r3 - 802e528: da0e bge.n 802e548 <_ZN6vectorIN18LigthBarrierSensor16LigthBarrierNameEE9push_backERKS1_+0x34> - { - table[size] = value; - 802e52a: 687b ldr r3, [r7, #4] - 802e52c: 685a ldr r2, [r3, #4] - 802e52e: 687b ldr r3, [r7, #4] - 802e530: 689b ldr r3, [r3, #8] - 802e532: 441a add r2, r3 - 802e534: 683b ldr r3, [r7, #0] - 802e536: 781b ldrb r3, [r3, #0] - 802e538: 7013 strb r3, [r2, #0] - size++; - 802e53a: 687b ldr r3, [r7, #4] - 802e53c: 689b ldr r3, [r3, #8] - 802e53e: f103 0201 add.w r2, r3, #1 ; 0x1 - 802e542: 687b ldr r3, [r7, #4] - 802e544: 609a str r2, [r3, #8] - 802e546: e03c b.n 802e5c2 <_ZN6vectorIN18LigthBarrierSensor16LigthBarrierNameEE9push_backERKS1_+0xae> - } - else //table trop petite - { - T* oldTable = table; - 802e548: 687b ldr r3, [r7, #4] - 802e54a: 685b ldr r3, [r3, #4] - 802e54c: 60bb str r3, [r7, #8] - allocatedSize++; - 802e54e: 687b ldr r3, [r7, #4] - 802e550: 68db ldr r3, [r3, #12] - 802e552: f103 0201 add.w r2, r3, #1 ; 0x1 - 802e556: 687b ldr r3, [r7, #4] - 802e558: 60da str r2, [r3, #12] - table = new T[allocatedSize]; - 802e55a: 687b ldr r3, [r7, #4] - 802e55c: 68db ldr r3, [r3, #12] - 802e55e: 4618 mov r0, r3 - 802e560: f7e9 f846 bl 80175f0 <_Znaj> - 802e564: 4603 mov r3, r0 - 802e566: 461a mov r2, r3 - 802e568: 687b ldr r3, [r7, #4] - 802e56a: 605a str r2, [r3, #4] - for (int i =0; i< size; i++) - 802e56c: f04f 0300 mov.w r3, #0 ; 0x0 - 802e570: 60fb str r3, [r7, #12] - 802e572: e00d b.n 802e590 <_ZN6vectorIN18LigthBarrierSensor16LigthBarrierNameEE9push_backERKS1_+0x7c> - table[i] = oldTable[i]; - 802e574: 687b ldr r3, [r7, #4] - 802e576: 685a ldr r2, [r3, #4] - 802e578: 68fb ldr r3, [r7, #12] - 802e57a: eb02 0103 add.w r1, r2, r3 - 802e57e: 68fa ldr r2, [r7, #12] - 802e580: 68bb ldr r3, [r7, #8] - 802e582: 4413 add r3, r2 - 802e584: 781b ldrb r3, [r3, #0] - 802e586: 700b strb r3, [r1, #0] - else //table trop petite - { - T* oldTable = table; - allocatedSize++; - table = new T[allocatedSize]; - for (int i =0; i< size; i++) - 802e588: 68fb ldr r3, [r7, #12] - 802e58a: f103 0301 add.w r3, r3, #1 ; 0x1 - 802e58e: 60fb str r3, [r7, #12] - 802e590: 687b ldr r3, [r7, #4] - 802e592: 689a ldr r2, [r3, #8] - 802e594: 68fb ldr r3, [r7, #12] - 802e596: 429a cmp r2, r3 - 802e598: dcec bgt.n 802e574 <_ZN6vectorIN18LigthBarrierSensor16LigthBarrierNameEE9push_backERKS1_+0x60> - table[i] = oldTable[i]; - delete[] oldTable; - 802e59a: 68bb ldr r3, [r7, #8] - 802e59c: 2b00 cmp r3, #0 - 802e59e: d002 beq.n 802e5a6 <_ZN6vectorIN18LigthBarrierSensor16LigthBarrierNameEE9push_backERKS1_+0x92> - 802e5a0: 68b8 ldr r0, [r7, #8] - 802e5a2: f7e9 f8ab bl 80176fc <_ZdaPv> - table[size] = value; - 802e5a6: 687b ldr r3, [r7, #4] - 802e5a8: 685a ldr r2, [r3, #4] - 802e5aa: 687b ldr r3, [r7, #4] - 802e5ac: 689b ldr r3, [r3, #8] - 802e5ae: 441a add r2, r3 - 802e5b0: 683b ldr r3, [r7, #0] - 802e5b2: 781b ldrb r3, [r3, #0] - 802e5b4: 7013 strb r3, [r2, #0] - size++; - 802e5b6: 687b ldr r3, [r7, #4] - 802e5b8: 689b ldr r3, [r3, #8] - 802e5ba: f103 0201 add.w r2, r3, #1 ; 0x1 - 802e5be: 687b ldr r3, [r7, #4] - 802e5c0: 609a str r2, [r3, #8] - } -} - 802e5c2: f107 0710 add.w r7, r7, #16 ; 0x10 - 802e5c6: 46bd mov sp, r7 - 802e5c8: bd80 pop {r7, pc} - 802e5ca: 46c0 nop (mov r8, r8) - -0802e5cc <_ZN6vectorIN6Sensor12OutputSensorEE9push_backERKS1_>: -{ - delete[] table; -} - -template -void vector::push_back(const T& value) - 802e5cc: b580 push {r7, lr} - 802e5ce: b084 sub sp, #16 - 802e5d0: af00 add r7, sp, #0 - 802e5d2: 6078 str r0, [r7, #4] - 802e5d4: 6039 str r1, [r7, #0] -{ - if (size < allocatedSize) - 802e5d6: 687b ldr r3, [r7, #4] - 802e5d8: 689a ldr r2, [r3, #8] - 802e5da: 687b ldr r3, [r7, #4] - 802e5dc: 68db ldr r3, [r3, #12] - 802e5de: 429a cmp r2, r3 - 802e5e0: da18 bge.n 802e614 <_ZN6vectorIN6Sensor12OutputSensorEE9push_backERKS1_+0x48> - { - table[size] = value; - 802e5e2: 687b ldr r3, [r7, #4] - 802e5e4: 6859 ldr r1, [r3, #4] - 802e5e6: 687b ldr r3, [r7, #4] - 802e5e8: 689b ldr r3, [r3, #8] - 802e5ea: ea4f 0283 mov.w r2, r3, lsl #2 - 802e5ee: ea4f 0382 mov.w r3, r2, lsl #2 - 802e5f2: ebc2 0303 rsb r3, r2, r3 - 802e5f6: 440b add r3, r1 - 802e5f8: 683a ldr r2, [r7, #0] - 802e5fa: 469c mov ip, r3 - 802e5fc: 4613 mov r3, r2 - 802e5fe: e893 0007 ldmia.w r3, {r0, r1, r2} - 802e602: e88c 0007 stmia.w ip, {r0, r1, r2} - size++; - 802e606: 687b ldr r3, [r7, #4] - 802e608: 689b ldr r3, [r3, #8] - 802e60a: f103 0201 add.w r2, r3, #1 ; 0x1 - 802e60e: 687b ldr r3, [r7, #4] - 802e610: 609a str r2, [r3, #8] - 802e612: e05a b.n 802e6ca <_ZN6vectorIN6Sensor12OutputSensorEE9push_backERKS1_+0xfe> - } - else //table trop petite - { - T* oldTable = table; - 802e614: 687b ldr r3, [r7, #4] - 802e616: 685b ldr r3, [r3, #4] - 802e618: 60bb str r3, [r7, #8] - allocatedSize++; - 802e61a: 687b ldr r3, [r7, #4] - 802e61c: 68db ldr r3, [r3, #12] - 802e61e: f103 0201 add.w r2, r3, #1 ; 0x1 - 802e622: 687b ldr r3, [r7, #4] - 802e624: 60da str r2, [r3, #12] - table = new T[allocatedSize]; - 802e626: 687b ldr r3, [r7, #4] - 802e628: 68db ldr r3, [r3, #12] - 802e62a: ea4f 0283 mov.w r2, r3, lsl #2 - 802e62e: ea4f 0382 mov.w r3, r2, lsl #2 - 802e632: ebc2 0303 rsb r3, r2, r3 - 802e636: 4618 mov r0, r3 - 802e638: f7e8 ffda bl 80175f0 <_Znaj> - 802e63c: 4603 mov r3, r0 - 802e63e: 461a mov r2, r3 - 802e640: 687b ldr r3, [r7, #4] - 802e642: 605a str r2, [r3, #4] - for (int i =0; i< size; i++) - 802e644: f04f 0300 mov.w r3, #0 ; 0x0 - 802e648: 60fb str r3, [r7, #12] - 802e64a: e01b b.n 802e684 <_ZN6vectorIN6Sensor12OutputSensorEE9push_backERKS1_+0xb8> - table[i] = oldTable[i]; - 802e64c: 687b ldr r3, [r7, #4] - 802e64e: 6859 ldr r1, [r3, #4] - 802e650: 68fb ldr r3, [r7, #12] - 802e652: ea4f 0283 mov.w r2, r3, lsl #2 - 802e656: ea4f 0382 mov.w r3, r2, lsl #2 - 802e65a: ebc2 0303 rsb r3, r2, r3 - 802e65e: 4419 add r1, r3 - 802e660: 68fb ldr r3, [r7, #12] - 802e662: ea4f 0283 mov.w r2, r3, lsl #2 - 802e666: ea4f 0382 mov.w r3, r2, lsl #2 - 802e66a: ebc2 0203 rsb r2, r2, r3 - 802e66e: 68bb ldr r3, [r7, #8] - 802e670: 4413 add r3, r2 - 802e672: 468c mov ip, r1 - 802e674: e893 0007 ldmia.w r3, {r0, r1, r2} - 802e678: e88c 0007 stmia.w ip, {r0, r1, r2} - else //table trop petite - { - T* oldTable = table; - allocatedSize++; - table = new T[allocatedSize]; - for (int i =0; i< size; i++) - 802e67c: 68fb ldr r3, [r7, #12] - 802e67e: f103 0301 add.w r3, r3, #1 ; 0x1 - 802e682: 60fb str r3, [r7, #12] - 802e684: 687b ldr r3, [r7, #4] - 802e686: 689a ldr r2, [r3, #8] - 802e688: 68fb ldr r3, [r7, #12] - 802e68a: 429a cmp r2, r3 - 802e68c: dcde bgt.n 802e64c <_ZN6vectorIN6Sensor12OutputSensorEE9push_backERKS1_+0x80> - table[i] = oldTable[i]; - delete[] oldTable; - 802e68e: 68bb ldr r3, [r7, #8] - 802e690: 2b00 cmp r3, #0 - 802e692: d002 beq.n 802e69a <_ZN6vectorIN6Sensor12OutputSensorEE9push_backERKS1_+0xce> - 802e694: 68b8 ldr r0, [r7, #8] - 802e696: f7e9 f831 bl 80176fc <_ZdaPv> - table[size] = value; - 802e69a: 687b ldr r3, [r7, #4] - 802e69c: 6859 ldr r1, [r3, #4] - 802e69e: 687b ldr r3, [r7, #4] - 802e6a0: 689b ldr r3, [r3, #8] - 802e6a2: ea4f 0283 mov.w r2, r3, lsl #2 - 802e6a6: ea4f 0382 mov.w r3, r2, lsl #2 - 802e6aa: ebc2 0303 rsb r3, r2, r3 - 802e6ae: 440b add r3, r1 - 802e6b0: 683a ldr r2, [r7, #0] - 802e6b2: 469c mov ip, r3 - 802e6b4: 4613 mov r3, r2 - 802e6b6: e893 0007 ldmia.w r3, {r0, r1, r2} - 802e6ba: e88c 0007 stmia.w ip, {r0, r1, r2} - size++; - 802e6be: 687b ldr r3, [r7, #4] - 802e6c0: 689b ldr r3, [r3, #8] - 802e6c2: f103 0201 add.w r2, r3, #1 ; 0x1 - 802e6c6: 687b ldr r3, [r7, #4] - 802e6c8: 609a str r2, [r3, #8] - } -} - 802e6ca: f107 0710 add.w r7, r7, #16 ; 0x10 - 802e6ce: 46bd mov sp, r7 - 802e6d0: bd80 pop {r7, pc} - 802e6d2: 46c0 nop (mov r8, r8) - -0802e6d4 <_ZN6vectorIN17LimitSwitchSensor15LimitSwitchNameEE9push_backERKS1_>: -{ - delete[] table; -} - -template -void vector::push_back(const T& value) - 802e6d4: b580 push {r7, lr} - 802e6d6: b084 sub sp, #16 - 802e6d8: af00 add r7, sp, #0 - 802e6da: 6078 str r0, [r7, #4] - 802e6dc: 6039 str r1, [r7, #0] -{ - if (size < allocatedSize) - 802e6de: 687b ldr r3, [r7, #4] - 802e6e0: 689a ldr r2, [r3, #8] - 802e6e2: 687b ldr r3, [r7, #4] - 802e6e4: 68db ldr r3, [r3, #12] - 802e6e6: 429a cmp r2, r3 - 802e6e8: da0e bge.n 802e708 <_ZN6vectorIN17LimitSwitchSensor15LimitSwitchNameEE9push_backERKS1_+0x34> - { - table[size] = value; - 802e6ea: 687b ldr r3, [r7, #4] - 802e6ec: 685a ldr r2, [r3, #4] - 802e6ee: 687b ldr r3, [r7, #4] - 802e6f0: 689b ldr r3, [r3, #8] - 802e6f2: 441a add r2, r3 - 802e6f4: 683b ldr r3, [r7, #0] - 802e6f6: 781b ldrb r3, [r3, #0] - 802e6f8: 7013 strb r3, [r2, #0] - size++; - 802e6fa: 687b ldr r3, [r7, #4] - 802e6fc: 689b ldr r3, [r3, #8] - 802e6fe: f103 0201 add.w r2, r3, #1 ; 0x1 - 802e702: 687b ldr r3, [r7, #4] - 802e704: 609a str r2, [r3, #8] - 802e706: e03c b.n 802e782 <_ZN6vectorIN17LimitSwitchSensor15LimitSwitchNameEE9push_backERKS1_+0xae> - } - else //table trop petite - { - T* oldTable = table; - 802e708: 687b ldr r3, [r7, #4] - 802e70a: 685b ldr r3, [r3, #4] - 802e70c: 60bb str r3, [r7, #8] - allocatedSize++; - 802e70e: 687b ldr r3, [r7, #4] - 802e710: 68db ldr r3, [r3, #12] - 802e712: f103 0201 add.w r2, r3, #1 ; 0x1 - 802e716: 687b ldr r3, [r7, #4] - 802e718: 60da str r2, [r3, #12] - table = new T[allocatedSize]; - 802e71a: 687b ldr r3, [r7, #4] - 802e71c: 68db ldr r3, [r3, #12] - 802e71e: 4618 mov r0, r3 - 802e720: f7e8 ff66 bl 80175f0 <_Znaj> - 802e724: 4603 mov r3, r0 - 802e726: 461a mov r2, r3 - 802e728: 687b ldr r3, [r7, #4] - 802e72a: 605a str r2, [r3, #4] - for (int i =0; i< size; i++) - 802e72c: f04f 0300 mov.w r3, #0 ; 0x0 - 802e730: 60fb str r3, [r7, #12] - 802e732: e00d b.n 802e750 <_ZN6vectorIN17LimitSwitchSensor15LimitSwitchNameEE9push_backERKS1_+0x7c> - table[i] = oldTable[i]; - 802e734: 687b ldr r3, [r7, #4] - 802e736: 685a ldr r2, [r3, #4] - 802e738: 68fb ldr r3, [r7, #12] - 802e73a: eb02 0103 add.w r1, r2, r3 - 802e73e: 68fa ldr r2, [r7, #12] - 802e740: 68bb ldr r3, [r7, #8] - 802e742: 4413 add r3, r2 - 802e744: 781b ldrb r3, [r3, #0] - 802e746: 700b strb r3, [r1, #0] - else //table trop petite - { - T* oldTable = table; - allocatedSize++; - table = new T[allocatedSize]; - for (int i =0; i< size; i++) - 802e748: 68fb ldr r3, [r7, #12] - 802e74a: f103 0301 add.w r3, r3, #1 ; 0x1 - 802e74e: 60fb str r3, [r7, #12] - 802e750: 687b ldr r3, [r7, #4] - 802e752: 689a ldr r2, [r3, #8] - 802e754: 68fb ldr r3, [r7, #12] - 802e756: 429a cmp r2, r3 - 802e758: dcec bgt.n 802e734 <_ZN6vectorIN17LimitSwitchSensor15LimitSwitchNameEE9push_backERKS1_+0x60> - table[i] = oldTable[i]; - delete[] oldTable; - 802e75a: 68bb ldr r3, [r7, #8] - 802e75c: 2b00 cmp r3, #0 - 802e75e: d002 beq.n 802e766 <_ZN6vectorIN17LimitSwitchSensor15LimitSwitchNameEE9push_backERKS1_+0x92> - 802e760: 68b8 ldr r0, [r7, #8] - 802e762: f7e8 ffcb bl 80176fc <_ZdaPv> - table[size] = value; - 802e766: 687b ldr r3, [r7, #4] - 802e768: 685a ldr r2, [r3, #4] - 802e76a: 687b ldr r3, [r7, #4] - 802e76c: 689b ldr r3, [r3, #8] - 802e76e: 441a add r2, r3 - 802e770: 683b ldr r3, [r7, #0] - 802e772: 781b ldrb r3, [r3, #0] - 802e774: 7013 strb r3, [r2, #0] - size++; - 802e776: 687b ldr r3, [r7, #4] - 802e778: 689b ldr r3, [r3, #8] - 802e77a: f103 0201 add.w r2, r3, #1 ; 0x1 - 802e77e: 687b ldr r3, [r7, #4] - 802e780: 609a str r2, [r3, #8] - } -} - 802e782: f107 0710 add.w r7, r7, #16 ; 0x10 - 802e786: 46bd mov sp, r7 - 802e788: bd80 pop {r7, pc} - 802e78a: 46c0 nop (mov r8, r8) - -0802e78c <_ZN6vectorIN11SharpSensor9SharpNameEE9push_backERKS1_>: -{ - delete[] table; -} - -template -void vector::push_back(const T& value) - 802e78c: b580 push {r7, lr} - 802e78e: b084 sub sp, #16 - 802e790: af00 add r7, sp, #0 - 802e792: 6078 str r0, [r7, #4] - 802e794: 6039 str r1, [r7, #0] -{ - if (size < allocatedSize) - 802e796: 687b ldr r3, [r7, #4] - 802e798: 689a ldr r2, [r3, #8] - 802e79a: 687b ldr r3, [r7, #4] - 802e79c: 68db ldr r3, [r3, #12] - 802e79e: 429a cmp r2, r3 - 802e7a0: da0e bge.n 802e7c0 <_ZN6vectorIN11SharpSensor9SharpNameEE9push_backERKS1_+0x34> - { - table[size] = value; - 802e7a2: 687b ldr r3, [r7, #4] - 802e7a4: 685a ldr r2, [r3, #4] - 802e7a6: 687b ldr r3, [r7, #4] - 802e7a8: 689b ldr r3, [r3, #8] - 802e7aa: 441a add r2, r3 - 802e7ac: 683b ldr r3, [r7, #0] - 802e7ae: 781b ldrb r3, [r3, #0] - 802e7b0: 7013 strb r3, [r2, #0] - size++; - 802e7b2: 687b ldr r3, [r7, #4] - 802e7b4: 689b ldr r3, [r3, #8] - 802e7b6: f103 0201 add.w r2, r3, #1 ; 0x1 - 802e7ba: 687b ldr r3, [r7, #4] - 802e7bc: 609a str r2, [r3, #8] - 802e7be: e03c b.n 802e83a <_ZN6vectorIN11SharpSensor9SharpNameEE9push_backERKS1_+0xae> - } - else //table trop petite - { - T* oldTable = table; - 802e7c0: 687b ldr r3, [r7, #4] - 802e7c2: 685b ldr r3, [r3, #4] - 802e7c4: 60bb str r3, [r7, #8] - allocatedSize++; - 802e7c6: 687b ldr r3, [r7, #4] - 802e7c8: 68db ldr r3, [r3, #12] - 802e7ca: f103 0201 add.w r2, r3, #1 ; 0x1 - 802e7ce: 687b ldr r3, [r7, #4] - 802e7d0: 60da str r2, [r3, #12] - table = new T[allocatedSize]; - 802e7d2: 687b ldr r3, [r7, #4] - 802e7d4: 68db ldr r3, [r3, #12] - 802e7d6: 4618 mov r0, r3 - 802e7d8: f7e8 ff0a bl 80175f0 <_Znaj> - 802e7dc: 4603 mov r3, r0 - 802e7de: 461a mov r2, r3 - 802e7e0: 687b ldr r3, [r7, #4] - 802e7e2: 605a str r2, [r3, #4] - for (int i =0; i< size; i++) - 802e7e4: f04f 0300 mov.w r3, #0 ; 0x0 - 802e7e8: 60fb str r3, [r7, #12] - 802e7ea: e00d b.n 802e808 <_ZN6vectorIN11SharpSensor9SharpNameEE9push_backERKS1_+0x7c> - table[i] = oldTable[i]; - 802e7ec: 687b ldr r3, [r7, #4] - 802e7ee: 685a ldr r2, [r3, #4] - 802e7f0: 68fb ldr r3, [r7, #12] - 802e7f2: eb02 0103 add.w r1, r2, r3 - 802e7f6: 68fa ldr r2, [r7, #12] - 802e7f8: 68bb ldr r3, [r7, #8] - 802e7fa: 4413 add r3, r2 - 802e7fc: 781b ldrb r3, [r3, #0] - 802e7fe: 700b strb r3, [r1, #0] - else //table trop petite - { - T* oldTable = table; - allocatedSize++; - table = new T[allocatedSize]; - for (int i =0; i< size; i++) - 802e800: 68fb ldr r3, [r7, #12] - 802e802: f103 0301 add.w r3, r3, #1 ; 0x1 - 802e806: 60fb str r3, [r7, #12] - 802e808: 687b ldr r3, [r7, #4] - 802e80a: 689a ldr r2, [r3, #8] - 802e80c: 68fb ldr r3, [r7, #12] - 802e80e: 429a cmp r2, r3 - 802e810: dcec bgt.n 802e7ec <_ZN6vectorIN11SharpSensor9SharpNameEE9push_backERKS1_+0x60> - table[i] = oldTable[i]; - delete[] oldTable; - 802e812: 68bb ldr r3, [r7, #8] - 802e814: 2b00 cmp r3, #0 - 802e816: d002 beq.n 802e81e <_ZN6vectorIN11SharpSensor9SharpNameEE9push_backERKS1_+0x92> - 802e818: 68b8 ldr r0, [r7, #8] - 802e81a: f7e8 ff6f bl 80176fc <_ZdaPv> - table[size] = value; - 802e81e: 687b ldr r3, [r7, #4] - 802e820: 685a ldr r2, [r3, #4] - 802e822: 687b ldr r3, [r7, #4] - 802e824: 689b ldr r3, [r3, #8] - 802e826: 441a add r2, r3 - 802e828: 683b ldr r3, [r7, #0] - 802e82a: 781b ldrb r3, [r3, #0] - 802e82c: 7013 strb r3, [r2, #0] - size++; - 802e82e: 687b ldr r3, [r7, #4] - 802e830: 689b ldr r3, [r3, #8] - 802e832: f103 0201 add.w r2, r3, #1 ; 0x1 - 802e836: 687b ldr r3, [r7, #4] - 802e838: 609a str r2, [r3, #8] - } -} - 802e83a: f107 0710 add.w r7, r7, #16 ; 0x10 - 802e83e: 46bd mov sp, r7 - 802e840: bd80 pop {r7, pc} - 802e842: 46c0 nop (mov r8, r8) - -0802e844 <_ZN6vectorIN6Sensor12OutputSensorEED0Ev>: - table = new T[allocatedSize]; - size = 0; -} - -template -vector::~vector() - 802e844: b580 push {r7, lr} - 802e846: b082 sub sp, #8 - 802e848: af00 add r7, sp, #0 - 802e84a: 6078 str r0, [r7, #4] -{ - delete[] table; -} - 802e84c: 687a ldr r2, [r7, #4] - 802e84e: 4b0c ldr r3, [pc, #48] (802e880 <_ZN6vectorIN6Sensor12OutputSensorEED0Ev+0x3c>) - 802e850: 6013 str r3, [r2, #0] -} - -template -vector::~vector() -{ - delete[] table; - 802e852: 687b ldr r3, [r7, #4] - 802e854: 685b ldr r3, [r3, #4] - 802e856: 2b00 cmp r3, #0 - 802e858: d004 beq.n 802e864 <_ZN6vectorIN6Sensor12OutputSensorEED0Ev+0x20> - 802e85a: 687b ldr r3, [r7, #4] - 802e85c: 685b ldr r3, [r3, #4] - 802e85e: 4618 mov r0, r3 - 802e860: f7e8 ff4c bl 80176fc <_ZdaPv> - 802e864: f04f 0301 mov.w r3, #1 ; 0x1 - 802e868: b2db uxtb r3, r3 - 802e86a: 2b00 cmp r3, #0 - 802e86c: d002 beq.n 802e874 <_ZN6vectorIN6Sensor12OutputSensorEED0Ev+0x30> - 802e86e: 6878 ldr r0, [r7, #4] - 802e870: f7e8 fecc bl 801760c <_ZdlPv> - 802e874: 687b ldr r3, [r7, #4] -} - 802e876: 4618 mov r0, r3 - 802e878: f107 0708 add.w r7, r7, #8 ; 0x8 - 802e87c: 46bd mov sp, r7 - 802e87e: bd80 pop {r7, pc} - 802e880: 08034798 .word 0x08034798 - -0802e884 <_ZN6vectorIN6Sensor12OutputSensorEED1Ev>: - table = new T[allocatedSize]; - size = 0; -} - -template -vector::~vector() - 802e884: b580 push {r7, lr} - 802e886: b082 sub sp, #8 - 802e888: af00 add r7, sp, #0 - 802e88a: 6078 str r0, [r7, #4] -{ - delete[] table; -} - 802e88c: 687a ldr r2, [r7, #4] - 802e88e: 4b0c ldr r3, [pc, #48] (802e8c0 <_ZN6vectorIN6Sensor12OutputSensorEED1Ev+0x3c>) - 802e890: 6013 str r3, [r2, #0] -} - -template -vector::~vector() -{ - delete[] table; - 802e892: 687b ldr r3, [r7, #4] - 802e894: 685b ldr r3, [r3, #4] - 802e896: 2b00 cmp r3, #0 - 802e898: d004 beq.n 802e8a4 <_ZN6vectorIN6Sensor12OutputSensorEED1Ev+0x20> - 802e89a: 687b ldr r3, [r7, #4] - 802e89c: 685b ldr r3, [r3, #4] - 802e89e: 4618 mov r0, r3 - 802e8a0: f7e8 ff2c bl 80176fc <_ZdaPv> - 802e8a4: f04f 0300 mov.w r3, #0 ; 0x0 - 802e8a8: b2db uxtb r3, r3 - 802e8aa: 2b00 cmp r3, #0 - 802e8ac: d002 beq.n 802e8b4 <_ZN6vectorIN6Sensor12OutputSensorEED1Ev+0x30> - 802e8ae: 6878 ldr r0, [r7, #4] - 802e8b0: f7e8 feac bl 801760c <_ZdlPv> - 802e8b4: 687b ldr r3, [r7, #4] -} - 802e8b6: 4618 mov r0, r3 - 802e8b8: f107 0708 add.w r7, r7, #8 ; 0x8 - 802e8bc: 46bd mov sp, r7 - 802e8be: bd80 pop {r7, pc} - 802e8c0: 08034798 .word 0x08034798 - -0802e8c4 <_ZN6vectorIN17LimitSwitchSensor15LimitSwitchNameEED0Ev>: - table = new T[allocatedSize]; - size = 0; -} - -template -vector::~vector() - 802e8c4: b580 push {r7, lr} - 802e8c6: b082 sub sp, #8 - 802e8c8: af00 add r7, sp, #0 - 802e8ca: 6078 str r0, [r7, #4] -{ - delete[] table; -} - 802e8cc: 687a ldr r2, [r7, #4] - 802e8ce: 4b0c ldr r3, [pc, #48] (802e900 <_ZN6vectorIN17LimitSwitchSensor15LimitSwitchNameEED0Ev+0x3c>) - 802e8d0: 6013 str r3, [r2, #0] -} - -template -vector::~vector() -{ - delete[] table; - 802e8d2: 687b ldr r3, [r7, #4] - 802e8d4: 685b ldr r3, [r3, #4] - 802e8d6: 2b00 cmp r3, #0 - 802e8d8: d004 beq.n 802e8e4 <_ZN6vectorIN17LimitSwitchSensor15LimitSwitchNameEED0Ev+0x20> - 802e8da: 687b ldr r3, [r7, #4] - 802e8dc: 685b ldr r3, [r3, #4] - 802e8de: 4618 mov r0, r3 - 802e8e0: f7e8 ff0c bl 80176fc <_ZdaPv> - 802e8e4: f04f 0301 mov.w r3, #1 ; 0x1 - 802e8e8: b2db uxtb r3, r3 - 802e8ea: 2b00 cmp r3, #0 - 802e8ec: d002 beq.n 802e8f4 <_ZN6vectorIN17LimitSwitchSensor15LimitSwitchNameEED0Ev+0x30> - 802e8ee: 6878 ldr r0, [r7, #4] - 802e8f0: f7e8 fe8c bl 801760c <_ZdlPv> - 802e8f4: 687b ldr r3, [r7, #4] -} - 802e8f6: 4618 mov r0, r3 - 802e8f8: f107 0708 add.w r7, r7, #8 ; 0x8 - 802e8fc: 46bd mov sp, r7 - 802e8fe: bd80 pop {r7, pc} - 802e900: 080347a8 .word 0x080347a8 - -0802e904 <_ZN6vectorIN17LimitSwitchSensor15LimitSwitchNameEED1Ev>: - table = new T[allocatedSize]; - size = 0; -} - -template -vector::~vector() - 802e904: b580 push {r7, lr} - 802e906: b082 sub sp, #8 - 802e908: af00 add r7, sp, #0 - 802e90a: 6078 str r0, [r7, #4] -{ - delete[] table; -} - 802e90c: 687a ldr r2, [r7, #4] - 802e90e: 4b0c ldr r3, [pc, #48] (802e940 <_ZN6vectorIN17LimitSwitchSensor15LimitSwitchNameEED1Ev+0x3c>) - 802e910: 6013 str r3, [r2, #0] -} - -template -vector::~vector() -{ - delete[] table; - 802e912: 687b ldr r3, [r7, #4] - 802e914: 685b ldr r3, [r3, #4] - 802e916: 2b00 cmp r3, #0 - 802e918: d004 beq.n 802e924 <_ZN6vectorIN17LimitSwitchSensor15LimitSwitchNameEED1Ev+0x20> - 802e91a: 687b ldr r3, [r7, #4] - 802e91c: 685b ldr r3, [r3, #4] - 802e91e: 4618 mov r0, r3 - 802e920: f7e8 feec bl 80176fc <_ZdaPv> - 802e924: f04f 0300 mov.w r3, #0 ; 0x0 - 802e928: b2db uxtb r3, r3 - 802e92a: 2b00 cmp r3, #0 - 802e92c: d002 beq.n 802e934 <_ZN6vectorIN17LimitSwitchSensor15LimitSwitchNameEED1Ev+0x30> - 802e92e: 6878 ldr r0, [r7, #4] - 802e930: f7e8 fe6c bl 801760c <_ZdlPv> - 802e934: 687b ldr r3, [r7, #4] -} - 802e936: 4618 mov r0, r3 - 802e938: f107 0708 add.w r7, r7, #8 ; 0x8 - 802e93c: 46bd mov sp, r7 - 802e93e: bd80 pop {r7, pc} - 802e940: 080347a8 .word 0x080347a8 - -0802e944 <_ZN6vectorIN18LigthBarrierSensor16LigthBarrierNameEED0Ev>: - table = new T[allocatedSize]; - size = 0; -} - -template -vector::~vector() - 802e944: b580 push {r7, lr} - 802e946: b082 sub sp, #8 - 802e948: af00 add r7, sp, #0 - 802e94a: 6078 str r0, [r7, #4] -{ - delete[] table; -} - 802e94c: 687a ldr r2, [r7, #4] - 802e94e: 4b0c ldr r3, [pc, #48] (802e980 <_ZN6vectorIN18LigthBarrierSensor16LigthBarrierNameEED0Ev+0x3c>) - 802e950: 6013 str r3, [r2, #0] -} - -template -vector::~vector() -{ - delete[] table; - 802e952: 687b ldr r3, [r7, #4] - 802e954: 685b ldr r3, [r3, #4] - 802e956: 2b00 cmp r3, #0 - 802e958: d004 beq.n 802e964 <_ZN6vectorIN18LigthBarrierSensor16LigthBarrierNameEED0Ev+0x20> - 802e95a: 687b ldr r3, [r7, #4] - 802e95c: 685b ldr r3, [r3, #4] - 802e95e: 4618 mov r0, r3 - 802e960: f7e8 fecc bl 80176fc <_ZdaPv> - 802e964: f04f 0301 mov.w r3, #1 ; 0x1 - 802e968: b2db uxtb r3, r3 - 802e96a: 2b00 cmp r3, #0 - 802e96c: d002 beq.n 802e974 <_ZN6vectorIN18LigthBarrierSensor16LigthBarrierNameEED0Ev+0x30> - 802e96e: 6878 ldr r0, [r7, #4] - 802e970: f7e8 fe4c bl 801760c <_ZdlPv> - 802e974: 687b ldr r3, [r7, #4] -} - 802e976: 4618 mov r0, r3 - 802e978: f107 0708 add.w r7, r7, #8 ; 0x8 - 802e97c: 46bd mov sp, r7 - 802e97e: bd80 pop {r7, pc} - 802e980: 080347b8 .word 0x080347b8 - -0802e984 <_ZN6vectorIN18LigthBarrierSensor16LigthBarrierNameEED1Ev>: - table = new T[allocatedSize]; - size = 0; -} - -template -vector::~vector() - 802e984: b580 push {r7, lr} - 802e986: b082 sub sp, #8 - 802e988: af00 add r7, sp, #0 - 802e98a: 6078 str r0, [r7, #4] -{ - delete[] table; -} - 802e98c: 687a ldr r2, [r7, #4] - 802e98e: 4b0c ldr r3, [pc, #48] (802e9c0 <_ZN6vectorIN18LigthBarrierSensor16LigthBarrierNameEED1Ev+0x3c>) - 802e990: 6013 str r3, [r2, #0] -} - -template -vector::~vector() -{ - delete[] table; - 802e992: 687b ldr r3, [r7, #4] - 802e994: 685b ldr r3, [r3, #4] - 802e996: 2b00 cmp r3, #0 - 802e998: d004 beq.n 802e9a4 <_ZN6vectorIN18LigthBarrierSensor16LigthBarrierNameEED1Ev+0x20> - 802e99a: 687b ldr r3, [r7, #4] - 802e99c: 685b ldr r3, [r3, #4] - 802e99e: 4618 mov r0, r3 - 802e9a0: f7e8 feac bl 80176fc <_ZdaPv> - 802e9a4: f04f 0300 mov.w r3, #0 ; 0x0 - 802e9a8: b2db uxtb r3, r3 - 802e9aa: 2b00 cmp r3, #0 - 802e9ac: d002 beq.n 802e9b4 <_ZN6vectorIN18LigthBarrierSensor16LigthBarrierNameEED1Ev+0x30> - 802e9ae: 6878 ldr r0, [r7, #4] - 802e9b0: f7e8 fe2c bl 801760c <_ZdlPv> - 802e9b4: 687b ldr r3, [r7, #4] -} - 802e9b6: 4618 mov r0, r3 - 802e9b8: f107 0708 add.w r7, r7, #8 ; 0x8 - 802e9bc: 46bd mov sp, r7 - 802e9be: bd80 pop {r7, pc} - 802e9c0: 080347b8 .word 0x080347b8 - -0802e9c4 <_ZN18CommandAllerEnArcAD0Ev>: - //////////////////////////////// - // CommandAllerEnArcA // - //////////////////////////////// - -class CommandAllerEnArcA : public Command -{ - 802e9c4: b580 push {r7, lr} - 802e9c6: b082 sub sp, #8 - 802e9c8: af00 add r7, sp, #0 - 802e9ca: 6078 str r0, [r7, #4] - 802e9cc: 687a ldr r2, [r7, #4] - 802e9ce: 4b0a ldr r3, [pc, #40] (802e9f8 <_ZN18CommandAllerEnArcAD0Ev+0x34>) - 802e9d0: 6013 str r3, [r2, #0] - 802e9d2: 687b ldr r3, [r7, #4] - 802e9d4: 4618 mov r0, r3 - 802e9d6: f7e2 fbf7 bl 80111c8 <_ZN7CommandD2Ev> - 802e9da: f04f 0301 mov.w r3, #1 ; 0x1 - 802e9de: b2db uxtb r3, r3 - 802e9e0: 2b00 cmp r3, #0 - 802e9e2: d002 beq.n 802e9ea <_ZN18CommandAllerEnArcAD0Ev+0x26> - 802e9e4: 6878 ldr r0, [r7, #4] - 802e9e6: f7e8 fe11 bl 801760c <_ZdlPv> - 802e9ea: 687b ldr r3, [r7, #4] - 802e9ec: 4618 mov r0, r3 - 802e9ee: f107 0708 add.w r7, r7, #8 ; 0x8 - 802e9f2: 46bd mov sp, r7 - 802e9f4: bd80 pop {r7, pc} - 802e9f6: 46c0 nop (mov r8, r8) - 802e9f8: 08033ec8 .word 0x08033ec8 - -0802e9fc <_ZN18CommandAllerEnArcAD1Ev>: - 802e9fc: b580 push {r7, lr} - 802e9fe: b082 sub sp, #8 - 802ea00: af00 add r7, sp, #0 - 802ea02: 6078 str r0, [r7, #4] - 802ea04: 687a ldr r2, [r7, #4] - 802ea06: 4b0a ldr r3, [pc, #40] (802ea30 <_ZN18CommandAllerEnArcAD1Ev+0x34>) - 802ea08: 6013 str r3, [r2, #0] - 802ea0a: 687b ldr r3, [r7, #4] - 802ea0c: 4618 mov r0, r3 - 802ea0e: f7e2 fbdb bl 80111c8 <_ZN7CommandD2Ev> - 802ea12: f04f 0300 mov.w r3, #0 ; 0x0 - 802ea16: b2db uxtb r3, r3 - 802ea18: 2b00 cmp r3, #0 - 802ea1a: d002 beq.n 802ea22 <_ZN18CommandAllerEnArcAD1Ev+0x26> - 802ea1c: 6878 ldr r0, [r7, #4] - 802ea1e: f7e8 fdf5 bl 801760c <_ZdlPv> - 802ea22: 687b ldr r3, [r7, #4] - 802ea24: 4618 mov r0, r3 - 802ea26: f107 0708 add.w r7, r7, #8 ; 0x8 - 802ea2a: 46bd mov sp, r7 - 802ea2c: bd80 pop {r7, pc} - 802ea2e: 46c0 nop (mov r8, r8) - 802ea30: 08033ec8 .word 0x08033ec8 - -0802ea34 <_ZN13CommandAllerAD0Ev>: - //////////////////////////////// - // CommandAllerA // - //////////////////////////////// - -class CommandAllerA : public Command -{ - 802ea34: b580 push {r7, lr} - 802ea36: b082 sub sp, #8 - 802ea38: af00 add r7, sp, #0 - 802ea3a: 6078 str r0, [r7, #4] - 802ea3c: 687a ldr r2, [r7, #4] - 802ea3e: 4b0a ldr r3, [pc, #40] (802ea68 <_ZN13CommandAllerAD0Ev+0x34>) - 802ea40: 6013 str r3, [r2, #0] - 802ea42: 687b ldr r3, [r7, #4] - 802ea44: 4618 mov r0, r3 - 802ea46: f7e2 fbbf bl 80111c8 <_ZN7CommandD2Ev> - 802ea4a: f04f 0301 mov.w r3, #1 ; 0x1 - 802ea4e: b2db uxtb r3, r3 - 802ea50: 2b00 cmp r3, #0 - 802ea52: d002 beq.n 802ea5a <_ZN13CommandAllerAD0Ev+0x26> - 802ea54: 6878 ldr r0, [r7, #4] - 802ea56: f7e8 fdd9 bl 801760c <_ZdlPv> - 802ea5a: 687b ldr r3, [r7, #4] - 802ea5c: 4618 mov r0, r3 - 802ea5e: f107 0708 add.w r7, r7, #8 ; 0x8 - 802ea62: 46bd mov sp, r7 - 802ea64: bd80 pop {r7, pc} - 802ea66: 46c0 nop (mov r8, r8) - 802ea68: 08033ea0 .word 0x08033ea0 - -0802ea6c <_ZN13CommandAllerAD1Ev>: - 802ea6c: b580 push {r7, lr} - 802ea6e: b082 sub sp, #8 - 802ea70: af00 add r7, sp, #0 - 802ea72: 6078 str r0, [r7, #4] - 802ea74: 687a ldr r2, [r7, #4] - 802ea76: 4b0a ldr r3, [pc, #40] (802eaa0 <_ZN13CommandAllerAD1Ev+0x34>) - 802ea78: 6013 str r3, [r2, #0] - 802ea7a: 687b ldr r3, [r7, #4] - 802ea7c: 4618 mov r0, r3 - 802ea7e: f7e2 fba3 bl 80111c8 <_ZN7CommandD2Ev> - 802ea82: f04f 0300 mov.w r3, #0 ; 0x0 - 802ea86: b2db uxtb r3, r3 - 802ea88: 2b00 cmp r3, #0 - 802ea8a: d002 beq.n 802ea92 <_ZN13CommandAllerAD1Ev+0x26> - 802ea8c: 6878 ldr r0, [r7, #4] - 802ea8e: f7e8 fdbd bl 801760c <_ZdlPv> - 802ea92: 687b ldr r3, [r7, #4] - 802ea94: 4618 mov r0, r3 - 802ea96: f107 0708 add.w r7, r7, #8 ; 0x8 - 802ea9a: 46bd mov sp, r7 - 802ea9c: bd80 pop {r7, pc} - 802ea9e: 46c0 nop (mov r8, r8) - 802eaa0: 08033ea0 .word 0x08033ea0 - -0802eaa4 <_ZN18CommandTournerVersD0Ev>: - //////////////////////////////// - // CommandTournerVers // - //////////////////////////////// - -class CommandTournerVers : public Command -{ - 802eaa4: b580 push {r7, lr} - 802eaa6: b082 sub sp, #8 - 802eaa8: af00 add r7, sp, #0 - 802eaaa: 6078 str r0, [r7, #4] - 802eaac: 687a ldr r2, [r7, #4] - 802eaae: 4b0a ldr r3, [pc, #40] (802ead8 <_ZN18CommandTournerVersD0Ev+0x34>) - 802eab0: 6013 str r3, [r2, #0] - 802eab2: 687b ldr r3, [r7, #4] - 802eab4: 4618 mov r0, r3 - 802eab6: f7e2 fb87 bl 80111c8 <_ZN7CommandD2Ev> - 802eaba: f04f 0301 mov.w r3, #1 ; 0x1 - 802eabe: b2db uxtb r3, r3 - 802eac0: 2b00 cmp r3, #0 - 802eac2: d002 beq.n 802eaca <_ZN18CommandTournerVersD0Ev+0x26> - 802eac4: 6878 ldr r0, [r7, #4] - 802eac6: f7e8 fda1 bl 801760c <_ZdlPv> - 802eaca: 687b ldr r3, [r7, #4] - 802eacc: 4618 mov r0, r3 - 802eace: f107 0708 add.w r7, r7, #8 ; 0x8 - 802ead2: 46bd mov sp, r7 - 802ead4: bd80 pop {r7, pc} - 802ead6: 46c0 nop (mov r8, r8) - 802ead8: 08033e78 .word 0x08033e78 - -0802eadc <_ZN18CommandTournerVersD1Ev>: - 802eadc: b580 push {r7, lr} - 802eade: b082 sub sp, #8 - 802eae0: af00 add r7, sp, #0 - 802eae2: 6078 str r0, [r7, #4] - 802eae4: 687a ldr r2, [r7, #4] - 802eae6: 4b0a ldr r3, [pc, #40] (802eb10 <_ZN18CommandTournerVersD1Ev+0x34>) - 802eae8: 6013 str r3, [r2, #0] - 802eaea: 687b ldr r3, [r7, #4] - 802eaec: 4618 mov r0, r3 - 802eaee: f7e2 fb6b bl 80111c8 <_ZN7CommandD2Ev> - 802eaf2: f04f 0300 mov.w r3, #0 ; 0x0 - 802eaf6: b2db uxtb r3, r3 - 802eaf8: 2b00 cmp r3, #0 - 802eafa: d002 beq.n 802eb02 <_ZN18CommandTournerVersD1Ev+0x26> - 802eafc: 6878 ldr r0, [r7, #4] - 802eafe: f7e8 fd85 bl 801760c <_ZdlPv> - 802eb02: 687b ldr r3, [r7, #4] - 802eb04: 4618 mov r0, r3 - 802eb06: f107 0708 add.w r7, r7, #8 ; 0x8 - 802eb0a: 46bd mov sp, r7 - 802eb0c: bd80 pop {r7, pc} - 802eb0e: 46c0 nop (mov r8, r8) - 802eb10: 08033e78 .word 0x08033e78 - -0802eb14 <_ZN13CommandVirageD0Ev>: - -// fait un virage d'un certain angle à la vitesse max suivant un certain rayon de courbure -// arrive avec un certaine vitesse de fin -// marche que vers l'avant -class CommandVirage : public Command -{ - 802eb14: b580 push {r7, lr} - 802eb16: b082 sub sp, #8 - 802eb18: af00 add r7, sp, #0 - 802eb1a: 6078 str r0, [r7, #4] - 802eb1c: 687a ldr r2, [r7, #4] - 802eb1e: 4b0a ldr r3, [pc, #40] (802eb48 <_ZN13CommandVirageD0Ev+0x34>) - 802eb20: 6013 str r3, [r2, #0] - 802eb22: 687b ldr r3, [r7, #4] - 802eb24: 4618 mov r0, r3 - 802eb26: f7e2 fb4f bl 80111c8 <_ZN7CommandD2Ev> - 802eb2a: f04f 0301 mov.w r3, #1 ; 0x1 - 802eb2e: b2db uxtb r3, r3 - 802eb30: 2b00 cmp r3, #0 - 802eb32: d002 beq.n 802eb3a <_ZN13CommandVirageD0Ev+0x26> - 802eb34: 6878 ldr r0, [r7, #4] - 802eb36: f7e8 fd69 bl 801760c <_ZdlPv> - 802eb3a: 687b ldr r3, [r7, #4] - 802eb3c: 4618 mov r0, r3 - 802eb3e: f107 0708 add.w r7, r7, #8 ; 0x8 - 802eb42: 46bd mov sp, r7 - 802eb44: bd80 pop {r7, pc} - 802eb46: 46c0 nop (mov r8, r8) - 802eb48: 08033e50 .word 0x08033e50 - -0802eb4c <_ZN13CommandVirageD1Ev>: - 802eb4c: b580 push {r7, lr} - 802eb4e: b082 sub sp, #8 - 802eb50: af00 add r7, sp, #0 - 802eb52: 6078 str r0, [r7, #4] - 802eb54: 687a ldr r2, [r7, #4] - 802eb56: 4b0a ldr r3, [pc, #40] (802eb80 <_ZN13CommandVirageD1Ev+0x34>) - 802eb58: 6013 str r3, [r2, #0] - 802eb5a: 687b ldr r3, [r7, #4] - 802eb5c: 4618 mov r0, r3 - 802eb5e: f7e2 fb33 bl 80111c8 <_ZN7CommandD2Ev> - 802eb62: f04f 0300 mov.w r3, #0 ; 0x0 - 802eb66: b2db uxtb r3, r3 - 802eb68: 2b00 cmp r3, #0 - 802eb6a: d002 beq.n 802eb72 <_ZN13CommandVirageD1Ev+0x26> - 802eb6c: 6878 ldr r0, [r7, #4] - 802eb6e: f7e8 fd4d bl 801760c <_ZdlPv> - 802eb72: 687b ldr r3, [r7, #4] - 802eb74: 4618 mov r0, r3 - 802eb76: f107 0708 add.w r7, r7, #8 ; 0x8 - 802eb7a: 46bd mov sp, r7 - 802eb7c: bd80 pop {r7, pc} - 802eb7e: 46c0 nop (mov r8, r8) - 802eb80: 08033e50 .word 0x08033e50 - -0802eb84 <_ZN15CommandAttendreD0Ev>: - //////////////////////////////// - // CommandAttendre // - //////////////////////////////// - -class CommandAttendre : public Command -{ - 802eb84: b580 push {r7, lr} - 802eb86: b082 sub sp, #8 - 802eb88: af00 add r7, sp, #0 - 802eb8a: 6078 str r0, [r7, #4] - 802eb8c: 687a ldr r2, [r7, #4] - 802eb8e: 4b0a ldr r3, [pc, #40] (802ebb8 <_ZN15CommandAttendreD0Ev+0x34>) - 802eb90: 6013 str r3, [r2, #0] - 802eb92: 687b ldr r3, [r7, #4] - 802eb94: 4618 mov r0, r3 - 802eb96: f7e2 fb17 bl 80111c8 <_ZN7CommandD2Ev> - 802eb9a: f04f 0301 mov.w r3, #1 ; 0x1 - 802eb9e: b2db uxtb r3, r3 - 802eba0: 2b00 cmp r3, #0 - 802eba2: d002 beq.n 802ebaa <_ZN15CommandAttendreD0Ev+0x26> - 802eba4: 6878 ldr r0, [r7, #4] - 802eba6: f7e8 fd31 bl 801760c <_ZdlPv> - 802ebaa: 687b ldr r3, [r7, #4] - 802ebac: 4618 mov r0, r3 - 802ebae: f107 0708 add.w r7, r7, #8 ; 0x8 - 802ebb2: 46bd mov sp, r7 - 802ebb4: bd80 pop {r7, pc} - 802ebb6: 46c0 nop (mov r8, r8) - 802ebb8: 08033e28 .word 0x08033e28 - -0802ebbc <_ZN15CommandAttendreD1Ev>: - 802ebbc: b580 push {r7, lr} - 802ebbe: b082 sub sp, #8 - 802ebc0: af00 add r7, sp, #0 - 802ebc2: 6078 str r0, [r7, #4] - 802ebc4: 687a ldr r2, [r7, #4] - 802ebc6: 4b0a ldr r3, [pc, #40] (802ebf0 <_ZN15CommandAttendreD1Ev+0x34>) - 802ebc8: 6013 str r3, [r2, #0] - 802ebca: 687b ldr r3, [r7, #4] - 802ebcc: 4618 mov r0, r3 - 802ebce: f7e2 fafb bl 80111c8 <_ZN7CommandD2Ev> - 802ebd2: f04f 0300 mov.w r3, #0 ; 0x0 - 802ebd6: b2db uxtb r3, r3 - 802ebd8: 2b00 cmp r3, #0 - 802ebda: d002 beq.n 802ebe2 <_ZN15CommandAttendreD1Ev+0x26> - 802ebdc: 6878 ldr r0, [r7, #4] - 802ebde: f7e8 fd15 bl 801760c <_ZdlPv> - 802ebe2: 687b ldr r3, [r7, #4] - 802ebe4: 4618 mov r0, r3 - 802ebe6: f107 0708 add.w r7, r7, #8 ; 0x8 - 802ebea: 46bd mov sp, r7 - 802ebec: bd80 pop {r7, pc} - 802ebee: 46c0 nop (mov r8, r8) - 802ebf0: 08033e28 .word 0x08033e28 - -0802ebf4 <_ZN18CommandTestAvancerD0Ev>: - //////////////////////////////// - // CommandTestAvancer // - //////////////////////////////// - -class CommandTestAvancer : public Command -{ - 802ebf4: b580 push {r7, lr} - 802ebf6: b082 sub sp, #8 - 802ebf8: af00 add r7, sp, #0 - 802ebfa: 6078 str r0, [r7, #4] - 802ebfc: 687a ldr r2, [r7, #4] - 802ebfe: 4b0a ldr r3, [pc, #40] (802ec28 <_ZN18CommandTestAvancerD0Ev+0x34>) - 802ec00: 6013 str r3, [r2, #0] - 802ec02: 687b ldr r3, [r7, #4] - 802ec04: 4618 mov r0, r3 - 802ec06: f7e2 fadf bl 80111c8 <_ZN7CommandD2Ev> - 802ec0a: f04f 0301 mov.w r3, #1 ; 0x1 - 802ec0e: b2db uxtb r3, r3 - 802ec10: 2b00 cmp r3, #0 - 802ec12: d002 beq.n 802ec1a <_ZN18CommandTestAvancerD0Ev+0x26> - 802ec14: 6878 ldr r0, [r7, #4] - 802ec16: f7e8 fcf9 bl 801760c <_ZdlPv> - 802ec1a: 687b ldr r3, [r7, #4] - 802ec1c: 4618 mov r0, r3 - 802ec1e: f107 0708 add.w r7, r7, #8 ; 0x8 - 802ec22: 46bd mov sp, r7 - 802ec24: bd80 pop {r7, pc} - 802ec26: 46c0 nop (mov r8, r8) - 802ec28: 08033e00 .word 0x08033e00 - -0802ec2c <_ZN18CommandTestAvancerD1Ev>: - 802ec2c: b580 push {r7, lr} - 802ec2e: b082 sub sp, #8 - 802ec30: af00 add r7, sp, #0 - 802ec32: 6078 str r0, [r7, #4] - 802ec34: 687a ldr r2, [r7, #4] - 802ec36: 4b0a ldr r3, [pc, #40] (802ec60 <_ZN18CommandTestAvancerD1Ev+0x34>) - 802ec38: 6013 str r3, [r2, #0] - 802ec3a: 687b ldr r3, [r7, #4] - 802ec3c: 4618 mov r0, r3 - 802ec3e: f7e2 fac3 bl 80111c8 <_ZN7CommandD2Ev> - 802ec42: f04f 0300 mov.w r3, #0 ; 0x0 - 802ec46: b2db uxtb r3, r3 - 802ec48: 2b00 cmp r3, #0 - 802ec4a: d002 beq.n 802ec52 <_ZN18CommandTestAvancerD1Ev+0x26> - 802ec4c: 6878 ldr r0, [r7, #4] - 802ec4e: f7e8 fcdd bl 801760c <_ZdlPv> - 802ec52: 687b ldr r3, [r7, #4] - 802ec54: 4618 mov r0, r3 - 802ec56: f107 0708 add.w r7, r7, #8 ; 0x8 - 802ec5a: 46bd mov sp, r7 - 802ec5c: bd80 pop {r7, pc} - 802ec5e: 46c0 nop (mov r8, r8) - 802ec60: 08033e00 .word 0x08033e00 - -0802ec64 <_ZN24CommandTestTournerGaucheD0Ev>: - //////////////////////////////// - // CommandTestTournerGauche // - //////////////////////////////// - -class CommandTestTournerGauche : public Command -{ - 802ec64: b580 push {r7, lr} - 802ec66: b082 sub sp, #8 - 802ec68: af00 add r7, sp, #0 - 802ec6a: 6078 str r0, [r7, #4] - 802ec6c: 687a ldr r2, [r7, #4] - 802ec6e: 4b0a ldr r3, [pc, #40] (802ec98 <_ZN24CommandTestTournerGaucheD0Ev+0x34>) - 802ec70: 6013 str r3, [r2, #0] - 802ec72: 687b ldr r3, [r7, #4] - 802ec74: 4618 mov r0, r3 - 802ec76: f7e2 faa7 bl 80111c8 <_ZN7CommandD2Ev> - 802ec7a: f04f 0301 mov.w r3, #1 ; 0x1 - 802ec7e: b2db uxtb r3, r3 - 802ec80: 2b00 cmp r3, #0 - 802ec82: d002 beq.n 802ec8a <_ZN24CommandTestTournerGaucheD0Ev+0x26> - 802ec84: 6878 ldr r0, [r7, #4] - 802ec86: f7e8 fcc1 bl 801760c <_ZdlPv> - 802ec8a: 687b ldr r3, [r7, #4] - 802ec8c: 4618 mov r0, r3 - 802ec8e: f107 0708 add.w r7, r7, #8 ; 0x8 - 802ec92: 46bd mov sp, r7 - 802ec94: bd80 pop {r7, pc} - 802ec96: 46c0 nop (mov r8, r8) - 802ec98: 08033dd8 .word 0x08033dd8 - -0802ec9c <_ZN24CommandTestTournerGaucheD1Ev>: - 802ec9c: b580 push {r7, lr} - 802ec9e: b082 sub sp, #8 - 802eca0: af00 add r7, sp, #0 - 802eca2: 6078 str r0, [r7, #4] - 802eca4: 687a ldr r2, [r7, #4] - 802eca6: 4b0a ldr r3, [pc, #40] (802ecd0 <_ZN24CommandTestTournerGaucheD1Ev+0x34>) - 802eca8: 6013 str r3, [r2, #0] - 802ecaa: 687b ldr r3, [r7, #4] - 802ecac: 4618 mov r0, r3 - 802ecae: f7e2 fa8b bl 80111c8 <_ZN7CommandD2Ev> - 802ecb2: f04f 0300 mov.w r3, #0 ; 0x0 - 802ecb6: b2db uxtb r3, r3 - 802ecb8: 2b00 cmp r3, #0 - 802ecba: d002 beq.n 802ecc2 <_ZN24CommandTestTournerGaucheD1Ev+0x26> - 802ecbc: 6878 ldr r0, [r7, #4] - 802ecbe: f7e8 fca5 bl 801760c <_ZdlPv> - 802ecc2: 687b ldr r3, [r7, #4] - 802ecc4: 4618 mov r0, r3 - 802ecc6: f107 0708 add.w r7, r7, #8 ; 0x8 - 802ecca: 46bd mov sp, r7 - 802eccc: bd80 pop {r7, pc} - 802ecce: 46c0 nop (mov r8, r8) - 802ecd0: 08033dd8 .word 0x08033dd8 - -0802ecd4 <_ZN29CommandCalibrerCapteurCouleurD0Ev>: - // ou depuis le dernier appel de la selection du capteur - uint16_t getTickValue(); -}; - -class CommandCalibrerCapteurCouleur : public Command -{ - 802ecd4: b580 push {r7, lr} - 802ecd6: b082 sub sp, #8 - 802ecd8: af00 add r7, sp, #0 - 802ecda: 6078 str r0, [r7, #4] - 802ecdc: 687a ldr r2, [r7, #4] - 802ecde: 4b0a ldr r3, [pc, #40] (802ed08 <_ZN29CommandCalibrerCapteurCouleurD0Ev+0x34>) - 802ece0: 6013 str r3, [r2, #0] - 802ece2: 687b ldr r3, [r7, #4] - 802ece4: 4618 mov r0, r3 - 802ece6: f7e2 fa6f bl 80111c8 <_ZN7CommandD2Ev> - 802ecea: f04f 0301 mov.w r3, #1 ; 0x1 - 802ecee: b2db uxtb r3, r3 - 802ecf0: 2b00 cmp r3, #0 - 802ecf2: d002 beq.n 802ecfa <_ZN29CommandCalibrerCapteurCouleurD0Ev+0x26> - 802ecf4: 6878 ldr r0, [r7, #4] - 802ecf6: f7e8 fc89 bl 801760c <_ZdlPv> - 802ecfa: 687b ldr r3, [r7, #4] - 802ecfc: 4618 mov r0, r3 - 802ecfe: f107 0708 add.w r7, r7, #8 ; 0x8 - 802ed02: 46bd mov sp, r7 - 802ed04: bd80 pop {r7, pc} - 802ed06: 46c0 nop (mov r8, r8) - 802ed08: 08033f48 .word 0x08033f48 - -0802ed0c <_ZN29CommandCalibrerCapteurCouleurD1Ev>: - 802ed0c: b580 push {r7, lr} - 802ed0e: b082 sub sp, #8 - 802ed10: af00 add r7, sp, #0 - 802ed12: 6078 str r0, [r7, #4] - 802ed14: 687a ldr r2, [r7, #4] - 802ed16: 4b0a ldr r3, [pc, #40] (802ed40 <_ZN29CommandCalibrerCapteurCouleurD1Ev+0x34>) - 802ed18: 6013 str r3, [r2, #0] - 802ed1a: 687b ldr r3, [r7, #4] - 802ed1c: 4618 mov r0, r3 - 802ed1e: f7e2 fa53 bl 80111c8 <_ZN7CommandD2Ev> - 802ed22: f04f 0300 mov.w r3, #0 ; 0x0 - 802ed26: b2db uxtb r3, r3 - 802ed28: 2b00 cmp r3, #0 - 802ed2a: d002 beq.n 802ed32 <_ZN29CommandCalibrerCapteurCouleurD1Ev+0x26> - 802ed2c: 6878 ldr r0, [r7, #4] - 802ed2e: f7e8 fc6d bl 801760c <_ZdlPv> - 802ed32: 687b ldr r3, [r7, #4] - 802ed34: 4618 mov r0, r3 - 802ed36: f107 0708 add.w r7, r7, #8 ; 0x8 - 802ed3a: 46bd mov sp, r7 - 802ed3c: bd80 pop {r7, pc} - 802ed3e: 46c0 nop (mov r8, r8) - 802ed40: 08033f48 .word 0x08033f48 - -0802ed44 <_ZN19CommandCheckCouleurD0Ev>: - - uint16_t resultat; -}; - -class CommandCheckCouleur : public Command -{ - 802ed44: b580 push {r7, lr} - 802ed46: b082 sub sp, #8 - 802ed48: af00 add r7, sp, #0 - 802ed4a: 6078 str r0, [r7, #4] - 802ed4c: 687a ldr r2, [r7, #4] - 802ed4e: 4b0a ldr r3, [pc, #40] (802ed78 <_ZN19CommandCheckCouleurD0Ev+0x34>) - 802ed50: 6013 str r3, [r2, #0] - 802ed52: 687b ldr r3, [r7, #4] - 802ed54: 4618 mov r0, r3 - 802ed56: f7e2 fa37 bl 80111c8 <_ZN7CommandD2Ev> - 802ed5a: f04f 0301 mov.w r3, #1 ; 0x1 - 802ed5e: b2db uxtb r3, r3 - 802ed60: 2b00 cmp r3, #0 - 802ed62: d002 beq.n 802ed6a <_ZN19CommandCheckCouleurD0Ev+0x26> - 802ed64: 6878 ldr r0, [r7, #4] - 802ed66: f7e8 fc51 bl 801760c <_ZdlPv> - 802ed6a: 687b ldr r3, [r7, #4] - 802ed6c: 4618 mov r0, r3 - 802ed6e: f107 0708 add.w r7, r7, #8 ; 0x8 - 802ed72: 46bd mov sp, r7 - 802ed74: bd80 pop {r7, pc} - 802ed76: 46c0 nop (mov r8, r8) - 802ed78: 08033f20 .word 0x08033f20 - -0802ed7c <_ZN19CommandCheckCouleurD1Ev>: - 802ed7c: b580 push {r7, lr} - 802ed7e: b082 sub sp, #8 - 802ed80: af00 add r7, sp, #0 - 802ed82: 6078 str r0, [r7, #4] - 802ed84: 687a ldr r2, [r7, #4] - 802ed86: 4b0a ldr r3, [pc, #40] (802edb0 <_ZN19CommandCheckCouleurD1Ev+0x34>) - 802ed88: 6013 str r3, [r2, #0] - 802ed8a: 687b ldr r3, [r7, #4] - 802ed8c: 4618 mov r0, r3 - 802ed8e: f7e2 fa1b bl 80111c8 <_ZN7CommandD2Ev> - 802ed92: f04f 0300 mov.w r3, #0 ; 0x0 - 802ed96: b2db uxtb r3, r3 - 802ed98: 2b00 cmp r3, #0 - 802ed9a: d002 beq.n 802eda2 <_ZN19CommandCheckCouleurD1Ev+0x26> - 802ed9c: 6878 ldr r0, [r7, #4] - 802ed9e: f7e8 fc35 bl 801760c <_ZdlPv> - 802eda2: 687b ldr r3, [r7, #4] - 802eda4: 4618 mov r0, r3 - 802eda6: f107 0708 add.w r7, r7, #8 ; 0x8 - 802edaa: 46bd mov sp, r7 - 802edac: bd80 pop {r7, pc} - 802edae: 46c0 nop (mov r8, r8) - 802edb0: 08033f20 .word 0x08033f20 - -0802edb4 <_ZN17MediumLevelActionaSERKS_>: -#ifndef ROBOTHW -#include ; -#endif - -class MediumLevelAction -{ - 802edb4: b580 push {r7, lr} - 802edb6: b082 sub sp, #8 - 802edb8: af00 add r7, sp, #0 - 802edba: 6078 str r0, [r7, #4] - 802edbc: 6039 str r1, [r7, #0] - 802edbe: 687b ldr r3, [r7, #4] - 802edc0: f103 0304 add.w r3, r3, #4 ; 0x4 - 802edc4: 683a ldr r2, [r7, #0] - 802edc6: 4618 mov r0, r3 - 802edc8: f102 0304 add.w r3, r2, #4 ; 0x4 - 802edcc: e893 0006 ldmia.w r3, {r1, r2} - 802edd0: f7e8 fd94 bl 80178fc <_ZN8PositionaSES_> - 802edd4: 683b ldr r3, [r7, #0] - 802edd6: 68da ldr r2, [r3, #12] - 802edd8: 687b ldr r3, [r7, #4] - 802edda: 60da str r2, [r3, #12] - 802eddc: 683b ldr r3, [r7, #0] - 802edde: 7c1b ldrb r3, [r3, #16] - 802ede0: 687a ldr r2, [r7, #4] - 802ede2: 7413 strb r3, [r2, #16] - 802ede4: 683b ldr r3, [r7, #0] - 802ede6: 695a ldr r2, [r3, #20] - 802ede8: 687b ldr r3, [r7, #4] - 802edea: 615a str r2, [r3, #20] - 802edec: 687b ldr r3, [r7, #4] - 802edee: 4618 mov r0, r3 - 802edf0: f107 0708 add.w r7, r7, #8 ; 0x8 - 802edf4: 46bd mov sp, r7 - 802edf6: bd80 pop {r7, pc} - -0802edf8 <_ZN10ActionGoToaSERKS_>: -#include "position.h" -//#include - - -class ActionGoTo : public MediumLevelAction -{ - 802edf8: b580 push {r7, lr} - 802edfa: b082 sub sp, #8 - 802edfc: af00 add r7, sp, #0 - 802edfe: 6078 str r0, [r7, #4] - 802ee00: 6039 str r1, [r7, #0] - 802ee02: 687b ldr r3, [r7, #4] - 802ee04: 683a ldr r2, [r7, #0] - 802ee06: 4618 mov r0, r3 - 802ee08: 4611 mov r1, r2 - 802ee0a: f7ff ffd3 bl 802edb4 <_ZN17MediumLevelActionaSERKS_> - 802ee0e: 683b ldr r3, [r7, #0] - 802ee10: 699a ldr r2, [r3, #24] - 802ee12: 687b ldr r3, [r7, #4] - 802ee14: 619a str r2, [r3, #24] - 802ee16: 683b ldr r3, [r7, #0] - 802ee18: 7f1b ldrb r3, [r3, #28] - 802ee1a: 687a ldr r2, [r7, #4] - 802ee1c: 7713 strb r3, [r2, #28] - 802ee1e: 683b ldr r3, [r7, #0] - 802ee20: 6a1a ldr r2, [r3, #32] - 802ee22: 687b ldr r3, [r7, #4] - 802ee24: 621a str r2, [r3, #32] - 802ee26: 683b ldr r3, [r7, #0] - 802ee28: 6a5a ldr r2, [r3, #36] - 802ee2a: 687b ldr r3, [r7, #4] - 802ee2c: 625a str r2, [r3, #36] - 802ee2e: 687b ldr r3, [r7, #4] - 802ee30: f103 0328 add.w r3, r3, #40 ; 0x28 - 802ee34: 683a ldr r2, [r7, #0] - 802ee36: 4618 mov r0, r3 - 802ee38: f102 0328 add.w r3, r2, #40 ; 0x28 - 802ee3c: e893 0006 ldmia.w r3, {r1, r2} - 802ee40: f7e8 fd5c bl 80178fc <_ZN8PositionaSES_> - 802ee44: 687b ldr r3, [r7, #4] - 802ee46: 4618 mov r0, r3 - 802ee48: f107 0708 add.w r7, r7, #8 ; 0x8 - 802ee4c: 46bd mov sp, r7 - 802ee4e: bd80 pop {r7, pc} - -0802ee50 <_ZN11StrategieV3D0Ev>: - #define NOMBRE_ETAPES 31//22//10 - -#endif -//#define NOMBRE_ETAPES 10 -class StrategieV3 : public MediumLevelAction -{ - 802ee50: b580 push {r7, lr} - 802ee52: b084 sub sp, #16 - 802ee54: af00 add r7, sp, #0 - 802ee56: 60f8 str r0, [r7, #12] - 802ee58: 68fa ldr r2, [r7, #12] - 802ee5a: 4b38 ldr r3, [pc, #224] (802ef3c <_ZN11StrategieV3D0Ev+0xec>) - 802ee5c: 6013 str r3, [r2, #0] - 802ee5e: 68fb ldr r3, [r7, #12] - 802ee60: f503 63ea add.w r3, r3, #1872 ; 0x750 - 802ee64: f103 0304 add.w r3, r3, #4 ; 0x4 - 802ee68: 2b00 cmp r3, #0 - 802ee6a: d019 beq.n 802eea0 <_ZN11StrategieV3D0Ev+0x50> - 802ee6c: 68fb ldr r3, [r7, #12] - 802ee6e: f503 63ee add.w r3, r3, #1904 ; 0x770 - 802ee72: 603b str r3, [r7, #0] - 802ee74: 683a ldr r2, [r7, #0] - 802ee76: f102 020c add.w r2, r2, #12 ; 0xc - 802ee7a: 603a str r2, [r7, #0] - 802ee7c: 68fb ldr r3, [r7, #12] - 802ee7e: f503 63ea add.w r3, r3, #1872 ; 0x750 - 802ee82: f103 0304 add.w r3, r3, #4 ; 0x4 - 802ee86: 683a ldr r2, [r7, #0] - 802ee88: 429a cmp r2, r3 - 802ee8a: d009 beq.n 802eea0 <_ZN11StrategieV3D0Ev+0x50> - 802ee8c: 683b ldr r3, [r7, #0] - 802ee8e: f1a3 0328 sub.w r3, r3, #40 ; 0x28 - 802ee92: 603b str r3, [r7, #0] - 802ee94: 683a ldr r2, [r7, #0] - 802ee96: 6813 ldr r3, [r2, #0] - 802ee98: 681b ldr r3, [r3, #0] - 802ee9a: 6838 ldr r0, [r7, #0] - 802ee9c: 4798 blx r3 - 802ee9e: e7ed b.n 802ee7c <_ZN11StrategieV3D0Ev+0x2c> - 802eea0: 68fb ldr r3, [r7, #12] - 802eea2: f503 63cc add.w r3, r3, #1632 ; 0x660 - 802eea6: f103 0304 add.w r3, r3, #4 ; 0x4 - 802eeaa: 2b00 cmp r3, #0 - 802eeac: d019 beq.n 802eee2 <_ZN11StrategieV3D0Ev+0x92> - 802eeae: 68fb ldr r3, [r7, #12] - 802eeb0: f503 63cc add.w r3, r3, #1632 ; 0x660 - 802eeb4: f103 0304 add.w r3, r3, #4 ; 0x4 - 802eeb8: f103 03f0 add.w r3, r3, #240 ; 0xf0 - 802eebc: 607b str r3, [r7, #4] - 802eebe: 68fb ldr r3, [r7, #12] - 802eec0: f503 63cc add.w r3, r3, #1632 ; 0x660 - 802eec4: f103 0304 add.w r3, r3, #4 ; 0x4 - 802eec8: 687a ldr r2, [r7, #4] - 802eeca: 429a cmp r2, r3 - 802eecc: d009 beq.n 802eee2 <_ZN11StrategieV3D0Ev+0x92> - 802eece: 687b ldr r3, [r7, #4] - 802eed0: f1a3 033c sub.w r3, r3, #60 ; 0x3c - 802eed4: 607b str r3, [r7, #4] - 802eed6: 687a ldr r2, [r7, #4] - 802eed8: 6813 ldr r3, [r2, #0] - 802eeda: 681b ldr r3, [r3, #0] - 802eedc: 6878 ldr r0, [r7, #4] - 802eede: 4798 blx r3 - 802eee0: e7ed b.n 802eebe <_ZN11StrategieV3D0Ev+0x6e> - 802eee2: 68fb ldr r3, [r7, #12] - 802eee4: f103 0394 add.w r3, r3, #148 ; 0x94 - 802eee8: 2b00 cmp r3, #0 - 802eeea: d015 beq.n 802ef18 <_ZN11StrategieV3D0Ev+0xc8> - 802eeec: 68fb ldr r3, [r7, #12] - 802eeee: f103 0394 add.w r3, r3, #148 ; 0x94 - 802eef2: f503 63ba add.w r3, r3, #1488 ; 0x5d0 - 802eef6: 60bb str r3, [r7, #8] - 802eef8: 68fb ldr r3, [r7, #12] - 802eefa: f103 0394 add.w r3, r3, #148 ; 0x94 - 802eefe: 68ba ldr r2, [r7, #8] - 802ef00: 429a cmp r2, r3 - 802ef02: d009 beq.n 802ef18 <_ZN11StrategieV3D0Ev+0xc8> - 802ef04: 68bb ldr r3, [r7, #8] - 802ef06: f1a3 0330 sub.w r3, r3, #48 ; 0x30 - 802ef0a: 60bb str r3, [r7, #8] - 802ef0c: 68ba ldr r2, [r7, #8] - 802ef0e: 6813 ldr r3, [r2, #0] - 802ef10: 681b ldr r3, [r3, #0] - 802ef12: 68b8 ldr r0, [r7, #8] - 802ef14: 4798 blx r3 - 802ef16: e7ef b.n 802eef8 <_ZN11StrategieV3D0Ev+0xa8> - 802ef18: 68fb ldr r3, [r7, #12] - 802ef1a: 4618 mov r0, r3 - 802ef1c: f7ed f878 bl 801c010 <_ZN17MediumLevelActionD2Ev> - 802ef20: f04f 0301 mov.w r3, #1 ; 0x1 - 802ef24: b2db uxtb r3, r3 - 802ef26: 2b00 cmp r3, #0 - 802ef28: d002 beq.n 802ef30 <_ZN11StrategieV3D0Ev+0xe0> - 802ef2a: 68f8 ldr r0, [r7, #12] - 802ef2c: f7e8 fb6e bl 801760c <_ZdlPv> - 802ef30: 68fb ldr r3, [r7, #12] - 802ef32: 4618 mov r0, r3 - 802ef34: f107 0710 add.w r7, r7, #16 ; 0x10 - 802ef38: 46bd mov sp, r7 - 802ef3a: bd80 pop {r7, pc} - 802ef3c: 08034170 .word 0x08034170 - -0802ef40 <_ZN11StrategieV3D1Ev>: - 802ef40: b580 push {r7, lr} - 802ef42: b084 sub sp, #16 - 802ef44: af00 add r7, sp, #0 - 802ef46: 60f8 str r0, [r7, #12] - 802ef48: 68fa ldr r2, [r7, #12] - 802ef4a: 4b38 ldr r3, [pc, #224] (802f02c <_ZN11StrategieV3D1Ev+0xec>) - 802ef4c: 6013 str r3, [r2, #0] - 802ef4e: 68fb ldr r3, [r7, #12] - 802ef50: f503 63ea add.w r3, r3, #1872 ; 0x750 - 802ef54: f103 0304 add.w r3, r3, #4 ; 0x4 - 802ef58: 2b00 cmp r3, #0 - 802ef5a: d019 beq.n 802ef90 <_ZN11StrategieV3D1Ev+0x50> - 802ef5c: 68fb ldr r3, [r7, #12] - 802ef5e: f503 63ee add.w r3, r3, #1904 ; 0x770 - 802ef62: 603b str r3, [r7, #0] - 802ef64: 683a ldr r2, [r7, #0] - 802ef66: f102 020c add.w r2, r2, #12 ; 0xc - 802ef6a: 603a str r2, [r7, #0] - 802ef6c: 68fb ldr r3, [r7, #12] - 802ef6e: f503 63ea add.w r3, r3, #1872 ; 0x750 - 802ef72: f103 0304 add.w r3, r3, #4 ; 0x4 - 802ef76: 683a ldr r2, [r7, #0] - 802ef78: 429a cmp r2, r3 - 802ef7a: d009 beq.n 802ef90 <_ZN11StrategieV3D1Ev+0x50> - 802ef7c: 683b ldr r3, [r7, #0] - 802ef7e: f1a3 0328 sub.w r3, r3, #40 ; 0x28 - 802ef82: 603b str r3, [r7, #0] - 802ef84: 683a ldr r2, [r7, #0] - 802ef86: 6813 ldr r3, [r2, #0] - 802ef88: 681b ldr r3, [r3, #0] - 802ef8a: 6838 ldr r0, [r7, #0] - 802ef8c: 4798 blx r3 - 802ef8e: e7ed b.n 802ef6c <_ZN11StrategieV3D1Ev+0x2c> - 802ef90: 68fb ldr r3, [r7, #12] - 802ef92: f503 63cc add.w r3, r3, #1632 ; 0x660 - 802ef96: f103 0304 add.w r3, r3, #4 ; 0x4 - 802ef9a: 2b00 cmp r3, #0 - 802ef9c: d019 beq.n 802efd2 <_ZN11StrategieV3D1Ev+0x92> - 802ef9e: 68fb ldr r3, [r7, #12] - 802efa0: f503 63cc add.w r3, r3, #1632 ; 0x660 - 802efa4: f103 0304 add.w r3, r3, #4 ; 0x4 - 802efa8: f103 03f0 add.w r3, r3, #240 ; 0xf0 - 802efac: 607b str r3, [r7, #4] - 802efae: 68fb ldr r3, [r7, #12] - 802efb0: f503 63cc add.w r3, r3, #1632 ; 0x660 - 802efb4: f103 0304 add.w r3, r3, #4 ; 0x4 - 802efb8: 687a ldr r2, [r7, #4] - 802efba: 429a cmp r2, r3 - 802efbc: d009 beq.n 802efd2 <_ZN11StrategieV3D1Ev+0x92> - 802efbe: 687b ldr r3, [r7, #4] - 802efc0: f1a3 033c sub.w r3, r3, #60 ; 0x3c - 802efc4: 607b str r3, [r7, #4] - 802efc6: 687a ldr r2, [r7, #4] - 802efc8: 6813 ldr r3, [r2, #0] - 802efca: 681b ldr r3, [r3, #0] - 802efcc: 6878 ldr r0, [r7, #4] - 802efce: 4798 blx r3 - 802efd0: e7ed b.n 802efae <_ZN11StrategieV3D1Ev+0x6e> - 802efd2: 68fb ldr r3, [r7, #12] - 802efd4: f103 0394 add.w r3, r3, #148 ; 0x94 - 802efd8: 2b00 cmp r3, #0 - 802efda: d015 beq.n 802f008 <_ZN11StrategieV3D1Ev+0xc8> - 802efdc: 68fb ldr r3, [r7, #12] - 802efde: f103 0394 add.w r3, r3, #148 ; 0x94 - 802efe2: f503 63ba add.w r3, r3, #1488 ; 0x5d0 - 802efe6: 60bb str r3, [r7, #8] - 802efe8: 68fb ldr r3, [r7, #12] - 802efea: f103 0394 add.w r3, r3, #148 ; 0x94 - 802efee: 68ba ldr r2, [r7, #8] - 802eff0: 429a cmp r2, r3 - 802eff2: d009 beq.n 802f008 <_ZN11StrategieV3D1Ev+0xc8> - 802eff4: 68bb ldr r3, [r7, #8] - 802eff6: f1a3 0330 sub.w r3, r3, #48 ; 0x30 - 802effa: 60bb str r3, [r7, #8] - 802effc: 68ba ldr r2, [r7, #8] - 802effe: 6813 ldr r3, [r2, #0] - 802f000: 681b ldr r3, [r3, #0] - 802f002: 68b8 ldr r0, [r7, #8] - 802f004: 4798 blx r3 - 802f006: e7ef b.n 802efe8 <_ZN11StrategieV3D1Ev+0xa8> - 802f008: 68fb ldr r3, [r7, #12] - 802f00a: 4618 mov r0, r3 - 802f00c: f7ed f800 bl 801c010 <_ZN17MediumLevelActionD2Ev> - 802f010: f04f 0300 mov.w r3, #0 ; 0x0 - 802f014: b2db uxtb r3, r3 - 802f016: 2b00 cmp r3, #0 - 802f018: d002 beq.n 802f020 <_ZN11StrategieV3D1Ev+0xe0> - 802f01a: 68f8 ldr r0, [r7, #12] - 802f01c: f7e8 faf6 bl 801760c <_ZdlPv> - 802f020: 68fb ldr r3, [r7, #12] - 802f022: 4618 mov r0, r3 - 802f024: f107 0710 add.w r7, r7, #16 ; 0x10 - 802f028: 46bd mov sp, r7 - 802f02a: bd80 pop {r7, pc} - 802f02c: 08034170 .word 0x08034170 - -0802f030 <_ZN7FeuCoteaSERKS_>: - -#include "mediumLevelAction.h" -#include "braslateral.h" - -class FeuCote : public MediumLevelAction -{ - 802f030: b580 push {r7, lr} - 802f032: b082 sub sp, #8 - 802f034: af00 add r7, sp, #0 - 802f036: 6078 str r0, [r7, #4] - 802f038: 6039 str r1, [r7, #0] - 802f03a: 687b ldr r3, [r7, #4] - 802f03c: 683a ldr r2, [r7, #0] - 802f03e: 4618 mov r0, r3 - 802f040: 4611 mov r1, r2 - 802f042: f7ff feb7 bl 802edb4 <_ZN17MediumLevelActionaSERKS_> - 802f046: 687b ldr r3, [r7, #4] - 802f048: f103 0318 add.w r3, r3, #24 ; 0x18 - 802f04c: 683a ldr r2, [r7, #0] - 802f04e: 4618 mov r0, r3 - 802f050: f102 0318 add.w r3, r2, #24 ; 0x18 - 802f054: e893 0006 ldmia.w r3, {r1, r2} - 802f058: f7e8 fc50 bl 80178fc <_ZN8PositionaSES_> - 802f05c: 683b ldr r3, [r7, #0] - 802f05e: 6a1a ldr r2, [r3, #32] - 802f060: 687b ldr r3, [r7, #4] - 802f062: 621a str r2, [r3, #32] - 802f064: 683b ldr r3, [r7, #0] - 802f066: f893 3024 ldrb.w r3, [r3, #36] - 802f06a: 687a ldr r2, [r7, #4] - 802f06c: f882 3024 strb.w r3, [r2, #36] - 802f070: 683b ldr r3, [r7, #0] - 802f072: f893 3025 ldrb.w r3, [r3, #37] - 802f076: 687a ldr r2, [r7, #4] - 802f078: f882 3025 strb.w r3, [r2, #37] - 802f07c: 683b ldr r3, [r7, #0] - 802f07e: f893 3026 ldrb.w r3, [r3, #38] - 802f082: 687a ldr r2, [r7, #4] - 802f084: f882 3026 strb.w r3, [r2, #38] - 802f088: 683b ldr r3, [r7, #0] - 802f08a: f893 3027 ldrb.w r3, [r3, #39] - 802f08e: 687a ldr r2, [r7, #4] - 802f090: f882 3027 strb.w r3, [r2, #39] - 802f094: 683b ldr r3, [r7, #0] - 802f096: 6a9a ldr r2, [r3, #40] - 802f098: 687b ldr r3, [r7, #4] - 802f09a: 629a str r2, [r3, #40] - 802f09c: 687b ldr r3, [r7, #4] - 802f09e: f103 032c add.w r3, r3, #44 ; 0x2c - 802f0a2: 683a ldr r2, [r7, #0] - 802f0a4: 4618 mov r0, r3 - 802f0a6: f102 032c add.w r3, r2, #44 ; 0x2c - 802f0aa: e893 0006 ldmia.w r3, {r1, r2} - 802f0ae: f7e8 fc25 bl 80178fc <_ZN8PositionaSES_> - 802f0b2: 687b ldr r3, [r7, #4] - 802f0b4: f103 0334 add.w r3, r3, #52 ; 0x34 - 802f0b8: 683a ldr r2, [r7, #0] - 802f0ba: 4618 mov r0, r3 - 802f0bc: f102 0334 add.w r3, r2, #52 ; 0x34 - 802f0c0: e893 0006 ldmia.w r3, {r1, r2} - 802f0c4: f7e8 fc1a bl 80178fc <_ZN8PositionaSES_> - 802f0c8: 687b ldr r3, [r7, #4] - 802f0ca: 4618 mov r0, r3 - 802f0cc: f107 0708 add.w r7, r7, #8 ; 0x8 - 802f0d0: 46bd mov sp, r7 - 802f0d2: bd80 pop {r7, pc} - -0802f0d4 <_ZN12DeposeFruitsaSERKS_>: - -#include "mediumLevelAction.h" -#include "braslateral.h" - -class DeposeFruits : public MediumLevelAction -{ - 802f0d4: b580 push {r7, lr} - 802f0d6: b082 sub sp, #8 - 802f0d8: af00 add r7, sp, #0 - 802f0da: 6078 str r0, [r7, #4] - 802f0dc: 6039 str r1, [r7, #0] - 802f0de: 687b ldr r3, [r7, #4] - 802f0e0: 683a ldr r2, [r7, #0] - 802f0e2: 4618 mov r0, r3 - 802f0e4: 4611 mov r1, r2 - 802f0e6: f7ff fe65 bl 802edb4 <_ZN17MediumLevelActionaSERKS_> - 802f0ea: 687b ldr r3, [r7, #4] - 802f0ec: f103 0318 add.w r3, r3, #24 ; 0x18 - 802f0f0: 683a ldr r2, [r7, #0] - 802f0f2: 4618 mov r0, r3 - 802f0f4: f102 0318 add.w r3, r2, #24 ; 0x18 - 802f0f8: e893 0006 ldmia.w r3, {r1, r2} - 802f0fc: f7e8 fbfe bl 80178fc <_ZN8PositionaSES_> - 802f100: 683b ldr r3, [r7, #0] - 802f102: f893 3020 ldrb.w r3, [r3, #32] - 802f106: 687a ldr r2, [r7, #4] - 802f108: f882 3020 strb.w r3, [r2, #32] - 802f10c: 683b ldr r3, [r7, #0] - 802f10e: 6a5a ldr r2, [r3, #36] - 802f110: 687b ldr r3, [r7, #4] - 802f112: 625a str r2, [r3, #36] - 802f114: 687b ldr r3, [r7, #4] - 802f116: 4618 mov r0, r3 - 802f118: f107 0708 add.w r7, r7, #8 ; 0x8 - 802f11c: 46bd mov sp, r7 - 802f11e: bd80 pop {r7, pc} - -0802f120 : - .weak Reset_Handler - .type Reset_Handler, %function -Reset_Handler: - -/* Copy the data segment initializers from flash to SRAM */ - movs r1, #0 - 802f120: 2100 movs r1, #0 - b LoopCopyDataInit - 802f122: e003 b.n 802f12c - -0802f124 : - -CopyDataInit: - ldr r3, =_sidata - 802f124: 4b0a ldr r3, [pc, #40] (802f150 ) - ldr r3, [r3, r1] - 802f126: 585b ldr r3, [r3, r1] - str r3, [r0, r1] - 802f128: 5043 str r3, [r0, r1] - adds r1, r1, #4 - 802f12a: 3104 adds r1, #4 - -0802f12c : - -LoopCopyDataInit: - ldr r0, =_sdata - 802f12c: 4809 ldr r0, [pc, #36] (802f154 ) - ldr r3, =_edata - 802f12e: 4b0a ldr r3, [pc, #40] (802f158 ) - adds r2, r0, r1 - 802f130: 1842 adds r2, r0, r1 - cmp r2, r3 - 802f132: 429a cmp r2, r3 - bcc CopyDataInit - 802f134: d3f6 bcc.n 802f124 - ldr r2, =_sbss - 802f136: 4a09 ldr r2, [pc, #36] (802f15c ) - b LoopFillZerobss - 802f138: e002 b.n 802f140 - -0802f13a : -/* Zero fill the bss segment. */ -FillZerobss: - movs r3, #0 - 802f13a: 2300 movs r3, #0 - str r3, [r2], #4 - 802f13c: f842 3b04 str.w r3, [r2], #4 - -0802f140 : - -LoopFillZerobss: - ldr r3, = _ebss - 802f140: 4b07 ldr r3, [pc, #28] (802f160 ) - cmp r2, r3 - 802f142: 429a cmp r2, r3 - bcc FillZerobss - 802f144: d3f9 bcc.n 802f13a - -/* Call the clock system intitialization function.*/ - bl SystemInit - 802f146: f7d8 ff5b bl 8008000 -/* Call the application's entry point.*/ - bl main - 802f14a: f7e8 f8c3 bl 80172d4
- bx lr - 802f14e: 4770 bx lr - 802f150: 08035cfc .word 0x08035cfc - 802f154: 20000000 .word 0x20000000 - 802f158: 20000554 .word 0x20000554 - 802f15c: 20000554 .word 0x20000554 - 802f160: 20000ee4 .word 0x20000ee4 - -0802f164 : - * @retval None -*/ - .section .text.Default_Handler,"ax",%progbits -Default_Handler: -Infinite_Loop: - b Infinite_Loop - 802f164: e7fe b.n 802f164 - ... - -0802f168 <__cxa_pure_virtual>: - 802f168: b500 push {lr} - 802f16a: 4904 ldr r1, [pc, #16] (802f17c <__cxa_pure_virtual+0x14>) - 802f16c: b081 sub sp, #4 - 802f16e: 221b movs r2, #27 - 802f170: 2002 movs r0, #2 - 802f172: f004 f851 bl 8033218 - 802f176: f000 f821 bl 802f1bc <_ZSt9terminatev> - 802f17a: 46c0 nop (mov r8, r8) - 802f17c: 080347c0 .word 0x080347c0 - -0802f180 <_ZSt13set_terminatePFvvE>: - 802f180: 4b02 ldr r3, [pc, #8] (802f18c <_ZSt13set_terminatePFvvE+0xc>) - 802f182: 681a ldr r2, [r3, #0] - 802f184: 6018 str r0, [r3, #0] - 802f186: 4610 mov r0, r2 - 802f188: 4770 bx lr - 802f18a: 46c0 nop (mov r8, r8) - 802f18c: 20000048 .word 0x20000048 - -0802f190 <_ZSt14set_unexpectedPFvvE>: - 802f190: 4b02 ldr r3, [pc, #8] (802f19c <_ZSt14set_unexpectedPFvvE+0xc>) - 802f192: 681a ldr r2, [r3, #0] - 802f194: 6018 str r0, [r3, #0] - 802f196: 4610 mov r0, r2 - 802f198: 4770 bx lr - 802f19a: 46c0 nop (mov r8, r8) - 802f19c: 20000044 .word 0x20000044 - -0802f1a0 <_ZN10__cxxabiv111__terminateEPFvvE>: - 802f1a0: b510 push {r4, lr} - 802f1a2: 4780 blx r0 - 802f1a4: f002 ffa6 bl 80320f4 - 802f1a8: f000 ff3c bl 8030024 <__cxa_begin_catch> - 802f1ac: f002 ffa2 bl 80320f4 - 802f1b0: 4604 mov r4, r0 - 802f1b2: f000 feef bl 802ff94 <__cxa_end_catch> - 802f1b6: 4620 mov r0, r4 - 802f1b8: f7fa fb0c bl 80297d4 <__cxa_end_cleanup> - -0802f1bc <_ZSt9terminatev>: - 802f1bc: b500 push {lr} - 802f1be: 4b02 ldr r3, [pc, #8] (802f1c8 <_ZSt9terminatev+0xc>) - 802f1c0: b081 sub sp, #4 - 802f1c2: 6818 ldr r0, [r3, #0] - 802f1c4: f7ff ffec bl 802f1a0 <_ZN10__cxxabiv111__terminateEPFvvE> - 802f1c8: 20000048 .word 0x20000048 - -0802f1cc <_ZN10__cxxabiv112__unexpectedEPFvvE>: - 802f1cc: b500 push {lr} - 802f1ce: b081 sub sp, #4 - 802f1d0: 4780 blx r0 - 802f1d2: f7ff fff3 bl 802f1bc <_ZSt9terminatev> - 802f1d6: 46c0 nop (mov r8, r8) - -0802f1d8 <_ZSt10unexpectedv>: - 802f1d8: b500 push {lr} - 802f1da: 4b02 ldr r3, [pc, #8] (802f1e4 <_ZSt10unexpectedv+0xc>) - 802f1dc: b081 sub sp, #4 - 802f1de: 6818 ldr r0, [r3, #0] - 802f1e0: f7ff fff4 bl 802f1cc <_ZN10__cxxabiv112__unexpectedEPFvvE> - 802f1e4: 20000044 .word 0x20000044 - -0802f1e8 <__cxa_begin_cleanup>: - 802f1e8: b510 push {r4, lr} - 802f1ea: 4604 mov r4, r0 - 802f1ec: f001 f9f0 bl 80305d0 <__cxa_get_globals> - 802f1f0: f814 3920 ldrb.w r3, [r4], #-32 - 802f1f4: 2b47 cmp r3, #71 - 802f1f6: d005 beq.n 802f204 <__cxa_begin_cleanup+0x1c> - 802f1f8: 6883 ldr r3, [r0, #8] - 802f1fa: 2b00 cmp r3, #0 - 802f1fc: d127 bne.n 802f24e <__cxa_begin_cleanup+0x66> - 802f1fe: 6084 str r4, [r0, #8] - 802f200: 2001 movs r0, #1 - 802f202: bd10 pop {r4, pc} - 802f204: f894 3021 ldrb.w r3, [r4, #33] - 802f208: 2b4e cmp r3, #78 - 802f20a: d1f5 bne.n 802f1f8 <__cxa_begin_cleanup+0x10> - 802f20c: f894 3022 ldrb.w r3, [r4, #34] - 802f210: 2b55 cmp r3, #85 - 802f212: d1f1 bne.n 802f1f8 <__cxa_begin_cleanup+0x10> - 802f214: f894 3023 ldrb.w r3, [r4, #35] - 802f218: 2b43 cmp r3, #67 - 802f21a: d1ed bne.n 802f1f8 <__cxa_begin_cleanup+0x10> - 802f21c: f894 3024 ldrb.w r3, [r4, #36] - 802f220: 2b43 cmp r3, #67 - 802f222: d1e9 bne.n 802f1f8 <__cxa_begin_cleanup+0x10> - 802f224: f894 3025 ldrb.w r3, [r4, #37] - 802f228: 2b2b cmp r3, #43 - 802f22a: d1e5 bne.n 802f1f8 <__cxa_begin_cleanup+0x10> - 802f22c: f894 3026 ldrb.w r3, [r4, #38] - 802f230: 2b2b cmp r3, #43 - 802f232: d1e1 bne.n 802f1f8 <__cxa_begin_cleanup+0x10> - 802f234: f894 3027 ldrb.w r3, [r4, #39] - 802f238: 2b00 cmp r3, #0 - 802f23a: d1dd bne.n 802f1f8 <__cxa_begin_cleanup+0x10> - 802f23c: 69e3 ldr r3, [r4, #28] - 802f23e: 3301 adds r3, #1 - 802f240: 2b01 cmp r3, #1 - 802f242: 61e3 str r3, [r4, #28] - 802f244: d1dc bne.n 802f200 <__cxa_begin_cleanup+0x18> - 802f246: 6883 ldr r3, [r0, #8] - 802f248: 61a3 str r3, [r4, #24] - 802f24a: 6084 str r4, [r0, #8] - 802f24c: e7d8 b.n 802f200 <__cxa_begin_cleanup+0x18> - 802f24e: f7ff ffb5 bl 802f1bc <_ZSt9terminatev> - 802f252: 46c0 nop (mov r8, r8) - -0802f254 <__cxa_type_match>: - 802f254: b5f0 push {r4, r5, r6, r7, lr} - 802f256: 461f mov r7, r3 - 802f258: 7803 ldrb r3, [r0, #0] - 802f25a: b083 sub sp, #12 - 802f25c: 2b47 cmp r3, #71 - 802f25e: 460e mov r6, r1 - 802f260: d02c beq.n 802f2bc <__cxa_type_match+0x68> - 802f262: 4d27 ldr r5, [pc, #156] (802f300 <__cxa_type_match+0xac>) - 802f264: 683b ldr r3, [r7, #0] - 802f266: 682a ldr r2, [r5, #0] - 802f268: 9301 str r3, [sp, #4] - 802f26a: 4628 mov r0, r5 - 802f26c: 6893 ldr r3, [r2, #8] - 802f26e: 4798 blx r3 - 802f270: b110 cbz r0, 802f278 <__cxa_type_match+0x24> - 802f272: 9b01 ldr r3, [sp, #4] - 802f274: 681a ldr r2, [r3, #0] - 802f276: 9201 str r2, [sp, #4] - 802f278: 6833 ldr r3, [r6, #0] - 802f27a: 4630 mov r0, r6 - 802f27c: 691c ldr r4, [r3, #16] - 802f27e: 4629 mov r1, r5 - 802f280: aa01 add r2, sp, #4 - 802f282: 2301 movs r3, #1 - 802f284: 47a0 blx r4 - 802f286: b1b8 cbz r0, 802f2b8 <__cxa_type_match+0x64> - 802f288: 9b01 ldr r3, [sp, #4] - 802f28a: 6832 ldr r2, [r6, #0] - 802f28c: 603b str r3, [r7, #0] - 802f28e: 4b1d ldr r3, [pc, #116] (802f304 <__cxa_type_match+0xb0>) - 802f290: f852 0c04 ldr.w r0, [r2, #-4] - 802f294: 681a ldr r2, [r3, #0] - 802f296: f852 1c04 ldr.w r1, [r2, #-4] - 802f29a: f001 f8e9 bl 8030470 <_ZNKSt9type_infoeqERKS_> - 802f29e: b150 cbz r0, 802f2b6 <__cxa_type_match+0x62> - 802f2a0: 68f3 ldr r3, [r6, #12] - 802f2a2: 2b00 cmp r3, #0 - 802f2a4: d02a beq.n 802f2fc <__cxa_type_match+0xa8> - 802f2a6: 681b ldr r3, [r3, #0] - 802f2a8: 4917 ldr r1, [pc, #92] (802f308 <__cxa_type_match+0xb4>) - 802f2aa: f853 0c04 ldr.w r0, [r3, #-4] - 802f2ae: f001 f8df bl 8030470 <_ZNKSt9type_infoeqERKS_> - 802f2b2: 2800 cmp r0, #0 - 802f2b4: d01a beq.n 802f2ec <__cxa_type_match+0x98> - 802f2b6: 2001 movs r0, #1 - 802f2b8: b003 add sp, #12 - 802f2ba: bdf0 pop {r4, r5, r6, r7, pc} - 802f2bc: 7843 ldrb r3, [r0, #1] - 802f2be: 2b4e cmp r3, #78 - 802f2c0: d1cf bne.n 802f262 <__cxa_type_match+0xe> - 802f2c2: 7883 ldrb r3, [r0, #2] - 802f2c4: 2b55 cmp r3, #85 - 802f2c6: d1cc bne.n 802f262 <__cxa_type_match+0xe> - 802f2c8: 78c3 ldrb r3, [r0, #3] - 802f2ca: 2b43 cmp r3, #67 - 802f2cc: d1c9 bne.n 802f262 <__cxa_type_match+0xe> - 802f2ce: 7903 ldrb r3, [r0, #4] - 802f2d0: 2b43 cmp r3, #67 - 802f2d2: d1c6 bne.n 802f262 <__cxa_type_match+0xe> - 802f2d4: 7943 ldrb r3, [r0, #5] - 802f2d6: 2b2b cmp r3, #43 - 802f2d8: d1c3 bne.n 802f262 <__cxa_type_match+0xe> - 802f2da: 7983 ldrb r3, [r0, #6] - 802f2dc: 2b2b cmp r3, #43 - 802f2de: d1c0 bne.n 802f262 <__cxa_type_match+0xe> - 802f2e0: 79c3 ldrb r3, [r0, #7] - 802f2e2: 2b00 cmp r3, #0 - 802f2e4: d1bd bne.n 802f262 <__cxa_type_match+0xe> - 802f2e6: f850 5c20 ldr.w r5, [r0, #-32] - 802f2ea: e7bb b.n 802f264 <__cxa_type_match+0x10> - 802f2ec: 68f0 ldr r0, [r6, #12] - 802f2ee: 68e9 ldr r1, [r5, #12] - 802f2f0: f001 f8be bl 8030470 <_ZNKSt9type_infoeqERKS_> - 802f2f4: 2800 cmp r0, #0 - 802f2f6: d1de bne.n 802f2b6 <__cxa_type_match+0x62> - 802f2f8: 3002 adds r0, #2 - 802f2fa: e7dd b.n 802f2b8 <__cxa_type_match+0x64> - 802f2fc: f000 fcbc bl 802fc78 <__cxa_bad_typeid> - 802f300: 08034dd4 .word 0x08034dd4 - 802f304: 08034c10 .word 0x08034c10 - 802f308: 08034c20 .word 0x08034c20 - -0802f30c <__gnu_end_cleanup>: - 802f30c: b500 push {lr} - 802f30e: b081 sub sp, #4 - 802f310: f001 f95e bl 80305d0 <__cxa_get_globals> - 802f314: 4602 mov r2, r0 - 802f316: 6880 ldr r0, [r0, #8] - 802f318: 2800 cmp r0, #0 - 802f31a: d02e beq.n 802f37a <__gnu_end_cleanup+0x6e> - 802f31c: f890 3020 ldrb.w r3, [r0, #32] - 802f320: 2b47 cmp r3, #71 - 802f322: d004 beq.n 802f32e <__gnu_end_cleanup+0x22> - 802f324: 2300 movs r3, #0 - 802f326: 6093 str r3, [r2, #8] - 802f328: 3020 adds r0, #32 - 802f32a: b001 add sp, #4 - 802f32c: bd00 pop {pc} - 802f32e: f890 3021 ldrb.w r3, [r0, #33] - 802f332: 2b4e cmp r3, #78 - 802f334: d1f6 bne.n 802f324 <__gnu_end_cleanup+0x18> - 802f336: f890 3022 ldrb.w r3, [r0, #34] - 802f33a: 2b55 cmp r3, #85 - 802f33c: d1f2 bne.n 802f324 <__gnu_end_cleanup+0x18> - 802f33e: f890 3023 ldrb.w r3, [r0, #35] - 802f342: 2b43 cmp r3, #67 - 802f344: d1ee bne.n 802f324 <__gnu_end_cleanup+0x18> - 802f346: f890 3024 ldrb.w r3, [r0, #36] - 802f34a: 2b43 cmp r3, #67 - 802f34c: d1ea bne.n 802f324 <__gnu_end_cleanup+0x18> - 802f34e: f890 3025 ldrb.w r3, [r0, #37] - 802f352: 2b2b cmp r3, #43 - 802f354: d1e6 bne.n 802f324 <__gnu_end_cleanup+0x18> - 802f356: f890 3026 ldrb.w r3, [r0, #38] - 802f35a: 2b2b cmp r3, #43 - 802f35c: d1e2 bne.n 802f324 <__gnu_end_cleanup+0x18> - 802f35e: f890 3027 ldrb.w r3, [r0, #39] - 802f362: 2b00 cmp r3, #0 - 802f364: d1de bne.n 802f324 <__gnu_end_cleanup+0x18> - 802f366: 69c3 ldr r3, [r0, #28] - 802f368: 3b01 subs r3, #1 - 802f36a: 61c3 str r3, [r0, #28] - 802f36c: 2b00 cmp r3, #0 - 802f36e: d1db bne.n 802f328 <__gnu_end_cleanup+0x1c> - 802f370: 6983 ldr r3, [r0, #24] - 802f372: 6093 str r3, [r2, #8] - 802f374: 2200 movs r2, #0 - 802f376: 6182 str r2, [r0, #24] - 802f378: e7d6 b.n 802f328 <__gnu_end_cleanup+0x1c> - 802f37a: f7ff ff1f bl 802f1bc <_ZSt9terminatev> - 802f37e: 46c0 nop (mov r8, r8) - -0802f380 <_ZL21base_of_encoded_valuehP15_Unwind_Context>: - 802f380: b500 push {lr} - 802f382: 28ff cmp r0, #255 - 802f384: b081 sub sp, #4 - 802f386: d00d beq.n 802f3a4 <_ZL21base_of_encoded_valuehP15_Unwind_Context+0x24> - 802f388: f000 0070 and.w r0, r0, #112 ; 0x70 - 802f38c: 2820 cmp r0, #32 - 802f38e: d018 beq.n 802f3c2 <_ZL21base_of_encoded_valuehP15_Unwind_Context+0x42> - 802f390: dd07 ble.n 802f3a2 <_ZL21base_of_encoded_valuehP15_Unwind_Context+0x22> - 802f392: 2840 cmp r0, #64 - 802f394: d00d beq.n 802f3b2 <_ZL21base_of_encoded_valuehP15_Unwind_Context+0x32> - 802f396: 2850 cmp r0, #80 - 802f398: d004 beq.n 802f3a4 <_ZL21base_of_encoded_valuehP15_Unwind_Context+0x24> - 802f39a: 2830 cmp r0, #48 - 802f39c: d00d beq.n 802f3ba <_ZL21base_of_encoded_valuehP15_Unwind_Context+0x3a> - 802f39e: f002 fea9 bl 80320f4 - 802f3a2: b910 cbnz r0, 802f3aa <_ZL21base_of_encoded_valuehP15_Unwind_Context+0x2a> - 802f3a4: 2000 movs r0, #0 - 802f3a6: b001 add sp, #4 - 802f3a8: bd00 pop {pc} - 802f3aa: 2810 cmp r0, #16 - 802f3ac: d0fa beq.n 802f3a4 <_ZL21base_of_encoded_valuehP15_Unwind_Context+0x24> - 802f3ae: f002 fea1 bl 80320f4 - 802f3b2: 4608 mov r0, r1 - 802f3b4: f7fe fe70 bl 802e098 <_Unwind_GetRegionStart> - 802f3b8: e7f5 b.n 802f3a6 <_ZL21base_of_encoded_valuehP15_Unwind_Context+0x26> - 802f3ba: 4608 mov r0, r1 - 802f3bc: f7fe fe48 bl 802e050 <_Unwind_GetDataRelBase> - 802f3c0: e7f1 b.n 802f3a6 <_ZL21base_of_encoded_valuehP15_Unwind_Context+0x26> - 802f3c2: 4608 mov r0, r1 - 802f3c4: f7fe fe40 bl 802e048 <_Unwind_GetTextRelBase> - 802f3c8: e7ed b.n 802f3a6 <_ZL21base_of_encoded_valuehP15_Unwind_Context+0x26> - 802f3ca: 46c0 nop (mov r8, r8) - -0802f3cc <_ZL17parse_lsda_headerP15_Unwind_ContextPKhP16lsda_header_info>: - 802f3cc: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 802f3d0: 4604 mov r4, r0 - 802f3d2: 460e mov r6, r1 - 802f3d4: 4617 mov r7, r2 - 802f3d6: b108 cbz r0, 802f3dc <_ZL17parse_lsda_headerP15_Unwind_ContextPKhP16lsda_header_info+0x10> - 802f3d8: f7fe fe5e bl 802e098 <_Unwind_GetRegionStart> - 802f3dc: 6038 str r0, [r7, #0] - 802f3de: 4635 mov r5, r6 - 802f3e0: f815 8b01 ldrb.w r8, [r5], #1 - 802f3e4: f1b8 0fff cmp.w r8, #255 ; 0xff - 802f3e8: bf08 it eq - 802f3ea: 6078 streq r0, [r7, #4] - 802f3ec: d03d beq.n 802f46a <_ZL17parse_lsda_headerP15_Unwind_ContextPKhP16lsda_header_info+0x9e> - 802f3ee: 4640 mov r0, r8 - 802f3f0: 4621 mov r1, r4 - 802f3f2: f7ff ffc5 bl 802f380 <_ZL21base_of_encoded_valuehP15_Unwind_Context> - 802f3f6: f1b8 0f50 cmp.w r8, #80 ; 0x50 - 802f3fa: d06d beq.n 802f4d8 <_ZL17parse_lsda_headerP15_Unwind_ContextPKhP16lsda_header_info+0x10c> - 802f3fc: f008 030f and.w r3, r8, #15 ; 0xf - 802f400: 46ae mov lr, r5 - 802f402: 2b0c cmp r3, #12 - 802f404: f200 808d bhi.w 802f522 <_ZL17parse_lsda_headerP15_Unwind_ContextPKhP16lsda_header_info+0x156> - 802f408: e8df f003 tbb [pc, r3] - 802f40c: 6d858d6d .word 0x6d858d6d - 802f410: 8b8b8b79 .word 0x8b8b8b79 - 802f414: 6d9f078b .word 0x6d9f078b - 802f418: 0079 .short 0x0079 - 802f41a: 2400 movs r4, #0 - 802f41c: 1cb1 adds r1, r6, #2 - 802f41e: 46a4 mov ip, r4 - 802f420: f811 2c01 ldrb.w r2, [r1, #-1] - 802f424: 460d mov r5, r1 - 802f426: f002 037f and.w r3, r2, #127 ; 0x7f - 802f42a: fa03 f30c lsl.w r3, r3, ip - 802f42e: 3101 adds r1, #1 - 802f430: 431c orrs r4, r3 - 802f432: f012 0f80 tst.w r2, #128 ; 0x80 - 802f436: f10c 0c07 add.w ip, ip, #7 ; 0x7 - 802f43a: d1f1 bne.n 802f420 <_ZL17parse_lsda_headerP15_Unwind_ContextPKhP16lsda_header_info+0x54> - 802f43c: f1bc 0f1f cmp.w ip, #31 ; 0x1f - 802f440: d807 bhi.n 802f452 <_ZL17parse_lsda_headerP15_Unwind_ContextPKhP16lsda_header_info+0x86> - 802f442: f012 0f40 tst.w r2, #64 ; 0x40 - 802f446: bf1e ittt ne - 802f448: f04f 33ff movne.w r3, #4294967295 ; 0xffffffff - 802f44c: fa03 f30c lslne.w r3, r3, ip - 802f450: 431c orrne r4, r3 - 802f452: b14c cbz r4, 802f468 <_ZL17parse_lsda_headerP15_Unwind_ContextPKhP16lsda_header_info+0x9c> - 802f454: f008 0370 and.w r3, r8, #112 ; 0x70 - 802f458: 2b10 cmp r3, #16 - 802f45a: bf08 it eq - 802f45c: 4670 moveq r0, lr - 802f45e: 1824 adds r4, r4, r0 - 802f460: f018 0f80 tst.w r8, #128 ; 0x80 - 802f464: bf18 it ne - 802f466: 6824 ldrne r4, [r4, #0] - 802f468: 607c str r4, [r7, #4] - 802f46a: 462c mov r4, r5 - 802f46c: f814 3b01 ldrb.w r3, [r4], #1 - 802f470: 2bff cmp r3, #255 - 802f472: 753b strb r3, [r7, #20] - 802f474: d02d beq.n 802f4d2 <_ZL17parse_lsda_headerP15_Unwind_ContextPKhP16lsda_header_info+0x106> - 802f476: f04f 0c00 mov.w ip, #0 ; 0x0 - 802f47a: 1ca9 adds r1, r5, #2 - 802f47c: 4660 mov r0, ip - 802f47e: f811 2c01 ldrb.w r2, [r1, #-1] - 802f482: 460c mov r4, r1 - 802f484: f002 037f and.w r3, r2, #127 ; 0x7f - 802f488: 4083 lsls r3, r0 - 802f48a: 3101 adds r1, #1 - 802f48c: 3007 adds r0, #7 - 802f48e: f012 0f80 tst.w r2, #128 ; 0x80 - 802f492: ea4c 0c03 orr.w ip, ip, r3 - 802f496: d1f2 bne.n 802f47e <_ZL17parse_lsda_headerP15_Unwind_ContextPKhP16lsda_header_info+0xb2> - 802f498: eb04 030c add.w r3, r4, ip - 802f49c: 60fb str r3, [r7, #12] - 802f49e: 4621 mov r1, r4 - 802f4a0: f811 3b02 ldrb.w r3, [r1], #2 - 802f4a4: 2000 movs r0, #0 - 802f4a6: 757b strb r3, [r7, #21] - 802f4a8: 4684 mov ip, r0 - 802f4aa: f811 2c01 ldrb.w r2, [r1, #-1] - 802f4ae: 460c mov r4, r1 - 802f4b0: f002 037f and.w r3, r2, #127 ; 0x7f - 802f4b4: fa03 f30c lsl.w r3, r3, ip - 802f4b8: 3101 adds r1, #1 - 802f4ba: 4318 orrs r0, r3 - 802f4bc: f012 0f80 tst.w r2, #128 ; 0x80 - 802f4c0: f10c 0c07 add.w ip, ip, #7 ; 0x7 - 802f4c4: d1f1 bne.n 802f4aa <_ZL17parse_lsda_headerP15_Unwind_ContextPKhP16lsda_header_info+0xde> - 802f4c6: eb04 0300 add.w r3, r4, r0 - 802f4ca: 613b str r3, [r7, #16] - 802f4cc: 4620 mov r0, r4 - 802f4ce: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - 802f4d2: 2300 movs r3, #0 - 802f4d4: 60fb str r3, [r7, #12] - 802f4d6: e7e2 b.n 802f49e <_ZL17parse_lsda_headerP15_Unwind_ContextPKhP16lsda_header_info+0xd2> - 802f4d8: 1d33 adds r3, r6, #4 - 802f4da: f023 0503 bic.w r5, r3, #3 ; 0x3 - 802f4de: f855 4b04 ldr.w r4, [r5], #4 - 802f4e2: 607c str r4, [r7, #4] - 802f4e4: e7c1 b.n 802f46a <_ZL17parse_lsda_headerP15_Unwind_ContextPKhP16lsda_header_info+0x9e> - 802f4e6: 786a ldrb r2, [r5, #1] - 802f4e8: 7873 ldrb r3, [r6, #1] - 802f4ea: 78a9 ldrb r1, [r5, #2] - 802f4ec: ea43 2302 orr.w r3, r3, r2, lsl #8 - 802f4f0: 78ea ldrb r2, [r5, #3] - 802f4f2: ea43 4301 orr.w r3, r3, r1, lsl #16 - 802f4f6: ea43 6402 orr.w r4, r3, r2, lsl #24 - 802f4fa: 3504 adds r5, #4 - 802f4fc: e7a9 b.n 802f452 <_ZL17parse_lsda_headerP15_Unwind_ContextPKhP16lsda_header_info+0x86> - 802f4fe: 786a ldrb r2, [r5, #1] - 802f500: 7873 ldrb r3, [r6, #1] - 802f502: 78a9 ldrb r1, [r5, #2] - 802f504: ea43 2302 orr.w r3, r3, r2, lsl #8 - 802f508: 78ea ldrb r2, [r5, #3] - 802f50a: ea43 4301 orr.w r3, r3, r1, lsl #16 - 802f50e: ea43 6402 orr.w r4, r3, r2, lsl #24 - 802f512: 3508 adds r5, #8 - 802f514: e79d b.n 802f452 <_ZL17parse_lsda_headerP15_Unwind_ContextPKhP16lsda_header_info+0x86> - 802f516: 786b ldrb r3, [r5, #1] - 802f518: 7872 ldrb r2, [r6, #1] - 802f51a: 3502 adds r5, #2 - 802f51c: ea42 2403 orr.w r4, r2, r3, lsl #8 - 802f520: e797 b.n 802f452 <_ZL17parse_lsda_headerP15_Unwind_ContextPKhP16lsda_header_info+0x86> - 802f522: f002 fde7 bl 80320f4 - 802f526: 2400 movs r4, #0 - 802f528: 1cb1 adds r1, r6, #2 - 802f52a: 46a4 mov ip, r4 - 802f52c: f811 2c01 ldrb.w r2, [r1, #-1] - 802f530: 460d mov r5, r1 - 802f532: f002 037f and.w r3, r2, #127 ; 0x7f - 802f536: fa03 f30c lsl.w r3, r3, ip - 802f53a: 3101 adds r1, #1 - 802f53c: 431c orrs r4, r3 - 802f53e: f012 0f80 tst.w r2, #128 ; 0x80 - 802f542: f10c 0c07 add.w ip, ip, #7 ; 0x7 - 802f546: d1f1 bne.n 802f52c <_ZL17parse_lsda_headerP15_Unwind_ContextPKhP16lsda_header_info+0x160> - 802f548: e783 b.n 802f452 <_ZL17parse_lsda_headerP15_Unwind_ContextPKhP16lsda_header_info+0x86> - 802f54a: 786a ldrb r2, [r5, #1] - 802f54c: 7873 ldrb r3, [r6, #1] - 802f54e: 3502 adds r5, #2 - 802f550: ea43 2302 orr.w r3, r3, r2, lsl #8 - 802f554: 041b lsls r3, r3, #16 - 802f556: 141c asrs r4, r3, #16 - 802f558: e77b b.n 802f452 <_ZL17parse_lsda_headerP15_Unwind_ContextPKhP16lsda_header_info+0x86> - 802f55a: 46c0 nop (mov r8, r8) - -0802f55c <__gxx_personality_v0>: - 802f55c: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 802f560: f101 0358 add.w r3, r1, #88 ; 0x58 - 802f564: b093 sub sp, #76 - 802f566: 9311 str r3, [sp, #68] - 802f568: f000 0303 and.w r3, r0, #3 ; 0x3 - 802f56c: 2b01 cmp r3, #1 - 802f56e: 468a mov sl, r1 - 802f570: 4691 mov r9, r2 - 802f572: f000 813f beq.w 802f7f4 <__gxx_personality_v0+0x298> - 802f576: 2b02 cmp r3, #2 - 802f578: f000 8132 beq.w 802f7e0 <__gxx_personality_v0+0x284> - 802f57c: 2b00 cmp r3, #0 - 802f57e: d156 bne.n 802f62e <__gxx_personality_v0+0xd2> - 802f580: f000 0508 and.w r5, r0, #8 ; 0x8 - 802f584: 2301 movs r3, #1 - 802f586: f10d 0b3c add.w fp, sp, #60 ; 0x3c - 802f58a: 2100 movs r1, #0 - 802f58c: ea45 0303 orr.w r3, r5, r3 - 802f590: 220c movs r2, #12 - 802f592: 9306 str r3, [sp, #24] - 802f594: 4648 mov r0, r9 - 802f596: 460b mov r3, r1 - 802f598: f8cd a03c str.w sl, [sp, #60] - 802f59c: f8cd b000 str.w fp, [sp] - 802f5a0: f7fd ff42 bl 802d428 <_Unwind_VRS_Set> - 802f5a4: 9a06 ldr r2, [sp, #24] - 802f5a6: 2a06 cmp r2, #6 - 802f5a8: f000 8144 beq.w 802f834 <__gxx_personality_v0+0x2d8> - 802f5ac: 4648 mov r0, r9 - 802f5ae: f7fe fd67 bl 802e080 <_Unwind_GetLanguageSpecificData> - 802f5b2: 9004 str r0, [sp, #16] - 802f5b4: 2800 cmp r0, #0 - 802f5b6: f000 8113 beq.w 802f7e0 <__gxx_personality_v0+0x284> - 802f5ba: aa09 add r2, sp, #36 - 802f5bc: 9904 ldr r1, [sp, #16] - 802f5be: 4648 mov r0, r9 - 802f5c0: f7ff ff04 bl 802f3cc <_ZL17parse_lsda_headerP15_Unwind_ContextPKhP16lsda_header_info> - 802f5c4: 4649 mov r1, r9 - 802f5c6: 4604 mov r4, r0 - 802f5c8: f89d 0038 ldrb.w r0, [sp, #56] - 802f5cc: f7ff fed8 bl 802f380 <_ZL21base_of_encoded_valuehP15_Unwind_Context> - 802f5d0: 2100 movs r1, #0 - 802f5d2: 900b str r0, [sp, #44] - 802f5d4: 460b mov r3, r1 - 802f5d6: 4648 mov r0, r9 - 802f5d8: 220f movs r2, #15 - 802f5da: f8cd b000 str.w fp, [sp] - 802f5de: f7fd fefb bl 802d3d8 <_Unwind_VRS_Get> - 802f5e2: 9b0f ldr r3, [sp, #60] - 802f5e4: f023 0301 bic.w r3, r3, #1 ; 0x1 - 802f5e8: 3b01 subs r3, #1 - 802f5ea: 9307 str r3, [sp, #28] - 802f5ec: 9b0d ldr r3, [sp, #52] - 802f5ee: 429c cmp r4, r3 - 802f5f0: f080 8230 bcs.w 802fa54 <__gxx_personality_v0+0x4f8> - 802f5f4: f89d 5039 ldrb.w r5, [sp, #57] - 802f5f8: 2100 movs r1, #0 - 802f5fa: 4628 mov r0, r5 - 802f5fc: f7ff fec0 bl 802f380 <_ZL21base_of_encoded_valuehP15_Unwind_Context> - 802f600: 2d50 cmp r5, #80 - 802f602: f000 80cb beq.w 802f79c <__gxx_personality_v0+0x240> - 802f606: f005 030f and.w r3, r5, #15 ; 0xf - 802f60a: 46a4 mov ip, r4 - 802f60c: 2b0c cmp r3, #12 - 802f60e: d80e bhi.n 802f62e <__gxx_personality_v0+0xd2> - 802f610: e8df f013 tbh [pc, r3, lsl #1] - 802f614: 017e000f .word 0x017e000f - 802f618: 000f018b .word 0x000f018b - 802f61c: 000d0158 .word 0x000d0158 - 802f620: 000d000d .word 0x000d000d - 802f624: 0199000d .word 0x0199000d - 802f628: 000f0191 .word 0x000f0191 - 802f62c: 0158 .short 0x0158 - 802f62e: f002 fd61 bl 80320f4 - 802f632: 7862 ldrb r2, [r4, #1] - 802f634: 7823 ldrb r3, [r4, #0] - 802f636: 78a1 ldrb r1, [r4, #2] - 802f638: ea43 2302 orr.w r3, r3, r2, lsl #8 - 802f63c: 78e2 ldrb r2, [r4, #3] - 802f63e: ea43 4301 orr.w r3, r3, r1, lsl #16 - 802f642: ea43 6702 orr.w r7, r3, r2, lsl #24 - 802f646: 3404 adds r4, #4 - 802f648: b14f cbz r7, 802f65e <__gxx_personality_v0+0x102> - 802f64a: f005 0370 and.w r3, r5, #112 ; 0x70 - 802f64e: 2b10 cmp r3, #16 - 802f650: bf08 it eq - 802f652: 4660 moveq r0, ip - 802f654: 183f adds r7, r7, r0 - 802f656: f015 0f80 tst.w r5, #128 ; 0x80 - 802f65a: bf18 it ne - 802f65c: 683f ldrne r7, [r7, #0] - 802f65e: f89d 5039 ldrb.w r5, [sp, #57] - 802f662: 2100 movs r1, #0 - 802f664: 4628 mov r0, r5 - 802f666: f7ff fe8b bl 802f380 <_ZL21base_of_encoded_valuehP15_Unwind_Context> - 802f66a: 2d50 cmp r5, #80 - 802f66c: f000 80a4 beq.w 802f7b8 <__gxx_personality_v0+0x25c> - 802f670: f005 030f and.w r3, r5, #15 ; 0xf - 802f674: 46a4 mov ip, r4 - 802f676: 2b0c cmp r3, #12 - 802f678: d8d9 bhi.n 802f62e <__gxx_personality_v0+0xd2> - 802f67a: a201 add r2, pc, #4 (adr r2, 802f680 <__gxx_personality_v0+0x124>) - 802f67c: f852 f023 ldr.w pc, [r2, r3, lsl #2] - 802f680: 0802f6b5 .word 0x0802f6b5 - 802f684: 0802f989 .word 0x0802f989 - 802f688: 0802f97d .word 0x0802f97d - 802f68c: 0802f6b5 .word 0x0802f6b5 - 802f690: 0802f8e1 .word 0x0802f8e1 - 802f694: 0802f62f .word 0x0802f62f - 802f698: 0802f62f .word 0x0802f62f - 802f69c: 0802f62f .word 0x0802f62f - 802f6a0: 0802f62f .word 0x0802f62f - 802f6a4: 0802f9b3 .word 0x0802f9b3 - 802f6a8: 0802f9a3 .word 0x0802f9a3 - 802f6ac: 0802f6b5 .word 0x0802f6b5 - 802f6b0: 0802f8e1 .word 0x0802f8e1 - 802f6b4: 7862 ldrb r2, [r4, #1] - 802f6b6: 7823 ldrb r3, [r4, #0] - 802f6b8: 78a1 ldrb r1, [r4, #2] - 802f6ba: ea43 2302 orr.w r3, r3, r2, lsl #8 - 802f6be: 78e2 ldrb r2, [r4, #3] - 802f6c0: ea43 4301 orr.w r3, r3, r1, lsl #16 - 802f6c4: ea43 6602 orr.w r6, r3, r2, lsl #24 - 802f6c8: 3404 adds r4, #4 - 802f6ca: b14e cbz r6, 802f6e0 <__gxx_personality_v0+0x184> - 802f6cc: f005 0370 and.w r3, r5, #112 ; 0x70 - 802f6d0: 2b10 cmp r3, #16 - 802f6d2: bf08 it eq - 802f6d4: 4660 moveq r0, ip - 802f6d6: 1836 adds r6, r6, r0 - 802f6d8: f015 0f80 tst.w r5, #128 ; 0x80 - 802f6dc: bf18 it ne - 802f6de: 6836 ldrne r6, [r6, #0] - 802f6e0: f89d 8039 ldrb.w r8, [sp, #57] - 802f6e4: 2100 movs r1, #0 - 802f6e6: 4640 mov r0, r8 - 802f6e8: f7ff fe4a bl 802f380 <_ZL21base_of_encoded_valuehP15_Unwind_Context> - 802f6ec: f1b8 0f50 cmp.w r8, #80 ; 0x50 - 802f6f0: d070 beq.n 802f7d4 <__gxx_personality_v0+0x278> - 802f6f2: f008 030f and.w r3, r8, #15 ; 0xf - 802f6f6: 46a4 mov ip, r4 - 802f6f8: 2b0c cmp r3, #12 - 802f6fa: d898 bhi.n 802f62e <__gxx_personality_v0+0xd2> - 802f6fc: a201 add r2, pc, #4 (adr r2, 802f704 <__gxx_personality_v0+0x1a8>) - 802f6fe: f852 f023 ldr.w pc, [r2, r3, lsl #2] - 802f702: 46c0 nop (mov r8, r8) - 802f704: 0802f739 .word 0x0802f739 - 802f708: 0802f9f5 .word 0x0802f9f5 - 802f70c: 0802f9e9 .word 0x0802f9e9 - 802f710: 0802f739 .word 0x0802f739 - 802f714: 0802f8f9 .word 0x0802f8f9 - 802f718: 0802f62f .word 0x0802f62f - 802f71c: 0802f62f .word 0x0802f62f - 802f720: 0802f62f .word 0x0802f62f - 802f724: 0802f62f .word 0x0802f62f - 802f728: 0802fa1f .word 0x0802fa1f - 802f72c: 0802fa0f .word 0x0802fa0f - 802f730: 0802f739 .word 0x0802f739 - 802f734: 0802f8f9 .word 0x0802f8f9 - 802f738: 7862 ldrb r2, [r4, #1] - 802f73a: 7823 ldrb r3, [r4, #0] - 802f73c: 78a1 ldrb r1, [r4, #2] - 802f73e: ea43 2302 orr.w r3, r3, r2, lsl #8 - 802f742: 78e2 ldrb r2, [r4, #3] - 802f744: ea43 4301 orr.w r3, r3, r1, lsl #16 - 802f748: ea43 6502 orr.w r5, r3, r2, lsl #24 - 802f74c: 3404 adds r4, #4 - 802f74e: b14d cbz r5, 802f764 <__gxx_personality_v0+0x208> - 802f750: f008 0370 and.w r3, r8, #112 ; 0x70 - 802f754: 2b10 cmp r3, #16 - 802f756: bf08 it eq - 802f758: 4660 moveq r0, ip - 802f75a: 182d adds r5, r5, r0 - 802f75c: f018 0f80 tst.w r8, #128 ; 0x80 - 802f760: bf18 it ne - 802f762: 682d ldrne r5, [r5, #0] - 802f764: 2000 movs r0, #0 - 802f766: 4601 mov r1, r0 - 802f768: f814 2b01 ldrb.w r2, [r4], #1 - 802f76c: f002 037f and.w r3, r2, #127 ; 0x7f - 802f770: 408b lsls r3, r1 - 802f772: 3107 adds r1, #7 - 802f774: 4318 orrs r0, r3 - 802f776: f012 0f80 tst.w r2, #128 ; 0x80 - 802f77a: d1f5 bne.n 802f768 <__gxx_personality_v0+0x20c> - 802f77c: 9b09 ldr r3, [sp, #36] - 802f77e: 9a07 ldr r2, [sp, #28] - 802f780: 443b add r3, r7 - 802f782: 429a cmp r2, r3 - 802f784: bf3c itt cc - 802f786: 9c0d ldrcc r4, [sp, #52] - 802f788: 4623 movcc r3, r4 - 802f78a: f4ff af30 bcc.w 802f5ee <__gxx_personality_v0+0x92> - 802f78e: 9a07 ldr r2, [sp, #28] - 802f790: 4433 add r3, r6 - 802f792: 429a cmp r2, r3 - 802f794: f0c0 8189 bcc.w 802faaa <__gxx_personality_v0+0x54e> - 802f798: 9b0d ldr r3, [sp, #52] - 802f79a: e728 b.n 802f5ee <__gxx_personality_v0+0x92> - 802f79c: f89d 5039 ldrb.w r5, [sp, #57] - 802f7a0: 1ce3 adds r3, r4, #3 - 802f7a2: f023 0403 bic.w r4, r3, #3 ; 0x3 - 802f7a6: 2100 movs r1, #0 - 802f7a8: 4628 mov r0, r5 - 802f7aa: f854 7b04 ldr.w r7, [r4], #4 - 802f7ae: f7ff fde7 bl 802f380 <_ZL21base_of_encoded_valuehP15_Unwind_Context> - 802f7b2: 2d50 cmp r5, #80 - 802f7b4: f47f af5c bne.w 802f670 <__gxx_personality_v0+0x114> - 802f7b8: f89d 8039 ldrb.w r8, [sp, #57] - 802f7bc: 1ce3 adds r3, r4, #3 - 802f7be: f023 0403 bic.w r4, r3, #3 ; 0x3 - 802f7c2: 2100 movs r1, #0 - 802f7c4: 4640 mov r0, r8 - 802f7c6: f854 6b04 ldr.w r6, [r4], #4 - 802f7ca: f7ff fdd9 bl 802f380 <_ZL21base_of_encoded_valuehP15_Unwind_Context> - 802f7ce: f1b8 0f50 cmp.w r8, #80 ; 0x50 - 802f7d2: d18e bne.n 802f6f2 <__gxx_personality_v0+0x196> - 802f7d4: 1ce3 adds r3, r4, #3 - 802f7d6: f023 0403 bic.w r4, r3, #3 ; 0x3 - 802f7da: f854 5b04 ldr.w r5, [r4], #4 - 802f7de: e7c1 b.n 802f764 <__gxx_personality_v0+0x208> - 802f7e0: 4650 mov r0, sl - 802f7e2: 4649 mov r1, r9 - 802f7e4: f7fe fde0 bl 802e3a8 <__gnu_unwind_frame> - 802f7e8: 2800 cmp r0, #0 - 802f7ea: d077 beq.n 802f8dc <__gxx_personality_v0+0x380> - 802f7ec: 2009 movs r0, #9 - 802f7ee: b013 add sp, #76 - 802f7f0: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} - 802f7f4: f010 0508 ands.w r5, r0, #8 ; 0x8 - 802f7f8: bf18 it ne - 802f7fa: f10d 0b3c addne.w fp, sp, #60 ; 0x3c - 802f7fe: d15f bne.n 802f8c0 <__gxx_personality_v0+0x364> - 802f800: 6a0c ldr r4, [r1, #32] - 802f802: 4610 mov r0, r2 - 802f804: 462b mov r3, r5 - 802f806: 220d movs r2, #13 - 802f808: f10d 0b3c add.w fp, sp, #60 ; 0x3c - 802f80c: 4629 mov r1, r5 - 802f80e: f8cd b000 str.w fp, [sp] - 802f812: f7fd fde1 bl 802d3d8 <_Unwind_VRS_Get> - 802f816: 9b0f ldr r3, [sp, #60] - 802f818: 429c cmp r4, r3 - 802f81a: d151 bne.n 802f8c0 <__gxx_personality_v0+0x364> - 802f81c: 462b mov r3, r5 - 802f81e: 4648 mov r0, r9 - 802f820: 4629 mov r1, r5 - 802f822: 220c movs r2, #12 - 802f824: f8cd a03c str.w sl, [sp, #60] - 802f828: f8cd b000 str.w fp, [sp] - 802f82c: f7fd fdfc bl 802d428 <_Unwind_VRS_Set> - 802f830: 2306 movs r3, #6 - 802f832: 9306 str r3, [sp, #24] - 802f834: f8da 8030 ldr.w r8, [sl, #48] - 802f838: f8da 1028 ldr.w r1, [sl, #40] - 802f83c: f8da 002c ldr.w r0, [sl, #44] - 802f840: f1b8 0f00 cmp.w r8, #0 ; 0x0 - 802f844: f000 8129 beq.w 802fa9a <__gxx_personality_v0+0x53e> - 802f848: 460f mov r7, r1 - 802f84a: 9004 str r0, [sp, #16] - 802f84c: 2403 movs r4, #3 - 802f84e: 9b06 ldr r3, [sp, #24] - 802f850: f013 0508 ands.w r5, r3, #8 ; 0x8 - 802f854: f000 81df beq.w 802fc16 <__gxx_personality_v0+0x6ba> - 802f858: 2c01 cmp r4, #1 - 802f85a: f000 81da beq.w 802fc12 <__gxx_personality_v0+0x6b6> - 802f85e: 2f00 cmp r7, #0 - 802f860: f2c0 81d5 blt.w 802fc0e <__gxx_personality_v0+0x6b2> - 802f864: 2100 movs r1, #0 - 802f866: 460a mov r2, r1 - 802f868: 460b mov r3, r1 - 802f86a: 4648 mov r0, r9 - 802f86c: f8cd a03c str.w sl, [sp, #60] - 802f870: f8cd b000 str.w fp, [sp] - 802f874: f7fd fdd8 bl 802d428 <_Unwind_VRS_Set> - 802f878: 2100 movs r1, #0 - 802f87a: 2201 movs r2, #1 - 802f87c: 460b mov r3, r1 - 802f87e: 4648 mov r0, r9 - 802f880: 970f str r7, [sp, #60] - 802f882: f8cd b000 str.w fp, [sp] - 802f886: f7fd fdcf bl 802d428 <_Unwind_VRS_Set> - 802f88a: 2100 movs r1, #0 - 802f88c: 220f movs r2, #15 - 802f88e: 460b mov r3, r1 - 802f890: 4648 mov r0, r9 - 802f892: f8cd b000 str.w fp, [sp] - 802f896: f7fd fd9f bl 802d3d8 <_Unwind_VRS_Get> - 802f89a: 9b0f ldr r3, [sp, #60] - 802f89c: 2100 movs r1, #0 - 802f89e: f003 0301 and.w r3, r3, #1 ; 0x1 - 802f8a2: ea48 0303 orr.w r3, r8, r3 - 802f8a6: 930f str r3, [sp, #60] - 802f8a8: 220f movs r2, #15 - 802f8aa: 4648 mov r0, r9 - 802f8ac: 460b mov r3, r1 - 802f8ae: f8cd b000 str.w fp, [sp] - 802f8b2: f7fd fdb9 bl 802d428 <_Unwind_VRS_Set> - 802f8b6: 2c02 cmp r4, #2 - 802f8b8: f000 80f2 beq.w 802faa0 <__gxx_personality_v0+0x544> - 802f8bc: 2007 movs r0, #7 - 802f8be: e796 b.n 802f7ee <__gxx_personality_v0+0x292> - 802f8c0: 2302 movs r3, #2 - 802f8c2: e662 b.n 802f58a <__gxx_personality_v0+0x2e> - 802f8c4: 7862 ldrb r2, [r4, #1] - 802f8c6: 7823 ldrb r3, [r4, #0] - 802f8c8: 78a1 ldrb r1, [r4, #2] - 802f8ca: ea43 2302 orr.w r3, r3, r2, lsl #8 - 802f8ce: 78e2 ldrb r2, [r4, #3] - 802f8d0: ea43 4301 orr.w r3, r3, r1, lsl #16 - 802f8d4: ea43 6702 orr.w r7, r3, r2, lsl #24 - 802f8d8: 3408 adds r4, #8 - 802f8da: e6b5 b.n 802f648 <__gxx_personality_v0+0xec> - 802f8dc: 2008 movs r0, #8 - 802f8de: e786 b.n 802f7ee <__gxx_personality_v0+0x292> - 802f8e0: 7862 ldrb r2, [r4, #1] - 802f8e2: 7823 ldrb r3, [r4, #0] - 802f8e4: 78a1 ldrb r1, [r4, #2] - 802f8e6: ea43 2302 orr.w r3, r3, r2, lsl #8 - 802f8ea: 78e2 ldrb r2, [r4, #3] - 802f8ec: ea43 4301 orr.w r3, r3, r1, lsl #16 - 802f8f0: ea43 6602 orr.w r6, r3, r2, lsl #24 - 802f8f4: 3408 adds r4, #8 - 802f8f6: e6e8 b.n 802f6ca <__gxx_personality_v0+0x16e> - 802f8f8: 7862 ldrb r2, [r4, #1] - 802f8fa: 7823 ldrb r3, [r4, #0] - 802f8fc: 78a1 ldrb r1, [r4, #2] - 802f8fe: ea43 2302 orr.w r3, r3, r2, lsl #8 - 802f902: 78e2 ldrb r2, [r4, #3] - 802f904: ea43 4301 orr.w r3, r3, r1, lsl #16 - 802f908: ea43 6502 orr.w r5, r3, r2, lsl #24 - 802f90c: 3408 adds r4, #8 - 802f90e: e71e b.n 802f74e <__gxx_personality_v0+0x1f2> - 802f910: 2700 movs r7, #0 - 802f912: 4639 mov r1, r7 - 802f914: f814 2b01 ldrb.w r2, [r4], #1 - 802f918: f002 037f and.w r3, r2, #127 ; 0x7f - 802f91c: 408b lsls r3, r1 - 802f91e: 3107 adds r1, #7 - 802f920: 431f orrs r7, r3 - 802f922: f012 0f80 tst.w r2, #128 ; 0x80 - 802f926: d1f5 bne.n 802f914 <__gxx_personality_v0+0x3b8> - 802f928: e68e b.n 802f648 <__gxx_personality_v0+0xec> - 802f92a: 7822 ldrb r2, [r4, #0] - 802f92c: 7863 ldrb r3, [r4, #1] - 802f92e: 3402 adds r4, #2 - 802f930: ea42 2703 orr.w r7, r2, r3, lsl #8 - 802f934: e688 b.n 802f648 <__gxx_personality_v0+0xec> - 802f936: 7823 ldrb r3, [r4, #0] - 802f938: 7862 ldrb r2, [r4, #1] - 802f93a: 3402 adds r4, #2 - 802f93c: ea43 2302 orr.w r3, r3, r2, lsl #8 - 802f940: 041b lsls r3, r3, #16 - 802f942: 141f asrs r7, r3, #16 - 802f944: e680 b.n 802f648 <__gxx_personality_v0+0xec> - 802f946: 2700 movs r7, #0 - 802f948: 4639 mov r1, r7 - 802f94a: f814 2b01 ldrb.w r2, [r4], #1 - 802f94e: f002 037f and.w r3, r2, #127 ; 0x7f - 802f952: 408b lsls r3, r1 - 802f954: 3107 adds r1, #7 - 802f956: 431f orrs r7, r3 - 802f958: f012 0f80 tst.w r2, #128 ; 0x80 - 802f95c: d1f5 bne.n 802f94a <__gxx_personality_v0+0x3ee> - 802f95e: 291f cmp r1, #31 - 802f960: f63f ae72 bhi.w 802f648 <__gxx_personality_v0+0xec> - 802f964: f012 0f40 tst.w r2, #64 ; 0x40 - 802f968: f43f ae6e beq.w 802f648 <__gxx_personality_v0+0xec> - 802f96c: 2201 movs r2, #1 - 802f96e: fa12 f301 lsls.w r3, r2, r1 - 802f972: f1c3 0300 rsb r3, r3, #0 ; 0x0 - 802f976: ea43 0707 orr.w r7, r3, r7 - 802f97a: e665 b.n 802f648 <__gxx_personality_v0+0xec> - 802f97c: 7822 ldrb r2, [r4, #0] - 802f97e: 7863 ldrb r3, [r4, #1] - 802f980: 3402 adds r4, #2 - 802f982: ea42 2603 orr.w r6, r2, r3, lsl #8 - 802f986: e6a0 b.n 802f6ca <__gxx_personality_v0+0x16e> - 802f988: 2600 movs r6, #0 - 802f98a: 4631 mov r1, r6 - 802f98c: f814 2b01 ldrb.w r2, [r4], #1 - 802f990: f002 037f and.w r3, r2, #127 ; 0x7f - 802f994: 408b lsls r3, r1 - 802f996: 3107 adds r1, #7 - 802f998: 431e orrs r6, r3 - 802f99a: f012 0f80 tst.w r2, #128 ; 0x80 - 802f99e: d1f5 bne.n 802f98c <__gxx_personality_v0+0x430> - 802f9a0: e693 b.n 802f6ca <__gxx_personality_v0+0x16e> - 802f9a2: 7823 ldrb r3, [r4, #0] - 802f9a4: 7862 ldrb r2, [r4, #1] - 802f9a6: 3402 adds r4, #2 - 802f9a8: ea43 2302 orr.w r3, r3, r2, lsl #8 - 802f9ac: 041b lsls r3, r3, #16 - 802f9ae: 141e asrs r6, r3, #16 - 802f9b0: e68b b.n 802f6ca <__gxx_personality_v0+0x16e> - 802f9b2: 2600 movs r6, #0 - 802f9b4: 4631 mov r1, r6 - 802f9b6: f814 2b01 ldrb.w r2, [r4], #1 - 802f9ba: f002 037f and.w r3, r2, #127 ; 0x7f - 802f9be: 408b lsls r3, r1 - 802f9c0: 3107 adds r1, #7 - 802f9c2: 431e orrs r6, r3 - 802f9c4: f012 0f80 tst.w r2, #128 ; 0x80 - 802f9c8: d1f5 bne.n 802f9b6 <__gxx_personality_v0+0x45a> - 802f9ca: 291f cmp r1, #31 - 802f9cc: f63f ae7d bhi.w 802f6ca <__gxx_personality_v0+0x16e> - 802f9d0: f012 0f40 tst.w r2, #64 ; 0x40 - 802f9d4: f43f ae79 beq.w 802f6ca <__gxx_personality_v0+0x16e> - 802f9d8: 2201 movs r2, #1 - 802f9da: fa12 f301 lsls.w r3, r2, r1 - 802f9de: f1c3 0300 rsb r3, r3, #0 ; 0x0 - 802f9e2: ea43 0606 orr.w r6, r3, r6 - 802f9e6: e670 b.n 802f6ca <__gxx_personality_v0+0x16e> - 802f9e8: 7822 ldrb r2, [r4, #0] - 802f9ea: 7863 ldrb r3, [r4, #1] - 802f9ec: 3402 adds r4, #2 - 802f9ee: ea42 2503 orr.w r5, r2, r3, lsl #8 - 802f9f2: e6ac b.n 802f74e <__gxx_personality_v0+0x1f2> - 802f9f4: 2500 movs r5, #0 - 802f9f6: 4629 mov r1, r5 - 802f9f8: f814 2b01 ldrb.w r2, [r4], #1 - 802f9fc: f002 037f and.w r3, r2, #127 ; 0x7f - 802fa00: 408b lsls r3, r1 - 802fa02: 3107 adds r1, #7 - 802fa04: 431d orrs r5, r3 - 802fa06: f012 0f80 tst.w r2, #128 ; 0x80 - 802fa0a: d1f5 bne.n 802f9f8 <__gxx_personality_v0+0x49c> - 802fa0c: e69f b.n 802f74e <__gxx_personality_v0+0x1f2> - 802fa0e: 7823 ldrb r3, [r4, #0] - 802fa10: 7862 ldrb r2, [r4, #1] - 802fa12: 3402 adds r4, #2 - 802fa14: ea43 2302 orr.w r3, r3, r2, lsl #8 - 802fa18: 041b lsls r3, r3, #16 - 802fa1a: 141d asrs r5, r3, #16 - 802fa1c: e697 b.n 802f74e <__gxx_personality_v0+0x1f2> - 802fa1e: 2500 movs r5, #0 - 802fa20: 4629 mov r1, r5 - 802fa22: f814 2b01 ldrb.w r2, [r4], #1 - 802fa26: f002 037f and.w r3, r2, #127 ; 0x7f - 802fa2a: 408b lsls r3, r1 - 802fa2c: 3107 adds r1, #7 - 802fa2e: 431d orrs r5, r3 - 802fa30: f012 0f80 tst.w r2, #128 ; 0x80 - 802fa34: d1f5 bne.n 802fa22 <__gxx_personality_v0+0x4c6> - 802fa36: 291f cmp r1, #31 - 802fa38: f63f ae89 bhi.w 802f74e <__gxx_personality_v0+0x1f2> - 802fa3c: f012 0f40 tst.w r2, #64 ; 0x40 - 802fa40: f43f ae85 beq.w 802f74e <__gxx_personality_v0+0x1f2> - 802fa44: 2201 movs r2, #1 - 802fa46: fa12 f301 lsls.w r3, r2, r1 - 802fa4a: f1c3 0300 rsb r3, r3, #0 ; 0x0 - 802fa4e: ea43 0505 orr.w r5, r3, r5 - 802fa52: e67c b.n 802f74e <__gxx_personality_v0+0x1f2> - 802fa54: f04f 0800 mov.w r8, #0 ; 0x0 - 802fa58: 2401 movs r4, #1 - 802fa5a: 4647 mov r7, r8 - 802fa5c: 9b06 ldr r3, [sp, #24] - 802fa5e: f013 0f01 tst.w r3, #1 ; 0x1 - 802fa62: f43f aef4 beq.w 802f84e <__gxx_personality_v0+0x2f2> - 802fa66: 2c02 cmp r4, #2 - 802fa68: f43f aeba beq.w 802f7e0 <__gxx_personality_v0+0x284> - 802fa6c: 2100 movs r1, #0 - 802fa6e: 220d movs r2, #13 - 802fa70: 460b mov r3, r1 - 802fa72: 4648 mov r0, r9 - 802fa74: 9c11 ldr r4, [sp, #68] - 802fa76: f8cd b000 str.w fp, [sp] - 802fa7a: f7fd fcad bl 802d3d8 <_Unwind_VRS_Get> - 802fa7e: 9b0f ldr r3, [sp, #60] - 802fa80: 9a04 ldr r2, [sp, #16] - 802fa82: f8ca 3020 str.w r3, [sl, #32] - 802fa86: f8ca 4024 str.w r4, [sl, #36] - 802fa8a: f8ca 7028 str.w r7, [sl, #40] - 802fa8e: f8ca 202c str.w r2, [sl, #44] - 802fa92: f8ca 8030 str.w r8, [sl, #48] - 802fa96: 2006 movs r0, #6 - 802fa98: e6a9 b.n 802f7ee <__gxx_personality_v0+0x292> - 802fa9a: 4650 mov r0, sl - 802fa9c: f000 f9c4 bl 802fe28 <__cxa_call_terminate> - 802faa0: 4650 mov r0, sl - 802faa2: f7ff fba1 bl 802f1e8 <__cxa_begin_cleanup> - 802faa6: 2007 movs r0, #7 - 802faa8: e6a1 b.n 802f7ee <__gxx_personality_v0+0x292> - 802faaa: 2d00 cmp r5, #0 - 802faac: f040 80a0 bne.w 802fbf0 <__gxx_personality_v0+0x694> - 802fab0: 46a8 mov r8, r5 - 802fab2: 2800 cmp r0, #0 - 802fab4: f000 809a beq.w 802fbec <__gxx_personality_v0+0x690> - 802fab8: 9b0d ldr r3, [sp, #52] - 802faba: 1e42 subs r2, r0, #1 - 802fabc: 441a add r2, r3 - 802fabe: f1b8 0f00 cmp.w r8, #0 ; 0x0 - 802fac2: f43f ae8d beq.w 802f7e0 <__gxx_personality_v0+0x284> - 802fac6: 2a00 cmp r2, #0 - 802fac8: f000 809e beq.w 802fc08 <__gxx_personality_v0+0x6ac> - 802facc: 9b06 ldr r3, [sp, #24] - 802face: f013 0308 ands.w r3, r3, #8 ; 0x8 - 802fad2: 9303 str r3, [sp, #12] - 802fad4: d001 beq.n 802fada <__gxx_personality_v0+0x57e> - 802fad6: 2300 movs r3, #0 - 802fad8: 9311 str r3, [sp, #68] - 802fada: 2300 movs r3, #0 - 802fadc: 9305 str r3, [sp, #20] - 802fade: 2000 movs r0, #0 - 802fae0: 4615 mov r5, r2 - 802fae2: 4601 mov r1, r0 - 802fae4: f815 2b01 ldrb.w r2, [r5], #1 - 802fae8: f002 037f and.w r3, r2, #127 ; 0x7f - 802faec: 408b lsls r3, r1 - 802faee: 3107 adds r1, #7 - 802faf0: 4318 orrs r0, r3 - 802faf2: f012 0f80 tst.w r2, #128 ; 0x80 - 802faf6: d1f5 bne.n 802fae4 <__gxx_personality_v0+0x588> - 802faf8: 291f cmp r1, #31 - 802fafa: d809 bhi.n 802fb10 <__gxx_personality_v0+0x5b4> - 802fafc: f012 0f40 tst.w r2, #64 ; 0x40 - 802fb00: d006 beq.n 802fb10 <__gxx_personality_v0+0x5b4> - 802fb02: 2201 movs r2, #1 - 802fb04: fa12 f301 lsls.w r3, r2, r1 - 802fb08: f1c3 0300 rsb r3, r3, #0 ; 0x0 - 802fb0c: ea43 0000 orr.w r0, r3, r0 - 802fb10: 2400 movs r4, #0 - 802fb12: 4607 mov r7, r0 - 802fb14: 46a4 mov ip, r4 - 802fb16: 4622 mov r2, r4 - 802fb18: 5ca9 ldrb r1, [r5, r2] - 802fb1a: 3201 adds r2, #1 - 802fb1c: f001 037f and.w r3, r1, #127 ; 0x7f - 802fb20: fa03 f30c lsl.w r3, r3, ip - 802fb24: 431c orrs r4, r3 - 802fb26: f011 0f80 tst.w r1, #128 ; 0x80 - 802fb2a: f10c 0c07 add.w ip, ip, #7 ; 0x7 - 802fb2e: d1f3 bne.n 802fb18 <__gxx_personality_v0+0x5bc> - 802fb30: f1bc 0f1f cmp.w ip, #31 ; 0x1f - 802fb34: d809 bhi.n 802fb4a <__gxx_personality_v0+0x5ee> - 802fb36: f011 0f40 tst.w r1, #64 ; 0x40 - 802fb3a: d006 beq.n 802fb4a <__gxx_personality_v0+0x5ee> - 802fb3c: 2201 movs r2, #1 - 802fb3e: fa02 f30c lsl.w r3, r2, ip - 802fb42: f1c3 0300 rsb r3, r3, #0 ; 0x0 - 802fb46: ea43 0404 orr.w r4, r3, r4 - 802fb4a: 2800 cmp r0, #0 - 802fb4c: d106 bne.n 802fb5c <__gxx_personality_v0+0x600> - 802fb4e: 2301 movs r3, #1 - 802fb50: 9305 str r3, [sp, #20] - 802fb52: 2c00 cmp r4, #0 - 802fb54: d054 beq.n 802fc00 <__gxx_personality_v0+0x6a4> - 802fb56: eb05 0204 add.w r2, r5, r4 - 802fb5a: e7c0 b.n 802fade <__gxx_personality_v0+0x582> - 802fb5c: dd15 ble.n 802fb8a <__gxx_personality_v0+0x62e> - 802fb5e: 0083 lsls r3, r0, #2 - 802fb60: 9a0c ldr r2, [sp, #48] - 802fb62: f1c3 0300 rsb r3, r3, #0 ; 0x0 - 802fb66: 58d0 ldr r0, [r2, r3] - 802fb68: eb02 0103 add.w r1, r2, r3 - 802fb6c: b158 cbz r0, 802fb86 <__gxx_personality_v0+0x62a> - 802fb6e: 1841 adds r1, r0, r1 - 802fb70: d009 beq.n 802fb86 <__gxx_personality_v0+0x62a> - 802fb72: f1ba 0f00 cmp.w sl, #0 ; 0x0 - 802fb76: d0ec beq.n 802fb52 <__gxx_personality_v0+0x5f6> - 802fb78: 4650 mov r0, sl - 802fb7a: 2200 movs r2, #0 - 802fb7c: ab11 add r3, sp, #68 - 802fb7e: f7ff fb69 bl 802f254 <__cxa_type_match> - 802fb82: 2800 cmp r0, #0 - 802fb84: d0e5 beq.n 802fb52 <__gxx_personality_v0+0x5f6> - 802fb86: 2403 movs r4, #3 - 802fb88: e768 b.n 802fa5c <__gxx_personality_v0+0x500> - 802fb8a: f1ba 0f00 cmp.w sl, #0 ; 0x0 - 802fb8e: d021 beq.n 802fbd4 <__gxx_personality_v0+0x678> - 802fb90: 9a03 ldr r2, [sp, #12] - 802fb92: b9fa cbnz r2, 802fbd4 <__gxx_personality_v0+0x678> - 802fb94: 9b11 ldr r3, [sp, #68] - 802fb96: 9a0c ldr r2, [sp, #48] - 802fb98: ea6f 0000 mvn.w r0, r0 - 802fb9c: 9310 str r3, [sp, #64] - 802fb9e: f852 3020 ldr.w r3, [r2, r0, lsl #2] - 802fba2: 0081 lsls r1, r0, #2 - 802fba4: 4411 add r1, r2 - 802fba6: b33b cbz r3, 802fbf8 <__gxx_personality_v0+0x69c> - 802fba8: 460e mov r6, r1 - 802fbaa: e002 b.n 802fbb2 <__gxx_personality_v0+0x656> - 802fbac: f856 3f04 ldr.w r3, [r6, #4]! - 802fbb0: b313 cbz r3, 802fbf8 <__gxx_personality_v0+0x69c> - 802fbb2: 6831 ldr r1, [r6, #0] - 802fbb4: b101 cbz r1, 802fbb8 <__gxx_personality_v0+0x65c> - 802fbb6: 4431 add r1, r6 - 802fbb8: 4650 mov r0, sl - 802fbba: 2200 movs r2, #0 - 802fbbc: ab10 add r3, sp, #64 - 802fbbe: f7ff fb49 bl 802f254 <__cxa_type_match> - 802fbc2: 2800 cmp r0, #0 - 802fbc4: d0f2 beq.n 802fbac <__gxx_personality_v0+0x650> - 802fbc6: 2101 movs r1, #1 - 802fbc8: f081 0001 eor.w r0, r1, #1 ; 0x1 - 802fbcc: 2800 cmp r0, #0 - 802fbce: d0c0 beq.n 802fb52 <__gxx_personality_v0+0x5f6> - 802fbd0: 2403 movs r4, #3 - 802fbd2: e743 b.n 802fa5c <__gxx_personality_v0+0x500> - 802fbd4: 9a0c ldr r2, [sp, #48] - 802fbd6: ea6f 0300 mvn.w r3, r0 - 802fbda: f852 1023 ldr.w r1, [r2, r3, lsl #2] - 802fbde: f1d1 0001 rsbs r0, r1, #1 ; 0x1 - 802fbe2: bf38 it cc - 802fbe4: 2000 movcc r0, #0 - 802fbe6: 2800 cmp r0, #0 - 802fbe8: d0b3 beq.n 802fb52 <__gxx_personality_v0+0x5f6> - 802fbea: e7f1 b.n 802fbd0 <__gxx_personality_v0+0x674> - 802fbec: 4602 mov r2, r0 - 802fbee: e766 b.n 802fabe <__gxx_personality_v0+0x562> - 802fbf0: 9b0a ldr r3, [sp, #40] - 802fbf2: eb05 0803 add.w r8, r5, r3 - 802fbf6: e75c b.n 802fab2 <__gxx_personality_v0+0x556> - 802fbf8: 2100 movs r1, #0 - 802fbfa: f081 0001 eor.w r0, r1, #1 ; 0x1 - 802fbfe: e7e5 b.n 802fbcc <__gxx_personality_v0+0x670> - 802fc00: 9a05 ldr r2, [sp, #20] - 802fc02: 2a00 cmp r2, #0 - 802fc04: f43f adec beq.w 802f7e0 <__gxx_personality_v0+0x284> - 802fc08: 2402 movs r4, #2 - 802fc0a: 2700 movs r7, #0 - 802fc0c: e726 b.n 802fa5c <__gxx_personality_v0+0x500> - 802fc0e: f7ff fae3 bl 802f1d8 <_ZSt10unexpectedv> - 802fc12: f7ff fad3 bl 802f1bc <_ZSt9terminatev> - 802fc16: 2c01 cmp r4, #1 - 802fc18: f43f af3f beq.w 802fa9a <__gxx_personality_v0+0x53e> - 802fc1c: 2f00 cmp r7, #0 - 802fc1e: f6bf ae21 bge.w 802f864 <__gxx_personality_v0+0x308> - 802fc22: 9904 ldr r1, [sp, #16] - 802fc24: aa09 add r2, sp, #36 - 802fc26: 4648 mov r0, r9 - 802fc28: f7ff fbd0 bl 802f3cc <_ZL17parse_lsda_headerP15_Unwind_ContextPKhP16lsda_header_info> - 802fc2c: ea6f 0107 mvn.w r1, r7 - 802fc30: 9b0c ldr r3, [sp, #48] - 802fc32: 008a lsls r2, r1, #2 - 802fc34: eb03 0002 add.w r0, r3, r2 - 802fc38: f853 3021 ldr.w r3, [r3, r1, lsl #2] - 802fc3c: b183 cbz r3, 802fc60 <__gxx_personality_v0+0x704> - 802fc3e: 462a mov r2, r5 - 802fc40: 3201 adds r2, #1 - 802fc42: f850 3022 ldr.w r3, [r0, r2, lsl #2] - 802fc46: 2b00 cmp r3, #0 - 802fc48: d1fa bne.n 802fc40 <__gxx_personality_v0+0x6e4> - 802fc4a: f8ca 2028 str.w r2, [sl, #40] - 802fc4e: 2300 movs r3, #0 - 802fc50: 2204 movs r2, #4 - 802fc52: f8ca 302c str.w r3, [sl, #44] - 802fc56: f8ca 2030 str.w r2, [sl, #48] - 802fc5a: f8ca 0034 str.w r0, [sl, #52] - 802fc5e: e601 b.n 802f864 <__gxx_personality_v0+0x308> - 802fc60: 461a mov r2, r3 - 802fc62: e7f2 b.n 802fc4a <__gxx_personality_v0+0x6ee> - 802fc64: f000 f9de bl 8030024 <__cxa_begin_catch> - 802fc68: f7ff faa8 bl 802f1bc <_ZSt9terminatev> - 802fc6c: 4604 mov r4, r0 - 802fc6e: f000 f991 bl 802ff94 <__cxa_end_catch> - 802fc72: 4620 mov r0, r4 - 802fc74: f7f9 fdae bl 80297d4 <__cxa_end_cleanup> - -0802fc78 <__cxa_bad_typeid>: - 802fc78: b500 push {lr} - 802fc7a: 2004 movs r0, #4 - 802fc7c: b081 sub sp, #4 - 802fc7e: f000 fccb bl 8030618 <__cxa_allocate_exception> - 802fc82: 4b03 ldr r3, [pc, #12] (802fc90 <__cxa_bad_typeid+0x18>) - 802fc84: 4903 ldr r1, [pc, #12] (802fc94 <__cxa_bad_typeid+0x1c>) - 802fc86: 6003 str r3, [r0, #0] - 802fc88: 4a03 ldr r2, [pc, #12] (802fc98 <__cxa_bad_typeid+0x20>) - 802fc8a: f000 fc53 bl 8030534 <__cxa_throw> - 802fc8e: 46c0 nop (mov r8, r8) - 802fc90: 080347f8 .word 0x080347f8 - 802fc94: 08034818 .word 0x08034818 - 802fc98: 0802fcc9 .word 0x0802fcc9 - -0802fc9c <__cxa_bad_cast>: - 802fc9c: b500 push {lr} - 802fc9e: 2004 movs r0, #4 - 802fca0: b081 sub sp, #4 - 802fca2: f000 fcb9 bl 8030618 <__cxa_allocate_exception> - 802fca6: 4b03 ldr r3, [pc, #12] (802fcb4 <__cxa_bad_cast+0x18>) - 802fca8: 4903 ldr r1, [pc, #12] (802fcb8 <__cxa_bad_cast+0x1c>) - 802fcaa: 6003 str r3, [r0, #0] - 802fcac: 4a03 ldr r2, [pc, #12] (802fcbc <__cxa_bad_cast+0x20>) - 802fcae: f000 fc41 bl 8030534 <__cxa_throw> - 802fcb2: 46c0 nop (mov r8, r8) - 802fcb4: 080348d0 .word 0x080348d0 - 802fcb8: 080348ec .word 0x080348ec - 802fcbc: 080300c5 .word 0x080300c5 - -0802fcc0 <_ZNKSt10bad_typeid4whatEv>: - 802fcc0: 4800 ldr r0, [pc, #0] (802fcc4 <_ZNKSt10bad_typeid4whatEv+0x4>) - 802fcc2: 4770 bx lr - 802fcc4: 080347dc .word 0x080347dc - -0802fcc8 <_ZNSt10bad_typeidD1Ev>: - 802fcc8: 4b03 ldr r3, [pc, #12] (802fcd8 <_ZNSt10bad_typeidD1Ev+0x10>) - 802fcca: b510 push {r4, lr} - 802fccc: 6003 str r3, [r0, #0] - 802fcce: 4604 mov r4, r0 - 802fcd0: f000 fad8 bl 8030284 <_ZNSt9exceptionD2Ev> - 802fcd4: 4620 mov r0, r4 - 802fcd6: bd10 pop {r4, pc} - 802fcd8: 080347f8 .word 0x080347f8 - -0802fcdc <_ZNSt10bad_typeidD2Ev>: - 802fcdc: 4b03 ldr r3, [pc, #12] (802fcec <_ZNSt10bad_typeidD2Ev+0x10>) - 802fcde: b510 push {r4, lr} - 802fce0: 6003 str r3, [r0, #0] - 802fce2: 4604 mov r4, r0 - 802fce4: f000 face bl 8030284 <_ZNSt9exceptionD2Ev> - 802fce8: 4620 mov r0, r4 - 802fcea: bd10 pop {r4, pc} - 802fcec: 080347f8 .word 0x080347f8 - -0802fcf0 <_ZNSt10bad_typeidD0Ev>: - 802fcf0: 4b05 ldr r3, [pc, #20] (802fd08 <_ZNSt10bad_typeidD0Ev+0x18>) - 802fcf2: b510 push {r4, lr} - 802fcf4: 6003 str r3, [r0, #0] - 802fcf6: 4604 mov r4, r0 - 802fcf8: f000 fac4 bl 8030284 <_ZNSt9exceptionD2Ev> - 802fcfc: 4620 mov r0, r4 - 802fcfe: f7e7 fc85 bl 801760c <_ZdlPv> - 802fd02: 4620 mov r0, r4 - 802fd04: bd10 pop {r4, pc} - 802fd06: 46c0 nop (mov r8, r8) - 802fd08: 080347f8 .word 0x080347f8 - -0802fd0c <_ZN9__gnu_cxx27__verbose_terminate_handlerEv>: - 802fd0c: b5f0 push {r4, r5, r6, r7, lr} - 802fd0e: 4b3f ldr r3, [pc, #252] (802fe0c <_ZN9__gnu_cxx27__verbose_terminate_handlerEv+0x100>) - 802fd10: b083 sub sp, #12 - 802fd12: 781c ldrb r4, [r3, #0] - 802fd14: 2c00 cmp r4, #0 - 802fd16: d13f bne.n 802fd98 <_ZN9__gnu_cxx27__verbose_terminate_handlerEv+0x8c> - 802fd18: 2501 movs r5, #1 - 802fd1a: 701d strb r5, [r3, #0] - 802fd1c: f000 fbc8 bl 80304b0 <__cxa_current_exception_type> - 802fd20: 2800 cmp r0, #0 - 802fd22: d043 beq.n 802fdac <_ZN9__gnu_cxx27__verbose_terminate_handlerEv+0xa0> - 802fd24: 6846 ldr r6, [r0, #4] - 802fd26: ab02 add r3, sp, #8 - 802fd28: f04f 32ff mov.w r2, #4294967295 ; 0xffffffff - 802fd2c: f843 2d04 str.w r2, [r3, #-4]! - 802fd30: 4621 mov r1, r4 - 802fd32: 4622 mov r2, r4 - 802fd34: 4630 mov r0, r6 - 802fd36: f7fc faf5 bl 802c324 <__cxa_demangle> - 802fd3a: 4c35 ldr r4, [pc, #212] (802fe10 <_ZN9__gnu_cxx27__verbose_terminate_handlerEv+0x104>) - 802fd3c: 4607 mov r7, r0 - 802fd3e: 6822 ldr r2, [r4, #0] - 802fd40: 4834 ldr r0, [pc, #208] (802fe14 <_ZN9__gnu_cxx27__verbose_terminate_handlerEv+0x108>) - 802fd42: 6893 ldr r3, [r2, #8] - 802fd44: 4629 mov r1, r5 - 802fd46: 2230 movs r2, #48 - 802fd48: f002 fc08 bl 803255c - 802fd4c: 9b01 ldr r3, [sp, #4] - 802fd4e: b17b cbz r3, 802fd70 <_ZN9__gnu_cxx27__verbose_terminate_handlerEv+0x64> - 802fd50: 6823 ldr r3, [r4, #0] - 802fd52: 4630 mov r0, r6 - 802fd54: 6899 ldr r1, [r3, #8] - 802fd56: f002 fa47 bl 80321e8 - 802fd5a: 6822 ldr r2, [r4, #0] - 802fd5c: 482e ldr r0, [pc, #184] (802fe18 <_ZN9__gnu_cxx27__verbose_terminate_handlerEv+0x10c>) - 802fd5e: 6893 ldr r3, [r2, #8] - 802fd60: 2101 movs r1, #1 - 802fd62: 2202 movs r2, #2 - 802fd64: f002 fbfa bl 803255c - 802fd68: 9b01 ldr r3, [sp, #4] - 802fd6a: b183 cbz r3, 802fd8e <_ZN9__gnu_cxx27__verbose_terminate_handlerEv+0x82> - 802fd6c: f000 fbaa bl 80304c4 <__cxa_rethrow> - 802fd70: 6823 ldr r3, [r4, #0] - 802fd72: 4638 mov r0, r7 - 802fd74: 6899 ldr r1, [r3, #8] - 802fd76: f002 fa37 bl 80321e8 - 802fd7a: 6822 ldr r2, [r4, #0] - 802fd7c: 4826 ldr r0, [pc, #152] (802fe18 <_ZN9__gnu_cxx27__verbose_terminate_handlerEv+0x10c>) - 802fd7e: 6893 ldr r3, [r2, #8] - 802fd80: 2101 movs r1, #1 - 802fd82: 2202 movs r2, #2 - 802fd84: f002 fbea bl 803255c - 802fd88: 9b01 ldr r3, [sp, #4] - 802fd8a: 2b00 cmp r3, #0 - 802fd8c: d1ee bne.n 802fd6c <_ZN9__gnu_cxx27__verbose_terminate_handlerEv+0x60> - 802fd8e: 4638 mov r0, r7 - 802fd90: f002 fbf6 bl 8032580 - 802fd94: f000 fb96 bl 80304c4 <__cxa_rethrow> - 802fd98: 4b1d ldr r3, [pc, #116] (802fe10 <_ZN9__gnu_cxx27__verbose_terminate_handlerEv+0x104>) - 802fd9a: 2101 movs r1, #1 - 802fd9c: 681a ldr r2, [r3, #0] - 802fd9e: 481f ldr r0, [pc, #124] (802fe1c <_ZN9__gnu_cxx27__verbose_terminate_handlerEv+0x110>) - 802fda0: 6893 ldr r3, [r2, #8] - 802fda2: 221d movs r2, #29 - 802fda4: f002 fbda bl 803255c - 802fda8: f002 f9a4 bl 80320f4 - 802fdac: 4b18 ldr r3, [pc, #96] (802fe10 <_ZN9__gnu_cxx27__verbose_terminate_handlerEv+0x104>) - 802fdae: 4629 mov r1, r5 - 802fdb0: 681a ldr r2, [r3, #0] - 802fdb2: 481b ldr r0, [pc, #108] (802fe20 <_ZN9__gnu_cxx27__verbose_terminate_handlerEv+0x114>) - 802fdb4: 6893 ldr r3, [r2, #8] - 802fdb6: 222d movs r2, #45 - 802fdb8: f002 fbd0 bl 803255c - 802fdbc: f002 f99a bl 80320f4 - 802fdc0: 2902 cmp r1, #2 - 802fdc2: d005 beq.n 802fdd0 <_ZN9__gnu_cxx27__verbose_terminate_handlerEv+0xc4> - 802fdc4: f000 f92e bl 8030024 <__cxa_begin_catch> - 802fdc8: f000 f8e4 bl 802ff94 <__cxa_end_catch> - 802fdcc: f002 f992 bl 80320f4 - 802fdd0: f000 f928 bl 8030024 <__cxa_begin_catch> - 802fdd4: 6803 ldr r3, [r0, #0] - 802fdd6: 689a ldr r2, [r3, #8] - 802fdd8: 4790 blx r2 - 802fdda: 6822 ldr r2, [r4, #0] - 802fddc: 4605 mov r5, r0 - 802fdde: 6893 ldr r3, [r2, #8] - 802fde0: 4810 ldr r0, [pc, #64] (802fe24 <_ZN9__gnu_cxx27__verbose_terminate_handlerEv+0x118>) - 802fde2: 2101 movs r1, #1 - 802fde4: 220b movs r2, #11 - 802fde6: f002 fbb9 bl 803255c - 802fdea: 6823 ldr r3, [r4, #0] - 802fdec: 4628 mov r0, r5 - 802fdee: 6899 ldr r1, [r3, #8] - 802fdf0: f002 f9fa bl 80321e8 - 802fdf4: 6823 ldr r3, [r4, #0] - 802fdf6: 200a movs r0, #10 - 802fdf8: 6899 ldr r1, [r3, #8] - 802fdfa: f002 f9ab bl 8032154 - 802fdfe: e7e3 b.n 802fdc8 <_ZN9__gnu_cxx27__verbose_terminate_handlerEv+0xbc> - 802fe00: 4605 mov r5, r0 - 802fe02: f000 f8c7 bl 802ff94 <__cxa_end_catch> - 802fe06: 4628 mov r0, r5 - 802fe08: f7f9 fce4 bl 80297d4 <__cxa_end_cleanup> - 802fe0c: 20000694 .word 0x20000694 - 802fe10: 20000050 .word 0x20000050 - 802fe14: 08034844 .word 0x08034844 - 802fe18: 08034878 .word 0x08034878 - 802fe1c: 08034824 .word 0x08034824 - 802fe20: 08034888 .word 0x08034888 - 802fe24: 0803487c .word 0x0803487c - -0802fe28 <__cxa_call_terminate>: - 802fe28: b510 push {r4, lr} - 802fe2a: 4604 mov r4, r0 - 802fe2c: b120 cbz r0, 802fe38 <__cxa_call_terminate+0x10> - 802fe2e: f000 f8f9 bl 8030024 <__cxa_begin_catch> - 802fe32: 7823 ldrb r3, [r4, #0] - 802fe34: 2b47 cmp r3, #71 - 802fe36: d001 beq.n 802fe3c <__cxa_call_terminate+0x14> - 802fe38: f7ff f9c0 bl 802f1bc <_ZSt9terminatev> - 802fe3c: 7863 ldrb r3, [r4, #1] - 802fe3e: 2b4e cmp r3, #78 - 802fe40: d1fa bne.n 802fe38 <__cxa_call_terminate+0x10> - 802fe42: 78a3 ldrb r3, [r4, #2] - 802fe44: 2b55 cmp r3, #85 - 802fe46: d1f7 bne.n 802fe38 <__cxa_call_terminate+0x10> - 802fe48: 78e3 ldrb r3, [r4, #3] - 802fe4a: 2b43 cmp r3, #67 - 802fe4c: d1f4 bne.n 802fe38 <__cxa_call_terminate+0x10> - 802fe4e: 7923 ldrb r3, [r4, #4] - 802fe50: 2b43 cmp r3, #67 - 802fe52: d1f1 bne.n 802fe38 <__cxa_call_terminate+0x10> - 802fe54: 7963 ldrb r3, [r4, #5] - 802fe56: 2b2b cmp r3, #43 - 802fe58: d1ee bne.n 802fe38 <__cxa_call_terminate+0x10> - 802fe5a: 79a3 ldrb r3, [r4, #6] - 802fe5c: 2b2b cmp r3, #43 - 802fe5e: d1eb bne.n 802fe38 <__cxa_call_terminate+0x10> - 802fe60: 79e3 ldrb r3, [r4, #7] - 802fe62: 2b00 cmp r3, #0 - 802fe64: d1e8 bne.n 802fe38 <__cxa_call_terminate+0x10> - 802fe66: f854 0c14 ldr.w r0, [r4, #-20] - 802fe6a: f7ff f999 bl 802f1a0 <_ZN10__cxxabiv111__terminateEPFvvE> - 802fe6e: 46c0 nop (mov r8, r8) - -0802fe70 <__cxa_call_unexpected>: - 802fe70: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 802fe74: 7803 ldrb r3, [r0, #0] - 802fe76: b085 sub sp, #20 - 802fe78: 2b47 cmp r3, #71 - 802fe7a: d00a beq.n 802fe92 <__cxa_call_unexpected+0x22> - 802fe7c: 2400 movs r4, #0 - 802fe7e: 4627 mov r7, r4 - 802fe80: 46a2 mov sl, r4 - 802fe82: 46a0 mov r8, r4 - 802fe84: 2501 movs r5, #1 - 802fe86: 4626 mov r6, r4 - 802fe88: f000 f8cc bl 8030024 <__cxa_begin_catch> - 802fe8c: b30d cbz r5, 802fed2 <__cxa_call_unexpected+0x62> - 802fe8e: f7ff f9a3 bl 802f1d8 <_ZSt10unexpectedv> - 802fe92: 7843 ldrb r3, [r0, #1] - 802fe94: 2b4e cmp r3, #78 - 802fe96: d1f1 bne.n 802fe7c <__cxa_call_unexpected+0xc> - 802fe98: 7883 ldrb r3, [r0, #2] - 802fe9a: 2b55 cmp r3, #85 - 802fe9c: d1ee bne.n 802fe7c <__cxa_call_unexpected+0xc> - 802fe9e: 78c3 ldrb r3, [r0, #3] - 802fea0: 2b43 cmp r3, #67 - 802fea2: d1eb bne.n 802fe7c <__cxa_call_unexpected+0xc> - 802fea4: 7903 ldrb r3, [r0, #4] - 802fea6: 2b43 cmp r3, #67 - 802fea8: d1e8 bne.n 802fe7c <__cxa_call_unexpected+0xc> - 802feaa: 7943 ldrb r3, [r0, #5] - 802feac: 2b2b cmp r3, #43 - 802feae: d1e5 bne.n 802fe7c <__cxa_call_unexpected+0xc> - 802feb0: 7983 ldrb r3, [r0, #6] - 802feb2: 2b2b cmp r3, #43 - 802feb4: d1e2 bne.n 802fe7c <__cxa_call_unexpected+0xc> - 802feb6: 79c2 ldrb r2, [r0, #7] - 802feb8: 2a00 cmp r2, #0 - 802feba: d1df bne.n 802fe7c <__cxa_call_unexpected+0xc> - 802febc: f1a0 0320 sub.w r3, r0, #32 ; 0x20 - 802fec0: 689e ldr r6, [r3, #8] - 802fec2: f8d3 a00c ldr.w sl, [r3, #12] - 802fec6: f8d0 8028 ldr.w r8, [r0, #40] - 802feca: 6b04 ldr r4, [r0, #48] - 802fecc: 6b47 ldr r7, [r0, #52] - 802fece: 4615 mov r5, r2 - 802fed0: e7da b.n 802fe88 <__cxa_call_unexpected+0x18> - 802fed2: 4630 mov r0, r6 - 802fed4: f7ff f97a bl 802f1cc <_ZN10__cxxabiv112__unexpectedEPFvvE> - 802fed8: f000 f8a4 bl 8030024 <__cxa_begin_catch> - 802fedc: 2d00 cmp r5, #0 - 802fede: d135 bne.n 802ff4c <__cxa_call_unexpected+0xdc> - 802fee0: f000 fb72 bl 80305c8 <__cxa_get_globals_fast> - 802fee4: 6800 ldr r0, [r0, #0] - 802fee6: f1b8 0f00 cmp.w r8, #0 ; 0x0 - 802feea: f100 0378 add.w r3, r0, #120 ; 0x78 - 802feee: 9303 str r3, [sp, #12] - 802fef0: dd3b ble.n 802ff6a <__cxa_call_unexpected+0xfa> - 802fef2: 3020 adds r0, #32 - 802fef4: 463e mov r6, r7 - 802fef6: f024 0b03 bic.w fp, r4, #3 ; 0x3 - 802fefa: 9001 str r0, [sp, #4] - 802fefc: 462f mov r7, r5 - 802fefe: 46a9 mov r9, r5 - 802ff00: 6830 ldr r0, [r6, #0] - 802ff02: 2800 cmp r0, #0 - 802ff04: d12e bne.n 802ff64 <__cxa_call_unexpected+0xf4> - 802ff06: 4605 mov r5, r0 - 802ff08: 9801 ldr r0, [sp, #4] - 802ff0a: 4629 mov r1, r5 - 802ff0c: 2200 movs r2, #0 - 802ff0e: ab03 add r3, sp, #12 - 802ff10: f7ff f9a0 bl 802f254 <__cxa_type_match> - 802ff14: 4602 mov r2, r0 - 802ff16: b9d8 cbnz r0, 802ff50 <__cxa_call_unexpected+0xe0> - 802ff18: 682b ldr r3, [r5, #0] - 802ff1a: 4628 mov r0, r5 - 802ff1c: 691c ldr r4, [r3, #16] - 802ff1e: 4914 ldr r1, [pc, #80] (802ff70 <__cxa_call_unexpected+0x100>) - 802ff20: 2301 movs r3, #1 - 802ff22: 47a0 blx r4 - 802ff24: 3701 adds r7, #1 - 802ff26: 2800 cmp r0, #0 - 802ff28: bf18 it ne - 802ff2a: f04f 0901 movne.w r9, #1 ; 0x1 - 802ff2e: 45b8 cmp r8, r7 - 802ff30: 445e add r6, fp - 802ff32: dce5 bgt.n 802ff00 <__cxa_call_unexpected+0x90> - 802ff34: f1b9 0f00 cmp.w r9, #0 ; 0x0 - 802ff38: d017 beq.n 802ff6a <__cxa_call_unexpected+0xfa> - 802ff3a: 2004 movs r0, #4 - 802ff3c: f000 fb6c bl 8030618 <__cxa_allocate_exception> - 802ff40: 4b0c ldr r3, [pc, #48] (802ff74 <__cxa_call_unexpected+0x104>) - 802ff42: 490b ldr r1, [pc, #44] (802ff70 <__cxa_call_unexpected+0x100>) - 802ff44: 6003 str r3, [r0, #0] - 802ff46: 4a0c ldr r2, [pc, #48] (802ff78 <__cxa_call_unexpected+0x108>) - 802ff48: f000 faf4 bl 8030534 <__cxa_throw> - 802ff4c: f7ff f936 bl 802f1bc <_ZSt9terminatev> - 802ff50: f000 fab8 bl 80304c4 <__cxa_rethrow> - 802ff54: 4606 mov r6, r0 - 802ff56: f000 f81d bl 802ff94 <__cxa_end_catch> - 802ff5a: f000 f81b bl 802ff94 <__cxa_end_catch> - 802ff5e: 4630 mov r0, r6 - 802ff60: f7f9 fc38 bl 80297d4 <__cxa_end_cleanup> - 802ff64: eb06 0500 add.w r5, r6, r0 - 802ff68: e7ce b.n 802ff08 <__cxa_call_unexpected+0x98> - 802ff6a: 4650 mov r0, sl - 802ff6c: f7ff f918 bl 802f1a0 <_ZN10__cxxabiv111__terminateEPFvvE> - 802ff70: 08034e18 .word 0x08034e18 - 802ff74: 08034d88 .word 0x08034d88 - 802ff78: 080302a9 .word 0x080302a9 - -0802ff7c <__cxa_get_exception_ptr>: - 802ff7c: 6a40 ldr r0, [r0, #36] - 802ff7e: 4770 bx lr - -0802ff80 <_ZSt18uncaught_exceptionv>: - 802ff80: b500 push {lr} - 802ff82: b081 sub sp, #4 - 802ff84: f000 fb24 bl 80305d0 <__cxa_get_globals> - 802ff88: 6840 ldr r0, [r0, #4] - 802ff8a: 3800 subs r0, #0 - 802ff8c: bf18 it ne - 802ff8e: 2001 movne r0, #1 - 802ff90: b001 add sp, #4 - 802ff92: bd00 pop {pc} - -0802ff94 <__cxa_end_catch>: - 802ff94: b500 push {lr} - 802ff96: b081 sub sp, #4 - 802ff98: f000 fb16 bl 80305c8 <__cxa_get_globals_fast> - 802ff9c: 4601 mov r1, r0 - 802ff9e: 6800 ldr r0, [r0, #0] - 802ffa0: b140 cbz r0, 802ffb4 <__cxa_end_catch+0x20> - 802ffa2: f890 3020 ldrb.w r3, [r0, #32] - 802ffa6: 2b47 cmp r3, #71 - 802ffa8: d006 beq.n 802ffb8 <__cxa_end_catch+0x24> - 802ffaa: 2300 movs r3, #0 - 802ffac: 600b str r3, [r1, #0] - 802ffae: 3020 adds r0, #32 - 802ffb0: f7fd faa8 bl 802d504 <_Unwind_DeleteException> - 802ffb4: b001 add sp, #4 - 802ffb6: bd00 pop {pc} - 802ffb8: f890 3021 ldrb.w r3, [r0, #33] - 802ffbc: 2b4e cmp r3, #78 - 802ffbe: d1f4 bne.n 802ffaa <__cxa_end_catch+0x16> - 802ffc0: f890 3022 ldrb.w r3, [r0, #34] - 802ffc4: 2b55 cmp r3, #85 - 802ffc6: d1f0 bne.n 802ffaa <__cxa_end_catch+0x16> - 802ffc8: f890 3023 ldrb.w r3, [r0, #35] - 802ffcc: 2b43 cmp r3, #67 - 802ffce: d1ec bne.n 802ffaa <__cxa_end_catch+0x16> - 802ffd0: f890 3024 ldrb.w r3, [r0, #36] - 802ffd4: 2b43 cmp r3, #67 - 802ffd6: d1e8 bne.n 802ffaa <__cxa_end_catch+0x16> - 802ffd8: f890 3025 ldrb.w r3, [r0, #37] - 802ffdc: 2b2b cmp r3, #43 - 802ffde: d1e4 bne.n 802ffaa <__cxa_end_catch+0x16> - 802ffe0: f890 3026 ldrb.w r3, [r0, #38] - 802ffe4: 2b2b cmp r3, #43 - 802ffe6: d1e0 bne.n 802ffaa <__cxa_end_catch+0x16> - 802ffe8: f890 3027 ldrb.w r3, [r0, #39] - 802ffec: 2b00 cmp r3, #0 - 802ffee: d1dc bne.n 802ffaa <__cxa_end_catch+0x16> - 802fff0: 6943 ldr r3, [r0, #20] - 802fff2: 2b00 cmp r3, #0 - 802fff4: db09 blt.n 803000a <__cxa_end_catch+0x76> - 802fff6: f113 32ff adds.w r2, r3, #4294967295 ; 0xffffffff - 802fffa: d00d beq.n 8030018 <__cxa_end_catch+0x84> - 802fffc: f1b2 3fff cmp.w r2, #4294967295 ; 0xffffffff - 8030000: d001 beq.n 8030006 <__cxa_end_catch+0x72> - 8030002: 6142 str r2, [r0, #20] - 8030004: e7d6 b.n 802ffb4 <__cxa_end_catch+0x20> - 8030006: f7ff f8d9 bl 802f1bc <_ZSt9terminatev> - 803000a: 1c5a adds r2, r3, #1 - 803000c: bf08 it eq - 803000e: 6903 ldreq r3, [r0, #16] - 8030010: 6142 str r2, [r0, #20] - 8030012: bf08 it eq - 8030014: 600b streq r3, [r1, #0] - 8030016: e7cd b.n 802ffb4 <__cxa_end_catch+0x20> - 8030018: 6903 ldr r3, [r0, #16] - 803001a: 3020 adds r0, #32 - 803001c: 600b str r3, [r1, #0] - 803001e: f7fd fa71 bl 802d504 <_Unwind_DeleteException> - 8030022: e7c7 b.n 802ffb4 <__cxa_end_catch+0x20> - -08030024 <__cxa_begin_catch>: - 8030024: b530 push {r4, r5, lr} - 8030026: b081 sub sp, #4 - 8030028: 4605 mov r5, r0 - 803002a: f000 fad1 bl 80305d0 <__cxa_get_globals> - 803002e: 462a mov r2, r5 - 8030030: f812 3920 ldrb.w r3, [r2], #-32 - 8030034: 6801 ldr r1, [r0, #0] - 8030036: 2b47 cmp r3, #71 - 8030038: d006 beq.n 8030048 <__cxa_begin_catch+0x24> - 803003a: 2900 cmp r1, #0 - 803003c: d134 bne.n 80300a8 <__cxa_begin_catch+0x84> - 803003e: 6002 str r2, [r0, #0] - 8030040: 460c mov r4, r1 - 8030042: 4620 mov r0, r4 - 8030044: b001 add sp, #4 - 8030046: bd30 pop {r4, r5, pc} - 8030048: f892 3021 ldrb.w r3, [r2, #33] - 803004c: 2b4e cmp r3, #78 - 803004e: d1f4 bne.n 803003a <__cxa_begin_catch+0x16> - 8030050: f892 3022 ldrb.w r3, [r2, #34] - 8030054: 2b55 cmp r3, #85 - 8030056: d1f0 bne.n 803003a <__cxa_begin_catch+0x16> - 8030058: f892 3023 ldrb.w r3, [r2, #35] - 803005c: 2b43 cmp r3, #67 - 803005e: d1ec bne.n 803003a <__cxa_begin_catch+0x16> - 8030060: f892 3024 ldrb.w r3, [r2, #36] - 8030064: 2b43 cmp r3, #67 - 8030066: d1e8 bne.n 803003a <__cxa_begin_catch+0x16> - 8030068: f892 3025 ldrb.w r3, [r2, #37] - 803006c: 2b2b cmp r3, #43 - 803006e: d1e4 bne.n 803003a <__cxa_begin_catch+0x16> - 8030070: f892 3026 ldrb.w r3, [r2, #38] - 8030074: 2b2b cmp r3, #43 - 8030076: d1e0 bne.n 803003a <__cxa_begin_catch+0x16> - 8030078: f892 3027 ldrb.w r3, [r2, #39] - 803007c: 2b00 cmp r3, #0 - 803007e: d1dc bne.n 803003a <__cxa_begin_catch+0x16> - 8030080: 6953 ldr r3, [r2, #20] - 8030082: 2b00 cmp r3, #0 - 8030084: db0d blt.n 80300a2 <__cxa_begin_catch+0x7e> - 8030086: 3301 adds r3, #1 - 8030088: 6153 str r3, [r2, #20] - 803008a: 6843 ldr r3, [r0, #4] - 803008c: 3b01 subs r3, #1 - 803008e: 4291 cmp r1, r2 - 8030090: 6043 str r3, [r0, #4] - 8030092: bf1c itt ne - 8030094: 6111 strne r1, [r2, #16] - 8030096: 6002 strne r2, [r0, #0] - 8030098: 4628 mov r0, r5 - 803009a: 6a6c ldr r4, [r5, #36] - 803009c: f7fd fa30 bl 802d500 <_Unwind_Complete> - 80300a0: e7cf b.n 8030042 <__cxa_begin_catch+0x1e> - 80300a2: f1c3 0301 rsb r3, r3, #1 ; 0x1 - 80300a6: e7ef b.n 8030088 <__cxa_begin_catch+0x64> - 80300a8: f7ff f888 bl 802f1bc <_ZSt9terminatev> - 80300ac: f1b1 3fff cmp.w r1, #4294967295 ; 0xffffffff - 80300b0: d001 beq.n 80300b6 <__cxa_begin_catch+0x92> - 80300b2: f7f9 fb8f bl 80297d4 <__cxa_end_cleanup> - 80300b6: f7ff fedb bl 802fe70 <__cxa_call_unexpected> - 80300ba: 46c0 nop (mov r8, r8) - -080300bc <_ZNKSt8bad_cast4whatEv>: - 80300bc: 4800 ldr r0, [pc, #0] (80300c0 <_ZNKSt8bad_cast4whatEv+0x4>) - 80300be: 4770 bx lr - 80300c0: 080348b8 .word 0x080348b8 - -080300c4 <_ZNSt8bad_castD1Ev>: - 80300c4: 4b03 ldr r3, [pc, #12] (80300d4 <_ZNSt8bad_castD1Ev+0x10>) - 80300c6: b510 push {r4, lr} - 80300c8: 6003 str r3, [r0, #0] - 80300ca: 4604 mov r4, r0 - 80300cc: f000 f8da bl 8030284 <_ZNSt9exceptionD2Ev> - 80300d0: 4620 mov r0, r4 - 80300d2: bd10 pop {r4, pc} - 80300d4: 080348d0 .word 0x080348d0 - -080300d8 <_ZNSt8bad_castD2Ev>: - 80300d8: 4b03 ldr r3, [pc, #12] (80300e8 <_ZNSt8bad_castD2Ev+0x10>) - 80300da: b510 push {r4, lr} - 80300dc: 6003 str r3, [r0, #0] - 80300de: 4604 mov r4, r0 - 80300e0: f000 f8d0 bl 8030284 <_ZNSt9exceptionD2Ev> - 80300e4: 4620 mov r0, r4 - 80300e6: bd10 pop {r4, pc} - 80300e8: 080348d0 .word 0x080348d0 - -080300ec <_ZNSt8bad_castD0Ev>: - 80300ec: 4b05 ldr r3, [pc, #20] (8030104 <_ZNSt8bad_castD0Ev+0x18>) - 80300ee: b510 push {r4, lr} - 80300f0: 6003 str r3, [r0, #0] - 80300f2: 4604 mov r4, r0 - 80300f4: f000 f8c6 bl 8030284 <_ZNSt9exceptionD2Ev> - 80300f8: 4620 mov r0, r4 - 80300fa: f7e7 fa87 bl 801760c <_ZdlPv> - 80300fe: 4620 mov r0, r4 - 8030100: bd10 pop {r4, pc} - 8030102: 46c0 nop (mov r8, r8) - 8030104: 080348d0 .word 0x080348d0 - -08030108 <_ZNK10__cxxabiv120__si_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE>: - 8030108: b5f0 push {r4, r5, r6, r7, lr} - 803010a: b081 sub sp, #4 - 803010c: 4604 mov r4, r0 - 803010e: 460d mov r5, r1 - 8030110: 4616 mov r6, r2 - 8030112: 461f mov r7, r3 - 8030114: f000 f938 bl 8030388 <_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PKvRNS0_15__upcast_resultE> - 8030118: b110 cbz r0, 8030120 <_ZNK10__cxxabiv120__si_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE+0x18> - 803011a: 2001 movs r0, #1 - 803011c: b001 add sp, #4 - 803011e: bdf0 pop {r4, r5, r6, r7, pc} - 8030120: 68a0 ldr r0, [r4, #8] - 8030122: 4629 mov r1, r5 - 8030124: 6803 ldr r3, [r0, #0] - 8030126: 4632 mov r2, r6 - 8030128: 699c ldr r4, [r3, #24] - 803012a: 463b mov r3, r7 - 803012c: 47a0 blx r4 - 803012e: e7f5 b.n 803011c <_ZNK10__cxxabiv120__si_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE+0x14> - -08030130 <_ZNK10__cxxabiv120__si_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE>: - 8030130: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 8030134: 460e mov r6, r1 - 8030136: b085 sub sp, #20 - 8030138: 4619 mov r1, r3 - 803013a: 4604 mov r4, r0 - 803013c: 4617 mov r7, r2 - 803013e: 469b mov fp, r3 - 8030140: f8dd 8038 ldr.w r8, [sp, #56] - 8030144: f8dd 9040 ldr.w r9, [sp, #64] - 8030148: f8dd a044 ldr.w sl, [sp, #68] - 803014c: f000 f990 bl 8030470 <_ZNKSt9type_infoeqERKS_> - 8030150: 4605 mov r5, r0 - 8030152: b178 cbz r0, 8030174 <_ZNK10__cxxabiv120__si_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE+0x44> - 8030154: 2e00 cmp r6, #0 - 8030156: f8ca 8000 str.w r8, [sl] - 803015a: f88a 7004 strb.w r7, [sl, #4] - 803015e: db1d blt.n 803019c <_ZNK10__cxxabiv120__si_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE+0x6c> - 8030160: eb08 0306 add.w r3, r8, r6 - 8030164: 4599 cmp r9, r3 - 8030166: bf0c ite eq - 8030168: 2306 moveq r3, #6 - 803016a: 2301 movne r3, #1 - 803016c: f88a 3006 strb.w r3, [sl, #6] - 8030170: 2000 movs r0, #0 - 8030172: e010 b.n 8030196 <_ZNK10__cxxabiv120__si_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE+0x66> - 8030174: 45c8 cmp r8, r9 - 8030176: d01b beq.n 80301b0 <_ZNK10__cxxabiv120__si_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE+0x80> - 8030178: 68a0 ldr r0, [r4, #8] - 803017a: 9a0f ldr r2, [sp, #60] - 803017c: 6803 ldr r3, [r0, #0] - 803017e: 9201 str r2, [sp, #4] - 8030180: f8cd 8000 str.w r8, [sp] - 8030184: f8cd 9008 str.w r9, [sp, #8] - 8030188: f8cd a00c str.w sl, [sp, #12] - 803018c: 69dc ldr r4, [r3, #28] - 803018e: 4631 mov r1, r6 - 8030190: 463a mov r2, r7 - 8030192: 465b mov r3, fp - 8030194: 47a0 blx r4 - 8030196: b005 add sp, #20 - 8030198: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} - 803019c: f116 0f02 cmn.w r6, #2 ; 0x2 - 80301a0: d001 beq.n 80301a6 <_ZNK10__cxxabiv120__si_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE+0x76> - 80301a2: 2000 movs r0, #0 - 80301a4: e7f7 b.n 8030196 <_ZNK10__cxxabiv120__si_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE+0x66> - 80301a6: 2301 movs r3, #1 - 80301a8: f88a 3006 strb.w r3, [sl, #6] - 80301ac: 2000 movs r0, #0 - 80301ae: e7f2 b.n 8030196 <_ZNK10__cxxabiv120__si_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE+0x66> - 80301b0: 4620 mov r0, r4 - 80301b2: 990f ldr r1, [sp, #60] - 80301b4: f000 f95c bl 8030470 <_ZNKSt9type_infoeqERKS_> - 80301b8: 2800 cmp r0, #0 - 80301ba: d0dd beq.n 8030178 <_ZNK10__cxxabiv120__si_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE+0x48> - 80301bc: f88a 7005 strb.w r7, [sl, #5] - 80301c0: 4628 mov r0, r5 - 80301c2: e7e8 b.n 8030196 <_ZNK10__cxxabiv120__si_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE+0x66> - -080301c4 <_ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_>: - 80301c4: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 80301c8: b082 sub sp, #8 - 80301ca: 9e08 ldr r6, [sp, #32] - 80301cc: 4604 mov r4, r0 - 80301ce: 4296 cmp r6, r2 - 80301d0: 4688 mov r8, r1 - 80301d2: 4615 mov r5, r2 - 80301d4: 461f mov r7, r3 - 80301d6: d00a beq.n 80301ee <_ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_+0x2a> - 80301d8: 68a0 ldr r0, [r4, #8] - 80301da: 4641 mov r1, r8 - 80301dc: 6803 ldr r3, [r0, #0] - 80301de: 9600 str r6, [sp, #0] - 80301e0: 6a1c ldr r4, [r3, #32] - 80301e2: 462a mov r2, r5 - 80301e4: 463b mov r3, r7 - 80301e6: 47a0 blx r4 - 80301e8: b002 add sp, #8 - 80301ea: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - 80301ee: 4619 mov r1, r3 - 80301f0: f000 f93e bl 8030470 <_ZNKSt9type_infoeqERKS_> - 80301f4: 2800 cmp r0, #0 - 80301f6: d0ef beq.n 80301d8 <_ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_+0x14> - 80301f8: 2006 movs r0, #6 - 80301fa: e7f5 b.n 80301e8 <_ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_+0x24> - -080301fc <_ZN10__cxxabiv120__si_class_type_infoD1Ev>: - 80301fc: 4b03 ldr r3, [pc, #12] (803020c <_ZN10__cxxabiv120__si_class_type_infoD1Ev+0x10>) - 80301fe: b510 push {r4, lr} - 8030200: 6003 str r3, [r0, #0] - 8030202: 4604 mov r4, r0 - 8030204: f000 f910 bl 8030428 <_ZN10__cxxabiv117__class_type_infoD2Ev> - 8030208: 4620 mov r0, r4 - 803020a: bd10 pop {r4, pc} - 803020c: 08034900 .word 0x08034900 - -08030210 <_ZN10__cxxabiv120__si_class_type_infoD2Ev>: - 8030210: 4b03 ldr r3, [pc, #12] (8030220 <_ZN10__cxxabiv120__si_class_type_infoD2Ev+0x10>) - 8030212: b510 push {r4, lr} - 8030214: 6003 str r3, [r0, #0] - 8030216: 4604 mov r4, r0 - 8030218: f000 f906 bl 8030428 <_ZN10__cxxabiv117__class_type_infoD2Ev> - 803021c: 4620 mov r0, r4 - 803021e: bd10 pop {r4, pc} - 8030220: 08034900 .word 0x08034900 - -08030224 <_ZN10__cxxabiv120__si_class_type_infoD0Ev>: - 8030224: 4b05 ldr r3, [pc, #20] (803023c <_ZN10__cxxabiv120__si_class_type_infoD0Ev+0x18>) - 8030226: b510 push {r4, lr} - 8030228: 6003 str r3, [r0, #0] - 803022a: 4604 mov r4, r0 - 803022c: f000 f8fc bl 8030428 <_ZN10__cxxabiv117__class_type_infoD2Ev> - 8030230: 4620 mov r0, r4 - 8030232: f7e7 f9eb bl 801760c <_ZdlPv> - 8030236: 4620 mov r0, r4 - 8030238: bd10 pop {r4, pc} - 803023a: 46c0 nop (mov r8, r8) - 803023c: 08034900 .word 0x08034900 - -08030240 <_ZN10__cxxabiv123__fundamental_type_infoD1Ev>: - 8030240: 4b03 ldr r3, [pc, #12] (8030250 <_ZN10__cxxabiv123__fundamental_type_infoD1Ev+0x10>) - 8030242: b510 push {r4, lr} - 8030244: 6003 str r3, [r0, #0] - 8030246: 4604 mov r4, r0 - 8030248: f000 f906 bl 8030458 <_ZNSt9type_infoD2Ev> - 803024c: 4620 mov r0, r4 - 803024e: bd10 pop {r4, pc} - 8030250: 08034968 .word 0x08034968 - -08030254 <_ZN10__cxxabiv123__fundamental_type_infoD2Ev>: - 8030254: 4b03 ldr r3, [pc, #12] (8030264 <_ZN10__cxxabiv123__fundamental_type_infoD2Ev+0x10>) - 8030256: b510 push {r4, lr} - 8030258: 6003 str r3, [r0, #0] - 803025a: 4604 mov r4, r0 - 803025c: f000 f8fc bl 8030458 <_ZNSt9type_infoD2Ev> - 8030260: 4620 mov r0, r4 - 8030262: bd10 pop {r4, pc} - 8030264: 08034968 .word 0x08034968 - -08030268 <_ZN10__cxxabiv123__fundamental_type_infoD0Ev>: - 8030268: 4b05 ldr r3, [pc, #20] (8030280 <_ZN10__cxxabiv123__fundamental_type_infoD0Ev+0x18>) - 803026a: b510 push {r4, lr} - 803026c: 6003 str r3, [r0, #0] - 803026e: 4604 mov r4, r0 - 8030270: f000 f8f2 bl 8030458 <_ZNSt9type_infoD2Ev> - 8030274: 4620 mov r0, r4 - 8030276: f7e7 f9c9 bl 801760c <_ZdlPv> - 803027a: 4620 mov r0, r4 - 803027c: bd10 pop {r4, pc} - 803027e: 46c0 nop (mov r8, r8) - 8030280: 08034968 .word 0x08034968 - -08030284 <_ZNSt9exceptionD2Ev>: - 8030284: 4b01 ldr r3, [pc, #4] (803028c <_ZNSt9exceptionD2Ev+0x8>) - 8030286: 6003 str r3, [r0, #0] - 8030288: 4770 bx lr - 803028a: 46c0 nop (mov r8, r8) - 803028c: 08034da0 .word 0x08034da0 - -08030290 <_ZNSt9exceptionD1Ev>: - 8030290: 4b01 ldr r3, [pc, #4] (8030298 <_ZNSt9exceptionD1Ev+0x8>) - 8030292: 6003 str r3, [r0, #0] - 8030294: 4770 bx lr - 8030296: 46c0 nop (mov r8, r8) - 8030298: 08034da0 .word 0x08034da0 - -0803029c <_ZNSt13bad_exceptionD2Ev>: - 803029c: 4b01 ldr r3, [pc, #4] (80302a4 <_ZNSt13bad_exceptionD2Ev+0x8>) - 803029e: 6003 str r3, [r0, #0] - 80302a0: 4770 bx lr - 80302a2: 46c0 nop (mov r8, r8) - 80302a4: 08034da0 .word 0x08034da0 - -080302a8 <_ZNSt13bad_exceptionD1Ev>: - 80302a8: 4b01 ldr r3, [pc, #4] (80302b0 <_ZNSt13bad_exceptionD1Ev+0x8>) - 80302aa: 6003 str r3, [r0, #0] - 80302ac: 4770 bx lr - 80302ae: 46c0 nop (mov r8, r8) - 80302b0: 08034da0 .word 0x08034da0 - -080302b4 <_ZN10__cxxabiv115__forced_unwindD2Ev>: - 80302b4: 4b01 ldr r3, [pc, #4] (80302bc <_ZN10__cxxabiv115__forced_unwindD2Ev+0x8>) - 80302b6: 6003 str r3, [r0, #0] - 80302b8: 4770 bx lr - 80302ba: 46c0 nop (mov r8, r8) - 80302bc: 08034d70 .word 0x08034d70 - -080302c0 <_ZN10__cxxabiv115__forced_unwindD1Ev>: - 80302c0: 4b01 ldr r3, [pc, #4] (80302c8 <_ZN10__cxxabiv115__forced_unwindD1Ev+0x8>) - 80302c2: 6003 str r3, [r0, #0] - 80302c4: 4770 bx lr - 80302c6: 46c0 nop (mov r8, r8) - 80302c8: 08034d70 .word 0x08034d70 - -080302cc <_ZN10__cxxabiv119__foreign_exceptionD2Ev>: - 80302cc: 4b01 ldr r3, [pc, #4] (80302d4 <_ZN10__cxxabiv119__foreign_exceptionD2Ev+0x8>) - 80302ce: 6003 str r3, [r0, #0] - 80302d0: 4770 bx lr - 80302d2: 46c0 nop (mov r8, r8) - 80302d4: 08034d58 .word 0x08034d58 - -080302d8 <_ZN10__cxxabiv119__foreign_exceptionD1Ev>: - 80302d8: 4b01 ldr r3, [pc, #4] (80302e0 <_ZN10__cxxabiv119__foreign_exceptionD1Ev+0x8>) - 80302da: 6003 str r3, [r0, #0] - 80302dc: 4770 bx lr - 80302de: 46c0 nop (mov r8, r8) - 80302e0: 08034d58 .word 0x08034d58 - -080302e4 <_ZNKSt9exception4whatEv>: - 80302e4: 4800 ldr r0, [pc, #0] (80302e8 <_ZNKSt9exception4whatEv+0x4>) - 80302e6: 4770 bx lr - 80302e8: 08034d28 .word 0x08034d28 - -080302ec <_ZNKSt13bad_exception4whatEv>: - 80302ec: 4800 ldr r0, [pc, #0] (80302f0 <_ZNKSt13bad_exception4whatEv+0x4>) - 80302ee: 4770 bx lr - 80302f0: 08034d38 .word 0x08034d38 - -080302f4 <_ZN10__cxxabiv119__foreign_exceptionD0Ev>: - 80302f4: 4b03 ldr r3, [pc, #12] (8030304 <_ZN10__cxxabiv119__foreign_exceptionD0Ev+0x10>) - 80302f6: b510 push {r4, lr} - 80302f8: 6003 str r3, [r0, #0] - 80302fa: 4604 mov r4, r0 - 80302fc: f7e7 f986 bl 801760c <_ZdlPv> - 8030300: 4620 mov r0, r4 - 8030302: bd10 pop {r4, pc} - 8030304: 08034d58 .word 0x08034d58 - -08030308 <_ZN10__cxxabiv115__forced_unwindD0Ev>: - 8030308: 4b03 ldr r3, [pc, #12] (8030318 <_ZN10__cxxabiv115__forced_unwindD0Ev+0x10>) - 803030a: b510 push {r4, lr} - 803030c: 6003 str r3, [r0, #0] - 803030e: 4604 mov r4, r0 - 8030310: f7e7 f97c bl 801760c <_ZdlPv> - 8030314: 4620 mov r0, r4 - 8030316: bd10 pop {r4, pc} - 8030318: 08034d70 .word 0x08034d70 - -0803031c <_ZNSt9exceptionD0Ev>: - 803031c: 4b03 ldr r3, [pc, #12] (803032c <_ZNSt9exceptionD0Ev+0x10>) - 803031e: b510 push {r4, lr} - 8030320: 6003 str r3, [r0, #0] - 8030322: 4604 mov r4, r0 - 8030324: f7e7 f972 bl 801760c <_ZdlPv> - 8030328: 4620 mov r0, r4 - 803032a: bd10 pop {r4, pc} - 803032c: 08034da0 .word 0x08034da0 - -08030330 <_ZNSt13bad_exceptionD0Ev>: - 8030330: 4b03 ldr r3, [pc, #12] (8030340 <_ZNSt13bad_exceptionD0Ev+0x10>) - 8030332: b510 push {r4, lr} - 8030334: 6003 str r3, [r0, #0] - 8030336: 4604 mov r4, r0 - 8030338: f7e7 f968 bl 801760c <_ZdlPv> - 803033c: 4620 mov r0, r4 - 803033e: bd10 pop {r4, pc} - 8030340: 08034da0 .word 0x08034da0 - -08030344 <_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PPv>: - 8030344: b570 push {r4, r5, r6, lr} - 8030346: 2310 movs r3, #16 - 8030348: b084 sub sp, #16 - 803034a: 2500 movs r5, #0 - 803034c: 9302 str r3, [sp, #8] - 803034e: 6803 ldr r3, [r0, #0] - 8030350: 9500 str r5, [sp, #0] - 8030352: 4616 mov r6, r2 - 8030354: 699c ldr r4, [r3, #24] - 8030356: f88d 5004 strb.w r5, [sp, #4] - 803035a: 466b mov r3, sp - 803035c: 9503 str r5, [sp, #12] - 803035e: 6812 ldr r2, [r2, #0] - 8030360: 47a0 blx r4 - 8030362: f89d 3004 ldrb.w r3, [sp, #4] - 8030366: f003 0306 and.w r3, r3, #6 ; 0x6 - 803036a: 2b06 cmp r3, #6 - 803036c: bf09 itett eq - 803036e: 9b00 ldreq r3, [sp, #0] - 8030370: 4628 movne r0, r5 - 8030372: 6033 streq r3, [r6, #0] - 8030374: 2001 moveq r0, #1 - 8030376: b004 add sp, #16 - 8030378: bd70 pop {r4, r5, r6, pc} - 803037a: 46c0 nop (mov r8, r8) - -0803037c <_ZNK10__cxxabiv117__class_type_info20__do_find_public_srcEiPKvPKS0_S2_>: - 803037c: 9800 ldr r0, [sp, #0] - 803037e: 4290 cmp r0, r2 - 8030380: bf0c ite eq - 8030382: 2006 moveq r0, #6 - 8030384: 2001 movne r0, #1 - 8030386: 4770 bx lr - -08030388 <_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PKvRNS0_15__upcast_resultE>: - 8030388: b530 push {r4, r5, lr} - 803038a: b081 sub sp, #4 - 803038c: 4615 mov r5, r2 - 803038e: 461c mov r4, r3 - 8030390: f000 f86e bl 8030470 <_ZNKSt9type_infoeqERKS_> - 8030394: b128 cbz r0, 80303a2 <_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PKvRNS0_15__upcast_resultE+0x1a> - 8030396: 2308 movs r3, #8 - 8030398: 2206 movs r2, #6 - 803039a: 6025 str r5, [r4, #0] - 803039c: 60e3 str r3, [r4, #12] - 803039e: 7122 strb r2, [r4, #4] - 80303a0: 2001 movs r0, #1 - 80303a2: b001 add sp, #4 - 80303a4: bd30 pop {r4, r5, pc} - 80303a6: 46c0 nop (mov r8, r8) - -080303a8 <_ZNK10__cxxabiv117__class_type_info12__do_dyncastEiNS0_10__sub_kindEPKS0_PKvS3_S5_RNS0_16__dyncast_resultE>: - 80303a8: b5f0 push {r4, r5, r6, r7, lr} - 80303aa: b081 sub sp, #4 - 80303ac: 461c mov r4, r3 - 80303ae: 9e06 ldr r6, [sp, #24] - 80303b0: 9b08 ldr r3, [sp, #32] - 80303b2: 4605 mov r5, r0 - 80303b4: 429e cmp r6, r3 - 80303b6: 4617 mov r7, r2 - 80303b8: d00d beq.n 80303d6 <_ZNK10__cxxabiv117__class_type_info12__do_dyncastEiNS0_10__sub_kindEPKS0_PKvS3_S5_RNS0_16__dyncast_resultE+0x2e> - 80303ba: 4628 mov r0, r5 - 80303bc: 4621 mov r1, r4 - 80303be: f000 f857 bl 8030470 <_ZNKSt9type_infoeqERKS_> - 80303c2: b128 cbz r0, 80303d0 <_ZNK10__cxxabiv117__class_type_info12__do_dyncastEiNS0_10__sub_kindEPKS0_PKvS3_S5_RNS0_16__dyncast_resultE+0x28> - 80303c4: 9b09 ldr r3, [sp, #36] - 80303c6: 9a09 ldr r2, [sp, #36] - 80303c8: 601e str r6, [r3, #0] - 80303ca: 711f strb r7, [r3, #4] - 80303cc: 2301 movs r3, #1 - 80303ce: 7193 strb r3, [r2, #6] - 80303d0: 2000 movs r0, #0 - 80303d2: b001 add sp, #4 - 80303d4: bdf0 pop {r4, r5, r6, r7, pc} - 80303d6: 9907 ldr r1, [sp, #28] - 80303d8: f000 f84a bl 8030470 <_ZNKSt9type_infoeqERKS_> - 80303dc: 2800 cmp r0, #0 - 80303de: d0ec beq.n 80303ba <_ZNK10__cxxabiv117__class_type_info12__do_dyncastEiNS0_10__sub_kindEPKS0_PKvS3_S5_RNS0_16__dyncast_resultE+0x12> - 80303e0: 9a09 ldr r2, [sp, #36] - 80303e2: 7157 strb r7, [r2, #5] - 80303e4: e7f4 b.n 80303d0 <_ZNK10__cxxabiv117__class_type_info12__do_dyncastEiNS0_10__sub_kindEPKS0_PKvS3_S5_RNS0_16__dyncast_resultE+0x28> - 80303e6: 46c0 nop (mov r8, r8) - -080303e8 <_ZNK10__cxxabiv117__class_type_info10__do_catchEPKSt9type_infoPPvj>: - 80303e8: b5f0 push {r4, r5, r6, r7, lr} - 80303ea: b081 sub sp, #4 - 80303ec: 4606 mov r6, r0 - 80303ee: 460d mov r5, r1 - 80303f0: 4617 mov r7, r2 - 80303f2: 461c mov r4, r3 - 80303f4: f000 f83c bl 8030470 <_ZNKSt9type_infoeqERKS_> - 80303f8: b918 cbnz r0, 8030402 <_ZNK10__cxxabiv117__class_type_info10__do_catchEPKSt9type_infoPPvj+0x1a> - 80303fa: 2c03 cmp r4, #3 - 80303fc: d903 bls.n 8030406 <_ZNK10__cxxabiv117__class_type_info10__do_catchEPKSt9type_infoPPvj+0x1e> - 80303fe: b001 add sp, #4 - 8030400: bdf0 pop {r4, r5, r6, r7, pc} - 8030402: 2001 movs r0, #1 - 8030404: e7fb b.n 80303fe <_ZNK10__cxxabiv117__class_type_info10__do_catchEPKSt9type_infoPPvj+0x16> - 8030406: 682b ldr r3, [r5, #0] - 8030408: 4628 mov r0, r5 - 803040a: 695c ldr r4, [r3, #20] - 803040c: 4631 mov r1, r6 - 803040e: 463a mov r2, r7 - 8030410: 47a0 blx r4 - 8030412: e7f4 b.n 80303fe <_ZNK10__cxxabiv117__class_type_info10__do_catchEPKSt9type_infoPPvj+0x16> - -08030414 <_ZN10__cxxabiv117__class_type_infoD1Ev>: - 8030414: 4b03 ldr r3, [pc, #12] (8030424 <_ZN10__cxxabiv117__class_type_infoD1Ev+0x10>) - 8030416: b510 push {r4, lr} - 8030418: 6003 str r3, [r0, #0] - 803041a: 4604 mov r4, r0 - 803041c: f000 f81c bl 8030458 <_ZNSt9type_infoD2Ev> - 8030420: 4620 mov r0, r4 - 8030422: bd10 pop {r4, pc} - 8030424: 08034e48 .word 0x08034e48 - -08030428 <_ZN10__cxxabiv117__class_type_infoD2Ev>: - 8030428: 4b03 ldr r3, [pc, #12] (8030438 <_ZN10__cxxabiv117__class_type_infoD2Ev+0x10>) - 803042a: b510 push {r4, lr} - 803042c: 6003 str r3, [r0, #0] - 803042e: 4604 mov r4, r0 - 8030430: f000 f812 bl 8030458 <_ZNSt9type_infoD2Ev> - 8030434: 4620 mov r0, r4 - 8030436: bd10 pop {r4, pc} - 8030438: 08034e48 .word 0x08034e48 - -0803043c <_ZN10__cxxabiv117__class_type_infoD0Ev>: - 803043c: 4b05 ldr r3, [pc, #20] (8030454 <_ZN10__cxxabiv117__class_type_infoD0Ev+0x18>) - 803043e: b510 push {r4, lr} - 8030440: 6003 str r3, [r0, #0] - 8030442: 4604 mov r4, r0 - 8030444: f000 f808 bl 8030458 <_ZNSt9type_infoD2Ev> - 8030448: 4620 mov r0, r4 - 803044a: f7e7 f8df bl 801760c <_ZdlPv> - 803044e: 4620 mov r0, r4 - 8030450: bd10 pop {r4, pc} - 8030452: 46c0 nop (mov r8, r8) - 8030454: 08034e48 .word 0x08034e48 - -08030458 <_ZNSt9type_infoD2Ev>: - 8030458: 4b01 ldr r3, [pc, #4] (8030460 <_ZNSt9type_infoD2Ev+0x8>) - 803045a: 6003 str r3, [r0, #0] - 803045c: 4770 bx lr - 803045e: 46c0 nop (mov r8, r8) - 8030460: 08034ea8 .word 0x08034ea8 - -08030464 <_ZNSt9type_infoD1Ev>: - 8030464: 4b01 ldr r3, [pc, #4] (803046c <_ZNSt9type_infoD1Ev+0x8>) - 8030466: 6003 str r3, [r0, #0] - 8030468: 4770 bx lr - 803046a: 46c0 nop (mov r8, r8) - 803046c: 08034ea8 .word 0x08034ea8 - -08030470 <_ZNKSt9type_infoeqERKS_>: - 8030470: 6840 ldr r0, [r0, #4] - 8030472: 684b ldr r3, [r1, #4] - 8030474: 4298 cmp r0, r3 - 8030476: bf14 ite ne - 8030478: 2000 movne r0, #0 - 803047a: 2001 moveq r0, #1 - 803047c: 4770 bx lr - 803047e: 46c0 nop (mov r8, r8) - -08030480 <_ZNKSt9type_info14__is_pointer_pEv>: - 8030480: 2000 movs r0, #0 - 8030482: 4770 bx lr - -08030484 <_ZNKSt9type_info15__is_function_pEv>: - 8030484: 2000 movs r0, #0 - 8030486: 4770 bx lr - -08030488 <_ZNKSt9type_info10__do_catchEPKS_PPvj>: - 8030488: 6840 ldr r0, [r0, #4] - 803048a: 684b ldr r3, [r1, #4] - 803048c: 4298 cmp r0, r3 - 803048e: bf14 ite ne - 8030490: 2000 movne r0, #0 - 8030492: 2001 moveq r0, #1 - 8030494: 4770 bx lr - 8030496: 46c0 nop (mov r8, r8) - -08030498 <_ZNKSt9type_info11__do_upcastEPKN10__cxxabiv117__class_type_infoEPPv>: - 8030498: 2000 movs r0, #0 - 803049a: 4770 bx lr - -0803049c <_ZNSt9type_infoD0Ev>: - 803049c: 4b03 ldr r3, [pc, #12] (80304ac <_ZNSt9type_infoD0Ev+0x10>) - 803049e: b510 push {r4, lr} - 80304a0: 6003 str r3, [r0, #0] - 80304a2: 4604 mov r4, r0 - 80304a4: f7e7 f8b2 bl 801760c <_ZdlPv> - 80304a8: 4620 mov r0, r4 - 80304aa: bd10 pop {r4, pc} - 80304ac: 08034ea8 .word 0x08034ea8 - -080304b0 <__cxa_current_exception_type>: - 80304b0: b500 push {lr} - 80304b2: b081 sub sp, #4 - 80304b4: f000 f88c bl 80305d0 <__cxa_get_globals> - 80304b8: 6800 ldr r0, [r0, #0] - 80304ba: b100 cbz r0, 80304be <__cxa_current_exception_type+0xe> - 80304bc: 6800 ldr r0, [r0, #0] - 80304be: b001 add sp, #4 - 80304c0: bd00 pop {pc} - 80304c2: 46c0 nop (mov r8, r8) - -080304c4 <__cxa_rethrow>: - 80304c4: b510 push {r4, lr} - 80304c6: f000 f883 bl 80305d0 <__cxa_get_globals> - 80304ca: 6843 ldr r3, [r0, #4] - 80304cc: 6804 ldr r4, [r0, #0] - 80304ce: 3301 adds r3, #1 - 80304d0: 6043 str r3, [r0, #4] - 80304d2: b164 cbz r4, 80304ee <__cxa_rethrow+0x2a> - 80304d4: f894 3020 ldrb.w r3, [r4, #32] - 80304d8: 2b47 cmp r3, #71 - 80304da: d00a beq.n 80304f2 <__cxa_rethrow+0x2e> - 80304dc: 2300 movs r3, #0 - 80304de: 6003 str r3, [r0, #0] - 80304e0: 3420 adds r4, #32 - 80304e2: 4620 mov r0, r4 - 80304e4: f7fd fd62 bl 802dfac <_Unwind_Resume_or_Rethrow> - 80304e8: 4620 mov r0, r4 - 80304ea: f7ff fd9b bl 8030024 <__cxa_begin_catch> - 80304ee: f7fe fe65 bl 802f1bc <_ZSt9terminatev> - 80304f2: f894 3021 ldrb.w r3, [r4, #33] - 80304f6: 2b4e cmp r3, #78 - 80304f8: d1f0 bne.n 80304dc <__cxa_rethrow+0x18> - 80304fa: f894 3022 ldrb.w r3, [r4, #34] - 80304fe: 2b55 cmp r3, #85 - 8030500: d1ec bne.n 80304dc <__cxa_rethrow+0x18> - 8030502: f894 3023 ldrb.w r3, [r4, #35] - 8030506: 2b43 cmp r3, #67 - 8030508: d1e8 bne.n 80304dc <__cxa_rethrow+0x18> - 803050a: f894 3024 ldrb.w r3, [r4, #36] - 803050e: 2b43 cmp r3, #67 - 8030510: d1e4 bne.n 80304dc <__cxa_rethrow+0x18> - 8030512: f894 3025 ldrb.w r3, [r4, #37] - 8030516: 2b2b cmp r3, #43 - 8030518: d1e0 bne.n 80304dc <__cxa_rethrow+0x18> - 803051a: f894 3026 ldrb.w r3, [r4, #38] - 803051e: 2b2b cmp r3, #43 - 8030520: d1dc bne.n 80304dc <__cxa_rethrow+0x18> - 8030522: f894 3027 ldrb.w r3, [r4, #39] - 8030526: 2b00 cmp r3, #0 - 8030528: d1d8 bne.n 80304dc <__cxa_rethrow+0x18> - 803052a: 6963 ldr r3, [r4, #20] - 803052c: f1c3 0300 rsb r3, r3, #0 ; 0x0 - 8030530: 6163 str r3, [r4, #20] - 8030532: e7d5 b.n 80304e0 <__cxa_rethrow+0x1c> - -08030534 <__cxa_throw>: - 8030534: 4b16 ldr r3, [pc, #88] (8030590 <__cxa_throw+0x5c>) - 8030536: b510 push {r4, lr} - 8030538: 4604 mov r4, r0 - 803053a: f1a0 0078 sub.w r0, r0, #120 ; 0x78 - 803053e: 6042 str r2, [r0, #4] - 8030540: 681a ldr r2, [r3, #0] - 8030542: 4b14 ldr r3, [pc, #80] (8030594 <__cxa_throw+0x60>) - 8030544: 6082 str r2, [r0, #8] - 8030546: 681a ldr r2, [r3, #0] - 8030548: 2347 movs r3, #71 - 803054a: 60c2 str r2, [r0, #12] - 803054c: 224e movs r2, #78 - 803054e: f880 2021 strb.w r2, [r0, #33] - 8030552: 3a0b subs r2, #11 - 8030554: f880 3020 strb.w r3, [r0, #32] - 8030558: f880 2023 strb.w r2, [r0, #35] - 803055c: f880 2024 strb.w r2, [r0, #36] - 8030560: 330e adds r3, #14 - 8030562: 4a0d ldr r2, [pc, #52] (8030598 <__cxa_throw+0x64>) - 8030564: f844 1c78 str.w r1, [r4, #-120] - 8030568: f880 3022 strb.w r3, [r0, #34] - 803056c: 212b movs r1, #43 - 803056e: 3b55 subs r3, #85 - 8030570: 3c58 subs r4, #88 - 8030572: f880 1025 strb.w r1, [r0, #37] - 8030576: f880 1026 strb.w r1, [r0, #38] - 803057a: f880 3027 strb.w r3, [r0, #39] - 803057e: 6282 str r2, [r0, #40] - 8030580: 4620 mov r0, r4 - 8030582: f7fd fcef bl 802df64 <_Unwind_RaiseException> - 8030586: 4620 mov r0, r4 - 8030588: f7ff fd4c bl 8030024 <__cxa_begin_catch> - 803058c: f7fe fe16 bl 802f1bc <_ZSt9terminatev> - 8030590: 20000044 .word 0x20000044 - 8030594: 20000048 .word 0x20000048 - 8030598: 0803059d .word 0x0803059d - -0803059c <_ZL23__gxx_exception_cleanup19_Unwind_Reason_CodeP21_Unwind_Control_Block>: - 803059c: 2801 cmp r0, #1 - 803059e: b510 push {r4, lr} - 80305a0: f1a1 0320 sub.w r3, r1, #32 ; 0x20 - 80305a4: d80c bhi.n 80305c0 <_ZL23__gxx_exception_cleanup19_Unwind_Reason_CodeP21_Unwind_Control_Block+0x24> - 80305a6: 685b ldr r3, [r3, #4] - 80305a8: b13b cbz r3, 80305ba <_ZL23__gxx_exception_cleanup19_Unwind_Reason_CodeP21_Unwind_Control_Block+0x1e> - 80305aa: f101 0458 add.w r4, r1, #88 ; 0x58 - 80305ae: 4620 mov r0, r4 - 80305b0: 4798 blx r3 - 80305b2: 4620 mov r0, r4 - 80305b4: f000 f812 bl 80305dc <__cxa_free_exception> - 80305b8: bd10 pop {r4, pc} - 80305ba: f101 0458 add.w r4, r1, #88 ; 0x58 - 80305be: e7f8 b.n 80305b2 <_ZL23__gxx_exception_cleanup19_Unwind_Reason_CodeP21_Unwind_Control_Block+0x16> - 80305c0: 68d8 ldr r0, [r3, #12] - 80305c2: f7fe fded bl 802f1a0 <_ZN10__cxxabiv111__terminateEPFvvE> - 80305c6: 46c0 nop (mov r8, r8) - -080305c8 <__cxa_get_globals_fast>: - 80305c8: 4800 ldr r0, [pc, #0] (80305cc <__cxa_get_globals_fast+0x4>) - 80305ca: 4770 bx lr - 80305cc: 20000698 .word 0x20000698 - -080305d0 <__cxa_get_globals>: - 80305d0: 4800 ldr r0, [pc, #0] (80305d4 <__cxa_get_globals+0x4>) - 80305d2: 4770 bx lr - 80305d4: 20000698 .word 0x20000698 - -080305d8 <_GLOBAL__I___cxa_allocate_exception>: - 80305d8: 4770 bx lr - 80305da: 46c0 nop (mov r8, r8) - -080305dc <__cxa_free_exception>: - 80305dc: b500 push {lr} - 80305de: 4a0c ldr r2, [pc, #48] (8030610 <__cxa_free_exception+0x34>) - 80305e0: b081 sub sp, #4 - 80305e2: 4282 cmp r2, r0 - 80305e4: d803 bhi.n 80305ee <__cxa_free_exception+0x12> - 80305e6: f502 6300 add.w r3, r2, #2048 ; 0x800 - 80305ea: 4298 cmp r0, r3 - 80305ec: d304 bcc.n 80305f8 <__cxa_free_exception+0x1c> - 80305ee: 3878 subs r0, #120 - 80305f0: f001 ffc6 bl 8032580 - 80305f4: b001 add sp, #4 - 80305f6: bd00 pop {pc} - 80305f8: ebc2 0200 rsb r2, r2, r0 - 80305fc: 0a52 lsrs r2, r2, #9 - 80305fe: 2301 movs r3, #1 - 8030600: 4093 lsls r3, r2 - 8030602: 4904 ldr r1, [pc, #16] (8030614 <__cxa_free_exception+0x38>) - 8030604: ea6f 0303 mvn.w r3, r3 - 8030608: 680a ldr r2, [r1, #0] - 803060a: 4013 ands r3, r2 - 803060c: 600b str r3, [r1, #0] - 803060e: e7f1 b.n 80305f4 <__cxa_free_exception+0x18> - 8030610: 200006a8 .word 0x200006a8 - 8030614: 20000ea8 .word 0x20000ea8 - -08030618 <__cxa_allocate_exception>: - 8030618: b530 push {r4, r5, lr} - 803061a: f100 0578 add.w r5, r0, #120 ; 0x78 - 803061e: b081 sub sp, #4 - 8030620: 4628 mov r0, r5 - 8030622: f001 ffb9 bl 8032598 - 8030626: 4604 mov r4, r0 - 8030628: b168 cbz r0, 8030646 <__cxa_allocate_exception+0x2e> - 803062a: f7ff ffd1 bl 80305d0 <__cxa_get_globals> - 803062e: 6843 ldr r3, [r0, #4] - 8030630: 2100 movs r1, #0 - 8030632: 3301 adds r3, #1 - 8030634: 6043 str r3, [r0, #4] - 8030636: 2278 movs r2, #120 - 8030638: 4620 mov r0, r4 - 803063a: f002 fa3d bl 8032ab8 - 803063e: f104 0078 add.w r0, r4, #120 ; 0x78 - 8030642: b001 add sp, #4 - 8030644: bd30 pop {r4, r5, pc} - 8030646: 4912 ldr r1, [pc, #72] (8030690 <__cxa_allocate_exception+0x78>) - 8030648: f5b5 7f00 cmp.w r5, #512 ; 0x200 - 803064c: 680a ldr r2, [r1, #0] - 803064e: bf9c itt ls - 8030650: 4600 movls r0, r0 - 8030652: 4613 movls r3, r2 - 8030654: d812 bhi.n 803067c <__cxa_allocate_exception+0x64> - 8030656: f013 0f01 tst.w r3, #1 ; 0x1 - 803065a: d006 beq.n 803066a <__cxa_allocate_exception+0x52> - 803065c: 3001 adds r0, #1 - 803065e: 2804 cmp r0, #4 - 8030660: d00c beq.n 803067c <__cxa_allocate_exception+0x64> - 8030662: 085b lsrs r3, r3, #1 - 8030664: f013 0f01 tst.w r3, #1 ; 0x1 - 8030668: d1f8 bne.n 803065c <__cxa_allocate_exception+0x44> - 803066a: 2301 movs r3, #1 - 803066c: 4083 lsls r3, r0 - 803066e: 4313 orrs r3, r2 - 8030670: 600b str r3, [r1, #0] - 8030672: 4b08 ldr r3, [pc, #32] (8030694 <__cxa_allocate_exception+0x7c>) - 8030674: 0242 lsls r2, r0, #9 - 8030676: eb03 0402 add.w r4, r3, r2 - 803067a: e7d6 b.n 803062a <__cxa_allocate_exception+0x12> - 803067c: f7fe fd9e bl 802f1bc <_ZSt9terminatev> - 8030680: f1b1 3fff cmp.w r1, #4294967295 ; 0xffffffff - 8030684: d001 beq.n 803068a <__cxa_allocate_exception+0x72> - 8030686: f7f9 f8a5 bl 80297d4 <__cxa_end_cleanup> - 803068a: f7ff fbf1 bl 802fe70 <__cxa_call_unexpected> - 803068e: 46c0 nop (mov r8, r8) - 8030690: 20000ea8 .word 0x20000ea8 - 8030694: 200006a8 .word 0x200006a8 - -08030698 <_ZNK10__cxxabiv119__pointer_type_info14__is_pointer_pEv>: - 8030698: 2001 movs r0, #1 - 803069a: 4770 bx lr - -0803069c <_ZNK10__cxxabiv119__pointer_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj>: - 803069c: b5f0 push {r4, r5, r6, r7, lr} - 803069e: 2b01 cmp r3, #1 - 80306a0: b081 sub sp, #4 - 80306a2: 4605 mov r5, r0 - 80306a4: 460e mov r6, r1 - 80306a6: 4617 mov r7, r2 - 80306a8: 461c mov r4, r3 - 80306aa: d908 bls.n 80306be <_ZNK10__cxxabiv119__pointer_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj+0x22> - 80306ac: 68e8 ldr r0, [r5, #12] - 80306ae: 1ca3 adds r3, r4, #2 - 80306b0: 6802 ldr r2, [r0, #0] - 80306b2: 68f1 ldr r1, [r6, #12] - 80306b4: 6914 ldr r4, [r2, #16] - 80306b6: 463a mov r2, r7 - 80306b8: 47a0 blx r4 - 80306ba: b001 add sp, #4 - 80306bc: bdf0 pop {r4, r5, r6, r7, pc} - 80306be: 68c0 ldr r0, [r0, #12] - 80306c0: 4906 ldr r1, [pc, #24] (80306dc <_ZNK10__cxxabiv119__pointer_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj+0x40>) - 80306c2: f7ff fed5 bl 8030470 <_ZNKSt9type_infoeqERKS_> - 80306c6: 2800 cmp r0, #0 - 80306c8: d0f0 beq.n 80306ac <_ZNK10__cxxabiv119__pointer_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj+0x10> - 80306ca: 68f0 ldr r0, [r6, #12] - 80306cc: 6803 ldr r3, [r0, #0] - 80306ce: 68da ldr r2, [r3, #12] - 80306d0: 4790 blx r2 - 80306d2: f080 0001 eor.w r0, r0, #1 ; 0x1 - 80306d6: b2c0 uxtb r0, r0 - 80306d8: e7ef b.n 80306ba <_ZNK10__cxxabiv119__pointer_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj+0x1e> - 80306da: 46c0 nop (mov r8, r8) - 80306dc: 08034c20 .word 0x08034c20 - -080306e0 <_ZN10__cxxabiv119__pointer_type_infoD1Ev>: - 80306e0: 4b03 ldr r3, [pc, #12] (80306f0 <_ZN10__cxxabiv119__pointer_type_infoD1Ev+0x10>) - 80306e2: b510 push {r4, lr} - 80306e4: 6003 str r3, [r0, #0] - 80306e6: 4604 mov r4, r0 - 80306e8: f000 f860 bl 80307ac <_ZN10__cxxabiv117__pbase_type_infoD2Ev> - 80306ec: 4620 mov r0, r4 - 80306ee: bd10 pop {r4, pc} - 80306f0: 08035500 .word 0x08035500 - -080306f4 <_ZN10__cxxabiv119__pointer_type_infoD2Ev>: - 80306f4: 4b03 ldr r3, [pc, #12] (8030704 <_ZN10__cxxabiv119__pointer_type_infoD2Ev+0x10>) - 80306f6: b510 push {r4, lr} - 80306f8: 6003 str r3, [r0, #0] - 80306fa: 4604 mov r4, r0 - 80306fc: f000 f856 bl 80307ac <_ZN10__cxxabiv117__pbase_type_infoD2Ev> - 8030700: 4620 mov r0, r4 - 8030702: bd10 pop {r4, pc} - 8030704: 08035500 .word 0x08035500 - -08030708 <_ZN10__cxxabiv119__pointer_type_infoD0Ev>: - 8030708: 4b05 ldr r3, [pc, #20] (8030720 <_ZN10__cxxabiv119__pointer_type_infoD0Ev+0x18>) - 803070a: b510 push {r4, lr} - 803070c: 6003 str r3, [r0, #0] - 803070e: 4604 mov r4, r0 - 8030710: f000 f84c bl 80307ac <_ZN10__cxxabiv117__pbase_type_infoD2Ev> - 8030714: 4620 mov r0, r4 - 8030716: f7e6 ff79 bl 801760c <_ZdlPv> - 803071a: 4620 mov r0, r4 - 803071c: bd10 pop {r4, pc} - 803071e: 46c0 nop (mov r8, r8) - 8030720: 08035500 .word 0x08035500 - -08030724 <_ZNK10__cxxabiv117__pbase_type_info15__pointer_catchEPKS0_PPvj>: - 8030724: 68c0 ldr r0, [r0, #12] - 8030726: b510 push {r4, lr} - 8030728: f8d0 c000 ldr.w ip, [r0] - 803072c: 68c9 ldr r1, [r1, #12] - 803072e: 3302 adds r3, #2 - 8030730: f8dc 4010 ldr.w r4, [ip, #16] - 8030734: 47a0 blx r4 - 8030736: bd10 pop {r4, pc} - -08030738 <_ZNK10__cxxabiv117__pbase_type_info10__do_catchEPKSt9type_infoPPvj>: - 8030738: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 803073c: 4606 mov r6, r0 - 803073e: 460d mov r5, r1 - 8030740: 4690 mov r8, r2 - 8030742: 461f mov r7, r3 - 8030744: f7ff fe94 bl 8030470 <_ZNKSt9type_infoeqERKS_> - 8030748: 2800 cmp r0, #0 - 803074a: d121 bne.n 8030790 <_ZNK10__cxxabiv117__pbase_type_info10__do_catchEPKSt9type_infoPPvj+0x58> - 803074c: 6833 ldr r3, [r6, #0] - 803074e: f853 0c04 ldr.w r0, [r3, #-4] - 8030752: 2d00 cmp r5, #0 - 8030754: d01e beq.n 8030794 <_ZNK10__cxxabiv117__pbase_type_info10__do_catchEPKSt9type_infoPPvj+0x5c> - 8030756: 682b ldr r3, [r5, #0] - 8030758: f853 1c04 ldr.w r1, [r3, #-4] - 803075c: f7ff fe88 bl 8030470 <_ZNKSt9type_infoeqERKS_> - 8030760: b198 cbz r0, 803078a <_ZNK10__cxxabiv117__pbase_type_info10__do_catchEPKSt9type_infoPPvj+0x52> - 8030762: f017 0f01 tst.w r7, #1 ; 0x1 - 8030766: d010 beq.n 803078a <_ZNK10__cxxabiv117__pbase_type_info10__do_catchEPKSt9type_infoPPvj+0x52> - 8030768: 68b2 ldr r2, [r6, #8] - 803076a: 68ab ldr r3, [r5, #8] - 803076c: 4393 bics r3, r2 - 803076e: d10c bne.n 803078a <_ZNK10__cxxabiv117__pbase_type_info10__do_catchEPKSt9type_infoPPvj+0x52> - 8030770: f012 0f01 tst.w r2, #1 ; 0x1 - 8030774: 6833 ldr r3, [r6, #0] - 8030776: bf08 it eq - 8030778: f027 0701 biceq.w r7, r7, #1 ; 0x1 - 803077c: 699c ldr r4, [r3, #24] - 803077e: 4630 mov r0, r6 - 8030780: 4629 mov r1, r5 - 8030782: 4642 mov r2, r8 - 8030784: 463b mov r3, r7 - 8030786: 47a0 blx r4 - 8030788: e000 b.n 803078c <_ZNK10__cxxabiv117__pbase_type_info10__do_catchEPKSt9type_infoPPvj+0x54> - 803078a: 2000 movs r0, #0 - 803078c: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - 8030790: 2001 movs r0, #1 - 8030792: e7fb b.n 803078c <_ZNK10__cxxabiv117__pbase_type_info10__do_catchEPKSt9type_infoPPvj+0x54> - 8030794: f7ff fa70 bl 802fc78 <__cxa_bad_typeid> - -08030798 <_ZN10__cxxabiv117__pbase_type_infoD1Ev>: - 8030798: 4b03 ldr r3, [pc, #12] (80307a8 <_ZN10__cxxabiv117__pbase_type_infoD1Ev+0x10>) - 803079a: b510 push {r4, lr} - 803079c: 6003 str r3, [r0, #0] - 803079e: 4604 mov r4, r0 - 80307a0: f7ff fe5a bl 8030458 <_ZNSt9type_infoD2Ev> - 80307a4: 4620 mov r0, r4 - 80307a6: bd10 pop {r4, pc} - 80307a8: 08035558 .word 0x08035558 - -080307ac <_ZN10__cxxabiv117__pbase_type_infoD2Ev>: - 80307ac: 4b03 ldr r3, [pc, #12] (80307bc <_ZN10__cxxabiv117__pbase_type_infoD2Ev+0x10>) - 80307ae: b510 push {r4, lr} - 80307b0: 6003 str r3, [r0, #0] - 80307b2: 4604 mov r4, r0 - 80307b4: f7ff fe50 bl 8030458 <_ZNSt9type_infoD2Ev> - 80307b8: 4620 mov r0, r4 - 80307ba: bd10 pop {r4, pc} - 80307bc: 08035558 .word 0x08035558 - -080307c0 <_ZN10__cxxabiv117__pbase_type_infoD0Ev>: - 80307c0: 4b05 ldr r3, [pc, #20] (80307d8 <_ZN10__cxxabiv117__pbase_type_infoD0Ev+0x18>) - 80307c2: b510 push {r4, lr} - 80307c4: 6003 str r3, [r0, #0] - 80307c6: 4604 mov r4, r0 - 80307c8: f7ff fe46 bl 8030458 <_ZNSt9type_infoD2Ev> - 80307cc: 4620 mov r0, r4 - 80307ce: f7e6 ff1d bl 801760c <_ZdlPv> - 80307d2: 4620 mov r0, r4 - 80307d4: bd10 pop {r4, pc} - 80307d6: 46c0 nop (mov r8, r8) - 80307d8: 08035558 .word 0x08035558 - -080307dc : - 80307dc: b530 push {r4, r5, lr} - 80307de: 4b1e ldr r3, [pc, #120] (8030858 ) - 80307e0: f021 4200 bic.w r2, r1, #2147483648 ; 0x80000000 - 80307e4: 429a cmp r2, r3 - 80307e6: b087 sub sp, #28 - 80307e8: dc02 bgt.n 80307f0 - 80307ea: 2200 movs r2, #0 - 80307ec: 2300 movs r3, #0 - 80307ee: e017 b.n 8030820 - 80307f0: 4b1a ldr r3, [pc, #104] (803085c ) - 80307f2: 429a cmp r2, r3 - 80307f4: dd04 ble.n 8030800 - 80307f6: 4602 mov r2, r0 - 80307f8: 460b mov r3, r1 - 80307fa: f7fb fe0b bl 802c414 <__aeabi_dsub> - 80307fe: e029 b.n 8030854 - 8030800: aa02 add r2, sp, #8 - 8030802: f000 f9a9 bl 8030b58 <__ieee754_rem_pio2> - 8030806: f000 0303 and.w r3, r0, #3 ; 0x3 - 803080a: 2b01 cmp r3, #1 - 803080c: d00b beq.n 8030826 - 803080e: 2b02 cmp r3, #2 - 8030810: d011 beq.n 8030836 - 8030812: e9dd 0102 ldrd r0, r1, [sp, #8] - 8030816: e9dd 4504 ldrd r4, r5, [sp, #16] - 803081a: b9ab cbnz r3, 8030848 - 803081c: 4622 mov r2, r4 - 803081e: 462b mov r3, r5 - 8030820: f000 fc82 bl 8031128 <__kernel_cos> - 8030824: e016 b.n 8030854 - 8030826: 9300 str r3, [sp, #0] - 8030828: e9dd 0102 ldrd r0, r1, [sp, #8] - 803082c: e9dd 2304 ldrd r2, r3, [sp, #16] - 8030830: f001 f8ea bl 8031a08 <__kernel_sin> - 8030834: e005 b.n 8030842 - 8030836: e9dd 0102 ldrd r0, r1, [sp, #8] - 803083a: e9dd 2304 ldrd r2, r3, [sp, #16] - 803083e: f000 fc73 bl 8031128 <__kernel_cos> - 8030842: f101 4100 add.w r1, r1, #2147483648 ; 0x80000000 - 8030846: e005 b.n 8030854 - 8030848: 2301 movs r3, #1 - 803084a: 9300 str r3, [sp, #0] - 803084c: 4622 mov r2, r4 - 803084e: 462b mov r3, r5 - 8030850: f001 f8da bl 8031a08 <__kernel_sin> - 8030854: b007 add sp, #28 - 8030856: bd30 pop {r4, r5, pc} - 8030858: 3fe921fb .word 0x3fe921fb - 803085c: 7fefffff .word 0x7fefffff - -08030860 : - 8030860: b530 push {r4, r5, lr} - 8030862: 4b20 ldr r3, [pc, #128] (80308e4 ) - 8030864: f021 4200 bic.w r2, r1, #2147483648 ; 0x80000000 - 8030868: 429a cmp r2, r3 - 803086a: b087 sub sp, #28 - 803086c: dc04 bgt.n 8030878 - 803086e: 2300 movs r3, #0 - 8030870: 9300 str r3, [sp, #0] - 8030872: 2200 movs r2, #0 - 8030874: 2300 movs r3, #0 - 8030876: e019 b.n 80308ac - 8030878: 4b1b ldr r3, [pc, #108] (80308e8 ) - 803087a: 429a cmp r2, r3 - 803087c: dd04 ble.n 8030888 - 803087e: 4602 mov r2, r0 - 8030880: 460b mov r3, r1 - 8030882: f7fb fdc7 bl 802c414 <__aeabi_dsub> - 8030886: e02a b.n 80308de - 8030888: aa02 add r2, sp, #8 - 803088a: f000 f965 bl 8030b58 <__ieee754_rem_pio2> - 803088e: f000 0303 and.w r3, r0, #3 ; 0x3 - 8030892: 2b01 cmp r3, #1 - 8030894: d00d beq.n 80308b2 - 8030896: 2b02 cmp r3, #2 - 8030898: d012 beq.n 80308c0 - 803089a: e9dd 0102 ldrd r0, r1, [sp, #8] - 803089e: e9dd 4504 ldrd r4, r5, [sp, #16] - 80308a2: b9b3 cbnz r3, 80308d2 - 80308a4: 2301 movs r3, #1 - 80308a6: 9300 str r3, [sp, #0] - 80308a8: 4622 mov r2, r4 - 80308aa: 462b mov r3, r5 - 80308ac: f001 f8ac bl 8031a08 <__kernel_sin> - 80308b0: e015 b.n 80308de - 80308b2: e9dd 0102 ldrd r0, r1, [sp, #8] - 80308b6: e9dd 2304 ldrd r2, r3, [sp, #16] - 80308ba: f000 fc35 bl 8031128 <__kernel_cos> - 80308be: e00e b.n 80308de - 80308c0: 2301 movs r3, #1 - 80308c2: 9300 str r3, [sp, #0] - 80308c4: e9dd 0102 ldrd r0, r1, [sp, #8] - 80308c8: e9dd 2304 ldrd r2, r3, [sp, #16] - 80308cc: f001 f89c bl 8031a08 <__kernel_sin> - 80308d0: e003 b.n 80308da - 80308d2: 4622 mov r2, r4 - 80308d4: 462b mov r3, r5 - 80308d6: f000 fc27 bl 8031128 <__kernel_cos> - 80308da: f101 4100 add.w r1, r1, #2147483648 ; 0x80000000 - 80308de: b007 add sp, #28 - 80308e0: bd30 pop {r4, r5, pc} - 80308e2: 46c0 nop (mov r8, r8) - 80308e4: 3fe921fb .word 0x3fe921fb - 80308e8: 7fefffff .word 0x7fefffff - -080308ec : - 80308ec: b500 push {lr} - 80308ee: b081 sub sp, #4 - 80308f0: f000 f856 bl 80309a0 <__ieee754_atan2> - 80308f4: b001 add sp, #4 - 80308f6: bd00 pop {pc} - -080308f8 : - 80308f8: b5f0 push {r4, r5, r6, r7, lr} - 80308fa: b08f sub sp, #60 - 80308fc: 4604 mov r4, r0 - 80308fe: 460d mov r5, r1 - 8030900: f000 fb3e bl 8030f80 <__ieee754_sqrt> - 8030904: 4a24 ldr r2, [pc, #144] (8030998 ) - 8030906: e9cd 0102 strd r0, r1, [sp, #8] - 803090a: f992 3000 ldrsb.w r3, [r2] - 803090e: f1b3 3fff cmp.w r3, #4294967295 ; 0xffffffff - 8030912: d03c beq.n 803098e - 8030914: 4620 mov r0, r4 - 8030916: 4629 mov r1, r5 - 8030918: f001 fb56 bl 8031fc8 <__isnand> - 803091c: 9001 str r0, [sp, #4] - 803091e: 2800 cmp r0, #0 - 8030920: d135 bne.n 803098e - 8030922: 2600 movs r6, #0 - 8030924: 2700 movs r7, #0 - 8030926: 4620 mov r0, r4 - 8030928: 4629 mov r1, r5 - 803092a: 4632 mov r2, r6 - 803092c: 463b mov r3, r7 - 803092e: f7fc f995 bl 802cc5c <__aeabi_dcmplt> - 8030932: 2800 cmp r0, #0 - 8030934: d02b beq.n 803098e - 8030936: 2301 movs r3, #1 - 8030938: 9304 str r3, [sp, #16] - 803093a: 4a17 ldr r2, [pc, #92] (8030998 ) - 803093c: 4b17 ldr r3, [pc, #92] (803099c ) - 803093e: e9cd 4508 strd r4, r5, [sp, #32] - 8030942: 9305 str r3, [sp, #20] - 8030944: e9cd 4506 strd r4, r5, [sp, #24] - 8030948: 9b01 ldr r3, [sp, #4] - 803094a: 7814 ldrb r4, [r2, #0] - 803094c: 930c str r3, [sp, #48] - 803094e: b914 cbnz r4, 8030956 - 8030950: e9cd 670a strd r6, r7, [sp, #40] - 8030954: e009 b.n 803096a - 8030956: 4630 mov r0, r6 - 8030958: 4639 mov r1, r7 - 803095a: 4632 mov r2, r6 - 803095c: 463b mov r3, r7 - 803095e: f7fc f837 bl 802c9d0 <__aeabi_ddiv> - 8030962: 2c02 cmp r4, #2 - 8030964: e9cd 010a strd r0, r1, [sp, #40] - 8030968: d003 beq.n 8030972 - 803096a: a804 add r0, sp, #16 - 803096c: f001 fb3a bl 8031fe4 - 8030970: b918 cbnz r0, 803097a - 8030972: f001 fbc5 bl 8032100 <__errno> - 8030976: 2321 movs r3, #33 - 8030978: 6003 str r3, [r0, #0] - 803097a: 9b0c ldr r3, [sp, #48] - 803097c: b11b cbz r3, 8030986 - 803097e: f001 fbbf bl 8032100 <__errno> - 8030982: 9b0c ldr r3, [sp, #48] - 8030984: 6003 str r3, [r0, #0] - 8030986: e9dd 230a ldrd r2, r3, [sp, #40] - 803098a: e9cd 2302 strd r2, r3, [sp, #8] - 803098e: e9dd 0102 ldrd r0, r1, [sp, #8] - 8030992: b00f add sp, #60 - 8030994: bdf0 pop {r4, r5, r6, r7, pc} - 8030996: 46c0 nop (mov r8, r8) - 8030998: 2000004c .word 0x2000004c - 803099c: 080355a8 .word 0x080355a8 - -080309a0 <__ieee754_atan2>: - 80309a0: b5f0 push {r4, r5, r6, r7, lr} - 80309a2: b089 sub sp, #36 - 80309a4: e9cd 2304 strd r2, r3, [sp, #16] - 80309a8: f023 4700 bic.w r7, r3, #2147483648 ; 0x80000000 - 80309ac: 9307 str r3, [sp, #28] - 80309ae: f1c2 0300 rsb r3, r2, #0 ; 0x0 - 80309b2: 4313 orrs r3, r2 - 80309b4: 4616 mov r6, r2 - 80309b6: 4a66 ldr r2, [pc, #408] (8030b50 <__ieee754_atan2+0x1b0>) - 80309b8: ea47 73d3 orr.w r3, r7, r3, lsr #31 - 80309bc: 4293 cmp r3, r2 - 80309be: 4604 mov r4, r0 - 80309c0: 460d mov r5, r1 - 80309c2: 9001 str r0, [sp, #4] - 80309c4: d808 bhi.n 80309d8 <__ieee754_atan2+0x38> - 80309c6: f1c0 0300 rsb r3, r0, #0 ; 0x0 - 80309ca: 4303 orrs r3, r0 - 80309cc: f021 4c00 bic.w ip, r1, #2147483648 ; 0x80000000 - 80309d0: ea4c 73d3 orr.w r3, ip, r3, lsr #31 - 80309d4: 4293 cmp r3, r2 - 80309d6: d904 bls.n 80309e2 <__ieee754_atan2+0x42> - 80309d8: e9dd 2304 ldrd r2, r3, [sp, #16] - 80309dc: f7fb fd1c bl 802c418 <__adddf3> - 80309e0: e08e b.n 8030b00 <__ieee754_atan2+0x160> - 80309e2: 9c07 ldr r4, [sp, #28] - 80309e4: f104 4340 add.w r3, r4, #3221225472 ; 0xc0000000 - 80309e8: f503 1380 add.w r3, r3, #1048576 ; 0x100000 - 80309ec: 4333 orrs r3, r6 - 80309ee: d102 bne.n 80309f6 <__ieee754_atan2+0x56> - 80309f0: f001 f8c2 bl 8031b78 - 80309f4: e084 b.n 8030b00 <__ieee754_atan2+0x160> - 80309f6: 9a07 ldr r2, [sp, #28] - 80309f8: 1793 asrs r3, r2, #30 - 80309fa: f003 0302 and.w r3, r3, #2 ; 0x2 - 80309fe: ea43 74d1 orr.w r4, r3, r1, lsr #31 - 8030a02: 9b01 ldr r3, [sp, #4] - 8030a04: ea5c 0303 orrs.w r3, ip, r3 - 8030a08: d105 bne.n 8030a16 <__ieee754_atan2+0x76> - 8030a0a: 2c03 cmp r4, #3 - 8030a0c: d803 bhi.n 8030a16 <__ieee754_atan2+0x76> - 8030a0e: e8df f004 tbb [pc, r4] - 8030a12: 7777 .short 0x7777 - 8030a14: 2b28 .short 0x2b28 - 8030a16: 433e orrs r6, r7 - 8030a18: d02c beq.n 8030a74 <__ieee754_atan2+0xd4> - 8030a1a: 4b4d ldr r3, [pc, #308] (8030b50 <__ieee754_atan2+0x1b0>) - 8030a1c: 429f cmp r7, r3 - 8030a1e: d126 bne.n 8030a6e <__ieee754_atan2+0xce> - 8030a20: 45bc cmp ip, r7 - 8030a22: d111 bne.n 8030a48 <__ieee754_atan2+0xa8> - 8030a24: 2c03 cmp r4, #3 - 8030a26: d822 bhi.n 8030a6e <__ieee754_atan2+0xce> - 8030a28: e8df f004 tbb [pc, r4] - 8030a2c: 0b080205 .word 0x0b080205 - 8030a30: a035 add r0, pc, #212 (adr r0, 8030b08 <__ieee754_atan2+0x168>) - 8030a32: c803 ldmia r0!, {r0, r1} - 8030a34: e064 b.n 8030b00 <__ieee754_atan2+0x160> - 8030a36: a036 add r0, pc, #216 (adr r0, 8030b10 <__ieee754_atan2+0x170>) - 8030a38: c803 ldmia r0!, {r0, r1} - 8030a3a: e061 b.n 8030b00 <__ieee754_atan2+0x160> - 8030a3c: a036 add r0, pc, #216 (adr r0, 8030b18 <__ieee754_atan2+0x178>) - 8030a3e: c803 ldmia r0!, {r0, r1} - 8030a40: e05e b.n 8030b00 <__ieee754_atan2+0x160> - 8030a42: a037 add r0, pc, #220 (adr r0, 8030b20 <__ieee754_atan2+0x180>) - 8030a44: c803 ldmia r0!, {r0, r1} - 8030a46: e05b b.n 8030b00 <__ieee754_atan2+0x160> - 8030a48: 2c03 cmp r4, #3 - 8030a4a: d810 bhi.n 8030a6e <__ieee754_atan2+0xce> - 8030a4c: e8df f004 tbb [pc, r4] - 8030a50: 0c090206 .word 0x0c090206 - 8030a54: 2000 movs r0, #0 - 8030a56: f04f 4100 mov.w r1, #2147483648 ; 0x80000000 - 8030a5a: e051 b.n 8030b00 <__ieee754_atan2+0x160> - 8030a5c: 2000 movs r0, #0 - 8030a5e: 2100 movs r1, #0 - 8030a60: e04e b.n 8030b00 <__ieee754_atan2+0x160> - 8030a62: a031 add r0, pc, #196 (adr r0, 8030b28 <__ieee754_atan2+0x188>) - 8030a64: c803 ldmia r0!, {r0, r1} - 8030a66: e04b b.n 8030b00 <__ieee754_atan2+0x160> - 8030a68: a031 add r0, pc, #196 (adr r0, 8030b30 <__ieee754_atan2+0x190>) - 8030a6a: c803 ldmia r0!, {r0, r1} - 8030a6c: e048 b.n 8030b00 <__ieee754_atan2+0x160> - 8030a6e: 4b38 ldr r3, [pc, #224] (8030b50 <__ieee754_atan2+0x1b0>) - 8030a70: 459c cmp ip, r3 - 8030a72: d107 bne.n 8030a84 <__ieee754_atan2+0xe4> - 8030a74: 2d00 cmp r5, #0 - 8030a76: db02 blt.n 8030a7e <__ieee754_atan2+0xde> - 8030a78: a02f add r0, pc, #188 (adr r0, 8030b38 <__ieee754_atan2+0x198>) - 8030a7a: c803 ldmia r0!, {r0, r1} - 8030a7c: e040 b.n 8030b00 <__ieee754_atan2+0x160> - 8030a7e: a030 add r0, pc, #192 (adr r0, 8030b40 <__ieee754_atan2+0x1a0>) - 8030a80: c803 ldmia r0!, {r0, r1} - 8030a82: e03d b.n 8030b00 <__ieee754_atan2+0x160> - 8030a84: ebc7 030c rsb r3, r7, ip - 8030a88: 151b asrs r3, r3, #20 - 8030a8a: 2b3c cmp r3, #60 - 8030a8c: dd02 ble.n 8030a94 <__ieee754_atan2+0xf4> - 8030a8e: a22a add r2, pc, #168 (adr r2, 8030b38 <__ieee754_atan2+0x198>) - 8030a90: ca0c ldmia r2!, {r2, r3} - 8030a92: e015 b.n 8030ac0 <__ieee754_atan2+0x120> - 8030a94: 9a07 ldr r2, [sp, #28] - 8030a96: f113 0f3c cmn.w r3, #60 ; 0x3c - 8030a9a: bfac ite ge - 8030a9c: 2300 movge r3, #0 - 8030a9e: 2301 movlt r3, #1 - 8030aa0: ea13 72d2 ands.w r2, r3, r2, lsr #31 - 8030aa4: d002 beq.n 8030aac <__ieee754_atan2+0x10c> - 8030aa6: 2200 movs r2, #0 - 8030aa8: 2300 movs r3, #0 - 8030aaa: e009 b.n 8030ac0 <__ieee754_atan2+0x120> - 8030aac: e9dd 2304 ldrd r2, r3, [sp, #16] - 8030ab0: f7fb ff8e bl 802c9d0 <__aeabi_ddiv> - 8030ab4: f001 fa08 bl 8031ec8 - 8030ab8: f001 f85e bl 8031b78 - 8030abc: 4602 mov r2, r0 - 8030abe: 460b mov r3, r1 - 8030ac0: 2c01 cmp r4, #1 - 8030ac2: d003 beq.n 8030acc <__ieee754_atan2+0x12c> - 8030ac4: 2c02 cmp r4, #2 - 8030ac6: d006 beq.n 8030ad6 <__ieee754_atan2+0x136> - 8030ac8: b984 cbnz r4, 8030aec <__ieee754_atan2+0x14c> - 8030aca: e001 b.n 8030ad0 <__ieee754_atan2+0x130> - 8030acc: f103 4300 add.w r3, r3, #2147483648 ; 0x80000000 - 8030ad0: 4610 mov r0, r2 - 8030ad2: 4619 mov r1, r3 - 8030ad4: e014 b.n 8030b00 <__ieee754_atan2+0x160> - 8030ad6: 4610 mov r0, r2 - 8030ad8: 4619 mov r1, r3 - 8030ada: a21b add r2, pc, #108 (adr r2, 8030b48 <__ieee754_atan2+0x1a8>) - 8030adc: ca0c ldmia r2!, {r2, r3} - 8030ade: f7fb fc99 bl 802c414 <__aeabi_dsub> - 8030ae2: 4602 mov r2, r0 - 8030ae4: 460b mov r3, r1 - 8030ae6: a010 add r0, pc, #64 (adr r0, 8030b28 <__ieee754_atan2+0x188>) - 8030ae8: c803 ldmia r0!, {r0, r1} - 8030aea: e007 b.n 8030afc <__ieee754_atan2+0x15c> - 8030aec: 4610 mov r0, r2 - 8030aee: 4619 mov r1, r3 - 8030af0: a215 add r2, pc, #84 (adr r2, 8030b48 <__ieee754_atan2+0x1a8>) - 8030af2: ca0c ldmia r2!, {r2, r3} - 8030af4: f7fb fc8e bl 802c414 <__aeabi_dsub> - 8030af8: a20b add r2, pc, #44 (adr r2, 8030b28 <__ieee754_atan2+0x188>) - 8030afa: ca0c ldmia r2!, {r2, r3} - 8030afc: f7fb fc8a bl 802c414 <__aeabi_dsub> - 8030b00: b009 add sp, #36 - 8030b02: bdf0 pop {r4, r5, r6, r7, pc} - 8030b04: 46c0 nop (mov r8, r8) - 8030b06: 46c0 nop (mov r8, r8) - 8030b08: 54442d18 .word 0x54442d18 - 8030b0c: bfe921fb .word 0xbfe921fb - 8030b10: 54442d18 .word 0x54442d18 - 8030b14: 3fe921fb .word 0x3fe921fb - 8030b18: 7f3321d2 .word 0x7f3321d2 - 8030b1c: 4002d97c .word 0x4002d97c - 8030b20: 7f3321d2 .word 0x7f3321d2 - 8030b24: c002d97c .word 0xc002d97c - 8030b28: 54442d18 .word 0x54442d18 - 8030b2c: 400921fb .word 0x400921fb - 8030b30: 54442d18 .word 0x54442d18 - 8030b34: c00921fb .word 0xc00921fb - 8030b38: 54442d18 .word 0x54442d18 - 8030b3c: 3ff921fb .word 0x3ff921fb - 8030b40: 54442d18 .word 0x54442d18 - 8030b44: bff921fb .word 0xbff921fb - 8030b48: 33145c07 .word 0x33145c07 - 8030b4c: 3ca1a626 .word 0x3ca1a626 - 8030b50: 7ff00000 .word 0x7ff00000 - 8030b54: 46c046c0 .word 0x46c046c0 - -08030b58 <__ieee754_rem_pio2>: - 8030b58: b5f0 push {r4, r5, r6, r7, lr} - 8030b5a: 4b9b ldr r3, [pc, #620] (8030dc8 <__ieee754_rem_pio2+0x270>) - 8030b5c: b093 sub sp, #76 - 8030b5e: 9206 str r2, [sp, #24] - 8030b60: f021 4200 bic.w r2, r1, #2147483648 ; 0x80000000 - 8030b64: 429a cmp r2, r3 - 8030b66: 910a str r1, [sp, #40] - 8030b68: 9209 str r2, [sp, #36] - 8030b6a: dc09 bgt.n 8030b80 <__ieee754_rem_pio2+0x28> - 8030b6c: 9b06 ldr r3, [sp, #24] - 8030b6e: 9e06 ldr r6, [sp, #24] - 8030b70: e883 0003 stmia.w r3, {r0, r1} - 8030b74: 2200 movs r2, #0 - 8030b76: 2300 movs r3, #0 - 8030b78: e9c6 2302 strd r2, r3, [r6, #8] - 8030b7c: 2200 movs r2, #0 - 8030b7e: e17f b.n 8030e80 <__ieee754_rem_pio2+0x328> - 8030b80: 4b92 ldr r3, [pc, #584] (8030dcc <__ieee754_rem_pio2+0x274>) - 8030b82: 9a09 ldr r2, [sp, #36] - 8030b84: 429a cmp r2, r3 - 8030b86: dc7e bgt.n 8030c86 <__ieee754_rem_pio2+0x12e> - 8030b88: 9b0a ldr r3, [sp, #40] - 8030b8a: 2b00 cmp r3, #0 - 8030b8c: dd3a ble.n 8030c04 <__ieee754_rem_pio2+0xac> - 8030b8e: a282 add r2, pc, #520 (adr r2, 8030d98 <__ieee754_rem_pio2+0x240>) - 8030b90: ca0c ldmia r2!, {r2, r3} - 8030b92: f7fb fc3f bl 802c414 <__aeabi_dsub> - 8030b96: 4b8e ldr r3, [pc, #568] (8030dd0 <__ieee754_rem_pio2+0x278>) - 8030b98: 9e09 ldr r6, [sp, #36] - 8030b9a: 4604 mov r4, r0 - 8030b9c: 429e cmp r6, r3 - 8030b9e: 460d mov r5, r1 - 8030ba0: d015 beq.n 8030bce <__ieee754_rem_pio2+0x76> - 8030ba2: a27f add r2, pc, #508 (adr r2, 8030da0 <__ieee754_rem_pio2+0x248>) - 8030ba4: ca0c ldmia r2!, {r2, r3} - 8030ba6: f7fb fc35 bl 802c414 <__aeabi_dsub> - 8030baa: 4602 mov r2, r0 - 8030bac: 9806 ldr r0, [sp, #24] - 8030bae: 460b mov r3, r1 - 8030bb0: e880 000c stmia.w r0, {r2, r3} - 8030bb4: 4629 mov r1, r5 - 8030bb6: 4620 mov r0, r4 - 8030bb8: f7fb fc2c bl 802c414 <__aeabi_dsub> - 8030bbc: a278 add r2, pc, #480 (adr r2, 8030da0 <__ieee754_rem_pio2+0x248>) - 8030bbe: ca0c ldmia r2!, {r2, r3} - 8030bc0: f7fb fc28 bl 802c414 <__aeabi_dsub> - 8030bc4: 9a06 ldr r2, [sp, #24] - 8030bc6: 2301 movs r3, #1 - 8030bc8: e9c2 0102 strd r0, r1, [r2, #8] - 8030bcc: e168 b.n 8030ea0 <__ieee754_rem_pio2+0x348> - 8030bce: a276 add r2, pc, #472 (adr r2, 8030da8 <__ieee754_rem_pio2+0x250>) - 8030bd0: ca0c ldmia r2!, {r2, r3} - 8030bd2: f7fb fc1f bl 802c414 <__aeabi_dsub> - 8030bd6: a276 add r2, pc, #472 (adr r2, 8030db0 <__ieee754_rem_pio2+0x258>) - 8030bd8: ca0c ldmia r2!, {r2, r3} - 8030bda: 4604 mov r4, r0 - 8030bdc: 460d mov r5, r1 - 8030bde: f7fb fc19 bl 802c414 <__aeabi_dsub> - 8030be2: 9e06 ldr r6, [sp, #24] - 8030be4: 4602 mov r2, r0 - 8030be6: 460b mov r3, r1 - 8030be8: e886 000c stmia.w r6, {r2, r3} - 8030bec: 4620 mov r0, r4 - 8030bee: 4629 mov r1, r5 - 8030bf0: f7fb fc10 bl 802c414 <__aeabi_dsub> - 8030bf4: a26e add r2, pc, #440 (adr r2, 8030db0 <__ieee754_rem_pio2+0x258>) - 8030bf6: ca0c ldmia r2!, {r2, r3} - 8030bf8: f7fb fc0c bl 802c414 <__aeabi_dsub> - 8030bfc: e9c6 0102 strd r0, r1, [r6, #8] - 8030c00: 2001 movs r0, #1 - 8030c02: e1a8 b.n 8030f56 <__ieee754_rem_pio2+0x3fe> - 8030c04: a264 add r2, pc, #400 (adr r2, 8030d98 <__ieee754_rem_pio2+0x240>) - 8030c06: ca0c ldmia r2!, {r2, r3} - 8030c08: f7fb fc06 bl 802c418 <__adddf3> - 8030c0c: 4b70 ldr r3, [pc, #448] (8030dd0 <__ieee754_rem_pio2+0x278>) - 8030c0e: 460d mov r5, r1 - 8030c10: 9909 ldr r1, [sp, #36] - 8030c12: 4604 mov r4, r0 - 8030c14: 4299 cmp r1, r3 - 8030c16: d017 beq.n 8030c48 <__ieee754_rem_pio2+0xf0> - 8030c18: a261 add r2, pc, #388 (adr r2, 8030da0 <__ieee754_rem_pio2+0x248>) - 8030c1a: ca0c ldmia r2!, {r2, r3} - 8030c1c: 4620 mov r0, r4 - 8030c1e: 4629 mov r1, r5 - 8030c20: f7fb fbfa bl 802c418 <__adddf3> - 8030c24: 9e06 ldr r6, [sp, #24] - 8030c26: 4602 mov r2, r0 - 8030c28: 460b mov r3, r1 - 8030c2a: e886 000c stmia.w r6, {r2, r3} - 8030c2e: 4620 mov r0, r4 - 8030c30: 4629 mov r1, r5 - 8030c32: f7fb fbef bl 802c414 <__aeabi_dsub> - 8030c36: a25a add r2, pc, #360 (adr r2, 8030da0 <__ieee754_rem_pio2+0x248>) - 8030c38: ca0c ldmia r2!, {r2, r3} - 8030c3a: f7fb fbed bl 802c418 <__adddf3> - 8030c3e: e9c6 0102 strd r0, r1, [r6, #8] - 8030c42: f04f 30ff mov.w r0, #4294967295 ; 0xffffffff - 8030c46: e186 b.n 8030f56 <__ieee754_rem_pio2+0x3fe> - 8030c48: 4620 mov r0, r4 - 8030c4a: 4629 mov r1, r5 - 8030c4c: a256 add r2, pc, #344 (adr r2, 8030da8 <__ieee754_rem_pio2+0x250>) - 8030c4e: ca0c ldmia r2!, {r2, r3} - 8030c50: f7fb fbe2 bl 802c418 <__adddf3> - 8030c54: a256 add r2, pc, #344 (adr r2, 8030db0 <__ieee754_rem_pio2+0x258>) - 8030c56: ca0c ldmia r2!, {r2, r3} - 8030c58: 4604 mov r4, r0 - 8030c5a: 460d mov r5, r1 - 8030c5c: f7fb fbdc bl 802c418 <__adddf3> - 8030c60: 460b mov r3, r1 - 8030c62: 9906 ldr r1, [sp, #24] - 8030c64: 4602 mov r2, r0 - 8030c66: e881 000c stmia.w r1, {r2, r3} - 8030c6a: 4620 mov r0, r4 - 8030c6c: 4629 mov r1, r5 - 8030c6e: f7fb fbd1 bl 802c414 <__aeabi_dsub> - 8030c72: a24f add r2, pc, #316 (adr r2, 8030db0 <__ieee754_rem_pio2+0x258>) - 8030c74: ca0c ldmia r2!, {r2, r3} - 8030c76: f7fb fbcf bl 802c418 <__adddf3> - 8030c7a: 9a06 ldr r2, [sp, #24] - 8030c7c: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8030c80: e9c2 0102 strd r0, r1, [r2, #8] - 8030c84: e10c b.n 8030ea0 <__ieee754_rem_pio2+0x348> - 8030c86: 4b53 ldr r3, [pc, #332] (8030dd4 <__ieee754_rem_pio2+0x27c>) - 8030c88: 9e09 ldr r6, [sp, #36] - 8030c8a: 429e cmp r6, r3 - 8030c8c: f300 80fa bgt.w 8030e84 <__ieee754_rem_pio2+0x32c> - 8030c90: f001 f91a bl 8031ec8 - 8030c94: a248 add r2, pc, #288 (adr r2, 8030db8 <__ieee754_rem_pio2+0x260>) - 8030c96: ca0c ldmia r2!, {r2, r3} - 8030c98: 4604 mov r4, r0 - 8030c9a: 460d mov r5, r1 - 8030c9c: f7fb fd6e bl 802c77c <__aeabi_dmul> - 8030ca0: 2200 movs r2, #0 - 8030ca2: 4b4d ldr r3, [pc, #308] (8030dd8 <__ieee754_rem_pio2+0x280>) - 8030ca4: f7fb fbb8 bl 802c418 <__adddf3> - 8030ca8: f7fc f800 bl 802ccac <__aeabi_d2iz> - 8030cac: 9008 str r0, [sp, #32] - 8030cae: f7fb fcff bl 802c6b0 <__aeabi_i2d> - 8030cb2: a243 add r2, pc, #268 (adr r2, 8030dc0 <__ieee754_rem_pio2+0x268>) - 8030cb4: ca0c ldmia r2!, {r2, r3} - 8030cb6: e9cd 0104 strd r0, r1, [sp, #16] - 8030cba: f7fb fd5f bl 802c77c <__aeabi_dmul> - 8030cbe: 4602 mov r2, r0 - 8030cc0: 460b mov r3, r1 - 8030cc2: 4620 mov r0, r4 - 8030cc4: 4629 mov r1, r5 - 8030cc6: f7fb fba7 bl 802c418 <__adddf3> - 8030cca: a235 add r2, pc, #212 (adr r2, 8030da0 <__ieee754_rem_pio2+0x248>) - 8030ccc: ca0c ldmia r2!, {r2, r3} - 8030cce: 4606 mov r6, r0 - 8030cd0: 460f mov r7, r1 - 8030cd2: e9dd 0104 ldrd r0, r1, [sp, #16] - 8030cd6: f7fb fd51 bl 802c77c <__aeabi_dmul> - 8030cda: 4604 mov r4, r0 - 8030cdc: 9808 ldr r0, [sp, #32] - 8030cde: 460d mov r5, r1 - 8030ce0: 281f cmp r0, #31 - 8030ce2: dc07 bgt.n 8030cf4 <__ieee754_rem_pio2+0x19c> - 8030ce4: 4a3d ldr r2, [pc, #244] (8030ddc <__ieee754_rem_pio2+0x284>) - 8030ce6: 1e43 subs r3, r0, #1 - 8030ce8: f852 3023 ldr.w r3, [r2, r3, lsl #2] - 8030cec: 9909 ldr r1, [sp, #36] - 8030cee: 4299 cmp r1, r3 - 8030cf0: f040 809e bne.w 8030e30 <__ieee754_rem_pio2+0x2d8> - 8030cf4: 462b mov r3, r5 - 8030cf6: 4630 mov r0, r6 - 8030cf8: 4639 mov r1, r7 - 8030cfa: 4622 mov r2, r4 - 8030cfc: f7fb fb8a bl 802c414 <__aeabi_dsub> - 8030d00: 9b06 ldr r3, [sp, #24] - 8030d02: e883 0003 stmia.w r3, {r0, r1} - 8030d06: 0d0b lsrs r3, r1, #20 - 8030d08: 9809 ldr r0, [sp, #36] - 8030d0a: 055b lsls r3, r3, #21 - 8030d0c: 1500 asrs r0, r0, #20 - 8030d0e: 0d5b lsrs r3, r3, #21 - 8030d10: ebc3 0300 rsb r3, r3, r0 - 8030d14: 2b10 cmp r3, #16 - 8030d16: 9007 str r0, [sp, #28] - 8030d18: f340 8093 ble.w 8030e42 <__ieee754_rem_pio2+0x2ea> - 8030d1c: a222 add r2, pc, #136 (adr r2, 8030da8 <__ieee754_rem_pio2+0x250>) - 8030d1e: ca0c ldmia r2!, {r2, r3} - 8030d20: e9dd 0104 ldrd r0, r1, [sp, #16] - 8030d24: f7fb fd2a bl 802c77c <__aeabi_dmul> - 8030d28: 4604 mov r4, r0 - 8030d2a: 460d mov r5, r1 - 8030d2c: 4622 mov r2, r4 - 8030d2e: 462b mov r3, r5 - 8030d30: 4630 mov r0, r6 - 8030d32: 4639 mov r1, r7 - 8030d34: f7fb fb6e bl 802c414 <__aeabi_dsub> - 8030d38: e9cd 0102 strd r0, r1, [sp, #8] - 8030d3c: e9dd 2302 ldrd r2, r3, [sp, #8] - 8030d40: 4630 mov r0, r6 - 8030d42: 4639 mov r1, r7 - 8030d44: f7fb fb66 bl 802c414 <__aeabi_dsub> - 8030d48: 4622 mov r2, r4 - 8030d4a: 462b mov r3, r5 - 8030d4c: f7fb fb62 bl 802c414 <__aeabi_dsub> - 8030d50: a217 add r2, pc, #92 (adr r2, 8030db0 <__ieee754_rem_pio2+0x258>) - 8030d52: ca0c ldmia r2!, {r2, r3} - 8030d54: 4604 mov r4, r0 - 8030d56: 460d mov r5, r1 - 8030d58: e9dd 0104 ldrd r0, r1, [sp, #16] - 8030d5c: f7fb fd0e bl 802c77c <__aeabi_dmul> - 8030d60: 4622 mov r2, r4 - 8030d62: 462b mov r3, r5 - 8030d64: f7fb fb56 bl 802c414 <__aeabi_dsub> - 8030d68: 4604 mov r4, r0 - 8030d6a: 460d mov r5, r1 - 8030d6c: 4622 mov r2, r4 - 8030d6e: 462b mov r3, r5 - 8030d70: e9dd 0102 ldrd r0, r1, [sp, #8] - 8030d74: f7fb fb4e bl 802c414 <__aeabi_dsub> - 8030d78: 0d0b lsrs r3, r1, #20 - 8030d7a: 055b lsls r3, r3, #21 - 8030d7c: 9e07 ldr r6, [sp, #28] - 8030d7e: 0d5b lsrs r3, r3, #21 - 8030d80: 9a06 ldr r2, [sp, #24] - 8030d82: ebc3 0306 rsb r3, r3, r6 - 8030d86: 2b31 cmp r3, #49 - 8030d88: e882 0003 stmia.w r2, {r0, r1} - 8030d8c: dc28 bgt.n 8030de0 <__ieee754_rem_pio2+0x288> - 8030d8e: e9dd 6702 ldrd r6, r7, [sp, #8] - 8030d92: e056 b.n 8030e42 <__ieee754_rem_pio2+0x2ea> - 8030d94: 46c0 nop (mov r8, r8) - 8030d96: 46c0 nop (mov r8, r8) - 8030d98: 54400000 .word 0x54400000 - 8030d9c: 3ff921fb .word 0x3ff921fb - 8030da0: 1a626331 .word 0x1a626331 - 8030da4: 3dd0b461 .word 0x3dd0b461 - 8030da8: 1a600000 .word 0x1a600000 - 8030dac: 3dd0b461 .word 0x3dd0b461 - 8030db0: 2e037073 .word 0x2e037073 - 8030db4: 3ba3198a .word 0x3ba3198a - 8030db8: 6dc9c883 .word 0x6dc9c883 - 8030dbc: 3fe45f30 .word 0x3fe45f30 - 8030dc0: 54400000 .word 0x54400000 - 8030dc4: bff921fb .word 0xbff921fb - 8030dc8: 3fe921fb .word 0x3fe921fb - 8030dcc: 4002d97b .word 0x4002d97b - 8030dd0: 3ff921fb .word 0x3ff921fb - 8030dd4: 413921fb .word 0x413921fb - 8030dd8: 3fe00000 .word 0x3fe00000 - 8030ddc: 080355b0 .word 0x080355b0 - 8030de0: a25f add r2, pc, #380 (adr r2, 8030f60 <__ieee754_rem_pio2+0x408>) - 8030de2: ca0c ldmia r2!, {r2, r3} - 8030de4: e9dd 0104 ldrd r0, r1, [sp, #16] - 8030de8: f7fb fcc8 bl 802c77c <__aeabi_dmul> - 8030dec: 4604 mov r4, r0 - 8030dee: 460d mov r5, r1 - 8030df0: 4622 mov r2, r4 - 8030df2: 462b mov r3, r5 - 8030df4: e9dd 0102 ldrd r0, r1, [sp, #8] - 8030df8: f7fb fb0c bl 802c414 <__aeabi_dsub> - 8030dfc: 4606 mov r6, r0 - 8030dfe: 460f mov r7, r1 - 8030e00: 4632 mov r2, r6 - 8030e02: 463b mov r3, r7 - 8030e04: e9dd 0102 ldrd r0, r1, [sp, #8] - 8030e08: f7fb fb04 bl 802c414 <__aeabi_dsub> - 8030e0c: 4622 mov r2, r4 - 8030e0e: 462b mov r3, r5 - 8030e10: f7fb fb00 bl 802c414 <__aeabi_dsub> - 8030e14: a254 add r2, pc, #336 (adr r2, 8030f68 <__ieee754_rem_pio2+0x410>) - 8030e16: ca0c ldmia r2!, {r2, r3} - 8030e18: 4604 mov r4, r0 - 8030e1a: 460d mov r5, r1 - 8030e1c: e9dd 0104 ldrd r0, r1, [sp, #16] - 8030e20: f7fb fcac bl 802c77c <__aeabi_dmul> - 8030e24: 4622 mov r2, r4 - 8030e26: 462b mov r3, r5 - 8030e28: f7fb faf4 bl 802c414 <__aeabi_dsub> - 8030e2c: 4604 mov r4, r0 - 8030e2e: 460d mov r5, r1 - 8030e30: 4622 mov r2, r4 - 8030e32: 4630 mov r0, r6 - 8030e34: 4639 mov r1, r7 - 8030e36: 462b mov r3, r5 - 8030e38: f7fb faec bl 802c414 <__aeabi_dsub> - 8030e3c: 9a06 ldr r2, [sp, #24] - 8030e3e: e882 0003 stmia.w r2, {r0, r1} - 8030e42: 9b06 ldr r3, [sp, #24] - 8030e44: 4630 mov r0, r6 - 8030e46: 9e06 ldr r6, [sp, #24] - 8030e48: 3308 adds r3, #8 - 8030e4a: 930b str r3, [sp, #44] - 8030e4c: 4639 mov r1, r7 - 8030e4e: e896 000c ldmia.w r6, {r2, r3} - 8030e52: f7fb fadf bl 802c414 <__aeabi_dsub> - 8030e56: 4622 mov r2, r4 - 8030e58: 462b mov r3, r5 - 8030e5a: f7fb fadb bl 802c414 <__aeabi_dsub> - 8030e5e: e9c6 0102 strd r0, r1, [r6, #8] - 8030e62: 980a ldr r0, [sp, #40] - 8030e64: 2800 cmp r0, #0 - 8030e66: da77 bge.n 8030f58 <__ieee754_rem_pio2+0x400> - 8030e68: 6873 ldr r3, [r6, #4] - 8030e6a: 990b ldr r1, [sp, #44] - 8030e6c: f103 4300 add.w r3, r3, #2147483648 ; 0x80000000 - 8030e70: 6073 str r3, [r6, #4] - 8030e72: 684b ldr r3, [r1, #4] - 8030e74: 9a08 ldr r2, [sp, #32] - 8030e76: f103 4300 add.w r3, r3, #2147483648 ; 0x80000000 - 8030e7a: 604b str r3, [r1, #4] - 8030e7c: f1c2 0200 rsb r2, r2, #0 ; 0x0 - 8030e80: 9208 str r2, [sp, #32] - 8030e82: e069 b.n 8030f58 <__ieee754_rem_pio2+0x400> - 8030e84: 4b3a ldr r3, [pc, #232] (8030f70 <__ieee754_rem_pio2+0x418>) - 8030e86: 9e09 ldr r6, [sp, #36] - 8030e88: 429e cmp r6, r3 - 8030e8a: dd0b ble.n 8030ea4 <__ieee754_rem_pio2+0x34c> - 8030e8c: 4602 mov r2, r0 - 8030e8e: 460b mov r3, r1 - 8030e90: f7fb fac0 bl 802c414 <__aeabi_dsub> - 8030e94: 9a06 ldr r2, [sp, #24] - 8030e96: 2300 movs r3, #0 - 8030e98: e9c2 0102 strd r0, r1, [r2, #8] - 8030e9c: e882 0003 stmia.w r2, {r0, r1} - 8030ea0: 9308 str r3, [sp, #32] - 8030ea2: e059 b.n 8030f58 <__ieee754_rem_pio2+0x400> - 8030ea4: 9e09 ldr r6, [sp, #36] - 8030ea6: 4602 mov r2, r0 - 8030ea8: 1531 asrs r1, r6, #20 - 8030eaa: f5a1 6682 sub.w r6, r1, #1040 ; 0x410 - 8030eae: 9809 ldr r0, [sp, #36] - 8030eb0: 3e06 subs r6, #6 - 8030eb2: eba0 5306 sub.w r3, r0, r6, lsl #20 - 8030eb6: 4619 mov r1, r3 - 8030eb8: 4610 mov r0, r2 - 8030eba: 4614 mov r4, r2 - 8030ebc: 461d mov r5, r3 - 8030ebe: f7fb fef5 bl 802ccac <__aeabi_d2iz> - 8030ec2: f7fb fbf5 bl 802c6b0 <__aeabi_i2d> - 8030ec6: 4602 mov r2, r0 - 8030ec8: 460b mov r3, r1 - 8030eca: 4620 mov r0, r4 - 8030ecc: 4629 mov r1, r5 - 8030ece: e9cd 230c strd r2, r3, [sp, #48] - 8030ed2: f7fb fa9f bl 802c414 <__aeabi_dsub> - 8030ed6: 2200 movs r2, #0 - 8030ed8: 4b26 ldr r3, [pc, #152] (8030f74 <__ieee754_rem_pio2+0x41c>) - 8030eda: f7fb fc4f bl 802c77c <__aeabi_dmul> - 8030ede: 460d mov r5, r1 - 8030ee0: 4604 mov r4, r0 - 8030ee2: f7fb fee3 bl 802ccac <__aeabi_d2iz> - 8030ee6: f7fb fbe3 bl 802c6b0 <__aeabi_i2d> - 8030eea: 4602 mov r2, r0 - 8030eec: 460b mov r3, r1 - 8030eee: 4620 mov r0, r4 - 8030ef0: 4629 mov r1, r5 - 8030ef2: e9cd 230e strd r2, r3, [sp, #56] - 8030ef6: f7fb fa8d bl 802c414 <__aeabi_dsub> - 8030efa: 2200 movs r2, #0 - 8030efc: 4b1d ldr r3, [pc, #116] (8030f74 <__ieee754_rem_pio2+0x41c>) - 8030efe: f7fb fc3d bl 802c77c <__aeabi_dmul> - 8030f02: e9cd 0110 strd r0, r1, [sp, #64] - 8030f06: ad0c add r5, sp, #48 - 8030f08: 2403 movs r4, #3 - 8030f0a: e9d5 0104 ldrd r0, r1, [r5, #16] - 8030f0e: 2200 movs r2, #0 - 8030f10: 2300 movs r3, #0 - 8030f12: 4627 mov r7, r4 - 8030f14: 3d08 subs r5, #8 - 8030f16: 3c01 subs r4, #1 - 8030f18: f7fb fe96 bl 802cc48 <__aeabi_dcmpeq> - 8030f1c: 2800 cmp r0, #0 - 8030f1e: d1f4 bne.n 8030f0a <__ieee754_rem_pio2+0x3b2> - 8030f20: 2302 movs r3, #2 - 8030f22: 9300 str r3, [sp, #0] - 8030f24: 4b14 ldr r3, [pc, #80] (8030f78 <__ieee754_rem_pio2+0x420>) - 8030f26: 9906 ldr r1, [sp, #24] - 8030f28: 9301 str r3, [sp, #4] - 8030f2a: a80c add r0, sp, #48 - 8030f2c: 4632 mov r2, r6 - 8030f2e: 463b mov r3, r7 - 8030f30: f000 f9da bl 80312e8 <__kernel_rem_pio2> - 8030f34: 990a ldr r1, [sp, #40] - 8030f36: 9008 str r0, [sp, #32] - 8030f38: 2900 cmp r1, #0 - 8030f3a: da0d bge.n 8030f58 <__ieee754_rem_pio2+0x400> - 8030f3c: 9a06 ldr r2, [sp, #24] - 8030f3e: f1c0 0000 rsb r0, r0, #0 ; 0x0 - 8030f42: 6853 ldr r3, [r2, #4] - 8030f44: f103 4300 add.w r3, r3, #2147483648 ; 0x80000000 - 8030f48: 6053 str r3, [r2, #4] - 8030f4a: f102 0208 add.w r2, r2, #8 ; 0x8 - 8030f4e: 6853 ldr r3, [r2, #4] - 8030f50: f103 4300 add.w r3, r3, #2147483648 ; 0x80000000 - 8030f54: 6053 str r3, [r2, #4] - 8030f56: 9008 str r0, [sp, #32] - 8030f58: 9808 ldr r0, [sp, #32] - 8030f5a: b013 add sp, #76 - 8030f5c: bdf0 pop {r4, r5, r6, r7, pc} - 8030f5e: 46c0 nop (mov r8, r8) - 8030f60: 2e000000 .word 0x2e000000 - 8030f64: 3ba3198a .word 0x3ba3198a - 8030f68: 252049c1 .word 0x252049c1 - 8030f6c: 397b839a .word 0x397b839a - 8030f70: 7fefffff .word 0x7fefffff - 8030f74: 41700000 .word 0x41700000 - 8030f78: 08035630 .word 0x08035630 - 8030f7c: 46c046c0 .word 0x46c046c0 - -08030f80 <__ieee754_sqrt>: - 8030f80: b5f0 push {r4, r5, r6, r7, lr} - 8030f82: 4b67 ldr r3, [pc, #412] (8031120 <__ieee754_sqrt+0x1a0>) - 8030f84: 4a66 ldr r2, [pc, #408] (8031120 <__ieee754_sqrt+0x1a0>) - 8030f86: ea01 0303 and.w r3, r1, r3 - 8030f8a: 4604 mov r4, r0 - 8030f8c: 4293 cmp r3, r2 - 8030f8e: b083 sub sp, #12 - 8030f90: 460d mov r5, r1 - 8030f92: 4608 mov r0, r1 - 8030f94: 46a4 mov ip, r4 - 8030f96: d10b bne.n 8030fb0 <__ieee754_sqrt+0x30> - 8030f98: 4622 mov r2, r4 - 8030f9a: 462b mov r3, r5 - 8030f9c: 4620 mov r0, r4 - 8030f9e: f7fb fbed bl 802c77c <__aeabi_dmul> - 8030fa2: 4602 mov r2, r0 - 8030fa4: 460b mov r3, r1 - 8030fa6: 4620 mov r0, r4 - 8030fa8: 4629 mov r1, r5 - 8030faa: f7fb fa35 bl 802c418 <__adddf3> - 8030fae: e010 b.n 8030fd2 <__ieee754_sqrt+0x52> - 8030fb0: 2900 cmp r1, #0 - 8030fb2: dc11 bgt.n 8030fd8 <__ieee754_sqrt+0x58> - 8030fb4: f021 4300 bic.w r3, r1, #2147483648 ; 0x80000000 - 8030fb8: 4323 orrs r3, r4 - 8030fba: f000 80ad beq.w 8031118 <__ieee754_sqrt+0x198> - 8030fbe: b159 cbz r1, 8030fd8 <__ieee754_sqrt+0x58> - 8030fc0: 4622 mov r2, r4 - 8030fc2: 460b mov r3, r1 - 8030fc4: 4620 mov r0, r4 - 8030fc6: f7fb fa25 bl 802c414 <__aeabi_dsub> - 8030fca: 4602 mov r2, r0 - 8030fcc: 460b mov r3, r1 - 8030fce: f7fb fcff bl 802c9d0 <__aeabi_ddiv> - 8030fd2: 4604 mov r4, r0 - 8030fd4: 460d mov r5, r1 - 8030fd6: e09f b.n 8031118 <__ieee754_sqrt+0x198> - 8030fd8: 1501 asrs r1, r0, #20 - 8030fda: d005 beq.n 8030fe8 <__ieee754_sqrt+0x68> - 8030fdc: e018 b.n 8031010 <__ieee754_sqrt+0x90> - 8030fde: ea4f 20dc mov.w r0, ip, lsr #11 - 8030fe2: 3915 subs r1, #21 - 8030fe4: ea4f 5c4c mov.w ip, ip, lsl #21 - 8030fe8: 2800 cmp r0, #0 - 8030fea: d0f8 beq.n 8030fde <__ieee754_sqrt+0x5e> - 8030fec: 2200 movs r2, #0 - 8030fee: e001 b.n 8030ff4 <__ieee754_sqrt+0x74> - 8030ff0: 0040 lsls r0, r0, #1 - 8030ff2: 3201 adds r2, #1 - 8030ff4: f410 1f80 tst.w r0, #1048576 ; 0x100000 - 8030ff8: d0fa beq.n 8030ff0 <__ieee754_sqrt+0x70> - 8030ffa: 1c4b adds r3, r1, #1 - 8030ffc: ebc2 0103 rsb r1, r2, r3 - 8031000: f1c2 0320 rsb r3, r2, #32 ; 0x20 - 8031004: fa2c f303 lsr.w r3, ip, r3 - 8031008: fa0c fc02 lsl.w ip, ip, r2 - 803100c: ea43 0000 orr.w r0, r3, r0 - 8031010: f5a1 717e sub.w r1, r1, #1016 ; 0x3f8 - 8031014: 1fcb subs r3, r1, #7 - 8031016: 9301 str r3, [sp, #4] - 8031018: 9c01 ldr r4, [sp, #4] - 803101a: f020 437f bic.w r3, r0, #4278190080 ; 0xff000000 - 803101e: f014 0f01 tst.w r4, #1 ; 0x1 - 8031022: f423 0370 bic.w r3, r3, #15728640 ; 0xf00000 - 8031026: f443 1280 orr.w r2, r3, #1048576 ; 0x100000 - 803102a: bf1e ittt ne - 803102c: ea4f 73dc movne.w r3, ip, lsr #31 - 8031030: ea4f 0c4c movne.w ip, ip, lsl #1 - 8031034: eb03 0242 addne.w r2, r3, r2, lsl #1 - 8031038: ea4f 73dc mov.w r3, ip, lsr #31 - 803103c: 2500 movs r5, #0 - 803103e: eb03 0242 add.w r2, r3, r2, lsl #1 - 8031042: ea4f 0c4c mov.w ip, ip, lsl #1 - 8031046: f44f 1000 mov.w r0, #2097152 ; 0x200000 - 803104a: 9500 str r5, [sp, #0] - 803104c: 2400 movs r4, #0 - 803104e: eb05 0300 add.w r3, r5, r0 - 8031052: 4293 cmp r3, r2 - 8031054: dc05 bgt.n 8031062 <__ieee754_sqrt+0xe2> - 8031056: eb03 0500 add.w r5, r3, r0 - 803105a: 1ad2 subs r2, r2, r3 - 803105c: 9b00 ldr r3, [sp, #0] - 803105e: 181b adds r3, r3, r0 - 8031060: 9300 str r3, [sp, #0] - 8031062: 3401 adds r4, #1 - 8031064: ea4f 73dc mov.w r3, ip, lsr #31 - 8031068: 0840 lsrs r0, r0, #1 - 803106a: 2c16 cmp r4, #22 - 803106c: eb03 0242 add.w r2, r3, r2, lsl #1 - 8031070: ea4f 0c4c mov.w ip, ip, lsl #1 - 8031074: d1eb bne.n 803104e <__ieee754_sqrt+0xce> - 8031076: f04f 4100 mov.w r1, #2147483648 ; 0x80000000 - 803107a: 2700 movs r7, #0 - 803107c: 2000 movs r0, #0 - 803107e: 2600 movs r6, #0 - 8031080: 4295 cmp r5, r2 - 8031082: eb01 0407 add.w r4, r1, r7 - 8031086: db08 blt.n 803109a <__ieee754_sqrt+0x11a> - 8031088: bf14 ite ne - 803108a: 2300 movne r3, #0 - 803108c: 2301 moveq r3, #1 - 803108e: 4564 cmp r4, ip - 8031090: bf8c ite hi - 8031092: 2300 movhi r3, #0 - 8031094: f003 0301 andls.w r3, r3, #1 ; 0x1 - 8031098: b19b cbz r3, 80310c2 <__ieee754_sqrt+0x142> - 803109a: f004 4300 and.w r3, r4, #2147483648 ; 0x80000000 - 803109e: f1b3 4f00 cmp.w r3, #2147483648 ; 0x80000000 - 80310a2: eb04 0701 add.w r7, r4, r1 - 80310a6: d103 bne.n 80310b0 <__ieee754_sqrt+0x130> - 80310a8: 421f tst r7, r3 - 80310aa: d101 bne.n 80310b0 <__ieee754_sqrt+0x130> - 80310ac: 1c6b adds r3, r5, #1 - 80310ae: e000 b.n 80310b2 <__ieee754_sqrt+0x132> - 80310b0: 462b mov r3, r5 - 80310b2: 1b52 subs r2, r2, r5 - 80310b4: 45a4 cmp ip, r4 - 80310b6: bf38 it cc - 80310b8: 3a01 subcc r2, #1 - 80310ba: ebc4 0c0c rsb ip, r4, ip - 80310be: 1840 adds r0, r0, r1 - 80310c0: 461d mov r5, r3 - 80310c2: 3601 adds r6, #1 - 80310c4: ea4f 73dc mov.w r3, ip, lsr #31 - 80310c8: 0849 lsrs r1, r1, #1 - 80310ca: 2e20 cmp r6, #32 - 80310cc: eb03 0242 add.w r2, r3, r2, lsl #1 - 80310d0: ea4f 0c4c mov.w ip, ip, lsl #1 - 80310d4: d1d4 bne.n 8031080 <__ieee754_sqrt+0x100> - 80310d6: ea52 020c orrs.w r2, r2, ip - 80310da: d00a beq.n 80310f2 <__ieee754_sqrt+0x172> - 80310dc: f1b0 3fff cmp.w r0, #4294967295 ; 0xffffffff - 80310e0: bf1c itt ne - 80310e2: f000 0301 andne.w r3, r0, #1 ; 0x1 - 80310e6: 1818 addne r0, r3, r0 - 80310e8: d103 bne.n 80310f2 <__ieee754_sqrt+0x172> - 80310ea: 9c00 ldr r4, [sp, #0] - 80310ec: 2000 movs r0, #0 - 80310ee: 3401 adds r4, #1 - 80310f0: 9400 str r4, [sp, #0] - 80310f2: 9b00 ldr r3, [sp, #0] - 80310f4: 9c01 ldr r4, [sp, #4] - 80310f6: 0840 lsrs r0, r0, #1 - 80310f8: f013 0f01 tst.w r3, #1 ; 0x1 - 80310fc: bf18 it ne - 80310fe: f040 4000 orrne.w r0, r0, #2147483648 ; 0x80000000 - 8031102: 1061 asrs r1, r4, #1 - 8031104: 0509 lsls r1, r1, #20 - 8031106: 9c00 ldr r4, [sp, #0] - 8031108: f101 517e add.w r1, r1, #1065353216 ; 0x3f800000 - 803110c: f501 01c0 add.w r1, r1, #6291456 ; 0x600000 - 8031110: eb01 0364 add.w r3, r1, r4, asr #1 - 8031114: 461d mov r5, r3 - 8031116: 4604 mov r4, r0 - 8031118: 4620 mov r0, r4 - 803111a: 4629 mov r1, r5 - 803111c: b003 add sp, #12 - 803111e: bdf0 pop {r4, r5, r6, r7, pc} - 8031120: 7ff00000 .word 0x7ff00000 - 8031124: 00000000 .word 0x00000000 - -08031128 <__kernel_cos>: - 8031128: b5f0 push {r4, r5, r6, r7, lr} - 803112a: f021 4400 bic.w r4, r1, #2147483648 ; 0x80000000 - 803112e: b08d sub sp, #52 - 8031130: f1b4 5f79 cmp.w r4, #1044381696 ; 0x3e400000 - 8031134: e9cd 0108 strd r0, r1, [sp, #32] - 8031138: e9cd 2306 strd r2, r3, [sp, #24] - 803113c: da05 bge.n 803114a <__kernel_cos+0x22> - 803113e: f7fb fdb5 bl 802ccac <__aeabi_d2iz> - 8031142: b910 cbnz r0, 803114a <__kernel_cos+0x22> - 8031144: 2000 movs r0, #0 - 8031146: 4962 ldr r1, [pc, #392] (80312d0 <__kernel_cos+0x1a8>) - 8031148: e0a8 b.n 803129c <__kernel_cos+0x174> - 803114a: e9dd 0108 ldrd r0, r1, [sp, #32] - 803114e: 4602 mov r2, r0 - 8031150: 460b mov r3, r1 - 8031152: f7fb fb13 bl 802c77c <__aeabi_dmul> - 8031156: a252 add r2, pc, #328 (adr r2, 80312a0 <__kernel_cos+0x178>) - 8031158: ca0c ldmia r2!, {r2, r3} - 803115a: 4606 mov r6, r0 - 803115c: 460f mov r7, r1 - 803115e: f7fb fb0d bl 802c77c <__aeabi_dmul> - 8031162: a251 add r2, pc, #324 (adr r2, 80312a8 <__kernel_cos+0x180>) - 8031164: ca0c ldmia r2!, {r2, r3} - 8031166: f7fb f957 bl 802c418 <__adddf3> - 803116a: 4602 mov r2, r0 - 803116c: 460b mov r3, r1 - 803116e: 4630 mov r0, r6 - 8031170: 4639 mov r1, r7 - 8031172: f7fb fb03 bl 802c77c <__aeabi_dmul> - 8031176: a24e add r2, pc, #312 (adr r2, 80312b0 <__kernel_cos+0x188>) - 8031178: ca0c ldmia r2!, {r2, r3} - 803117a: f7fb f94b bl 802c414 <__aeabi_dsub> - 803117e: 4602 mov r2, r0 - 8031180: 460b mov r3, r1 - 8031182: 4630 mov r0, r6 - 8031184: 4639 mov r1, r7 - 8031186: f7fb faf9 bl 802c77c <__aeabi_dmul> - 803118a: a24b add r2, pc, #300 (adr r2, 80312b8 <__kernel_cos+0x190>) - 803118c: ca0c ldmia r2!, {r2, r3} - 803118e: f7fb f943 bl 802c418 <__adddf3> - 8031192: 4602 mov r2, r0 - 8031194: 460b mov r3, r1 - 8031196: 4630 mov r0, r6 - 8031198: 4639 mov r1, r7 - 803119a: f7fb faef bl 802c77c <__aeabi_dmul> - 803119e: a248 add r2, pc, #288 (adr r2, 80312c0 <__kernel_cos+0x198>) - 80311a0: ca0c ldmia r2!, {r2, r3} - 80311a2: f7fb f937 bl 802c414 <__aeabi_dsub> - 80311a6: 4602 mov r2, r0 - 80311a8: 460b mov r3, r1 - 80311aa: 4630 mov r0, r6 - 80311ac: 4639 mov r1, r7 - 80311ae: f7fb fae5 bl 802c77c <__aeabi_dmul> - 80311b2: a245 add r2, pc, #276 (adr r2, 80312c8 <__kernel_cos+0x1a0>) - 80311b4: ca0c ldmia r2!, {r2, r3} - 80311b6: f7fb f92f bl 802c418 <__adddf3> - 80311ba: 460b mov r3, r1 - 80311bc: 4602 mov r2, r0 - 80311be: 4639 mov r1, r7 - 80311c0: 4630 mov r0, r6 - 80311c2: f7fb fadb bl 802c77c <__aeabi_dmul> - 80311c6: 4b43 ldr r3, [pc, #268] (80312d4 <__kernel_cos+0x1ac>) - 80311c8: e9cd 010a strd r0, r1, [sp, #40] - 80311cc: 429c cmp r4, r3 - 80311ce: dc26 bgt.n 803121e <__kernel_cos+0xf6> - 80311d0: 2200 movs r2, #0 - 80311d2: 4b41 ldr r3, [pc, #260] (80312d8 <__kernel_cos+0x1b0>) - 80311d4: 4630 mov r0, r6 - 80311d6: 4639 mov r1, r7 - 80311d8: f7fb fad0 bl 802c77c <__aeabi_dmul> - 80311dc: e9dd 230a ldrd r2, r3, [sp, #40] - 80311e0: e9cd 0104 strd r0, r1, [sp, #16] - 80311e4: 4630 mov r0, r6 - 80311e6: 4639 mov r1, r7 - 80311e8: f7fb fac8 bl 802c77c <__aeabi_dmul> - 80311ec: e9dd 2306 ldrd r2, r3, [sp, #24] - 80311f0: 4604 mov r4, r0 - 80311f2: 460d mov r5, r1 - 80311f4: e9dd 0108 ldrd r0, r1, [sp, #32] - 80311f8: f7fb fac0 bl 802c77c <__aeabi_dmul> - 80311fc: 4602 mov r2, r0 - 80311fe: 460b mov r3, r1 - 8031200: 4620 mov r0, r4 - 8031202: 4629 mov r1, r5 - 8031204: f7fb f906 bl 802c414 <__aeabi_dsub> - 8031208: 4602 mov r2, r0 - 803120a: 460b mov r3, r1 - 803120c: e9dd 0104 ldrd r0, r1, [sp, #16] - 8031210: f7fb f900 bl 802c414 <__aeabi_dsub> - 8031214: 4602 mov r2, r0 - 8031216: 460b mov r3, r1 - 8031218: 2000 movs r0, #0 - 803121a: 492d ldr r1, [pc, #180] (80312d0 <__kernel_cos+0x1a8>) - 803121c: e03c b.n 8031298 <__kernel_cos+0x170> - 803121e: 4b2f ldr r3, [pc, #188] (80312dc <__kernel_cos+0x1b4>) - 8031220: 429c cmp r4, r3 - 8031222: dd02 ble.n 803122a <__kernel_cos+0x102> - 8031224: 2400 movs r4, #0 - 8031226: 4d2e ldr r5, [pc, #184] (80312e0 <__kernel_cos+0x1b8>) - 8031228: e004 b.n 8031234 <__kernel_cos+0x10c> - 803122a: f5a4 1300 sub.w r3, r4, #2097152 ; 0x200000 - 803122e: 2200 movs r2, #0 - 8031230: 4614 mov r4, r2 - 8031232: 461d mov r5, r3 - 8031234: 4622 mov r2, r4 - 8031236: 462b mov r3, r5 - 8031238: 2000 movs r0, #0 - 803123a: 4925 ldr r1, [pc, #148] (80312d0 <__kernel_cos+0x1a8>) - 803123c: f7fb f8ea bl 802c414 <__aeabi_dsub> - 8031240: 2200 movs r2, #0 - 8031242: e9cd 0102 strd r0, r1, [sp, #8] - 8031246: 4b24 ldr r3, [pc, #144] (80312d8 <__kernel_cos+0x1b0>) - 8031248: 4630 mov r0, r6 - 803124a: 4639 mov r1, r7 - 803124c: f7fb fa96 bl 802c77c <__aeabi_dmul> - 8031250: 4622 mov r2, r4 - 8031252: 462b mov r3, r5 - 8031254: f7fb f8de bl 802c414 <__aeabi_dsub> - 8031258: e9dd 230a ldrd r2, r3, [sp, #40] - 803125c: e88d 0003 stmia.w sp, {r0, r1} - 8031260: 4630 mov r0, r6 - 8031262: 4639 mov r1, r7 - 8031264: f7fb fa8a bl 802c77c <__aeabi_dmul> - 8031268: e9dd 2306 ldrd r2, r3, [sp, #24] - 803126c: 4604 mov r4, r0 - 803126e: 460d mov r5, r1 - 8031270: e9dd 0108 ldrd r0, r1, [sp, #32] - 8031274: f7fb fa82 bl 802c77c <__aeabi_dmul> - 8031278: 4602 mov r2, r0 - 803127a: 460b mov r3, r1 - 803127c: 4620 mov r0, r4 - 803127e: 4629 mov r1, r5 - 8031280: f7fb f8c8 bl 802c414 <__aeabi_dsub> - 8031284: 4602 mov r2, r0 - 8031286: 460b mov r3, r1 - 8031288: e89d 0003 ldmia.w sp, {r0, r1} - 803128c: f7fb f8c2 bl 802c414 <__aeabi_dsub> - 8031290: 4602 mov r2, r0 - 8031292: 460b mov r3, r1 - 8031294: e9dd 0102 ldrd r0, r1, [sp, #8] - 8031298: f7fb f8bc bl 802c414 <__aeabi_dsub> - 803129c: b00d add sp, #52 - 803129e: bdf0 pop {r4, r5, r6, r7, pc} - 80312a0: be8838d4 .word 0xbe8838d4 - 80312a4: bda8fae9 .word 0xbda8fae9 - 80312a8: bdb4b1c4 .word 0xbdb4b1c4 - 80312ac: 3e21ee9e .word 0x3e21ee9e - 80312b0: 809c52ad .word 0x809c52ad - 80312b4: 3e927e4f .word 0x3e927e4f - 80312b8: 19cb1590 .word 0x19cb1590 - 80312bc: 3efa01a0 .word 0x3efa01a0 - 80312c0: 16c15177 .word 0x16c15177 - 80312c4: 3f56c16c .word 0x3f56c16c - 80312c8: 5555554c .word 0x5555554c - 80312cc: 3fa55555 .word 0x3fa55555 - 80312d0: 3ff00000 .word 0x3ff00000 - 80312d4: 3fd33332 .word 0x3fd33332 - 80312d8: 3fe00000 .word 0x3fe00000 - 80312dc: 3fe90000 .word 0x3fe90000 - 80312e0: 3fd20000 .word 0x3fd20000 - 80312e4: 46c046c0 .word 0x46c046c0 - -080312e8 <__kernel_rem_pio2>: - 80312e8: b5f0 push {r4, r5, r6, r7, lr} - 80312ea: f5ad 7d35 sub.w sp, sp, #724 ; 0x2d4 - 80312ee: 930a str r3, [sp, #40] - 80312f0: 900c str r0, [sp, #48] - 80312f2: f8df 36f0 ldr.w r3, [pc, #1776] ; 80319e4 <__kernel_rem_pio2+0x6fc> - 80312f6: 98ba ldr r0, [sp, #744] - 80312f8: 910b str r1, [sp, #44] - 80312fa: f853 3020 ldr.w r3, [r3, r0, lsl #2] - 80312fe: 990a ldr r1, [sp, #40] - 8031300: f8df 06e4 ldr.w r0, [pc, #1764] ; 80319e8 <__kernel_rem_pio2+0x700> - 8031304: 930f str r3, [sp, #60] - 8031306: 3901 subs r1, #1 - 8031308: 1ed3 subs r3, r2, #3 - 803130a: 910e str r1, [sp, #56] - 803130c: fb83 0100 smull r0, r1, r3, r0 - 8031310: 17db asrs r3, r3, #31 - 8031312: ebc3 03a1 rsb r3, r3, r1, asr #2 - 8031316: 2b00 cmp r3, #0 - 8031318: bfb8 it lt - 803131a: 2300 movlt r3, #0 - 803131c: 9327 str r3, [sp, #156] - 803131e: ea6f 0303 mvn.w r3, r3 - 8031322: eb03 0343 add.w r3, r3, r3, lsl #1 - 8031326: eb02 03c3 add.w r3, r2, r3, lsl #3 - 803132a: 9c27 ldr r4, [sp, #156] - 803132c: 9312 str r3, [sp, #72] - 803132e: 9a0f ldr r2, [sp, #60] - 8031330: 9b0e ldr r3, [sp, #56] - 8031332: 98bb ldr r0, [sp, #748] - 8031334: ebc3 0604 rsb r6, r3, r4 - 8031338: 18d2 adds r2, r2, r3 - 803133a: 9211 str r2, [sp, #68] - 803133c: af78 add r7, sp, #480 - 803133e: eb00 0586 add.w r5, r0, r6, lsl #2 - 8031342: 2400 movs r4, #0 - 8031344: e00a b.n 803135c <__kernel_rem_pio2+0x74> - 8031346: 42f4 cmn r4, r6 - 8031348: d502 bpl.n 8031350 <__kernel_rem_pio2+0x68> - 803134a: 2000 movs r0, #0 - 803134c: 2100 movs r1, #0 - 803134e: e002 b.n 8031356 <__kernel_rem_pio2+0x6e> - 8031350: 6828 ldr r0, [r5, #0] - 8031352: f7fb f9ad bl 802c6b0 <__aeabi_i2d> - 8031356: c703 stmia r7!, {r0, r1} - 8031358: 3401 adds r4, #1 - 803135a: 3504 adds r5, #4 - 803135c: 9911 ldr r1, [sp, #68] - 803135e: 428c cmp r4, r1 - 8031360: ddf1 ble.n 8031346 <__kernel_rem_pio2+0x5e> - 8031362: 9b0e ldr r3, [sp, #56] - 8031364: aa28 add r2, sp, #160 - 8031366: 2400 movs r4, #0 - 8031368: 921f str r2, [sp, #124] - 803136a: 9320 str r3, [sp, #128] - 803136c: 9421 str r4, [sp, #132] - 803136e: e01f b.n 80313b0 <__kernel_rem_pio2+0xc8> - 8031370: 9a1e ldr r2, [sp, #120] - 8031372: 3601 adds r6, #1 - 8031374: e912 0003 ldmdb r2, {r0, r1} - 8031378: e9d7 2302 ldrd r2, r3, [r7, #8] - 803137c: f7fb f9fe bl 802c77c <__aeabi_dmul> - 8031380: 4602 mov r2, r0 - 8031382: 460b mov r3, r1 - 8031384: 4620 mov r0, r4 - 8031386: 4629 mov r1, r5 - 8031388: f7fb f846 bl 802c418 <__adddf3> - 803138c: 4604 mov r4, r0 - 803138e: 460d mov r5, r1 - 8031390: 9b1e ldr r3, [sp, #120] - 8031392: 980e ldr r0, [sp, #56] - 8031394: 3308 adds r3, #8 - 8031396: 3f08 subs r7, #8 - 8031398: 4286 cmp r6, r0 - 803139a: 931e str r3, [sp, #120] - 803139c: dde8 ble.n 8031370 <__kernel_rem_pio2+0x88> - 803139e: 991f ldr r1, [sp, #124] - 80313a0: 9a21 ldr r2, [sp, #132] - 80313a2: 9b20 ldr r3, [sp, #128] - 80313a4: c130 stmia r1!, {r4, r5} - 80313a6: 3201 adds r2, #1 - 80313a8: 3301 adds r3, #1 - 80313aa: 911f str r1, [sp, #124] - 80313ac: 9221 str r2, [sp, #132] - 80313ae: 9320 str r3, [sp, #128] - 80313b0: 9c21 ldr r4, [sp, #132] - 80313b2: 9e0f ldr r6, [sp, #60] - 80313b4: 42b4 cmp r4, r6 - 80313b6: dc09 bgt.n 80313cc <__kernel_rem_pio2+0xe4> - 80313b8: 980c ldr r0, [sp, #48] - 80313ba: 9a20 ldr r2, [sp, #128] - 80313bc: a978 add r1, sp, #480 - 80313be: 901e str r0, [sp, #120] - 80313c0: eb01 07c2 add.w r7, r1, r2, lsl #3 - 80313c4: 2600 movs r6, #0 - 80313c6: 2400 movs r4, #0 - 80313c8: 2500 movs r5, #0 - 80313ca: e7e1 b.n 8031390 <__kernel_rem_pio2+0xa8> - 80313cc: 9b0f ldr r3, [sp, #60] - 80313ce: 930d str r3, [sp, #52] - 80313d0: 9c0d ldr r4, [sp, #52] - 80313d2: aa28 add r2, sp, #160 - 80313d4: 1e60 subs r0, r4, #1 - 80313d6: eb02 03c4 add.w r3, r2, r4, lsl #3 - 80313da: 2100 movs r1, #0 - 80313dc: eb02 02c0 add.w r2, r2, r0, lsl #3 - 80313e0: e893 00c0 ldmia.w r3, {r6, r7} - 80313e4: 9022 str r0, [sp, #136] - 80313e6: 921d str r2, [sp, #116] - 80313e8: 9425 str r4, [sp, #148] - 80313ea: 911c str r1, [sp, #112] - 80313ec: e02b b.n 8031446 <__kernel_rem_pio2+0x15e> - 80313ee: 2200 movs r2, #0 - 80313f0: f8df 35f8 ldr.w r3, [pc, #1528] ; 80319ec <__kernel_rem_pio2+0x704> - 80313f4: 4630 mov r0, r6 - 80313f6: 4639 mov r1, r7 - 80313f8: f7fb f9c0 bl 802c77c <__aeabi_dmul> - 80313fc: f7fb fc56 bl 802ccac <__aeabi_d2iz> - 8031400: f7fb f956 bl 802c6b0 <__aeabi_i2d> - 8031404: 2200 movs r2, #0 - 8031406: f8df 35e8 ldr.w r3, [pc, #1512] ; 80319f0 <__kernel_rem_pio2+0x708> - 803140a: 4604 mov r4, r0 - 803140c: 460d mov r5, r1 - 803140e: f7fb f9b5 bl 802c77c <__aeabi_dmul> - 8031412: 4602 mov r2, r0 - 8031414: 460b mov r3, r1 - 8031416: 4630 mov r0, r6 - 8031418: 4639 mov r1, r7 - 803141a: f7fa fffd bl 802c418 <__adddf3> - 803141e: f7fb fc45 bl 802ccac <__aeabi_d2iz> - 8031422: 9b1c ldr r3, [sp, #112] - 8031424: aaa0 add r2, sp, #640 - 8031426: 50d0 str r0, [r2, r3] - 8031428: 9e25 ldr r6, [sp, #148] - 803142a: 4620 mov r0, r4 - 803142c: 9c1d ldr r4, [sp, #116] - 803142e: 3e01 subs r6, #1 - 8031430: 4629 mov r1, r5 - 8031432: e9d4 2302 ldrd r2, r3, [r4, #8] - 8031436: 9625 str r6, [sp, #148] - 8031438: f7fa ffee bl 802c418 <__adddf3> - 803143c: 4606 mov r6, r0 - 803143e: 981c ldr r0, [sp, #112] - 8031440: 460f mov r7, r1 - 8031442: 3004 adds r0, #4 - 8031444: 901c str r0, [sp, #112] - 8031446: 991d ldr r1, [sp, #116] - 8031448: 9a25 ldr r2, [sp, #148] - 803144a: 3908 subs r1, #8 - 803144c: 2a00 cmp r2, #0 - 803144e: 911d str r1, [sp, #116] - 8031450: dccd bgt.n 80313ee <__kernel_rem_pio2+0x106> - 8031452: 9a12 ldr r2, [sp, #72] - 8031454: 4630 mov r0, r6 - 8031456: 4639 mov r1, r7 - 8031458: f000 fdc6 bl 8031fe8 - 803145c: 2200 movs r2, #0 - 803145e: f04f 537f mov.w r3, #1069547520 ; 0x3fc00000 - 8031462: 4604 mov r4, r0 - 8031464: 460d mov r5, r1 - 8031466: f7fb f989 bl 802c77c <__aeabi_dmul> - 803146a: f000 fd35 bl 8031ed8 - 803146e: 2200 movs r2, #0 - 8031470: f8df 3580 ldr.w r3, [pc, #1408] ; 80319f4 <__kernel_rem_pio2+0x70c> - 8031474: f7fb f982 bl 802c77c <__aeabi_dmul> - 8031478: 4602 mov r2, r0 - 803147a: 460b mov r3, r1 - 803147c: 4620 mov r0, r4 - 803147e: 4629 mov r1, r5 - 8031480: f7fa ffca bl 802c418 <__adddf3> - 8031484: 460d mov r5, r1 - 8031486: 4604 mov r4, r0 - 8031488: f7fb fc10 bl 802ccac <__aeabi_d2iz> - 803148c: 9010 str r0, [sp, #64] - 803148e: f7fb f90f bl 802c6b0 <__aeabi_i2d> - 8031492: 460b mov r3, r1 - 8031494: 4602 mov r2, r0 - 8031496: 4629 mov r1, r5 - 8031498: 4620 mov r0, r4 - 803149a: f7fa ffbb bl 802c414 <__aeabi_dsub> - 803149e: 9b12 ldr r3, [sp, #72] - 80314a0: 4604 mov r4, r0 - 80314a2: 2b00 cmp r3, #0 - 80314a4: 460d mov r5, r1 - 80314a6: dd16 ble.n 80314d6 <__kernel_rem_pio2+0x1ee> - 80314a8: 9922 ldr r1, [sp, #136] - 80314aa: aeb4 add r6, sp, #720 - 80314ac: eb06 0081 add.w r0, r6, r1, lsl #2 - 80314b0: f850 2c50 ldr.w r2, [r0, #-80] - 80314b4: f1c3 0118 rsb r1, r3, #24 ; 0x18 - 80314b8: fa52 f301 asrs.w r3, r2, r1 - 80314bc: 9e10 ldr r6, [sp, #64] - 80314be: 18f6 adds r6, r6, r3 - 80314c0: 408b lsls r3, r1 - 80314c2: 1ad2 subs r2, r2, r3 - 80314c4: f840 2c50 str.w r2, [r0, #-80] - 80314c8: 9812 ldr r0, [sp, #72] - 80314ca: 9610 str r6, [sp, #64] - 80314cc: f1c0 0317 rsb r3, r0, #23 ; 0x17 - 80314d0: fa52 f303 asrs.w r3, r2, r3 - 80314d4: e007 b.n 80314e6 <__kernel_rem_pio2+0x1fe> - 80314d6: d10b bne.n 80314f0 <__kernel_rem_pio2+0x208> - 80314d8: 9a22 ldr r2, [sp, #136] - 80314da: a9b4 add r1, sp, #720 - 80314dc: eb01 0382 add.w r3, r1, r2, lsl #2 - 80314e0: f853 3c50 ldr.w r3, [r3, #-80] - 80314e4: 15db asrs r3, r3, #23 - 80314e6: 9313 str r3, [sp, #76] - 80314e8: 9813 ldr r0, [sp, #76] - 80314ea: 2800 cmp r0, #0 - 80314ec: dc0b bgt.n 8031506 <__kernel_rem_pio2+0x21e> - 80314ee: e061 b.n 80315b4 <__kernel_rem_pio2+0x2cc> - 80314f0: 2200 movs r2, #0 - 80314f2: f8df 3504 ldr.w r3, [pc, #1284] ; 80319f8 <__kernel_rem_pio2+0x710> - 80314f6: f7fb fbc5 bl 802cc84 <__aeabi_dcmpge> - 80314fa: b910 cbnz r0, 8031502 <__kernel_rem_pio2+0x21a> - 80314fc: 2300 movs r3, #0 - 80314fe: 9313 str r3, [sp, #76] - 8031500: e058 b.n 80315b4 <__kernel_rem_pio2+0x2cc> - 8031502: 2602 movs r6, #2 - 8031504: 9613 str r6, [sp, #76] - 8031506: 9910 ldr r1, [sp, #64] - 8031508: 2600 movs r6, #0 - 803150a: 3101 adds r1, #1 - 803150c: 9110 str r1, [sp, #64] - 803150e: 2000 movs r0, #0 - 8031510: 2100 movs r1, #0 - 8031512: f50d 7c20 add.w ip, sp, #640 ; 0x280 - 8031516: e010 b.n 803153a <__kernel_rem_pio2+0x252> - 8031518: f85c 2001 ldr.w r2, [ip, r1] - 803151c: b936 cbnz r6, 803152c <__kernel_rem_pio2+0x244> - 803151e: b152 cbz r2, 8031536 <__kernel_rem_pio2+0x24e> - 8031520: f1c2 7380 rsb r3, r2, #16777216 ; 0x1000000 - 8031524: f84c 3001 str.w r3, [ip, r1] - 8031528: 2601 movs r6, #1 - 803152a: e004 b.n 8031536 <__kernel_rem_pio2+0x24e> - 803152c: f06f 437f mvn.w r3, #4278190080 ; 0xff000000 - 8031530: 1a9b subs r3, r3, r2 - 8031532: f84c 3001 str.w r3, [ip, r1] - 8031536: 3001 adds r0, #1 - 8031538: 3104 adds r1, #4 - 803153a: 9a0d ldr r2, [sp, #52] - 803153c: 4290 cmp r0, r2 - 803153e: dbeb blt.n 8031518 <__kernel_rem_pio2+0x230> - 8031540: 9b12 ldr r3, [sp, #72] - 8031542: 2b00 cmp r3, #0 - 8031544: dd1b ble.n 803157e <__kernel_rem_pio2+0x296> - 8031546: 2b01 cmp r3, #1 - 8031548: d002 beq.n 8031550 <__kernel_rem_pio2+0x268> - 803154a: 2b02 cmp r3, #2 - 803154c: d117 bne.n 803157e <__kernel_rem_pio2+0x296> - 803154e: e00a b.n 8031566 <__kernel_rem_pio2+0x27e> - 8031550: 9922 ldr r1, [sp, #136] - 8031552: a8b4 add r0, sp, #720 - 8031554: eb00 0281 add.w r2, r0, r1, lsl #2 - 8031558: f852 3c50 ldr.w r3, [r2, #-80] - 803155c: f023 437f bic.w r3, r3, #4278190080 ; 0xff000000 - 8031560: f423 0300 bic.w r3, r3, #8388608 ; 0x800000 - 8031564: e009 b.n 803157a <__kernel_rem_pio2+0x292> - 8031566: 9822 ldr r0, [sp, #136] - 8031568: abb4 add r3, sp, #720 - 803156a: eb03 0280 add.w r2, r3, r0, lsl #2 - 803156e: f852 3c50 ldr.w r3, [r2, #-80] - 8031572: f023 437f bic.w r3, r3, #4278190080 ; 0xff000000 - 8031576: f423 0340 bic.w r3, r3, #12582912 ; 0xc00000 - 803157a: f842 3c50 str.w r3, [r2, #-80] - 803157e: 9913 ldr r1, [sp, #76] - 8031580: 2902 cmp r1, #2 - 8031582: d117 bne.n 80315b4 <__kernel_rem_pio2+0x2cc> - 8031584: 4622 mov r2, r4 - 8031586: 462b mov r3, r5 - 8031588: 2000 movs r0, #0 - 803158a: f8df 1470 ldr.w r1, [pc, #1136] ; 80319fc <__kernel_rem_pio2+0x714> - 803158e: f7fa ff41 bl 802c414 <__aeabi_dsub> - 8031592: 4604 mov r4, r0 - 8031594: 460d mov r5, r1 - 8031596: b16e cbz r6, 80315b4 <__kernel_rem_pio2+0x2cc> - 8031598: 9a12 ldr r2, [sp, #72] - 803159a: 2000 movs r0, #0 - 803159c: f8df 145c ldr.w r1, [pc, #1116] ; 80319fc <__kernel_rem_pio2+0x714> - 80315a0: f000 fd22 bl 8031fe8 - 80315a4: 4602 mov r2, r0 - 80315a6: 460b mov r3, r1 - 80315a8: 4620 mov r0, r4 - 80315aa: 4629 mov r1, r5 - 80315ac: f7fa ff32 bl 802c414 <__aeabi_dsub> - 80315b0: 4604 mov r4, r0 - 80315b2: 460d mov r5, r1 - 80315b4: 2200 movs r2, #0 - 80315b6: 2300 movs r3, #0 - 80315b8: 4620 mov r0, r4 - 80315ba: 4629 mov r1, r5 - 80315bc: f7fb fb44 bl 802cc48 <__aeabi_dcmpeq> - 80315c0: 2800 cmp r0, #0 - 80315c2: d073 beq.n 80316ac <__kernel_rem_pio2+0x3c4> - 80315c4: 9a22 ldr r2, [sp, #136] - 80315c6: aba0 add r3, sp, #640 - 80315c8: eb03 0182 add.w r1, r3, r2, lsl #2 - 80315cc: 2200 movs r2, #0 - 80315ce: e004 b.n 80315da <__kernel_rem_pio2+0x2f2> - 80315d0: 684b ldr r3, [r1, #4] - 80315d2: 431a orrs r2, r3 - 80315d4: 9b22 ldr r3, [sp, #136] - 80315d6: 3b01 subs r3, #1 - 80315d8: 9322 str r3, [sp, #136] - 80315da: 9c22 ldr r4, [sp, #136] - 80315dc: 9e0f ldr r6, [sp, #60] - 80315de: 3904 subs r1, #4 - 80315e0: 42b4 cmp r4, r6 - 80315e2: daf5 bge.n 80315d0 <__kernel_rem_pio2+0x2e8> - 80315e4: 2a00 cmp r2, #0 - 80315e6: d162 bne.n 80316ae <__kernel_rem_pio2+0x3c6> - 80315e8: aba0 add r3, sp, #640 - 80315ea: eb03 0186 add.w r1, r3, r6, lsl #2 - 80315ee: 2201 movs r2, #1 - 80315f0: e000 b.n 80315f4 <__kernel_rem_pio2+0x30c> - 80315f2: 3201 adds r2, #1 - 80315f4: f851 3d04 ldr.w r3, [r1, #-4]! - 80315f8: 2b00 cmp r3, #0 - 80315fa: d0fa beq.n 80315f2 <__kernel_rem_pio2+0x30a> - 80315fc: 980d ldr r0, [sp, #52] - 80315fe: 9927 ldr r1, [sp, #156] - 8031600: ab28 add r3, sp, #160 - 8031602: eb03 03c0 add.w r3, r3, r0, lsl #3 - 8031606: 931a str r3, [sp, #104] - 8031608: 1c4b adds r3, r1, #1 - 803160a: 990a ldr r1, [sp, #40] - 803160c: 1812 adds r2, r2, r0 - 803160e: 9cbb ldr r4, [sp, #748] - 8031610: 4401 add r1, r0 - 8031612: 181b adds r3, r3, r0 - 8031614: 9205 str r2, [sp, #20] - 8031616: aa78 add r2, sp, #480 - 8031618: eb04 0383 add.w r3, r4, r3, lsl #2 - 803161c: 2600 movs r6, #0 - 803161e: eb02 02c1 add.w r2, r2, r1, lsl #3 - 8031622: 931b str r3, [sp, #108] - 8031624: 9619 str r6, [sp, #100] - 8031626: 9104 str r1, [sp, #16] - 8031628: 9203 str r2, [sp, #12] - 803162a: e036 b.n 803169a <__kernel_rem_pio2+0x3b2> - 803162c: 991b ldr r1, [sp, #108] - 803162e: 9b03 ldr r3, [sp, #12] - 8031630: 9e19 ldr r6, [sp, #100] - 8031632: 6808 ldr r0, [r1, #0] - 8031634: eb03 04c6 add.w r4, r3, r6, lsl #3 - 8031638: f7fb f83a bl 802c6b0 <__aeabi_i2d> - 803163c: e884 0003 stmia.w r4, {r0, r1} - 8031640: 9c04 ldr r4, [sp, #16] - 8031642: 9a0c ldr r2, [sp, #48] - 8031644: eb04 0306 add.w r3, r4, r6 - 8031648: ae78 add r6, sp, #480 - 803164a: eb06 07c3 add.w r7, r6, r3, lsl #3 - 803164e: 9218 str r2, [sp, #96] - 8031650: 2600 movs r6, #0 - 8031652: 2400 movs r4, #0 - 8031654: 2500 movs r5, #0 - 8031656: e00f b.n 8031678 <__kernel_rem_pio2+0x390> - 8031658: 9a18 ldr r2, [sp, #96] - 803165a: 3601 adds r6, #1 - 803165c: e912 0003 ldmdb r2, {r0, r1} - 8031660: e9d7 2302 ldrd r2, r3, [r7, #8] - 8031664: f7fb f88a bl 802c77c <__aeabi_dmul> - 8031668: 4602 mov r2, r0 - 803166a: 460b mov r3, r1 - 803166c: 4620 mov r0, r4 - 803166e: 4629 mov r1, r5 - 8031670: f7fa fed2 bl 802c418 <__adddf3> - 8031674: 4604 mov r4, r0 - 8031676: 460d mov r5, r1 - 8031678: 9b18 ldr r3, [sp, #96] - 803167a: 980e ldr r0, [sp, #56] - 803167c: 3308 adds r3, #8 - 803167e: 3f08 subs r7, #8 - 8031680: 4286 cmp r6, r0 - 8031682: 9318 str r3, [sp, #96] - 8031684: dde8 ble.n 8031658 <__kernel_rem_pio2+0x370> - 8031686: 991a ldr r1, [sp, #104] - 8031688: 9a19 ldr r2, [sp, #100] - 803168a: 9b1b ldr r3, [sp, #108] - 803168c: e9e1 4502 strd r4, r5, [r1, #8]! - 8031690: 3201 adds r2, #1 - 8031692: 3304 adds r3, #4 - 8031694: 911a str r1, [sp, #104] - 8031696: 9219 str r2, [sp, #100] - 8031698: 931b str r3, [sp, #108] - 803169a: 9c0d ldr r4, [sp, #52] - 803169c: 9e19 ldr r6, [sp, #100] - 803169e: 1c63 adds r3, r4, #1 - 80316a0: 9805 ldr r0, [sp, #20] - 80316a2: 199b adds r3, r3, r6 - 80316a4: 4283 cmp r3, r0 - 80316a6: ddc1 ble.n 803162c <__kernel_rem_pio2+0x344> - 80316a8: 900d str r0, [sp, #52] - 80316aa: e691 b.n 80313d0 <__kernel_rem_pio2+0xe8> - 80316ac: d014 beq.n 80316d8 <__kernel_rem_pio2+0x3f0> - 80316ae: 9c0d ldr r4, [sp, #52] - 80316b0: 9912 ldr r1, [sp, #72] - 80316b2: aba0 add r3, sp, #640 - 80316b4: 3918 subs r1, #24 - 80316b6: eb03 0284 add.w r2, r3, r4, lsl #2 - 80316ba: 3c01 subs r4, #1 - 80316bc: 9112 str r1, [sp, #72] - 80316be: 940d str r4, [sp, #52] - 80316c0: e005 b.n 80316ce <__kernel_rem_pio2+0x3e6> - 80316c2: 9e0d ldr r6, [sp, #52] - 80316c4: 9812 ldr r0, [sp, #72] - 80316c6: 3e01 subs r6, #1 - 80316c8: 3818 subs r0, #24 - 80316ca: 960d str r6, [sp, #52] - 80316cc: 9012 str r0, [sp, #72] - 80316ce: f852 3d04 ldr.w r3, [r2, #-4]! - 80316d2: 2b00 cmp r3, #0 - 80316d4: d0f5 beq.n 80316c2 <__kernel_rem_pio2+0x3da> - 80316d6: e03f b.n 8031758 <__kernel_rem_pio2+0x470> - 80316d8: 9912 ldr r1, [sp, #72] - 80316da: 4620 mov r0, r4 - 80316dc: f1c1 0200 rsb r2, r1, #0 ; 0x0 - 80316e0: 4629 mov r1, r5 - 80316e2: f000 fc81 bl 8031fe8 - 80316e6: 2200 movs r2, #0 - 80316e8: 4bc5 ldr r3, [pc, #788] (8031a00 <__kernel_rem_pio2+0x718>) - 80316ea: 4606 mov r6, r0 - 80316ec: 460f mov r7, r1 - 80316ee: f7fb fac9 bl 802cc84 <__aeabi_dcmpge> - 80316f2: 9a0d ldr r2, [sp, #52] - 80316f4: 0094 lsls r4, r2, #2 - 80316f6: b338 cbz r0, 8031748 <__kernel_rem_pio2+0x460> - 80316f8: 2200 movs r2, #0 - 80316fa: 4bbc ldr r3, [pc, #752] (80319ec <__kernel_rem_pio2+0x704>) - 80316fc: 4630 mov r0, r6 - 80316fe: 4639 mov r1, r7 - 8031700: f7fb f83c bl 802c77c <__aeabi_dmul> - 8031704: f7fb fad2 bl 802ccac <__aeabi_d2iz> - 8031708: f7fa ffd2 bl 802c6b0 <__aeabi_i2d> - 803170c: abb4 add r3, sp, #720 - 803170e: 441c add r4, r3 - 8031710: 2200 movs r2, #0 - 8031712: 4bb7 ldr r3, [pc, #732] (80319f0 <__kernel_rem_pio2+0x708>) - 8031714: e9cd 0108 strd r0, r1, [sp, #32] - 8031718: f7fb f830 bl 802c77c <__aeabi_dmul> - 803171c: 4602 mov r2, r0 - 803171e: 460b mov r3, r1 - 8031720: 4630 mov r0, r6 - 8031722: 4639 mov r1, r7 - 8031724: f7fa fe78 bl 802c418 <__adddf3> - 8031728: f7fb fac0 bl 802ccac <__aeabi_d2iz> - 803172c: 9e12 ldr r6, [sp, #72] - 803172e: f844 0c50 str.w r0, [r4, #-80] - 8031732: 9c0d ldr r4, [sp, #52] - 8031734: a8b4 add r0, sp, #720 - 8031736: 3401 adds r4, #1 - 8031738: 3618 adds r6, #24 - 803173a: 940d str r4, [sp, #52] - 803173c: 9612 str r6, [sp, #72] - 803173e: eb00 0484 add.w r4, r0, r4, lsl #2 - 8031742: e9dd 0108 ldrd r0, r1, [sp, #32] - 8031746: e003 b.n 8031750 <__kernel_rem_pio2+0x468> - 8031748: a9b4 add r1, sp, #720 - 803174a: 440c add r4, r1 - 803174c: 4630 mov r0, r6 - 803174e: 4639 mov r1, r7 - 8031750: f7fb faac bl 802ccac <__aeabi_d2iz> - 8031754: f844 0c50 str.w r0, [r4, #-80] - 8031758: 9a12 ldr r2, [sp, #72] - 803175a: 2000 movs r0, #0 - 803175c: 49a7 ldr r1, [pc, #668] (80319fc <__kernel_rem_pio2+0x714>) - 803175e: f000 fc43 bl 8031fe8 - 8031762: 9a0d ldr r2, [sp, #52] - 8031764: aba0 add r3, sp, #640 - 8031766: eb03 0382 add.w r3, r3, r2, lsl #2 - 803176a: 9317 str r3, [sp, #92] - 803176c: ab28 add r3, sp, #160 - 803176e: 4604 mov r4, r0 - 8031770: 460d mov r5, r1 - 8031772: eb03 07c2 add.w r7, r3, r2, lsl #3 - 8031776: 4616 mov r6, r2 - 8031778: e014 b.n 80317a4 <__kernel_rem_pio2+0x4bc> - 803177a: 9b17 ldr r3, [sp, #92] - 803177c: 3e01 subs r6, #1 - 803177e: 6858 ldr r0, [r3, #4] - 8031780: f7fa ff96 bl 802c6b0 <__aeabi_i2d> - 8031784: 4602 mov r2, r0 - 8031786: 460b mov r3, r1 - 8031788: 4620 mov r0, r4 - 803178a: 4629 mov r1, r5 - 803178c: f7fa fff6 bl 802c77c <__aeabi_dmul> - 8031790: 2200 movs r2, #0 - 8031792: e9c7 0102 strd r0, r1, [r7, #8] - 8031796: 4b95 ldr r3, [pc, #596] (80319ec <__kernel_rem_pio2+0x704>) - 8031798: 4620 mov r0, r4 - 803179a: 4629 mov r1, r5 - 803179c: f7fa ffee bl 802c77c <__aeabi_dmul> - 80317a0: 4604 mov r4, r0 - 80317a2: 460d mov r5, r1 - 80317a4: 9817 ldr r0, [sp, #92] - 80317a6: 3f08 subs r7, #8 - 80317a8: 3804 subs r0, #4 - 80317aa: 2e00 cmp r6, #0 - 80317ac: 9017 str r0, [sp, #92] - 80317ae: dae4 bge.n 803177a <__kernel_rem_pio2+0x492> - 80317b0: 9a0d ldr r2, [sp, #52] - 80317b2: a950 add r1, sp, #320 - 80317b4: 2300 movs r3, #0 - 80317b6: 9116 str r1, [sp, #88] - 80317b8: 9223 str r2, [sp, #140] - 80317ba: 9315 str r3, [sp, #84] - 80317bc: e022 b.n 8031804 <__kernel_rem_pio2+0x51c> - 80317be: 9a14 ldr r2, [sp, #80] - 80317c0: 3601 adds r6, #1 - 80317c2: e912 0003 ldmdb r2, {r0, r1} - 80317c6: e917 000c ldmdb r7, {r2, r3} - 80317ca: f7fa ffd7 bl 802c77c <__aeabi_dmul> - 80317ce: 4602 mov r2, r0 - 80317d0: 460b mov r3, r1 - 80317d2: 4620 mov r0, r4 - 80317d4: 4629 mov r1, r5 - 80317d6: f7fa fe1f bl 802c418 <__adddf3> - 80317da: 4604 mov r4, r0 - 80317dc: 460d mov r5, r1 - 80317de: 9b0f ldr r3, [sp, #60] - 80317e0: 429e cmp r6, r3 - 80317e2: dc06 bgt.n 80317f2 <__kernel_rem_pio2+0x50a> - 80317e4: 9814 ldr r0, [sp, #80] - 80317e6: 9915 ldr r1, [sp, #84] - 80317e8: 3008 adds r0, #8 - 80317ea: 3708 adds r7, #8 - 80317ec: 428e cmp r6, r1 - 80317ee: 9014 str r0, [sp, #80] - 80317f0: dde5 ble.n 80317be <__kernel_rem_pio2+0x4d6> - 80317f2: 9a16 ldr r2, [sp, #88] - 80317f4: 9b23 ldr r3, [sp, #140] - 80317f6: c230 stmia r2!, {r4, r5} - 80317f8: 9c15 ldr r4, [sp, #84] - 80317fa: 3b01 subs r3, #1 - 80317fc: 3401 adds r4, #1 - 80317fe: 9216 str r2, [sp, #88] - 8031800: 9323 str r3, [sp, #140] - 8031802: 9415 str r4, [sp, #84] - 8031804: 9e23 ldr r6, [sp, #140] - 8031806: 2e00 cmp r6, #0 - 8031808: db08 blt.n 803181c <__kernel_rem_pio2+0x534> - 803180a: 487e ldr r0, [pc, #504] (8031a04 <__kernel_rem_pio2+0x71c>) - 803180c: a928 add r1, sp, #160 - 803180e: eb01 07c6 add.w r7, r1, r6, lsl #3 - 8031812: 9014 str r0, [sp, #80] - 8031814: 2600 movs r6, #0 - 8031816: 2400 movs r4, #0 - 8031818: 2500 movs r5, #0 - 803181a: e7e0 b.n 80317de <__kernel_rem_pio2+0x4f6> - 803181c: 9aba ldr r2, [sp, #744] - 803181e: 2a03 cmp r2, #3 - 8031820: f200 80d9 bhi.w 80319d6 <__kernel_rem_pio2+0x6ee> - 8031824: e8df f002 tbb [pc, r2] - 8031828: 020b0b12 .word 0x020b0b12 - 803182c: 9b0d ldr r3, [sp, #52] - 803182e: 9f0d ldr r7, [sp, #52] - 8031830: 1e5a subs r2, r3, #1 - 8031832: ab50 add r3, sp, #320 - 8031834: eb03 02c2 add.w r2, r3, r2, lsl #3 - 8031838: 9226 str r2, [sp, #152] - 803183a: 4616 mov r6, r2 - 803183c: e067 b.n 803190e <__kernel_rem_pio2+0x626> - 803183e: 9c0d ldr r4, [sp, #52] - 8031840: ab50 add r3, sp, #320 - 8031842: eb03 05c4 add.w r5, r3, r4, lsl #3 - 8031846: 2000 movs r0, #0 - 8031848: 2100 movs r1, #0 - 803184a: e01c b.n 8031886 <__kernel_rem_pio2+0x59e> - 803184c: 9e0d ldr r6, [sp, #52] - 803184e: ab50 add r3, sp, #320 - 8031850: eb03 05c6 add.w r5, r3, r6, lsl #3 - 8031854: 4634 mov r4, r6 - 8031856: 2000 movs r0, #0 - 8031858: 2100 movs r1, #0 - 803185a: e004 b.n 8031866 <__kernel_rem_pio2+0x57e> - 803185c: e9d5 2302 ldrd r2, r3, [r5, #8] - 8031860: f7fa fdda bl 802c418 <__adddf3> - 8031864: 3c01 subs r4, #1 - 8031866: 3d08 subs r5, #8 - 8031868: 2c00 cmp r4, #0 - 803186a: daf7 bge.n 803185c <__kernel_rem_pio2+0x574> - 803186c: 9c13 ldr r4, [sp, #76] - 803186e: b10c cbz r4, 8031874 <__kernel_rem_pio2+0x58c> - 8031870: f101 4100 add.w r1, r1, #2147483648 ; 0x80000000 - 8031874: 9e0b ldr r6, [sp, #44] - 8031876: e886 0003 stmia.w r6, {r0, r1} - 803187a: e0ac b.n 80319d6 <__kernel_rem_pio2+0x6ee> - 803187c: e9d5 2302 ldrd r2, r3, [r5, #8] - 8031880: f7fa fdca bl 802c418 <__adddf3> - 8031884: 3c01 subs r4, #1 - 8031886: 3d08 subs r5, #8 - 8031888: 2c00 cmp r4, #0 - 803188a: daf7 bge.n 803187c <__kernel_rem_pio2+0x594> - 803188c: 9a13 ldr r2, [sp, #76] - 803188e: 4604 mov r4, r0 - 8031890: 460d mov r5, r1 - 8031892: b10a cbz r2, 8031898 <__kernel_rem_pio2+0x5b0> - 8031894: f101 4100 add.w r1, r1, #2147483648 ; 0x80000000 - 8031898: 9b0b ldr r3, [sp, #44] - 803189a: 4622 mov r2, r4 - 803189c: e883 0003 stmia.w r3, {r0, r1} - 80318a0: ab50 add r3, sp, #320 - 80318a2: e893 0003 ldmia.w r3, {r0, r1} - 80318a6: 462b mov r3, r5 - 80318a8: f7fa fdb4 bl 802c414 <__aeabi_dsub> - 80318ac: ad52 add r5, sp, #328 - 80318ae: 2401 movs r4, #1 - 80318b0: e004 b.n 80318bc <__kernel_rem_pio2+0x5d4> - 80318b2: e915 000c ldmdb r5, {r2, r3} - 80318b6: f7fa fdaf bl 802c418 <__adddf3> - 80318ba: 3401 adds r4, #1 - 80318bc: 9e0d ldr r6, [sp, #52] - 80318be: 3508 adds r5, #8 - 80318c0: 42b4 cmp r4, r6 - 80318c2: ddf6 ble.n 80318b2 <__kernel_rem_pio2+0x5ca> - 80318c4: 9c13 ldr r4, [sp, #76] - 80318c6: b10c cbz r4, 80318cc <__kernel_rem_pio2+0x5e4> - 80318c8: f101 4100 add.w r1, r1, #2147483648 ; 0x80000000 - 80318cc: 9e0b ldr r6, [sp, #44] - 80318ce: e9c6 0102 strd r0, r1, [r6, #8] - 80318d2: e080 b.n 80319d6 <__kernel_rem_pio2+0x6ee> - 80318d4: e9d6 4502 ldrd r4, r5, [r6, #8] - 80318d8: e9d6 2304 ldrd r2, r3, [r6, #16] - 80318dc: 4620 mov r0, r4 - 80318de: 4629 mov r1, r5 - 80318e0: f7fa fd9a bl 802c418 <__adddf3> - 80318e4: e9cd 0106 strd r0, r1, [sp, #24] - 80318e8: e9dd 2306 ldrd r2, r3, [sp, #24] - 80318ec: 4620 mov r0, r4 - 80318ee: 4629 mov r1, r5 - 80318f0: f7fa fd90 bl 802c414 <__aeabi_dsub> - 80318f4: 4602 mov r2, r0 - 80318f6: 460b mov r3, r1 - 80318f8: e9d6 0104 ldrd r0, r1, [r6, #16] - 80318fc: f7fa fd8c bl 802c418 <__adddf3> - 8031900: e9c6 0104 strd r0, r1, [r6, #16] - 8031904: e9dd 0106 ldrd r0, r1, [sp, #24] - 8031908: e9c6 0102 strd r0, r1, [r6, #8] - 803190c: 3f01 subs r7, #1 - 803190e: 3e08 subs r6, #8 - 8031910: 2f00 cmp r7, #0 - 8031912: dcdf bgt.n 80318d4 <__kernel_rem_pio2+0x5ec> - 8031914: 990d ldr r1, [sp, #52] - 8031916: 9124 str r1, [sp, #144] - 8031918: e022 b.n 8031960 <__kernel_rem_pio2+0x678> - 803191a: 9b26 ldr r3, [sp, #152] - 803191c: 9a24 ldr r2, [sp, #144] - 803191e: e9d3 0104 ldrd r0, r1, [r3, #16] - 8031922: 3a01 subs r2, #1 - 8031924: e88d 0003 stmia.w sp, {r0, r1} - 8031928: e9d3 4502 ldrd r4, r5, [r3, #8] - 803192c: 9224 str r2, [sp, #144] - 803192e: 4620 mov r0, r4 - 8031930: e89d 000c ldmia.w sp, {r2, r3} - 8031934: 4629 mov r1, r5 - 8031936: f7fa fd6f bl 802c418 <__adddf3> - 803193a: 4606 mov r6, r0 - 803193c: 460f mov r7, r1 - 803193e: 4632 mov r2, r6 - 8031940: 463b mov r3, r7 - 8031942: 4620 mov r0, r4 - 8031944: 4629 mov r1, r5 - 8031946: f7fa fd65 bl 802c414 <__aeabi_dsub> - 803194a: 4602 mov r2, r0 - 803194c: 460b mov r3, r1 - 803194e: e89d 0003 ldmia.w sp, {r0, r1} - 8031952: f7fa fd61 bl 802c418 <__adddf3> - 8031956: 9a26 ldr r2, [sp, #152] - 8031958: e9c2 0104 strd r0, r1, [r2, #16] - 803195c: e9c2 6702 strd r6, r7, [r2, #8] - 8031960: 9b26 ldr r3, [sp, #152] - 8031962: 9c24 ldr r4, [sp, #144] - 8031964: 3b08 subs r3, #8 - 8031966: 2c01 cmp r4, #1 - 8031968: 9326 str r3, [sp, #152] - 803196a: dcd6 bgt.n 803191a <__kernel_rem_pio2+0x632> - 803196c: 9e0d ldr r6, [sp, #52] - 803196e: ab50 add r3, sp, #320 - 8031970: eb03 05c6 add.w r5, r3, r6, lsl #3 - 8031974: 4634 mov r4, r6 - 8031976: 2000 movs r0, #0 - 8031978: 2100 movs r1, #0 - 803197a: e004 b.n 8031986 <__kernel_rem_pio2+0x69e> - 803197c: e9d5 2302 ldrd r2, r3, [r5, #8] - 8031980: f7fa fd4a bl 802c418 <__adddf3> - 8031984: 3c01 subs r4, #1 - 8031986: 3d08 subs r5, #8 - 8031988: 2c01 cmp r4, #1 - 803198a: dcf7 bgt.n 803197c <__kernel_rem_pio2+0x694> - 803198c: 9a13 ldr r2, [sp, #76] - 803198e: f50d 7ca0 add.w ip, sp, #320 ; 0x140 - 8031992: b95a cbnz r2, 80319ac <__kernel_rem_pio2+0x6c4> - 8031994: 9c0b ldr r4, [sp, #44] - 8031996: e89c 000c ldmia.w ip, {r2, r3} - 803199a: e884 000c stmia.w r4, {r2, r3} - 803199e: e9dc 2302 ldrd r2, r3, [ip, #8] - 80319a2: e9c4 0104 strd r0, r1, [r4, #16] - 80319a6: e9c4 2302 strd r2, r3, [r4, #8] - 80319aa: e014 b.n 80319d6 <__kernel_rem_pio2+0x6ee> - 80319ac: f8dc 3000 ldr.w r3, [ip] - 80319b0: 9e0b ldr r6, [sp, #44] - 80319b2: 6033 str r3, [r6, #0] - 80319b4: f8dc 3004 ldr.w r3, [ip, #4] - 80319b8: f103 4300 add.w r3, r3, #2147483648 ; 0x80000000 - 80319bc: 6073 str r3, [r6, #4] - 80319be: f8dc 3008 ldr.w r3, [ip, #8] - 80319c2: 60b3 str r3, [r6, #8] - 80319c4: f8dc 300c ldr.w r3, [ip, #12] - 80319c8: 6130 str r0, [r6, #16] - 80319ca: f103 4300 add.w r3, r3, #2147483648 ; 0x80000000 - 80319ce: 60f3 str r3, [r6, #12] - 80319d0: f101 4300 add.w r3, r1, #2147483648 ; 0x80000000 - 80319d4: 6173 str r3, [r6, #20] - 80319d6: 9910 ldr r1, [sp, #64] - 80319d8: f001 0007 and.w r0, r1, #7 ; 0x7 - 80319dc: f50d 7d35 add.w sp, sp, #724 ; 0x2d4 - 80319e0: bdf0 pop {r4, r5, r6, r7, pc} - 80319e2: 46c0 nop (mov r8, r8) - 80319e4: 08035738 .word 0x08035738 - 80319e8: 2aaaaaab .word 0x2aaaaaab - 80319ec: 3e700000 .word 0x3e700000 - 80319f0: c1700000 .word 0xc1700000 - 80319f4: c0200000 .word 0xc0200000 - 80319f8: 3fe00000 .word 0x3fe00000 - 80319fc: 3ff00000 .word 0x3ff00000 - 8031a00: 41700000 .word 0x41700000 - 8031a04: 08035748 .word 0x08035748 - -08031a08 <__kernel_sin>: - 8031a08: b5f0 push {r4, r5, r6, r7, lr} - 8031a0a: b089 sub sp, #36 - 8031a0c: e9cd 2304 strd r2, r3, [sp, #16] - 8031a10: f021 4300 bic.w r3, r1, #2147483648 ; 0x80000000 - 8031a14: f1b3 5f79 cmp.w r3, #1044381696 ; 0x3e400000 - 8031a18: e9cd 0106 strd r0, r1, [sp, #24] - 8031a1c: da04 bge.n 8031a28 <__kernel_sin+0x20> - 8031a1e: f7fb f945 bl 802ccac <__aeabi_d2iz> - 8031a22: 2800 cmp r0, #0 - 8031a24: f000 8085 beq.w 8031b32 <__kernel_sin+0x12a> - 8031a28: e9dd 0106 ldrd r0, r1, [sp, #24] - 8031a2c: 4602 mov r2, r0 - 8031a2e: 460b mov r3, r1 - 8031a30: f7fa fea4 bl 802c77c <__aeabi_dmul> - 8031a34: e9dd 2306 ldrd r2, r3, [sp, #24] - 8031a38: 4606 mov r6, r0 - 8031a3a: 460f mov r7, r1 - 8031a3c: f7fa fe9e bl 802c77c <__aeabi_dmul> - 8031a40: a23f add r2, pc, #252 (adr r2, 8031b40 <__kernel_sin+0x138>) - 8031a42: ca0c ldmia r2!, {r2, r3} - 8031a44: e9cd 0102 strd r0, r1, [sp, #8] - 8031a48: 4630 mov r0, r6 - 8031a4a: 4639 mov r1, r7 - 8031a4c: f7fa fe96 bl 802c77c <__aeabi_dmul> - 8031a50: a23d add r2, pc, #244 (adr r2, 8031b48 <__kernel_sin+0x140>) - 8031a52: ca0c ldmia r2!, {r2, r3} - 8031a54: f7fa fcde bl 802c414 <__aeabi_dsub> - 8031a58: 4602 mov r2, r0 - 8031a5a: 460b mov r3, r1 - 8031a5c: 4630 mov r0, r6 - 8031a5e: 4639 mov r1, r7 - 8031a60: f7fa fe8c bl 802c77c <__aeabi_dmul> - 8031a64: a23a add r2, pc, #232 (adr r2, 8031b50 <__kernel_sin+0x148>) - 8031a66: ca0c ldmia r2!, {r2, r3} - 8031a68: f7fa fcd6 bl 802c418 <__adddf3> - 8031a6c: 4602 mov r2, r0 - 8031a6e: 460b mov r3, r1 - 8031a70: 4630 mov r0, r6 - 8031a72: 4639 mov r1, r7 - 8031a74: f7fa fe82 bl 802c77c <__aeabi_dmul> - 8031a78: a237 add r2, pc, #220 (adr r2, 8031b58 <__kernel_sin+0x150>) - 8031a7a: ca0c ldmia r2!, {r2, r3} - 8031a7c: f7fa fcca bl 802c414 <__aeabi_dsub> - 8031a80: 4602 mov r2, r0 - 8031a82: 460b mov r3, r1 - 8031a84: 4630 mov r0, r6 - 8031a86: 4639 mov r1, r7 - 8031a88: f7fa fe78 bl 802c77c <__aeabi_dmul> - 8031a8c: a234 add r2, pc, #208 (adr r2, 8031b60 <__kernel_sin+0x158>) - 8031a8e: ca0c ldmia r2!, {r2, r3} - 8031a90: f7fa fcc2 bl 802c418 <__adddf3> - 8031a94: 9b0e ldr r3, [sp, #56] - 8031a96: e88d 0003 stmia.w sp, {r0, r1} - 8031a9a: b9b3 cbnz r3, 8031aca <__kernel_sin+0xc2> - 8031a9c: e89d 000c ldmia.w sp, {r2, r3} - 8031aa0: 4630 mov r0, r6 - 8031aa2: 4639 mov r1, r7 - 8031aa4: f7fa fe6a bl 802c77c <__aeabi_dmul> - 8031aa8: a22f add r2, pc, #188 (adr r2, 8031b68 <__kernel_sin+0x160>) - 8031aaa: ca0c ldmia r2!, {r2, r3} - 8031aac: f7fa fcb2 bl 802c414 <__aeabi_dsub> - 8031ab0: 4602 mov r2, r0 - 8031ab2: 460b mov r3, r1 - 8031ab4: e9dd 0102 ldrd r0, r1, [sp, #8] - 8031ab8: f7fa fe60 bl 802c77c <__aeabi_dmul> - 8031abc: 4602 mov r2, r0 - 8031abe: 460b mov r3, r1 - 8031ac0: e9dd 0106 ldrd r0, r1, [sp, #24] - 8031ac4: f7fa fca8 bl 802c418 <__adddf3> - 8031ac8: e031 b.n 8031b2e <__kernel_sin+0x126> - 8031aca: 2200 movs r2, #0 - 8031acc: 4b28 ldr r3, [pc, #160] (8031b70 <__kernel_sin+0x168>) - 8031ace: e9dd 0104 ldrd r0, r1, [sp, #16] - 8031ad2: f7fa fe53 bl 802c77c <__aeabi_dmul> - 8031ad6: e89d 000c ldmia.w sp, {r2, r3} - 8031ada: 4604 mov r4, r0 - 8031adc: 460d mov r5, r1 - 8031ade: e9dd 0102 ldrd r0, r1, [sp, #8] - 8031ae2: f7fa fe4b bl 802c77c <__aeabi_dmul> - 8031ae6: 4602 mov r2, r0 - 8031ae8: 460b mov r3, r1 - 8031aea: 4620 mov r0, r4 - 8031aec: 4629 mov r1, r5 - 8031aee: f7fa fc91 bl 802c414 <__aeabi_dsub> - 8031af2: 4602 mov r2, r0 - 8031af4: 460b mov r3, r1 - 8031af6: 4630 mov r0, r6 - 8031af8: 4639 mov r1, r7 - 8031afa: f7fa fe3f bl 802c77c <__aeabi_dmul> - 8031afe: e9dd 2304 ldrd r2, r3, [sp, #16] - 8031b02: f7fa fc87 bl 802c414 <__aeabi_dsub> - 8031b06: a218 add r2, pc, #96 (adr r2, 8031b68 <__kernel_sin+0x160>) - 8031b08: ca0c ldmia r2!, {r2, r3} - 8031b0a: 4604 mov r4, r0 - 8031b0c: 460d mov r5, r1 - 8031b0e: e9dd 0102 ldrd r0, r1, [sp, #8] - 8031b12: f7fa fe33 bl 802c77c <__aeabi_dmul> - 8031b16: 4602 mov r2, r0 - 8031b18: 460b mov r3, r1 - 8031b1a: 4620 mov r0, r4 - 8031b1c: 4629 mov r1, r5 - 8031b1e: f7fa fc7b bl 802c418 <__adddf3> - 8031b22: 4602 mov r2, r0 - 8031b24: 460b mov r3, r1 - 8031b26: e9dd 0106 ldrd r0, r1, [sp, #24] - 8031b2a: f7fa fc73 bl 802c414 <__aeabi_dsub> - 8031b2e: e9cd 0106 strd r0, r1, [sp, #24] - 8031b32: e9dd 0106 ldrd r0, r1, [sp, #24] - 8031b36: b009 add sp, #36 - 8031b38: bdf0 pop {r4, r5, r6, r7, pc} - 8031b3a: 46c0 nop (mov r8, r8) - 8031b3c: 46c0 nop (mov r8, r8) - 8031b3e: 46c0 nop (mov r8, r8) - 8031b40: 5acfd57c .word 0x5acfd57c - 8031b44: 3de5d93a .word 0x3de5d93a - 8031b48: 8a2b9ceb .word 0x8a2b9ceb - 8031b4c: 3e5ae5e6 .word 0x3e5ae5e6 - 8031b50: 57b1fe7d .word 0x57b1fe7d - 8031b54: 3ec71de3 .word 0x3ec71de3 - 8031b58: 19c161d5 .word 0x19c161d5 - 8031b5c: 3f2a01a0 .word 0x3f2a01a0 - 8031b60: 1110f8a6 .word 0x1110f8a6 - 8031b64: 3f811111 .word 0x3f811111 - 8031b68: 55555549 .word 0x55555549 - 8031b6c: 3fc55555 .word 0x3fc55555 - 8031b70: 3fe00000 .word 0x3fe00000 - 8031b74: 46c046c0 .word 0x46c046c0 - -08031b78 : - 8031b78: b5f0 push {r4, r5, r6, r7, lr} - 8031b7a: 4bb3 ldr r3, [pc, #716] (8031e48 ) - 8031b7c: f021 4400 bic.w r4, r1, #2147483648 ; 0x80000000 - 8031b80: b087 sub sp, #28 - 8031b82: 429c cmp r4, r3 - 8031b84: 4606 mov r6, r0 - 8031b86: 460f mov r7, r1 - 8031b88: 9104 str r1, [sp, #16] - 8031b8a: dd1b ble.n 8031bc4 - 8031b8c: 4baf ldr r3, [pc, #700] (8031e4c ) - 8031b8e: 429c cmp r4, r3 - 8031b90: dc08 bgt.n 8031ba4 - 8031b92: bf14 ite ne - 8031b94: 2300 movne r3, #0 - 8031b96: 2301 moveq r3, #1 - 8031b98: 2800 cmp r0, #0 - 8031b9a: bf0c ite eq - 8031b9c: 2300 moveq r3, #0 - 8031b9e: f003 0301 andne.w r3, r3, #1 ; 0x1 - 8031ba2: b133 cbz r3, 8031bb2 - 8031ba4: 4630 mov r0, r6 - 8031ba6: 4639 mov r1, r7 - 8031ba8: 4632 mov r2, r6 - 8031baa: 463b mov r3, r7 - 8031bac: f7fa fc34 bl 802c418 <__adddf3> - 8031bb0: e10c b.n 8031dcc - 8031bb2: 9904 ldr r1, [sp, #16] - 8031bb4: 2900 cmp r1, #0 - 8031bb6: dd02 ble.n 8031bbe - 8031bb8: a687 add r6, pc, #540 (adr r6, 8031dd8 ) - 8031bba: cec0 ldmia r6!, {r6, r7} - 8031bbc: e17b b.n 8031eb6 - 8031bbe: a688 add r6, pc, #544 (adr r6, 8031de0 ) - 8031bc0: cec0 ldmia r6!, {r6, r7} - 8031bc2: e178 b.n 8031eb6 - 8031bc4: 4ba2 ldr r3, [pc, #648] (8031e50 ) - 8031bc6: 429c cmp r4, r3 - 8031bc8: dc0f bgt.n 8031bea - 8031bca: f1a3 73de sub.w r3, r3, #29097984 ; 0x1bc0000 - 8031bce: 429c cmp r4, r3 - 8031bd0: dc6f bgt.n 8031cb2 - 8031bd2: a285 add r2, pc, #532 (adr r2, 8031de8 ) - 8031bd4: ca0c ldmia r2!, {r2, r3} - 8031bd6: f7fa fc1f bl 802c418 <__adddf3> - 8031bda: 2200 movs r2, #0 - 8031bdc: 4b9d ldr r3, [pc, #628] (8031e54 ) - 8031bde: f7fb f85b bl 802cc98 <__aeabi_dcmpgt> - 8031be2: 2800 cmp r0, #0 - 8031be4: f040 8167 bne.w 8031eb6 - 8031be8: e063 b.n 8031cb2 - 8031bea: f000 f96d bl 8031ec8 - 8031bee: 4b9a ldr r3, [pc, #616] (8031e58 ) - 8031bf0: 4606 mov r6, r0 - 8031bf2: 429c cmp r4, r3 - 8031bf4: 460f mov r7, r1 - 8031bf6: dc34 bgt.n 8031c62 - 8031bf8: f5a3 2350 sub.w r3, r3, #851968 ; 0xd0000 - 8031bfc: 429c cmp r4, r3 - 8031bfe: dc1a bgt.n 8031c36 - 8031c00: 4632 mov r2, r6 - 8031c02: 463b mov r3, r7 - 8031c04: f7fa fc08 bl 802c418 <__adddf3> - 8031c08: 2200 movs r2, #0 - 8031c0a: 4b92 ldr r3, [pc, #584] (8031e54 ) - 8031c0c: f7fa fc02 bl 802c414 <__aeabi_dsub> - 8031c10: 2200 movs r2, #0 - 8031c12: 4604 mov r4, r0 - 8031c14: 460d mov r5, r1 - 8031c16: 4630 mov r0, r6 - 8031c18: 4639 mov r1, r7 - 8031c1a: f04f 4380 mov.w r3, #1073741824 ; 0x40000000 - 8031c1e: f7fa fbfb bl 802c418 <__adddf3> - 8031c22: 460b mov r3, r1 - 8031c24: 4602 mov r2, r0 - 8031c26: 4629 mov r1, r5 - 8031c28: 4620 mov r0, r4 - 8031c2a: f7fa fed1 bl 802c9d0 <__aeabi_ddiv> - 8031c2e: 2300 movs r3, #0 - 8031c30: 4606 mov r6, r0 - 8031c32: 460f mov r7, r1 - 8031c34: e03f b.n 8031cb6 - 8031c36: 2200 movs r2, #0 - 8031c38: 4b86 ldr r3, [pc, #536] (8031e54 ) - 8031c3a: f7fa fbeb bl 802c414 <__aeabi_dsub> - 8031c3e: 2200 movs r2, #0 - 8031c40: 4604 mov r4, r0 - 8031c42: 460d mov r5, r1 - 8031c44: 4630 mov r0, r6 - 8031c46: 4639 mov r1, r7 - 8031c48: 4b82 ldr r3, [pc, #520] (8031e54 ) - 8031c4a: f7fa fbe5 bl 802c418 <__adddf3> - 8031c4e: 4602 mov r2, r0 - 8031c50: 460b mov r3, r1 - 8031c52: 4620 mov r0, r4 - 8031c54: 4629 mov r1, r5 - 8031c56: f7fa febb bl 802c9d0 <__aeabi_ddiv> - 8031c5a: 460f mov r7, r1 - 8031c5c: 4606 mov r6, r0 - 8031c5e: 2101 movs r1, #1 - 8031c60: e025 b.n 8031cae - 8031c62: 4b7e ldr r3, [pc, #504] (8031e5c ) - 8031c64: 429c cmp r4, r3 - 8031c66: dc19 bgt.n 8031c9c - 8031c68: 2200 movs r2, #0 - 8031c6a: 4b7d ldr r3, [pc, #500] (8031e60 ) - 8031c6c: f7fa fbd2 bl 802c414 <__aeabi_dsub> - 8031c70: 2200 movs r2, #0 - 8031c72: 4604 mov r4, r0 - 8031c74: 460d mov r5, r1 - 8031c76: 4630 mov r0, r6 - 8031c78: 4639 mov r1, r7 - 8031c7a: 4b79 ldr r3, [pc, #484] (8031e60 ) - 8031c7c: f7fa fd7e bl 802c77c <__aeabi_dmul> - 8031c80: 2200 movs r2, #0 - 8031c82: 4b74 ldr r3, [pc, #464] (8031e54 ) - 8031c84: f7fa fbc8 bl 802c418 <__adddf3> - 8031c88: 460b mov r3, r1 - 8031c8a: 4602 mov r2, r0 - 8031c8c: 4629 mov r1, r5 - 8031c8e: 4620 mov r0, r4 - 8031c90: f7fa fe9e bl 802c9d0 <__aeabi_ddiv> - 8031c94: 2302 movs r3, #2 - 8031c96: 4606 mov r6, r0 - 8031c98: 460f mov r7, r1 - 8031c9a: e00c b.n 8031cb6 - 8031c9c: 4632 mov r2, r6 - 8031c9e: 463b mov r3, r7 - 8031ca0: 2000 movs r0, #0 - 8031ca2: 4970 ldr r1, [pc, #448] (8031e64 ) - 8031ca4: f7fa fe94 bl 802c9d0 <__aeabi_ddiv> - 8031ca8: 460f mov r7, r1 - 8031caa: 4606 mov r6, r0 - 8031cac: 2103 movs r1, #3 - 8031cae: 9105 str r1, [sp, #20] - 8031cb0: e002 b.n 8031cb8 - 8031cb2: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 8031cb6: 9305 str r3, [sp, #20] - 8031cb8: 4632 mov r2, r6 - 8031cba: 463b mov r3, r7 - 8031cbc: 4630 mov r0, r6 - 8031cbe: 4639 mov r1, r7 - 8031cc0: f7fa fd5c bl 802c77c <__aeabi_dmul> - 8031cc4: 4602 mov r2, r0 - 8031cc6: 460b mov r3, r1 - 8031cc8: e9cd 0102 strd r0, r1, [sp, #8] - 8031ccc: f7fa fd56 bl 802c77c <__aeabi_dmul> - 8031cd0: a247 add r2, pc, #284 (adr r2, 8031df0 ) - 8031cd2: ca0c ldmia r2!, {r2, r3} - 8031cd4: 4604 mov r4, r0 - 8031cd6: 460d mov r5, r1 - 8031cd8: f7fa fd50 bl 802c77c <__aeabi_dmul> - 8031cdc: a246 add r2, pc, #280 (adr r2, 8031df8 ) - 8031cde: ca0c ldmia r2!, {r2, r3} - 8031ce0: f7fa fb9a bl 802c418 <__adddf3> - 8031ce4: 4602 mov r2, r0 - 8031ce6: 460b mov r3, r1 - 8031ce8: 4620 mov r0, r4 - 8031cea: 4629 mov r1, r5 - 8031cec: f7fa fd46 bl 802c77c <__aeabi_dmul> - 8031cf0: a243 add r2, pc, #268 (adr r2, 8031e00 ) - 8031cf2: ca0c ldmia r2!, {r2, r3} - 8031cf4: f7fa fb90 bl 802c418 <__adddf3> - 8031cf8: 4602 mov r2, r0 - 8031cfa: 460b mov r3, r1 - 8031cfc: 4620 mov r0, r4 - 8031cfe: 4629 mov r1, r5 - 8031d00: f7fa fd3c bl 802c77c <__aeabi_dmul> - 8031d04: a240 add r2, pc, #256 (adr r2, 8031e08 ) - 8031d06: ca0c ldmia r2!, {r2, r3} - 8031d08: f7fa fb86 bl 802c418 <__adddf3> - 8031d0c: 4602 mov r2, r0 - 8031d0e: 460b mov r3, r1 - 8031d10: 4620 mov r0, r4 - 8031d12: 4629 mov r1, r5 - 8031d14: f7fa fd32 bl 802c77c <__aeabi_dmul> - 8031d18: a23d add r2, pc, #244 (adr r2, 8031e10 ) - 8031d1a: ca0c ldmia r2!, {r2, r3} - 8031d1c: f7fa fb7c bl 802c418 <__adddf3> - 8031d20: 4602 mov r2, r0 - 8031d22: 460b mov r3, r1 - 8031d24: 4620 mov r0, r4 - 8031d26: 4629 mov r1, r5 - 8031d28: f7fa fd28 bl 802c77c <__aeabi_dmul> - 8031d2c: a23a add r2, pc, #232 (adr r2, 8031e18 ) - 8031d2e: ca0c ldmia r2!, {r2, r3} - 8031d30: f7fa fb72 bl 802c418 <__adddf3> - 8031d34: 4602 mov r2, r0 - 8031d36: 460b mov r3, r1 - 8031d38: e9dd 0102 ldrd r0, r1, [sp, #8] - 8031d3c: f7fa fd1e bl 802c77c <__aeabi_dmul> - 8031d40: a237 add r2, pc, #220 (adr r2, 8031e20 ) - 8031d42: ca0c ldmia r2!, {r2, r3} - 8031d44: e88d 0003 stmia.w sp, {r0, r1} - 8031d48: 4620 mov r0, r4 - 8031d4a: 4629 mov r1, r5 - 8031d4c: f7fa fd16 bl 802c77c <__aeabi_dmul> - 8031d50: a235 add r2, pc, #212 (adr r2, 8031e28 ) - 8031d52: ca0c ldmia r2!, {r2, r3} - 8031d54: f7fa fb5e bl 802c414 <__aeabi_dsub> - 8031d58: 4602 mov r2, r0 - 8031d5a: 460b mov r3, r1 - 8031d5c: 4620 mov r0, r4 - 8031d5e: 4629 mov r1, r5 - 8031d60: f7fa fd0c bl 802c77c <__aeabi_dmul> - 8031d64: a232 add r2, pc, #200 (adr r2, 8031e30 ) - 8031d66: ca0c ldmia r2!, {r2, r3} - 8031d68: f7fa fb54 bl 802c414 <__aeabi_dsub> - 8031d6c: 4602 mov r2, r0 - 8031d6e: 460b mov r3, r1 - 8031d70: 4620 mov r0, r4 - 8031d72: 4629 mov r1, r5 - 8031d74: f7fa fd02 bl 802c77c <__aeabi_dmul> - 8031d78: a22f add r2, pc, #188 (adr r2, 8031e38 ) - 8031d7a: ca0c ldmia r2!, {r2, r3} - 8031d7c: f7fa fb4a bl 802c414 <__aeabi_dsub> - 8031d80: 4602 mov r2, r0 - 8031d82: 460b mov r3, r1 - 8031d84: 4620 mov r0, r4 - 8031d86: 4629 mov r1, r5 - 8031d88: f7fa fcf8 bl 802c77c <__aeabi_dmul> - 8031d8c: a22c add r2, pc, #176 (adr r2, 8031e40 ) - 8031d8e: ca0c ldmia r2!, {r2, r3} - 8031d90: f7fa fb40 bl 802c414 <__aeabi_dsub> - 8031d94: 4602 mov r2, r0 - 8031d96: 460b mov r3, r1 - 8031d98: 4620 mov r0, r4 - 8031d9a: 4629 mov r1, r5 - 8031d9c: f7fa fcee bl 802c77c <__aeabi_dmul> - 8031da0: 460b mov r3, r1 - 8031da2: 9905 ldr r1, [sp, #20] - 8031da4: 4602 mov r2, r0 - 8031da6: f1b1 3fff cmp.w r1, #4294967295 ; 0xffffffff - 8031daa: d15d bne.n 8031e68 - 8031dac: e89d 0003 ldmia.w sp, {r0, r1} - 8031db0: f7fa fb32 bl 802c418 <__adddf3> - 8031db4: 4602 mov r2, r0 - 8031db6: 460b mov r3, r1 - 8031db8: 4630 mov r0, r6 - 8031dba: 4639 mov r1, r7 - 8031dbc: f7fa fcde bl 802c77c <__aeabi_dmul> - 8031dc0: 4602 mov r2, r0 - 8031dc2: 460b mov r3, r1 - 8031dc4: 4630 mov r0, r6 - 8031dc6: 4639 mov r1, r7 - 8031dc8: f7fa fb24 bl 802c414 <__aeabi_dsub> - 8031dcc: 4606 mov r6, r0 - 8031dce: 460f mov r7, r1 - 8031dd0: e071 b.n 8031eb6 - 8031dd2: 46c0 nop (mov r8, r8) - 8031dd4: 46c0 nop (mov r8, r8) - 8031dd6: 46c0 nop (mov r8, r8) - 8031dd8: 54442d18 .word 0x54442d18 - 8031ddc: 3ff921fb .word 0x3ff921fb - 8031de0: 54442d18 .word 0x54442d18 - 8031de4: bff921fb .word 0xbff921fb - 8031de8: 8800759c .word 0x8800759c - 8031dec: 7e37e43c .word 0x7e37e43c - 8031df0: e322da11 .word 0xe322da11 - 8031df4: 3f90ad3a .word 0x3f90ad3a - 8031df8: 24760deb .word 0x24760deb - 8031dfc: 3fa97b4b .word 0x3fa97b4b - 8031e00: a0d03d51 .word 0xa0d03d51 - 8031e04: 3fb10d66 .word 0x3fb10d66 - 8031e08: c54c206e .word 0xc54c206e - 8031e0c: 3fb745cd .word 0x3fb745cd - 8031e10: 920083ff .word 0x920083ff - 8031e14: 3fc24924 .word 0x3fc24924 - 8031e18: 5555550d .word 0x5555550d - 8031e1c: 3fd55555 .word 0x3fd55555 - 8031e20: 2c6a6c2f .word 0x2c6a6c2f - 8031e24: bfa2b444 .word 0xbfa2b444 - 8031e28: 52defd9a .word 0x52defd9a - 8031e2c: 3fadde2d .word 0x3fadde2d - 8031e30: af749a6d .word 0xaf749a6d - 8031e34: 3fb3b0f2 .word 0x3fb3b0f2 - 8031e38: fe231671 .word 0xfe231671 - 8031e3c: 3fbc71c6 .word 0x3fbc71c6 - 8031e40: 9998ebc4 .word 0x9998ebc4 - 8031e44: 3fc99999 .word 0x3fc99999 - 8031e48: 440fffff .word 0x440fffff - 8031e4c: 7ff00000 .word 0x7ff00000 - 8031e50: 3fdbffff .word 0x3fdbffff - 8031e54: 3ff00000 .word 0x3ff00000 - 8031e58: 3ff2ffff .word 0x3ff2ffff - 8031e5c: 40037fff .word 0x40037fff - 8031e60: 3ff80000 .word 0x3ff80000 - 8031e64: bff00000 .word 0xbff00000 - 8031e68: 9905 ldr r1, [sp, #20] - 8031e6a: 4c15 ldr r4, [pc, #84] (8031ec0 ) - 8031e6c: 00cd lsls r5, r1, #3 - 8031e6e: e89d 0003 ldmia.w sp, {r0, r1} - 8031e72: f7fa fad1 bl 802c418 <__adddf3> - 8031e76: 4602 mov r2, r0 - 8031e78: 460b mov r3, r1 - 8031e7a: 4630 mov r0, r6 - 8031e7c: 4639 mov r1, r7 - 8031e7e: f7fa fc7d bl 802c77c <__aeabi_dmul> - 8031e82: 4b10 ldr r3, [pc, #64] (8031ec4 ) - 8031e84: 1964 adds r4, r4, r5 - 8031e86: 195b adds r3, r3, r5 - 8031e88: cb0c ldmia r3!, {r2, r3} - 8031e8a: f7fa fac3 bl 802c414 <__aeabi_dsub> - 8031e8e: 4632 mov r2, r6 - 8031e90: 463b mov r3, r7 - 8031e92: f7fa fabf bl 802c414 <__aeabi_dsub> - 8031e96: 4602 mov r2, r0 - 8031e98: 460b mov r3, r1 - 8031e9a: e894 0003 ldmia.w r4, {r0, r1} - 8031e9e: f7fa fab9 bl 802c414 <__aeabi_dsub> - 8031ea2: 9b04 ldr r3, [sp, #16] - 8031ea4: 2b00 cmp r3, #0 - 8031ea6: bfa7 ittee ge - 8031ea8: 4602 movge r2, r0 - 8031eaa: 460b movge r3, r1 - 8031eac: 4602 movlt r2, r0 - 8031eae: f101 4300 addlt.w r3, r1, #2147483648 ; 0x80000000 - 8031eb2: 4616 mov r6, r2 - 8031eb4: 461f mov r7, r3 - 8031eb6: 4630 mov r0, r6 - 8031eb8: 4639 mov r1, r7 - 8031eba: b007 add sp, #28 - 8031ebc: bdf0 pop {r4, r5, r6, r7, pc} - 8031ebe: 46c0 nop (mov r8, r8) - 8031ec0: 08035788 .word 0x08035788 - 8031ec4: 080357a8 .word 0x080357a8 - -08031ec8 : - 8031ec8: f021 4300 bic.w r3, r1, #2147483648 ; 0x80000000 - 8031ecc: b530 push {r4, r5, lr} - 8031ece: 460d mov r5, r1 - 8031ed0: 4604 mov r4, r0 - 8031ed2: 4619 mov r1, r3 - 8031ed4: bd30 pop {r4, r5, pc} - 8031ed6: 46c0 nop (mov r8, r8) - -08031ed8 : - 8031ed8: b5f0 push {r4, r5, r6, r7, lr} - 8031eda: 150b asrs r3, r1, #20 - 8031edc: 055b lsls r3, r3, #21 - 8031ede: 0d5b lsrs r3, r3, #21 - 8031ee0: f5a3 757e sub.w r5, r3, #1016 ; 0x3f8 - 8031ee4: 3d07 subs r5, #7 - 8031ee6: b083 sub sp, #12 - 8031ee8: 2d13 cmp r5, #19 - 8031eea: 460c mov r4, r1 - 8031eec: 9001 str r0, [sp, #4] - 8031eee: 4606 mov r6, r0 - 8031ef0: dc32 bgt.n 8031f58 - 8031ef2: 2d00 cmp r5, #0 - 8031ef4: da14 bge.n 8031f20 - 8031ef6: a230 add r2, pc, #192 (adr r2, 8031fb8 ) - 8031ef8: ca0c ldmia r2!, {r2, r3} - 8031efa: f7fa fa8d bl 802c418 <__adddf3> - 8031efe: 2200 movs r2, #0 - 8031f00: 2300 movs r3, #0 - 8031f02: f7fa fec9 bl 802cc98 <__aeabi_dcmpgt> - 8031f06: 2800 cmp r0, #0 - 8031f08: d051 beq.n 8031fae - 8031f0a: 2c00 cmp r4, #0 - 8031f0c: db01 blt.n 8031f12 - 8031f0e: 2400 movs r4, #0 - 8031f10: e020 b.n 8031f54 - 8031f12: f024 4300 bic.w r3, r4, #2147483648 ; 0x80000000 - 8031f16: 4333 orrs r3, r6 - 8031f18: 4b29 ldr r3, [pc, #164] (8031fc0 ) - 8031f1a: bf18 it ne - 8031f1c: 461c movne r4, r3 - 8031f1e: e019 b.n 8031f54 - 8031f20: 4b28 ldr r3, [pc, #160] (8031fc4 ) - 8031f22: 9a01 ldr r2, [sp, #4] - 8031f24: fa53 f705 asrs.w r7, r3, r5 - 8031f28: ea07 0301 and.w r3, r7, r1 - 8031f2c: 431a orrs r2, r3 - 8031f2e: d040 beq.n 8031fb2 - 8031f30: a221 add r2, pc, #132 (adr r2, 8031fb8 ) - 8031f32: ca0c ldmia r2!, {r2, r3} - 8031f34: f7fa fa70 bl 802c418 <__adddf3> - 8031f38: 2200 movs r2, #0 - 8031f3a: 2300 movs r3, #0 - 8031f3c: f7fa feac bl 802cc98 <__aeabi_dcmpgt> - 8031f40: 2800 cmp r0, #0 - 8031f42: d034 beq.n 8031fae - 8031f44: 2c00 cmp r4, #0 - 8031f46: da03 bge.n 8031f50 - 8031f48: f44f 1380 mov.w r3, #1048576 ; 0x100000 - 8031f4c: 412b asrs r3, r5 - 8031f4e: 18e4 adds r4, r4, r3 - 8031f50: ea24 0407 bic.w r4, r4, r7 - 8031f54: 2600 movs r6, #0 - 8031f56: e02a b.n 8031fae - 8031f58: 2d33 cmp r5, #51 - 8031f5a: dd07 ble.n 8031f6c - 8031f5c: f5b5 6f80 cmp.w r5, #1024 ; 0x400 - 8031f60: d127 bne.n 8031fb2 - 8031f62: 4602 mov r2, r0 - 8031f64: 460b mov r3, r1 - 8031f66: f7fa fa57 bl 802c418 <__adddf3> - 8031f6a: e022 b.n 8031fb2 - 8031f6c: f5a3 6382 sub.w r3, r3, #1040 ; 0x410 - 8031f70: 3b03 subs r3, #3 - 8031f72: f04f 32ff mov.w r2, #4294967295 ; 0xffffffff - 8031f76: fa32 f703 lsrs.w r7, r2, r3 - 8031f7a: 4207 tst r7, r0 - 8031f7c: d019 beq.n 8031fb2 - 8031f7e: a20e add r2, pc, #56 (adr r2, 8031fb8 ) - 8031f80: ca0c ldmia r2!, {r2, r3} - 8031f82: f7fa fa49 bl 802c418 <__adddf3> - 8031f86: 2200 movs r2, #0 - 8031f88: 2300 movs r3, #0 - 8031f8a: f7fa fe85 bl 802cc98 <__aeabi_dcmpgt> - 8031f8e: b170 cbz r0, 8031fae - 8031f90: 2c00 cmp r4, #0 - 8031f92: da0a bge.n 8031faa - 8031f94: 2d14 cmp r5, #20 - 8031f96: d007 beq.n 8031fa8 - 8031f98: 2301 movs r3, #1 - 8031f9a: f1c5 0234 rsb r2, r5, #52 ; 0x34 - 8031f9e: 4093 lsls r3, r2 - 8031fa0: 18f6 adds r6, r6, r3 - 8031fa2: 9b01 ldr r3, [sp, #4] - 8031fa4: 429e cmp r6, r3 - 8031fa6: d200 bcs.n 8031faa - 8031fa8: 3401 adds r4, #1 - 8031faa: ea26 0607 bic.w r6, r6, r7 - 8031fae: 4630 mov r0, r6 - 8031fb0: 4621 mov r1, r4 - 8031fb2: b003 add sp, #12 - 8031fb4: bdf0 pop {r4, r5, r6, r7, pc} - 8031fb6: 46c0 nop (mov r8, r8) - 8031fb8: 8800759c .word 0x8800759c - 8031fbc: 7e37e43c .word 0x7e37e43c - 8031fc0: bff00000 .word 0xbff00000 - 8031fc4: 000fffff .word 0x000fffff - -08031fc8 <__isnand>: - 8031fc8: 460b mov r3, r1 - 8031fca: f1c0 0100 rsb r1, r0, #0 ; 0x0 - 8031fce: 4301 orrs r1, r0 - 8031fd0: f023 4000 bic.w r0, r3, #2147483648 ; 0x80000000 - 8031fd4: ea40 70d1 orr.w r0, r0, r1, lsr #31 - 8031fd8: f1c0 40fe rsb r0, r0, #2130706432 ; 0x7f000000 - 8031fdc: f500 0070 add.w r0, r0, #15728640 ; 0xf00000 - 8031fe0: 0fc0 lsrs r0, r0, #31 - 8031fe2: 4770 bx lr - -08031fe4 : - 8031fe4: 2000 movs r0, #0 - 8031fe6: 4770 bx lr - -08031fe8 : - 8031fe8: b5f0 push {r4, r5, r6, r7, lr} - 8031fea: 4b37 ldr r3, [pc, #220] (80320c8 ) - 8031fec: 460d mov r5, r1 - 8031fee: ea05 0303 and.w r3, r5, r3 - 8031ff2: 4617 mov r7, r2 - 8031ff4: b081 sub sp, #4 - 8031ff6: 4604 mov r4, r0 - 8031ff8: 460e mov r6, r1 - 8031ffa: 151a asrs r2, r3, #20 - 8031ffc: b973 cbnz r3, 803201c - 8031ffe: f025 4300 bic.w r3, r5, #2147483648 ; 0x80000000 - 8032002: 4303 orrs r3, r0 - 8032004: d054 beq.n 80320b0 - 8032006: 4629 mov r1, r5 - 8032008: 2200 movs r2, #0 - 803200a: 4b30 ldr r3, [pc, #192] (80320cc ) - 803200c: f7fa fbb6 bl 802c77c <__aeabi_dmul> - 8032010: 4b2f ldr r3, [pc, #188] (80320d0 ) - 8032012: 4604 mov r4, r0 - 8032014: 429f cmp r7, r3 - 8032016: 460d mov r5, r1 - 8032018: da0a bge.n 8032030 - 803201a: e037 b.n 803208c - 803201c: f240 73ff movw r3, #2047 ; 0x7ff - 8032020: 429a cmp r2, r3 - 8032022: d10c bne.n 803203e - 8032024: 4629 mov r1, r5 - 8032026: 4602 mov r2, r0 - 8032028: 462b mov r3, r5 - 803202a: f7fa f9f5 bl 802c418 <__adddf3> - 803202e: e03d b.n 80320ac - 8032030: 4b25 ldr r3, [pc, #148] (80320c8 ) - 8032032: 460e mov r6, r1 - 8032034: ea01 0303 and.w r3, r1, r3 - 8032038: 151b asrs r3, r3, #20 - 803203a: f1a3 0236 sub.w r2, r3, #54 ; 0x36 - 803203e: eb02 0c07 add.w ip, r2, r7 - 8032042: f240 73fe movw r3, #2046 ; 0x7fe - 8032046: 459c cmp ip, r3 - 8032048: dc11 bgt.n 803206e - 803204a: f1bc 0f00 cmp.w ip, #0 ; 0x0 - 803204e: dd07 ble.n 8032060 - 8032050: f026 41fe bic.w r1, r6, #2130706432 ; 0x7f000000 - 8032054: f421 0170 bic.w r1, r1, #15728640 ; 0xf00000 - 8032058: ea41 530c orr.w r3, r1, ip, lsl #20 - 803205c: 461d mov r5, r3 - 803205e: e027 b.n 80320b0 - 8032060: f11c 0f35 cmn.w ip, #53 ; 0x35 - 8032064: da15 bge.n 8032092 - 8032066: f24c 3350 movw r3, #50000 ; 0xc350 - 803206a: 429f cmp r7, r3 - 803206c: dd08 ble.n 8032080 - 803206e: 4622 mov r2, r4 - 8032070: 462b mov r3, r5 - 8032072: a011 add r0, pc, #68 (adr r0, 80320b8 ) - 8032074: c803 ldmia r0!, {r0, r1} - 8032076: f000 f82f bl 80320d8 - 803207a: a20f add r2, pc, #60 (adr r2, 80320b8 ) - 803207c: ca0c ldmia r2!, {r2, r3} - 803207e: e013 b.n 80320a8 - 8032080: a00f add r0, pc, #60 (adr r0, 80320c0 ) - 8032082: c803 ldmia r0!, {r0, r1} - 8032084: 4622 mov r2, r4 - 8032086: 462b mov r3, r5 - 8032088: f000 f826 bl 80320d8 - 803208c: a20c add r2, pc, #48 (adr r2, 80320c0 ) - 803208e: ca0c ldmia r2!, {r2, r3} - 8032090: e00a b.n 80320a8 - 8032092: f026 43fe bic.w r3, r6, #2130706432 ; 0x7f000000 - 8032096: f10c 0236 add.w r2, ip, #54 ; 0x36 - 803209a: f423 0370 bic.w r3, r3, #15728640 ; 0xf00000 - 803209e: ea43 5102 orr.w r1, r3, r2, lsl #20 - 80320a2: 4b0c ldr r3, [pc, #48] (80320d4 ) - 80320a4: 4620 mov r0, r4 - 80320a6: 2200 movs r2, #0 - 80320a8: f7fa fb68 bl 802c77c <__aeabi_dmul> - 80320ac: 4604 mov r4, r0 - 80320ae: 460d mov r5, r1 - 80320b0: 4620 mov r0, r4 - 80320b2: 4629 mov r1, r5 - 80320b4: b001 add sp, #4 - 80320b6: bdf0 pop {r4, r5, r6, r7, pc} - 80320b8: 8800759c .word 0x8800759c - 80320bc: 7e37e43c .word 0x7e37e43c - 80320c0: c2f8f359 .word 0xc2f8f359 - 80320c4: 01a56e1f .word 0x01a56e1f - 80320c8: 7ff00000 .word 0x7ff00000 - 80320cc: 43500000 .word 0x43500000 - 80320d0: ffff3cb0 .word 0xffff3cb0 - 80320d4: 3c900000 .word 0x3c900000 - -080320d8 : - 80320d8: b5f0 push {r4, r5, r6, r7, lr} - 80320da: 4606 mov r6, r0 - 80320dc: 460f mov r7, r1 - 80320de: f003 4000 and.w r0, r3, #2147483648 ; 0x80000000 - 80320e2: f021 4100 bic.w r1, r1, #2147483648 ; 0x80000000 - 80320e6: 461d mov r5, r3 - 80320e8: ea40 0301 orr.w r3, r0, r1 - 80320ec: 4614 mov r4, r2 - 80320ee: 4630 mov r0, r6 - 80320f0: 4619 mov r1, r3 - 80320f2: bdf0 pop {r4, r5, r6, r7, pc} - -080320f4 : - 80320f4: 2006 movs r0, #6 - 80320f6: f000 ffb1 bl 803305c - 80320fa: 2001 movs r0, #1 - 80320fc: f7f7 fa44 bl 8029588 <_exit> - -08032100 <__errno>: - 8032100: 4b01 ldr r3, [pc, #4] (8032108 <__errno+0x8>) - 8032102: 6818 ldr r0, [r3, #0] - 8032104: 300c adds r0, #12 - 8032106: 4770 bx lr - 8032108: 20000050 .word 0x20000050 - -0803210c <_fputc_r>: - 803210c: b570 push {r4, r5, r6, lr} - 803210e: 4604 mov r4, r0 - 8032110: 460e mov r6, r1 - 8032112: 4615 mov r5, r2 - 8032114: b118 cbz r0, 803211e <_fputc_r+0x12> - 8032116: 6983 ldr r3, [r0, #24] - 8032118: b90b cbnz r3, 803211e <_fputc_r+0x12> - 803211a: f001 faf9 bl 8033710 <__sinit> - 803211e: 4b0a ldr r3, [pc, #40] (8032148 <_fputc_r+0x3c>) - 8032120: 429d cmp r5, r3 - 8032122: bf08 it eq - 8032124: 6825 ldreq r5, [r4, #0] - 8032126: d008 beq.n 803213a <_fputc_r+0x2e> - 8032128: 4b08 ldr r3, [pc, #32] (803214c <_fputc_r+0x40>) - 803212a: 429d cmp r5, r3 - 803212c: bf08 it eq - 803212e: 6865 ldreq r5, [r4, #4] - 8032130: d003 beq.n 803213a <_fputc_r+0x2e> - 8032132: 4b07 ldr r3, [pc, #28] (8032150 <_fputc_r+0x44>) - 8032134: 429d cmp r5, r3 - 8032136: bf08 it eq - 8032138: 68a5 ldreq r5, [r4, #8] - 803213a: 4620 mov r0, r4 - 803213c: 4631 mov r1, r6 - 803213e: 462a mov r2, r5 - 8032140: f000 fcc6 bl 8032ad0 <_putc_r> - 8032144: bd70 pop {r4, r5, r6, pc} - 8032146: 46c0 nop (mov r8, r8) - 8032148: 080357d0 .word 0x080357d0 - 803214c: 080357f0 .word 0x080357f0 - 8032150: 08035810 .word 0x08035810 - -08032154 : - 8032154: b500 push {lr} - 8032156: 4b05 ldr r3, [pc, #20] (803216c ) - 8032158: 4684 mov ip, r0 - 803215a: 460a mov r2, r1 - 803215c: b081 sub sp, #4 - 803215e: 6818 ldr r0, [r3, #0] - 8032160: 4661 mov r1, ip - 8032162: f7ff ffd3 bl 803210c <_fputc_r> - 8032166: b001 add sp, #4 - 8032168: bd00 pop {pc} - 803216a: 46c0 nop (mov r8, r8) - 803216c: 20000050 .word 0x20000050 - -08032170 <_fputs_r>: - 8032170: b530 push {r4, r5, lr} - 8032172: 4605 mov r5, r0 - 8032174: b087 sub sp, #28 - 8032176: 4608 mov r0, r1 - 8032178: 4614 mov r4, r2 - 803217a: 9104 str r1, [sp, #16] - 803217c: f001 f824 bl 80331c8 - 8032180: ab04 add r3, sp, #16 - 8032182: 9301 str r3, [sp, #4] - 8032184: 2301 movs r3, #1 - 8032186: 9003 str r0, [sp, #12] - 8032188: 9005 str r0, [sp, #20] - 803218a: 9302 str r3, [sp, #8] - 803218c: b125 cbz r5, 8032198 <_fputs_r+0x28> - 803218e: 69ab ldr r3, [r5, #24] - 8032190: b913 cbnz r3, 8032198 <_fputs_r+0x28> - 8032192: 4628 mov r0, r5 - 8032194: f001 fabc bl 8033710 <__sinit> - 8032198: 4b10 ldr r3, [pc, #64] (80321dc <_fputs_r+0x6c>) - 803219a: 429c cmp r4, r3 - 803219c: bf08 it eq - 803219e: 682c ldreq r4, [r5, #0] - 80321a0: d008 beq.n 80321b4 <_fputs_r+0x44> - 80321a2: 4b0f ldr r3, [pc, #60] (80321e0 <_fputs_r+0x70>) - 80321a4: 429c cmp r4, r3 - 80321a6: bf08 it eq - 80321a8: 686c ldreq r4, [r5, #4] - 80321aa: d003 beq.n 80321b4 <_fputs_r+0x44> - 80321ac: 4b0d ldr r3, [pc, #52] (80321e4 <_fputs_r+0x74>) - 80321ae: 429c cmp r4, r3 - 80321b0: bf08 it eq - 80321b2: 68ac ldreq r4, [r5, #8] - 80321b4: 89a3 ldrh r3, [r4, #12] - 80321b6: 4628 mov r0, r5 - 80321b8: f413 5f00 tst.w r3, #8192 ; 0x2000 - 80321bc: bf02 ittt eq - 80321be: f443 5300 orreq.w r3, r3, #8192 ; 0x2000 - 80321c2: 81a3 strheq r3, [r4, #12] - 80321c4: 6e63 ldreq r3, [r4, #100] - 80321c6: 4621 mov r1, r4 - 80321c8: bf04 itt eq - 80321ca: f423 5300 biceq.w r3, r3, #8192 ; 0x2000 - 80321ce: 6663 streq r3, [r4, #100] - 80321d0: aa01 add r2, sp, #4 - 80321d2: f000 f817 bl 8032204 <__sfvwrite_r> - 80321d6: b007 add sp, #28 - 80321d8: bd30 pop {r4, r5, pc} - 80321da: 46c0 nop (mov r8, r8) - 80321dc: 080357d0 .word 0x080357d0 - 80321e0: 080357f0 .word 0x080357f0 - 80321e4: 08035810 .word 0x08035810 - -080321e8 : - 80321e8: b500 push {lr} - 80321ea: 4b05 ldr r3, [pc, #20] (8032200 ) - 80321ec: 4684 mov ip, r0 - 80321ee: 460a mov r2, r1 - 80321f0: b081 sub sp, #4 - 80321f2: 6818 ldr r0, [r3, #0] - 80321f4: 4661 mov r1, ip - 80321f6: f7ff ffbb bl 8032170 <_fputs_r> - 80321fa: b001 add sp, #4 - 80321fc: bd00 pop {pc} - 80321fe: 46c0 nop (mov r8, r8) - 8032200: 20000050 .word 0x20000050 - -08032204 <__sfvwrite_r>: - 8032204: b5f0 push {r4, r5, r6, r7, lr} - 8032206: 6893 ldr r3, [r2, #8] - 8032208: b089 sub sp, #36 - 803220a: 9001 str r0, [sp, #4] - 803220c: 460d mov r5, r1 - 803220e: 9200 str r2, [sp, #0] - 8032210: 2b00 cmp r3, #0 - 8032212: f000 815b beq.w 80324cc <__sfvwrite_r+0x2c8> - 8032216: 898b ldrh r3, [r1, #12] - 8032218: f013 0f08 tst.w r3, #8 ; 0x8 - 803221c: d001 beq.n 8032222 <__sfvwrite_r+0x1e> - 803221e: 690b ldr r3, [r1, #16] - 8032220: b963 cbnz r3, 803223c <__sfvwrite_r+0x38> - 8032222: 9801 ldr r0, [sp, #4] - 8032224: 4629 mov r1, r5 - 8032226: f001 f891 bl 803334c <__swsetup_r> - 803222a: b138 cbz r0, 803223c <__sfvwrite_r+0x38> - 803222c: 89ab ldrh r3, [r5, #12] - 803222e: 9801 ldr r0, [sp, #4] - 8032230: f043 0340 orr.w r3, r3, #64 ; 0x40 - 8032234: 81ab strh r3, [r5, #12] - 8032236: 2309 movs r3, #9 - 8032238: 60c3 str r3, [r0, #12] - 803223a: e144 b.n 80324c6 <__sfvwrite_r+0x2c2> - 803223c: 9a00 ldr r2, [sp, #0] - 803223e: 89ab ldrh r3, [r5, #12] - 8032240: 6812 ldr r2, [r2, #0] - 8032242: f013 0f02 tst.w r3, #2 ; 0x2 - 8032246: 9202 str r2, [sp, #8] - 8032248: d021 beq.n 803228e <__sfvwrite_r+0x8a> - 803224a: 2600 movs r6, #0 - 803224c: 2700 movs r7, #0 - 803224e: e004 b.n 803225a <__sfvwrite_r+0x56> - 8032250: 9b02 ldr r3, [sp, #8] - 8032252: 681f ldr r7, [r3, #0] - 8032254: 685e ldr r6, [r3, #4] - 8032256: 3308 adds r3, #8 - 8032258: 9302 str r3, [sp, #8] - 803225a: 2e00 cmp r6, #0 - 803225c: d0f8 beq.n 8032250 <__sfvwrite_r+0x4c> - 803225e: f5b6 7f80 cmp.w r6, #256 ; 0x100 - 8032262: bf34 ite cc - 8032264: 4633 movcc r3, r6 - 8032266: f44f 7380 movcs.w r3, #256 ; 0x100 - 803226a: 6a29 ldr r1, [r5, #32] - 803226c: 6aac ldr r4, [r5, #40] - 803226e: 9801 ldr r0, [sp, #4] - 8032270: 463a mov r2, r7 - 8032272: 47a0 blx r4 - 8032274: 2800 cmp r0, #0 - 8032276: f340 8122 ble.w 80324be <__sfvwrite_r+0x2ba> - 803227a: 9a00 ldr r2, [sp, #0] - 803227c: 6893 ldr r3, [r2, #8] - 803227e: 1a1b subs r3, r3, r0 - 8032280: 6093 str r3, [r2, #8] - 8032282: 2b00 cmp r3, #0 - 8032284: f000 8122 beq.w 80324cc <__sfvwrite_r+0x2c8> - 8032288: 183f adds r7, r7, r0 - 803228a: 1a36 subs r6, r6, r0 - 803228c: e7e5 b.n 803225a <__sfvwrite_r+0x56> - 803228e: f013 0f01 tst.w r3, #1 ; 0x1 - 8032292: d005 beq.n 80322a0 <__sfvwrite_r+0x9c> - 8032294: 2700 movs r7, #0 - 8032296: 2300 movs r3, #0 - 8032298: 9306 str r3, [sp, #24] - 803229a: 9703 str r7, [sp, #12] - 803229c: 9704 str r7, [sp, #16] - 803229e: e0aa b.n 80323f6 <__sfvwrite_r+0x1f2> - 80322a0: 2600 movs r6, #0 - 80322a2: 9607 str r6, [sp, #28] - 80322a4: e006 b.n 80322b4 <__sfvwrite_r+0xb0> - 80322a6: 9802 ldr r0, [sp, #8] - 80322a8: 9a02 ldr r2, [sp, #8] - 80322aa: 6800 ldr r0, [r0, #0] - 80322ac: 6856 ldr r6, [r2, #4] - 80322ae: 3208 adds r2, #8 - 80322b0: 9007 str r0, [sp, #28] - 80322b2: 9202 str r2, [sp, #8] - 80322b4: 2e00 cmp r6, #0 - 80322b6: d0f6 beq.n 80322a6 <__sfvwrite_r+0xa2> - 80322b8: 89aa ldrh r2, [r5, #12] - 80322ba: 68ac ldr r4, [r5, #8] - 80322bc: f412 7f00 tst.w r2, #512 ; 0x200 - 80322c0: d056 beq.n 8032370 <__sfvwrite_r+0x16c> - 80322c2: 42a6 cmp r6, r4 - 80322c4: d346 bcc.n 8032354 <__sfvwrite_r+0x150> - 80322c6: f412 6f90 tst.w r2, #1152 ; 0x480 - 80322ca: d041 beq.n 8032350 <__sfvwrite_r+0x14c> - 80322cc: 6929 ldr r1, [r5, #16] - 80322ce: 682b ldr r3, [r5, #0] - 80322d0: 1a5b subs r3, r3, r1 - 80322d2: 9305 str r3, [sp, #20] - 80322d4: 696b ldr r3, [r5, #20] - 80322d6: 9805 ldr r0, [sp, #20] - 80322d8: eb03 0343 add.w r3, r3, r3, lsl #1 - 80322dc: eb03 73d3 add.w r3, r3, r3, lsr #31 - 80322e0: 105f asrs r7, r3, #1 - 80322e2: 1c43 adds r3, r0, #1 - 80322e4: 199b adds r3, r3, r6 - 80322e6: 429f cmp r7, r3 - 80322e8: bf38 it cc - 80322ea: 461f movcc r7, r3 - 80322ec: f412 6f80 tst.w r2, #1024 ; 0x400 - 80322f0: d016 beq.n 8032320 <__sfvwrite_r+0x11c> - 80322f2: 9801 ldr r0, [sp, #4] - 80322f4: 4639 mov r1, r7 - 80322f6: f000 f95b bl 80325b0 <_malloc_r> - 80322fa: 4604 mov r4, r0 - 80322fc: b918 cbnz r0, 8032306 <__sfvwrite_r+0x102> - 80322fe: 9a01 ldr r2, [sp, #4] - 8032300: 230c movs r3, #12 - 8032302: 60d3 str r3, [r2, #12] - 8032304: e0db b.n 80324be <__sfvwrite_r+0x2ba> - 8032306: 6929 ldr r1, [r5, #16] - 8032308: 9a05 ldr r2, [sp, #20] - 803230a: f000 fba7 bl 8032a5c - 803230e: 89ab ldrh r3, [r5, #12] - 8032310: f423 6390 bic.w r3, r3, #1152 ; 0x480 - 8032314: 041b lsls r3, r3, #16 - 8032316: 0c1b lsrs r3, r3, #16 - 8032318: f043 0380 orr.w r3, r3, #128 ; 0x80 - 803231c: 81ab strh r3, [r5, #12] - 803231e: e00d b.n 803233c <__sfvwrite_r+0x138> - 8032320: 9801 ldr r0, [sp, #4] - 8032322: 463a mov r2, r7 - 8032324: f000 fc2e bl 8032b84 <_realloc_r> - 8032328: 4604 mov r4, r0 - 803232a: b938 cbnz r0, 803233c <__sfvwrite_r+0x138> - 803232c: 9801 ldr r0, [sp, #4] - 803232e: 6929 ldr r1, [r5, #16] - 8032330: f001 fa74 bl 803381c <_free_r> - 8032334: 9801 ldr r0, [sp, #4] - 8032336: 230c movs r3, #12 - 8032338: 60c3 str r3, [r0, #12] - 803233a: e0c0 b.n 80324be <__sfvwrite_r+0x2ba> - 803233c: 9a05 ldr r2, [sp, #20] - 803233e: 612c str r4, [r5, #16] - 8032340: eb04 0302 add.w r3, r4, r2 - 8032344: 602b str r3, [r5, #0] - 8032346: ebc2 0307 rsb r3, r2, r7 - 803234a: 616f str r7, [r5, #20] - 803234c: 4634 mov r4, r6 - 803234e: 60ab str r3, [r5, #8] - 8032350: 42a6 cmp r6, r4 - 8032352: d200 bcs.n 8032356 <__sfvwrite_r+0x152> - 8032354: 4634 mov r4, r6 - 8032356: 4622 mov r2, r4 - 8032358: 6828 ldr r0, [r5, #0] - 803235a: 9907 ldr r1, [sp, #28] - 803235c: f000 fb8c bl 8032a78 - 8032360: 68ab ldr r3, [r5, #8] - 8032362: 1b1b subs r3, r3, r4 - 8032364: 60ab str r3, [r5, #8] - 8032366: 682b ldr r3, [r5, #0] - 8032368: 191b adds r3, r3, r4 - 803236a: 602b str r3, [r5, #0] - 803236c: 4634 mov r4, r6 - 803236e: e02f b.n 80323d0 <__sfvwrite_r+0x1cc> - 8032370: 6828 ldr r0, [r5, #0] - 8032372: 692a ldr r2, [r5, #16] - 8032374: 42a6 cmp r6, r4 - 8032376: bf94 ite ls - 8032378: 2300 movls r3, #0 - 803237a: 2301 movhi r3, #1 - 803237c: 4290 cmp r0, r2 - 803237e: bf94 ite ls - 8032380: 2300 movls r3, #0 - 8032382: f003 0301 andhi.w r3, r3, #1 ; 0x1 - 8032386: b163 cbz r3, 80323a2 <__sfvwrite_r+0x19e> - 8032388: 9907 ldr r1, [sp, #28] - 803238a: 4622 mov r2, r4 - 803238c: f000 fb74 bl 8032a78 - 8032390: 682b ldr r3, [r5, #0] - 8032392: 9801 ldr r0, [sp, #4] - 8032394: 191b adds r3, r3, r4 - 8032396: 602b str r3, [r5, #0] - 8032398: 4629 mov r1, r5 - 803239a: f001 f849 bl 8033430 <_fflush_r> - 803239e: b1b8 cbz r0, 80323d0 <__sfvwrite_r+0x1cc> - 80323a0: e08d b.n 80324be <__sfvwrite_r+0x2ba> - 80323a2: 696b ldr r3, [r5, #20] - 80323a4: 429e cmp r6, r3 - 80323a6: d308 bcc.n 80323ba <__sfvwrite_r+0x1b6> - 80323a8: 6aac ldr r4, [r5, #40] - 80323aa: 6a29 ldr r1, [r5, #32] - 80323ac: 9801 ldr r0, [sp, #4] - 80323ae: 9a07 ldr r2, [sp, #28] - 80323b0: 47a0 blx r4 - 80323b2: 2800 cmp r0, #0 - 80323b4: 4604 mov r4, r0 - 80323b6: dc0b bgt.n 80323d0 <__sfvwrite_r+0x1cc> - 80323b8: e081 b.n 80324be <__sfvwrite_r+0x2ba> - 80323ba: 9907 ldr r1, [sp, #28] - 80323bc: 4632 mov r2, r6 - 80323be: f000 fb5b bl 8032a78 - 80323c2: 68ab ldr r3, [r5, #8] - 80323c4: 4634 mov r4, r6 - 80323c6: 1b9b subs r3, r3, r6 - 80323c8: 60ab str r3, [r5, #8] - 80323ca: 682b ldr r3, [r5, #0] - 80323cc: 199b adds r3, r3, r6 - 80323ce: 602b str r3, [r5, #0] - 80323d0: 9800 ldr r0, [sp, #0] - 80323d2: 6883 ldr r3, [r0, #8] - 80323d4: 1b1b subs r3, r3, r4 - 80323d6: 6083 str r3, [r0, #8] - 80323d8: 2b00 cmp r3, #0 - 80323da: d077 beq.n 80324cc <__sfvwrite_r+0x2c8> - 80323dc: 9a07 ldr r2, [sp, #28] - 80323de: 1b36 subs r6, r6, r4 - 80323e0: 1912 adds r2, r2, r4 - 80323e2: 9207 str r2, [sp, #28] - 80323e4: e766 b.n 80322b4 <__sfvwrite_r+0xb0> - 80323e6: 9b02 ldr r3, [sp, #8] - 80323e8: 2200 movs r2, #0 - 80323ea: 6858 ldr r0, [r3, #4] - 80323ec: 681f ldr r7, [r3, #0] - 80323ee: 3308 adds r3, #8 - 80323f0: 9006 str r0, [sp, #24] - 80323f2: 9302 str r3, [sp, #8] - 80323f4: 9203 str r2, [sp, #12] - 80323f6: 9b06 ldr r3, [sp, #24] - 80323f8: 2b00 cmp r3, #0 - 80323fa: d0f4 beq.n 80323e6 <__sfvwrite_r+0x1e2> - 80323fc: 9803 ldr r0, [sp, #12] - 80323fe: b980 cbnz r0, 8032422 <__sfvwrite_r+0x21e> - 8032400: 4638 mov r0, r7 - 8032402: 210a movs r1, #10 - 8032404: 461a mov r2, r3 - 8032406: f000 fb0b bl 8032a20 - 803240a: b128 cbz r0, 8032418 <__sfvwrite_r+0x214> - 803240c: 1c43 adds r3, r0, #1 - 803240e: 1bdb subs r3, r3, r7 - 8032410: 2201 movs r2, #1 - 8032412: 9304 str r3, [sp, #16] - 8032414: 9203 str r2, [sp, #12] - 8032416: e004 b.n 8032422 <__sfvwrite_r+0x21e> - 8032418: 9b06 ldr r3, [sp, #24] - 803241a: 2001 movs r0, #1 - 803241c: 3301 adds r3, #1 - 803241e: 9304 str r3, [sp, #16] - 8032420: 9003 str r0, [sp, #12] - 8032422: 9a06 ldr r2, [sp, #24] - 8032424: 68ab ldr r3, [r5, #8] - 8032426: 9e04 ldr r6, [sp, #16] - 8032428: f8d5 c014 ldr.w ip, [r5, #20] - 803242c: 4296 cmp r6, r2 - 803242e: bf28 it cs - 8032430: 4616 movcs r6, r2 - 8032432: eb0c 0403 add.w r4, ip, r3 - 8032436: 6828 ldr r0, [r5, #0] - 8032438: 692a ldr r2, [r5, #16] - 803243a: 42a6 cmp r6, r4 - 803243c: bfd4 ite le - 803243e: 2300 movle r3, #0 - 8032440: 2301 movgt r3, #1 - 8032442: 4290 cmp r0, r2 - 8032444: bf94 ite ls - 8032446: 2300 movls r3, #0 - 8032448: f003 0301 andhi.w r3, r3, #1 ; 0x1 - 803244c: b163 cbz r3, 8032468 <__sfvwrite_r+0x264> - 803244e: 4639 mov r1, r7 - 8032450: 4622 mov r2, r4 - 8032452: f000 fb11 bl 8032a78 - 8032456: 682b ldr r3, [r5, #0] - 8032458: 9801 ldr r0, [sp, #4] - 803245a: 191b adds r3, r3, r4 - 803245c: 602b str r3, [r5, #0] - 803245e: 4629 mov r1, r5 - 8032460: f000 ffe6 bl 8033430 <_fflush_r> - 8032464: b1b8 cbz r0, 8032496 <__sfvwrite_r+0x292> - 8032466: e02a b.n 80324be <__sfvwrite_r+0x2ba> - 8032468: 4566 cmp r6, ip - 803246a: db09 blt.n 8032480 <__sfvwrite_r+0x27c> - 803246c: 6aac ldr r4, [r5, #40] - 803246e: 6a29 ldr r1, [r5, #32] - 8032470: 9801 ldr r0, [sp, #4] - 8032472: 463a mov r2, r7 - 8032474: 4663 mov r3, ip - 8032476: 47a0 blx r4 - 8032478: 2800 cmp r0, #0 - 803247a: 4604 mov r4, r0 - 803247c: dc0b bgt.n 8032496 <__sfvwrite_r+0x292> - 803247e: e01e b.n 80324be <__sfvwrite_r+0x2ba> - 8032480: 4639 mov r1, r7 - 8032482: 4632 mov r2, r6 - 8032484: f000 faf8 bl 8032a78 - 8032488: 68ab ldr r3, [r5, #8] - 803248a: 4634 mov r4, r6 - 803248c: 1b9b subs r3, r3, r6 - 803248e: 60ab str r3, [r5, #8] - 8032490: 682b ldr r3, [r5, #0] - 8032492: 199b adds r3, r3, r6 - 8032494: 602b str r3, [r5, #0] - 8032496: 9b04 ldr r3, [sp, #16] - 8032498: 1b1b subs r3, r3, r4 - 803249a: 9304 str r3, [sp, #16] - 803249c: d105 bne.n 80324aa <__sfvwrite_r+0x2a6> - 803249e: 9801 ldr r0, [sp, #4] - 80324a0: 4629 mov r1, r5 - 80324a2: f000 ffc5 bl 8033430 <_fflush_r> - 80324a6: b950 cbnz r0, 80324be <__sfvwrite_r+0x2ba> - 80324a8: 9003 str r0, [sp, #12] - 80324aa: 9a00 ldr r2, [sp, #0] - 80324ac: 6893 ldr r3, [r2, #8] - 80324ae: 1b1b subs r3, r3, r4 - 80324b0: 6093 str r3, [r2, #8] - 80324b2: b15b cbz r3, 80324cc <__sfvwrite_r+0x2c8> - 80324b4: 9b06 ldr r3, [sp, #24] - 80324b6: 193f adds r7, r7, r4 - 80324b8: 1b1b subs r3, r3, r4 - 80324ba: 9306 str r3, [sp, #24] - 80324bc: e79b b.n 80323f6 <__sfvwrite_r+0x1f2> - 80324be: 89ab ldrh r3, [r5, #12] - 80324c0: f043 0340 orr.w r3, r3, #64 ; 0x40 - 80324c4: 81ab strh r3, [r5, #12] - 80324c6: f04f 30ff mov.w r0, #4294967295 ; 0xffffffff - 80324ca: e000 b.n 80324ce <__sfvwrite_r+0x2ca> - 80324cc: 2000 movs r0, #0 - 80324ce: b009 add sp, #36 - 80324d0: bdf0 pop {r4, r5, r6, r7, pc} - 80324d2: 46c0 nop (mov r8, r8) - -080324d4 <_fwrite_r>: - 80324d4: b5f0 push {r4, r5, r6, r7, lr} - 80324d6: fb02 f603 mul.w r6, r2, r3 - 80324da: b089 sub sp, #36 - 80324dc: 461f mov r7, r3 - 80324de: ab06 add r3, sp, #24 - 80324e0: 9303 str r3, [sp, #12] - 80324e2: 2301 movs r3, #1 - 80324e4: 4605 mov r5, r0 - 80324e6: 9201 str r2, [sp, #4] - 80324e8: 9c0e ldr r4, [sp, #56] - 80324ea: 9106 str r1, [sp, #24] - 80324ec: 9607 str r6, [sp, #28] - 80324ee: 9605 str r6, [sp, #20] - 80324f0: 9304 str r3, [sp, #16] - 80324f2: b118 cbz r0, 80324fc <_fwrite_r+0x28> - 80324f4: 6983 ldr r3, [r0, #24] - 80324f6: b90b cbnz r3, 80324fc <_fwrite_r+0x28> - 80324f8: f001 f90a bl 8033710 <__sinit> - 80324fc: 4b14 ldr r3, [pc, #80] (8032550 <_fwrite_r+0x7c>) - 80324fe: 429c cmp r4, r3 - 8032500: bf08 it eq - 8032502: 682c ldreq r4, [r5, #0] - 8032504: d008 beq.n 8032518 <_fwrite_r+0x44> - 8032506: 4b13 ldr r3, [pc, #76] (8032554 <_fwrite_r+0x80>) - 8032508: 429c cmp r4, r3 - 803250a: bf08 it eq - 803250c: 686c ldreq r4, [r5, #4] - 803250e: d003 beq.n 8032518 <_fwrite_r+0x44> - 8032510: 4b11 ldr r3, [pc, #68] (8032558 <_fwrite_r+0x84>) - 8032512: 429c cmp r4, r3 - 8032514: bf08 it eq - 8032516: 68ac ldreq r4, [r5, #8] - 8032518: 89a3 ldrh r3, [r4, #12] - 803251a: 4628 mov r0, r5 - 803251c: f413 5f00 tst.w r3, #8192 ; 0x2000 - 8032520: bf02 ittt eq - 8032522: f443 5300 orreq.w r3, r3, #8192 ; 0x2000 - 8032526: 81a3 strheq r3, [r4, #12] - 8032528: 6e63 ldreq r3, [r4, #100] - 803252a: 4621 mov r1, r4 - 803252c: bf04 itt eq - 803252e: f423 5300 biceq.w r3, r3, #8192 ; 0x2000 - 8032532: 6663 streq r3, [r4, #100] - 8032534: aa03 add r2, sp, #12 - 8032536: f7ff fe65 bl 8032204 <__sfvwrite_r> - 803253a: b128 cbz r0, 8032548 <_fwrite_r+0x74> - 803253c: 9b05 ldr r3, [sp, #20] - 803253e: 9a01 ldr r2, [sp, #4] - 8032540: ebc3 0306 rsb r3, r3, r6 - 8032544: fbb3 f7f2 udiv r7, r3, r2 - 8032548: 4638 mov r0, r7 - 803254a: b009 add sp, #36 - 803254c: bdf0 pop {r4, r5, r6, r7, pc} - 803254e: 46c0 nop (mov r8, r8) - 8032550: 080357d0 .word 0x080357d0 - 8032554: 080357f0 .word 0x080357f0 - 8032558: 08035810 .word 0x08035810 - -0803255c : - 803255c: b510 push {r4, lr} - 803255e: 4614 mov r4, r2 - 8032560: 4a06 ldr r2, [pc, #24] (803257c ) - 8032562: 4684 mov ip, r0 - 8032564: 468e mov lr, r1 - 8032566: b082 sub sp, #8 - 8032568: 6810 ldr r0, [r2, #0] - 803256a: 4661 mov r1, ip - 803256c: 9300 str r3, [sp, #0] - 803256e: 4672 mov r2, lr - 8032570: 4623 mov r3, r4 - 8032572: f7ff ffaf bl 80324d4 <_fwrite_r> - 8032576: b002 add sp, #8 - 8032578: bd10 pop {r4, pc} - 803257a: 46c0 nop (mov r8, r8) - 803257c: 20000050 .word 0x20000050 - -08032580 : - 8032580: b500 push {lr} - 8032582: 4b04 ldr r3, [pc, #16] (8032594 ) - 8032584: 4601 mov r1, r0 - 8032586: b081 sub sp, #4 - 8032588: 6818 ldr r0, [r3, #0] - 803258a: f001 f947 bl 803381c <_free_r> - 803258e: b001 add sp, #4 - 8032590: bd00 pop {pc} - 8032592: 46c0 nop (mov r8, r8) - 8032594: 20000050 .word 0x20000050 - -08032598 : - 8032598: b500 push {lr} - 803259a: 4b04 ldr r3, [pc, #16] (80325ac ) - 803259c: 4601 mov r1, r0 - 803259e: b081 sub sp, #4 - 80325a0: 6818 ldr r0, [r3, #0] - 80325a2: f000 f805 bl 80325b0 <_malloc_r> - 80325a6: b001 add sp, #4 - 80325a8: bd00 pop {pc} - 80325aa: 46c0 nop (mov r8, r8) - 80325ac: 20000050 .word 0x20000050 - -080325b0 <_malloc_r>: - 80325b0: b5f0 push {r4, r5, r6, r7, lr} - 80325b2: f101 020b add.w r2, r1, #11 ; 0xb - 80325b6: 2a16 cmp r2, #22 - 80325b8: bf8c ite hi - 80325ba: f022 0607 bichi.w r6, r2, #7 ; 0x7 - 80325be: 2610 movls r6, #16 - 80325c0: 428e cmp r6, r1 - 80325c2: bf2c ite cs - 80325c4: 2300 movcs r3, #0 - 80325c6: 2301 movcc r3, #1 - 80325c8: b083 sub sp, #12 - 80325ca: ea53 73d6 orrs.w r3, r3, r6, lsr #31 - 80325ce: 9000 str r0, [sp, #0] - 80325d0: d003 beq.n 80325da <_malloc_r+0x2a> - 80325d2: 9900 ldr r1, [sp, #0] - 80325d4: 230c movs r3, #12 - 80325d6: 60cb str r3, [r1, #12] - 80325d8: e1fe b.n 80329d8 <_malloc_r+0x428> - 80325da: 9800 ldr r0, [sp, #0] - 80325dc: f000 fa74 bl 8032ac8 <__malloc_lock> - 80325e0: f5b6 7ffc cmp.w r6, #504 ; 0x1f8 - 80325e4: d218 bcs.n 8032618 <_malloc_r+0x68> - 80325e6: f8df 341c ldr.w r3, [pc, #1052] ; 8032a04 <_malloc_r+0x454> - 80325ea: 08f2 lsrs r2, r6, #3 - 80325ec: eb03 03c2 add.w r3, r3, r2, lsl #3 - 80325f0: 68dc ldr r4, [r3, #12] - 80325f2: 429c cmp r4, r3 - 80325f4: d107 bne.n 8032606 <_malloc_r+0x56> - 80325f6: f104 0308 add.w r3, r4, #8 ; 0x8 - 80325fa: 68dc ldr r4, [r3, #12] - 80325fc: 429c cmp r4, r3 - 80325fe: bf08 it eq - 8032600: f102 0e02 addeq.w lr, r2, #2 ; 0x2 - 8032604: d04c beq.n 80326a0 <_malloc_r+0xf0> - 8032606: 6862 ldr r2, [r4, #4] - 8032608: 68e1 ldr r1, [r4, #12] - 803260a: 68a3 ldr r3, [r4, #8] - 803260c: f022 0203 bic.w r2, r2, #3 ; 0x3 - 8032610: 60d9 str r1, [r3, #12] - 8032612: 608b str r3, [r1, #8] - 8032614: 4422 add r2, r4 - 8032616: e03a b.n 803268e <_malloc_r+0xde> - 8032618: 0a72 lsrs r2, r6, #9 - 803261a: d101 bne.n 8032620 <_malloc_r+0x70> - 803261c: 08f2 lsrs r2, r6, #3 - 803261e: e01f b.n 8032660 <_malloc_r+0xb0> - 8032620: 2a04 cmp r2, #4 - 8032622: d803 bhi.n 803262c <_malloc_r+0x7c> - 8032624: 09b3 lsrs r3, r6, #6 - 8032626: f103 0238 add.w r2, r3, #56 ; 0x38 - 803262a: e019 b.n 8032660 <_malloc_r+0xb0> - 803262c: 2a14 cmp r2, #20 - 803262e: d801 bhi.n 8032634 <_malloc_r+0x84> - 8032630: 325b adds r2, #91 - 8032632: e015 b.n 8032660 <_malloc_r+0xb0> - 8032634: 2a54 cmp r2, #84 - 8032636: d803 bhi.n 8032640 <_malloc_r+0x90> - 8032638: 0b33 lsrs r3, r6, #12 - 803263a: f103 026e add.w r2, r3, #110 ; 0x6e - 803263e: e00f b.n 8032660 <_malloc_r+0xb0> - 8032640: f5b2 7faa cmp.w r2, #340 ; 0x154 - 8032644: d803 bhi.n 803264e <_malloc_r+0x9e> - 8032646: 0bf3 lsrs r3, r6, #15 - 8032648: f103 0277 add.w r2, r3, #119 ; 0x77 - 803264c: e008 b.n 8032660 <_malloc_r+0xb0> - 803264e: f240 5354 movw r3, #1364 ; 0x554 - 8032652: 429a cmp r2, r3 - 8032654: d901 bls.n 803265a <_malloc_r+0xaa> - 8032656: 227e movs r2, #126 - 8032658: e002 b.n 8032660 <_malloc_r+0xb0> - 803265a: 0cb3 lsrs r3, r6, #18 - 803265c: f103 027c add.w r2, r3, #124 ; 0x7c - 8032660: 4be8 ldr r3, [pc, #928] (8032a04 <_malloc_r+0x454>) - 8032662: eb03 0cc2 add.w ip, r3, r2, lsl #3 - 8032666: f8dc 400c ldr.w r4, [ip, #12] - 803266a: e015 b.n 8032698 <_malloc_r+0xe8> - 803266c: 6863 ldr r3, [r4, #4] - 803266e: f023 0003 bic.w r0, r3, #3 ; 0x3 - 8032672: ebc6 0300 rsb r3, r6, r0 - 8032676: 2b0f cmp r3, #15 - 8032678: dd01 ble.n 803267e <_malloc_r+0xce> - 803267a: 3a01 subs r2, #1 - 803267c: e00e b.n 803269c <_malloc_r+0xec> - 803267e: 2b00 cmp r3, #0 - 8032680: 68e1 ldr r1, [r4, #12] - 8032682: db08 blt.n 8032696 <_malloc_r+0xe6> - 8032684: 68a3 ldr r3, [r4, #8] - 8032686: 60d9 str r1, [r3, #12] - 8032688: 608b str r3, [r1, #8] - 803268a: eb04 0200 add.w r2, r4, r0 - 803268e: 6853 ldr r3, [r2, #4] - 8032690: f043 0301 orr.w r3, r3, #1 ; 0x1 - 8032694: e1ad b.n 80329f2 <_malloc_r+0x442> - 8032696: 460c mov r4, r1 - 8032698: 4564 cmp r4, ip - 803269a: d1e7 bne.n 803266c <_malloc_r+0xbc> - 803269c: f102 0e01 add.w lr, r2, #1 ; 0x1 - 80326a0: 4dd9 ldr r5, [pc, #868] (8032a08 <_malloc_r+0x458>) - 80326a2: 68ac ldr r4, [r5, #8] - 80326a4: 42ac cmp r4, r5 - 80326a6: d068 beq.n 803277a <_malloc_r+0x1ca> - 80326a8: 6863 ldr r3, [r4, #4] - 80326aa: f023 0003 bic.w r0, r3, #3 ; 0x3 - 80326ae: ebc6 0100 rsb r1, r6, r0 - 80326b2: 290f cmp r1, #15 - 80326b4: dd0d ble.n 80326d2 <_malloc_r+0x122> - 80326b6: f046 0201 orr.w r2, r6, #1 ; 0x1 - 80326ba: eb04 0306 add.w r3, r4, r6 - 80326be: 6062 str r2, [r4, #4] - 80326c0: f041 0201 orr.w r2, r1, #1 ; 0x1 - 80326c4: 60eb str r3, [r5, #12] - 80326c6: 60ab str r3, [r5, #8] - 80326c8: 60dd str r5, [r3, #12] - 80326ca: 609d str r5, [r3, #8] - 80326cc: 605a str r2, [r3, #4] - 80326ce: 5059 str r1, [r3, r1] - 80326d0: e190 b.n 80329f4 <_malloc_r+0x444> - 80326d2: 2900 cmp r1, #0 - 80326d4: 60ed str r5, [r5, #12] - 80326d6: 60ad str r5, [r5, #8] - 80326d8: dad7 bge.n 803268a <_malloc_r+0xda> - 80326da: f5b0 7f00 cmp.w r0, #512 ; 0x200 - 80326de: d210 bcs.n 8032702 <_malloc_r+0x152> - 80326e0: 08c0 lsrs r0, r0, #3 - 80326e2: 1083 asrs r3, r0, #2 - 80326e4: 2201 movs r2, #1 - 80326e6: 409a lsls r2, r3 - 80326e8: f1a5 0108 sub.w r1, r5, #8 ; 0x8 - 80326ec: 684b ldr r3, [r1, #4] - 80326ee: 4313 orrs r3, r2 - 80326f0: 604b str r3, [r1, #4] - 80326f2: eb01 01c0 add.w r1, r1, r0, lsl #3 - 80326f6: 688b ldr r3, [r1, #8] - 80326f8: 60e1 str r1, [r4, #12] - 80326fa: 60a3 str r3, [r4, #8] - 80326fc: 60dc str r4, [r3, #12] - 80326fe: 608c str r4, [r1, #8] - 8032700: e03b b.n 803277a <_malloc_r+0x1ca> - 8032702: 0a42 lsrs r2, r0, #9 - 8032704: 2a04 cmp r2, #4 - 8032706: d802 bhi.n 803270e <_malloc_r+0x15e> - 8032708: 0983 lsrs r3, r0, #6 - 803270a: 3338 adds r3, #56 - 803270c: e017 b.n 803273e <_malloc_r+0x18e> - 803270e: 2a14 cmp r2, #20 - 8032710: bf98 it ls - 8032712: f102 035b addls.w r3, r2, #91 ; 0x5b - 8032716: d912 bls.n 803273e <_malloc_r+0x18e> - 8032718: 2a54 cmp r2, #84 - 803271a: d802 bhi.n 8032722 <_malloc_r+0x172> - 803271c: 0b03 lsrs r3, r0, #12 - 803271e: 336e adds r3, #110 - 8032720: e00d b.n 803273e <_malloc_r+0x18e> - 8032722: f5b2 7faa cmp.w r2, #340 ; 0x154 - 8032726: d802 bhi.n 803272e <_malloc_r+0x17e> - 8032728: 0bc3 lsrs r3, r0, #15 - 803272a: 3377 adds r3, #119 - 803272c: e007 b.n 803273e <_malloc_r+0x18e> - 803272e: f240 5354 movw r3, #1364 ; 0x554 - 8032732: 429a cmp r2, r3 - 8032734: d901 bls.n 803273a <_malloc_r+0x18a> - 8032736: 237e movs r3, #126 - 8032738: e001 b.n 803273e <_malloc_r+0x18e> - 803273a: 0c83 lsrs r3, r0, #18 - 803273c: 337c adds r3, #124 - 803273e: f8df c2c4 ldr.w ip, [pc, #708] ; 8032a04 <_malloc_r+0x454> - 8032742: eb0c 02c3 add.w r2, ip, r3, lsl #3 - 8032746: 6891 ldr r1, [r2, #8] - 8032748: 4291 cmp r1, r2 - 803274a: d10c bne.n 8032766 <_malloc_r+0x1b6> - 803274c: 109b asrs r3, r3, #2 - 803274e: 2201 movs r2, #1 - 8032750: 409a lsls r2, r3 - 8032752: f8dc 3004 ldr.w r3, [ip, #4] - 8032756: 4313 orrs r3, r2 - 8032758: f8cc 3004 str.w r3, [ip, #4] - 803275c: 460b mov r3, r1 - 803275e: e008 b.n 8032772 <_malloc_r+0x1c2> - 8032760: 6889 ldr r1, [r1, #8] - 8032762: 4291 cmp r1, r2 - 8032764: d004 beq.n 8032770 <_malloc_r+0x1c0> - 8032766: 684b ldr r3, [r1, #4] - 8032768: f023 0303 bic.w r3, r3, #3 ; 0x3 - 803276c: 4298 cmp r0, r3 - 803276e: d3f7 bcc.n 8032760 <_malloc_r+0x1b0> - 8032770: 68cb ldr r3, [r1, #12] - 8032772: 60e3 str r3, [r4, #12] - 8032774: 60a1 str r1, [r4, #8] - 8032776: 60cc str r4, [r1, #12] - 8032778: 609c str r4, [r3, #8] - 803277a: 2301 movs r3, #1 - 803277c: ea4f 02ae mov.w r2, lr, asr #2 - 8032780: fa13 f102 lsls.w r1, r3, r2 - 8032784: 4b9f ldr r3, [pc, #636] (8032a04 <_malloc_r+0x454>) - 8032786: 685a ldr r2, [r3, #4] - 8032788: 4291 cmp r1, r2 - 803278a: d86e bhi.n 803286a <_malloc_r+0x2ba> - 803278c: 4211 tst r1, r2 - 803278e: bf04 itt eq - 8032790: f02e 0303 biceq.w r3, lr, #3 ; 0x3 - 8032794: f103 0e04 addeq.w lr, r3, #4 ; 0x4 - 8032798: d002 beq.n 80327a0 <_malloc_r+0x1f0> - 803279a: e004 b.n 80327a6 <_malloc_r+0x1f6> - 803279c: f10e 0e04 add.w lr, lr, #4 ; 0x4 - 80327a0: 0049 lsls r1, r1, #1 - 80327a2: 4211 tst r1, r2 - 80327a4: d0fa beq.n 803279c <_malloc_r+0x1ec> - 80327a6: 4a97 ldr r2, [pc, #604] (8032a04 <_malloc_r+0x454>) - 80327a8: 4674 mov r4, lr - 80327aa: eb02 07ce add.w r7, r2, lr, lsl #3 - 80327ae: 463a mov r2, r7 - 80327b0: 68d0 ldr r0, [r2, #12] - 80327b2: e032 b.n 803281a <_malloc_r+0x26a> - 80327b4: 6843 ldr r3, [r0, #4] - 80327b6: f023 0303 bic.w r3, r3, #3 ; 0x3 - 80327ba: ebc6 0c03 rsb ip, r6, r3 - 80327be: f1bc 0f0f cmp.w ip, #15 ; 0xf - 80327c2: dd14 ble.n 80327ee <_malloc_r+0x23e> - 80327c4: f046 0301 orr.w r3, r6, #1 ; 0x1 - 80327c8: 4604 mov r4, r0 - 80327ca: 68c1 ldr r1, [r0, #12] - 80327cc: 6043 str r3, [r0, #4] - 80327ce: f854 3f08 ldr.w r3, [r4, #8]! - 80327d2: eb00 0206 add.w r2, r0, r6 - 80327d6: 60d9 str r1, [r3, #12] - 80327d8: 608b str r3, [r1, #8] - 80327da: f04c 0301 orr.w r3, ip, #1 ; 0x1 - 80327de: 60ea str r2, [r5, #12] - 80327e0: 60aa str r2, [r5, #8] - 80327e2: 60d5 str r5, [r2, #12] - 80327e4: 6095 str r5, [r2, #8] - 80327e6: 6053 str r3, [r2, #4] - 80327e8: f842 c00c str.w ip, [r2, ip] - 80327ec: e010 b.n 8032810 <_malloc_r+0x260> - 80327ee: f1bc 0f00 cmp.w ip, #0 ; 0x0 - 80327f2: f8d0 c00c ldr.w ip, [r0, #12] - 80327f6: db0f blt.n 8032818 <_malloc_r+0x268> - 80327f8: 4403 add r3, r0 - 80327fa: 685a ldr r2, [r3, #4] - 80327fc: 4604 mov r4, r0 - 80327fe: f042 0201 orr.w r2, r2, #1 ; 0x1 - 8032802: 605a str r2, [r3, #4] - 8032804: f854 3f08 ldr.w r3, [r4, #8]! - 8032808: f8c3 c00c str.w ip, [r3, #12] - 803280c: f8cc 3008 str.w r3, [ip, #8] - 8032810: 9800 ldr r0, [sp, #0] - 8032812: f000 f95b bl 8032acc <__malloc_unlock> - 8032816: e0f1 b.n 80329fc <_malloc_r+0x44c> - 8032818: 4660 mov r0, ip - 803281a: 4290 cmp r0, r2 - 803281c: d1ca bne.n 80327b4 <_malloc_r+0x204> - 803281e: 3401 adds r4, #1 - 8032820: f014 0f03 tst.w r4, #3 ; 0x3 - 8032824: d001 beq.n 803282a <_malloc_r+0x27a> - 8032826: 3208 adds r2, #8 - 8032828: e7c2 b.n 80327b0 <_malloc_r+0x200> - 803282a: 4672 mov r2, lr - 803282c: 4638 mov r0, r7 - 803282e: f012 0f03 tst.w r2, #3 ; 0x3 - 8032832: d105 bne.n 8032840 <_malloc_r+0x290> - 8032834: 4a73 ldr r2, [pc, #460] (8032a04 <_malloc_r+0x454>) - 8032836: 6853 ldr r3, [r2, #4] - 8032838: ea23 0301 bic.w r3, r3, r1 - 803283c: 6053 str r3, [r2, #4] - 803283e: e006 b.n 803284e <_malloc_r+0x29e> - 8032840: 4603 mov r3, r0 - 8032842: f853 0908 ldr.w r0, [r3], #-8 - 8032846: 4298 cmp r0, r3 - 8032848: d101 bne.n 803284e <_malloc_r+0x29e> - 803284a: 3a01 subs r2, #1 - 803284c: e7ef b.n 803282e <_malloc_r+0x27e> - 803284e: 4a6d ldr r2, [pc, #436] (8032a04 <_malloc_r+0x454>) - 8032850: 0049 lsls r1, r1, #1 - 8032852: 6853 ldr r3, [r2, #4] - 8032854: 4299 cmp r1, r3 - 8032856: d808 bhi.n 803286a <_malloc_r+0x2ba> - 8032858: b139 cbz r1, 803286a <_malloc_r+0x2ba> - 803285a: 46a6 mov lr, r4 - 803285c: e002 b.n 8032864 <_malloc_r+0x2b4> - 803285e: f10e 0e04 add.w lr, lr, #4 ; 0x4 - 8032862: 0049 lsls r1, r1, #1 - 8032864: 4219 tst r1, r3 - 8032866: d19e bne.n 80327a6 <_malloc_r+0x1f6> - 8032868: e7f9 b.n 803285e <_malloc_r+0x2ae> - 803286a: 4b66 ldr r3, [pc, #408] (8032a04 <_malloc_r+0x454>) - 803286c: 689f ldr r7, [r3, #8] - 803286e: 687b ldr r3, [r7, #4] - 8032870: f023 0303 bic.w r3, r3, #3 ; 0x3 - 8032874: 9301 str r3, [sp, #4] - 8032876: ebc6 0103 rsb r1, r6, r3 - 803287a: 9a01 ldr r2, [sp, #4] - 803287c: 290f cmp r1, #15 - 803287e: bfcc ite gt - 8032880: 2300 movgt r3, #0 - 8032882: 2301 movle r3, #1 - 8032884: 42b2 cmp r2, r6 - 8032886: bf38 it cc - 8032888: f043 0301 orrcc.w r3, r3, #1 ; 0x1 - 803288c: 2b00 cmp r3, #0 - 803288e: f000 80a5 beq.w 80329dc <_malloc_r+0x42c> - 8032892: 4b5e ldr r3, [pc, #376] (8032a0c <_malloc_r+0x45c>) - 8032894: 681b ldr r3, [r3, #0] - 8032896: 3310 adds r3, #16 - 8032898: eb03 0506 add.w r5, r3, r6 - 803289c: 4b5c ldr r3, [pc, #368] (8032a10 <_malloc_r+0x460>) - 803289e: 681b ldr r3, [r3, #0] - 80328a0: f1b3 3fff cmp.w r3, #4294967295 ; 0xffffffff - 80328a4: d006 beq.n 80328b4 <_malloc_r+0x304> - 80328a6: f505 637e add.w r3, r5, #4064 ; 0xfe0 - 80328aa: 331f adds r3, #31 - 80328ac: f423 657e bic.w r5, r3, #4064 ; 0xfe0 - 80328b0: f025 051f bic.w r5, r5, #31 ; 0x1f - 80328b4: 9800 ldr r0, [sp, #0] - 80328b6: 4629 mov r1, r5 - 80328b8: f000 fb92 bl 8032fe0 <_sbrk_r> - 80328bc: f1b0 3fff cmp.w r0, #4294967295 ; 0xffffffff - 80328c0: 4604 mov r4, r0 - 80328c2: d076 beq.n 80329b2 <_malloc_r+0x402> - 80328c4: 9b01 ldr r3, [sp, #4] - 80328c6: eb07 0103 add.w r1, r7, r3 - 80328ca: 4288 cmp r0, r1 - 80328cc: d202 bcs.n 80328d4 <_malloc_r+0x324> - 80328ce: 4a4d ldr r2, [pc, #308] (8032a04 <_malloc_r+0x454>) - 80328d0: 4297 cmp r7, r2 - 80328d2: d16e bne.n 80329b2 <_malloc_r+0x402> - 80328d4: 4a4f ldr r2, [pc, #316] (8032a14 <_malloc_r+0x464>) - 80328d6: 428c cmp r4, r1 - 80328d8: 6813 ldr r3, [r2, #0] - 80328da: eb05 0003 add.w r0, r5, r3 - 80328de: 6010 str r0, [r2, #0] - 80328e0: d10b bne.n 80328fa <_malloc_r+0x34a> - 80328e2: 0523 lsls r3, r4, #20 - 80328e4: 0d1b lsrs r3, r3, #20 - 80328e6: b943 cbnz r3, 80328fa <_malloc_r+0x34a> - 80328e8: 4b46 ldr r3, [pc, #280] (8032a04 <_malloc_r+0x454>) - 80328ea: 9901 ldr r1, [sp, #4] - 80328ec: 689a ldr r2, [r3, #8] - 80328ee: eb05 0301 add.w r3, r5, r1 - 80328f2: f043 0301 orr.w r3, r3, #1 ; 0x1 - 80328f6: 6053 str r3, [r2, #4] - 80328f8: e04f b.n 803299a <_malloc_r+0x3ea> - 80328fa: 4a45 ldr r2, [pc, #276] (8032a10 <_malloc_r+0x460>) - 80328fc: 6813 ldr r3, [r2, #0] - 80328fe: f1b3 3fff cmp.w r3, #4294967295 ; 0xffffffff - 8032902: bf08 it eq - 8032904: 6014 streq r4, [r2, #0] - 8032906: d004 beq.n 8032912 <_malloc_r+0x362> - 8032908: eb04 0300 add.w r3, r4, r0 - 803290c: 4a41 ldr r2, [pc, #260] (8032a14 <_malloc_r+0x464>) - 803290e: 1a5b subs r3, r3, r1 - 8032910: 6013 str r3, [r2, #0] - 8032912: f014 0207 ands.w r2, r4, #7 ; 0x7 - 8032916: d101 bne.n 803291c <_malloc_r+0x36c> - 8032918: 2200 movs r2, #0 - 803291a: e002 b.n 8032922 <_malloc_r+0x372> - 803291c: f1c2 0208 rsb r2, r2, #8 ; 0x8 - 8032920: 18a4 adds r4, r4, r2 - 8032922: eb04 0305 add.w r3, r4, r5 - 8032926: 051b lsls r3, r3, #20 - 8032928: 0d1b lsrs r3, r3, #20 - 803292a: f502 5280 add.w r2, r2, #4096 ; 0x1000 - 803292e: ebc3 0502 rsb r5, r3, r2 - 8032932: 4629 mov r1, r5 - 8032934: 9800 ldr r0, [sp, #0] - 8032936: f000 fb53 bl 8032fe0 <_sbrk_r> - 803293a: 4b36 ldr r3, [pc, #216] (8032a14 <_malloc_r+0x464>) - 803293c: f1b0 3fff cmp.w r0, #4294967295 ; 0xffffffff - 8032940: 681a ldr r2, [r3, #0] - 8032942: bf04 itt eq - 8032944: 4620 moveq r0, r4 - 8032946: 2500 moveq r5, #0 - 8032948: 442a add r2, r5 - 803294a: 601a str r2, [r3, #0] - 803294c: 4a2d ldr r2, [pc, #180] (8032a04 <_malloc_r+0x454>) - 803294e: ebc4 0300 rsb r3, r4, r0 - 8032952: 195b adds r3, r3, r5 - 8032954: f043 0301 orr.w r3, r3, #1 ; 0x1 - 8032958: 4297 cmp r7, r2 - 803295a: 6094 str r4, [r2, #8] - 803295c: 6063 str r3, [r4, #4] - 803295e: d01c beq.n 803299a <_malloc_r+0x3ea> - 8032960: 9b01 ldr r3, [sp, #4] - 8032962: 2b0f cmp r3, #15 - 8032964: d802 bhi.n 803296c <_malloc_r+0x3bc> - 8032966: 2301 movs r3, #1 - 8032968: 6063 str r3, [r4, #4] - 803296a: e022 b.n 80329b2 <_malloc_r+0x402> - 803296c: 9901 ldr r1, [sp, #4] - 803296e: 2305 movs r3, #5 - 8032970: f1a1 020c sub.w r2, r1, #12 ; 0xc - 8032974: f022 0207 bic.w r2, r2, #7 ; 0x7 - 8032978: eb07 0102 add.w r1, r7, r2 - 803297c: 604b str r3, [r1, #4] - 803297e: 608b str r3, [r1, #8] - 8032980: 687b ldr r3, [r7, #4] - 8032982: 2a0f cmp r2, #15 - 8032984: f003 0301 and.w r3, r3, #1 ; 0x1 - 8032988: ea42 0303 orr.w r3, r2, r3 - 803298c: 607b str r3, [r7, #4] - 803298e: d904 bls.n 803299a <_malloc_r+0x3ea> - 8032990: f107 0108 add.w r1, r7, #8 ; 0x8 - 8032994: 9800 ldr r0, [sp, #0] - 8032996: f000 ff41 bl 803381c <_free_r> - 803299a: 491f ldr r1, [pc, #124] (8032a18 <_malloc_r+0x468>) - 803299c: 4b1d ldr r3, [pc, #116] (8032a14 <_malloc_r+0x464>) - 803299e: 681a ldr r2, [r3, #0] - 80329a0: 680b ldr r3, [r1, #0] - 80329a2: 429a cmp r2, r3 - 80329a4: bf88 it hi - 80329a6: 600a strhi r2, [r1, #0] - 80329a8: 491c ldr r1, [pc, #112] (8032a1c <_malloc_r+0x46c>) - 80329aa: 680b ldr r3, [r1, #0] - 80329ac: 429a cmp r2, r3 - 80329ae: bf88 it hi - 80329b0: 600a strhi r2, [r1, #0] - 80329b2: 4a14 ldr r2, [pc, #80] (8032a04 <_malloc_r+0x454>) - 80329b4: 6893 ldr r3, [r2, #8] - 80329b6: 685a ldr r2, [r3, #4] - 80329b8: f022 0203 bic.w r2, r2, #3 ; 0x3 - 80329bc: ebc6 0102 rsb r1, r6, r2 - 80329c0: 290f cmp r1, #15 - 80329c2: bfcc ite gt - 80329c4: 2300 movgt r3, #0 - 80329c6: 2301 movle r3, #1 - 80329c8: 42b2 cmp r2, r6 - 80329ca: bf38 it cc - 80329cc: f043 0301 orrcc.w r3, r3, #1 ; 0x1 - 80329d0: b123 cbz r3, 80329dc <_malloc_r+0x42c> - 80329d2: 9800 ldr r0, [sp, #0] - 80329d4: f000 f87a bl 8032acc <__malloc_unlock> - 80329d8: 2400 movs r4, #0 - 80329da: e00f b.n 80329fc <_malloc_r+0x44c> - 80329dc: 4b09 ldr r3, [pc, #36] (8032a04 <_malloc_r+0x454>) - 80329de: 689c ldr r4, [r3, #8] - 80329e0: f046 0301 orr.w r3, r6, #1 ; 0x1 - 80329e4: 6063 str r3, [r4, #4] - 80329e6: 4b07 ldr r3, [pc, #28] (8032a04 <_malloc_r+0x454>) - 80329e8: eb04 0206 add.w r2, r4, r6 - 80329ec: 609a str r2, [r3, #8] - 80329ee: f041 0301 orr.w r3, r1, #1 ; 0x1 - 80329f2: 6053 str r3, [r2, #4] - 80329f4: 9800 ldr r0, [sp, #0] - 80329f6: f000 f869 bl 8032acc <__malloc_unlock> - 80329fa: 3408 adds r4, #8 - 80329fc: 4620 mov r0, r4 - 80329fe: b003 add sp, #12 - 8032a00: bdf0 pop {r4, r5, r6, r7, pc} - 8032a02: 46c0 nop (mov r8, r8) - 8032a04: 20000144 .word 0x20000144 - 8032a08: 2000014c .word 0x2000014c - 8032a0c: 20000eac .word 0x20000eac - 8032a10: 20000550 .word 0x20000550 - 8032a14: 20000eb8 .word 0x20000eb8 - 8032a18: 20000eb0 .word 0x20000eb0 - 8032a1c: 20000eb4 .word 0x20000eb4 - -08032a20 : - 8032a20: b2c9 uxtb r1, r1 - 8032a22: e004 b.n 8032a2e - 8032a24: 7803 ldrb r3, [r0, #0] - 8032a26: 3a01 subs r2, #1 - 8032a28: 428b cmp r3, r1 - 8032a2a: d003 beq.n 8032a34 - 8032a2c: 3001 adds r0, #1 - 8032a2e: 2a00 cmp r2, #0 - 8032a30: d1f8 bne.n 8032a24 - 8032a32: 2000 movs r0, #0 - 8032a34: 4770 bx lr - 8032a36: 46c0 nop (mov r8, r8) - -08032a38 : - 8032a38: b510 push {r4, lr} - 8032a3a: 2300 movs r3, #0 - 8032a3c: 4604 mov r4, r0 - 8032a3e: e009 b.n 8032a54 - 8032a40: f814 c003 ldrb.w ip, [r4, r3] - 8032a44: 5cc8 ldrb r0, [r1, r3] - 8032a46: 3a01 subs r2, #1 - 8032a48: 3301 adds r3, #1 - 8032a4a: 4584 cmp ip, r0 - 8032a4c: d002 beq.n 8032a54 - 8032a4e: ebc0 000c rsb r0, r0, ip - 8032a52: e002 b.n 8032a5a - 8032a54: 2a00 cmp r2, #0 - 8032a56: d1f3 bne.n 8032a40 - 8032a58: 2000 movs r0, #0 - 8032a5a: bd10 pop {r4, pc} - -08032a5c : - 8032a5c: f04f 0c00 mov.w ip, #0 ; 0x0 - 8032a60: e006 b.n 8032a70 - 8032a62: f811 300c ldrb.w r3, [r1, ip] - 8032a66: 3a01 subs r2, #1 - 8032a68: f800 300c strb.w r3, [r0, ip] - 8032a6c: f10c 0c01 add.w ip, ip, #1 ; 0x1 - 8032a70: 2a00 cmp r2, #0 - 8032a72: d1f6 bne.n 8032a62 - 8032a74: 4770 bx lr - 8032a76: 46c0 nop (mov r8, r8) - -08032a78 : - 8032a78: 4281 cmp r1, r0 - 8032a7a: b510 push {r4, lr} - 8032a7c: d217 bcs.n 8032aae - 8032a7e: eb01 0c02 add.w ip, r1, r2 - 8032a82: 4560 cmp r0, ip - 8032a84: d213 bcs.n 8032aae - 8032a86: eb00 0402 add.w r4, r0, r2 - 8032a8a: 2100 movs r1, #0 - 8032a8c: e003 b.n 8032a96 - 8032a8e: f81c 3001 ldrb.w r3, [ip, r1] - 8032a92: 3a01 subs r2, #1 - 8032a94: 5463 strb r3, [r4, r1] - 8032a96: 3901 subs r1, #1 - 8032a98: 2a00 cmp r2, #0 - 8032a9a: d1f8 bne.n 8032a8e - 8032a9c: e00b b.n 8032ab6 - 8032a9e: f811 300c ldrb.w r3, [r1, ip] - 8032aa2: 3a01 subs r2, #1 - 8032aa4: f800 300c strb.w r3, [r0, ip] - 8032aa8: f10c 0c01 add.w ip, ip, #1 ; 0x1 - 8032aac: e001 b.n 8032ab2 - 8032aae: f04f 0c00 mov.w ip, #0 ; 0x0 - 8032ab2: 2a00 cmp r2, #0 - 8032ab4: d1f3 bne.n 8032a9e - 8032ab6: bd10 pop {r4, pc} - -08032ab8 : - 8032ab8: 2300 movs r3, #0 - 8032aba: e002 b.n 8032ac2 - 8032abc: 54c1 strb r1, [r0, r3] - 8032abe: 3a01 subs r2, #1 - 8032ac0: 3301 adds r3, #1 - 8032ac2: 2a00 cmp r2, #0 - 8032ac4: d1fa bne.n 8032abc - 8032ac6: 4770 bx lr - -08032ac8 <__malloc_lock>: - 8032ac8: 4770 bx lr - 8032aca: 46c0 nop (mov r8, r8) - -08032acc <__malloc_unlock>: - 8032acc: 4770 bx lr - 8032ace: 46c0 nop (mov r8, r8) - -08032ad0 <_putc_r>: - 8032ad0: b570 push {r4, r5, r6, lr} - 8032ad2: 4605 mov r5, r0 - 8032ad4: 460e mov r6, r1 - 8032ad6: 4614 mov r4, r2 - 8032ad8: b118 cbz r0, 8032ae2 <_putc_r+0x12> - 8032ada: 6983 ldr r3, [r0, #24] - 8032adc: b90b cbnz r3, 8032ae2 <_putc_r+0x12> - 8032ade: f000 fe17 bl 8033710 <__sinit> - 8032ae2: 4b17 ldr r3, [pc, #92] (8032b40 <_putc_r+0x70>) - 8032ae4: 429c cmp r4, r3 - 8032ae6: bf08 it eq - 8032ae8: 682c ldreq r4, [r5, #0] - 8032aea: d008 beq.n 8032afe <_putc_r+0x2e> - 8032aec: 4b15 ldr r3, [pc, #84] (8032b44 <_putc_r+0x74>) - 8032aee: 429c cmp r4, r3 - 8032af0: bf08 it eq - 8032af2: 686c ldreq r4, [r5, #4] - 8032af4: d003 beq.n 8032afe <_putc_r+0x2e> - 8032af6: 4b14 ldr r3, [pc, #80] (8032b48 <_putc_r+0x78>) - 8032af8: 429c cmp r4, r3 - 8032afa: bf08 it eq - 8032afc: 68ac ldreq r4, [r5, #8] - 8032afe: 68a3 ldr r3, [r4, #8] - 8032b00: 1e5a subs r2, r3, #1 - 8032b02: 2a00 cmp r2, #0 - 8032b04: 60a2 str r2, [r4, #8] - 8032b06: da13 bge.n 8032b30 <_putc_r+0x60> - 8032b08: 69a3 ldr r3, [r4, #24] - 8032b0a: 429a cmp r2, r3 - 8032b0c: db0a blt.n 8032b24 <_putc_r+0x54> - 8032b0e: 6823 ldr r3, [r4, #0] - 8032b10: 701e strb r6, [r3, #0] - 8032b12: 6823 ldr r3, [r4, #0] - 8032b14: 7818 ldrb r0, [r3, #0] - 8032b16: 280a cmp r0, #10 - 8032b18: d001 beq.n 8032b1e <_putc_r+0x4e> - 8032b1a: 3301 adds r3, #1 - 8032b1c: e00d b.n 8032b3a <_putc_r+0x6a> - 8032b1e: 4628 mov r0, r5 - 8032b20: 210a movs r1, #10 - 8032b22: e001 b.n 8032b28 <_putc_r+0x58> - 8032b24: 4628 mov r0, r5 - 8032b26: 4631 mov r1, r6 - 8032b28: 4622 mov r2, r4 - 8032b2a: f000 fb85 bl 8033238 <__swbuf_r> - 8032b2e: e005 b.n 8032b3c <_putc_r+0x6c> - 8032b30: 6823 ldr r3, [r4, #0] - 8032b32: 701e strb r6, [r3, #0] - 8032b34: 6823 ldr r3, [r4, #0] - 8032b36: f813 0b01 ldrb.w r0, [r3], #1 - 8032b3a: 6023 str r3, [r4, #0] - 8032b3c: bd70 pop {r4, r5, r6, pc} - 8032b3e: 46c0 nop (mov r8, r8) - 8032b40: 080357d0 .word 0x080357d0 - 8032b44: 080357f0 .word 0x080357f0 - 8032b48: 08035810 .word 0x08035810 - -08032b4c : - 8032b4c: b500 push {lr} - 8032b4e: 4b05 ldr r3, [pc, #20] (8032b64 ) - 8032b50: 4684 mov ip, r0 - 8032b52: 460a mov r2, r1 - 8032b54: b081 sub sp, #4 - 8032b56: 6818 ldr r0, [r3, #0] - 8032b58: 4661 mov r1, ip - 8032b5a: f7ff ffb9 bl 8032ad0 <_putc_r> - 8032b5e: b001 add sp, #4 - 8032b60: bd00 pop {pc} - 8032b62: 46c0 nop (mov r8, r8) - 8032b64: 20000050 .word 0x20000050 - -08032b68 : - 8032b68: b500 push {lr} - 8032b6a: 4b05 ldr r3, [pc, #20] (8032b80 ) - 8032b6c: 4684 mov ip, r0 - 8032b6e: 460a mov r2, r1 - 8032b70: b081 sub sp, #4 - 8032b72: 6818 ldr r0, [r3, #0] - 8032b74: 4661 mov r1, ip - 8032b76: f000 f805 bl 8032b84 <_realloc_r> - 8032b7a: b001 add sp, #4 - 8032b7c: bd00 pop {pc} - 8032b7e: 46c0 nop (mov r8, r8) - 8032b80: 20000050 .word 0x20000050 - -08032b84 <_realloc_r>: - 8032b84: b5f0 push {r4, r5, r6, r7, lr} - 8032b86: b087 sub sp, #28 - 8032b88: 9002 str r0, [sp, #8] - 8032b8a: 460e mov r6, r1 - 8032b8c: 9201 str r2, [sp, #4] - 8032b8e: b921 cbnz r1, 8032b9a <_realloc_r+0x16> - 8032b90: 4611 mov r1, r2 - 8032b92: f7ff fd0d bl 80325b0 <_malloc_r> - 8032b96: 4605 mov r5, r0 - 8032b98: e19d b.n 8032ed6 <_realloc_r+0x352> - 8032b9a: 9802 ldr r0, [sp, #8] - 8032b9c: f7ff ff94 bl 8032ac8 <__malloc_lock> - 8032ba0: 9801 ldr r0, [sp, #4] - 8032ba2: f1a6 0708 sub.w r7, r6, #8 ; 0x8 - 8032ba6: f100 030b add.w r3, r0, #11 ; 0xb - 8032baa: 2b16 cmp r3, #22 - 8032bac: bf88 it hi - 8032bae: f023 0307 bichi.w r3, r3, #7 ; 0x7 - 8032bb2: 687c ldr r4, [r7, #4] - 8032bb4: bf88 it hi - 8032bb6: 9303 strhi r3, [sp, #12] - 8032bb8: d801 bhi.n 8032bbe <_realloc_r+0x3a> - 8032bba: 2110 movs r1, #16 - 8032bbc: 9103 str r1, [sp, #12] - 8032bbe: 9a03 ldr r2, [sp, #12] - 8032bc0: 9d01 ldr r5, [sp, #4] - 8032bc2: 42aa cmp r2, r5 - 8032bc4: bf2c ite cs - 8032bc6: 2300 movcs r3, #0 - 8032bc8: 2301 movcc r3, #1 - 8032bca: ea53 72d2 orrs.w r2, r3, r2, lsr #31 - 8032bce: d004 beq.n 8032bda <_realloc_r+0x56> - 8032bd0: 9802 ldr r0, [sp, #8] - 8032bd2: 230c movs r3, #12 - 8032bd4: 60c3 str r3, [r0, #12] - 8032bd6: 2500 movs r5, #0 - 8032bd8: e17d b.n 8032ed6 <_realloc_r+0x352> - 8032bda: 9903 ldr r1, [sp, #12] - 8032bdc: f024 0c03 bic.w ip, r4, #3 ; 0x3 - 8032be0: 458c cmp ip, r1 - 8032be2: bfa4 itt ge - 8032be4: 463c movge r4, r7 - 8032be6: 4665 movge r5, ip - 8032be8: f280 814b bge.w 8032e82 <_realloc_r+0x2fe> - 8032bec: 4abb ldr r2, [pc, #748] (8032edc <_realloc_r+0x358>) - 8032bee: eb07 010c add.w r1, r7, ip - 8032bf2: f8d2 e008 ldr.w lr, [r2, #8] - 8032bf6: 4571 cmp r1, lr - 8032bf8: d007 beq.n 8032c0a <_realloc_r+0x86> - 8032bfa: 684b ldr r3, [r1, #4] - 8032bfc: f023 0301 bic.w r3, r3, #1 ; 0x1 - 8032c00: 440b add r3, r1 - 8032c02: 685b ldr r3, [r3, #4] - 8032c04: f013 0f01 tst.w r3, #1 ; 0x1 - 8032c08: d128 bne.n 8032c5c <_realloc_r+0xd8> - 8032c0a: 684b ldr r3, [r1, #4] - 8032c0c: 4571 cmp r1, lr - 8032c0e: f023 0003 bic.w r0, r3, #3 ; 0x3 - 8032c12: eb00 020c add.w r2, r0, ip - 8032c16: d118 bne.n 8032c4a <_realloc_r+0xc6> - 8032c18: 9d03 ldr r5, [sp, #12] - 8032c1a: f105 0310 add.w r3, r5, #16 ; 0x10 - 8032c1e: 429a cmp r2, r3 - 8032c20: db1e blt.n 8032c60 <_realloc_r+0xdc> - 8032c22: 1b52 subs r2, r2, r5 - 8032c24: eb07 0305 add.w r3, r7, r5 - 8032c28: 48ac ldr r0, [pc, #688] (8032edc <_realloc_r+0x358>) - 8032c2a: f042 0201 orr.w r2, r2, #1 ; 0x1 - 8032c2e: 605a str r2, [r3, #4] - 8032c30: 6083 str r3, [r0, #8] - 8032c32: 687b ldr r3, [r7, #4] - 8032c34: 9802 ldr r0, [sp, #8] - 8032c36: f003 0301 and.w r3, r3, #1 ; 0x1 - 8032c3a: ea45 0303 orr.w r3, r5, r3 - 8032c3e: 607b str r3, [r7, #4] - 8032c40: f7ff ff44 bl 8032acc <__malloc_unlock> - 8032c44: f107 0508 add.w r5, r7, #8 ; 0x8 - 8032c48: e145 b.n 8032ed6 <_realloc_r+0x352> - 8032c4a: 4615 mov r5, r2 - 8032c4c: 9a03 ldr r2, [sp, #12] - 8032c4e: 4295 cmp r5, r2 - 8032c50: db06 blt.n 8032c60 <_realloc_r+0xdc> - 8032c52: 68ca ldr r2, [r1, #12] - 8032c54: 688b ldr r3, [r1, #8] - 8032c56: 60da str r2, [r3, #12] - 8032c58: 6093 str r3, [r2, #8] - 8032c5a: e0cc b.n 8032df6 <_realloc_r+0x272> - 8032c5c: 2100 movs r1, #0 - 8032c5e: 2000 movs r0, #0 - 8032c60: f014 0f01 tst.w r4, #1 ; 0x1 - 8032c64: f040 80af bne.w 8032dc6 <_realloc_r+0x242> - 8032c68: f856 3c08 ldr.w r3, [r6, #-8] - 8032c6c: ebc3 0407 rsb r4, r3, r7 - 8032c70: 6863 ldr r3, [r4, #4] - 8032c72: f023 0303 bic.w r3, r3, #3 ; 0x3 - 8032c76: 9304 str r3, [sp, #16] - 8032c78: 2900 cmp r1, #0 - 8032c7a: d05f beq.n 8032d3c <_realloc_r+0x1b8> - 8032c7c: 4571 cmp r1, lr - 8032c7e: eb03 020c add.w r2, r3, ip - 8032c82: d151 bne.n 8032d28 <_realloc_r+0x1a4> - 8032c84: 9d03 ldr r5, [sp, #12] - 8032c86: 1812 adds r2, r2, r0 - 8032c88: f105 0310 add.w r3, r5, #16 ; 0x10 - 8032c8c: 429a cmp r2, r3 - 8032c8e: 9205 str r2, [sp, #20] - 8032c90: db54 blt.n 8032d3c <_realloc_r+0x1b8> - 8032c92: 4625 mov r5, r4 - 8032c94: 68e2 ldr r2, [r4, #12] - 8032c96: f855 3f08 ldr.w r3, [r5, #8]! - 8032c9a: 60da str r2, [r3, #12] - 8032c9c: 6093 str r3, [r2, #8] - 8032c9e: f1ac 0204 sub.w r2, ip, #4 ; 0x4 - 8032ca2: 2a24 cmp r2, #36 - 8032ca4: d82a bhi.n 8032cfc <_realloc_r+0x178> - 8032ca6: 2a13 cmp r2, #19 - 8032ca8: 4630 mov r0, r6 - 8032caa: 46ac mov ip, r5 - 8032cac: d91a bls.n 8032ce4 <_realloc_r+0x160> - 8032cae: 6833 ldr r3, [r6, #0] - 8032cb0: 1d31 adds r1, r6, #4 - 8032cb2: 60a3 str r3, [r4, #8] - 8032cb4: 6873 ldr r3, [r6, #4] - 8032cb6: 1d08 adds r0, r1, #4 - 8032cb8: 2a1b cmp r2, #27 - 8032cba: 60e3 str r3, [r4, #12] - 8032cbc: f104 0c10 add.w ip, r4, #16 ; 0x10 - 8032cc0: d910 bls.n 8032ce4 <_realloc_r+0x160> - 8032cc2: 684b ldr r3, [r1, #4] - 8032cc4: 1d01 adds r1, r0, #4 - 8032cc6: 6123 str r3, [r4, #16] - 8032cc8: 6843 ldr r3, [r0, #4] - 8032cca: 1d08 adds r0, r1, #4 - 8032ccc: 2a24 cmp r2, #36 - 8032cce: 6163 str r3, [r4, #20] - 8032cd0: f104 0c18 add.w ip, r4, #24 ; 0x18 - 8032cd4: d106 bne.n 8032ce4 <_realloc_r+0x160> - 8032cd6: 684b ldr r3, [r1, #4] - 8032cd8: f104 0c20 add.w ip, r4, #32 ; 0x20 - 8032cdc: 61a3 str r3, [r4, #24] - 8032cde: 6843 ldr r3, [r0, #4] - 8032ce0: 3008 adds r0, #8 - 8032ce2: 61e3 str r3, [r4, #28] - 8032ce4: 4601 mov r1, r0 - 8032ce6: f851 3b04 ldr.w r3, [r1], #4 - 8032cea: 4662 mov r2, ip - 8032cec: f842 3b04 str.w r3, [r2], #4 - 8032cf0: 6843 ldr r3, [r0, #4] - 8032cf2: f8cc 3004 str.w r3, [ip, #4] - 8032cf6: 684b ldr r3, [r1, #4] - 8032cf8: 6053 str r3, [r2, #4] - 8032cfa: e003 b.n 8032d04 <_realloc_r+0x180> - 8032cfc: 4628 mov r0, r5 - 8032cfe: 4631 mov r1, r6 - 8032d00: f7ff feba bl 8032a78 - 8032d04: 9803 ldr r0, [sp, #12] - 8032d06: 4975 ldr r1, [pc, #468] (8032edc <_realloc_r+0x358>) - 8032d08: eb04 0300 add.w r3, r4, r0 - 8032d0c: 608b str r3, [r1, #8] - 8032d0e: 9905 ldr r1, [sp, #20] - 8032d10: ebc0 0201 rsb r2, r0, r1 - 8032d14: f042 0201 orr.w r2, r2, #1 ; 0x1 - 8032d18: 605a str r2, [r3, #4] - 8032d1a: 6863 ldr r3, [r4, #4] - 8032d1c: f003 0301 and.w r3, r3, #1 ; 0x1 - 8032d20: ea40 0303 orr.w r3, r0, r3 - 8032d24: 6063 str r3, [r4, #4] - 8032d26: e0a8 b.n 8032e7a <_realloc_r+0x2f6> - 8032d28: eb02 0500 add.w r5, r2, r0 - 8032d2c: 9a03 ldr r2, [sp, #12] - 8032d2e: 4295 cmp r5, r2 - 8032d30: db04 blt.n 8032d3c <_realloc_r+0x1b8> - 8032d32: 68ca ldr r2, [r1, #12] - 8032d34: 688b ldr r3, [r1, #8] - 8032d36: 60da str r2, [r3, #12] - 8032d38: 6093 str r3, [r2, #8] - 8032d3a: e005 b.n 8032d48 <_realloc_r+0x1c4> - 8032d3c: 9b04 ldr r3, [sp, #16] - 8032d3e: 9803 ldr r0, [sp, #12] - 8032d40: eb03 050c add.w r5, r3, ip - 8032d44: 4285 cmp r5, r0 - 8032d46: db3e blt.n 8032dc6 <_realloc_r+0x242> - 8032d48: 4620 mov r0, r4 - 8032d4a: 68e2 ldr r2, [r4, #12] - 8032d4c: f850 3f08 ldr.w r3, [r0, #8]! - 8032d50: 60da str r2, [r3, #12] - 8032d52: 6093 str r3, [r2, #8] - 8032d54: f1ac 0204 sub.w r2, ip, #4 ; 0x4 - 8032d58: 2a24 cmp r2, #36 - 8032d5a: d830 bhi.n 8032dbe <_realloc_r+0x23a> - 8032d5c: 2a13 cmp r2, #19 - 8032d5e: 46b4 mov ip, r6 - 8032d60: d921 bls.n 8032da6 <_realloc_r+0x222> - 8032d62: 6833 ldr r3, [r6, #0] - 8032d64: f106 0104 add.w r1, r6, #4 ; 0x4 - 8032d68: 60a3 str r3, [r4, #8] - 8032d6a: 6873 ldr r3, [r6, #4] - 8032d6c: 2a1b cmp r2, #27 - 8032d6e: 60e3 str r3, [r4, #12] - 8032d70: f104 0010 add.w r0, r4, #16 ; 0x10 - 8032d74: f101 0c04 add.w ip, r1, #4 ; 0x4 - 8032d78: d915 bls.n 8032da6 <_realloc_r+0x222> - 8032d7a: 684b ldr r3, [r1, #4] - 8032d7c: 2a24 cmp r2, #36 - 8032d7e: 6123 str r3, [r4, #16] - 8032d80: f8dc 3004 ldr.w r3, [ip, #4] - 8032d84: f10c 0104 add.w r1, ip, #4 ; 0x4 - 8032d88: 6163 str r3, [r4, #20] - 8032d8a: f104 0018 add.w r0, r4, #24 ; 0x18 - 8032d8e: f101 0c04 add.w ip, r1, #4 ; 0x4 - 8032d92: d108 bne.n 8032da6 <_realloc_r+0x222> - 8032d94: 684b ldr r3, [r1, #4] - 8032d96: f104 0020 add.w r0, r4, #32 ; 0x20 - 8032d9a: 61a3 str r3, [r4, #24] - 8032d9c: f8dc 3004 ldr.w r3, [ip, #4] - 8032da0: f10c 0c08 add.w ip, ip, #8 ; 0x8 - 8032da4: 61e3 str r3, [r4, #28] - 8032da6: 4661 mov r1, ip - 8032da8: f851 3b04 ldr.w r3, [r1], #4 - 8032dac: 4602 mov r2, r0 - 8032dae: f842 3b04 str.w r3, [r2], #4 - 8032db2: f8dc 3004 ldr.w r3, [ip, #4] - 8032db6: 6043 str r3, [r0, #4] - 8032db8: 684b ldr r3, [r1, #4] - 8032dba: 6053 str r3, [r2, #4] - 8032dbc: e061 b.n 8032e82 <_realloc_r+0x2fe> - 8032dbe: 4631 mov r1, r6 - 8032dc0: f7ff fe5a bl 8032a78 - 8032dc4: e05d b.n 8032e82 <_realloc_r+0x2fe> - 8032dc6: 9802 ldr r0, [sp, #8] - 8032dc8: 9901 ldr r1, [sp, #4] - 8032dca: f8cd c000 str.w ip, [sp] - 8032dce: f7ff fbef bl 80325b0 <_malloc_r> - 8032dd2: f8dd c000 ldr.w ip, [sp] - 8032dd6: 4605 mov r5, r0 - 8032dd8: 2800 cmp r0, #0 - 8032dda: d04e beq.n 8032e7a <_realloc_r+0x2f6> - 8032ddc: 687b ldr r3, [r7, #4] - 8032dde: f1a0 0208 sub.w r2, r0, #8 ; 0x8 - 8032de2: f023 0301 bic.w r3, r3, #1 ; 0x1 - 8032de6: 443b add r3, r7 - 8032de8: 429a cmp r2, r3 - 8032dea: d106 bne.n 8032dfa <_realloc_r+0x276> - 8032dec: 6853 ldr r3, [r2, #4] - 8032dee: f023 0303 bic.w r3, r3, #3 ; 0x3 - 8032df2: eb03 050c add.w r5, r3, ip - 8032df6: 463c mov r4, r7 - 8032df8: e043 b.n 8032e82 <_realloc_r+0x2fe> - 8032dfa: f1ac 0204 sub.w r2, ip, #4 ; 0x4 - 8032dfe: 2a24 cmp r2, #36 - 8032e00: d834 bhi.n 8032e6c <_realloc_r+0x2e8> - 8032e02: 2a13 cmp r2, #19 - 8032e04: 4630 mov r0, r6 - 8032e06: 46ac mov ip, r5 - 8032e08: d924 bls.n 8032e54 <_realloc_r+0x2d0> - 8032e0a: 46b6 mov lr, r6 - 8032e0c: f85e 3b04 ldr.w r3, [lr], #4 - 8032e10: 4629 mov r1, r5 - 8032e12: f841 3b04 str.w r3, [r1], #4 - 8032e16: 6873 ldr r3, [r6, #4] - 8032e18: 2a1b cmp r2, #27 - 8032e1a: 606b str r3, [r5, #4] - 8032e1c: f101 0c04 add.w ip, r1, #4 ; 0x4 - 8032e20: f10e 0004 add.w r0, lr, #4 ; 0x4 - 8032e24: d916 bls.n 8032e54 <_realloc_r+0x2d0> - 8032e26: f8de 3004 ldr.w r3, [lr, #4] - 8032e2a: f10c 0e04 add.w lr, ip, #4 ; 0x4 - 8032e2e: 604b str r3, [r1, #4] - 8032e30: 6843 ldr r3, [r0, #4] - 8032e32: 1d01 adds r1, r0, #4 - 8032e34: 1d08 adds r0, r1, #4 - 8032e36: 2a24 cmp r2, #36 - 8032e38: f8cc 3004 str.w r3, [ip, #4] - 8032e3c: f10e 0c04 add.w ip, lr, #4 ; 0x4 - 8032e40: d108 bne.n 8032e54 <_realloc_r+0x2d0> - 8032e42: 684b ldr r3, [r1, #4] - 8032e44: f8ce 3004 str.w r3, [lr, #4] - 8032e48: 6843 ldr r3, [r0, #4] - 8032e4a: 3008 adds r0, #8 - 8032e4c: f8cc 3004 str.w r3, [ip, #4] - 8032e50: f10c 0c08 add.w ip, ip, #8 ; 0x8 - 8032e54: 4601 mov r1, r0 - 8032e56: f851 3b04 ldr.w r3, [r1], #4 - 8032e5a: 4662 mov r2, ip - 8032e5c: f842 3b04 str.w r3, [r2], #4 - 8032e60: 6843 ldr r3, [r0, #4] - 8032e62: f8cc 3004 str.w r3, [ip, #4] - 8032e66: 684b ldr r3, [r1, #4] - 8032e68: 6053 str r3, [r2, #4] - 8032e6a: e002 b.n 8032e72 <_realloc_r+0x2ee> - 8032e6c: 4631 mov r1, r6 - 8032e6e: f7ff fe03 bl 8032a78 - 8032e72: 9802 ldr r0, [sp, #8] - 8032e74: 4631 mov r1, r6 - 8032e76: f000 fcd1 bl 803381c <_free_r> - 8032e7a: 9802 ldr r0, [sp, #8] - 8032e7c: f7ff fe26 bl 8032acc <__malloc_unlock> - 8032e80: e029 b.n 8032ed6 <_realloc_r+0x352> - 8032e82: 9903 ldr r1, [sp, #12] - 8032e84: 6863 ldr r3, [r4, #4] - 8032e86: ebc1 0205 rsb r2, r1, r5 - 8032e8a: 2a0f cmp r2, #15 - 8032e8c: d913 bls.n 8032eb6 <_realloc_r+0x332> - 8032e8e: 9d03 ldr r5, [sp, #12] - 8032e90: f003 0301 and.w r3, r3, #1 ; 0x1 - 8032e94: ea45 0303 orr.w r3, r5, r3 - 8032e98: 6063 str r3, [r4, #4] - 8032e9a: 4421 add r1, r4 - 8032e9c: f042 0301 orr.w r3, r2, #1 ; 0x1 - 8032ea0: 604b str r3, [r1, #4] - 8032ea2: 440a add r2, r1 - 8032ea4: 6853 ldr r3, [r2, #4] - 8032ea6: 3108 adds r1, #8 - 8032ea8: f043 0301 orr.w r3, r3, #1 ; 0x1 - 8032eac: 6053 str r3, [r2, #4] - 8032eae: 9802 ldr r0, [sp, #8] - 8032eb0: f000 fcb4 bl 803381c <_free_r> - 8032eb4: e00a b.n 8032ecc <_realloc_r+0x348> - 8032eb6: f003 0301 and.w r3, r3, #1 ; 0x1 - 8032eba: ea45 0303 orr.w r3, r5, r3 - 8032ebe: 6063 str r3, [r4, #4] - 8032ec0: eb04 0205 add.w r2, r4, r5 - 8032ec4: 6853 ldr r3, [r2, #4] - 8032ec6: f043 0301 orr.w r3, r3, #1 ; 0x1 - 8032eca: 6053 str r3, [r2, #4] - 8032ecc: 9802 ldr r0, [sp, #8] - 8032ece: f7ff fdfd bl 8032acc <__malloc_unlock> - 8032ed2: f104 0508 add.w r5, r4, #8 ; 0x8 - 8032ed6: 4628 mov r0, r5 - 8032ed8: b007 add sp, #28 - 8032eda: bdf0 pop {r4, r5, r6, r7, pc} - 8032edc: 20000144 .word 0x20000144 - -08032ee0 <_wrapup_reent>: - 8032ee0: b570 push {r4, r5, r6, lr} - 8032ee2: 4606 mov r6, r0 - 8032ee4: b908 cbnz r0, 8032eea <_wrapup_reent+0xa> - 8032ee6: 4b0a ldr r3, [pc, #40] (8032f10 <_wrapup_reent+0x30>) - 8032ee8: 681e ldr r6, [r3, #0] - 8032eea: f106 0248 add.w r2, r6, #72 ; 0x48 - 8032eee: 6855 ldr r5, [r2, #4] - 8032ef0: 1c6b adds r3, r5, #1 - 8032ef2: eb02 0483 add.w r4, r2, r3, lsl #2 - 8032ef6: e001 b.n 8032efc <_wrapup_reent+0x1c> - 8032ef8: 6863 ldr r3, [r4, #4] - 8032efa: 4798 blx r3 - 8032efc: 3c04 subs r4, #4 - 8032efe: f115 35ff adds.w r5, r5, #4294967295 ; 0xffffffff - 8032f02: d5f9 bpl.n 8032ef8 <_wrapup_reent+0x18> - 8032f04: 6ab3 ldr r3, [r6, #40] - 8032f06: b10b cbz r3, 8032f0c <_wrapup_reent+0x2c> - 8032f08: 4630 mov r0, r6 - 8032f0a: 4798 blx r3 - 8032f0c: bd70 pop {r4, r5, r6, pc} - 8032f0e: 46c0 nop (mov r8, r8) - 8032f10: 20000050 .word 0x20000050 - -08032f14 : - 8032f14: b530 push {r4, r5, lr} - 8032f16: 460d mov r5, r1 - 8032f18: 6809 ldr r1, [r1, #0] - 8032f1a: b081 sub sp, #4 - 8032f1c: 4604 mov r4, r0 - 8032f1e: b109 cbz r1, 8032f24 - 8032f20: f7ff fff8 bl 8032f14 - 8032f24: 4620 mov r0, r4 - 8032f26: 4629 mov r1, r5 - 8032f28: f000 fc78 bl 803381c <_free_r> - 8032f2c: b001 add sp, #4 - 8032f2e: bd30 pop {r4, r5, pc} - -08032f30 <_reclaim_reent>: - 8032f30: 4b2a ldr r3, [pc, #168] (8032fdc <_reclaim_reent+0xac>) - 8032f32: b570 push {r4, r5, r6, lr} - 8032f34: 681b ldr r3, [r3, #0] - 8032f36: 4605 mov r5, r0 - 8032f38: 4298 cmp r0, r3 - 8032f3a: d04d beq.n 8032fd8 <_reclaim_reent+0xa8> - 8032f3c: 6a43 ldr r3, [r0, #36] - 8032f3e: b1ab cbz r3, 8032f6c <_reclaim_reent+0x3c> - 8032f40: 68db ldr r3, [r3, #12] - 8032f42: b19b cbz r3, 8032f6c <_reclaim_reent+0x3c> - 8032f44: 2600 movs r6, #0 - 8032f46: 6a6b ldr r3, [r5, #36] - 8032f48: 68db ldr r3, [r3, #12] - 8032f4a: 5999 ldr r1, [r3, r6] - 8032f4c: e004 b.n 8032f58 <_reclaim_reent+0x28> - 8032f4e: 680c ldr r4, [r1, #0] - 8032f50: 4628 mov r0, r5 - 8032f52: f000 fc63 bl 803381c <_free_r> - 8032f56: 4621 mov r1, r4 - 8032f58: 2900 cmp r1, #0 - 8032f5a: d1f8 bne.n 8032f4e <_reclaim_reent+0x1e> - 8032f5c: 3604 adds r6, #4 - 8032f5e: 2e3c cmp r6, #60 - 8032f60: d1f1 bne.n 8032f46 <_reclaim_reent+0x16> - 8032f62: 6a6b ldr r3, [r5, #36] - 8032f64: 4628 mov r0, r5 - 8032f66: 68d9 ldr r1, [r3, #12] - 8032f68: f000 fc58 bl 803381c <_free_r> - 8032f6c: 6a6b ldr r3, [r5, #36] - 8032f6e: 6819 ldr r1, [r3, #0] - 8032f70: b111 cbz r1, 8032f78 <_reclaim_reent+0x48> - 8032f72: 4628 mov r0, r5 - 8032f74: f000 fc52 bl 803381c <_free_r> - 8032f78: 6969 ldr r1, [r5, #20] - 8032f7a: b111 cbz r1, 8032f82 <_reclaim_reent+0x52> - 8032f7c: 4628 mov r0, r5 - 8032f7e: f000 fc4d bl 803381c <_free_r> - 8032f82: 6a69 ldr r1, [r5, #36] - 8032f84: b111 cbz r1, 8032f8c <_reclaim_reent+0x5c> - 8032f86: 4628 mov r0, r5 - 8032f88: f000 fc48 bl 803381c <_free_r> - 8032f8c: 6ba9 ldr r1, [r5, #56] - 8032f8e: b111 cbz r1, 8032f96 <_reclaim_reent+0x66> - 8032f90: 4628 mov r0, r5 - 8032f92: f000 fc43 bl 803381c <_free_r> - 8032f96: 6be9 ldr r1, [r5, #60] - 8032f98: b111 cbz r1, 8032fa0 <_reclaim_reent+0x70> - 8032f9a: 4628 mov r0, r5 - 8032f9c: f000 fc3e bl 803381c <_free_r> - 8032fa0: 6c29 ldr r1, [r5, #64] - 8032fa2: b111 cbz r1, 8032faa <_reclaim_reent+0x7a> - 8032fa4: 4628 mov r0, r5 - 8032fa6: f000 fc39 bl 803381c <_free_r> - 8032faa: 6cab ldr r3, [r5, #72] - 8032fac: f8d3 1088 ldr.w r1, [r3, #136] - 8032fb0: b111 cbz r1, 8032fb8 <_reclaim_reent+0x88> - 8032fb2: 4628 mov r0, r5 - 8032fb4: f000 fc32 bl 803381c <_free_r> - 8032fb8: 6b69 ldr r1, [r5, #52] - 8032fba: b111 cbz r1, 8032fc2 <_reclaim_reent+0x92> - 8032fbc: 4628 mov r0, r5 - 8032fbe: f000 fc2d bl 803381c <_free_r> - 8032fc2: 69ab ldr r3, [r5, #24] - 8032fc4: b143 cbz r3, 8032fd8 <_reclaim_reent+0xa8> - 8032fc6: 6aab ldr r3, [r5, #40] - 8032fc8: 4628 mov r0, r5 - 8032fca: 4798 blx r3 - 8032fcc: f8d5 10d8 ldr.w r1, [r5, #216] - 8032fd0: b111 cbz r1, 8032fd8 <_reclaim_reent+0xa8> - 8032fd2: 4628 mov r0, r5 - 8032fd4: f7ff ff9e bl 8032f14 - 8032fd8: bd70 pop {r4, r5, r6, pc} - 8032fda: 46c0 nop (mov r8, r8) - 8032fdc: 20000050 .word 0x20000050 - -08032fe0 <_sbrk_r>: - 8032fe0: b530 push {r4, r5, lr} - 8032fe2: 4c08 ldr r4, [pc, #32] (8033004 <_sbrk_r+0x24>) - 8032fe4: 2300 movs r3, #0 - 8032fe6: b081 sub sp, #4 - 8032fe8: 4605 mov r5, r0 - 8032fea: 4608 mov r0, r1 - 8032fec: 6023 str r3, [r4, #0] - 8032fee: f7f6 fb77 bl 80296e0 <_sbrk> - 8032ff2: f1b0 3fff cmp.w r0, #4294967295 ; 0xffffffff - 8032ff6: d102 bne.n 8032ffe <_sbrk_r+0x1e> - 8032ff8: 6823 ldr r3, [r4, #0] - 8032ffa: b103 cbz r3, 8032ffe <_sbrk_r+0x1e> - 8032ffc: 60eb str r3, [r5, #12] - 8032ffe: b001 add sp, #4 - 8033000: bd30 pop {r4, r5, pc} - 8033002: 46c0 nop (mov r8, r8) - 8033004: 20000ee0 .word 0x20000ee0 - -08033008 <_raise_r>: - 8033008: b530 push {r4, r5, lr} - 803300a: 291f cmp r1, #31 - 803300c: b081 sub sp, #4 - 803300e: 4604 mov r4, r0 - 8033010: 460d mov r5, r1 - 8033012: d904 bls.n 803301e <_raise_r+0x16> - 8033014: 2316 movs r3, #22 - 8033016: 60c3 str r3, [r0, #12] - 8033018: f04f 30ff mov.w r0, #4294967295 ; 0xffffffff - 803301c: e01c b.n 8033058 <_raise_r+0x50> - 803301e: 6c41 ldr r1, [r0, #68] - 8033020: b111 cbz r1, 8033028 <_raise_r+0x20> - 8033022: f851 2025 ldr.w r2, [r1, r5, lsl #2] - 8033026: b942 cbnz r2, 803303a <_raise_r+0x32> - 8033028: 4620 mov r0, r4 - 803302a: f000 f899 bl 8033160 <_getpid_r> - 803302e: 462a mov r2, r5 - 8033030: 4601 mov r1, r0 - 8033032: 4620 mov r0, r4 - 8033034: f000 f89a bl 803316c <_kill_r> - 8033038: e00e b.n 8033058 <_raise_r+0x50> - 803303a: 2a01 cmp r2, #1 - 803303c: d00b beq.n 8033056 <_raise_r+0x4e> - 803303e: f1b2 3fff cmp.w r2, #4294967295 ; 0xffffffff - 8033042: d103 bne.n 803304c <_raise_r+0x44> - 8033044: 2316 movs r3, #22 - 8033046: 60c3 str r3, [r0, #12] - 8033048: 2001 movs r0, #1 - 803304a: e005 b.n 8033058 <_raise_r+0x50> - 803304c: 2300 movs r3, #0 - 803304e: f841 3025 str.w r3, [r1, r5, lsl #2] - 8033052: 4628 mov r0, r5 - 8033054: 4790 blx r2 - 8033056: 2000 movs r0, #0 - 8033058: b001 add sp, #4 - 803305a: bd30 pop {r4, r5, pc} - -0803305c : - 803305c: b500 push {lr} - 803305e: 4b04 ldr r3, [pc, #16] (8033070 ) - 8033060: 4601 mov r1, r0 - 8033062: b081 sub sp, #4 - 8033064: 6818 ldr r0, [r3, #0] - 8033066: f7ff ffcf bl 8033008 <_raise_r> - 803306a: b001 add sp, #4 - 803306c: bd00 pop {pc} - 803306e: 46c0 nop (mov r8, r8) - 8033070: 20000050 .word 0x20000050 - -08033074 <_init_signal_r>: - 8033074: 6c43 ldr r3, [r0, #68] - 8033076: b510 push {r4, lr} - 8033078: 4604 mov r4, r0 - 803307a: b963 cbnz r3, 8033096 <_init_signal_r+0x22> - 803307c: 2180 movs r1, #128 - 803307e: f7ff fa97 bl 80325b0 <_malloc_r> - 8033082: 6460 str r0, [r4, #68] - 8033084: b908 cbnz r0, 803308a <_init_signal_r+0x16> - 8033086: 3801 subs r0, #1 - 8033088: e006 b.n 8033098 <_init_signal_r+0x24> - 803308a: 2300 movs r3, #0 - 803308c: 2200 movs r2, #0 - 803308e: 50c2 str r2, [r0, r3] - 8033090: 3304 adds r3, #4 - 8033092: 2b80 cmp r3, #128 - 8033094: d1fb bne.n 803308e <_init_signal_r+0x1a> - 8033096: 2000 movs r0, #0 - 8033098: bd10 pop {r4, pc} - 803309a: 46c0 nop (mov r8, r8) - -0803309c <_init_signal>: - 803309c: b500 push {lr} - 803309e: 4b03 ldr r3, [pc, #12] (80330ac <_init_signal+0x10>) - 80330a0: b081 sub sp, #4 - 80330a2: 6818 ldr r0, [r3, #0] - 80330a4: f7ff ffe6 bl 8033074 <_init_signal_r> - 80330a8: b001 add sp, #4 - 80330aa: bd00 pop {pc} - 80330ac: 20000050 .word 0x20000050 - -080330b0 <__sigtramp_r>: - 80330b0: b530 push {r4, r5, lr} - 80330b2: 291f cmp r1, #31 - 80330b4: b081 sub sp, #4 - 80330b6: 4604 mov r4, r0 - 80330b8: 460d mov r5, r1 - 80330ba: d81a bhi.n 80330f2 <__sigtramp_r+0x42> - 80330bc: 6c43 ldr r3, [r0, #68] - 80330be: b913 cbnz r3, 80330c6 <__sigtramp_r+0x16> - 80330c0: f7ff ffd8 bl 8033074 <_init_signal_r> - 80330c4: b9a8 cbnz r0, 80330f2 <__sigtramp_r+0x42> - 80330c6: 6c60 ldr r0, [r4, #68] - 80330c8: f850 2025 ldr.w r2, [r0, r5, lsl #2] - 80330cc: b90a cbnz r2, 80330d2 <__sigtramp_r+0x22> - 80330ce: 2001 movs r0, #1 - 80330d0: e011 b.n 80330f6 <__sigtramp_r+0x46> - 80330d2: f1b2 3fff cmp.w r2, #4294967295 ; 0xffffffff - 80330d6: d101 bne.n 80330dc <__sigtramp_r+0x2c> - 80330d8: 2002 movs r0, #2 - 80330da: e00c b.n 80330f6 <__sigtramp_r+0x46> - 80330dc: 2a01 cmp r2, #1 - 80330de: d101 bne.n 80330e4 <__sigtramp_r+0x34> - 80330e0: 2003 movs r0, #3 - 80330e2: e008 b.n 80330f6 <__sigtramp_r+0x46> - 80330e4: 2300 movs r3, #0 - 80330e6: f840 3025 str.w r3, [r0, r5, lsl #2] - 80330ea: 4628 mov r0, r5 - 80330ec: 4790 blx r2 - 80330ee: 2000 movs r0, #0 - 80330f0: e001 b.n 80330f6 <__sigtramp_r+0x46> - 80330f2: f04f 30ff mov.w r0, #4294967295 ; 0xffffffff - 80330f6: b001 add sp, #4 - 80330f8: bd30 pop {r4, r5, pc} - 80330fa: 46c0 nop (mov r8, r8) - -080330fc <__sigtramp>: - 80330fc: b500 push {lr} - 80330fe: 4b04 ldr r3, [pc, #16] (8033110 <__sigtramp+0x14>) - 8033100: 4601 mov r1, r0 - 8033102: b081 sub sp, #4 - 8033104: 6818 ldr r0, [r3, #0] - 8033106: f7ff ffd3 bl 80330b0 <__sigtramp_r> - 803310a: b001 add sp, #4 - 803310c: bd00 pop {pc} - 803310e: 46c0 nop (mov r8, r8) - 8033110: 20000050 .word 0x20000050 - -08033114 <_signal_r>: - 8033114: 291f cmp r1, #31 - 8033116: b570 push {r4, r5, r6, lr} - 8033118: 4604 mov r4, r0 - 803311a: 460d mov r5, r1 - 803311c: 4616 mov r6, r2 - 803311e: d902 bls.n 8033126 <_signal_r+0x12> - 8033120: 2316 movs r3, #22 - 8033122: 60c3 str r3, [r0, #12] - 8033124: e004 b.n 8033130 <_signal_r+0x1c> - 8033126: 6c43 ldr r3, [r0, #68] - 8033128: b92b cbnz r3, 8033136 <_signal_r+0x22> - 803312a: f7ff ffa3 bl 8033074 <_init_signal_r> - 803312e: b110 cbz r0, 8033136 <_signal_r+0x22> - 8033130: f04f 30ff mov.w r0, #4294967295 ; 0xffffffff - 8033134: e004 b.n 8033140 <_signal_r+0x2c> - 8033136: 6c63 ldr r3, [r4, #68] - 8033138: f853 0025 ldr.w r0, [r3, r5, lsl #2] - 803313c: f843 6025 str.w r6, [r3, r5, lsl #2] - 8033140: bd70 pop {r4, r5, r6, pc} - 8033142: 46c0 nop (mov r8, r8) - -08033144 : - 8033144: b500 push {lr} - 8033146: 4b05 ldr r3, [pc, #20] (803315c ) - 8033148: 4684 mov ip, r0 - 803314a: 460a mov r2, r1 - 803314c: b081 sub sp, #4 - 803314e: 6818 ldr r0, [r3, #0] - 8033150: 4661 mov r1, ip - 8033152: f7ff ffdf bl 8033114 <_signal_r> - 8033156: b001 add sp, #4 - 8033158: bd00 pop {pc} - 803315a: 46c0 nop (mov r8, r8) - 803315c: 20000050 .word 0x20000050 - -08033160 <_getpid_r>: - 8033160: b500 push {lr} - 8033162: b081 sub sp, #4 - 8033164: f7f6 fa56 bl 8029614 <_getpid> - 8033168: b001 add sp, #4 - 803316a: bd00 pop {pc} - -0803316c <_kill_r>: - 803316c: b530 push {r4, r5, lr} - 803316e: 4c08 ldr r4, [pc, #32] (8033190 <_kill_r+0x24>) - 8033170: 2300 movs r3, #0 - 8033172: b081 sub sp, #4 - 8033174: 4605 mov r5, r0 - 8033176: 4608 mov r0, r1 - 8033178: 4611 mov r1, r2 - 803317a: 6023 str r3, [r4, #0] - 803317c: f7f6 fa5e bl 802963c <_kill> - 8033180: f1b0 3fff cmp.w r0, #4294967295 ; 0xffffffff - 8033184: d102 bne.n 803318c <_kill_r+0x20> - 8033186: 6823 ldr r3, [r4, #0] - 8033188: b103 cbz r3, 803318c <_kill_r+0x20> - 803318a: 60eb str r3, [r5, #12] - 803318c: b001 add sp, #4 - 803318e: bd30 pop {r4, r5, pc} - 8033190: 20000ee0 .word 0x20000ee0 - -08033194 : - 8033194: b530 push {r4, r5, lr} - 8033196: 468c mov ip, r1 - 8033198: 2200 movs r2, #0 - 803319a: 5c81 ldrb r1, [r0, r2] - 803319c: eb00 0402 add.w r4, r0, r2 - 80331a0: eb0c 0502 add.w r5, ip, r2 - 80331a4: b121 cbz r1, 80331b0 - 80331a6: f81c 3002 ldrb.w r3, [ip, r2] - 80331aa: 3201 adds r2, #1 - 80331ac: 4299 cmp r1, r3 - 80331ae: d0f4 beq.n 803319a - 80331b0: 7820 ldrb r0, [r4, #0] - 80331b2: 782b ldrb r3, [r5, #0] - 80331b4: 1ac0 subs r0, r0, r3 - 80331b6: bd30 pop {r4, r5, pc} - -080331b8 : - 80331b8: 2200 movs r2, #0 - 80331ba: 5c8b ldrb r3, [r1, r2] - 80331bc: 5483 strb r3, [r0, r2] - 80331be: 3201 adds r2, #1 - 80331c0: 2b00 cmp r3, #0 - 80331c2: d1fa bne.n 80331ba - 80331c4: 4770 bx lr - 80331c6: 46c0 nop (mov r8, r8) - -080331c8 : - 80331c8: 4602 mov r2, r0 - 80331ca: e000 b.n 80331ce - 80331cc: 3001 adds r0, #1 - 80331ce: 7803 ldrb r3, [r0, #0] - 80331d0: 2b00 cmp r3, #0 - 80331d2: d1fb bne.n 80331cc - 80331d4: 1a80 subs r0, r0, r2 - 80331d6: 4770 bx lr - -080331d8 : - 80331d8: b570 push {r4, r5, r6, lr} - 80331da: 4604 mov r4, r0 - 80331dc: 4608 mov r0, r1 - 80331de: b90a cbnz r2, 80331e4 - 80331e0: 2000 movs r0, #0 - 80331e2: e017 b.n 8033214 - 80331e4: f04f 0c00 mov.w ip, #0 ; 0x0 - 80331e8: e005 b.n 80331f6 - 80331ea: f112 32ff adds.w r2, r2, #4294967295 ; 0xffffffff - 80331ee: d00d beq.n 803320c - 80331f0: f10c 0c01 add.w ip, ip, #1 ; 0x1 - 80331f4: b151 cbz r1, 803320c - 80331f6: eb04 050c add.w r5, r4, ip - 80331fa: eb00 060c add.w r6, r0, ip - 80331fe: b12a cbz r2, 803320c - 8033200: f814 300c ldrb.w r3, [r4, ip] - 8033204: f810 100c ldrb.w r1, [r0, ip] - 8033208: 4299 cmp r1, r3 - 803320a: d0ee beq.n 80331ea - 803320c: 782a ldrb r2, [r5, #0] - 803320e: 7833 ldrb r3, [r6, #0] - 8033210: ebc3 0002 rsb r0, r3, r2 - 8033214: bd70 pop {r4, r5, r6, pc} - 8033216: 46c0 nop (mov r8, r8) - -08033218 : - 8033218: b500 push {lr} - 803321a: 4613 mov r3, r2 - 803321c: 4a05 ldr r2, [pc, #20] (8033234 ) - 803321e: 4684 mov ip, r0 - 8033220: 468e mov lr, r1 - 8033222: b081 sub sp, #4 - 8033224: 6810 ldr r0, [r2, #0] - 8033226: 4661 mov r1, ip - 8033228: 4672 mov r2, lr - 803322a: f000 f879 bl 8033320 <_write_r> - 803322e: b001 add sp, #4 - 8033230: bd00 pop {pc} - 8033232: 46c0 nop (mov r8, r8) - 8033234: 20000050 .word 0x20000050 - -08033238 <__swbuf_r>: - 8033238: b570 push {r4, r5, r6, lr} - 803323a: 4606 mov r6, r0 - 803323c: 460d mov r5, r1 - 803323e: 4614 mov r4, r2 - 8033240: b118 cbz r0, 803324a <__swbuf_r+0x12> - 8033242: 6983 ldr r3, [r0, #24] - 8033244: b90b cbnz r3, 803324a <__swbuf_r+0x12> - 8033246: f000 fa63 bl 8033710 <__sinit> - 803324a: 4b2b ldr r3, [pc, #172] (80332f8 <__swbuf_r+0xc0>) - 803324c: 429c cmp r4, r3 - 803324e: bf08 it eq - 8033250: 6834 ldreq r4, [r6, #0] - 8033252: d008 beq.n 8033266 <__swbuf_r+0x2e> - 8033254: 4b29 ldr r3, [pc, #164] (80332fc <__swbuf_r+0xc4>) - 8033256: 429c cmp r4, r3 - 8033258: bf08 it eq - 803325a: 6874 ldreq r4, [r6, #4] - 803325c: d003 beq.n 8033266 <__swbuf_r+0x2e> - 803325e: 4b28 ldr r3, [pc, #160] (8033300 <__swbuf_r+0xc8>) - 8033260: 429c cmp r4, r3 - 8033262: bf08 it eq - 8033264: 68b4 ldreq r4, [r6, #8] - 8033266: 69a3 ldr r3, [r4, #24] - 8033268: 60a3 str r3, [r4, #8] - 803326a: 89a3 ldrh r3, [r4, #12] - 803326c: f013 0f08 tst.w r3, #8 ; 0x8 - 8033270: d001 beq.n 8033276 <__swbuf_r+0x3e> - 8033272: 6923 ldr r3, [r4, #16] - 8033274: b95b cbnz r3, 803328e <__swbuf_r+0x56> - 8033276: 4630 mov r0, r6 - 8033278: 4621 mov r1, r4 - 803327a: f000 f867 bl 803334c <__swsetup_r> - 803327e: b130 cbz r0, 803328e <__swbuf_r+0x56> - 8033280: 89a3 ldrh r3, [r4, #12] - 8033282: f043 0340 orr.w r3, r3, #64 ; 0x40 - 8033286: 81a3 strh r3, [r4, #12] - 8033288: 2309 movs r3, #9 - 803328a: 60f3 str r3, [r6, #12] - 803328c: e030 b.n 80332f0 <__swbuf_r+0xb8> - 803328e: 89a3 ldrh r3, [r4, #12] - 8033290: 6922 ldr r2, [r4, #16] - 8033292: f413 5f00 tst.w r3, #8192 ; 0x2000 - 8033296: bf01 itttt eq - 8033298: f443 5300 orreq.w r3, r3, #8192 ; 0x2000 - 803329c: 81a3 strheq r3, [r4, #12] - 803329e: 6e63 ldreq r3, [r4, #100] - 80332a0: f423 5300 biceq.w r3, r3, #8192 ; 0x2000 - 80332a4: bf08 it eq - 80332a6: 6663 streq r3, [r4, #100] - 80332a8: 6823 ldr r3, [r4, #0] - 80332aa: ebc2 0203 rsb r2, r2, r3 - 80332ae: 6963 ldr r3, [r4, #20] - 80332b0: 429a cmp r2, r3 - 80332b2: db05 blt.n 80332c0 <__swbuf_r+0x88> - 80332b4: 4630 mov r0, r6 - 80332b6: 4621 mov r1, r4 - 80332b8: f000 f8ba bl 8033430 <_fflush_r> - 80332bc: b9c0 cbnz r0, 80332f0 <__swbuf_r+0xb8> - 80332be: 2200 movs r2, #0 - 80332c0: 68a3 ldr r3, [r4, #8] - 80332c2: b2ed uxtb r5, r5 - 80332c4: 3b01 subs r3, #1 - 80332c6: 60a3 str r3, [r4, #8] - 80332c8: 6823 ldr r3, [r4, #0] - 80332ca: 3201 adds r2, #1 - 80332cc: f803 5b01 strb.w r5, [r3], #1 - 80332d0: 6023 str r3, [r4, #0] - 80332d2: 6963 ldr r3, [r4, #20] - 80332d4: 429a cmp r2, r3 - 80332d6: d006 beq.n 80332e6 <__swbuf_r+0xae> - 80332d8: 7b23 ldrb r3, [r4, #12] - 80332da: 2d0a cmp r5, #10 - 80332dc: bf14 ite ne - 80332de: 2300 movne r3, #0 - 80332e0: f003 0301 andeq.w r3, r3, #1 ; 0x1 - 80332e4: b133 cbz r3, 80332f4 <__swbuf_r+0xbc> - 80332e6: 4630 mov r0, r6 - 80332e8: 4621 mov r1, r4 - 80332ea: f000 f8a1 bl 8033430 <_fflush_r> - 80332ee: b108 cbz r0, 80332f4 <__swbuf_r+0xbc> - 80332f0: f04f 35ff mov.w r5, #4294967295 ; 0xffffffff - 80332f4: 4628 mov r0, r5 - 80332f6: bd70 pop {r4, r5, r6, pc} - 80332f8: 080357d0 .word 0x080357d0 - 80332fc: 080357f0 .word 0x080357f0 - 8033300: 08035810 .word 0x08035810 - -08033304 <__swbuf>: - 8033304: b500 push {lr} - 8033306: 4b05 ldr r3, [pc, #20] (803331c <__swbuf+0x18>) - 8033308: 4684 mov ip, r0 - 803330a: 460a mov r2, r1 - 803330c: b081 sub sp, #4 - 803330e: 6818 ldr r0, [r3, #0] - 8033310: 4661 mov r1, ip - 8033312: f7ff ff91 bl 8033238 <__swbuf_r> - 8033316: b001 add sp, #4 - 8033318: bd00 pop {pc} - 803331a: 46c0 nop (mov r8, r8) - 803331c: 20000050 .word 0x20000050 - -08033320 <_write_r>: - 8033320: b530 push {r4, r5, lr} - 8033322: 4c09 ldr r4, [pc, #36] (8033348 <_write_r+0x28>) - 8033324: 4605 mov r5, r0 - 8033326: 2000 movs r0, #0 - 8033328: 6020 str r0, [r4, #0] - 803332a: b081 sub sp, #4 - 803332c: 4608 mov r0, r1 - 803332e: 4611 mov r1, r2 - 8033330: 461a mov r2, r3 - 8033332: f7f6 fa37 bl 80297a4 <_write> - 8033336: f1b0 3fff cmp.w r0, #4294967295 ; 0xffffffff - 803333a: d102 bne.n 8033342 <_write_r+0x22> - 803333c: 6823 ldr r3, [r4, #0] - 803333e: b103 cbz r3, 8033342 <_write_r+0x22> - 8033340: 60eb str r3, [r5, #12] - 8033342: b001 add sp, #4 - 8033344: bd30 pop {r4, r5, pc} - 8033346: 46c0 nop (mov r8, r8) - 8033348: 20000ee0 .word 0x20000ee0 - -0803334c <__swsetup_r>: - 803334c: b530 push {r4, r5, lr} - 803334e: 4b34 ldr r3, [pc, #208] (8033420 <__swsetup_r+0xd4>) - 8033350: 4605 mov r5, r0 - 8033352: 6818 ldr r0, [r3, #0] - 8033354: b081 sub sp, #4 - 8033356: 460c mov r4, r1 - 8033358: b118 cbz r0, 8033362 <__swsetup_r+0x16> - 803335a: 6983 ldr r3, [r0, #24] - 803335c: b90b cbnz r3, 8033362 <__swsetup_r+0x16> - 803335e: f000 f9d7 bl 8033710 <__sinit> - 8033362: 4b30 ldr r3, [pc, #192] (8033424 <__swsetup_r+0xd8>) - 8033364: 429c cmp r4, r3 - 8033366: d103 bne.n 8033370 <__swsetup_r+0x24> - 8033368: 4b2d ldr r3, [pc, #180] (8033420 <__swsetup_r+0xd4>) - 803336a: 681b ldr r3, [r3, #0] - 803336c: 681c ldr r4, [r3, #0] - 803336e: e00c b.n 803338a <__swsetup_r+0x3e> - 8033370: 4b2d ldr r3, [pc, #180] (8033428 <__swsetup_r+0xdc>) - 8033372: 429c cmp r4, r3 - 8033374: d103 bne.n 803337e <__swsetup_r+0x32> - 8033376: 4b2a ldr r3, [pc, #168] (8033420 <__swsetup_r+0xd4>) - 8033378: 681b ldr r3, [r3, #0] - 803337a: 685c ldr r4, [r3, #4] - 803337c: e005 b.n 803338a <__swsetup_r+0x3e> - 803337e: 4b2b ldr r3, [pc, #172] (803342c <__swsetup_r+0xe0>) - 8033380: 429c cmp r4, r3 - 8033382: bf02 ittt eq - 8033384: 4b26 ldreq r3, [pc, #152] (8033420 <__swsetup_r+0xd4>) - 8033386: 681b ldreq r3, [r3, #0] - 8033388: 689c ldreq r4, [r3, #8] - 803338a: 89a3 ldrh r3, [r4, #12] - 803338c: f013 0f08 tst.w r3, #8 ; 0x8 - 8033390: d11c bne.n 80333cc <__swsetup_r+0x80> - 8033392: f013 0f10 tst.w r3, #16 ; 0x10 - 8033396: d03c beq.n 8033412 <__swsetup_r+0xc6> - 8033398: f013 0f04 tst.w r3, #4 ; 0x4 - 803339c: d012 beq.n 80333c4 <__swsetup_r+0x78> - 803339e: 6b61 ldr r1, [r4, #52] - 80333a0: b141 cbz r1, 80333b4 <__swsetup_r+0x68> - 80333a2: f104 0344 add.w r3, r4, #68 ; 0x44 - 80333a6: 4299 cmp r1, r3 - 80333a8: d002 beq.n 80333b0 <__swsetup_r+0x64> - 80333aa: 4628 mov r0, r5 - 80333ac: f000 fa36 bl 803381c <_free_r> - 80333b0: 2300 movs r3, #0 - 80333b2: 6363 str r3, [r4, #52] - 80333b4: 89a3 ldrh r3, [r4, #12] - 80333b6: f023 0324 bic.w r3, r3, #36 ; 0x24 - 80333ba: 81a3 strh r3, [r4, #12] - 80333bc: 2300 movs r3, #0 - 80333be: 6063 str r3, [r4, #4] - 80333c0: 6923 ldr r3, [r4, #16] - 80333c2: 6023 str r3, [r4, #0] - 80333c4: 89a3 ldrh r3, [r4, #12] - 80333c6: f043 0308 orr.w r3, r3, #8 ; 0x8 - 80333ca: 81a3 strh r3, [r4, #12] - 80333cc: 6923 ldr r3, [r4, #16] - 80333ce: b94b cbnz r3, 80333e4 <__swsetup_r+0x98> - 80333d0: 89a3 ldrh r3, [r4, #12] - 80333d2: f403 7320 and.w r3, r3, #640 ; 0x280 - 80333d6: f5b3 7f00 cmp.w r3, #512 ; 0x200 - 80333da: d003 beq.n 80333e4 <__swsetup_r+0x98> - 80333dc: 4628 mov r0, r5 - 80333de: 4621 mov r1, r4 - 80333e0: f000 fb36 bl 8033a50 <__smakebuf_r> - 80333e4: 89a3 ldrh r3, [r4, #12] - 80333e6: f013 0f01 tst.w r3, #1 ; 0x1 - 80333ea: d006 beq.n 80333fa <__swsetup_r+0xae> - 80333ec: 2300 movs r3, #0 - 80333ee: 60a3 str r3, [r4, #8] - 80333f0: 6963 ldr r3, [r4, #20] - 80333f2: f1c3 0300 rsb r3, r3, #0 ; 0x0 - 80333f6: 61a3 str r3, [r4, #24] - 80333f8: e005 b.n 8033406 <__swsetup_r+0xba> - 80333fa: f013 0f02 tst.w r3, #2 ; 0x2 - 80333fe: bf0c ite eq - 8033400: 6963 ldreq r3, [r4, #20] - 8033402: 2300 movne r3, #0 - 8033404: 60a3 str r3, [r4, #8] - 8033406: 6923 ldr r3, [r4, #16] - 8033408: b933 cbnz r3, 8033418 <__swsetup_r+0xcc> - 803340a: 89a3 ldrh r3, [r4, #12] - 803340c: f013 0f80 tst.w r3, #128 ; 0x80 - 8033410: d002 beq.n 8033418 <__swsetup_r+0xcc> - 8033412: f04f 30ff mov.w r0, #4294967295 ; 0xffffffff - 8033416: e000 b.n 803341a <__swsetup_r+0xce> - 8033418: 2000 movs r0, #0 - 803341a: b001 add sp, #4 - 803341c: bd30 pop {r4, r5, pc} - 803341e: 46c0 nop (mov r8, r8) - 8033420: 20000050 .word 0x20000050 - 8033424: 080357d0 .word 0x080357d0 - 8033428: 080357f0 .word 0x080357f0 - 803342c: 08035810 .word 0x08035810 - -08033430 <_fflush_r>: - 8033430: b5f0 push {r4, r5, r6, r7, lr} - 8033432: 690b ldr r3, [r1, #16] - 8033434: b083 sub sp, #12 - 8033436: 9001 str r0, [sp, #4] - 8033438: 460d mov r5, r1 - 803343a: 2b00 cmp r3, #0 - 803343c: f000 808c beq.w 8033558 <_fflush_r+0x128> - 8033440: b118 cbz r0, 803344a <_fflush_r+0x1a> - 8033442: 6983 ldr r3, [r0, #24] - 8033444: b90b cbnz r3, 803344a <_fflush_r+0x1a> - 8033446: f000 f963 bl 8033710 <__sinit> - 803344a: 4b45 ldr r3, [pc, #276] (8033560 <_fflush_r+0x130>) - 803344c: 429d cmp r5, r3 - 803344e: d102 bne.n 8033456 <_fflush_r+0x26> - 8033450: 9a01 ldr r2, [sp, #4] - 8033452: 6815 ldr r5, [r2, #0] - 8033454: e00a b.n 803346c <_fflush_r+0x3c> - 8033456: 4b43 ldr r3, [pc, #268] (8033564 <_fflush_r+0x134>) - 8033458: 429d cmp r5, r3 - 803345a: d102 bne.n 8033462 <_fflush_r+0x32> - 803345c: 9b01 ldr r3, [sp, #4] - 803345e: 685d ldr r5, [r3, #4] - 8033460: e004 b.n 803346c <_fflush_r+0x3c> - 8033462: 4b41 ldr r3, [pc, #260] (8033568 <_fflush_r+0x138>) - 8033464: 429d cmp r5, r3 - 8033466: bf04 itt eq - 8033468: 9a01 ldreq r2, [sp, #4] - 803346a: 6895 ldreq r5, [r2, #8] - 803346c: 89ab ldrh r3, [r5, #12] - 803346e: b21a sxth r2, r3 - 8033470: f012 0f08 tst.w r2, #8 ; 0x8 - 8033474: d150 bne.n 8033518 <_fflush_r+0xe8> - 8033476: f443 6200 orr.w r2, r3, #2048 ; 0x800 - 803347a: 686b ldr r3, [r5, #4] - 803347c: 81aa strh r2, [r5, #12] - 803347e: 2b00 cmp r3, #0 - 8033480: dc02 bgt.n 8033488 <_fflush_r+0x58> - 8033482: 6c2b ldr r3, [r5, #64] - 8033484: 2b00 cmp r3, #0 - 8033486: dd67 ble.n 8033558 <_fflush_r+0x128> - 8033488: 6aec ldr r4, [r5, #44] - 803348a: 2c00 cmp r4, #0 - 803348c: d064 beq.n 8033558 <_fflush_r+0x128> - 803348e: f412 5f80 tst.w r2, #4096 ; 0x1000 - 8033492: bf18 it ne - 8033494: 6d6e ldrne r6, [r5, #84] - 8033496: d111 bne.n 80334bc <_fflush_r+0x8c> - 8033498: 2200 movs r2, #0 - 803349a: 2301 movs r3, #1 - 803349c: 6a29 ldr r1, [r5, #32] - 803349e: 9801 ldr r0, [sp, #4] - 80334a0: 47a0 blx r4 - 80334a2: f1b0 3fff cmp.w r0, #4294967295 ; 0xffffffff - 80334a6: 4606 mov r6, r0 - 80334a8: d108 bne.n 80334bc <_fflush_r+0x8c> - 80334aa: 9a01 ldr r2, [sp, #4] - 80334ac: 68d3 ldr r3, [r2, #12] - 80334ae: 2b1d cmp r3, #29 - 80334b0: d052 beq.n 8033558 <_fflush_r+0x128> - 80334b2: 89ab ldrh r3, [r5, #12] - 80334b4: f043 0340 orr.w r3, r3, #64 ; 0x40 - 80334b8: 81ab strh r3, [r5, #12] - 80334ba: e04e b.n 803355a <_fflush_r+0x12a> - 80334bc: 89ab ldrh r3, [r5, #12] - 80334be: f013 0f04 tst.w r3, #4 ; 0x4 - 80334c2: d005 beq.n 80334d0 <_fflush_r+0xa0> - 80334c4: 686b ldr r3, [r5, #4] - 80334c6: 1af6 subs r6, r6, r3 - 80334c8: 6b6b ldr r3, [r5, #52] - 80334ca: b10b cbz r3, 80334d0 <_fflush_r+0xa0> - 80334cc: 6c2b ldr r3, [r5, #64] - 80334ce: 1af6 subs r6, r6, r3 - 80334d0: 2300 movs r3, #0 - 80334d2: 6a29 ldr r1, [r5, #32] - 80334d4: 6aec ldr r4, [r5, #44] - 80334d6: 9801 ldr r0, [sp, #4] - 80334d8: 4632 mov r2, r6 - 80334da: 47a0 blx r4 - 80334dc: 42b0 cmp r0, r6 - 80334de: 89ab ldrh r3, [r5, #12] - 80334e0: d130 bne.n 8033544 <_fflush_r+0x114> - 80334e2: f423 6300 bic.w r3, r3, #2048 ; 0x800 - 80334e6: 041b lsls r3, r3, #16 - 80334e8: 0c1b lsrs r3, r3, #16 - 80334ea: 81ab strh r3, [r5, #12] - 80334ec: 2300 movs r3, #0 - 80334ee: 606b str r3, [r5, #4] - 80334f0: 692b ldr r3, [r5, #16] - 80334f2: 6b69 ldr r1, [r5, #52] - 80334f4: 602b str r3, [r5, #0] - 80334f6: 89ab ldrh r3, [r5, #12] - 80334f8: f413 5f80 tst.w r3, #4096 ; 0x1000 - 80334fc: bf18 it ne - 80334fe: 656e strne r6, [r5, #84] - 8033500: 2900 cmp r1, #0 - 8033502: d029 beq.n 8033558 <_fflush_r+0x128> - 8033504: f105 0344 add.w r3, r5, #68 ; 0x44 - 8033508: 4299 cmp r1, r3 - 803350a: d002 beq.n 8033512 <_fflush_r+0xe2> - 803350c: 9801 ldr r0, [sp, #4] - 803350e: f000 f985 bl 803381c <_free_r> - 8033512: 2300 movs r3, #0 - 8033514: 636b str r3, [r5, #52] - 8033516: e01f b.n 8033558 <_fflush_r+0x128> - 8033518: 692f ldr r7, [r5, #16] - 803351a: b1ef cbz r7, 8033558 <_fflush_r+0x128> - 803351c: f012 0f03 tst.w r2, #3 ; 0x3 - 8033520: 682b ldr r3, [r5, #0] - 8033522: bf0c ite eq - 8033524: 696a ldreq r2, [r5, #20] - 8033526: 2200 movne r2, #0 - 8033528: 602f str r7, [r5, #0] - 803352a: ebc7 0603 rsb r6, r7, r3 - 803352e: 60aa str r2, [r5, #8] - 8033530: e010 b.n 8033554 <_fflush_r+0x124> - 8033532: 6a29 ldr r1, [r5, #32] - 8033534: 6aac ldr r4, [r5, #40] - 8033536: 9801 ldr r0, [sp, #4] - 8033538: 463a mov r2, r7 - 803353a: 4633 mov r3, r6 - 803353c: 47a0 blx r4 - 803353e: 2800 cmp r0, #0 - 8033540: dc06 bgt.n 8033550 <_fflush_r+0x120> - 8033542: 89ab ldrh r3, [r5, #12] - 8033544: f043 0340 orr.w r3, r3, #64 ; 0x40 - 8033548: 81ab strh r3, [r5, #12] - 803354a: f04f 30ff mov.w r0, #4294967295 ; 0xffffffff - 803354e: e004 b.n 803355a <_fflush_r+0x12a> - 8033550: 183f adds r7, r7, r0 - 8033552: 1a36 subs r6, r6, r0 - 8033554: 2e00 cmp r6, #0 - 8033556: dcec bgt.n 8033532 <_fflush_r+0x102> - 8033558: 2000 movs r0, #0 - 803355a: b003 add sp, #12 - 803355c: bdf0 pop {r4, r5, r6, r7, pc} - 803355e: 46c0 nop (mov r8, r8) - 8033560: 080357d0 .word 0x080357d0 - 8033564: 080357f0 .word 0x080357f0 - 8033568: 08035810 .word 0x08035810 - -0803356c : - 803356c: b500 push {lr} - 803356e: 4601 mov r1, r0 - 8033570: b081 sub sp, #4 - 8033572: b928 cbnz r0, 8033580 - 8033574: 4b05 ldr r3, [pc, #20] (803358c ) - 8033576: 4906 ldr r1, [pc, #24] (8033590 ) - 8033578: 6818 ldr r0, [r3, #0] - 803357a: f000 fa1b bl 80339b4 <_fwalk_reent> - 803357e: e003 b.n 8033588 - 8033580: 4b04 ldr r3, [pc, #16] (8033594 ) - 8033582: 6818 ldr r0, [r3, #0] - 8033584: f7ff ff54 bl 8033430 <_fflush_r> - 8033588: b001 add sp, #4 - 803358a: bd00 pop {pc} - 803358c: 080357c8 .word 0x080357c8 - 8033590: 08033431 .word 0x08033431 - 8033594: 20000050 .word 0x20000050 - -08033598 <__sfp_lock_acquire>: - 8033598: 4770 bx lr - 803359a: 46c0 nop (mov r8, r8) - -0803359c <__sfp_lock_release>: - 803359c: 4770 bx lr - 803359e: 46c0 nop (mov r8, r8) - -080335a0 <__sinit_lock_acquire>: - 80335a0: 4770 bx lr - 80335a2: 46c0 nop (mov r8, r8) - -080335a4 <__sinit_lock_release>: - 80335a4: 4770 bx lr - 80335a6: 46c0 nop (mov r8, r8) - -080335a8 <__fp_lock>: - 80335a8: 2000 movs r0, #0 - 80335aa: 4770 bx lr - -080335ac <__fp_unlock>: - 80335ac: 2000 movs r0, #0 - 80335ae: 4770 bx lr - -080335b0 <__fp_unlock_all>: - 80335b0: b500 push {lr} - 80335b2: 4b04 ldr r3, [pc, #16] (80335c4 <__fp_unlock_all+0x14>) - 80335b4: b081 sub sp, #4 - 80335b6: 6818 ldr r0, [r3, #0] - 80335b8: 4903 ldr r1, [pc, #12] (80335c8 <__fp_unlock_all+0x18>) - 80335ba: f000 fa23 bl 8033a04 <_fwalk> - 80335be: b001 add sp, #4 - 80335c0: bd00 pop {pc} - 80335c2: 46c0 nop (mov r8, r8) - 80335c4: 20000050 .word 0x20000050 - 80335c8: 080335ad .word 0x080335ad - -080335cc <__fp_lock_all>: - 80335cc: b500 push {lr} - 80335ce: 4b04 ldr r3, [pc, #16] (80335e0 <__fp_lock_all+0x14>) - 80335d0: b081 sub sp, #4 - 80335d2: 6818 ldr r0, [r3, #0] - 80335d4: 4903 ldr r1, [pc, #12] (80335e4 <__fp_lock_all+0x18>) - 80335d6: f000 fa15 bl 8033a04 <_fwalk> - 80335da: b001 add sp, #4 - 80335dc: bd00 pop {pc} - 80335de: 46c0 nop (mov r8, r8) - 80335e0: 20000050 .word 0x20000050 - 80335e4: 080335a9 .word 0x080335a9 - -080335e8 <_cleanup_r>: - 80335e8: b500 push {lr} - 80335ea: 4903 ldr r1, [pc, #12] (80335f8 <_cleanup_r+0x10>) - 80335ec: b081 sub sp, #4 - 80335ee: f000 fa09 bl 8033a04 <_fwalk> - 80335f2: b001 add sp, #4 - 80335f4: bd00 pop {pc} - 80335f6: 46c0 nop (mov r8, r8) - 80335f8: 08033c9d .word 0x08033c9d - -080335fc <_cleanup>: - 80335fc: b500 push {lr} - 80335fe: 4b04 ldr r3, [pc, #16] (8033610 <_cleanup+0x14>) - 8033600: b081 sub sp, #4 - 8033602: 6818 ldr r0, [r3, #0] - 8033604: 4903 ldr r1, [pc, #12] (8033614 <_cleanup+0x18>) - 8033606: f000 f9fd bl 8033a04 <_fwalk> - 803360a: b001 add sp, #4 - 803360c: bd00 pop {pc} - 803360e: 46c0 nop (mov r8, r8) - 8033610: 080357c8 .word 0x080357c8 - 8033614: 08033c9d .word 0x08033c9d - -08033618 : - 8033618: 2300 movs r3, #0 - 803361a: 6003 str r3, [r0, #0] - 803361c: 6043 str r3, [r0, #4] - 803361e: 6083 str r3, [r0, #8] - 8033620: 8181 strh r1, [r0, #12] - 8033622: 6643 str r3, [r0, #100] - 8033624: 81c2 strh r2, [r0, #14] - 8033626: 6103 str r3, [r0, #16] - 8033628: 6143 str r3, [r0, #20] - 803362a: 6183 str r3, [r0, #24] - 803362c: b510 push {r4, lr} - 803362e: 2100 movs r1, #0 - 8033630: 4604 mov r4, r0 - 8033632: 2208 movs r2, #8 - 8033634: f100 005c add.w r0, r0, #92 ; 0x5c - 8033638: f7ff fa3e bl 8032ab8 - 803363c: 4b04 ldr r3, [pc, #16] (8033650 ) - 803363e: 6224 str r4, [r4, #32] - 8033640: 6263 str r3, [r4, #36] - 8033642: 4b04 ldr r3, [pc, #16] (8033654 ) - 8033644: 62a3 str r3, [r4, #40] - 8033646: 4b04 ldr r3, [pc, #16] (8033658 ) - 8033648: 62e3 str r3, [r4, #44] - 803364a: 4b04 ldr r3, [pc, #16] (803365c ) - 803364c: 6323 str r3, [r4, #48] - 803364e: bd10 pop {r4, pc} - 8033650: 08033b9d .word 0x08033b9d - 8033654: 08033b5d .word 0x08033b5d - 8033658: 08033b31 .word 0x08033b31 - 803365c: 08033b21 .word 0x08033b21 - -08033660 <__sfmoreglue>: - 8033660: 2368 movs r3, #104 - 8033662: b570 push {r4, r5, r6, lr} - 8033664: fb03 f601 mul.w r6, r3, r1 - 8033668: 460d mov r5, r1 - 803366a: f106 010c add.w r1, r6, #12 ; 0xc - 803366e: f7fe ff9f bl 80325b0 <_malloc_r> - 8033672: 4604 mov r4, r0 - 8033674: b148 cbz r0, 803368a <__sfmoreglue+0x2a> - 8033676: f100 000c add.w r0, r0, #12 ; 0xc - 803367a: 2300 movs r3, #0 - 803367c: 6023 str r3, [r4, #0] - 803367e: 6065 str r5, [r4, #4] - 8033680: 60a0 str r0, [r4, #8] - 8033682: 2100 movs r1, #0 - 8033684: 4632 mov r2, r6 - 8033686: f7ff fa17 bl 8032ab8 - 803368a: 4620 mov r0, r4 - 803368c: bd70 pop {r4, r5, r6, pc} - 803368e: 46c0 nop (mov r8, r8) - -08033690 <__sfp>: - 8033690: 4b1e ldr r3, [pc, #120] (803370c <__sfp+0x7c>) - 8033692: b5f0 push {r4, r5, r6, r7, lr} - 8033694: 681c ldr r4, [r3, #0] - 8033696: b081 sub sp, #4 - 8033698: 69a3 ldr r3, [r4, #24] - 803369a: 4607 mov r7, r0 - 803369c: b913 cbnz r3, 80336a4 <__sfp+0x14> - 803369e: 4620 mov r0, r4 - 80336a0: f000 f836 bl 8033710 <__sinit> - 80336a4: f104 06d8 add.w r6, r4, #216 ; 0xd8 - 80336a8: 68b4 ldr r4, [r6, #8] - 80336aa: 6873 ldr r3, [r6, #4] - 80336ac: e003 b.n 80336b6 <__sfp+0x26> - 80336ae: f9b4 500c ldrsh.w r5, [r4, #12] - 80336b2: b18d cbz r5, 80336d8 <__sfp+0x48> - 80336b4: 3468 adds r4, #104 - 80336b6: f113 33ff adds.w r3, r3, #4294967295 ; 0xffffffff - 80336ba: d5f8 bpl.n 80336ae <__sfp+0x1e> - 80336bc: 6833 ldr r3, [r6, #0] - 80336be: b92b cbnz r3, 80336cc <__sfp+0x3c> - 80336c0: 4638 mov r0, r7 - 80336c2: 2104 movs r1, #4 - 80336c4: f7ff ffcc bl 8033660 <__sfmoreglue> - 80336c8: 6030 str r0, [r6, #0] - 80336ca: b108 cbz r0, 80336d0 <__sfp+0x40> - 80336cc: 6836 ldr r6, [r6, #0] - 80336ce: e7eb b.n 80336a8 <__sfp+0x18> - 80336d0: 230c movs r3, #12 - 80336d2: 60fb str r3, [r7, #12] - 80336d4: 2400 movs r4, #0 - 80336d6: e016 b.n 8033706 <__sfp+0x76> - 80336d8: f04f 33ff mov.w r3, #4294967295 ; 0xffffffff - 80336dc: 81e3 strh r3, [r4, #14] - 80336de: f04f 0301 mov.w r3, #1 ; 0x1 - 80336e2: 81a3 strh r3, [r4, #12] - 80336e4: 6665 str r5, [r4, #100] - 80336e6: 6025 str r5, [r4, #0] - 80336e8: 60a5 str r5, [r4, #8] - 80336ea: 6065 str r5, [r4, #4] - 80336ec: 6125 str r5, [r4, #16] - 80336ee: 6165 str r5, [r4, #20] - 80336f0: 61a5 str r5, [r4, #24] - 80336f2: f104 005c add.w r0, r4, #92 ; 0x5c - 80336f6: 2100 movs r1, #0 - 80336f8: 2208 movs r2, #8 - 80336fa: f7ff f9dd bl 8032ab8 - 80336fe: 6365 str r5, [r4, #52] - 8033700: 63a5 str r5, [r4, #56] - 8033702: 64a5 str r5, [r4, #72] - 8033704: 64e5 str r5, [r4, #76] - 8033706: 4620 mov r0, r4 - 8033708: b001 add sp, #4 - 803370a: bdf0 pop {r4, r5, r6, r7, pc} - 803370c: 080357c8 .word 0x080357c8 - -08033710 <__sinit>: - 8033710: 6982 ldr r2, [r0, #24] - 8033712: b510 push {r4, lr} - 8033714: 4604 mov r4, r0 - 8033716: bb32 cbnz r2, 8033766 <__sinit+0x56> - 8033718: 4b13 ldr r3, [pc, #76] (8033768 <__sinit+0x58>) - 803371a: f8c0 20d8 str.w r2, [r0, #216] - 803371e: 6283 str r3, [r0, #40] - 8033720: 2301 movs r3, #1 - 8033722: 6183 str r3, [r0, #24] - 8033724: f8c0 20dc str.w r2, [r0, #220] - 8033728: f8c0 20e0 str.w r2, [r0, #224] - 803372c: f7ff ffb0 bl 8033690 <__sfp> - 8033730: 6020 str r0, [r4, #0] - 8033732: 4620 mov r0, r4 - 8033734: f7ff ffac bl 8033690 <__sfp> - 8033738: 6060 str r0, [r4, #4] - 803373a: 4620 mov r0, r4 - 803373c: f7ff ffa8 bl 8033690 <__sfp> - 8033740: 2104 movs r1, #4 - 8033742: 60a0 str r0, [r4, #8] - 8033744: 2200 movs r2, #0 - 8033746: 6820 ldr r0, [r4, #0] - 8033748: 4623 mov r3, r4 - 803374a: f7ff ff65 bl 8033618 - 803374e: 6860 ldr r0, [r4, #4] - 8033750: 2109 movs r1, #9 - 8033752: 2201 movs r2, #1 - 8033754: 4623 mov r3, r4 - 8033756: f7ff ff5f bl 8033618 - 803375a: 68a0 ldr r0, [r4, #8] - 803375c: 2112 movs r1, #18 - 803375e: 2202 movs r2, #2 - 8033760: 4623 mov r3, r4 - 8033762: f7ff ff59 bl 8033618 - 8033766: bd10 pop {r4, pc} - 8033768: 080335e9 .word 0x080335e9 - -0803376c <_malloc_trim_r>: - 803376c: b5f0 push {r4, r5, r6, r7, lr} - 803376e: 4f28 ldr r7, [pc, #160] (8033810 <_malloc_trim_r+0xa4>) - 8033770: b081 sub sp, #4 - 8033772: 460c mov r4, r1 - 8033774: 4605 mov r5, r0 - 8033776: f7ff f9a7 bl 8032ac8 <__malloc_lock> - 803377a: 68bb ldr r3, [r7, #8] - 803377c: 685b ldr r3, [r3, #4] - 803377e: f023 0603 bic.w r6, r3, #3 ; 0x3 - 8033782: f506 637e add.w r3, r6, #4064 ; 0xfe0 - 8033786: 330f adds r3, #15 - 8033788: 1b1b subs r3, r3, r4 - 803378a: f423 637e bic.w r3, r3, #4064 ; 0xfe0 - 803378e: f023 031f bic.w r3, r3, #31 ; 0x1f - 8033792: f5a3 5480 sub.w r4, r3, #4096 ; 0x1000 - 8033796: f5b4 5f80 cmp.w r4, #4096 ; 0x1000 - 803379a: db23 blt.n 80337e4 <_malloc_trim_r+0x78> - 803379c: 2100 movs r1, #0 - 803379e: 4628 mov r0, r5 - 80337a0: f7ff fc1e bl 8032fe0 <_sbrk_r> - 80337a4: 68bb ldr r3, [r7, #8] - 80337a6: 199b adds r3, r3, r6 - 80337a8: 4298 cmp r0, r3 - 80337aa: d11b bne.n 80337e4 <_malloc_trim_r+0x78> - 80337ac: f1c4 0100 rsb r1, r4, #0 ; 0x0 - 80337b0: 4628 mov r0, r5 - 80337b2: f7ff fc15 bl 8032fe0 <_sbrk_r> - 80337b6: f1b0 3fff cmp.w r0, #4294967295 ; 0xffffffff - 80337ba: d118 bne.n 80337ee <_malloc_trim_r+0x82> - 80337bc: 2100 movs r1, #0 - 80337be: 4628 mov r0, r5 - 80337c0: f7ff fc0e bl 8032fe0 <_sbrk_r> - 80337c4: f8d7 c008 ldr.w ip, [r7, #8] - 80337c8: ebcc 0100 rsb r1, ip, r0 - 80337cc: 290f cmp r1, #15 - 80337ce: dd09 ble.n 80337e4 <_malloc_trim_r+0x78> - 80337d0: 4b10 ldr r3, [pc, #64] (8033814 <_malloc_trim_r+0xa8>) - 80337d2: 4a11 ldr r2, [pc, #68] (8033818 <_malloc_trim_r+0xac>) - 80337d4: 681b ldr r3, [r3, #0] - 80337d6: ebc3 0300 rsb r3, r3, r0 - 80337da: 6013 str r3, [r2, #0] - 80337dc: f041 0301 orr.w r3, r1, #1 ; 0x1 - 80337e0: f8cc 3004 str.w r3, [ip, #4] - 80337e4: 4628 mov r0, r5 - 80337e6: f7ff f971 bl 8032acc <__malloc_unlock> - 80337ea: 2000 movs r0, #0 - 80337ec: e00d b.n 803380a <_malloc_trim_r+0x9e> - 80337ee: 68ba ldr r2, [r7, #8] - 80337f0: ebc4 0306 rsb r3, r4, r6 - 80337f4: f043 0301 orr.w r3, r3, #1 ; 0x1 - 80337f8: 6053 str r3, [r2, #4] - 80337fa: 4a07 ldr r2, [pc, #28] (8033818 <_malloc_trim_r+0xac>) - 80337fc: 4628 mov r0, r5 - 80337fe: 6813 ldr r3, [r2, #0] - 8033800: 1b1b subs r3, r3, r4 - 8033802: 6013 str r3, [r2, #0] - 8033804: f7ff f962 bl 8032acc <__malloc_unlock> - 8033808: 2001 movs r0, #1 - 803380a: b001 add sp, #4 - 803380c: bdf0 pop {r4, r5, r6, r7, pc} - 803380e: 46c0 nop (mov r8, r8) - 8033810: 20000144 .word 0x20000144 - 8033814: 20000550 .word 0x20000550 - 8033818: 20000eb8 .word 0x20000eb8 - -0803381c <_free_r>: - 803381c: b570 push {r4, r5, r6, lr} - 803381e: 4606 mov r6, r0 - 8033820: 460c mov r4, r1 - 8033822: 2900 cmp r1, #0 - 8033824: f000 80bd beq.w 80339a2 <_free_r+0x186> - 8033828: f7ff f94e bl 8032ac8 <__malloc_lock> - 803382c: f1a4 0c08 sub.w ip, r4, #8 ; 0x8 - 8033830: f8dc 3004 ldr.w r3, [ip, #4] - 8033834: 4d5b ldr r5, [pc, #364] (80339a4 <_free_r+0x188>) - 8033836: f023 0101 bic.w r1, r3, #1 ; 0x1 - 803383a: eb0c 0001 add.w r0, ip, r1 - 803383e: 6842 ldr r2, [r0, #4] - 8033840: f003 0301 and.w r3, r3, #1 ; 0x1 - 8033844: f022 0e03 bic.w lr, r2, #3 ; 0x3 - 8033848: 68aa ldr r2, [r5, #8] - 803384a: 4290 cmp r0, r2 - 803384c: d11d bne.n 803388a <_free_r+0x6e> - 803384e: 4471 add r1, lr - 8033850: b953 cbnz r3, 8033868 <_free_r+0x4c> - 8033852: f854 3c08 ldr.w r3, [r4, #-8] - 8033856: ebc3 0c0c rsb ip, r3, ip - 803385a: f8dc 200c ldr.w r2, [ip, #12] - 803385e: 18c9 adds r1, r1, r3 - 8033860: f8dc 3008 ldr.w r3, [ip, #8] - 8033864: 60da str r2, [r3, #12] - 8033866: 6093 str r3, [r2, #8] - 8033868: f041 0301 orr.w r3, r1, #1 ; 0x1 - 803386c: f8cc 3004 str.w r3, [ip, #4] - 8033870: 4b4d ldr r3, [pc, #308] (80339a8 <_free_r+0x18c>) - 8033872: f8c5 c008 str.w ip, [r5, #8] - 8033876: 681b ldr r3, [r3, #0] - 8033878: 4299 cmp r1, r3 - 803387a: f0c0 808f bcc.w 803399c <_free_r+0x180> - 803387e: 4b4b ldr r3, [pc, #300] (80339ac <_free_r+0x190>) - 8033880: 4630 mov r0, r6 - 8033882: 6819 ldr r1, [r3, #0] - 8033884: f7ff ff72 bl 803376c <_malloc_trim_r> - 8033888: e088 b.n 803399c <_free_r+0x180> - 803388a: f8c0 e004 str.w lr, [r0, #4] - 803388e: b983 cbnz r3, 80338b2 <_free_r+0x96> - 8033890: f854 3c08 ldr.w r3, [r4, #-8] - 8033894: ebc3 0c0c rsb ip, r3, ip - 8033898: f8dc 2008 ldr.w r2, [ip, #8] - 803389c: 18c9 adds r1, r1, r3 - 803389e: f105 0308 add.w r3, r5, #8 ; 0x8 - 80338a2: 429a cmp r2, r3 - 80338a4: d101 bne.n 80338aa <_free_r+0x8e> - 80338a6: 2401 movs r4, #1 - 80338a8: e004 b.n 80338b4 <_free_r+0x98> - 80338aa: f8dc 300c ldr.w r3, [ip, #12] - 80338ae: 60d3 str r3, [r2, #12] - 80338b0: 609a str r2, [r3, #8] - 80338b2: 2400 movs r4, #0 - 80338b4: eb00 030e add.w r3, r0, lr - 80338b8: 685b ldr r3, [r3, #4] - 80338ba: f013 0f01 tst.w r3, #1 ; 0x1 - 80338be: d113 bne.n 80338e8 <_free_r+0xcc> - 80338c0: 4471 add r1, lr - 80338c2: b96c cbnz r4, 80338e0 <_free_r+0xc4> - 80338c4: 6882 ldr r2, [r0, #8] - 80338c6: 4b3a ldr r3, [pc, #232] (80339b0 <_free_r+0x194>) - 80338c8: 429a cmp r2, r3 - 80338ca: d109 bne.n 80338e0 <_free_r+0xc4> - 80338cc: f8c2 c00c str.w ip, [r2, #12] - 80338d0: f8c2 c008 str.w ip, [r2, #8] - 80338d4: f8cc 200c str.w r2, [ip, #12] - 80338d8: f8cc 2008 str.w r2, [ip, #8] - 80338dc: 2401 movs r4, #1 - 80338de: e003 b.n 80338e8 <_free_r+0xcc> - 80338e0: 68c2 ldr r2, [r0, #12] - 80338e2: 6883 ldr r3, [r0, #8] - 80338e4: 60da str r2, [r3, #12] - 80338e6: 6093 str r3, [r2, #8] - 80338e8: f041 0301 orr.w r3, r1, #1 ; 0x1 - 80338ec: f8cc 3004 str.w r3, [ip, #4] - 80338f0: f84c 1001 str.w r1, [ip, r1] - 80338f4: 2c00 cmp r4, #0 - 80338f6: d151 bne.n 803399c <_free_r+0x180> - 80338f8: f5b1 7f00 cmp.w r1, #512 ; 0x200 - 80338fc: d212 bcs.n 8033924 <_free_r+0x108> - 80338fe: 08c9 lsrs r1, r1, #3 - 8033900: 108b asrs r3, r1, #2 - 8033902: 2201 movs r2, #1 - 8033904: 409a lsls r2, r3 - 8033906: 686b ldr r3, [r5, #4] - 8033908: eb05 01c1 add.w r1, r5, r1, lsl #3 - 803390c: 4313 orrs r3, r2 - 803390e: 606b str r3, [r5, #4] - 8033910: 688b ldr r3, [r1, #8] - 8033912: f8cc 100c str.w r1, [ip, #12] - 8033916: f8cc 3008 str.w r3, [ip, #8] - 803391a: f8c3 c00c str.w ip, [r3, #12] - 803391e: f8c1 c008 str.w ip, [r1, #8] - 8033922: e03b b.n 803399c <_free_r+0x180> - 8033924: 0a4a lsrs r2, r1, #9 - 8033926: 2a04 cmp r2, #4 - 8033928: d802 bhi.n 8033930 <_free_r+0x114> - 803392a: 098b lsrs r3, r1, #6 - 803392c: 3338 adds r3, #56 - 803392e: e017 b.n 8033960 <_free_r+0x144> - 8033930: 2a14 cmp r2, #20 - 8033932: bf98 it ls - 8033934: f102 035b addls.w r3, r2, #91 ; 0x5b - 8033938: d912 bls.n 8033960 <_free_r+0x144> - 803393a: 2a54 cmp r2, #84 - 803393c: d802 bhi.n 8033944 <_free_r+0x128> - 803393e: 0b0b lsrs r3, r1, #12 - 8033940: 336e adds r3, #110 - 8033942: e00d b.n 8033960 <_free_r+0x144> - 8033944: f5b2 7faa cmp.w r2, #340 ; 0x154 - 8033948: d802 bhi.n 8033950 <_free_r+0x134> - 803394a: 0bcb lsrs r3, r1, #15 - 803394c: 3377 adds r3, #119 - 803394e: e007 b.n 8033960 <_free_r+0x144> - 8033950: f240 5354 movw r3, #1364 ; 0x554 - 8033954: 429a cmp r2, r3 - 8033956: d901 bls.n 803395c <_free_r+0x140> - 8033958: 237e movs r3, #126 - 803395a: e001 b.n 8033960 <_free_r+0x144> - 803395c: 0c8b lsrs r3, r1, #18 - 803395e: 337c adds r3, #124 - 8033960: eb05 02c3 add.w r2, r5, r3, lsl #3 - 8033964: 6890 ldr r0, [r2, #8] - 8033966: 4290 cmp r0, r2 - 8033968: d10a bne.n 8033980 <_free_r+0x164> - 803396a: 109b asrs r3, r3, #2 - 803396c: 2201 movs r2, #1 - 803396e: 409a lsls r2, r3 - 8033970: 686b ldr r3, [r5, #4] - 8033972: 4313 orrs r3, r2 - 8033974: 606b str r3, [r5, #4] - 8033976: 4603 mov r3, r0 - 8033978: e008 b.n 803398c <_free_r+0x170> - 803397a: 6880 ldr r0, [r0, #8] - 803397c: 4290 cmp r0, r2 - 803397e: d004 beq.n 803398a <_free_r+0x16e> - 8033980: 6843 ldr r3, [r0, #4] - 8033982: f023 0303 bic.w r3, r3, #3 ; 0x3 - 8033986: 4299 cmp r1, r3 - 8033988: d3f7 bcc.n 803397a <_free_r+0x15e> - 803398a: 68c3 ldr r3, [r0, #12] - 803398c: f8cc 300c str.w r3, [ip, #12] - 8033990: f8cc 0008 str.w r0, [ip, #8] - 8033994: f8c0 c00c str.w ip, [r0, #12] - 8033998: f8c3 c008 str.w ip, [r3, #8] - 803399c: 4630 mov r0, r6 - 803399e: f7ff f895 bl 8032acc <__malloc_unlock> - 80339a2: bd70 pop {r4, r5, r6, pc} - 80339a4: 20000144 .word 0x20000144 - 80339a8: 2000054c .word 0x2000054c - 80339ac: 20000eac .word 0x20000eac - 80339b0: 2000014c .word 0x2000014c - -080339b4 <_fwalk_reent>: - 80339b4: b5f0 push {r4, r5, r6, r7, lr} - 80339b6: b083 sub sp, #12 - 80339b8: 9001 str r0, [sp, #4] - 80339ba: 9100 str r1, [sp, #0] - 80339bc: f7ff fdec bl 8033598 <__sfp_lock_acquire> - 80339c0: 9b01 ldr r3, [sp, #4] - 80339c2: 2700 movs r7, #0 - 80339c4: f103 05d8 add.w r5, r3, #216 ; 0xd8 - 80339c8: e014 b.n 80339f4 <_fwalk_reent+0x40> - 80339ca: 68ac ldr r4, [r5, #8] - 80339cc: 686e ldr r6, [r5, #4] - 80339ce: e00d b.n 80339ec <_fwalk_reent+0x38> - 80339d0: f9b4 300c ldrsh.w r3, [r4, #12] - 80339d4: b14b cbz r3, 80339ea <_fwalk_reent+0x36> - 80339d6: f9b4 300e ldrsh.w r3, [r4, #14] - 80339da: f1b3 3fff cmp.w r3, #4294967295 ; 0xffffffff - 80339de: d004 beq.n 80339ea <_fwalk_reent+0x36> - 80339e0: 9801 ldr r0, [sp, #4] - 80339e2: 4621 mov r1, r4 - 80339e4: 9b00 ldr r3, [sp, #0] - 80339e6: 4798 blx r3 - 80339e8: 4307 orrs r7, r0 - 80339ea: 3468 adds r4, #104 - 80339ec: f116 36ff adds.w r6, r6, #4294967295 ; 0xffffffff - 80339f0: d5ee bpl.n 80339d0 <_fwalk_reent+0x1c> - 80339f2: 682d ldr r5, [r5, #0] - 80339f4: 2d00 cmp r5, #0 - 80339f6: d1e8 bne.n 80339ca <_fwalk_reent+0x16> - 80339f8: f7ff fdd0 bl 803359c <__sfp_lock_release> - 80339fc: 4638 mov r0, r7 - 80339fe: b003 add sp, #12 - 8033a00: bdf0 pop {r4, r5, r6, r7, pc} - 8033a02: 46c0 nop (mov r8, r8) - -08033a04 <_fwalk>: - 8033a04: b5f0 push {r4, r5, r6, r7, lr} - 8033a06: 4604 mov r4, r0 - 8033a08: b083 sub sp, #12 - 8033a0a: 9101 str r1, [sp, #4] - 8033a0c: f104 05d8 add.w r5, r4, #216 ; 0xd8 - 8033a10: f7ff fdc2 bl 8033598 <__sfp_lock_acquire> - 8033a14: 2700 movs r7, #0 - 8033a16: e013 b.n 8033a40 <_fwalk+0x3c> - 8033a18: 68ac ldr r4, [r5, #8] - 8033a1a: 686e ldr r6, [r5, #4] - 8033a1c: e00c b.n 8033a38 <_fwalk+0x34> - 8033a1e: f9b4 300c ldrsh.w r3, [r4, #12] - 8033a22: b143 cbz r3, 8033a36 <_fwalk+0x32> - 8033a24: f9b4 300e ldrsh.w r3, [r4, #14] - 8033a28: f1b3 3fff cmp.w r3, #4294967295 ; 0xffffffff - 8033a2c: d003 beq.n 8033a36 <_fwalk+0x32> - 8033a2e: 4620 mov r0, r4 - 8033a30: 9b01 ldr r3, [sp, #4] - 8033a32: 4798 blx r3 - 8033a34: 4307 orrs r7, r0 - 8033a36: 3468 adds r4, #104 - 8033a38: f116 36ff adds.w r6, r6, #4294967295 ; 0xffffffff - 8033a3c: d5ef bpl.n 8033a1e <_fwalk+0x1a> - 8033a3e: 682d ldr r5, [r5, #0] - 8033a40: 2d00 cmp r5, #0 - 8033a42: d1e9 bne.n 8033a18 <_fwalk+0x14> - 8033a44: f7ff fdaa bl 803359c <__sfp_lock_release> - 8033a48: 4638 mov r0, r7 - 8033a4a: b003 add sp, #12 - 8033a4c: bdf0 pop {r4, r5, r6, r7, pc} - 8033a4e: 46c0 nop (mov r8, r8) - -08033a50 <__smakebuf_r>: - 8033a50: b5f0 push {r4, r5, r6, r7, lr} - 8033a52: 898b ldrh r3, [r1, #12] - 8033a54: b091 sub sp, #68 - 8033a56: f013 0f02 tst.w r3, #2 ; 0x2 - 8033a5a: 4606 mov r6, r0 - 8033a5c: 460c mov r4, r1 - 8033a5e: d13d bne.n 8033adc <__smakebuf_r+0x8c> - 8033a60: f9b1 100e ldrsh.w r1, [r1, #14] - 8033a64: 2900 cmp r1, #0 - 8033a66: db04 blt.n 8033a72 <__smakebuf_r+0x22> - 8033a68: aa01 add r2, sp, #4 - 8033a6a: f000 f923 bl 8033cb4 <_fstat_r> - 8033a6e: 2800 cmp r0, #0 - 8033a70: da0b bge.n 8033a8a <__smakebuf_r+0x3a> - 8033a72: 89a3 ldrh r3, [r4, #12] - 8033a74: f013 0f80 tst.w r3, #128 ; 0x80 - 8033a78: f443 6300 orr.w r3, r3, #2048 ; 0x800 - 8033a7c: bf14 ite ne - 8033a7e: 2540 movne r5, #64 - 8033a80: f44f 7580 moveq.w r5, #256 ; 0x100 - 8033a84: 81a3 strh r3, [r4, #12] - 8033a86: 2700 movs r7, #0 - 8033a88: e01c b.n 8033ac4 <__smakebuf_r+0x74> - 8033a8a: 9b02 ldr r3, [sp, #8] - 8033a8c: f403 4370 and.w r3, r3, #61440 ; 0xf000 - 8033a90: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 - 8033a94: bf14 ite ne - 8033a96: 2700 movne r7, #0 - 8033a98: 2701 moveq r7, #1 - 8033a9a: f5b3 4f00 cmp.w r3, #32768 ; 0x8000 - 8033a9e: d10b bne.n 8033ab8 <__smakebuf_r+0x68> - 8033aa0: 6ae2 ldr r2, [r4, #44] - 8033aa2: 4b1d ldr r3, [pc, #116] (8033b18 <__smakebuf_r+0xc8>) - 8033aa4: 429a cmp r2, r3 - 8033aa6: d107 bne.n 8033ab8 <__smakebuf_r+0x68> - 8033aa8: 89a3 ldrh r3, [r4, #12] - 8033aaa: f443 6380 orr.w r3, r3, #1024 ; 0x400 - 8033aae: 81a3 strh r3, [r4, #12] - 8033ab0: f44f 6380 mov.w r3, #1024 ; 0x400 - 8033ab4: 6523 str r3, [r4, #80] - 8033ab6: e003 b.n 8033ac0 <__smakebuf_r+0x70> - 8033ab8: 89a3 ldrh r3, [r4, #12] - 8033aba: f443 6300 orr.w r3, r3, #2048 ; 0x800 - 8033abe: 81a3 strh r3, [r4, #12] - 8033ac0: f44f 7580 mov.w r5, #256 ; 0x100 - 8033ac4: 4630 mov r0, r6 - 8033ac6: 4629 mov r1, r5 - 8033ac8: f7fe fd72 bl 80325b0 <_malloc_r> - 8033acc: b968 cbnz r0, 8033aea <__smakebuf_r+0x9a> - 8033ace: 89a3 ldrh r3, [r4, #12] - 8033ad0: f413 7f00 tst.w r3, #512 ; 0x200 - 8033ad4: d11d bne.n 8033b12 <__smakebuf_r+0xc2> - 8033ad6: f043 0302 orr.w r3, r3, #2 ; 0x2 - 8033ada: 81a3 strh r3, [r4, #12] - 8033adc: f104 0347 add.w r3, r4, #71 ; 0x47 - 8033ae0: 6023 str r3, [r4, #0] - 8033ae2: 6123 str r3, [r4, #16] - 8033ae4: 2301 movs r3, #1 - 8033ae6: 6163 str r3, [r4, #20] - 8033ae8: e013 b.n 8033b12 <__smakebuf_r+0xc2> - 8033aea: 4b0c ldr r3, [pc, #48] (8033b1c <__smakebuf_r+0xcc>) - 8033aec: 6020 str r0, [r4, #0] - 8033aee: 62b3 str r3, [r6, #40] - 8033af0: 89a3 ldrh r3, [r4, #12] - 8033af2: 6120 str r0, [r4, #16] - 8033af4: f043 0380 orr.w r3, r3, #128 ; 0x80 - 8033af8: 81a3 strh r3, [r4, #12] - 8033afa: 6165 str r5, [r4, #20] - 8033afc: b14f cbz r7, 8033b12 <__smakebuf_r+0xc2> - 8033afe: f9b4 100e ldrsh.w r1, [r4, #14] - 8033b02: 4630 mov r0, r6 - 8033b04: f000 f8ea bl 8033cdc <_isatty_r> - 8033b08: b118 cbz r0, 8033b12 <__smakebuf_r+0xc2> - 8033b0a: 89a3 ldrh r3, [r4, #12] - 8033b0c: f043 0301 orr.w r3, r3, #1 ; 0x1 - 8033b10: 81a3 strh r3, [r4, #12] - 8033b12: b011 add sp, #68 - 8033b14: bdf0 pop {r4, r5, r6, r7, pc} - 8033b16: 46c0 nop (mov r8, r8) - 8033b18: 08033b31 .word 0x08033b31 - 8033b1c: 080335e9 .word 0x080335e9 - -08033b20 <__sclose>: - 8033b20: b500 push {lr} - 8033b22: f9b1 100e ldrsh.w r1, [r1, #14] - 8033b26: b081 sub sp, #4 - 8033b28: f000 f84c bl 8033bc4 <_close_r> - 8033b2c: b001 add sp, #4 - 8033b2e: bd00 pop {pc} - -08033b30 <__sseek>: - 8033b30: b510 push {r4, lr} - 8033b32: 460c mov r4, r1 - 8033b34: f9b1 100e ldrsh.w r1, [r1, #14] - 8033b38: f000 f8e4 bl 8033d04 <_lseek_r> - 8033b3c: f1b0 3fff cmp.w r0, #4294967295 ; 0xffffffff - 8033b40: 89a3 ldrh r3, [r4, #12] - 8033b42: d105 bne.n 8033b50 <__sseek+0x20> - 8033b44: f423 5380 bic.w r3, r3, #4096 ; 0x1000 - 8033b48: 041b lsls r3, r3, #16 - 8033b4a: 0c1b lsrs r3, r3, #16 - 8033b4c: 81a3 strh r3, [r4, #12] - 8033b4e: e003 b.n 8033b58 <__sseek+0x28> - 8033b50: f443 5380 orr.w r3, r3, #4096 ; 0x1000 - 8033b54: 81a3 strh r3, [r4, #12] - 8033b56: 6560 str r0, [r4, #84] - 8033b58: bd10 pop {r4, pc} - 8033b5a: 46c0 nop (mov r8, r8) - -08033b5c <__swrite>: - 8033b5c: b5f0 push {r4, r5, r6, r7, lr} - 8033b5e: 461f mov r7, r3 - 8033b60: 898b ldrh r3, [r1, #12] - 8033b62: b081 sub sp, #4 - 8033b64: f413 7f80 tst.w r3, #256 ; 0x100 - 8033b68: 4605 mov r5, r0 - 8033b6a: 460c mov r4, r1 - 8033b6c: 4616 mov r6, r2 - 8033b6e: d005 beq.n 8033b7c <__swrite+0x20> - 8033b70: f9b1 100e ldrsh.w r1, [r1, #14] - 8033b74: 2200 movs r2, #0 - 8033b76: 2302 movs r3, #2 - 8033b78: f000 f8c4 bl 8033d04 <_lseek_r> - 8033b7c: 89a3 ldrh r3, [r4, #12] - 8033b7e: f9b4 100e ldrsh.w r1, [r4, #14] - 8033b82: f423 5380 bic.w r3, r3, #4096 ; 0x1000 - 8033b86: 041b lsls r3, r3, #16 - 8033b88: 0c1b lsrs r3, r3, #16 - 8033b8a: 81a3 strh r3, [r4, #12] - 8033b8c: 4628 mov r0, r5 - 8033b8e: 4632 mov r2, r6 - 8033b90: 463b mov r3, r7 - 8033b92: f7ff fbc5 bl 8033320 <_write_r> - 8033b96: b001 add sp, #4 - 8033b98: bdf0 pop {r4, r5, r6, r7, pc} - 8033b9a: 46c0 nop (mov r8, r8) - -08033b9c <__sread>: - 8033b9c: b510 push {r4, lr} - 8033b9e: 460c mov r4, r1 - 8033ba0: f9b1 100e ldrsh.w r1, [r1, #14] - 8033ba4: f000 f8c4 bl 8033d30 <_read_r> - 8033ba8: 2800 cmp r0, #0 - 8033baa: db03 blt.n 8033bb4 <__sread+0x18> - 8033bac: 6d63 ldr r3, [r4, #84] - 8033bae: 181b adds r3, r3, r0 - 8033bb0: 6563 str r3, [r4, #84] - 8033bb2: e005 b.n 8033bc0 <__sread+0x24> - 8033bb4: 89a3 ldrh r3, [r4, #12] - 8033bb6: f423 5380 bic.w r3, r3, #4096 ; 0x1000 - 8033bba: 041b lsls r3, r3, #16 - 8033bbc: 0c1b lsrs r3, r3, #16 - 8033bbe: 81a3 strh r3, [r4, #12] - 8033bc0: bd10 pop {r4, pc} - 8033bc2: 46c0 nop (mov r8, r8) - -08033bc4 <_close_r>: - 8033bc4: b530 push {r4, r5, lr} - 8033bc6: 4c08 ldr r4, [pc, #32] (8033be8 <_close_r+0x24>) - 8033bc8: 2300 movs r3, #0 - 8033bca: b081 sub sp, #4 - 8033bcc: 4605 mov r5, r0 - 8033bce: 4608 mov r0, r1 - 8033bd0: 6023 str r3, [r4, #0] - 8033bd2: f7f5 fcdf bl 8029594 <_close> - 8033bd6: f1b0 3fff cmp.w r0, #4294967295 ; 0xffffffff - 8033bda: d102 bne.n 8033be2 <_close_r+0x1e> - 8033bdc: 6823 ldr r3, [r4, #0] - 8033bde: b103 cbz r3, 8033be2 <_close_r+0x1e> - 8033be0: 60eb str r3, [r5, #12] - 8033be2: b001 add sp, #4 - 8033be4: bd30 pop {r4, r5, pc} - 8033be6: 46c0 nop (mov r8, r8) - 8033be8: 20000ee0 .word 0x20000ee0 - -08033bec <_fclose_r>: - 8033bec: b570 push {r4, r5, r6, lr} - 8033bee: 4605 mov r5, r0 - 8033bf0: 460c mov r4, r1 - 8033bf2: b1d1 cbz r1, 8033c2a <_fclose_r+0x3e> - 8033bf4: f7ff fcd0 bl 8033598 <__sfp_lock_acquire> - 8033bf8: b125 cbz r5, 8033c04 <_fclose_r+0x18> - 8033bfa: 69ab ldr r3, [r5, #24] - 8033bfc: b913 cbnz r3, 8033c04 <_fclose_r+0x18> - 8033bfe: 4628 mov r0, r5 - 8033c00: f7ff fd86 bl 8033710 <__sinit> - 8033c04: 4b22 ldr r3, [pc, #136] (8033c90 <_fclose_r+0xa4>) - 8033c06: 429c cmp r4, r3 - 8033c08: bf08 it eq - 8033c0a: 682c ldreq r4, [r5, #0] - 8033c0c: d008 beq.n 8033c20 <_fclose_r+0x34> - 8033c0e: 4b21 ldr r3, [pc, #132] (8033c94 <_fclose_r+0xa8>) - 8033c10: 429c cmp r4, r3 - 8033c12: bf08 it eq - 8033c14: 686c ldreq r4, [r5, #4] - 8033c16: d003 beq.n 8033c20 <_fclose_r+0x34> - 8033c18: 4b1f ldr r3, [pc, #124] (8033c98 <_fclose_r+0xac>) - 8033c1a: 429c cmp r4, r3 - 8033c1c: bf08 it eq - 8033c1e: 68ac ldreq r4, [r5, #8] - 8033c20: f9b4 300c ldrsh.w r3, [r4, #12] - 8033c24: b91b cbnz r3, 8033c2e <_fclose_r+0x42> - 8033c26: f7ff fcb9 bl 803359c <__sfp_lock_release> - 8033c2a: 2600 movs r6, #0 - 8033c2c: e02d b.n 8033c8a <_fclose_r+0x9e> - 8033c2e: 4628 mov r0, r5 - 8033c30: 4621 mov r1, r4 - 8033c32: f7ff fbfd bl 8033430 <_fflush_r> - 8033c36: 6b23 ldr r3, [r4, #48] - 8033c38: 4606 mov r6, r0 - 8033c3a: b13b cbz r3, 8033c4c <_fclose_r+0x60> - 8033c3c: 6a21 ldr r1, [r4, #32] - 8033c3e: 4628 mov r0, r5 - 8033c40: 4798 blx r3 - 8033c42: ea36 0620 bics.w r6, r6, r0, asr #32 - 8033c46: bf28 it cs - 8033c48: f04f 36ff movcs.w r6, #4294967295 ; 0xffffffff - 8033c4c: 89a3 ldrh r3, [r4, #12] - 8033c4e: f013 0f80 tst.w r3, #128 ; 0x80 - 8033c52: d003 beq.n 8033c5c <_fclose_r+0x70> - 8033c54: 6921 ldr r1, [r4, #16] - 8033c56: 4628 mov r0, r5 - 8033c58: f7ff fde0 bl 803381c <_free_r> - 8033c5c: 6b61 ldr r1, [r4, #52] - 8033c5e: b141 cbz r1, 8033c72 <_fclose_r+0x86> - 8033c60: f104 0344 add.w r3, r4, #68 ; 0x44 - 8033c64: 4299 cmp r1, r3 - 8033c66: d002 beq.n 8033c6e <_fclose_r+0x82> - 8033c68: 4628 mov r0, r5 - 8033c6a: f7ff fdd7 bl 803381c <_free_r> - 8033c6e: 2300 movs r3, #0 - 8033c70: 6363 str r3, [r4, #52] - 8033c72: 6ca1 ldr r1, [r4, #72] - 8033c74: b121 cbz r1, 8033c80 <_fclose_r+0x94> - 8033c76: 4628 mov r0, r5 - 8033c78: f7ff fdd0 bl 803381c <_free_r> - 8033c7c: 2300 movs r3, #0 - 8033c7e: 64a3 str r3, [r4, #72] - 8033c80: f04f 0300 mov.w r3, #0 ; 0x0 - 8033c84: 81a3 strh r3, [r4, #12] - 8033c86: f7ff fc89 bl 803359c <__sfp_lock_release> - 8033c8a: 4630 mov r0, r6 - 8033c8c: bd70 pop {r4, r5, r6, pc} - 8033c8e: 46c0 nop (mov r8, r8) - 8033c90: 080357d0 .word 0x080357d0 - 8033c94: 080357f0 .word 0x080357f0 - 8033c98: 08035810 .word 0x08035810 - -08033c9c : - 8033c9c: b500 push {lr} - 8033c9e: 4b04 ldr r3, [pc, #16] (8033cb0 ) - 8033ca0: 4601 mov r1, r0 - 8033ca2: b081 sub sp, #4 - 8033ca4: 6818 ldr r0, [r3, #0] - 8033ca6: f7ff ffa1 bl 8033bec <_fclose_r> - 8033caa: b001 add sp, #4 - 8033cac: bd00 pop {pc} - 8033cae: 46c0 nop (mov r8, r8) - 8033cb0: 20000050 .word 0x20000050 - -08033cb4 <_fstat_r>: - 8033cb4: b530 push {r4, r5, lr} - 8033cb6: 4c08 ldr r4, [pc, #32] (8033cd8 <_fstat_r+0x24>) - 8033cb8: 2300 movs r3, #0 - 8033cba: b081 sub sp, #4 - 8033cbc: 4605 mov r5, r0 - 8033cbe: 4608 mov r0, r1 - 8033cc0: 4611 mov r1, r2 - 8033cc2: 6023 str r3, [r4, #0] - 8033cc4: f7f5 fc94 bl 80295f0 <_fstat> - 8033cc8: f1b0 3fff cmp.w r0, #4294967295 ; 0xffffffff - 8033ccc: d102 bne.n 8033cd4 <_fstat_r+0x20> - 8033cce: 6823 ldr r3, [r4, #0] - 8033cd0: b103 cbz r3, 8033cd4 <_fstat_r+0x20> - 8033cd2: 60eb str r3, [r5, #12] - 8033cd4: b001 add sp, #4 - 8033cd6: bd30 pop {r4, r5, pc} - 8033cd8: 20000ee0 .word 0x20000ee0 - -08033cdc <_isatty_r>: - 8033cdc: b530 push {r4, r5, lr} - 8033cde: 4c08 ldr r4, [pc, #32] (8033d00 <_isatty_r+0x24>) - 8033ce0: 2300 movs r3, #0 - 8033ce2: b081 sub sp, #4 - 8033ce4: 4605 mov r5, r0 - 8033ce6: 4608 mov r0, r1 - 8033ce8: 6023 str r3, [r4, #0] - 8033cea: f7f5 fc9b bl 8029624 <_isatty> - 8033cee: f1b0 3fff cmp.w r0, #4294967295 ; 0xffffffff - 8033cf2: d102 bne.n 8033cfa <_isatty_r+0x1e> - 8033cf4: 6823 ldr r3, [r4, #0] - 8033cf6: b103 cbz r3, 8033cfa <_isatty_r+0x1e> - 8033cf8: 60eb str r3, [r5, #12] - 8033cfa: b001 add sp, #4 - 8033cfc: bd30 pop {r4, r5, pc} - 8033cfe: 46c0 nop (mov r8, r8) - 8033d00: 20000ee0 .word 0x20000ee0 - -08033d04 <_lseek_r>: - 8033d04: b530 push {r4, r5, lr} - 8033d06: 4c09 ldr r4, [pc, #36] (8033d2c <_lseek_r+0x28>) - 8033d08: 4605 mov r5, r0 - 8033d0a: 2000 movs r0, #0 - 8033d0c: 6020 str r0, [r4, #0] - 8033d0e: b081 sub sp, #4 - 8033d10: 4608 mov r0, r1 - 8033d12: 4611 mov r1, r2 - 8033d14: 461a mov r2, r3 - 8033d16: f7f5 fcb9 bl 802968c <_lseek> - 8033d1a: f1b0 3fff cmp.w r0, #4294967295 ; 0xffffffff - 8033d1e: d102 bne.n 8033d26 <_lseek_r+0x22> - 8033d20: 6823 ldr r3, [r4, #0] - 8033d22: b103 cbz r3, 8033d26 <_lseek_r+0x22> - 8033d24: 60eb str r3, [r5, #12] - 8033d26: b001 add sp, #4 - 8033d28: bd30 pop {r4, r5, pc} - 8033d2a: 46c0 nop (mov r8, r8) - 8033d2c: 20000ee0 .word 0x20000ee0 - -08033d30 <_read_r>: - 8033d30: b530 push {r4, r5, lr} - 8033d32: 4c09 ldr r4, [pc, #36] (8033d58 <_read_r+0x28>) - 8033d34: 4605 mov r5, r0 - 8033d36: 2000 movs r0, #0 - 8033d38: 6020 str r0, [r4, #0] - 8033d3a: b081 sub sp, #4 - 8033d3c: 4608 mov r0, r1 - 8033d3e: 4611 mov r1, r2 - 8033d40: 461a mov r2, r3 - 8033d42: f7f5 fcbf bl 80296c4 <_read> - 8033d46: f1b0 3fff cmp.w r0, #4294967295 ; 0xffffffff - 8033d4a: d102 bne.n 8033d52 <_read_r+0x22> - 8033d4c: 6823 ldr r3, [r4, #0] - 8033d4e: b103 cbz r3, 8033d52 <_read_r+0x22> - 8033d50: 60eb str r3, [r5, #12] - 8033d52: b001 add sp, #4 - 8033d54: bd30 pop {r4, r5, pc} - 8033d56: 46c0 nop (mov r8, r8) - 8033d58: 20000ee0 .word 0x20000ee0 - 8033d5c: 00000000 .word 0x00000000 - -08033d60 <_ZTV4Bras>: - ... - 8033d68: 0800e165 0800e0ed e....... - -08033d70 <_ZTV6Sensor>: - ... - 8033d78: 0800ee39 0800ee09 0802f169 00000000 9.......i....... - -08033d88 <_ZTV7Sensors>: - ... - 8033d90: 0800f8b1 0800f659 ....Y... - -08033d98 <_ZZN7SensorsC1EvE4C.27>: - 8033d98: 060b0709 0f0d0a08 ........ - -08033da0 <_ZN14Asservissement21nb_ms_between_updatesE>: - 8033da0: 00000005 00000000 ........ - -08033da8 <_ZTV7Command>: - ... - 8033db0: 08011199 08011169 0802f169 08010ded ....i...i....... - 8033dc0: 0802f169 0802f169 08010e21 00000000 i...i...!....... - -08033dd0 <_ZTV24CommandTestTournerGauche>: - ... - 8033dd8: 0802ec9d 0802ec65 080114b5 08010ded ....e........... - 8033de8: 080114c9 080114e5 08010e21 00000000 ........!....... - -08033df8 <_ZTV18CommandTestAvancer>: - ... - 8033e00: 0802ec2d 0802ebf5 08011469 08010ded -.......i....... - 8033e10: 0801147d 08011499 08010e21 00000000 }.......!....... - -08033e20 <_ZTV15CommandAttendre>: - ... - 8033e28: 0802ebbd 0802eb85 080113ed 08010ded ................ - 8033e38: 0801140d 08011429 08011445 00000000 ....)...E....... - -08033e48 <_ZTV13CommandVirage>: - ... - 8033e50: 0802eb4d 0802eb15 08011601 08010ded M............... - 8033e60: 080113a5 080113bd 080113d5 00000000 ................ - -08033e70 <_ZTV18CommandTournerVers>: - ... - 8033e78: 0802eadd 0802eaa5 080119e9 08010ded ................ - 8033e88: 08011359 08011375 0801138d 00000000 Y...u........... - -08033e98 <_ZTV13CommandAllerA>: - ... - 8033ea0: 0802ea6d 0802ea35 08012341 080119b5 m...5...A#...... - 8033eb0: 0801130d 08011325 0801133d 00000000 ....%...=....... - -08033ec0 <_ZTV18CommandAllerEnArcA>: - ... - 8033ec8: 0802e9fd 0802e9c5 08012ab9 08010ded .........*...... - 8033ed8: 080112c1 080112d9 080112f1 00000000 ................ - -08033ee8 <_ZN14PIDFilterAngle2KpE>: - 8033ee8: 41880000 ...A - -08033eec <_ZN14PIDFilterAngle2KdE>: - 8033eec: 3f800000 ...? - -08033ef0 <_ZN14PIDFilterAngle2KiE>: - 8033ef0: 3f333333 333? - -08033ef4 <_ZN17PIDFilterDistance2KpE>: - 8033ef4: 3dcccccd ...= - -08033ef8 <_ZN17PIDFilterDistance2KdE>: - 8033ef8: 3e99999a ...> - -08033efc <_ZN17PIDFilterDistance2KiE>: - 8033efc: 3bb43958 X9.; - -08033f00 <_ZTV12AnalogSensor>: - ... - 8033f08: 08013f11 08013ed9 0802f169 00000000 .?...>..i....... - -08033f18 <_ZTV19CommandCheckCouleur>: - ... - 8033f20: 0802ed7d 0802ed45 08014a79 08010ded }...E...yJ...... - 8033f30: 08014561 0801457d 08014599 00000000 aE..}E...E...... - -08033f40 <_ZTV29CommandCalibrerCapteurCouleur>: - ... - 8033f48: 0802ed0d 0802ecd5 08014801 08010ded .........H...... - 8033f58: 080144ed 08014509 08014525 00000000 .D...E..%E...... - -08033f68 <_ZTV18LigthBarrierSensor>: - ... - 8033f70: 0801516d 08015135 08015069 00000000 mQ..5Q..iP...... - -08033f80 <_ZTV17LimitSwitchSensor>: - ... - 8033f88: 080153a1 08015369 080152c5 00000000 .S..iS...R...... - 8033f98: a7c36552 61202c75 746e6176 756f7420 Re..u, avant tou - 8033fa8: 63206574 616d6d6f 6e61646e 00212074 te commandant !. - 8033fb8: 3a746f47 00000000 Got:.... - -08033fc0 <_ZTV11SharpSensor>: - ... - 8033fc8: 080161d1 08016199 08016049 00000000 .a...a..I`...... - 8033fd8: 74696157 20676e69 20726f66 72697427 Waiting for 'tir - 8033fe8: 65747465 6d657220 27657369 00000000 ette remise'.... - 8033ff8: 74696157 20676e69 20726f66 72697427 Waiting for 'tir - 8034008: 65747465 6c6e6520 27657665 00000000 ette enleve'.... - -08034018 <_ZTV16UltrasoundSensor>: - ... - 8034020: 08016955 0801691d 080168b5 00000000 Ui...i...h...... - 8034030: 74696e49 00000000 Init.... - -08034038 <_ZTV10ActionGoTo>: - ... - 8034040: 080181b1 08018179 08018029 0801bf31 ....y...)...1... - 8034050: 08017ff1 0801800d ........ - -08034058 <_ZTV12DeposeFruits>: - ... - 8034060: 0801857d 08018545 080182f9 0801bf31 }...E.......1... - 8034070: 0801bf49 0801bf81 I....... - -08034078 <_ZTV16EteindreBougieV2>: - ... - 8034080: 0801985d 08019825 08019555 0801bf31 ]...%...U...1... - 8034090: 0801bf49 0801bf81 I....... - -08034098 <_ZTV15EteindreBougies>: - ... - 80340a0: 08019e39 08019e01 08019a31 0801bf31 9.......1...1... - 80340b0: 0801bf49 0801bf81 I....... - -080340b8 <_ZTV7FeuCote>: - ... - 80340c0: 0801b911 0801b8d9 0801b621 0801bf31 ........!...1... - 80340d0: 0801bf49 0801bf81 I....... - -080340d8 <_ZTV17MediumLevelAction>: - ... - 80340e0: 0801bfe1 0801bfb1 0802f169 0801bf31 ........i...1... - 80340f0: 0801bf49 0801bf81 I....... - -080340f8 <_ZTV15RamasserVerreV2>: - ... - 8034100: 0801c1e5 0801c1ad 0801c0e1 0801bf31 ............1... - 8034110: 0801bf49 0801bf81 I....... - -08034118 <_ZTV14RamasserVerres>: - ... - 8034120: 0801c50d 0801c4a1 0801c2e9 0801bf31 ............1... - 8034130: 0801bf49 0801bf81 I....... - -08034138 <_ZTV19RecalibrerOdometrie>: - ... - 8034140: 0801f505 0801f4cd 0801eca5 0801bf31 ............1... - 8034150: 0801bf49 0801bf81 I....... - -08034158 <_ZTV11StrategieV2>: - ... - 8034160: 08020281 08020251 ....Q... - -08034168 <_ZTV11StrategieV3>: - ... - 8034170: 0802ef41 0802ee51 080206d9 0801bf31 A...Q.......1... - 8034180: 08020559 0801bf81 70616548 646e6120 Y.......Heap and - 8034190: 61747320 63206b63 696c6c6f 6e6f6973 stack collision - 80341a0: 0000000a .... - -080341a4 : - 80341a4: 080350f4 0000000b 080350f4 0000000b .P.......P...... - 80341b4: 00000000 08035100 00000004 08035108 .....Q.......Q.. - 80341c4: 00000007 00000007 08035110 00000004 .........Q...... - 80341d4: 08035118 00000004 00000000 08035120 .Q.......... Q.. - 80341e4: 00000006 08035120 00000006 00000008 .... Q.......... - 80341f4: 08035128 0000000b 08035128 0000000b (Q......(Q...... - 8034204: 00000008 08035134 00000005 08035134 ....4Q......4Q.. - 8034214: 00000005 00000008 0803513c 0000000a ........: - 80343ac: 080351fc 08035200 00000002 00000002 .Q...R.......... - 80343bc: 08035204 08035208 00000001 00000002 .R...R.......... - 80343cc: 0803520c 08035098 00000002 00000002 .R...P.......... - 80343dc: 08035210 08035214 00000001 00000001 .R...R.......... - 80343ec: 08035218 08035214 00000001 00000002 .R...R.......... - 80343fc: 0803521c 08035220 00000002 00000000 .R.. R.......... - 803440c: 08035224 08035228 00000001 00000002 $R..(R.......... - 803441c: 0803522c 08035230 00000001 00000001 ,R..0R.......... - 803442c: 08035234 08035238 00000002 00000002 4R..8R.......... - 803443c: 0803523c 08035240 00000008 00000001 : - 80346cc: 00000074 08034f0c 00000003 08034f0c t....O.......O.. - 80346dc: 00000003 00000000 00000000 00000061 ............a... - 80346ec: 08035368 0000000e 08035368 0000000e hS......hS...... - 80346fc: 08035378 00000009 00000062 08035384 xS......b....S.. - 803470c: 00000011 08035384 00000011 08035398 .....S.......S.. - 803471c: 0000000c 00000073 080353a8 0000000b ....s....S...... - 803472c: 080353b4 00000046 08035398 0000000c .S..F....S...... - 803473c: 00000069 080353fc 0000000c 0803540c i....S.......T.. - 803474c: 00000031 08035440 0000000d 0000006f 1...@T......o... - 803475c: 08035450 0000000c 08035460 00000031 PT......`T..1... - 803476c: 08035494 0000000d 00000064 080354a4 .T......d....T.. - 803477c: 0000000d 080354b4 00000032 080354e8 .....T..2....T.. - 803478c: 0000000e .... - -08034790 <_ZTV6vectorIN6Sensor12OutputSensorEE>: - ... - 8034798: 0802e885 0802e845 ....E... - -080347a0 <_ZTV6vectorIN17LimitSwitchSensor15LimitSwitchNameEE>: - ... - 80347a8: 0802e905 0802e8c5 ........ - -080347b0 <_ZTV6vectorIN18LigthBarrierSensor16LigthBarrierNameEE>: - ... - 80347b8: 0802e985 0802e945 65727570 72697620 ....E...pure vir - 80347c8: 6c617574 74656d20 20646f68 6c6c6163 tual method call - 80347d8: 000a6465 3a647473 6461623a 7079745f ed..std::bad_typ - 80347e8: 00646965 00000000 eid..... - -080347f0 <_ZTVSt10bad_typeid>: - 80347f0: 00000000 08034818 0802fcc9 0802fcf1 .....H.......... - 8034800: 0802fcc1 00000000 ........ - -08034808 <_ZTSSt10bad_typeid>: - 8034808: 30317453 5f646162 65707974 00006469 St10bad_typeid.. - -08034818 <_ZTISt10bad_typeid>: - 8034818: 08034900 08034808 08034e34 6d726574 .I...H..4N..term - 8034828: 74616e69 61632065 64656c6c 63657220 inate called rec - 8034838: 69737275 796c6576 0000000a 6d726574 ursively....term - 8034848: 74616e69 61632065 64656c6c 74666120 inate called aft - 8034858: 74207265 776f7268 20676e69 69206e61 er throwing an i - 8034868: 6174736e 2065636e 2720666f 00000000 nstance of '.... - 8034878: 00000a27 68772020 29287461 0020203a '... what(): . - 8034888: 6d726574 74616e69 61632065 64656c6c terminate called - 8034898: 74697720 74756f68 206e6120 69746361 without an acti - 80348a8: 65206576 70656378 6e6f6974 0000000a ve exception.... - 80348b8: 3a647473 6461623a 7361635f 00000074 std::bad_cast... - -080348c8 <_ZTVSt8bad_cast>: - 80348c8: 00000000 080348ec 080300c5 080300ed .....H.......... - 80348d8: 080300bd 00000000 ........ - -080348e0 <_ZTSSt8bad_cast>: - 80348e0: 62387453 635f6461 00747361 St8bad_cast. - -080348ec <_ZTISt8bad_cast>: - 80348ec: 08034900 080348e0 08034e34 .I...H..4N.. - -080348f8 <_ZTVN10__cxxabiv120__si_class_type_infoE>: - 80348f8: 00000000 08034950 080301fd 08030225 ....PI......%... - 8034908: 08030481 08030485 080303e9 08030345 ............E... - 8034918: 08030109 08030131 080301c5 00000000 ....1........... - -08034928 <_ZTSN10__cxxabiv120__si_class_type_infoE>: - 8034928: 5f30314e 7878635f 76696261 5f303231 N10__cxxabiv120_ - 8034938: 5f69735f 73616c63 79745f73 695f6570 _si_class_type_i - 8034948: 456f666e 00000000 nfoE.... - -08034950 <_ZTIN10__cxxabiv120__si_class_type_infoE>: - 8034950: 08034900 08034928 08034e94 00000000 .I..(I...N...... - -08034960 <_ZTVN10__cxxabiv123__fundamental_type_infoE>: - 8034960: 00000000 08034c50 08030241 08030269 ....PL..A...i... - 8034970: 08030481 08030485 08030489 08030499 ................ - -08034980 <_ZTIPKe>: - 8034980: 08035500 08034c5c 00000001 080349a0 .U..\L.......I.. - -08034990 <_ZTIPe>: - 8034990: 08035500 08034c60 00000000 080349a0 .U..`L.......I.. - -080349a0 <_ZTIe>: - 80349a0: 08034968 08034c64 hI..dL.. - -080349a8 <_ZTIPKd>: - 80349a8: 08035500 08034c68 00000001 080349c8 .U..hL.......I.. - -080349b8 <_ZTIPd>: - 80349b8: 08035500 08034c6c 00000000 080349c8 .U..lL.......I.. - -080349c8 <_ZTId>: - 80349c8: 08034968 08034c70 hI..pL.. - -080349d0 <_ZTIPKf>: - 80349d0: 08035500 08034c74 00000001 080349f0 .U..tL.......I.. - -080349e0 <_ZTIPf>: - 80349e0: 08035500 08034c78 00000000 080349f0 .U..xL.......I.. - -080349f0 <_ZTIf>: - 80349f0: 08034968 08034c7c hI..|L.. - -080349f8 <_ZTIPKy>: - 80349f8: 08035500 08034c80 00000001 08034a18 .U...L.......J.. - -08034a08 <_ZTIPy>: - 8034a08: 08035500 08034c84 00000000 08034a18 .U...L.......J.. - -08034a18 <_ZTIy>: - 8034a18: 08034968 08034c88 hI...L.. - -08034a20 <_ZTIPKx>: - 8034a20: 08035500 08034c8c 00000001 08034a40 .U...L......@J.. - -08034a30 <_ZTIPx>: - 8034a30: 08035500 08034c90 00000000 08034a40 .U...L......@J.. - -08034a40 <_ZTIx>: - 8034a40: 08034968 08034c94 hI...L.. - -08034a48 <_ZTIPKm>: - 8034a48: 08035500 08034c98 00000001 08034a68 .U...L......hJ.. - -08034a58 <_ZTIPm>: - 8034a58: 08035500 08034c9c 00000000 08034a68 .U...L......hJ.. - -08034a68 <_ZTIm>: - 8034a68: 08034968 08034ca0 hI...L.. - -08034a70 <_ZTIPKl>: - 8034a70: 08035500 08034ca4 00000001 08034a90 .U...L.......J.. - -08034a80 <_ZTIPl>: - 8034a80: 08035500 08034ca8 00000000 08034a90 .U...L.......J.. - -08034a90 <_ZTIl>: - 8034a90: 08034968 08034cac hI...L.. - -08034a98 <_ZTIPKj>: - 8034a98: 08035500 08034cb0 00000001 08034ab8 .U...L.......J.. - -08034aa8 <_ZTIPj>: - 8034aa8: 08035500 08034cb4 00000000 08034ab8 .U...L.......J.. - -08034ab8 <_ZTIj>: - 8034ab8: 08034968 08034cb8 hI...L.. - -08034ac0 <_ZTIPKi>: - 8034ac0: 08035500 08034cbc 00000001 08034ae0 .U...L.......J.. - -08034ad0 <_ZTIPi>: - 8034ad0: 08035500 08034cc0 00000000 08034ae0 .U...L.......J.. - -08034ae0 <_ZTIi>: - 8034ae0: 08034968 08034cc4 hI...L.. - -08034ae8 <_ZTIPKt>: - 8034ae8: 08035500 08034cc8 00000001 08034b08 .U...L.......K.. - -08034af8 <_ZTIPt>: - 8034af8: 08035500 08034ccc 00000000 08034b08 .U...L.......K.. - -08034b08 <_ZTIt>: - 8034b08: 08034968 08034cd0 hI...L.. - -08034b10 <_ZTIPKs>: - 8034b10: 08035500 08034cd4 00000001 08034b30 .U...L......0K.. - -08034b20 <_ZTIPs>: - 8034b20: 08035500 08034cd8 00000000 08034b30 .U...L......0K.. - -08034b30 <_ZTIs>: - 8034b30: 08034968 08034cdc hI...L.. - -08034b38 <_ZTIPKh>: - 8034b38: 08035500 08034ce0 00000001 08034b58 .U...L......XK.. - -08034b48 <_ZTIPh>: - 8034b48: 08035500 08034ce4 00000000 08034b58 .U...L......XK.. - -08034b58 <_ZTIh>: - 8034b58: 08034968 08034ce8 hI...L.. - -08034b60 <_ZTIPKa>: - 8034b60: 08035500 08034cec 00000001 08034b80 .U...L.......K.. - -08034b70 <_ZTIPa>: - 8034b70: 08035500 08034cf0 00000000 08034b80 .U...L.......K.. - -08034b80 <_ZTIa>: - 8034b80: 08034968 08034cf4 hI...L.. - -08034b88 <_ZTIPKc>: - 8034b88: 08035500 08034cf8 00000001 08034ba8 .U...L.......K.. - -08034b98 <_ZTIPc>: - 8034b98: 08035500 08034cfc 00000000 08034ba8 .U...L.......K.. - -08034ba8 <_ZTIc>: - 8034ba8: 08034968 08034d00 hI...M.. - -08034bb0 <_ZTIPKw>: - 8034bb0: 08035500 08034d04 00000001 08034bd0 .U...M.......K.. - -08034bc0 <_ZTIPw>: - 8034bc0: 08035500 08034d08 00000000 08034bd0 .U...M.......K.. - -08034bd0 <_ZTIw>: - 8034bd0: 08034968 08034d0c hI...M.. - -08034bd8 <_ZTIPKb>: - 8034bd8: 08035500 08034d10 00000001 08034bf8 .U...M.......K.. - -08034be8 <_ZTIPb>: - 8034be8: 08035500 08034d14 00000000 08034bf8 .U...M.......K.. - -08034bf8 <_ZTIb>: - 8034bf8: 08034968 08034d18 hI...M.. - -08034c00 <_ZTIPKv>: - 8034c00: 08035500 08034d1c 00000001 08034c20 .U...M...... L.. - -08034c10 <_ZTIPv>: - 8034c10: 08035500 08034d20 00000000 08034c20 .U.. M...... L.. - -08034c20 <_ZTIv>: - 8034c20: 08034968 08034d24 hI..$M.. - -08034c28 <_ZTSN10__cxxabiv123__fundamental_type_infoE>: - 8034c28: 5f30314e 7878635f 76696261 5f333231 N10__cxxabiv123_ - 8034c38: 6e75665f 656d6164 6c61746e 7079745f _fundamental_typ - 8034c48: 6e695f65 00456f66 e_infoE. - -08034c50 <_ZTIN10__cxxabiv123__fundamental_type_infoE>: - 8034c50: 08034900 08034c28 08034ed0 .I..(L...N.. - -08034c5c <_ZTSPKe>: - 8034c5c: 00654b50 PKe. - -08034c60 <_ZTSPe>: - 8034c60: 00006550 Pe.. - -08034c64 <_ZTSe>: - 8034c64: 00000065 e... - -08034c68 <_ZTSPKd>: - 8034c68: 00644b50 PKd. - -08034c6c <_ZTSPd>: - 8034c6c: 00006450 Pd.. - -08034c70 <_ZTSd>: - 8034c70: 00000064 d... - -08034c74 <_ZTSPKf>: - 8034c74: 00664b50 PKf. - -08034c78 <_ZTSPf>: - 8034c78: 00006650 Pf.. - -08034c7c <_ZTSf>: - 8034c7c: 00000066 f... - -08034c80 <_ZTSPKy>: - 8034c80: 00794b50 PKy. - -08034c84 <_ZTSPy>: - 8034c84: 00007950 Py.. - -08034c88 <_ZTSy>: - 8034c88: 00000079 y... - -08034c8c <_ZTSPKx>: - 8034c8c: 00784b50 PKx. - -08034c90 <_ZTSPx>: - 8034c90: 00007850 Px.. - -08034c94 <_ZTSx>: - 8034c94: 00000078 x... - -08034c98 <_ZTSPKm>: - 8034c98: 006d4b50 PKm. - -08034c9c <_ZTSPm>: - 8034c9c: 00006d50 Pm.. - -08034ca0 <_ZTSm>: - 8034ca0: 0000006d m... - -08034ca4 <_ZTSPKl>: - 8034ca4: 006c4b50 PKl. - -08034ca8 <_ZTSPl>: - 8034ca8: 00006c50 Pl.. - -08034cac <_ZTSl>: - 8034cac: 0000006c l... - -08034cb0 <_ZTSPKj>: - 8034cb0: 006a4b50 PKj. - -08034cb4 <_ZTSPj>: - 8034cb4: 00006a50 Pj.. - -08034cb8 <_ZTSj>: - 8034cb8: 0000006a j... - -08034cbc <_ZTSPKi>: - 8034cbc: 00694b50 PKi. - -08034cc0 <_ZTSPi>: - 8034cc0: 00006950 Pi.. - -08034cc4 <_ZTSi>: - 8034cc4: 00000069 i... - -08034cc8 <_ZTSPKt>: - 8034cc8: 00744b50 PKt. - -08034ccc <_ZTSPt>: - 8034ccc: 00007450 Pt.. - -08034cd0 <_ZTSt>: - 8034cd0: 00000074 t... - -08034cd4 <_ZTSPKs>: - 8034cd4: 00734b50 PKs. - -08034cd8 <_ZTSPs>: - 8034cd8: 00007350 Ps.. - -08034cdc <_ZTSs>: - 8034cdc: 00000073 s... - -08034ce0 <_ZTSPKh>: - 8034ce0: 00684b50 PKh. - -08034ce4 <_ZTSPh>: - 8034ce4: 00006850 Ph.. - -08034ce8 <_ZTSh>: - 8034ce8: 00000068 h... - -08034cec <_ZTSPKa>: - 8034cec: 00614b50 PKa. - -08034cf0 <_ZTSPa>: - 8034cf0: 00006150 Pa.. - -08034cf4 <_ZTSa>: - 8034cf4: 00000061 a... - -08034cf8 <_ZTSPKc>: - 8034cf8: 00634b50 PKc. - -08034cfc <_ZTSPc>: - 8034cfc: 00006350 Pc.. - -08034d00 <_ZTSc>: - 8034d00: 00000063 c... - -08034d04 <_ZTSPKw>: - 8034d04: 00774b50 PKw. - -08034d08 <_ZTSPw>: - 8034d08: 00007750 Pw.. - -08034d0c <_ZTSw>: - 8034d0c: 00000077 w... - -08034d10 <_ZTSPKb>: - 8034d10: 00624b50 PKb. - -08034d14 <_ZTSPb>: - 8034d14: 00006250 Pb.. - -08034d18 <_ZTSb>: - 8034d18: 00000062 b... - -08034d1c <_ZTSPKv>: - 8034d1c: 00764b50 PKv. - -08034d20 <_ZTSPv>: - 8034d20: 00007650 Pv.. - -08034d24 <_ZTSv>: - 8034d24: 00000076 3a647473 6378653a 69747065 v...std::excepti - 8034d34: 00006e6f 3a647473 6461623a 6378655f on..std::bad_exc - 8034d44: 69747065 00006e6f 00000000 eption...... - -08034d50 <_ZTVN10__cxxabiv119__foreign_exceptionE>: - 8034d50: 00000000 08034dd4 080302d9 080302f5 .....M.......... - 8034d60: 0802f169 00000000 i....... - -08034d68 <_ZTVN10__cxxabiv115__forced_unwindE>: - 8034d68: 00000000 08034dfc 080302c1 08030309 .....M.......... - 8034d78: 0802f169 00000000 i....... - -08034d80 <_ZTVSt13bad_exception>: - 8034d80: 00000000 08034e18 080302a9 08030331 .....N......1... - 8034d90: 080302ed 00000000 ........ - -08034d98 <_ZTVSt9exception>: - 8034d98: 00000000 08034e34 08030291 0803031d ....4N.......... - 8034da8: 080302e5 00000000 ........ - -08034db0 <_ZTSN10__cxxabiv119__foreign_exceptionE>: - 8034db0: 5f30314e 7878635f 76696261 5f393131 N10__cxxabiv119_ - 8034dc0: 726f665f 6e676965 6378655f 69747065 _foreign_excepti - 8034dd0: 00456e6f onE. - -08034dd4 <_ZTIN10__cxxabiv119__foreign_exceptionE>: - 8034dd4: 08034e48 08034db0 HN...M.. - -08034ddc <_ZTSN10__cxxabiv115__forced_unwindE>: - 8034ddc: 5f30314e 7878635f 76696261 5f353131 N10__cxxabiv115_ - 8034dec: 726f665f 5f646563 69776e75 0045646e _forced_unwindE. - -08034dfc <_ZTIN10__cxxabiv115__forced_unwindE>: - 8034dfc: 08034e48 08034ddc HN...M.. - -08034e04 <_ZTSSt13bad_exception>: - 8034e04: 33317453 5f646162 65637865 6f697470 St13bad_exceptio - 8034e14: 0000006e n... - -08034e18 <_ZTISt13bad_exception>: - 8034e18: 08034900 08034e04 08034e34 .I...N..4N.. - -08034e24 <_ZTSSt9exception>: - 8034e24: 65397453 70656378 6e6f6974 00000000 St9exception.... - -08034e34 <_ZTISt9exception>: - 8034e34: 08034e48 08034e24 00000000 HN..$N...... - -08034e40 <_ZTVN10__cxxabiv117__class_type_infoE>: - 8034e40: 00000000 08034e94 08030415 0803043d .....N......=... - 8034e50: 08030481 08030485 080303e9 08030345 ............E... - 8034e60: 08030389 080303a9 0803037d 00000000 ........}....... - -08034e70 <_ZTSN10__cxxabiv117__class_type_infoE>: - 8034e70: 5f30314e 7878635f 76696261 5f373131 N10__cxxabiv117_ - 8034e80: 616c635f 745f7373 5f657079 6f666e69 _class_type_info - 8034e90: 00000045 E... - -08034e94 <_ZTIN10__cxxabiv117__class_type_infoE>: - 8034e94: 08034900 08034e70 08034ed0 .I..pN...N.. - -08034ea0 <_ZTVSt9type_info>: - 8034ea0: 00000000 08034ed0 08030465 0803049d .....N..e....... - 8034eb0: 08030481 08030485 08030489 08030499 ................ - -08034ec0 <_ZTSSt9type_info>: - 8034ec0: 74397453 5f657079 6f666e69 00000000 St9type_info.... - -08034ed0 <_ZTISt9type_info>: - 8034ed0: 08034e48 08034ec0 4f4c475f 5f4c4142 HN...N.._GLOBAL_ - 8034ee0: 00000000 6f6e6128 6f6d796e 6e207375 ....(anonymous n - 8034ef0: 73656d61 65636170 00000029 69727473 amespace)...stri - 8034f00: 6c20676e 72657469 00006c61 00647473 ng literal..std. - 8034f10: 00003a3a 7272414a 00007961 00005d5b ::..JArray..[].. - 8034f20: 62617476 6620656c 0020726f 20545456 vtable for .VTT - 8034f30: 20726f66 00000000 736e6f63 63757274 for ....construc - 8034f40: 6e6f6974 61747620 20656c62 20726f66 tion vtable for - 8034f50: 00000000 2d6e692d 00000000 65707974 ....-in-....type - 8034f60: 6f666e69 726f6620 00000020 65707974 info for ...type - 8034f70: 6f666e69 6d616e20 6f662065 00002072 info name for .. - 8034f80: 65707974 6f666e69 206e6620 20726f66 typeinfo fn for - 8034f90: 00000000 2d6e6f6e 74726976 206c6175 ....non-virtual - 8034fa0: 6e756874 6f74206b 00000020 61766f63 thunk to ...cova - 8034fb0: 6e616972 65722074 6e727574 75687420 riant return thu - 8034fc0: 74206b6e 0000206f 6176616a 616c4320 nk to ..java Cla - 8034fd0: 66207373 0020726f 72617567 61762064 ss for .guard va - 8034fe0: 62616972 6620656c 0020726f 65666572 riable for .refe - 8034ff0: 636e6572 65742065 726f706d 20797261 rence temporary - 8035000: 20726f66 00000000 64646968 61206e65 for ....hidden a - 8035010: 7361696c 726f6620 00000020 002a3a3a lias for ...::*. - 8035020: 0000202c 7265706f 726f7461 00000000 , ..operator.... - 8035030: 7265706f 726f7461 00000020 00002029 operator ...) .. - 8035040: 00002820 203a2029 00000028 00006c75 (..) : (...ul.. - 8035050: 00006c6c 006c6c75 736c6166 00000065 ll..ull.false... - 8035060: 65757274 00000000 6176616a 73657220 true....java res - 8035070: 6372756f 00002065 73657220 63697274 ource .. restric - 8035080: 00000074 6c6f7620 6c697461 00000065 t... volatile... - 8035090: 6e6f6320 00007473 00002626 706d6f63 const..&&..comp - 80350a0: 2078656c 00000000 67616d69 72616e69 lex ....imaginar - 80350b0: 00002079 626f6c67 64206c61 72747365 y ..global destr - 80350c0: 6f746375 6b207372 64657965 206f7420 uctors keyed to - 80350d0: 00000000 626f6c67 63206c61 74736e6f ....global const - 80350e0: 74637572 2073726f 6579656b 6f742064 ructors keyed to - 80350f0: 00000020 6e676973 63206465 00726168 ...signed char. - 8035100: 6c6f6f62 00000000 6c6f6f62 006e6165 bool....boolean. - 8035110: 72616863 00000000 65747962 00000000 char....byte.... - 8035120: 62756f64 0000656c 676e6f6c 756f6420 double..long dou - 8035130: 00656c62 616f6c66 00000074 6c665f5f ble.float...__fl - 8035140: 3174616f 00003832 69736e75 64656e67 oat128..unsigned - 8035150: 61686320 00000072 00746e69 69736e75 char...int.unsi - 8035160: 64656e67 746e6920 00000000 69736e75 gned int....unsi - 8035170: 64656e67 00000000 676e6f6c 00000000 gned....long.... - 8035180: 69736e75 64656e67 6e6f6c20 00000067 unsigned long... - 8035190: 6e695f5f 38323174 00000000 69736e75 __int128....unsi - 80351a0: 64656e67 695f5f20 3231746e 00000038 gned __int128... - 80351b0: 726f6873 00000074 69736e75 64656e67 short...unsigned - 80351c0: 6f687320 00007472 64696f76 00000000 short..void.... - 80351d0: 61686377 00745f72 676e6f6c 6e6f6c20 wchar_t.long lon - 80351e0: 00000067 69736e75 64656e67 6e6f6c20 g...unsigned lon - 80351f0: 6f6c2067 0000676e 002e2e2e 00004e61 g long......aN.. - 8035200: 00003d26 00005361 0000003d 00006161 &=..aS..=...aa.. - 8035210: 00006461 00000026 00006e61 00006c63 ad..&...an..cl.. - 8035220: 00002928 00006d63 0000002c 00006f63 ()..cm..,...co.. - 8035230: 0000007e 00005664 00003d2f 00006164 ~...dV../=..da.. - 8035240: 656c6564 5d5b6574 00000000 00006564 delete[]....de.. - 8035250: 0000002a 00006c64 656c6564 00006574 *...dl..delete.. - 8035260: 00007664 0000002f 00004f65 00003d5e dv../...eO..^=.. - 8035270: 00006f65 0000005e 00007165 00003d3d eo..^...eq..==.. - 8035280: 00006567 00003d3e 00007467 00007869 ge..>=..gt..ix.. - 8035290: 0000536c 003d3c3c 00003d3c 0000736c lS..<<=.<=..ls.. - 80352a0: 00003c3c 0000746c 0000003c 0000496d <<..lt..<...mI.. - 80352b0: 00003d2d 00004c6d 00003d2a 0000696d -=..mL..*=..mi.. - 80352c0: 0000002d 00006c6d 00006d6d 00002d2d -...ml..mm..--.. - 80352d0: 0000616e 5b77656e 0000005d 0000656e na..new[]...ne.. - 80352e0: 00003d21 0000746e 00000021 0000776e !=..nt..!...nw.. - 80352f0: 0077656e 0000526f 00003d7c 00006f6f new.oR..|=..oo.. - 8035300: 00007c7c 0000007c 00004c70 00003d2b ||..|...pL..+=.. - 8035310: 00006c70 0000002b 00006d70 002a3e2d pl..+...pm..->*. - 8035320: 00007070 00002b2b 00007370 00007470 pp..++..ps..pt.. - 8035330: 00003e2d 00007571 0000003f 00004d72 ->..qu..?...rM.. - 8035340: 00003d25 00005372 003d3e3e 00006d72 %=..rS..>>=.rm.. - 8035350: 00000025 00007372 00003e3e 657a6973 %...rs..>>..size - 8035360: 0020666f 00007a73 3a647473 6c6c613a of .sz..std::all - 8035370: 7461636f 0000726f 6f6c6c61 6f746163 ocator..allocato - 8035380: 00000072 3a647473 7361623a 735f6369 r...std::basic_s - 8035390: 6e697274 00000067 69736162 74735f63 tring...basic_st - 80353a0: 676e6972 00000000 3a647473 7274733a ring....std::str - 80353b0: 00676e69 3a647473 7361623a 735f6369 ing.std::basic_s - 80353c0: 6e697274 68633c67 202c7261 3a647473 tring, std::allocat - 80353f0: 633c726f 3e726168 00003e20 3a647473 or >..std: - 8035400: 7473693a 6d616572 00000000 3a647473 :istream....std: - 8035410: 7361623a 695f6369 65727473 633c6d61 :basic_istream >... - 8035440: 69736162 73695f63 61657274 0000006d basic_istream... - 8035450: 3a647473 74736f3a 6d616572 00000000 std::ostream.... - 8035460: 3a647473 7361623a 6f5f6369 65727473 std::basic_ostre - 8035470: 633c6d61 2c726168 64747320 68633a3a am - 8035490: 0000003e 69736162 736f5f63 61657274 >...basic_ostrea - 80354a0: 0000006d 3a647473 736f693a 61657274 m...std::iostrea - 80354b0: 0000006d 3a647473 7361623a 695f6369 m...std::basic_i - 80354c0: 7274736f 3c6d6165 72616863 7473202c ostream >..basic_io - 80354f0: 65727473 00006d61 stream.. - -080354f8 <_ZTVN10__cxxabiv119__pointer_type_infoE>: - 80354f8: 00000000 08035544 080306e1 08030709 ....DU.......... - 8035508: 08030699 08030485 08030739 08030499 ........9....... - 8035518: 0803069d 00000000 ........ - -08035520 <_ZTSN10__cxxabiv119__pointer_type_infoE>: - 8035520: 5f30314e 7878635f 76696261 5f393131 N10__cxxabiv119_ - 8035530: 696f705f 7265746e 7079745f 6e695f65 _pointer_type_in - 8035540: 00456f66 foE. - -08035544 <_ZTIN10__cxxabiv119__pointer_type_infoE>: - 8035544: 08034900 08035520 0803559c .I.. U...U.. - -08035550 <_ZTVN10__cxxabiv117__pbase_type_infoE>: - 8035550: 00000000 0803559c 08030799 080307c1 .....U.......... - 8035560: 08030481 08030485 08030739 08030499 ........9....... - 8035570: 08030725 00000000 %....... - -08035578 <_ZTSN10__cxxabiv117__pbase_type_infoE>: - 8035578: 5f30314e 7878635f 76696261 5f373131 N10__cxxabiv117_ - 8035588: 6162705f 745f6573 5f657079 6f666e69 _pbase_type_info - 8035598: 00000045 E... - -0803559c <_ZTIN10__cxxabiv117__pbase_type_infoE>: - 803559c: 08034900 08035578 08034ed0 74727173 .I..xU...N..sqrt - 80355ac: 00000000 .... - -080355b0 : - 80355b0: 3ff921fb 400921fb 4012d97c 401921fb .!.?.!.@|..@.!.@ - 80355c0: 401f6a7a 4022d97c 4025fdbb 402921fb zj.@|."@..%@.!)@ - 80355d0: 402c463a 402f6a7a 4031475c 4032d97c :F,@zj/@\G1@|.2@ - 80355e0: 40346b9c 4035fdbb 40378fdb 403921fb .k4@..5@..7@.!9@ - 80355f0: 403ab41b 403c463a 403dd85a 403f6a7a ..:@:F<@Z.=@zj?@ - 8035600: 40407e4c 4041475c 4042106c 4042d97c L~@@\GA@l.B@|.B@ - 8035610: 4043a28c 40446b9c 404534ac 4045fdbb ..C@.kD@.4E@..E@ - 8035620: 4046c6cb 40478fdb 404858eb 404921fb ..F@..G@.XH@.!I@ - -08035630 : - 8035630: 00a2f983 006e4e44 001529fc 002757d1 ....DNn..)...W'. - 8035640: 00f534dd 00c0db62 0095993c 00439041 .4..b...<...A.C. - 8035650: 00fe5163 00abdebb 00c561b7 00246e3a cQ.......a..:n$. - 8035660: 00424dd2 00e00649 002eea09 00d1921c .MB.I........... - 8035670: 00fe1deb 001cb129 00a73ee8 008235f5 ....)....>...5.. - 8035680: 002ebb44 0084e99c 007026b4 005f7e41 D........&p.A~_. - 8035690: 003991d6 00398353 0039f49c 00845f8b ..9.S.9...9.._.. - 80356a0: 00bdf928 003b1ff8 0097ffde 0005980f (.....;......... - 80356b0: 00ef2f11 008b5a0a 006d1f6d 00367ecf ./...Z..m.m..~6. - 80356c0: 0027cb09 00b74f46 003f669e 005fea2d ..'.FO...f?.-._. - 80356d0: 007527ba 00c7ebe5 00f17b3d 000739f7 .'u.....={...9.. - 80356e0: 008a5292 00ea6bfb 005fb11f 008d5d08 .R...k...._..].. - 80356f0: 00560330 0046fc7b 006babf0 00cfbc20 0.V.{.F...k. ... - 8035700: 009af436 001da9e3 0091615e 00e61b08 6.......^a...... - 8035710: 00659985 005f14a0 0068408d 00ffd880 ..e..._..@h..... - 8035720: 004d7327 00310606 001556ca 0073a8c9 'sM...1..V....s. - 8035730: 0060e27b 00c08c6b {.`.k... - -08035738 : - 8035738: 00000002 00000003 00000004 00000006 ................ - -08035748 : - 8035748: 40000000 3ff921fb 00000000 3e74442d ...@.!.?....-Dt> - 8035758: 80000000 3cf84698 60000000 3b78cc51 .....F.<...`Q.x; - 8035768: 80000000 39f01b83 40000000 387a2520 .......9...@ %z8 - 8035778: 80000000 36e38222 00000000 3569f31d ...."..6......i5 - -08035788 : - 8035788: 0561bb4f 3fddac67 54442d18 3fe921fb O.a.g..?.-DT.!.? - 8035798: d281f69b 3fef730b 54442d18 3ff921fb .....s.?.-DT.!.? - -080357a8 : - 80357a8: 222f65e2 3c7a2b7f 33145c07 3c81a626 .e/".+z<.\.3&..< - 80357b8: 7af0cbbd 3c700788 33145c07 3c91a626 ...z..p<.\.3&..< - -080357c8 <_global_impure_ptr>: - 80357c8: 20000054 00000043 T.. C... - -080357d0 <__sf_fake_stdin>: - ... - -080357f0 <__sf_fake_stdout>: - ... - -08035810 <__sf_fake_stderr>: - ... diff --git a/stm32/src/KJ2016Tempo.cpp b/stm32/src/KJ2016Tempo.cpp new file mode 100644 index 0000000000000000000000000000000000000000..c23cb8db313d8d493a46f845dd675d0cd6ddf918 --- /dev/null +++ b/stm32/src/KJ2016Tempo.cpp @@ -0,0 +1,98 @@ +#include "KJ2016Tempo.h" + +#include "interfaceServosNumeriques.h" +#include "actionneurs/fishingNet.h" + +KJ2016Tempo::KJ2016Tempo(unsigned int leftServoID, unsigned int rightServoID): LEFT_SERVO_ID(leftServoID), RIGHT_SERVO_ID(rightServoID) +{} + +KJ2016Tempo::~KJ2016Tempo() +{ + enginesStop(); +} + + +void KJ2016Tempo::run(bool isYellow) +{ + /** ID for the driving servos **/ + /* Left and right is relative to the starting position */ + const unsigned int SERVO_ONE_ID = 0; + const unsigned int SERVO_TWO_ID = 1; + + KJ2016Tempo KJ(isYellow?SERVO_ONE_ID:SERVO_TWO_ID, isYellow?SERVO_TWO_ID:SERVO_ONE_ID); + + /** KJ Strategy **/ + KJ.move(100); // Leave the start area + KJ.turn90(true); // First turn (now heading toward the tanks) + KJ.move(500); // Drive into the wall + KJ.move(-50); // Back up for the turn + KJ.turn90(false); // Second turn (now parallel the tanks) + KJ.move(200); // Drive along the wall to the tanks + + FishingNet::getSingleton()->deploy(); // Deploy the arm + FishingNet::getSingleton()->lowerNet(); // Deploy the net in the tank + + KJ.move(100); // Drag the net in the tank + + FishingNet::getSingleton()->raiseNet(); // Raise the net + FishingNet::getSingleton()->raiseArm(); // Raise the arm a little (to avoid the tank's sides + + KJ.move(100); // Get to the target area + + FishingNet::getSingleton()->deploy(); // Lower the arm a bit + FishingNet::getSingleton()->lowerNet(); // Lower the net + +} + +void KJ2016Tempo::enginesStart() +{ + ServosNumeriques::changeContinuousRotationMode(LEFT_SERVO_ID, true); + ServosNumeriques::changeContinuousRotationMode(RIGHT_SERVO_ID, true); +} + +void KJ2016Tempo::enginesStop() +{ + ServosNumeriques::changeContinuousRotationMode(LEFT_SERVO_ID, false); + ServosNumeriques::changeContinuousRotationMode(RIGHT_SERVO_ID, false); +} + +void KJ2016Tempo::turn90(bool toLeft) +{ + const float correctionFactor = 1.0f; + + const unsigned int servoOne = toLeft?LEFT_SERVO_ID:RIGHT_SERVO_ID; + const unsigned int servoTwo = toLeft?RIGHT_SERVO_ID:LEFT_SERVO_ID; + + const unsigned int speed = 0x0100; + + enginesStart(); + + ServosNumeriques::moveAtSpeed(0x0400 - speed, servoOne); + ServosNumeriques::moveAtSpeed(0x0400 + speed, servoTwo); + + wasteTime(static_cast( 1/((float)speed) * correctionFactor)); + + enginesStop(); +} + +void KJ2016Tempo::move(int distance) +{ + const float correctionFactor = 1.f; + + unsigned int speed = 0x0100; + + speed = (distance>0)?speed:-speed; + + enginesStart(); + + ServosNumeriques::moveAtSpeed(0x0400 + speed, LEFT_SERVO_ID); + ServosNumeriques::moveAtSpeed(0x0400 + speed, RIGHT_SERVO_ID); + + wasteTime(static_cast((float)distance / (float)speed * correctionFactor)); + enginesStop(); +} + +void KJ2016Tempo::wasteTime(unsigned int time) +{ + for(unsigned int i=0; iupdate(); + //StrategieV2::update(); + Tourelle::getSingleton()->update(); Asservissement::asservissement->update(); +#endif } #ifdef ROBOTHW diff --git a/stm32/src/main.cpp b/stm32/src/main.cpp index e713759ee45d1961e1fff324525dd8c1b92f2562..39bfaef744aa9ed4a14181da4b5c36c31366d02e 100644 --- a/stm32/src/main.cpp +++ b/stm32/src/main.cpp @@ -1,6 +1,12 @@ #include "hardware/remote.h" -#include "initKrabiJunior.h" -#include "initkrabi.h" + +#if defined(STM32F40_41xxx) + #include "initKrabiJunior.h" + + #include "KJ2016Tempo.h" +#elif defined(STM32F10X_CL) + #include "initkrabi.h" +#endif #define NVIC_CCR ((volatile unsigned long *)(0xE000ED14)) @@ -14,7 +20,10 @@ int main() #if defined(STM32F40_41xxx) // H405 InitKrabiJunior initKJ; - initKJ.init(); + //initKJ.init(); // Not this year - we are NOT using odometry, strategiev2, etc, so it's best not to init them at all + initKJ.initClock(); + initKJ.initGPIO(); + initKJ.initActionneurs(); // For servos #elif defined(STM32F10X_CL) // H107 InitKrabi initKrabi; initKrabi.init(); @@ -22,6 +31,11 @@ int main() Remote::getSingleton()->waitForConnection(); + /** Action sequencing for KJ **/ + #ifdef STM32F40_41xxx + KJ2016Tempo::run(initKJ.isYellow()); + #endif + while(1); return 0; diff --git a/stm32/src/strategie/strategieV2.cpp b/stm32/src/strategie/strategieV2.cpp index 9266b77fc3b98147d80431ff0a33b0b955b3e602..e2b2e8835db403df50a43129aae2e0d5511d5f52 100644 --- a/stm32/src/strategie/strategieV2.cpp +++ b/stm32/src/strategie/strategieV2.cpp @@ -75,7 +75,7 @@ StrategieV2::StrategieV2(bool yellow) sharpsToCheck[i] = false; #if defined(STM32F40_41xxx) || defined(STM32F10X_MD) // H405 - actionsToDo[0] = (MediumLevelAction*) new KrabiJunior2016(yellow); + //actionsToDo[0] = (MediumLevelAction*) new KrabiJunior2016(yellow); #else actionsToDo[0] = (MediumLevelAction*) new Krabi2016(yellow); #endif diff --git a/stm32/stm32LinkerScript.cmd b/stm32/stm32LinkerScript.cmd deleted file mode 100755 index 72d93964968898e30890e4a000e0bf484c77be64..0000000000000000000000000000000000000000 --- a/stm32/stm32LinkerScript.cmd +++ /dev/null @@ -1,69 +0,0 @@ -_estack = 0x20010000; - -MEMORY -{ - ram (rwx) : ORIGIN = 0x20000000, LENGTH = 64K - rom (rx) : ORIGIN = 0x00000000, LENGTH = 256K -} -SECTIONS - { - . = 0x0; /* From 0x00000000 */ - .text : { - *(.isr_vector) /* Vector table */ - *(.text) /* Program code */ - *(.text.*) - *(.rodata) /* Read only data */ - *(.rodata.*) /* Read only data */ - } >rom - - .gnu.linkonce : { - *(.gnu.linkonce.t.*) - *(.gnu.linkonce.r.*) - } >rom - - .gnu.linkoncearm : { - *(.gnu.linkonce.armexidx.*) -} >rom - - .rel.text : - { - *(.rel.text) - *(.rel.text.*) - *(.rel.gnu.linkonce.t*) - } >rom - - __exidx_start=.; - .exidx : { - *(.ARM.exidx*) - }>rom - __exidx_end =.; - - .extab : { - *(.ARM.extab*) - }>rom - - .sidat : { - _etext = .; - _sidata = _etext; /* Used by the startup in order to initialize the .data section */ - } >rom - - . = 0x20000000; /* From 0x20000000 */ - .data : AT ( _sidata ) { - . = ALIGN(4); - _sdata = .; - *(.data) /* Data memory */ - . = ALIGN(4); - _edata = .; - } >ram - - .bss : { - . = ALIGN(4); - _sbss = .; - *(.bss) /* Zero-filled run time allocate data memory */ - . = ALIGN(4); - _ebss = .; - } >ram - - _end = .; - } -/*========== end of file ==========*/