3ze3LF&y5Se(+S(ntMn+01lo
z7Jc^(=sy{XE+#8!g4LkZgcuw>}z@jkkv6e-eE1_J>3AhuDAR>MdL
zflM%Tjtsvw?*dL^z9$*?EtcN7%F53tCw3S79=X#Pl0V=Z<*nf!>{0jdVTS#Y;8?i6
zC=m@g25iZ7KRhh~=ML9(gyf5X|(+LS{psaYh25)*Fsh#T@rrdu5$ck7uHeV3ic36`~SHO7Fg#i;f~^qAD|
z|K6zBL6~yfGwf(bdk>#vCq%!=U*s?KyZlPK;O}eC_jk10{I%^%0!qXdb_F^j$HLA)
z?c=s~d!R4U6s`!=Mh3$R1GSw^?Z1vF5zblcXNgx+w?{hk{?Agkch)}6tMnIAFO1sl
zG$vH*_zRTXZBn2
zw0q*w-lt%{;Lr0vb&=&Mu)43kFH-EEymm5$OylnePF~wMA^6SyV!s1a$E4uz*vnkC
zdzA>Q;`RRa0oP}(q2r>k1tb^x2Z^t
z`ZuX1Dsr)k)VQBaG3j>~4UfHi(f-)?FFo~G>e7YB7F;^IzPrbJ+4@7yL90wmtZSRR
zb|7VYb?__Zn!NTu*m#fXGWS7rHxmUK2x)Mw}Zf2(6pxs`;Oo!2qqx}Z$E3|wIGj&9AYKD4v@*&oJ
zRMEz&r!c-d)e}e7R9Xi*B9;u?UjRqrG|r#;IdHs+<8&PPu?;vH6OP8!sh^O%+G&m7
zB?QK4Nsd%RlXR{lV#v_w11@u1kh%{zL6@Y;1|oBuQg#55<{^Y5Lk5k96oQC%!
z+^Eg2M8rTdv(-HoxjW1x6EY`?`(73DCEEL>zMr(c^ul#xl`XlV&^ScB6_vk|R=Apb
zxcGs@a)EZ*PUz@sr@7F`SSzmxS1f@i6k%Rz-Pxj{1%svCJ;K$ohm}K0BsVZ`)W%?g
zs(IHz<*(|#wzsmxgX2uHsuuixOa3XeFyqB}vypwvKa0b)8DP3A<}7f;|e3
zBEJ~O_fh4f$}@%EFpW>!*oO=*jq#N$W2}cQjWDO3Jy)t&iYVq1NrX3
zmSyqc3@p*-gMO^VmVqwv7ec~d%lvpj2DZqbr^+?WKpIpelWuJD?JY`sZ5yi;W5|Ps
z^=;(2O!Q*CRv6%ku6jeTdA}I&B{-o8wTJSA<{9|_^#rpS82$#B?hK501I$nc#&iQr
z+5TyJtaD=Sgtg7N0<7gK%@XHguFrZJKx38j)zMIo&5e3qnH#GEwX5EPPd8R)hqTAy
z-^Qpri+g>rdk*f^pmx<)1HTH~Zg4lpS7J1j#l0*zGza$*P`m1#z&pSl1^0${1x96g
zGc7L*mfb(w@>@Xds<#0@FMv14!%ce^#tSiO&f?AwHqYWV#f+eK)eFG$;AY@fql$Q@
zt?S)UNt%z;7i>?rqxpVtflmLs{H`;Lsf0b)a_Ddx7_mCE(T~
zP?kT_3+sbr56t!g&g=)KA}|tdq6mBovYNBFD}&8*a4!M1tKJ2?lXQbyi$Hf4cUiD|
z4(?k)&4_@HB4DL;XK|Z@L$kOk0z=>yffqi?Eip>RRrkv#&C5U@5$Tvq`VIOCYyt??zP7X)0C5
z3Ruy!w?^kF&zLRpm#92T;tMjU#A8!=N^~BI(zKoel_xKboiarw9;^#`{{QP*k99qy
zuIrcazDQ2xf^*xkSKp6JpH)TvE#%48M$joz&+3udOrC80F}O^%eeIjDM`v=m$)eVc
zpl5Q`lKrg@=(^U;(zROERh^}4rK)SIt_%AkOV>A4UDzQrbU9RAYjjWeGDw?H>@~WwoDplsXD6g7YZ_fWpL`YN!oRc3Dl198&nsbMGyrV8_=7|PL
zU$8j6i>%1tLiIGGQ@sGAW)oE#Ryi8W#o1~KxDtYJ40A?|x-lov+(72riLJ}bYbCO$
zvf%ehq@`AAUleS9aQf~5kNBGQRmPRbMit=(0<}8>q3*YRr9f1u2s;o3s7%u`a!JO$
zxpBPbGN|gUHiMVV4Q0{#$wPdG
zAD+bePrmy!?w|)-3W7QKb!(x&@ZSs1JpbQ?>`AnaHmQh>k
z`-}anaZ5aTn%>vHz;F0Rdw&EOv)|TzQM{v~iuy|Z*U8ZqrLC;Zmx%I8TdCT2C9D~J
zdq&@__WL4_2VPMGS2OO!ykBWERyU10?YM!~vPz2Yds4G^h*2#St_=Bj{IaFAJ+aU?
z>a_Mn4%`f9&0M@n+sn?ETKkUdbJ8vU9`%<0ta`^Ug$jwe&?oH=$q9^?PSn?zst0aZbzoBGos+YnW53>n1pjb8sT2sH)t0)c0!bR6FY{
zbtA&988hl>SL)NK%@5)(;8oi0-lydQr^g+?M_1pCS~wrMb+rG@H{N(-@Xl6i_B#zX
zgc|zQGs>rmMabGbO0poM78a@2Rr==^B_DV-BNz^4j+&
zZJ^Erh6e_xfG){~8cFy2T+~Rq(dS}@&H$2Rh@(pGH|Qh1t})Ji1op5x?ftV52<^SW
zDpw7V9oqYWRW2J?Ky&)(LU!c94%g&7P>Xas3eneAWQ!H3FNNG#zWO%6D|CO(lpT19
z;SHu)HEjpmtl2_!-wA~F_F$D82FO!s&3VvlfaWhJ$U5?p>H*x7VC$51oQnBm0yn??
zR$xS|--3SHIx}uanwRL+G}AiNP~2oQtb>o3d)l^aYZ$C~c>-^n{iV7!D`r@e7vmg+
zd3qx4E3&36PWBAx7U#uy71J@1j+hCU+_<1p!xQ+IRlILdNkLUT2AjxF_)Xn6?Heu<-~DJ8P%9gbX`LaeK
ztyRiH_*|jv!{;((8$Q3O+=tJ_N((+63g;|PtqWXddhgBa3tZwclS??pxp;hY$C!&9
z<6X>2xj1p{fz-scJ>$$NYOw{M*8AJ*f{wU)4EekrEQ#e=aL09;(jJIapA~C7H90YUi`A}E!g}cKmAVv^X7tv
zf&g>z@lWnLvsJ7)Q~cN7>w|fLyhi5Y;Fvi)hx8%YX6tP
zz8b&v(M-6vU`s*cYh|xl*^=Yl+=2Wp=0=t%9!*mW1L6Mfj4r9_s^`{Rx{&T&zVHF$
tq}v(vM|+txdfIgQ=l*bgW*@qt7Jnj|3C)b=2CWWlGspTlW_l6re*v55H8cPK
diff --git a/AutoParkingCar/Debug/AutoParkingCar.list b/AutoParkingCar/Debug/AutoParkingCar.list
deleted file mode 100644
index 4c082d8..0000000
--- a/AutoParkingCar/Debug/AutoParkingCar.list
+++ /dev/null
@@ -1,4414 +0,0 @@
-
-AutoParkingCar.elf: file format elf32-littlearm
-
-Sections:
-Idx Name Size VMA LMA File off Algn
- 0 .isr_vector 00000194 08000000 08000000 00010000 2**0
- CONTENTS, ALLOC, LOAD, READONLY, DATA
- 1 .text 00002108 08000198 08000198 00010198 2**3
- CONTENTS, ALLOC, LOAD, READONLY, CODE
- 2 .rodata 00000020 080022a0 080022a0 000122a0 2**2
- CONTENTS, ALLOC, LOAD, READONLY, DATA
- 3 .ARM.extab 00000000 080022c0 080022c0 000122c8 2**0
- CONTENTS
- 4 .ARM 00000000 080022c0 080022c0 000122c8 2**0
- CONTENTS
- 5 .preinit_array 00000000 080022c0 080022c8 000122c8 2**0
- CONTENTS, ALLOC, LOAD, DATA
- 6 .init_array 00000004 080022c0 080022c0 000122c0 2**2
- CONTENTS, ALLOC, LOAD, DATA
- 7 .fini_array 00000004 080022c4 080022c4 000122c4 2**2
- CONTENTS, ALLOC, LOAD, DATA
- 8 .data 00000000 20000000 20000000 000122c8 2**0
- CONTENTS, ALLOC, LOAD, DATA
- 9 .bss 00000234 20000000 080022c8 00020000 2**2
- ALLOC
- 10 ._user_heap_stack 00000604 20000234 080022c8 00020234 2**0
- ALLOC
- 11 .ARM.attributes 00000030 00000000 00000000 000122c8 2**0
- CONTENTS, READONLY
- 12 .debug_info 0000729e 00000000 00000000 000122f8 2**0
- CONTENTS, READONLY, DEBUGGING
- 13 .debug_abbrev 0000138a 00000000 00000000 00019596 2**0
- CONTENTS, READONLY, DEBUGGING
- 14 .debug_aranges 00000388 00000000 00000000 0001a920 2**3
- CONTENTS, READONLY, DEBUGGING
- 15 .debug_ranges 000002e0 00000000 00000000 0001aca8 2**3
- CONTENTS, READONLY, DEBUGGING
- 16 .debug_macro 00001177 00000000 00000000 0001af88 2**0
- CONTENTS, READONLY, DEBUGGING
- 17 .debug_line 00003a52 00000000 00000000 0001c0ff 2**0
- CONTENTS, READONLY, DEBUGGING
- 18 .debug_str 000094e2 00000000 00000000 0001fb51 2**0
- CONTENTS, READONLY, DEBUGGING
- 19 .comment 0000007b 00000000 00000000 00029033 2**0
- CONTENTS, READONLY
- 20 .debug_frame 00000ce4 00000000 00000000 000290b0 2**2
- CONTENTS, READONLY, DEBUGGING
-
-Disassembly of section .text:
-
-08000198 <__do_global_dtors_aux>:
- 8000198: b510 push {r4, lr}
- 800019a: 4c05 ldr r4, [pc, #20] ; (80001b0 <__do_global_dtors_aux+0x18>)
- 800019c: 7823 ldrb r3, [r4, #0]
- 800019e: b933 cbnz r3, 80001ae <__do_global_dtors_aux+0x16>
- 80001a0: 4b04 ldr r3, [pc, #16] ; (80001b4 <__do_global_dtors_aux+0x1c>)
- 80001a2: b113 cbz r3, 80001aa <__do_global_dtors_aux+0x12>
- 80001a4: 4804 ldr r0, [pc, #16] ; (80001b8 <__do_global_dtors_aux+0x20>)
- 80001a6: f3af 8000 nop.w
- 80001aa: 2301 movs r3, #1
- 80001ac: 7023 strb r3, [r4, #0]
- 80001ae: bd10 pop {r4, pc}
- 80001b0: 20000000 .word 0x20000000
- 80001b4: 00000000 .word 0x00000000
- 80001b8: 08002288 .word 0x08002288
-
-080001bc :
- 80001bc: b508 push {r3, lr}
- 80001be: 4b03 ldr r3, [pc, #12] ; (80001cc )
- 80001c0: b11b cbz r3, 80001ca
- 80001c2: 4903 ldr r1, [pc, #12] ; (80001d0 )
- 80001c4: 4803 ldr r0, [pc, #12] ; (80001d4 )
- 80001c6: f3af 8000 nop.w
- 80001ca: bd08 pop {r3, pc}
- 80001cc: 00000000 .word 0x00000000
- 80001d0: 20000004 .word 0x20000004
- 80001d4: 08002288 .word 0x08002288
-
-080001d8 <__aeabi_drsub>:
- 80001d8: f081 4100 eor.w r1, r1, #2147483648 ; 0x80000000
- 80001dc: e002 b.n 80001e4 <__adddf3>
- 80001de: bf00 nop
-
-080001e0 <__aeabi_dsub>:
- 80001e0: f083 4300 eor.w r3, r3, #2147483648 ; 0x80000000
-
-080001e4 <__adddf3>:
- 80001e4: b530 push {r4, r5, lr}
- 80001e6: ea4f 0441 mov.w r4, r1, lsl #1
- 80001ea: ea4f 0543 mov.w r5, r3, lsl #1
- 80001ee: ea94 0f05 teq r4, r5
- 80001f2: bf08 it eq
- 80001f4: ea90 0f02 teqeq r0, r2
- 80001f8: bf1f itttt ne
- 80001fa: ea54 0c00 orrsne.w ip, r4, r0
- 80001fe: ea55 0c02 orrsne.w ip, r5, r2
- 8000202: ea7f 5c64 mvnsne.w ip, r4, asr #21
- 8000206: ea7f 5c65 mvnsne.w ip, r5, asr #21
- 800020a: f000 80e2 beq.w 80003d2 <__adddf3+0x1ee>
- 800020e: ea4f 5454 mov.w r4, r4, lsr #21
- 8000212: ebd4 5555 rsbs r5, r4, r5, lsr #21
- 8000216: bfb8 it lt
- 8000218: 426d neglt r5, r5
- 800021a: dd0c ble.n 8000236 <__adddf3+0x52>
- 800021c: 442c add r4, r5
- 800021e: ea80 0202 eor.w r2, r0, r2
- 8000222: ea81 0303 eor.w r3, r1, r3
- 8000226: ea82 0000 eor.w r0, r2, r0
- 800022a: ea83 0101 eor.w r1, r3, r1
- 800022e: ea80 0202 eor.w r2, r0, r2
- 8000232: ea81 0303 eor.w r3, r1, r3
- 8000236: 2d36 cmp r5, #54 ; 0x36
- 8000238: bf88 it hi
- 800023a: bd30 pophi {r4, r5, pc}
- 800023c: f011 4f00 tst.w r1, #2147483648 ; 0x80000000
- 8000240: ea4f 3101 mov.w r1, r1, lsl #12
- 8000244: f44f 1c80 mov.w ip, #1048576 ; 0x100000
- 8000248: ea4c 3111 orr.w r1, ip, r1, lsr #12
- 800024c: d002 beq.n 8000254 <__adddf3+0x70>
- 800024e: 4240 negs r0, r0
- 8000250: eb61 0141 sbc.w r1, r1, r1, lsl #1
- 8000254: f013 4f00 tst.w r3, #2147483648 ; 0x80000000
- 8000258: ea4f 3303 mov.w r3, r3, lsl #12
- 800025c: ea4c 3313 orr.w r3, ip, r3, lsr #12
- 8000260: d002 beq.n 8000268 <__adddf3+0x84>
- 8000262: 4252 negs r2, r2
- 8000264: eb63 0343 sbc.w r3, r3, r3, lsl #1
- 8000268: ea94 0f05 teq r4, r5
- 800026c: f000 80a7 beq.w 80003be <__adddf3+0x1da>
- 8000270: f1a4 0401 sub.w r4, r4, #1
- 8000274: f1d5 0e20 rsbs lr, r5, #32
- 8000278: db0d blt.n 8000296 <__adddf3+0xb2>
- 800027a: fa02 fc0e lsl.w ip, r2, lr
- 800027e: fa22 f205 lsr.w r2, r2, r5
- 8000282: 1880 adds r0, r0, r2
- 8000284: f141 0100 adc.w r1, r1, #0
- 8000288: fa03 f20e lsl.w r2, r3, lr
- 800028c: 1880 adds r0, r0, r2
- 800028e: fa43 f305 asr.w r3, r3, r5
- 8000292: 4159 adcs r1, r3
- 8000294: e00e b.n 80002b4 <__adddf3+0xd0>
- 8000296: f1a5 0520 sub.w r5, r5, #32
- 800029a: f10e 0e20 add.w lr, lr, #32
- 800029e: 2a01 cmp r2, #1
- 80002a0: fa03 fc0e lsl.w ip, r3, lr
- 80002a4: bf28 it cs
- 80002a6: f04c 0c02 orrcs.w ip, ip, #2
- 80002aa: fa43 f305 asr.w r3, r3, r5
- 80002ae: 18c0 adds r0, r0, r3
- 80002b0: eb51 71e3 adcs.w r1, r1, r3, asr #31
- 80002b4: f001 4500 and.w r5, r1, #2147483648 ; 0x80000000
- 80002b8: d507 bpl.n 80002ca <__adddf3+0xe6>
- 80002ba: f04f 0e00 mov.w lr, #0
- 80002be: f1dc 0c00 rsbs ip, ip, #0
- 80002c2: eb7e 0000 sbcs.w r0, lr, r0
- 80002c6: eb6e 0101 sbc.w r1, lr, r1
- 80002ca: f5b1 1f80 cmp.w r1, #1048576 ; 0x100000
- 80002ce: d31b bcc.n 8000308 <__adddf3+0x124>
- 80002d0: f5b1 1f00 cmp.w r1, #2097152 ; 0x200000
- 80002d4: d30c bcc.n 80002f0 <__adddf3+0x10c>
- 80002d6: 0849 lsrs r1, r1, #1
- 80002d8: ea5f 0030 movs.w r0, r0, rrx
- 80002dc: ea4f 0c3c mov.w ip, ip, rrx
- 80002e0: f104 0401 add.w r4, r4, #1
- 80002e4: ea4f 5244 mov.w r2, r4, lsl #21
- 80002e8: f512 0f80 cmn.w r2, #4194304 ; 0x400000
- 80002ec: f080 809a bcs.w 8000424 <__adddf3+0x240>
- 80002f0: f1bc 4f00 cmp.w ip, #2147483648 ; 0x80000000
- 80002f4: bf08 it eq
- 80002f6: ea5f 0c50 movseq.w ip, r0, lsr #1
- 80002fa: f150 0000 adcs.w r0, r0, #0
- 80002fe: eb41 5104 adc.w r1, r1, r4, lsl #20
- 8000302: ea41 0105 orr.w r1, r1, r5
- 8000306: bd30 pop {r4, r5, pc}
- 8000308: ea5f 0c4c movs.w ip, ip, lsl #1
- 800030c: 4140 adcs r0, r0
- 800030e: eb41 0101 adc.w r1, r1, r1
- 8000312: f411 1f80 tst.w r1, #1048576 ; 0x100000
- 8000316: f1a4 0401 sub.w r4, r4, #1
- 800031a: d1e9 bne.n 80002f0 <__adddf3+0x10c>
- 800031c: f091 0f00 teq r1, #0
- 8000320: bf04 itt eq
- 8000322: 4601 moveq r1, r0
- 8000324: 2000 moveq r0, #0
- 8000326: fab1 f381 clz r3, r1
- 800032a: bf08 it eq
- 800032c: 3320 addeq r3, #32
- 800032e: f1a3 030b sub.w r3, r3, #11
- 8000332: f1b3 0220 subs.w r2, r3, #32
- 8000336: da0c bge.n 8000352 <__adddf3+0x16e>
- 8000338: 320c adds r2, #12
- 800033a: dd08 ble.n 800034e <__adddf3+0x16a>
- 800033c: f102 0c14 add.w ip, r2, #20
- 8000340: f1c2 020c rsb r2, r2, #12
- 8000344: fa01 f00c lsl.w r0, r1, ip
- 8000348: fa21 f102 lsr.w r1, r1, r2
- 800034c: e00c b.n 8000368 <__adddf3+0x184>
- 800034e: f102 0214 add.w r2, r2, #20
- 8000352: bfd8 it le
- 8000354: f1c2 0c20 rsble ip, r2, #32
- 8000358: fa01 f102 lsl.w r1, r1, r2
- 800035c: fa20 fc0c lsr.w ip, r0, ip
- 8000360: bfdc itt le
- 8000362: ea41 010c orrle.w r1, r1, ip
- 8000366: 4090 lslle r0, r2
- 8000368: 1ae4 subs r4, r4, r3
- 800036a: bfa2 ittt ge
- 800036c: eb01 5104 addge.w r1, r1, r4, lsl #20
- 8000370: 4329 orrge r1, r5
- 8000372: bd30 popge {r4, r5, pc}
- 8000374: ea6f 0404 mvn.w r4, r4
- 8000378: 3c1f subs r4, #31
- 800037a: da1c bge.n 80003b6 <__adddf3+0x1d2>
- 800037c: 340c adds r4, #12
- 800037e: dc0e bgt.n 800039e <__adddf3+0x1ba>
- 8000380: f104 0414 add.w r4, r4, #20
- 8000384: f1c4 0220 rsb r2, r4, #32
- 8000388: fa20 f004 lsr.w r0, r0, r4
- 800038c: fa01 f302 lsl.w r3, r1, r2
- 8000390: ea40 0003 orr.w r0, r0, r3
- 8000394: fa21 f304 lsr.w r3, r1, r4
- 8000398: ea45 0103 orr.w r1, r5, r3
- 800039c: bd30 pop {r4, r5, pc}
- 800039e: f1c4 040c rsb r4, r4, #12
- 80003a2: f1c4 0220 rsb r2, r4, #32
- 80003a6: fa20 f002 lsr.w r0, r0, r2
- 80003aa: fa01 f304 lsl.w r3, r1, r4
- 80003ae: ea40 0003 orr.w r0, r0, r3
- 80003b2: 4629 mov r1, r5
- 80003b4: bd30 pop {r4, r5, pc}
- 80003b6: fa21 f004 lsr.w r0, r1, r4
- 80003ba: 4629 mov r1, r5
- 80003bc: bd30 pop {r4, r5, pc}
- 80003be: f094 0f00 teq r4, #0
- 80003c2: f483 1380 eor.w r3, r3, #1048576 ; 0x100000
- 80003c6: bf06 itte eq
- 80003c8: f481 1180 eoreq.w r1, r1, #1048576 ; 0x100000
- 80003cc: 3401 addeq r4, #1
- 80003ce: 3d01 subne r5, #1
- 80003d0: e74e b.n 8000270 <__adddf3+0x8c>
- 80003d2: ea7f 5c64 mvns.w ip, r4, asr #21
- 80003d6: bf18 it ne
- 80003d8: ea7f 5c65 mvnsne.w ip, r5, asr #21
- 80003dc: d029 beq.n 8000432 <__adddf3+0x24e>
- 80003de: ea94 0f05 teq r4, r5
- 80003e2: bf08 it eq
- 80003e4: ea90 0f02 teqeq r0, r2
- 80003e8: d005 beq.n 80003f6 <__adddf3+0x212>
- 80003ea: ea54 0c00 orrs.w ip, r4, r0
- 80003ee: bf04 itt eq
- 80003f0: 4619 moveq r1, r3
- 80003f2: 4610 moveq r0, r2
- 80003f4: bd30 pop {r4, r5, pc}
- 80003f6: ea91 0f03 teq r1, r3
- 80003fa: bf1e ittt ne
- 80003fc: 2100 movne r1, #0
- 80003fe: 2000 movne r0, #0
- 8000400: bd30 popne {r4, r5, pc}
- 8000402: ea5f 5c54 movs.w ip, r4, lsr #21
- 8000406: d105 bne.n 8000414 <__adddf3+0x230>
- 8000408: 0040 lsls r0, r0, #1
- 800040a: 4149 adcs r1, r1
- 800040c: bf28 it cs
- 800040e: f041 4100 orrcs.w r1, r1, #2147483648 ; 0x80000000
- 8000412: bd30 pop {r4, r5, pc}
- 8000414: f514 0480 adds.w r4, r4, #4194304 ; 0x400000
- 8000418: bf3c itt cc
- 800041a: f501 1180 addcc.w r1, r1, #1048576 ; 0x100000
- 800041e: bd30 popcc {r4, r5, pc}
- 8000420: f001 4500 and.w r5, r1, #2147483648 ; 0x80000000
- 8000424: f045 41fe orr.w r1, r5, #2130706432 ; 0x7f000000
- 8000428: f441 0170 orr.w r1, r1, #15728640 ; 0xf00000
- 800042c: f04f 0000 mov.w r0, #0
- 8000430: bd30 pop {r4, r5, pc}
- 8000432: ea7f 5c64 mvns.w ip, r4, asr #21
- 8000436: bf1a itte ne
- 8000438: 4619 movne r1, r3
- 800043a: 4610 movne r0, r2
- 800043c: ea7f 5c65 mvnseq.w ip, r5, asr #21
- 8000440: bf1c itt ne
- 8000442: 460b movne r3, r1
- 8000444: 4602 movne r2, r0
- 8000446: ea50 3401 orrs.w r4, r0, r1, lsl #12
- 800044a: bf06 itte eq
- 800044c: ea52 3503 orrseq.w r5, r2, r3, lsl #12
- 8000450: ea91 0f03 teqeq r1, r3
- 8000454: f441 2100 orrne.w r1, r1, #524288 ; 0x80000
- 8000458: bd30 pop {r4, r5, pc}
- 800045a: bf00 nop
-
-0800045c <__aeabi_ui2d>:
- 800045c: f090 0f00 teq r0, #0
- 8000460: bf04 itt eq
- 8000462: 2100 moveq r1, #0
- 8000464: 4770 bxeq lr
- 8000466: b530 push {r4, r5, lr}
- 8000468: f44f 6480 mov.w r4, #1024 ; 0x400
- 800046c: f104 0432 add.w r4, r4, #50 ; 0x32
- 8000470: f04f 0500 mov.w r5, #0
- 8000474: f04f 0100 mov.w r1, #0
- 8000478: e750 b.n 800031c <__adddf3+0x138>
- 800047a: bf00 nop
-
-0800047c <__aeabi_i2d>:
- 800047c: f090 0f00 teq r0, #0
- 8000480: bf04 itt eq
- 8000482: 2100 moveq r1, #0
- 8000484: 4770 bxeq lr
- 8000486: b530 push {r4, r5, lr}
- 8000488: f44f 6480 mov.w r4, #1024 ; 0x400
- 800048c: f104 0432 add.w r4, r4, #50 ; 0x32
- 8000490: f010 4500 ands.w r5, r0, #2147483648 ; 0x80000000
- 8000494: bf48 it mi
- 8000496: 4240 negmi r0, r0
- 8000498: f04f 0100 mov.w r1, #0
- 800049c: e73e b.n 800031c <__adddf3+0x138>
- 800049e: bf00 nop
-
-080004a0 <__aeabi_f2d>:
- 80004a0: 0042 lsls r2, r0, #1
- 80004a2: ea4f 01e2 mov.w r1, r2, asr #3
- 80004a6: ea4f 0131 mov.w r1, r1, rrx
- 80004aa: ea4f 7002 mov.w r0, r2, lsl #28
- 80004ae: bf1f itttt ne
- 80004b0: f012 437f andsne.w r3, r2, #4278190080 ; 0xff000000
- 80004b4: f093 4f7f teqne r3, #4278190080 ; 0xff000000
- 80004b8: f081 5160 eorne.w r1, r1, #939524096 ; 0x38000000
- 80004bc: 4770 bxne lr
- 80004be: f032 427f bics.w r2, r2, #4278190080 ; 0xff000000
- 80004c2: bf08 it eq
- 80004c4: 4770 bxeq lr
- 80004c6: f093 4f7f teq r3, #4278190080 ; 0xff000000
- 80004ca: bf04 itt eq
- 80004cc: f441 2100 orreq.w r1, r1, #524288 ; 0x80000
- 80004d0: 4770 bxeq lr
- 80004d2: b530 push {r4, r5, lr}
- 80004d4: f44f 7460 mov.w r4, #896 ; 0x380
- 80004d8: f001 4500 and.w r5, r1, #2147483648 ; 0x80000000
- 80004dc: f021 4100 bic.w r1, r1, #2147483648 ; 0x80000000
- 80004e0: e71c b.n 800031c <__adddf3+0x138>
- 80004e2: bf00 nop
-
-080004e4 <__aeabi_ul2d>:
- 80004e4: ea50 0201 orrs.w r2, r0, r1
- 80004e8: bf08 it eq
- 80004ea: 4770 bxeq lr
- 80004ec: b530 push {r4, r5, lr}
- 80004ee: f04f 0500 mov.w r5, #0
- 80004f2: e00a b.n 800050a <__aeabi_l2d+0x16>
-
-080004f4 <__aeabi_l2d>:
- 80004f4: ea50 0201 orrs.w r2, r0, r1
- 80004f8: bf08 it eq
- 80004fa: 4770 bxeq lr
- 80004fc: b530 push {r4, r5, lr}
- 80004fe: f011 4500 ands.w r5, r1, #2147483648 ; 0x80000000
- 8000502: d502 bpl.n 800050a <__aeabi_l2d+0x16>
- 8000504: 4240 negs r0, r0
- 8000506: eb61 0141 sbc.w r1, r1, r1, lsl #1
- 800050a: f44f 6480 mov.w r4, #1024 ; 0x400
- 800050e: f104 0432 add.w r4, r4, #50 ; 0x32
- 8000512: ea5f 5c91 movs.w ip, r1, lsr #22
- 8000516: f43f aed8 beq.w 80002ca <__adddf3+0xe6>
- 800051a: f04f 0203 mov.w r2, #3
- 800051e: ea5f 0cdc movs.w ip, ip, lsr #3
- 8000522: bf18 it ne
- 8000524: 3203 addne r2, #3
- 8000526: ea5f 0cdc movs.w ip, ip, lsr #3
- 800052a: bf18 it ne
- 800052c: 3203 addne r2, #3
- 800052e: eb02 02dc add.w r2, r2, ip, lsr #3
- 8000532: f1c2 0320 rsb r3, r2, #32
- 8000536: fa00 fc03 lsl.w ip, r0, r3
- 800053a: fa20 f002 lsr.w r0, r0, r2
- 800053e: fa01 fe03 lsl.w lr, r1, r3
- 8000542: ea40 000e orr.w r0, r0, lr
- 8000546: fa21 f102 lsr.w r1, r1, r2
- 800054a: 4414 add r4, r2
- 800054c: e6bd b.n 80002ca <__adddf3+0xe6>
- 800054e: bf00 nop
-
-08000550 <__aeabi_dmul>:
- 8000550: b570 push {r4, r5, r6, lr}
- 8000552: f04f 0cff mov.w ip, #255 ; 0xff
- 8000556: f44c 6ce0 orr.w ip, ip, #1792 ; 0x700
- 800055a: ea1c 5411 ands.w r4, ip, r1, lsr #20
- 800055e: bf1d ittte ne
- 8000560: ea1c 5513 andsne.w r5, ip, r3, lsr #20
- 8000564: ea94 0f0c teqne r4, ip
- 8000568: ea95 0f0c teqne r5, ip
- 800056c: f000 f8de bleq 800072c <__aeabi_dmul+0x1dc>
- 8000570: 442c add r4, r5
- 8000572: ea81 0603 eor.w r6, r1, r3
- 8000576: ea21 514c bic.w r1, r1, ip, lsl #21
- 800057a: ea23 534c bic.w r3, r3, ip, lsl #21
- 800057e: ea50 3501 orrs.w r5, r0, r1, lsl #12
- 8000582: bf18 it ne
- 8000584: ea52 3503 orrsne.w r5, r2, r3, lsl #12
- 8000588: f441 1180 orr.w r1, r1, #1048576 ; 0x100000
- 800058c: f443 1380 orr.w r3, r3, #1048576 ; 0x100000
- 8000590: d038 beq.n 8000604 <__aeabi_dmul+0xb4>
- 8000592: fba0 ce02 umull ip, lr, r0, r2
- 8000596: f04f 0500 mov.w r5, #0
- 800059a: fbe1 e502 umlal lr, r5, r1, r2
- 800059e: f006 4200 and.w r2, r6, #2147483648 ; 0x80000000
- 80005a2: fbe0 e503 umlal lr, r5, r0, r3
- 80005a6: f04f 0600 mov.w r6, #0
- 80005aa: fbe1 5603 umlal r5, r6, r1, r3
- 80005ae: f09c 0f00 teq ip, #0
- 80005b2: bf18 it ne
- 80005b4: f04e 0e01 orrne.w lr, lr, #1
- 80005b8: f1a4 04ff sub.w r4, r4, #255 ; 0xff
- 80005bc: f5b6 7f00 cmp.w r6, #512 ; 0x200
- 80005c0: f564 7440 sbc.w r4, r4, #768 ; 0x300
- 80005c4: d204 bcs.n 80005d0 <__aeabi_dmul+0x80>
- 80005c6: ea5f 0e4e movs.w lr, lr, lsl #1
- 80005ca: 416d adcs r5, r5
- 80005cc: eb46 0606 adc.w r6, r6, r6
- 80005d0: ea42 21c6 orr.w r1, r2, r6, lsl #11
- 80005d4: ea41 5155 orr.w r1, r1, r5, lsr #21
- 80005d8: ea4f 20c5 mov.w r0, r5, lsl #11
- 80005dc: ea40 505e orr.w r0, r0, lr, lsr #21
- 80005e0: ea4f 2ece mov.w lr, lr, lsl #11
- 80005e4: f1b4 0cfd subs.w ip, r4, #253 ; 0xfd
- 80005e8: bf88 it hi
- 80005ea: f5bc 6fe0 cmphi.w ip, #1792 ; 0x700
- 80005ee: d81e bhi.n 800062e <__aeabi_dmul+0xde>
- 80005f0: f1be 4f00 cmp.w lr, #2147483648 ; 0x80000000
- 80005f4: bf08 it eq
- 80005f6: ea5f 0e50 movseq.w lr, r0, lsr #1
- 80005fa: f150 0000 adcs.w r0, r0, #0
- 80005fe: eb41 5104 adc.w r1, r1, r4, lsl #20
- 8000602: bd70 pop {r4, r5, r6, pc}
- 8000604: f006 4600 and.w r6, r6, #2147483648 ; 0x80000000
- 8000608: ea46 0101 orr.w r1, r6, r1
- 800060c: ea40 0002 orr.w r0, r0, r2
- 8000610: ea81 0103 eor.w r1, r1, r3
- 8000614: ebb4 045c subs.w r4, r4, ip, lsr #1
- 8000618: bfc2 ittt gt
- 800061a: ebd4 050c rsbsgt r5, r4, ip
- 800061e: ea41 5104 orrgt.w r1, r1, r4, lsl #20
- 8000622: bd70 popgt {r4, r5, r6, pc}
- 8000624: f441 1180 orr.w r1, r1, #1048576 ; 0x100000
- 8000628: f04f 0e00 mov.w lr, #0
- 800062c: 3c01 subs r4, #1
- 800062e: f300 80ab bgt.w 8000788 <__aeabi_dmul+0x238>
- 8000632: f114 0f36 cmn.w r4, #54 ; 0x36
- 8000636: bfde ittt le
- 8000638: 2000 movle r0, #0
- 800063a: f001 4100 andle.w r1, r1, #2147483648 ; 0x80000000
- 800063e: bd70 pople {r4, r5, r6, pc}
- 8000640: f1c4 0400 rsb r4, r4, #0
- 8000644: 3c20 subs r4, #32
- 8000646: da35 bge.n 80006b4 <__aeabi_dmul+0x164>
- 8000648: 340c adds r4, #12
- 800064a: dc1b bgt.n 8000684 <__aeabi_dmul+0x134>
- 800064c: f104 0414 add.w r4, r4, #20
- 8000650: f1c4 0520 rsb r5, r4, #32
- 8000654: fa00 f305 lsl.w r3, r0, r5
- 8000658: fa20 f004 lsr.w r0, r0, r4
- 800065c: fa01 f205 lsl.w r2, r1, r5
- 8000660: ea40 0002 orr.w r0, r0, r2
- 8000664: f001 4200 and.w r2, r1, #2147483648 ; 0x80000000
- 8000668: f021 4100 bic.w r1, r1, #2147483648 ; 0x80000000
- 800066c: eb10 70d3 adds.w r0, r0, r3, lsr #31
- 8000670: fa21 f604 lsr.w r6, r1, r4
- 8000674: eb42 0106 adc.w r1, r2, r6
- 8000678: ea5e 0e43 orrs.w lr, lr, r3, lsl #1
- 800067c: bf08 it eq
- 800067e: ea20 70d3 biceq.w r0, r0, r3, lsr #31
- 8000682: bd70 pop {r4, r5, r6, pc}
- 8000684: f1c4 040c rsb r4, r4, #12
- 8000688: f1c4 0520 rsb r5, r4, #32
- 800068c: fa00 f304 lsl.w r3, r0, r4
- 8000690: fa20 f005 lsr.w r0, r0, r5
- 8000694: fa01 f204 lsl.w r2, r1, r4
- 8000698: ea40 0002 orr.w r0, r0, r2
- 800069c: f001 4100 and.w r1, r1, #2147483648 ; 0x80000000
- 80006a0: eb10 70d3 adds.w r0, r0, r3, lsr #31
- 80006a4: f141 0100 adc.w r1, r1, #0
- 80006a8: ea5e 0e43 orrs.w lr, lr, r3, lsl #1
- 80006ac: bf08 it eq
- 80006ae: ea20 70d3 biceq.w r0, r0, r3, lsr #31
- 80006b2: bd70 pop {r4, r5, r6, pc}
- 80006b4: f1c4 0520 rsb r5, r4, #32
- 80006b8: fa00 f205 lsl.w r2, r0, r5
- 80006bc: ea4e 0e02 orr.w lr, lr, r2
- 80006c0: fa20 f304 lsr.w r3, r0, r4
- 80006c4: fa01 f205 lsl.w r2, r1, r5
- 80006c8: ea43 0302 orr.w r3, r3, r2
- 80006cc: fa21 f004 lsr.w r0, r1, r4
- 80006d0: f001 4100 and.w r1, r1, #2147483648 ; 0x80000000
- 80006d4: fa21 f204 lsr.w r2, r1, r4
- 80006d8: ea20 0002 bic.w r0, r0, r2
- 80006dc: eb00 70d3 add.w r0, r0, r3, lsr #31
- 80006e0: ea5e 0e43 orrs.w lr, lr, r3, lsl #1
- 80006e4: bf08 it eq
- 80006e6: ea20 70d3 biceq.w r0, r0, r3, lsr #31
- 80006ea: bd70 pop {r4, r5, r6, pc}
- 80006ec: f094 0f00 teq r4, #0
- 80006f0: d10f bne.n 8000712 <__aeabi_dmul+0x1c2>
- 80006f2: f001 4600 and.w r6, r1, #2147483648 ; 0x80000000
- 80006f6: 0040 lsls r0, r0, #1
- 80006f8: eb41 0101 adc.w r1, r1, r1
- 80006fc: f411 1f80 tst.w r1, #1048576 ; 0x100000
- 8000700: bf08 it eq
- 8000702: 3c01 subeq r4, #1
- 8000704: d0f7 beq.n 80006f6 <__aeabi_dmul+0x1a6>
- 8000706: ea41 0106 orr.w r1, r1, r6
- 800070a: f095 0f00 teq r5, #0
- 800070e: bf18 it ne
- 8000710: 4770 bxne lr
- 8000712: f003 4600 and.w r6, r3, #2147483648 ; 0x80000000
- 8000716: 0052 lsls r2, r2, #1
- 8000718: eb43 0303 adc.w r3, r3, r3
- 800071c: f413 1f80 tst.w r3, #1048576 ; 0x100000
- 8000720: bf08 it eq
- 8000722: 3d01 subeq r5, #1
- 8000724: d0f7 beq.n 8000716 <__aeabi_dmul+0x1c6>
- 8000726: ea43 0306 orr.w r3, r3, r6
- 800072a: 4770 bx lr
- 800072c: ea94 0f0c teq r4, ip
- 8000730: ea0c 5513 and.w r5, ip, r3, lsr #20
- 8000734: bf18 it ne
- 8000736: ea95 0f0c teqne r5, ip
- 800073a: d00c beq.n 8000756 <__aeabi_dmul+0x206>
- 800073c: ea50 0641 orrs.w r6, r0, r1, lsl #1
- 8000740: bf18 it ne
- 8000742: ea52 0643 orrsne.w r6, r2, r3, lsl #1
- 8000746: d1d1 bne.n 80006ec <__aeabi_dmul+0x19c>
- 8000748: ea81 0103 eor.w r1, r1, r3
- 800074c: f001 4100 and.w r1, r1, #2147483648 ; 0x80000000
- 8000750: f04f 0000 mov.w r0, #0
- 8000754: bd70 pop {r4, r5, r6, pc}
- 8000756: ea50 0641 orrs.w r6, r0, r1, lsl #1
- 800075a: bf06 itte eq
- 800075c: 4610 moveq r0, r2
- 800075e: 4619 moveq r1, r3
- 8000760: ea52 0643 orrsne.w r6, r2, r3, lsl #1
- 8000764: d019 beq.n 800079a <__aeabi_dmul+0x24a>
- 8000766: ea94 0f0c teq r4, ip
- 800076a: d102 bne.n 8000772 <__aeabi_dmul+0x222>
- 800076c: ea50 3601 orrs.w r6, r0, r1, lsl #12
- 8000770: d113 bne.n 800079a <__aeabi_dmul+0x24a>
- 8000772: ea95 0f0c teq r5, ip
- 8000776: d105 bne.n 8000784 <__aeabi_dmul+0x234>
- 8000778: ea52 3603 orrs.w r6, r2, r3, lsl #12
- 800077c: bf1c itt ne
- 800077e: 4610 movne r0, r2
- 8000780: 4619 movne r1, r3
- 8000782: d10a bne.n 800079a <__aeabi_dmul+0x24a>
- 8000784: ea81 0103 eor.w r1, r1, r3
- 8000788: f001 4100 and.w r1, r1, #2147483648 ; 0x80000000
- 800078c: f041 41fe orr.w r1, r1, #2130706432 ; 0x7f000000
- 8000790: f441 0170 orr.w r1, r1, #15728640 ; 0xf00000
- 8000794: f04f 0000 mov.w r0, #0
- 8000798: bd70 pop {r4, r5, r6, pc}
- 800079a: f041 41fe orr.w r1, r1, #2130706432 ; 0x7f000000
- 800079e: f441 0178 orr.w r1, r1, #16252928 ; 0xf80000
- 80007a2: bd70 pop {r4, r5, r6, pc}
-
-080007a4 <__aeabi_ddiv>:
- 80007a4: b570 push {r4, r5, r6, lr}
- 80007a6: f04f 0cff mov.w ip, #255 ; 0xff
- 80007aa: f44c 6ce0 orr.w ip, ip, #1792 ; 0x700
- 80007ae: ea1c 5411 ands.w r4, ip, r1, lsr #20
- 80007b2: bf1d ittte ne
- 80007b4: ea1c 5513 andsne.w r5, ip, r3, lsr #20
- 80007b8: ea94 0f0c teqne r4, ip
- 80007bc: ea95 0f0c teqne r5, ip
- 80007c0: f000 f8a7 bleq 8000912 <__aeabi_ddiv+0x16e>
- 80007c4: eba4 0405 sub.w r4, r4, r5
- 80007c8: ea81 0e03 eor.w lr, r1, r3
- 80007cc: ea52 3503 orrs.w r5, r2, r3, lsl #12
- 80007d0: ea4f 3101 mov.w r1, r1, lsl #12
- 80007d4: f000 8088 beq.w 80008e8 <__aeabi_ddiv+0x144>
- 80007d8: ea4f 3303 mov.w r3, r3, lsl #12
- 80007dc: f04f 5580 mov.w r5, #268435456 ; 0x10000000
- 80007e0: ea45 1313 orr.w r3, r5, r3, lsr #4
- 80007e4: ea43 6312 orr.w r3, r3, r2, lsr #24
- 80007e8: ea4f 2202 mov.w r2, r2, lsl #8
- 80007ec: ea45 1511 orr.w r5, r5, r1, lsr #4
- 80007f0: ea45 6510 orr.w r5, r5, r0, lsr #24
- 80007f4: ea4f 2600 mov.w r6, r0, lsl #8
- 80007f8: f00e 4100 and.w r1, lr, #2147483648 ; 0x80000000
- 80007fc: 429d cmp r5, r3
- 80007fe: bf08 it eq
- 8000800: 4296 cmpeq r6, r2
- 8000802: f144 04fd adc.w r4, r4, #253 ; 0xfd
- 8000806: f504 7440 add.w r4, r4, #768 ; 0x300
- 800080a: d202 bcs.n 8000812 <__aeabi_ddiv+0x6e>
- 800080c: 085b lsrs r3, r3, #1
- 800080e: ea4f 0232 mov.w r2, r2, rrx
- 8000812: 1ab6 subs r6, r6, r2
- 8000814: eb65 0503 sbc.w r5, r5, r3
- 8000818: 085b lsrs r3, r3, #1
- 800081a: ea4f 0232 mov.w r2, r2, rrx
- 800081e: f44f 1080 mov.w r0, #1048576 ; 0x100000
- 8000822: f44f 2c00 mov.w ip, #524288 ; 0x80000
- 8000826: ebb6 0e02 subs.w lr, r6, r2
- 800082a: eb75 0e03 sbcs.w lr, r5, r3
- 800082e: bf22 ittt cs
- 8000830: 1ab6 subcs r6, r6, r2
- 8000832: 4675 movcs r5, lr
- 8000834: ea40 000c orrcs.w r0, r0, ip
- 8000838: 085b lsrs r3, r3, #1
- 800083a: ea4f 0232 mov.w r2, r2, rrx
- 800083e: ebb6 0e02 subs.w lr, r6, r2
- 8000842: eb75 0e03 sbcs.w lr, r5, r3
- 8000846: bf22 ittt cs
- 8000848: 1ab6 subcs r6, r6, r2
- 800084a: 4675 movcs r5, lr
- 800084c: ea40 005c orrcs.w r0, r0, ip, lsr #1
- 8000850: 085b lsrs r3, r3, #1
- 8000852: ea4f 0232 mov.w r2, r2, rrx
- 8000856: ebb6 0e02 subs.w lr, r6, r2
- 800085a: eb75 0e03 sbcs.w lr, r5, r3
- 800085e: bf22 ittt cs
- 8000860: 1ab6 subcs r6, r6, r2
- 8000862: 4675 movcs r5, lr
- 8000864: ea40 009c orrcs.w r0, r0, ip, lsr #2
- 8000868: 085b lsrs r3, r3, #1
- 800086a: ea4f 0232 mov.w r2, r2, rrx
- 800086e: ebb6 0e02 subs.w lr, r6, r2
- 8000872: eb75 0e03 sbcs.w lr, r5, r3
- 8000876: bf22 ittt cs
- 8000878: 1ab6 subcs r6, r6, r2
- 800087a: 4675 movcs r5, lr
- 800087c: ea40 00dc orrcs.w r0, r0, ip, lsr #3
- 8000880: ea55 0e06 orrs.w lr, r5, r6
- 8000884: d018 beq.n 80008b8 <__aeabi_ddiv+0x114>
- 8000886: ea4f 1505 mov.w r5, r5, lsl #4
- 800088a: ea45 7516 orr.w r5, r5, r6, lsr #28
- 800088e: ea4f 1606 mov.w r6, r6, lsl #4
- 8000892: ea4f 03c3 mov.w r3, r3, lsl #3
- 8000896: ea43 7352 orr.w r3, r3, r2, lsr #29
- 800089a: ea4f 02c2 mov.w r2, r2, lsl #3
- 800089e: ea5f 1c1c movs.w ip, ip, lsr #4
- 80008a2: d1c0 bne.n 8000826 <__aeabi_ddiv+0x82>
- 80008a4: f411 1f80 tst.w r1, #1048576 ; 0x100000
- 80008a8: d10b bne.n 80008c2 <__aeabi_ddiv+0x11e>
- 80008aa: ea41 0100 orr.w r1, r1, r0
- 80008ae: f04f 0000 mov.w r0, #0
- 80008b2: f04f 4c00 mov.w ip, #2147483648 ; 0x80000000
- 80008b6: e7b6 b.n 8000826 <__aeabi_ddiv+0x82>
- 80008b8: f411 1f80 tst.w r1, #1048576 ; 0x100000
- 80008bc: bf04 itt eq
- 80008be: 4301 orreq r1, r0
- 80008c0: 2000 moveq r0, #0
- 80008c2: f1b4 0cfd subs.w ip, r4, #253 ; 0xfd
- 80008c6: bf88 it hi
- 80008c8: f5bc 6fe0 cmphi.w ip, #1792 ; 0x700
- 80008cc: f63f aeaf bhi.w 800062e <__aeabi_dmul+0xde>
- 80008d0: ebb5 0c03 subs.w ip, r5, r3
- 80008d4: bf04 itt eq
- 80008d6: ebb6 0c02 subseq.w ip, r6, r2
- 80008da: ea5f 0c50 movseq.w ip, r0, lsr #1
- 80008de: f150 0000 adcs.w r0, r0, #0
- 80008e2: eb41 5104 adc.w r1, r1, r4, lsl #20
- 80008e6: bd70 pop {r4, r5, r6, pc}
- 80008e8: f00e 4e00 and.w lr, lr, #2147483648 ; 0x80000000
- 80008ec: ea4e 3111 orr.w r1, lr, r1, lsr #12
- 80008f0: eb14 045c adds.w r4, r4, ip, lsr #1
- 80008f4: bfc2 ittt gt
- 80008f6: ebd4 050c rsbsgt r5, r4, ip
- 80008fa: ea41 5104 orrgt.w r1, r1, r4, lsl #20
- 80008fe: bd70 popgt {r4, r5, r6, pc}
- 8000900: f441 1180 orr.w r1, r1, #1048576 ; 0x100000
- 8000904: f04f 0e00 mov.w lr, #0
- 8000908: 3c01 subs r4, #1
- 800090a: e690 b.n 800062e <__aeabi_dmul+0xde>
- 800090c: ea45 0e06 orr.w lr, r5, r6
- 8000910: e68d b.n 800062e <__aeabi_dmul+0xde>
- 8000912: ea0c 5513 and.w r5, ip, r3, lsr #20
- 8000916: ea94 0f0c teq r4, ip
- 800091a: bf08 it eq
- 800091c: ea95 0f0c teqeq r5, ip
- 8000920: f43f af3b beq.w 800079a <__aeabi_dmul+0x24a>
- 8000924: ea94 0f0c teq r4, ip
- 8000928: d10a bne.n 8000940 <__aeabi_ddiv+0x19c>
- 800092a: ea50 3401 orrs.w r4, r0, r1, lsl #12
- 800092e: f47f af34 bne.w 800079a <__aeabi_dmul+0x24a>
- 8000932: ea95 0f0c teq r5, ip
- 8000936: f47f af25 bne.w 8000784 <__aeabi_dmul+0x234>
- 800093a: 4610 mov r0, r2
- 800093c: 4619 mov r1, r3
- 800093e: e72c b.n 800079a <__aeabi_dmul+0x24a>
- 8000940: ea95 0f0c teq r5, ip
- 8000944: d106 bne.n 8000954 <__aeabi_ddiv+0x1b0>
- 8000946: ea52 3503 orrs.w r5, r2, r3, lsl #12
- 800094a: f43f aefd beq.w 8000748 <__aeabi_dmul+0x1f8>
- 800094e: 4610 mov r0, r2
- 8000950: 4619 mov r1, r3
- 8000952: e722 b.n 800079a <__aeabi_dmul+0x24a>
- 8000954: ea50 0641 orrs.w r6, r0, r1, lsl #1
- 8000958: bf18 it ne
- 800095a: ea52 0643 orrsne.w r6, r2, r3, lsl #1
- 800095e: f47f aec5 bne.w 80006ec <__aeabi_dmul+0x19c>
- 8000962: ea50 0441 orrs.w r4, r0, r1, lsl #1
- 8000966: f47f af0d bne.w 8000784 <__aeabi_dmul+0x234>
- 800096a: ea52 0543 orrs.w r5, r2, r3, lsl #1
- 800096e: f47f aeeb bne.w 8000748 <__aeabi_dmul+0x1f8>
- 8000972: e712 b.n 800079a <__aeabi_dmul+0x24a>
-
-08000974 <__aeabi_d2f>:
- 8000974: ea4f 0241 mov.w r2, r1, lsl #1
- 8000978: f1b2 43e0 subs.w r3, r2, #1879048192 ; 0x70000000
- 800097c: bf24 itt cs
- 800097e: f5b3 1c00 subscs.w ip, r3, #2097152 ; 0x200000
- 8000982: f1dc 5cfe rsbscs ip, ip, #532676608 ; 0x1fc00000
- 8000986: d90d bls.n 80009a4 <__aeabi_d2f+0x30>
- 8000988: f001 4c00 and.w ip, r1, #2147483648 ; 0x80000000
- 800098c: ea4f 02c0 mov.w r2, r0, lsl #3
- 8000990: ea4c 7050 orr.w r0, ip, r0, lsr #29
- 8000994: f1b2 4f00 cmp.w r2, #2147483648 ; 0x80000000
- 8000998: eb40 0083 adc.w r0, r0, r3, lsl #2
- 800099c: bf08 it eq
- 800099e: f020 0001 biceq.w r0, r0, #1
- 80009a2: 4770 bx lr
- 80009a4: f011 4f80 tst.w r1, #1073741824 ; 0x40000000
- 80009a8: d121 bne.n 80009ee <__aeabi_d2f+0x7a>
- 80009aa: f113 7238 adds.w r2, r3, #48234496 ; 0x2e00000
- 80009ae: bfbc itt lt
- 80009b0: f001 4000 andlt.w r0, r1, #2147483648 ; 0x80000000
- 80009b4: 4770 bxlt lr
- 80009b6: f441 1180 orr.w r1, r1, #1048576 ; 0x100000
- 80009ba: ea4f 5252 mov.w r2, r2, lsr #21
- 80009be: f1c2 0218 rsb r2, r2, #24
- 80009c2: f1c2 0c20 rsb ip, r2, #32
- 80009c6: fa10 f30c lsls.w r3, r0, ip
- 80009ca: fa20 f002 lsr.w r0, r0, r2
- 80009ce: bf18 it ne
- 80009d0: f040 0001 orrne.w r0, r0, #1
- 80009d4: ea4f 23c1 mov.w r3, r1, lsl #11
- 80009d8: ea4f 23d3 mov.w r3, r3, lsr #11
- 80009dc: fa03 fc0c lsl.w ip, r3, ip
- 80009e0: ea40 000c orr.w r0, r0, ip
- 80009e4: fa23 f302 lsr.w r3, r3, r2
- 80009e8: ea4f 0343 mov.w r3, r3, lsl #1
- 80009ec: e7cc b.n 8000988 <__aeabi_d2f+0x14>
- 80009ee: ea7f 5362 mvns.w r3, r2, asr #21
- 80009f2: d107 bne.n 8000a04 <__aeabi_d2f+0x90>
- 80009f4: ea50 3301 orrs.w r3, r0, r1, lsl #12
- 80009f8: bf1e ittt ne
- 80009fa: f04f 40fe movne.w r0, #2130706432 ; 0x7f000000
- 80009fe: f440 0040 orrne.w r0, r0, #12582912 ; 0xc00000
- 8000a02: 4770 bxne lr
- 8000a04: f001 4000 and.w r0, r1, #2147483648 ; 0x80000000
- 8000a08: f040 40fe orr.w r0, r0, #2130706432 ; 0x7f000000
- 8000a0c: f440 0000 orr.w r0, r0, #8388608 ; 0x800000
- 8000a10: 4770 bx lr
- 8000a12: bf00 nop
-
-08000a14 :
-
-
-volatile MOTOR_PINS_t Motor_Pins ;
-volatile u32 encoder_pulses = 0 ;
-volatile u32 temp_pulses = 0 ;
-void Increment_Pulse_CallBack(){
- 8000a14: b480 push {r7}
- 8000a16: af00 add r7, sp, #0
- encoder_pulses++ ;
- 8000a18: 4b07 ldr r3, [pc, #28] ; (8000a38 )
- 8000a1a: 681b ldr r3, [r3, #0]
- 8000a1c: 3301 adds r3, #1
- 8000a1e: 4a06 ldr r2, [pc, #24] ; (8000a38 )
- 8000a20: 6013 str r3, [r2, #0]
- temp_pulses++ ;
- 8000a22: 4b06 ldr r3, [pc, #24] ; (8000a3c )
- 8000a24: 681b ldr r3, [r3, #0]
- 8000a26: 3301 adds r3, #1
- 8000a28: 4a04 ldr r2, [pc, #16] ; (8000a3c )
- 8000a2a: 6013 str r3, [r2, #0]
-}
- 8000a2c: bf00 nop
- 8000a2e: 46bd mov sp, r7
- 8000a30: f85d 7b04 ldr.w r7, [sp], #4
- 8000a34: 4770 bx lr
- 8000a36: bf00 nop
- 8000a38: 2000001c .word 0x2000001c
- 8000a3c: 20000020 .word 0x20000020
-
-08000a40 :
-
-
-
-void HAL_MOTOR_Init(u8 PORT_N1 , u8 PIN_N1, u8 PORT_N2 , u8 PIN_N2 ,u8 PORT_PWM ,
- u8 PIN_PWM, u8 PWM_TIMER , u8 ENCODER_EXTIx ,u8 NVIC_EXTIx){
- 8000a40: b590 push {r4, r7, lr}
- 8000a42: b083 sub sp, #12
- 8000a44: af00 add r7, sp, #0
- 8000a46: 4604 mov r4, r0
- 8000a48: 4608 mov r0, r1
- 8000a4a: 4611 mov r1, r2
- 8000a4c: 461a mov r2, r3
- 8000a4e: 4623 mov r3, r4
- 8000a50: 71fb strb r3, [r7, #7]
- 8000a52: 4603 mov r3, r0
- 8000a54: 71bb strb r3, [r7, #6]
- 8000a56: 460b mov r3, r1
- 8000a58: 717b strb r3, [r7, #5]
- 8000a5a: 4613 mov r3, r2
- 8000a5c: 713b strb r3, [r7, #4]
- Motor_Pins.PORT_N1 = PORT_N1 ;
- 8000a5e: 4a25 ldr r2, [pc, #148] ; (8000af4 )
- 8000a60: 79fb ldrb r3, [r7, #7]
- 8000a62: 7013 strb r3, [r2, #0]
- Motor_Pins.PORT_N2 = PORT_N2 ;
- 8000a64: 4a23 ldr r2, [pc, #140] ; (8000af4 )
- 8000a66: 797b ldrb r3, [r7, #5]
- 8000a68: 7093 strb r3, [r2, #2]
- Motor_Pins.PORT_PWM = PORT_PWM ;
- 8000a6a: 4a22 ldr r2, [pc, #136] ; (8000af4 )
- 8000a6c: 7e3b ldrb r3, [r7, #24]
- 8000a6e: 7113 strb r3, [r2, #4]
- Motor_Pins.PIN_N1 = PIN_N1 ;
- 8000a70: 4a20 ldr r2, [pc, #128] ; (8000af4 )
- 8000a72: 79bb ldrb r3, [r7, #6]
- 8000a74: 7053 strb r3, [r2, #1]
- Motor_Pins.PIN_N2 = PIN_N2 ;
- 8000a76: 4a1f ldr r2, [pc, #124] ; (8000af4 )
- 8000a78: 793b ldrb r3, [r7, #4]
- 8000a7a: 70d3 strb r3, [r2, #3]
- Motor_Pins.PIN_PWM = PIN_PWM ;
- 8000a7c: 4a1d ldr r2, [pc, #116] ; (8000af4 )
- 8000a7e: 7f3b ldrb r3, [r7, #28]
- 8000a80: 7153 strb r3, [r2, #5]
- MGPIO_vSetPinMode(PORT_N1, PIN_N1, OUTPUT);
- 8000a82: 79b9 ldrb r1, [r7, #6]
- 8000a84: 79fb ldrb r3, [r7, #7]
- 8000a86: 2201 movs r2, #1
- 8000a88: 4618 mov r0, r3
- 8000a8a: f000 fca3 bl 80013d4
- MGPIO_vSetPinMode(PORT_N2, PIN_N2, OUTPUT);
- 8000a8e: 7939 ldrb r1, [r7, #4]
- 8000a90: 797b ldrb r3, [r7, #5]
- 8000a92: 2201 movs r2, #1
- 8000a94: 4618 mov r0, r3
- 8000a96: f000 fc9d bl 80013d4
- MGPIO_vSetPinMode(PORT_PWM, PIN_PWM,ALTFUNC);
- 8000a9a: 7f39 ldrb r1, [r7, #28]
- 8000a9c: 7e3b ldrb r3, [r7, #24]
- 8000a9e: 2202 movs r2, #2
- 8000aa0: 4618 mov r0, r3
- 8000aa2: f000 fc97 bl 80013d4
- MGPIO_vSetAlternativeFunction(PORT_PWM, PIN_PWM,PWM_TIMER);
- 8000aa6: f897 2020 ldrb.w r2, [r7, #32]
- 8000aaa: 7f39 ldrb r1, [r7, #28]
- 8000aac: 7e3b ldrb r3, [r7, #24]
- 8000aae: 4618 mov r0, r3
- 8000ab0: f000 fd62 bl 8001578
-
- /********************Interrupt of encoder*****************************/
- MEXTI_vEnableInterrupt(ENCODER_EXTIx);
- 8000ab4: f897 3024 ldrb.w r3, [r7, #36] ; 0x24
- 8000ab8: 4618 mov r0, r3
- 8000aba: f000 fa45 bl 8000f48
- MEXTI_vInterruptTrigger(ENCODER_EXTIx, RISING);
- 8000abe: f897 3024 ldrb.w r3, [r7, #36] ; 0x24
- 8000ac2: 2100 movs r1, #0
- 8000ac4: 4618 mov r0, r3
- 8000ac6: f000 fa57 bl 8000f78
- SYSCFG_vConfigEXTI_Line(EXTI_PORTB, ENCODER_EXTIx);
- 8000aca: f897 3024 ldrb.w r3, [r7, #36] ; 0x24
- 8000ace: 4619 mov r1, r3
- 8000ad0: 2001 movs r0, #1
- 8000ad2: f000 f9ff bl 8000ed4
- MEXTI_vCallBack(ENCODER_EXTIx, Increment_Pulse_CallBack);
- 8000ad6: f897 3024 ldrb.w r3, [r7, #36] ; 0x24
- 8000ada: 4907 ldr r1, [pc, #28] ; (8000af8 )
- 8000adc: 4618 mov r0, r3
- 8000ade: f000 faa5 bl 800102c
- MNVIC_vEnableInterrupt(NVIC_EXTIx);
- 8000ae2: f897 3028 ldrb.w r3, [r7, #40] ; 0x28
- 8000ae6: 4618 mov r0, r3
- 8000ae8: f000 fe06 bl 80016f8
-}
- 8000aec: bf00 nop
- 8000aee: 370c adds r7, #12
- 8000af0: 46bd mov sp, r7
- 8000af2: bd90 pop {r4, r7, pc}
- 8000af4: 20000224 .word 0x20000224
- 8000af8: 08000a15 .word 0x08000a15
- 8000afc: 00000000 .word 0x00000000
-
-08000b00 :
-
-
-void HAL_MOTOR_MOVE(u8 DIRCTION ,u8 SPEED , f32 DISTANCE_cm_){
- 8000b00: b590 push {r4, r7, lr}
- 8000b02: b087 sub sp, #28
- 8000b04: af00 add r7, sp, #0
- 8000b06: 4603 mov r3, r0
- 8000b08: 460a mov r2, r1
- 8000b0a: ed87 0a00 vstr s0, [r7]
- 8000b0e: 71fb strb r3, [r7, #7]
- 8000b10: 4613 mov r3, r2
- 8000b12: 71bb strb r3, [r7, #6]
- f32 high_duty = (SPEED / 100.0) ;
- 8000b14: 79bb ldrb r3, [r7, #6]
- 8000b16: 4618 mov r0, r3
- 8000b18: f7ff fcb0 bl 800047c <__aeabi_i2d>
- 8000b1c: f04f 0200 mov.w r2, #0
- 8000b20: 4b3d ldr r3, [pc, #244] ; (8000c18 )
- 8000b22: f7ff fe3f bl 80007a4 <__aeabi_ddiv>
- 8000b26: 4603 mov r3, r0
- 8000b28: 460c mov r4, r1
- 8000b2a: 4618 mov r0, r3
- 8000b2c: 4621 mov r1, r4
- 8000b2e: f7ff ff21 bl 8000974 <__aeabi_d2f>
- 8000b32: 4603 mov r3, r0
- 8000b34: 617b str r3, [r7, #20]
- f32 num_of_revolutions ;
- u32 total_pulses = 0 ;
- 8000b36: 2300 movs r3, #0
- 8000b38: 613b str r3, [r7, #16]
- switch(DIRCTION){
- 8000b3a: 79fb ldrb r3, [r7, #7]
- 8000b3c: 2b00 cmp r3, #0
- 8000b3e: d002 beq.n 8000b46
- 8000b40: 2b01 cmp r3, #1
- 8000b42: d015 beq.n 8000b70
- 8000b44: e029 b.n 8000b9a
- case BACKWARD :
- MGPIO_vSetPinValue(Motor_Pins.PORT_N1, Motor_Pins.PIN_N1, HIGH);
- 8000b46: 4b35 ldr r3, [pc, #212] ; (8000c1c )
- 8000b48: 781b ldrb r3, [r3, #0]
- 8000b4a: b2d8 uxtb r0, r3
- 8000b4c: 4b33 ldr r3, [pc, #204] ; (8000c1c )
- 8000b4e: 785b ldrb r3, [r3, #1]
- 8000b50: b2db uxtb r3, r3
- 8000b52: 2201 movs r2, #1
- 8000b54: 4619 mov r1, r3
- 8000b56: f000 fca3 bl 80014a0
- MGPIO_vSetPinValue(Motor_Pins.PORT_N2, Motor_Pins.PIN_N2, LOW);
- 8000b5a: 4b30 ldr r3, [pc, #192] ; (8000c1c )
- 8000b5c: 789b ldrb r3, [r3, #2]
- 8000b5e: b2d8 uxtb r0, r3
- 8000b60: 4b2e ldr r3, [pc, #184] ; (8000c1c )
- 8000b62: 78db ldrb r3, [r3, #3]
- 8000b64: b2db uxtb r3, r3
- 8000b66: 2200 movs r2, #0
- 8000b68: 4619 mov r1, r3
- 8000b6a: f000 fc99 bl 80014a0
- break;
- 8000b6e: e014 b.n 8000b9a
- case FORWARD:
- MGPIO_vSetPinValue(Motor_Pins.PORT_N1, Motor_Pins.PIN_N1, LOW);
- 8000b70: 4b2a ldr r3, [pc, #168] ; (8000c1c )
- 8000b72: 781b ldrb r3, [r3, #0]
- 8000b74: b2d8 uxtb r0, r3
- 8000b76: 4b29 ldr r3, [pc, #164] ; (8000c1c )
- 8000b78: 785b ldrb r3, [r3, #1]
- 8000b7a: b2db uxtb r3, r3
- 8000b7c: 2200 movs r2, #0
- 8000b7e: 4619 mov r1, r3
- 8000b80: f000 fc8e bl 80014a0
- MGPIO_vSetPinValue(Motor_Pins.PORT_N2, Motor_Pins.PIN_N2, HIGH);
- 8000b84: 4b25 ldr r3, [pc, #148] ; (8000c1c )
- 8000b86: 789b ldrb r3, [r3, #2]
- 8000b88: b2d8 uxtb r0, r3
- 8000b8a: 4b24 ldr r3, [pc, #144] ; (8000c1c )
- 8000b8c: 78db ldrb r3, [r3, #3]
- 8000b8e: b2db uxtb r3, r3
- 8000b90: 2201 movs r2, #1
- 8000b92: 4619 mov r1, r3
- 8000b94: f000 fc84 bl 80014a0
- break;
- 8000b98: bf00 nop
- }
- /****************************speed********************************/
- MTIMER_vPWM(TIMER1, CH1, 10000, high_duty*10000);
- 8000b9a: edd7 7a05 vldr s15, [r7, #20]
- 8000b9e: ed9f 7a20 vldr s14, [pc, #128] ; 8000c20
- 8000ba2: ee67 7a87 vmul.f32 s15, s15, s14
- 8000ba6: eefc 7ae7 vcvt.u32.f32 s15, s15
- 8000baa: ee17 3a90 vmov r3, s15
- 8000bae: b29b uxth r3, r3
- 8000bb0: f242 7210 movw r2, #10000 ; 0x2710
- 8000bb4: 2101 movs r1, #1
- 8000bb6: 2001 movs r0, #1
- 8000bb8: f000 fef0 bl 800199c
- /***************************distance******************************/
- num_of_revolutions = (DISTANCE_cm_/ WHEEL_AREA);
- 8000bbc: 6838 ldr r0, [r7, #0]
- 8000bbe: f7ff fc6f bl 80004a0 <__aeabi_f2d>
- 8000bc2: a313 add r3, pc, #76 ; (adr r3, 8000c10 )
- 8000bc4: e9d3 2300 ldrd r2, r3, [r3]
- 8000bc8: f7ff fdec bl 80007a4 <__aeabi_ddiv>
- 8000bcc: 4603 mov r3, r0
- 8000bce: 460c mov r4, r1
- 8000bd0: 4618 mov r0, r3
- 8000bd2: 4621 mov r1, r4
- 8000bd4: f7ff fece bl 8000974 <__aeabi_d2f>
- 8000bd8: 4603 mov r3, r0
- 8000bda: 60fb str r3, [r7, #12]
-// num_of_revolutions = 4;
- total_pulses = (u32)(num_of_revolutions * PULSES_PER_REVOLUTION);
- 8000bdc: edd7 7a03 vldr s15, [r7, #12]
- 8000be0: ed9f 7a10 vldr s14, [pc, #64] ; 8000c24
- 8000be4: ee67 7a87 vmul.f32 s15, s15, s14
- 8000be8: eefc 7ae7 vcvt.u32.f32 s15, s15
- 8000bec: ee17 3a90 vmov r3, s15
- 8000bf0: 613b str r3, [r7, #16]
- while( total_pulses > temp_pulses );
- 8000bf2: bf00 nop
- 8000bf4: 4b0c ldr r3, [pc, #48] ; (8000c28 )
- 8000bf6: 681b ldr r3, [r3, #0]
- 8000bf8: 693a ldr r2, [r7, #16]
- 8000bfa: 429a cmp r2, r3
- 8000bfc: d8fa bhi.n 8000bf4
- HAL_MOTOR_STOP();
- 8000bfe: f000 f815 bl 8000c2c
- temp_pulses = 0 ;
- 8000c02: 4b09 ldr r3, [pc, #36] ; (8000c28 )
- 8000c04: 2200 movs r2, #0
- 8000c06: 601a str r2, [r3, #0]
-}
- 8000c08: bf00 nop
- 8000c0a: 371c adds r7, #28
- 8000c0c: 46bd mov sp, r7
- 8000c0e: bd90 pop {r4, r7, pc}
- 8000c10: 66666666 .word 0x66666666
- 8000c14: 403a6666 .word 0x403a6666
- 8000c18: 40590000 .word 0x40590000
- 8000c1c: 20000224 .word 0x20000224
- 8000c20: 461c4000 .word 0x461c4000
- 8000c24: 44800000 .word 0x44800000
- 8000c28: 20000020 .word 0x20000020
-
-08000c2c :
-
-void HAL_MOTOR_STOP(){
- 8000c2c: b580 push {r7, lr}
- 8000c2e: af00 add r7, sp, #0
- MGPIO_vSetPinValue(Motor_Pins.PORT_N1, Motor_Pins.PIN_N1, LOW);
- 8000c30: 4b0a ldr r3, [pc, #40] ; (8000c5c )
- 8000c32: 781b ldrb r3, [r3, #0]
- 8000c34: b2d8 uxtb r0, r3
- 8000c36: 4b09 ldr r3, [pc, #36] ; (8000c5c )
- 8000c38: 785b ldrb r3, [r3, #1]
- 8000c3a: b2db uxtb r3, r3
- 8000c3c: 2200 movs r2, #0
- 8000c3e: 4619 mov r1, r3
- 8000c40: f000 fc2e bl 80014a0
- MGPIO_vSetPinValue(Motor_Pins.PORT_N2, Motor_Pins.PIN_N2, LOW);
- 8000c44: 4b05 ldr r3, [pc, #20] ; (8000c5c )
- 8000c46: 789b ldrb r3, [r3, #2]
- 8000c48: b2d8 uxtb r0, r3
- 8000c4a: 4b04 ldr r3, [pc, #16] ; (8000c5c )
- 8000c4c: 78db ldrb r3, [r3, #3]
- 8000c4e: b2db uxtb r3, r3
- 8000c50: 2200 movs r2, #0
- 8000c52: 4619 mov r1, r3
- 8000c54: f000 fc24 bl 80014a0
-}
- 8000c58: bf00 nop
- 8000c5a: bd80 pop {r7, pc}
- 8000c5c: 20000224 .word 0x20000224
-
-08000c60 :
-
-// Declare an array to store servo information for multiple servos
-LOC_SERVO_NUM SERVO_STRUCT[TOT_SERVO_NUM];
-
-
-void HSERVO_vServoInit(Enum_SERVO_NUM Copy_u8ServoNum,Enum_TIMER_NUM Copy_u8TimerNum,u8 Copy_u8ChannelNum){
- 8000c60: b580 push {r7, lr}
- 8000c62: b082 sub sp, #8
- 8000c64: af00 add r7, sp, #0
- 8000c66: 4603 mov r3, r0
- 8000c68: 71fb strb r3, [r7, #7]
- 8000c6a: 460b mov r3, r1
- 8000c6c: 71bb strb r3, [r7, #6]
- 8000c6e: 4613 mov r3, r2
- 8000c70: 717b strb r3, [r7, #5]
- // Configure GPIO pins and alternative functions based on the selected timer and channel
- switch(Copy_u8TimerNum){
- 8000c72: 79bb ldrb r3, [r7, #6]
- 8000c74: 3b01 subs r3, #1
- 8000c76: 2b07 cmp r3, #7
- 8000c78: f200 80d8 bhi.w 8000e2c
- 8000c7c: a201 add r2, pc, #4 ; (adr r2, 8000c84 )
- 8000c7e: f852 f023 ldr.w pc, [r2, r3, lsl #2]
- 8000c82: bf00 nop
- 8000c84: 08000ca5 .word 0x08000ca5
- 8000c88: 08000cc7 .word 0x08000cc7
- 8000c8c: 08000d39 .word 0x08000d39
- 8000c90: 08000d83 .word 0x08000d83
- 8000c94: 08000da5 .word 0x08000da5
- 8000c98: 08000dc7 .word 0x08000dc7
- 8000c9c: 08000de9 .word 0x08000de9
- 8000ca0: 08000e0b .word 0x08000e0b
- case TIMER1:
- MGPIO_vSetPinMode(PORTA, Copy_u8ChannelNum + 7 , ALTFUNC);
- 8000ca4: 797b ldrb r3, [r7, #5]
- 8000ca6: 3307 adds r3, #7
- 8000ca8: b2db uxtb r3, r3
- 8000caa: 2202 movs r2, #2
- 8000cac: 4619 mov r1, r3
- 8000cae: 2000 movs r0, #0
- 8000cb0: f000 fb90 bl 80013d4
- MGPIO_vSetAlternativeFunction(PORTA, Copy_u8ChannelNum + 7 , MGPIO_ALTFUNC_TIM12);
- 8000cb4: 797b ldrb r3, [r7, #5]
- 8000cb6: 3307 adds r3, #7
- 8000cb8: b2db uxtb r3, r3
- 8000cba: 2201 movs r2, #1
- 8000cbc: 4619 mov r1, r3
- 8000cbe: 2000 movs r0, #0
- 8000cc0: f000 fc5a bl 8001578
- break;
- 8000cc4: e0b2 b.n 8000e2c
- case TIMER2:
- if(Copy_u8ChannelNum == 1){
- 8000cc6: 797b ldrb r3, [r7, #5]
- 8000cc8: 2b01 cmp r3, #1
- 8000cca: d110 bne.n 8000cee
- MGPIO_vSetPinMode(PORTA, Copy_u8ChannelNum + 14 , ALTFUNC);
- 8000ccc: 797b ldrb r3, [r7, #5]
- 8000cce: 330e adds r3, #14
- 8000cd0: b2db uxtb r3, r3
- 8000cd2: 2202 movs r2, #2
- 8000cd4: 4619 mov r1, r3
- 8000cd6: 2000 movs r0, #0
- 8000cd8: f000 fb7c bl 80013d4
- MGPIO_vSetAlternativeFunction(PORTA, Copy_u8ChannelNum + 14 , MGPIO_ALTFUNC_TIM12);}
- 8000cdc: 797b ldrb r3, [r7, #5]
- 8000cde: 330e adds r3, #14
- 8000ce0: b2db uxtb r3, r3
- 8000ce2: 2201 movs r2, #1
- 8000ce4: 4619 mov r1, r3
- 8000ce6: 2000 movs r0, #0
- 8000ce8: f000 fc46 bl 8001578
- }
- else{
- MGPIO_vSetPinMode(PORTA, Copy_u8ChannelNum - 1 , ALTFUNC);
- MGPIO_vSetAlternativeFunction(PORTA, Copy_u8ChannelNum - 1 , MGPIO_ALTFUNC_TIM12);
- }
- break;
- 8000cec: e09e b.n 8000e2c
- else if(Copy_u8ChannelNum == 2){
- 8000cee: 797b ldrb r3, [r7, #5]
- 8000cf0: 2b02 cmp r3, #2
- 8000cf2: d110 bne.n 8000d16
- MGPIO_vSetPinMode(PORTB, Copy_u8ChannelNum + 1 , ALTFUNC);
- 8000cf4: 797b ldrb r3, [r7, #5]
- 8000cf6: 3301 adds r3, #1
- 8000cf8: b2db uxtb r3, r3
- 8000cfa: 2202 movs r2, #2
- 8000cfc: 4619 mov r1, r3
- 8000cfe: 2001 movs r0, #1
- 8000d00: f000 fb68 bl 80013d4
- MGPIO_vSetAlternativeFunction(PORTB, Copy_u8ChannelNum + 1 , MGPIO_ALTFUNC_TIM12);
- 8000d04: 797b ldrb r3, [r7, #5]
- 8000d06: 3301 adds r3, #1
- 8000d08: b2db uxtb r3, r3
- 8000d0a: 2201 movs r2, #1
- 8000d0c: 4619 mov r1, r3
- 8000d0e: 2001 movs r0, #1
- 8000d10: f000 fc32 bl 8001578
- break;
- 8000d14: e08a b.n 8000e2c
- MGPIO_vSetPinMode(PORTA, Copy_u8ChannelNum - 1 , ALTFUNC);
- 8000d16: 797b ldrb r3, [r7, #5]
- 8000d18: 3b01 subs r3, #1
- 8000d1a: b2db uxtb r3, r3
- 8000d1c: 2202 movs r2, #2
- 8000d1e: 4619 mov r1, r3
- 8000d20: 2000 movs r0, #0
- 8000d22: f000 fb57 bl 80013d4
- MGPIO_vSetAlternativeFunction(PORTA, Copy_u8ChannelNum - 1 , MGPIO_ALTFUNC_TIM12);
- 8000d26: 797b ldrb r3, [r7, #5]
- 8000d28: 3b01 subs r3, #1
- 8000d2a: b2db uxtb r3, r3
- 8000d2c: 2201 movs r2, #1
- 8000d2e: 4619 mov r1, r3
- 8000d30: 2000 movs r0, #0
- 8000d32: f000 fc21 bl 8001578
- break;
- 8000d36: e079 b.n 8000e2c
- case TIMER3:
- if(Copy_u8ChannelNum
- MGPIO_vSetPinMode(PORTA, Copy_u8ChannelNum + 5 , ALTFUNC);
- 8000d3e: 797b ldrb r3, [r7, #5]
- 8000d40: 3305 adds r3, #5
- 8000d42: b2db uxtb r3, r3
- 8000d44: 2202 movs r2, #2
- 8000d46: 4619 mov r1, r3
- 8000d48: 2000 movs r0, #0
- 8000d4a: f000 fb43 bl 80013d4
- MGPIO_vSetAlternativeFunction(PORTA, Copy_u8ChannelNum + 5 , MGPIO_ALTFUNC_TIM35);}
- 8000d4e: 797b ldrb r3, [r7, #5]
- 8000d50: 3305 adds r3, #5
- 8000d52: b2db uxtb r3, r3
- 8000d54: 2202 movs r2, #2
- 8000d56: 4619 mov r1, r3
- 8000d58: 2000 movs r0, #0
- 8000d5a: f000 fc0d bl 8001578
- else{
- MGPIO_vSetPinMode(PORTB, Copy_u8ChannelNum - CH3 , ALTFUNC);
- MGPIO_vSetAlternativeFunction(PORTB, Copy_u8ChannelNum - CH3 , MGPIO_ALTFUNC_TIM35);
- }
- break;
- 8000d5e: e065 b.n 8000e2c
- MGPIO_vSetPinMode(PORTB, Copy_u8ChannelNum - CH3 , ALTFUNC);
- 8000d60: 797b ldrb r3, [r7, #5]
- 8000d62: 3b03 subs r3, #3
- 8000d64: b2db uxtb r3, r3
- 8000d66: 2202 movs r2, #2
- 8000d68: 4619 mov r1, r3
- 8000d6a: 2001 movs r0, #1
- 8000d6c: f000 fb32 bl 80013d4
- MGPIO_vSetAlternativeFunction(PORTB, Copy_u8ChannelNum - CH3 , MGPIO_ALTFUNC_TIM35);
- 8000d70: 797b ldrb r3, [r7, #5]
- 8000d72: 3b03 subs r3, #3
- 8000d74: b2db uxtb r3, r3
- 8000d76: 2202 movs r2, #2
- 8000d78: 4619 mov r1, r3
- 8000d7a: 2001 movs r0, #1
- 8000d7c: f000 fbfc bl 8001578
- break;
- 8000d80: e054 b.n 8000e2c
- case TIMER4:
- MGPIO_vSetPinMode(PORTB, Copy_u8ChannelNum + 5 , ALTFUNC);
- 8000d82: 797b ldrb r3, [r7, #5]
- 8000d84: 3305 adds r3, #5
- 8000d86: b2db uxtb r3, r3
- 8000d88: 2202 movs r2, #2
- 8000d8a: 4619 mov r1, r3
- 8000d8c: 2001 movs r0, #1
- 8000d8e: f000 fb21 bl 80013d4
- MGPIO_vSetAlternativeFunction(PORTB, Copy_u8ChannelNum + 5 , MGPIO_ALTFUNC_TIM35);
- 8000d92: 797b ldrb r3, [r7, #5]
- 8000d94: 3305 adds r3, #5
- 8000d96: b2db uxtb r3, r3
- 8000d98: 2202 movs r2, #2
- 8000d9a: 4619 mov r1, r3
- 8000d9c: 2001 movs r0, #1
- 8000d9e: f000 fbeb bl 8001578
- break;
- 8000da2: e043 b.n 8000e2c
- case TIMER5:
- MGPIO_vSetPinMode(PORTA, Copy_u8ChannelNum - 1 , ALTFUNC);
- 8000da4: 797b ldrb r3, [r7, #5]
- 8000da6: 3b01 subs r3, #1
- 8000da8: b2db uxtb r3, r3
- 8000daa: 2202 movs r2, #2
- 8000dac: 4619 mov r1, r3
- 8000dae: 2000 movs r0, #0
- 8000db0: f000 fb10 bl 80013d4
- MGPIO_vSetAlternativeFunction(PORTA, Copy_u8ChannelNum - 1 , MGPIO_ALTFUNC_TIM35);
- 8000db4: 797b ldrb r3, [r7, #5]
- 8000db6: 3b01 subs r3, #1
- 8000db8: b2db uxtb r3, r3
- 8000dba: 2202 movs r2, #2
- 8000dbc: 4619 mov r1, r3
- 8000dbe: 2000 movs r0, #0
- 8000dc0: f000 fbda bl 8001578
- break;
- 8000dc4: e032 b.n 8000e2c
- case TIMER9:
- MGPIO_vSetPinMode(PORTA, Copy_u8ChannelNum + 1 , ALTFUNC);
- 8000dc6: 797b ldrb r3, [r7, #5]
- 8000dc8: 3301 adds r3, #1
- 8000dca: b2db uxtb r3, r3
- 8000dcc: 2202 movs r2, #2
- 8000dce: 4619 mov r1, r3
- 8000dd0: 2000 movs r0, #0
- 8000dd2: f000 faff bl 80013d4
- MGPIO_vSetAlternativeFunction(PORTA, Copy_u8ChannelNum + 1 , MGPIO_ALTFUNC_TIM911);
- 8000dd6: 797b ldrb r3, [r7, #5]
- 8000dd8: 3301 adds r3, #1
- 8000dda: b2db uxtb r3, r3
- 8000ddc: 2203 movs r2, #3
- 8000dde: 4619 mov r1, r3
- 8000de0: 2000 movs r0, #0
- 8000de2: f000 fbc9 bl 8001578
- break;
- 8000de6: e021 b.n 8000e2c
- case TIMER10:
- MGPIO_vSetPinMode(PORTB, Copy_u8ChannelNum + 7 , ALTFUNC);
- 8000de8: 797b ldrb r3, [r7, #5]
- 8000dea: 3307 adds r3, #7
- 8000dec: b2db uxtb r3, r3
- 8000dee: 2202 movs r2, #2
- 8000df0: 4619 mov r1, r3
- 8000df2: 2001 movs r0, #1
- 8000df4: f000 faee bl 80013d4
- MGPIO_vSetAlternativeFunction(PORTB, Copy_u8ChannelNum + 7 , MGPIO_ALTFUNC_TIM911);
- 8000df8: 797b ldrb r3, [r7, #5]
- 8000dfa: 3307 adds r3, #7
- 8000dfc: b2db uxtb r3, r3
- 8000dfe: 2203 movs r2, #3
- 8000e00: 4619 mov r1, r3
- 8000e02: 2001 movs r0, #1
- 8000e04: f000 fbb8 bl 8001578
- break;
- 8000e08: e010 b.n 8000e2c
- case TIMER11:
- MGPIO_vSetPinMode(PORTB, Copy_u8ChannelNum + 8 , ALTFUNC);
- 8000e0a: 797b ldrb r3, [r7, #5]
- 8000e0c: 3308 adds r3, #8
- 8000e0e: b2db uxtb r3, r3
- 8000e10: 2202 movs r2, #2
- 8000e12: 4619 mov r1, r3
- 8000e14: 2001 movs r0, #1
- 8000e16: f000 fadd bl 80013d4
- MGPIO_vSetAlternativeFunction(PORTB, Copy_u8ChannelNum + 8 , MGPIO_ALTFUNC_TIM911);
- 8000e1a: 797b ldrb r3, [r7, #5]
- 8000e1c: 3308 adds r3, #8
- 8000e1e: b2db uxtb r3, r3
- 8000e20: 2203 movs r2, #3
- 8000e22: 4619 mov r1, r3
- 8000e24: 2001 movs r0, #1
- 8000e26: f000 fba7 bl 8001578
- break;
- 8000e2a: bf00 nop
- }
- SERVO_STRUCT[Copy_u8ServoNum].TIMER = Copy_u8TimerNum;
- 8000e2c: 79fb ldrb r3, [r7, #7]
- 8000e2e: 4907 ldr r1, [pc, #28] ; (8000e4c )
- 8000e30: 79ba ldrb r2, [r7, #6]
- 8000e32: f801 2013 strb.w r2, [r1, r3, lsl #1]
- SERVO_STRUCT[Copy_u8ServoNum].CHANNEL = Copy_u8ChannelNum;
- 8000e36: 79fb ldrb r3, [r7, #7]
- 8000e38: 4a04 ldr r2, [pc, #16] ; (8000e4c )
- 8000e3a: 005b lsls r3, r3, #1
- 8000e3c: 4413 add r3, r2
- 8000e3e: 797a ldrb r2, [r7, #5]
- 8000e40: 705a strb r2, [r3, #1]
-}
- 8000e42: bf00 nop
- 8000e44: 3708 adds r7, #8
- 8000e46: 46bd mov sp, r7
- 8000e48: bd80 pop {r7, pc}
- 8000e4a: bf00 nop
- 8000e4c: 20000230 .word 0x20000230
-
-08000e50 :
- * @brief Sets the angle of the servo motor specified by Copy_u8ServoNum to the desired degree.
- *
- * @param Copy_u8ServoNum: Enum_SERVO_NUM representing the servo number.
- * @param Copy_s8Deg: Desired angle in degrees (from -45 to 45).
- */
-void HSERVO_vServoDeg(Enum_SERVO_NUM Copy_u8ServoNum, s8 Copy_s8Deg) {
- 8000e50: b580 push {r7, lr}
- 8000e52: b084 sub sp, #16
- 8000e54: af00 add r7, sp, #0
- 8000e56: 4603 mov r3, r0
- 8000e58: 460a mov r2, r1
- 8000e5a: 71fb strb r3, [r7, #7]
- 8000e5c: 4613 mov r3, r2
- 8000e5e: 71bb strb r3, [r7, #6]
- // Ensure the angle is within the valid angle range (-45 to 45)
- Copy_s8Deg = (Copy_s8Deg < -45) ? -45 : (Copy_s8Deg > 45) ? 45 : Copy_s8Deg;
- 8000e60: f997 3006 ldrsb.w r3, [r7, #6]
- 8000e64: f113 0f2d cmn.w r3, #45 ; 0x2d
- 8000e68: db06 blt.n 8000e78
- 8000e6a: f997 3006 ldrsb.w r3, [r7, #6]
- 8000e6e: 2b2d cmp r3, #45 ; 0x2d
- 8000e70: bfa8 it ge
- 8000e72: 232d movge r3, #45 ; 0x2d
- 8000e74: b25b sxtb r3, r3
- 8000e76: e001 b.n 8000e7c
- 8000e78: f06f 032c mvn.w r3, #44 ; 0x2c
- 8000e7c: 71bb strb r3, [r7, #6]
-
- // Add Zero Position to the angle
- Copy_s8Deg += ZERO_POS;
- 8000e7e: 79bb ldrb r3, [r7, #6]
- 8000e80: 3355 adds r3, #85 ; 0x55
- 8000e82: b2db uxtb r3, r3
- 8000e84: 71bb strb r3, [r7, #6]
-
- // Calculate the positive duty cycle corresponding to the desired angle
- u16 Positive_Duty = ((Copy_s8Deg * 2000) / 180) + 500;
- 8000e86: f997 3006 ldrsb.w r3, [r7, #6]
- 8000e8a: f44f 62fa mov.w r2, #2000 ; 0x7d0
- 8000e8e: fb02 f303 mul.w r3, r2, r3
- 8000e92: 4a0e ldr r2, [pc, #56] ; (8000ecc )
- 8000e94: fb82 1203 smull r1, r2, r2, r3
- 8000e98: 441a add r2, r3
- 8000e9a: 11d2 asrs r2, r2, #7
- 8000e9c: 17db asrs r3, r3, #31
- 8000e9e: 1ad3 subs r3, r2, r3
- 8000ea0: b29b uxth r3, r3
- 8000ea2: f503 73fa add.w r3, r3, #500 ; 0x1f4
- 8000ea6: 81fb strh r3, [r7, #14]
-
- // Set the PWM signal to control the servo motor
- MTIMER_vPWM(SERVO_STRUCT[Copy_u8ServoNum].TIMER, SERVO_STRUCT[Copy_u8ServoNum].CHANNEL, SERVO_FullPeriod, Positive_Duty);
- 8000ea8: 79fb ldrb r3, [r7, #7]
- 8000eaa: 4a09 ldr r2, [pc, #36] ; (8000ed0 )
- 8000eac: f812 0013 ldrb.w r0, [r2, r3, lsl #1]
- 8000eb0: 79fb ldrb r3, [r7, #7]
- 8000eb2: 4a07 ldr r2, [pc, #28] ; (8000ed0 )
- 8000eb4: 005b lsls r3, r3, #1
- 8000eb6: 4413 add r3, r2
- 8000eb8: 7859 ldrb r1, [r3, #1]
- 8000eba: 89fb ldrh r3, [r7, #14]
- 8000ebc: f644 6220 movw r2, #20000 ; 0x4e20
- 8000ec0: f000 fd6c bl 800199c
-}
- 8000ec4: bf00 nop
- 8000ec6: 3710 adds r7, #16
- 8000ec8: 46bd mov sp, r7
- 8000eca: bd80 pop {r7, pc}
- 8000ecc: b60b60b7 .word 0xb60b60b7
- 8000ed0: 20000230 .word 0x20000230
-
-08000ed4 :
-/***************************************************************************/
-/* Functions Implementations */
-/***************************************************************************/
-static void (*GLOBAL_EXTIPtr[16])(void) = {STD_NULL};
-
-void SYSCFG_vConfigEXTI_Line(u8 Copy_u8Port,Enum_MEXTI_No_t Copy_u8EXTI_Num){
- 8000ed4: b480 push {r7}
- 8000ed6: b083 sub sp, #12
- 8000ed8: af00 add r7, sp, #0
- 8000eda: 4603 mov r3, r0
- 8000edc: 460a mov r2, r1
- 8000ede: 71fb strb r3, [r7, #7]
- 8000ee0: 4613 mov r3, r2
- 8000ee2: 71bb strb r3, [r7, #6]
- //Clear 4 Bits Before Write
- SYSCFG->EXTICR[Copy_u8EXTI_Num / PIN_PER_REG] &= ~(MASK4 << ( (Copy_u8EXTI_Num % PIN_PER_REG)*BIT_PER_PIN ) );
- 8000ee4: 4a17 ldr r2, [pc, #92] ; (8000f44 )
- 8000ee6: 79bb ldrb r3, [r7, #6]
- 8000ee8: 089b lsrs r3, r3, #2
- 8000eea: b2d8 uxtb r0, r3
- 8000eec: 4603 mov r3, r0
- 8000eee: 3302 adds r3, #2
- 8000ef0: f852 3023 ldr.w r3, [r2, r3, lsl #2]
- 8000ef4: 79ba ldrb r2, [r7, #6]
- 8000ef6: f002 0203 and.w r2, r2, #3
- 8000efa: 0092 lsls r2, r2, #2
- 8000efc: 210f movs r1, #15
- 8000efe: fa01 f202 lsl.w r2, r1, r2
- 8000f02: 43d2 mvns r2, r2
- 8000f04: 490f ldr r1, [pc, #60] ; (8000f44 )
- 8000f06: 401a ands r2, r3
- 8000f08: 1c83 adds r3, r0, #2
- 8000f0a: f841 2023 str.w r2, [r1, r3, lsl #2]
- SYSCFG->EXTICR[Copy_u8EXTI_Num / PIN_PER_REG] |= (Copy_u8Port << ( (Copy_u8EXTI_Num % PIN_PER_REG)*BIT_PER_PIN ) );
- 8000f0e: 4a0d ldr r2, [pc, #52] ; (8000f44 )
- 8000f10: 79bb ldrb r3, [r7, #6]
- 8000f12: 089b lsrs r3, r3, #2
- 8000f14: b2d8 uxtb r0, r3
- 8000f16: 4603 mov r3, r0
- 8000f18: 3302 adds r3, #2
- 8000f1a: f852 3023 ldr.w r3, [r2, r3, lsl #2]
- 8000f1e: 79f9 ldrb r1, [r7, #7]
- 8000f20: 79ba ldrb r2, [r7, #6]
- 8000f22: f002 0203 and.w r2, r2, #3
- 8000f26: 0092 lsls r2, r2, #2
- 8000f28: fa01 f202 lsl.w r2, r1, r2
- 8000f2c: 4905 ldr r1, [pc, #20] ; (8000f44 )
- 8000f2e: 431a orrs r2, r3
- 8000f30: 1c83 adds r3, r0, #2
- 8000f32: f841 2023 str.w r2, [r1, r3, lsl #2]
-}
- 8000f36: bf00 nop
- 8000f38: 370c adds r7, #12
- 8000f3a: 46bd mov sp, r7
- 8000f3c: f85d 7b04 ldr.w r7, [sp], #4
- 8000f40: 4770 bx lr
- 8000f42: bf00 nop
- 8000f44: 40013800 .word 0x40013800
-
-08000f48 :
-
-void MEXTI_vEnableInterrupt(Enum_MEXTI_No_t Copy_u8EXTI_Num){
- 8000f48: b480 push {r7}
- 8000f4a: b083 sub sp, #12
- 8000f4c: af00 add r7, sp, #0
- 8000f4e: 4603 mov r3, r0
- 8000f50: 71fb strb r3, [r7, #7]
- SET_BIT(EXTI->IMR,Copy_u8EXTI_Num);
- 8000f52: 4b08 ldr r3, [pc, #32] ; (8000f74 )
- 8000f54: 681b ldr r3, [r3, #0]
- 8000f56: 79fa ldrb r2, [r7, #7]
- 8000f58: 2101 movs r1, #1
- 8000f5a: fa01 f202 lsl.w r2, r1, r2
- 8000f5e: 4611 mov r1, r2
- 8000f60: 4a04 ldr r2, [pc, #16] ; (8000f74 )
- 8000f62: 430b orrs r3, r1
- 8000f64: 6013 str r3, [r2, #0]
-}
- 8000f66: bf00 nop
- 8000f68: 370c adds r7, #12
- 8000f6a: 46bd mov sp, r7
- 8000f6c: f85d 7b04 ldr.w r7, [sp], #4
- 8000f70: 4770 bx lr
- 8000f72: bf00 nop
- 8000f74: 40013c00 .word 0x40013c00
-
-08000f78 :
-
-void MEXTI_vDisableEvent(u8 Copy_u8EXTI_Num){
- CLR_BIT(EXTI->EMR,Copy_u8EXTI_Num);
-}
-
-void MEXTI_vInterruptTrigger(Enum_MEXTI_No_t Copy_u8EXTI_Num,EXTI_TRIGGER Copy_u8Trig){
- 8000f78: b480 push {r7}
- 8000f7a: b083 sub sp, #12
- 8000f7c: af00 add r7, sp, #0
- 8000f7e: 4603 mov r3, r0
- 8000f80: 460a mov r2, r1
- 8000f82: 71fb strb r3, [r7, #7]
- 8000f84: 4613 mov r3, r2
- 8000f86: 71bb strb r3, [r7, #6]
- switch(Copy_u8Trig){
- 8000f88: 79bb ldrb r3, [r7, #6]
- 8000f8a: 2b01 cmp r3, #1
- 8000f8c: d01a beq.n 8000fc4
- 8000f8e: 2b02 cmp r3, #2
- 8000f90: d02e beq.n 8000ff0
- 8000f92: 2b00 cmp r3, #0
- 8000f94: d000 beq.n 8000f98
- case ONCHARGE:
- SET_BIT(EXTI->RTSR,Copy_u8EXTI_Num);
- SET_BIT(EXTI->FTSR,Copy_u8EXTI_Num);
- break;
- }
-}
- 8000f96: e040 b.n 800101a
- SET_BIT(EXTI->RTSR,Copy_u8EXTI_Num);
- 8000f98: 4b23 ldr r3, [pc, #140] ; (8001028 )
- 8000f9a: 689b ldr r3, [r3, #8]
- 8000f9c: 79fa ldrb r2, [r7, #7]
- 8000f9e: 2101 movs r1, #1
- 8000fa0: fa01 f202 lsl.w r2, r1, r2
- 8000fa4: 4611 mov r1, r2
- 8000fa6: 4a20 ldr r2, [pc, #128] ; (8001028 )
- 8000fa8: 430b orrs r3, r1
- 8000faa: 6093 str r3, [r2, #8]
- CLR_BIT(EXTI->FTSR,Copy_u8EXTI_Num);
- 8000fac: 4b1e ldr r3, [pc, #120] ; (8001028 )
- 8000fae: 68db ldr r3, [r3, #12]
- 8000fb0: 79fa ldrb r2, [r7, #7]
- 8000fb2: 2101 movs r1, #1
- 8000fb4: fa01 f202 lsl.w r2, r1, r2
- 8000fb8: 43d2 mvns r2, r2
- 8000fba: 4611 mov r1, r2
- 8000fbc: 4a1a ldr r2, [pc, #104] ; (8001028 )
- 8000fbe: 400b ands r3, r1
- 8000fc0: 60d3 str r3, [r2, #12]
- break;
- 8000fc2: e02a b.n 800101a
- CLR_BIT(EXTI->RTSR,Copy_u8EXTI_Num);
- 8000fc4: 4b18 ldr r3, [pc, #96] ; (8001028 )
- 8000fc6: 689b ldr r3, [r3, #8]
- 8000fc8: 79fa ldrb r2, [r7, #7]
- 8000fca: 2101 movs r1, #1
- 8000fcc: fa01 f202 lsl.w r2, r1, r2
- 8000fd0: 43d2 mvns r2, r2
- 8000fd2: 4611 mov r1, r2
- 8000fd4: 4a14 ldr r2, [pc, #80] ; (8001028 )
- 8000fd6: 400b ands r3, r1
- 8000fd8: 6093 str r3, [r2, #8]
- SET_BIT(EXTI->FTSR,Copy_u8EXTI_Num);
- 8000fda: 4b13 ldr r3, [pc, #76] ; (8001028 )
- 8000fdc: 68db ldr r3, [r3, #12]
- 8000fde: 79fa ldrb r2, [r7, #7]
- 8000fe0: 2101 movs r1, #1
- 8000fe2: fa01 f202 lsl.w r2, r1, r2
- 8000fe6: 4611 mov r1, r2
- 8000fe8: 4a0f ldr r2, [pc, #60] ; (8001028 )
- 8000fea: 430b orrs r3, r1
- 8000fec: 60d3 str r3, [r2, #12]
- break;
- 8000fee: e014 b.n 800101a
- SET_BIT(EXTI->RTSR,Copy_u8EXTI_Num);
- 8000ff0: 4b0d ldr r3, [pc, #52] ; (8001028 )
- 8000ff2: 689b ldr r3, [r3, #8]
- 8000ff4: 79fa ldrb r2, [r7, #7]
- 8000ff6: 2101 movs r1, #1
- 8000ff8: fa01 f202 lsl.w r2, r1, r2
- 8000ffc: 4611 mov r1, r2
- 8000ffe: 4a0a ldr r2, [pc, #40] ; (8001028 )
- 8001000: 430b orrs r3, r1
- 8001002: 6093 str r3, [r2, #8]
- SET_BIT(EXTI->FTSR,Copy_u8EXTI_Num);
- 8001004: 4b08 ldr r3, [pc, #32] ; (8001028 )
- 8001006: 68db ldr r3, [r3, #12]
- 8001008: 79fa ldrb r2, [r7, #7]
- 800100a: 2101 movs r1, #1
- 800100c: fa01 f202 lsl.w r2, r1, r2
- 8001010: 4611 mov r1, r2
- 8001012: 4a05 ldr r2, [pc, #20] ; (8001028 )
- 8001014: 430b orrs r3, r1
- 8001016: 60d3 str r3, [r2, #12]
- break;
- 8001018: bf00 nop
-}
- 800101a: bf00 nop
- 800101c: 370c adds r7, #12
- 800101e: 46bd mov sp, r7
- 8001020: f85d 7b04 ldr.w r7, [sp], #4
- 8001024: 4770 bx lr
- 8001026: bf00 nop
- 8001028: 40013c00 .word 0x40013c00
-
-0800102c :
-void MEXTI_PtrReadInterruptFlag(u8 Copy_u8EXTI_Num,u8* Copy_u8Reg){
- * Copy_u8Reg = GET_BIT(EXTI->PR,Copy_u8EXTI_Num);
-}
-
-
-void MEXTI_vCallBack(Enum_MEXTI_No_t Copy_u8InterruptNo ,void(*ptr)(void)){
- 800102c: b480 push {r7}
- 800102e: b083 sub sp, #12
- 8001030: af00 add r7, sp, #0
- 8001032: 4603 mov r3, r0
- 8001034: 6039 str r1, [r7, #0]
- 8001036: 71fb strb r3, [r7, #7]
- if( ptr != STD_NULL){
- 8001038: 683b ldr r3, [r7, #0]
- 800103a: 2b00 cmp r3, #0
- 800103c: d004 beq.n 8001048
- GLOBAL_EXTIPtr[Copy_u8InterruptNo]=ptr;
- 800103e: 79fb ldrb r3, [r7, #7]
- 8001040: 4904 ldr r1, [pc, #16] ; (8001054 )
- 8001042: 683a ldr r2, [r7, #0]
- 8001044: f841 2023 str.w r2, [r1, r3, lsl #2]
- }
-}
- 8001048: bf00 nop
- 800104a: 370c adds r7, #12
- 800104c: 46bd mov sp, r7
- 800104e: f85d 7b04 ldr.w r7, [sp], #4
- 8001052: 4770 bx lr
- 8001054: 20000024 .word 0x20000024
-
-08001058 :
-
-
-void EXTI0_IRQHandler(void){
- 8001058: b580 push {r7, lr}
- 800105a: af00 add r7, sp, #0
- GLOBAL_EXTIPtr[0]();
- 800105c: 4b05 ldr r3, [pc, #20] ; (8001074 )
- 800105e: 681b ldr r3, [r3, #0]
- 8001060: 4798 blx r3
- EXTI->PR |= 1;
- 8001062: 4b05 ldr r3, [pc, #20] ; (8001078 )
- 8001064: 695b ldr r3, [r3, #20]
- 8001066: 4a04 ldr r2, [pc, #16] ; (8001078 )
- 8001068: f043 0301 orr.w r3, r3, #1
- 800106c: 6153 str r3, [r2, #20]
-}
- 800106e: bf00 nop
- 8001070: bd80 pop {r7, pc}
- 8001072: bf00 nop
- 8001074: 20000024 .word 0x20000024
- 8001078: 40013c00 .word 0x40013c00
-
-0800107c :
-
-void EXTI1_IRQHandler(void){
- 800107c: b580 push {r7, lr}
- 800107e: af00 add r7, sp, #0
- GLOBAL_EXTIPtr[1]();
- 8001080: 4b05 ldr r3, [pc, #20] ; (8001098 )
- 8001082: 685b ldr r3, [r3, #4]
- 8001084: 4798 blx r3
- EXTI->PR |= 1<<1;
- 8001086: 4b05 ldr r3, [pc, #20] ; (800109c )
- 8001088: 695b ldr r3, [r3, #20]
- 800108a: 4a04 ldr r2, [pc, #16] ; (800109c )
- 800108c: f043 0302 orr.w r3, r3, #2
- 8001090: 6153 str r3, [r2, #20]
-}
- 8001092: bf00 nop
- 8001094: bd80 pop {r7, pc}
- 8001096: bf00 nop
- 8001098: 20000024 .word 0x20000024
- 800109c: 40013c00 .word 0x40013c00
-
-080010a0 :
-
-void EXTI2_IRQHandler(void){
- 80010a0: b580 push {r7, lr}
- 80010a2: af00 add r7, sp, #0
- GLOBAL_EXTIPtr[2]();
- 80010a4: 4b05 ldr r3, [pc, #20] ; (80010bc )
- 80010a6: 689b ldr r3, [r3, #8]
- 80010a8: 4798 blx r3
- EXTI->PR |= 1<<2;
- 80010aa: 4b05 ldr r3, [pc, #20] ; (80010c0 )
- 80010ac: 695b ldr r3, [r3, #20]
- 80010ae: 4a04 ldr r2, [pc, #16] ; (80010c0 )
- 80010b0: f043 0304 orr.w r3, r3, #4
- 80010b4: 6153 str r3, [r2, #20]
-}
- 80010b6: bf00 nop
- 80010b8: bd80 pop {r7, pc}
- 80010ba: bf00 nop
- 80010bc: 20000024 .word 0x20000024
- 80010c0: 40013c00 .word 0x40013c00
-
-080010c4 :
-void EXTI3_IRQHandler(void){
- 80010c4: b580 push {r7, lr}
- 80010c6: af00 add r7, sp, #0
- GLOBAL_EXTIPtr[3]();
- 80010c8: 4b05 ldr r3, [pc, #20] ; (80010e0 )
- 80010ca: 68db ldr r3, [r3, #12]
- 80010cc: 4798 blx r3
- EXTI->PR |= 1<<3;
- 80010ce: 4b05 ldr r3, [pc, #20] ; (80010e4 )
- 80010d0: 695b ldr r3, [r3, #20]
- 80010d2: 4a04 ldr r2, [pc, #16] ; (80010e4 )
- 80010d4: f043 0308 orr.w r3, r3, #8
- 80010d8: 6153 str r3, [r2, #20]
-}
- 80010da: bf00 nop
- 80010dc: bd80 pop {r7, pc}
- 80010de: bf00 nop
- 80010e0: 20000024 .word 0x20000024
- 80010e4: 40013c00 .word 0x40013c00
-
-080010e8 :
-void EXTI4_IRQHandler(void){
- 80010e8: b580 push {r7, lr}
- 80010ea: af00 add r7, sp, #0
- GLOBAL_EXTIPtr[4]();
- 80010ec: 4b05 ldr r3, [pc, #20] ; (8001104 )
- 80010ee: 691b ldr r3, [r3, #16]
- 80010f0: 4798 blx r3
- EXTI->PR |= 1<<4;
- 80010f2: 4b05 ldr r3, [pc, #20] ; (8001108 )
- 80010f4: 695b ldr r3, [r3, #20]
- 80010f6: 4a04 ldr r2, [pc, #16] ; (8001108 )
- 80010f8: f043 0310 orr.w r3, r3, #16
- 80010fc: 6153 str r3, [r2, #20]
-}
- 80010fe: bf00 nop
- 8001100: bd80 pop {r7, pc}
- 8001102: bf00 nop
- 8001104: 20000024 .word 0x20000024
- 8001108: 40013c00 .word 0x40013c00
-
-0800110c :
-void EXTI9_5_IRQHandler(void){
- 800110c: b580 push {r7, lr}
- 800110e: af00 add r7, sp, #0
- if((GET_BIT(EXTI->PR,EXTI5)==1)&(GLOBAL_EXTIPtr[EXTI5]!=STD_NULL)){
- 8001110: 4b4d ldr r3, [pc, #308] ; (8001248 )
- 8001112: 695b ldr r3, [r3, #20]
- 8001114: 095b lsrs r3, r3, #5
- 8001116: f003 0301 and.w r3, r3, #1
- 800111a: 2b01 cmp r3, #1
- 800111c: bf0c ite eq
- 800111e: 2301 moveq r3, #1
- 8001120: 2300 movne r3, #0
- 8001122: b2da uxtb r2, r3
- 8001124: 4b49 ldr r3, [pc, #292] ; (800124c )
- 8001126: 695b ldr r3, [r3, #20]
- 8001128: 2b00 cmp r3, #0
- 800112a: bf14 ite ne
- 800112c: 2301 movne r3, #1
- 800112e: 2300 moveq r3, #0
- 8001130: b2db uxtb r3, r3
- 8001132: 4013 ands r3, r2
- 8001134: b2db uxtb r3, r3
- 8001136: 2b00 cmp r3, #0
- 8001138: d009 beq.n 800114e
- GLOBAL_EXTIPtr[EXTI5]();
- 800113a: 4b44 ldr r3, [pc, #272] ; (800124c )
- 800113c: 695b ldr r3, [r3, #20]
- 800113e: 4798 blx r3
- EXTI->PR |= 1<)
- 8001142: 695b ldr r3, [r3, #20]
- 8001144: 4a40 ldr r2, [pc, #256] ; (8001248 )
- 8001146: f043 0320 orr.w r3, r3, #32
- 800114a: 6153 str r3, [r2, #20]
- }
- else if((GET_BIT(EXTI->PR,EXTI9)==1)&(GLOBAL_EXTIPtr[EXTI9]!=STD_NULL)){
- GLOBAL_EXTIPtr[EXTI9]();
- EXTI->PR |= 1<
- else if((GET_BIT(EXTI->PR,EXTI6)==1)&(GLOBAL_EXTIPtr[EXTI6]!=STD_NULL)){
- 800114e: 4b3e ldr r3, [pc, #248] ; (8001248 )
- 8001150: 695b ldr r3, [r3, #20]
- 8001152: 099b lsrs r3, r3, #6
- 8001154: f003 0301 and.w r3, r3, #1
- 8001158: 2b01 cmp r3, #1
- 800115a: bf0c ite eq
- 800115c: 2301 moveq r3, #1
- 800115e: 2300 movne r3, #0
- 8001160: b2da uxtb r2, r3
- 8001162: 4b3a ldr r3, [pc, #232] ; (800124c )
- 8001164: 699b ldr r3, [r3, #24]
- 8001166: 2b00 cmp r3, #0
- 8001168: bf14 ite ne
- 800116a: 2301 movne r3, #1
- 800116c: 2300 moveq r3, #0
- 800116e: b2db uxtb r3, r3
- 8001170: 4013 ands r3, r2
- 8001172: b2db uxtb r3, r3
- 8001174: 2b00 cmp r3, #0
- 8001176: d009 beq.n 800118c
- GLOBAL_EXTIPtr[EXTI6]();
- 8001178: 4b34 ldr r3, [pc, #208] ; (800124c )
- 800117a: 699b ldr r3, [r3, #24]
- 800117c: 4798 blx r3
- EXTI->PR |= 1<)
- 8001180: 695b ldr r3, [r3, #20]
- 8001182: 4a31 ldr r2, [pc, #196] ; (8001248 )
- 8001184: f043 0340 orr.w r3, r3, #64 ; 0x40
- 8001188: 6153 str r3, [r2, #20]
-}
- 800118a: e05b b.n 8001244
- else if((GET_BIT(EXTI->PR,EXTI7)==1)&(GLOBAL_EXTIPtr[EXTI7]!=STD_NULL)){
- 800118c: 4b2e ldr r3, [pc, #184] ; (8001248 )
- 800118e: 695b ldr r3, [r3, #20]
- 8001190: 09db lsrs r3, r3, #7
- 8001192: f003 0301 and.w r3, r3, #1
- 8001196: 2b01 cmp r3, #1
- 8001198: bf0c ite eq
- 800119a: 2301 moveq r3, #1
- 800119c: 2300 movne r3, #0
- 800119e: b2da uxtb r2, r3
- 80011a0: 4b2a ldr r3, [pc, #168] ; (800124c )
- 80011a2: 69db ldr r3, [r3, #28]
- 80011a4: 2b00 cmp r3, #0
- 80011a6: bf14 ite ne
- 80011a8: 2301 movne r3, #1
- 80011aa: 2300 moveq r3, #0
- 80011ac: b2db uxtb r3, r3
- 80011ae: 4013 ands r3, r2
- 80011b0: b2db uxtb r3, r3
- 80011b2: 2b00 cmp r3, #0
- 80011b4: d009 beq.n 80011ca
- GLOBAL_EXTIPtr[EXTI7]();
- 80011b6: 4b25 ldr r3, [pc, #148] ; (800124c )
- 80011b8: 69db ldr r3, [r3, #28]
- 80011ba: 4798 blx r3
- EXTI->PR |= 1<)
- 80011be: 695b ldr r3, [r3, #20]
- 80011c0: 4a21 ldr r2, [pc, #132] ; (8001248 )
- 80011c2: f043 0380 orr.w r3, r3, #128 ; 0x80
- 80011c6: 6153 str r3, [r2, #20]
-}
- 80011c8: e03c b.n 8001244
- else if((GET_BIT(EXTI->PR,EXTI8)==1)&(GLOBAL_EXTIPtr[EXTI8]!=STD_NULL)){
- 80011ca: 4b1f ldr r3, [pc, #124] ; (8001248 )
- 80011cc: 695b ldr r3, [r3, #20]
- 80011ce: 0a1b lsrs r3, r3, #8
- 80011d0: f003 0301 and.w r3, r3, #1
- 80011d4: 2b01 cmp r3, #1
- 80011d6: bf0c ite eq
- 80011d8: 2301 moveq r3, #1
- 80011da: 2300 movne r3, #0
- 80011dc: b2da uxtb r2, r3
- 80011de: 4b1b ldr r3, [pc, #108] ; (800124c )
- 80011e0: 6a1b ldr r3, [r3, #32]
- 80011e2: 2b00 cmp r3, #0
- 80011e4: bf14 ite ne
- 80011e6: 2301 movne r3, #1
- 80011e8: 2300 moveq r3, #0
- 80011ea: b2db uxtb r3, r3
- 80011ec: 4013 ands r3, r2
- 80011ee: b2db uxtb r3, r3
- 80011f0: 2b00 cmp r3, #0
- 80011f2: d009 beq.n 8001208
- GLOBAL_EXTIPtr[EXTI8]();
- 80011f4: 4b15 ldr r3, [pc, #84] ; (800124c )
- 80011f6: 6a1b ldr r3, [r3, #32]
- 80011f8: 4798 blx r3
- EXTI->PR |= 1<)
- 80011fc: 695b ldr r3, [r3, #20]
- 80011fe: 4a12 ldr r2, [pc, #72] ; (8001248 )
- 8001200: f443 7380 orr.w r3, r3, #256 ; 0x100
- 8001204: 6153 str r3, [r2, #20]
-}
- 8001206: e01d b.n 8001244
- else if((GET_BIT(EXTI->PR,EXTI9)==1)&(GLOBAL_EXTIPtr[EXTI9]!=STD_NULL)){
- 8001208: 4b0f ldr r3, [pc, #60] ; (8001248 )
- 800120a: 695b ldr r3, [r3, #20]
- 800120c: 0a5b lsrs r3, r3, #9
- 800120e: f003 0301 and.w r3, r3, #1
- 8001212: 2b01 cmp r3, #1
- 8001214: bf0c ite eq
- 8001216: 2301 moveq r3, #1
- 8001218: 2300 movne r3, #0
- 800121a: b2da uxtb r2, r3
- 800121c: 4b0b ldr r3, [pc, #44] ; (800124c )
- 800121e: 6a5b ldr r3, [r3, #36] ; 0x24
- 8001220: 2b00 cmp r3, #0
- 8001222: bf14 ite ne
- 8001224: 2301 movne r3, #1
- 8001226: 2300 moveq r3, #0
- 8001228: b2db uxtb r3, r3
- 800122a: 4013 ands r3, r2
- 800122c: b2db uxtb r3, r3
- 800122e: 2b00 cmp r3, #0
- 8001230: d008 beq.n 8001244
- GLOBAL_EXTIPtr[EXTI9]();
- 8001232: 4b06 ldr r3, [pc, #24] ; (800124c )
- 8001234: 6a5b ldr r3, [r3, #36] ; 0x24
- 8001236: 4798 blx r3
- EXTI->PR |= 1<)
- 800123a: 695b ldr r3, [r3, #20]
- 800123c: 4a02 ldr r2, [pc, #8] ; (8001248 )
- 800123e: f443 7300 orr.w r3, r3, #512 ; 0x200
- 8001242: 6153 str r3, [r2, #20]
-}
- 8001244: bf00 nop
- 8001246: bd80 pop {r7, pc}
- 8001248: 40013c00 .word 0x40013c00
- 800124c: 20000024 .word 0x20000024
-
-08001250 :
-void EXTI15_10_IRQHandler(void){
- 8001250: b580 push {r7, lr}
- 8001252: af00 add r7, sp, #0
- if((GET_BIT(EXTI->PR,EXTI10)==1)&(GLOBAL_EXTIPtr[EXTI10]!=STD_NULL)){
- 8001254: 4b5d ldr r3, [pc, #372] ; (80013cc )
- 8001256: 695b ldr r3, [r3, #20]
- 8001258: 0a9b lsrs r3, r3, #10
- 800125a: f003 0301 and.w r3, r3, #1
- 800125e: 2b01 cmp r3, #1
- 8001260: bf0c ite eq
- 8001262: 2301 moveq r3, #1
- 8001264: 2300 movne r3, #0
- 8001266: b2da uxtb r2, r3
- 8001268: 4b59 ldr r3, [pc, #356] ; (80013d0 )
- 800126a: 6a9b ldr r3, [r3, #40] ; 0x28
- 800126c: 2b00 cmp r3, #0
- 800126e: bf14 ite ne
- 8001270: 2301 movne r3, #1
- 8001272: 2300 moveq r3, #0
- 8001274: b2db uxtb r3, r3
- 8001276: 4013 ands r3, r2
- 8001278: b2db uxtb r3, r3
- 800127a: 2b00 cmp r3, #0
- 800127c: d009 beq.n 8001292
- GLOBAL_EXTIPtr[EXTI10]();
- 800127e: 4b54 ldr r3, [pc, #336] ; (80013d0 )
- 8001280: 6a9b ldr r3, [r3, #40] ; 0x28
- 8001282: 4798 blx r3
- EXTI->PR |= 1<)
- 8001286: 695b ldr r3, [r3, #20]
- 8001288: 4a50 ldr r2, [pc, #320] ; (80013cc )
- 800128a: f443 6380 orr.w r3, r3, #1024 ; 0x400
- 800128e: 6153 str r3, [r2, #20]
- }
- else if((GET_BIT(EXTI->PR,EXTI15)==1)&(GLOBAL_EXTIPtr[EXTI15]!=STD_NULL)){
- GLOBAL_EXTIPtr[EXTI15]();
- EXTI->PR |= 1<
- else if((GET_BIT(EXTI->PR,EXTI11)==1)&(GLOBAL_EXTIPtr[EXTI11]!=STD_NULL)){
- 8001292: 4b4e ldr r3, [pc, #312] ; (80013cc )
- 8001294: 695b ldr r3, [r3, #20]
- 8001296: 0adb lsrs r3, r3, #11
- 8001298: f003 0301 and.w r3, r3, #1
- 800129c: 2b01 cmp r3, #1
- 800129e: bf0c ite eq
- 80012a0: 2301 moveq r3, #1
- 80012a2: 2300 movne r3, #0
- 80012a4: b2da uxtb r2, r3
- 80012a6: 4b4a ldr r3, [pc, #296] ; (80013d0 )
- 80012a8: 6adb ldr r3, [r3, #44] ; 0x2c
- 80012aa: 2b00 cmp r3, #0
- 80012ac: bf14 ite ne
- 80012ae: 2301 movne r3, #1
- 80012b0: 2300 moveq r3, #0
- 80012b2: b2db uxtb r3, r3
- 80012b4: 4013 ands r3, r2
- 80012b6: b2db uxtb r3, r3
- 80012b8: 2b00 cmp r3, #0
- 80012ba: d009 beq.n 80012d0
- GLOBAL_EXTIPtr[EXTI11]();
- 80012bc: 4b44 ldr r3, [pc, #272] ; (80013d0 )
- 80012be: 6adb ldr r3, [r3, #44] ; 0x2c
- 80012c0: 4798 blx r3
- EXTI->PR |= 1<)
- 80012c4: 695b ldr r3, [r3, #20]
- 80012c6: 4a41 ldr r2, [pc, #260] ; (80013cc )
- 80012c8: f443 6300 orr.w r3, r3, #2048 ; 0x800
- 80012cc: 6153 str r3, [r2, #20]
-}
- 80012ce: e07a b.n 80013c6
- else if((GET_BIT(EXTI->PR,EXTI12)==1)&(GLOBAL_EXTIPtr[EXTI12]!=STD_NULL)){
- 80012d0: 4b3e ldr r3, [pc, #248] ; (80013cc )
- 80012d2: 695b ldr r3, [r3, #20]
- 80012d4: 0b1b lsrs r3, r3, #12
- 80012d6: f003 0301 and.w r3, r3, #1
- 80012da: 2b01 cmp r3, #1
- 80012dc: bf0c ite eq
- 80012de: 2301 moveq r3, #1
- 80012e0: 2300 movne r3, #0
- 80012e2: b2da uxtb r2, r3
- 80012e4: 4b3a ldr r3, [pc, #232] ; (80013d0 )
- 80012e6: 6b1b ldr r3, [r3, #48] ; 0x30
- 80012e8: 2b00 cmp r3, #0
- 80012ea: bf14 ite ne
- 80012ec: 2301 movne r3, #1
- 80012ee: 2300 moveq r3, #0
- 80012f0: b2db uxtb r3, r3
- 80012f2: 4013 ands r3, r2
- 80012f4: b2db uxtb r3, r3
- 80012f6: 2b00 cmp r3, #0
- 80012f8: d009 beq.n 800130e
- GLOBAL_EXTIPtr[EXTI12]();
- 80012fa: 4b35 ldr r3, [pc, #212] ; (80013d0 )
- 80012fc: 6b1b ldr r3, [r3, #48] ; 0x30
- 80012fe: 4798 blx r3
- EXTI->PR |= 1<)
- 8001302: 695b ldr r3, [r3, #20]
- 8001304: 4a31 ldr r2, [pc, #196] ; (80013cc )
- 8001306: f443 5380 orr.w r3, r3, #4096 ; 0x1000
- 800130a: 6153 str r3, [r2, #20]
-}
- 800130c: e05b b.n 80013c6
- else if((GET_BIT(EXTI->PR,EXTI13)==1)&(GLOBAL_EXTIPtr[EXTI13]!=STD_NULL)){
- 800130e: 4b2f ldr r3, [pc, #188] ; (80013cc )
- 8001310: 695b ldr r3, [r3, #20]
- 8001312: 0b5b lsrs r3, r3, #13
- 8001314: f003 0301 and.w r3, r3, #1
- 8001318: 2b01 cmp r3, #1
- 800131a: bf0c ite eq
- 800131c: 2301 moveq r3, #1
- 800131e: 2300 movne r3, #0
- 8001320: b2da uxtb r2, r3
- 8001322: 4b2b ldr r3, [pc, #172] ; (80013d0 )
- 8001324: 6b5b ldr r3, [r3, #52] ; 0x34
- 8001326: 2b00 cmp r3, #0
- 8001328: bf14 ite ne
- 800132a: 2301 movne r3, #1
- 800132c: 2300 moveq r3, #0
- 800132e: b2db uxtb r3, r3
- 8001330: 4013 ands r3, r2
- 8001332: b2db uxtb r3, r3
- 8001334: 2b00 cmp r3, #0
- 8001336: d009 beq.n 800134c
- GLOBAL_EXTIPtr[EXTI13]();
- 8001338: 4b25 ldr r3, [pc, #148] ; (80013d0 )
- 800133a: 6b5b ldr r3, [r3, #52] ; 0x34
- 800133c: 4798 blx r3
- EXTI->PR |= 1<)
- 8001340: 695b ldr r3, [r3, #20]
- 8001342: 4a22 ldr r2, [pc, #136] ; (80013cc )
- 8001344: f443 5300 orr.w r3, r3, #8192 ; 0x2000
- 8001348: 6153 str r3, [r2, #20]
-}
- 800134a: e03c b.n 80013c6
- else if((GET_BIT(EXTI->PR,EXTI14)==1)&(GLOBAL_EXTIPtr[EXTI14]!=STD_NULL)){
- 800134c: 4b1f ldr r3, [pc, #124] ; (80013cc )
- 800134e: 695b ldr r3, [r3, #20]
- 8001350: 0b9b lsrs r3, r3, #14
- 8001352: f003 0301 and.w r3, r3, #1
- 8001356: 2b01 cmp r3, #1
- 8001358: bf0c ite eq
- 800135a: 2301 moveq r3, #1
- 800135c: 2300 movne r3, #0
- 800135e: b2da uxtb r2, r3
- 8001360: 4b1b ldr r3, [pc, #108] ; (80013d0 )
- 8001362: 6b9b ldr r3, [r3, #56] ; 0x38
- 8001364: 2b00 cmp r3, #0
- 8001366: bf14 ite ne
- 8001368: 2301 movne r3, #1
- 800136a: 2300 moveq r3, #0
- 800136c: b2db uxtb r3, r3
- 800136e: 4013 ands r3, r2
- 8001370: b2db uxtb r3, r3
- 8001372: 2b00 cmp r3, #0
- 8001374: d009 beq.n 800138a
- GLOBAL_EXTIPtr[EXTI14]();
- 8001376: 4b16 ldr r3, [pc, #88] ; (80013d0 )
- 8001378: 6b9b ldr r3, [r3, #56] ; 0x38
- 800137a: 4798 blx r3
- EXTI->PR |= 1<)
- 800137e: 695b ldr r3, [r3, #20]
- 8001380: 4a12 ldr r2, [pc, #72] ; (80013cc )
- 8001382: f443 4380 orr.w r3, r3, #16384 ; 0x4000
- 8001386: 6153 str r3, [r2, #20]
-}
- 8001388: e01d b.n 80013c6