| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041 |
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s page 1
- 1 .cpu cortex-m4
- 2 .arch armv7e-m
- 3 .fpu fpv4-sp-d16
- 4 .eabi_attribute 27, 1
- 5 .eabi_attribute 28, 1
- 6 .eabi_attribute 20, 1
- 7 .eabi_attribute 21, 1
- 8 .eabi_attribute 23, 3
- 9 .eabi_attribute 24, 1
- 10 .eabi_attribute 25, 1
- 11 .eabi_attribute 26, 1
- 12 .eabi_attribute 30, 6
- 13 .eabi_attribute 34, 1
- 14 .eabi_attribute 18, 4
- 15 .file "common.c"
- 16 .text
- 17 .Ltext0:
- 18 .cfi_sections .debug_frame
- 19 .section .text.findStrInArray,"ax",%progbits
- 20 .align 1
- 21 .global findStrInArray
- 22 .syntax unified
- 23 .thumb
- 24 .thumb_func
- 26 findStrInArray:
- 27 .LFB130:
- 28 .file 1 "user_src/common.c"
- 1:user_src/common.c **** #include "tim.h"
- 2:user_src/common.c **** #include "common.h"
- 3:user_src/common.c **** #include "string.h"
- 4:user_src/common.c **** #include "soft_obstacle.h"
- 5:user_src/common.c ****
- 6:user_src/common.c ****
- 7:user_src/common.c **** int findStrInArray( uint8_t *array, int aLen, const char *str )
- 8:user_src/common.c **** {
- 29 .loc 1 8 1
- 30 .cfi_startproc
- 31 @ args = 0, pretend = 0, frame = 32
- 32 @ frame_needed = 1, uses_anonymous_args = 0
- 33 0000 80B5 push {r7, lr}
- 34 .LCFI0:
- 35 .cfi_def_cfa_offset 8
- 36 .cfi_offset 7, -8
- 37 .cfi_offset 14, -4
- 38 0002 88B0 sub sp, sp, #32
- 39 .LCFI1:
- 40 .cfi_def_cfa_offset 40
- 41 0004 00AF add r7, sp, #0
- 42 .LCFI2:
- 43 .cfi_def_cfa_register 7
- 44 0006 F860 str r0, [r7, #12]
- 45 0008 B960 str r1, [r7, #8]
- 46 000a 7A60 str r2, [r7, #4]
- 9:user_src/common.c **** int strLen = strlen( str );
- 47 .loc 1 9 18
- 48 000c 7868 ldr r0, [r7, #4]
- 49 000e FFF7FEFF bl strlen
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s page 2
- 50 0012 0346 mov r3, r0
- 51 .loc 1 9 9
- 52 0014 BB61 str r3, [r7, #24]
- 10:user_src/common.c **** uint8_t s1 = str[0];
- 53 .loc 1 10 13
- 54 0016 7B68 ldr r3, [r7, #4]
- 55 0018 1B78 ldrb r3, [r3]
- 56 001a FB75 strb r3, [r7, #23]
- 11:user_src/common.c ****
- 12:user_src/common.c **** if ( aLen < strLen )
- 57 .loc 1 12 8
- 58 001c BA68 ldr r2, [r7, #8]
- 59 001e BB69 ldr r3, [r7, #24]
- 60 0020 9A42 cmp r2, r3
- 61 0022 01DA bge .L2
- 13:user_src/common.c **** return 0;
- 62 .loc 1 13 16
- 63 0024 0023 movs r3, #0
- 64 0026 1EE0 b .L3
- 65 .L2:
- 66 .LBB2:
- 14:user_src/common.c ****
- 15:user_src/common.c **** for ( int i = 0; i < aLen; i++ )
- 67 .loc 1 15 15
- 68 0028 0023 movs r3, #0
- 69 002a FB61 str r3, [r7, #28]
- 70 .loc 1 15 5
- 71 002c 16E0 b .L4
- 72 .L6:
- 16:user_src/common.c **** {
- 17:user_src/common.c **** if ( array[i] == s1 )
- 73 .loc 1 17 19
- 74 002e FB69 ldr r3, [r7, #28]
- 75 0030 FA68 ldr r2, [r7, #12]
- 76 0032 1344 add r3, r3, r2
- 77 0034 1B78 ldrb r3, [r3] @ zero_extendqisi2
- 78 .loc 1 17 12
- 79 0036 FA7D ldrb r2, [r7, #23] @ zero_extendqisi2
- 80 0038 9A42 cmp r2, r3
- 81 003a 0CD1 bne .L5
- 18:user_src/common.c **** {
- 19:user_src/common.c **** if ( memcmp( &array[i], str, strLen ) == 0 )
- 82 .loc 1 19 18
- 83 003c FB69 ldr r3, [r7, #28]
- 84 .loc 1 19 26
- 85 003e FA68 ldr r2, [r7, #12]
- 86 0040 1344 add r3, r3, r2
- 87 .loc 1 19 18
- 88 0042 BA69 ldr r2, [r7, #24]
- 89 0044 7968 ldr r1, [r7, #4]
- 90 0046 1846 mov r0, r3
- 91 0048 FFF7FEFF bl memcmp
- 92 004c 0346 mov r3, r0
- 93 .loc 1 19 16
- 94 004e 002B cmp r3, #0
- 95 0050 01D1 bne .L5
- 20:user_src/common.c **** return 1;
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s page 3
- 96 .loc 1 20 24
- 97 0052 0123 movs r3, #1
- 98 0054 07E0 b .L3
- 99 .L5:
- 15:user_src/common.c **** {
- 100 .loc 1 15 33 discriminator 2
- 101 0056 FB69 ldr r3, [r7, #28]
- 102 0058 0133 adds r3, r3, #1
- 103 005a FB61 str r3, [r7, #28]
- 104 .L4:
- 15:user_src/common.c **** {
- 105 .loc 1 15 5 discriminator 1
- 106 005c FA69 ldr r2, [r7, #28]
- 107 005e BB68 ldr r3, [r7, #8]
- 108 0060 9A42 cmp r2, r3
- 109 0062 E4DB blt .L6
- 110 .LBE2:
- 21:user_src/common.c **** }
- 22:user_src/common.c **** }
- 23:user_src/common.c **** return 0;
- 111 .loc 1 23 12
- 112 0064 0023 movs r3, #0
- 113 .L3:
- 24:user_src/common.c **** }
- 114 .loc 1 24 1
- 115 0066 1846 mov r0, r3
- 116 0068 2037 adds r7, r7, #32
- 117 .LCFI3:
- 118 .cfi_def_cfa_offset 8
- 119 006a BD46 mov sp, r7
- 120 .LCFI4:
- 121 .cfi_def_cfa_register 13
- 122 @ sp needed
- 123 006c 80BD pop {r7, pc}
- 124 .cfi_endproc
- 125 .LFE130:
- 127 .section .text.buf2int,"ax",%progbits
- 128 .align 1
- 129 .global buf2int
- 130 .syntax unified
- 131 .thumb
- 132 .thumb_func
- 134 buf2int:
- 135 .LFB131:
- 25:user_src/common.c ****
- 26:user_src/common.c **** void buf2int( int *tint, unsigned char *buf )
- 27:user_src/common.c **** {
- 136 .loc 1 27 1
- 137 .cfi_startproc
- 138 @ args = 0, pretend = 0, frame = 24
- 139 @ frame_needed = 1, uses_anonymous_args = 0
- 140 @ link register save eliminated.
- 141 0000 80B4 push {r7}
- 142 .LCFI5:
- 143 .cfi_def_cfa_offset 4
- 144 .cfi_offset 7, -4
- 145 0002 87B0 sub sp, sp, #28
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s page 4
- 146 .LCFI6:
- 147 .cfi_def_cfa_offset 32
- 148 0004 00AF add r7, sp, #0
- 149 .LCFI7:
- 150 .cfi_def_cfa_register 7
- 151 0006 7860 str r0, [r7, #4]
- 152 0008 3960 str r1, [r7]
- 28:user_src/common.c **** int i;
- 29:user_src/common.c **** unsigned char *p1 = ( unsigned char * )tint;
- 153 .loc 1 29 20
- 154 000a 7B68 ldr r3, [r7, #4]
- 155 000c 3B61 str r3, [r7, #16]
- 30:user_src/common.c **** unsigned char *p3 = buf;
- 156 .loc 1 30 20
- 157 000e 3B68 ldr r3, [r7]
- 158 0010 FB60 str r3, [r7, #12]
- 31:user_src/common.c **** for ( i = 0; i < 4; i++ )
- 159 .loc 1 31 13
- 160 0012 0023 movs r3, #0
- 161 0014 7B61 str r3, [r7, #20]
- 162 .loc 1 31 5
- 163 0016 0CE0 b .L8
- 164 .L9:
- 32:user_src/common.c **** {
- 33:user_src/common.c **** *p1 = *p3;
- 165 .loc 1 33 15 discriminator 3
- 166 0018 FB68 ldr r3, [r7, #12]
- 167 001a 1A78 ldrb r2, [r3] @ zero_extendqisi2
- 168 .loc 1 33 13 discriminator 3
- 169 001c 3B69 ldr r3, [r7, #16]
- 170 001e 1A70 strb r2, [r3]
- 34:user_src/common.c **** p1++;
- 171 .loc 1 34 11 discriminator 3
- 172 0020 3B69 ldr r3, [r7, #16]
- 173 0022 0133 adds r3, r3, #1
- 174 0024 3B61 str r3, [r7, #16]
- 35:user_src/common.c **** p3++;
- 175 .loc 1 35 11 discriminator 3
- 176 0026 FB68 ldr r3, [r7, #12]
- 177 0028 0133 adds r3, r3, #1
- 178 002a FB60 str r3, [r7, #12]
- 31:user_src/common.c **** {
- 179 .loc 1 31 26 discriminator 3
- 180 002c 7B69 ldr r3, [r7, #20]
- 181 002e 0133 adds r3, r3, #1
- 182 0030 7B61 str r3, [r7, #20]
- 183 .L8:
- 31:user_src/common.c **** {
- 184 .loc 1 31 5 discriminator 1
- 185 0032 7B69 ldr r3, [r7, #20]
- 186 0034 032B cmp r3, #3
- 187 0036 EFDD ble .L9
- 36:user_src/common.c **** }
- 37:user_src/common.c **** }
- 188 .loc 1 37 1
- 189 0038 00BF nop
- 190 003a 00BF nop
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s page 5
- 191 003c 1C37 adds r7, r7, #28
- 192 .LCFI8:
- 193 .cfi_def_cfa_offset 4
- 194 003e BD46 mov sp, r7
- 195 .LCFI9:
- 196 .cfi_def_cfa_register 13
- 197 @ sp needed
- 198 0040 5DF8047B ldr r7, [sp], #4
- 199 .LCFI10:
- 200 .cfi_restore 7
- 201 .cfi_def_cfa_offset 0
- 202 0044 7047 bx lr
- 203 .cfi_endproc
- 204 .LFE131:
- 206 .section .text.u16t_buf_sort,"ax",%progbits
- 207 .align 1
- 208 .global u16t_buf_sort
- 209 .syntax unified
- 210 .thumb
- 211 .thumb_func
- 213 u16t_buf_sort:
- 214 .LFB132:
- 38:user_src/common.c ****
- 39:user_src/common.c ****
- 40:user_src/common.c **** /*****************************uint16从大到�排列*************************/
- 41:user_src/common.c **** void u16t_buf_sort( uint16_t *arr, uint16_t length )
- 42:user_src/common.c **** {
- 215 .loc 1 42 1
- 216 .cfi_startproc
- 217 @ args = 0, pretend = 0, frame = 16
- 218 @ frame_needed = 1, uses_anonymous_args = 0
- 219 @ link register save eliminated.
- 220 0000 80B4 push {r7}
- 221 .LCFI11:
- 222 .cfi_def_cfa_offset 4
- 223 .cfi_offset 7, -4
- 224 0002 85B0 sub sp, sp, #20
- 225 .LCFI12:
- 226 .cfi_def_cfa_offset 24
- 227 0004 00AF add r7, sp, #0
- 228 .LCFI13:
- 229 .cfi_def_cfa_register 7
- 230 0006 7860 str r0, [r7, #4]
- 231 0008 0B46 mov r3, r1
- 232 000a 7B80 strh r3, [r7, #2] @ movhi
- 43:user_src/common.c **** if ( length < 2 )
- 233 .loc 1 43 8
- 234 000c 7B88 ldrh r3, [r7, #2]
- 235 000e 012B cmp r3, #1
- 236 0010 3FD9 bls .L18
- 44:user_src/common.c **** {
- 45:user_src/common.c **** return;
- 46:user_src/common.c **** }
- 47:user_src/common.c **** uint16_t num = 0, num1 = 0;
- 237 .loc 1 47 14
- 238 0012 0023 movs r3, #0
- 239 0014 FB81 strh r3, [r7, #14] @ movhi
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s page 6
- 240 .loc 1 47 23
- 241 0016 0023 movs r3, #0
- 242 0018 BB81 strh r3, [r7, #12] @ movhi
- 48:user_src/common.c **** uint16_t tmp = 0;
- 243 .loc 1 48 14
- 244 001a 0023 movs r3, #0
- 245 001c 7B81 strh r3, [r7, #10] @ movhi
- 49:user_src/common.c **** for ( num = length - 1; num >= 1; num-- )
- 246 .loc 1 49 15
- 247 001e 7B88 ldrh r3, [r7, #2] @ movhi
- 248 0020 013B subs r3, r3, #1
- 249 0022 FB81 strh r3, [r7, #14] @ movhi
- 250 .loc 1 49 5
- 251 0024 31E0 b .L13
- 252 .L17:
- 50:user_src/common.c **** {
- 51:user_src/common.c **** for ( num1 = 0; num1 <= num - 1; num1++ )
- 253 .loc 1 51 20
- 254 0026 0023 movs r3, #0
- 255 0028 BB81 strh r3, [r7, #12] @ movhi
- 256 .loc 1 51 9
- 257 002a 27E0 b .L14
- 258 .L16:
- 52:user_src/common.c **** {
- 53:user_src/common.c **** if ( *( arr + num1 ) > *( arr + num1 + 1 ) )
- 259 .loc 1 53 25
- 260 002c BB89 ldrh r3, [r7, #12]
- 261 002e 5B00 lsls r3, r3, #1
- 262 0030 7A68 ldr r2, [r7, #4]
- 263 0032 1344 add r3, r3, r2
- 264 .loc 1 53 18
- 265 0034 1A88 ldrh r2, [r3]
- 266 .loc 1 53 50
- 267 0036 BB89 ldrh r3, [r7, #12]
- 268 0038 0133 adds r3, r3, #1
- 269 003a 5B00 lsls r3, r3, #1
- 270 003c 7968 ldr r1, [r7, #4]
- 271 003e 0B44 add r3, r3, r1
- 272 .loc 1 53 36
- 273 0040 1B88 ldrh r3, [r3]
- 274 .loc 1 53 16
- 275 0042 9A42 cmp r2, r3
- 276 0044 17D9 bls .L15
- 54:user_src/common.c **** {
- 55:user_src/common.c **** tmp = *( arr + num1 );
- 277 .loc 1 55 30
- 278 0046 BB89 ldrh r3, [r7, #12]
- 279 0048 5B00 lsls r3, r3, #1
- 280 004a 7A68 ldr r2, [r7, #4]
- 281 004c 1344 add r3, r3, r2
- 282 .loc 1 55 21
- 283 004e 1B88 ldrh r3, [r3] @ movhi
- 284 0050 7B81 strh r3, [r7, #10] @ movhi
- 56:user_src/common.c **** *( arr + num1 ) = *( arr + num1 + 1 );
- 285 .loc 1 56 49
- 286 0052 BB89 ldrh r3, [r7, #12]
- 287 0054 0133 adds r3, r3, #1
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s page 7
- 288 0056 5B00 lsls r3, r3, #1
- 289 0058 7A68 ldr r2, [r7, #4]
- 290 005a 1A44 add r2, r2, r3
- 291 .loc 1 56 24
- 292 005c BB89 ldrh r3, [r7, #12]
- 293 005e 5B00 lsls r3, r3, #1
- 294 0060 7968 ldr r1, [r7, #4]
- 295 0062 0B44 add r3, r3, r1
- 296 .loc 1 56 35
- 297 0064 1288 ldrh r2, [r2]
- 298 .loc 1 56 33
- 299 0066 1A80 strh r2, [r3] @ movhi
- 57:user_src/common.c **** *( arr + num1 + 1 ) = tmp;
- 300 .loc 1 57 31
- 301 0068 BB89 ldrh r3, [r7, #12]
- 302 006a 0133 adds r3, r3, #1
- 303 006c 5B00 lsls r3, r3, #1
- 304 006e 7A68 ldr r2, [r7, #4]
- 305 0070 1344 add r3, r3, r2
- 306 .loc 1 57 37
- 307 0072 7A89 ldrh r2, [r7, #10] @ movhi
- 308 0074 1A80 strh r2, [r3] @ movhi
- 309 .L15:
- 51:user_src/common.c **** {
- 310 .loc 1 51 46 discriminator 2
- 311 0076 BB89 ldrh r3, [r7, #12]
- 312 0078 0133 adds r3, r3, #1
- 313 007a BB81 strh r3, [r7, #12] @ movhi
- 314 .L14:
- 51:user_src/common.c **** {
- 315 .loc 1 51 9 discriminator 1
- 316 007c FA89 ldrh r2, [r7, #14]
- 317 007e BB89 ldrh r3, [r7, #12]
- 318 0080 9A42 cmp r2, r3
- 319 0082 D3D8 bhi .L16
- 49:user_src/common.c **** {
- 320 .loc 1 49 42 discriminator 2
- 321 0084 FB89 ldrh r3, [r7, #14]
- 322 0086 013B subs r3, r3, #1
- 323 0088 FB81 strh r3, [r7, #14] @ movhi
- 324 .L13:
- 49:user_src/common.c **** {
- 325 .loc 1 49 5 discriminator 1
- 326 008a FB89 ldrh r3, [r7, #14]
- 327 008c 002B cmp r3, #0
- 328 008e CAD1 bne .L17
- 329 0090 00E0 b .L10
- 330 .L18:
- 45:user_src/common.c **** }
- 331 .loc 1 45 9
- 332 0092 00BF nop
- 333 .L10:
- 58:user_src/common.c **** }
- 59:user_src/common.c **** }
- 60:user_src/common.c **** }
- 61:user_src/common.c **** }
- 334 .loc 1 61 1
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s page 8
- 335 0094 1437 adds r7, r7, #20
- 336 .LCFI14:
- 337 .cfi_def_cfa_offset 4
- 338 0096 BD46 mov sp, r7
- 339 .LCFI15:
- 340 .cfi_def_cfa_register 13
- 341 @ sp needed
- 342 0098 5DF8047B ldr r7, [sp], #4
- 343 .LCFI16:
- 344 .cfi_restore 7
- 345 .cfi_def_cfa_offset 0
- 346 009c 7047 bx lr
- 347 .cfi_endproc
- 348 .LFE132:
- 350 .section .text.mimomocib_buf_sort,"ax",%progbits
- 351 .align 1
- 352 .global mimomocib_buf_sort
- 353 .syntax unified
- 354 .thumb
- 355 .thumb_func
- 357 mimomocib_buf_sort:
- 358 .LFB133:
- 62:user_src/common.c ****
- 63:user_src/common.c **** /*****************************�曌&莫之比雷达排�************************/
- 64:user_src/common.c **** void mimomocib_buf_sort( mimo_part_radar *arr, uint16_t length )
- 65:user_src/common.c **** {
- 359 .loc 1 65 1
- 360 .cfi_startproc
- 361 @ args = 0, pretend = 0, frame = 24
- 362 @ frame_needed = 1, uses_anonymous_args = 0
- 363 @ link register save eliminated.
- 364 0000 80B4 push {r7}
- 365 .LCFI17:
- 366 .cfi_def_cfa_offset 4
- 367 .cfi_offset 7, -4
- 368 0002 87B0 sub sp, sp, #28
- 369 .LCFI18:
- 370 .cfi_def_cfa_offset 32
- 371 0004 00AF add r7, sp, #0
- 372 .LCFI19:
- 373 .cfi_def_cfa_register 7
- 374 0006 7860 str r0, [r7, #4]
- 375 0008 0B46 mov r3, r1
- 376 000a 7B80 strh r3, [r7, #2] @ movhi
- 66:user_src/common.c **** if ( length < 2 )
- 377 .loc 1 66 8
- 378 000c 7B88 ldrh r3, [r7, #2]
- 379 000e 012B cmp r3, #1
- 380 0010 57D9 bls .L27
- 67:user_src/common.c **** {
- 68:user_src/common.c **** return;
- 69:user_src/common.c **** }
- 70:user_src/common.c **** uint16_t num = 0, num1 = 0;
- 381 .loc 1 70 14
- 382 0012 0023 movs r3, #0
- 383 0014 FB82 strh r3, [r7, #22] @ movhi
- 384 .loc 1 70 23
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s page 9
- 385 0016 0023 movs r3, #0
- 386 0018 BB82 strh r3, [r7, #20] @ movhi
- 71:user_src/common.c **** mimo_part_radar tmp;
- 72:user_src/common.c **** for ( num = length - 1; num >= 1; num-- )
- 387 .loc 1 72 15
- 388 001a 7B88 ldrh r3, [r7, #2] @ movhi
- 389 001c 013B subs r3, r3, #1
- 390 001e FB82 strh r3, [r7, #22] @ movhi
- 391 .loc 1 72 5
- 392 0020 4BE0 b .L22
- 393 .L26:
- 73:user_src/common.c **** {
- 74:user_src/common.c **** for ( num1 = 0; num1 <= num - 1; num1++ )
- 394 .loc 1 74 20
- 395 0022 0023 movs r3, #0
- 396 0024 BB82 strh r3, [r7, #20] @ movhi
- 397 .loc 1 74 9
- 398 0026 41E0 b .L23
- 399 .L25:
- 75:user_src/common.c **** {
- 76:user_src/common.c **** if ( ( ( arr + num1 )->Distance ) > ( ( arr + num1 + 1 )->Distance ) )
- 400 .loc 1 76 26
- 401 0028 BB8A ldrh r3, [r7, #20]
- 402 002a DB00 lsls r3, r3, #3
- 403 002c 7A68 ldr r2, [r7, #4]
- 404 002e 1344 add r3, r3, r2
- 405 .loc 1 76 34
- 406 0030 DA78 ldrb r2, [r3, #3] @ zero_extendqisi2
- 407 0032 1209 lsrs r2, r2, #4
- 408 0034 D2B2 uxtb r2, r2
- 409 0036 1B79 ldrb r3, [r3, #4] @ zero_extendqisi2
- 410 0038 1B01 lsls r3, r3, #4
- 411 003a 1343 orrs r3, r3, r2
- 412 003c 1B05 lsls r3, r3, #20
- 413 003e 1B15 asrs r3, r3, #20
- 414 0040 1AB2 sxth r2, r3
- 415 .loc 1 76 64
- 416 0042 BB8A ldrh r3, [r7, #20]
- 417 0044 0133 adds r3, r3, #1
- 418 0046 DB00 lsls r3, r3, #3
- 419 0048 7968 ldr r1, [r7, #4]
- 420 004a 0B44 add r3, r3, r1
- 421 .loc 1 76 69
- 422 004c D978 ldrb r1, [r3, #3] @ zero_extendqisi2
- 423 004e 0909 lsrs r1, r1, #4
- 424 0050 C9B2 uxtb r1, r1
- 425 0052 1B79 ldrb r3, [r3, #4] @ zero_extendqisi2
- 426 0054 1B01 lsls r3, r3, #4
- 427 0056 0B43 orrs r3, r3, r1
- 428 0058 1B05 lsls r3, r3, #20
- 429 005a 1B15 asrs r3, r3, #20
- 430 005c 1BB2 sxth r3, r3
- 431 .loc 1 76 16
- 432 005e 9A42 cmp r2, r3
- 433 0060 21DD ble .L24
- 77:user_src/common.c **** {
- 78:user_src/common.c **** tmp = *( arr + num1 );
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s page 10
- 434 .loc 1 78 30
- 435 0062 BB8A ldrh r3, [r7, #20]
- 436 0064 DB00 lsls r3, r3, #3
- 437 0066 7A68 ldr r2, [r7, #4]
- 438 0068 1A44 add r2, r2, r3
- 439 .loc 1 78 21
- 440 006a 07F10C03 add r3, r7, #12
- 441 006e 1068 ldr r0, [r2] @ unaligned
- 442 0070 5168 ldr r1, [r2, #4] @ unaligned
- 443 0072 03C3 stmia r3!, {r0, r1}
- 79:user_src/common.c **** *( arr + num1 ) = *( arr + num1 + 1 );
- 444 .loc 1 79 49
- 445 0074 BB8A ldrh r3, [r7, #20]
- 446 0076 0133 adds r3, r3, #1
- 447 0078 DB00 lsls r3, r3, #3
- 448 007a 7A68 ldr r2, [r7, #4]
- 449 007c D118 adds r1, r2, r3
- 450 .loc 1 79 24
- 451 007e BB8A ldrh r3, [r7, #20]
- 452 0080 DB00 lsls r3, r3, #3
- 453 0082 7A68 ldr r2, [r7, #4]
- 454 0084 1344 add r3, r3, r2
- 455 .loc 1 79 33
- 456 0086 0A46 mov r2, r1
- 457 0088 1168 ldr r1, [r2] @ unaligned
- 458 008a 5268 ldr r2, [r2, #4] @ unaligned
- 459 008c 1960 str r1, [r3] @ unaligned
- 460 008e 5A60 str r2, [r3, #4] @ unaligned
- 80:user_src/common.c **** *( arr + num1 + 1 ) = tmp;
- 461 .loc 1 80 31
- 462 0090 BB8A ldrh r3, [r7, #20]
- 463 0092 0133 adds r3, r3, #1
- 464 0094 DB00 lsls r3, r3, #3
- 465 0096 7A68 ldr r2, [r7, #4]
- 466 0098 1344 add r3, r3, r2
- 467 .loc 1 80 37
- 468 009a 1A46 mov r2, r3
- 469 009c 07F10C03 add r3, r7, #12
- 470 00a0 03CB ldmia r3!, {r0, r1}
- 471 00a2 1060 str r0, [r2] @ unaligned
- 472 00a4 5160 str r1, [r2, #4] @ unaligned
- 473 .L24:
- 74:user_src/common.c **** {
- 474 .loc 1 74 46 discriminator 2
- 475 00a6 BB8A ldrh r3, [r7, #20]
- 476 00a8 0133 adds r3, r3, #1
- 477 00aa BB82 strh r3, [r7, #20] @ movhi
- 478 .L23:
- 74:user_src/common.c **** {
- 479 .loc 1 74 9 discriminator 1
- 480 00ac FA8A ldrh r2, [r7, #22]
- 481 00ae BB8A ldrh r3, [r7, #20]
- 482 00b0 9A42 cmp r2, r3
- 483 00b2 B9D8 bhi .L25
- 72:user_src/common.c **** {
- 484 .loc 1 72 42 discriminator 2
- 485 00b4 FB8A ldrh r3, [r7, #22]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s page 11
- 486 00b6 013B subs r3, r3, #1
- 487 00b8 FB82 strh r3, [r7, #22] @ movhi
- 488 .L22:
- 72:user_src/common.c **** {
- 489 .loc 1 72 5 discriminator 1
- 490 00ba FB8A ldrh r3, [r7, #22]
- 491 00bc 002B cmp r3, #0
- 492 00be B0D1 bne .L26
- 493 00c0 00E0 b .L19
- 494 .L27:
- 68:user_src/common.c **** }
- 495 .loc 1 68 9
- 496 00c2 00BF nop
- 497 .L19:
- 81:user_src/common.c **** }
- 82:user_src/common.c **** }
- 83:user_src/common.c **** }
- 84:user_src/common.c **** }
- 498 .loc 1 84 1
- 499 00c4 1C37 adds r7, r7, #28
- 500 .LCFI20:
- 501 .cfi_def_cfa_offset 4
- 502 00c6 BD46 mov sp, r7
- 503 .LCFI21:
- 504 .cfi_def_cfa_register 13
- 505 @ sp needed
- 506 00c8 5DF8047B ldr r7, [sp], #4
- 507 .LCFI22:
- 508 .cfi_restore 7
- 509 .cfi_def_cfa_offset 0
- 510 00cc 7047 bx lr
- 511 .cfi_endproc
- 512 .LFE133:
- 514 .section .text.short2buf,"ax",%progbits
- 515 .align 1
- 516 .global short2buf
- 517 .syntax unified
- 518 .thumb
- 519 .thumb_func
- 521 short2buf:
- 522 .LFB134:
- 85:user_src/common.c ****
- 86:user_src/common.c **** /****************************short 类型放到bufä¸***************/
- 87:user_src/common.c **** void short2buf( unsigned char *buf, short *tshort )
- 88:user_src/common.c **** {
- 523 .loc 1 88 1
- 524 .cfi_startproc
- 525 @ args = 0, pretend = 0, frame = 24
- 526 @ frame_needed = 1, uses_anonymous_args = 0
- 527 @ link register save eliminated.
- 528 0000 80B4 push {r7}
- 529 .LCFI23:
- 530 .cfi_def_cfa_offset 4
- 531 .cfi_offset 7, -4
- 532 0002 87B0 sub sp, sp, #28
- 533 .LCFI24:
- 534 .cfi_def_cfa_offset 32
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s page 12
- 535 0004 00AF add r7, sp, #0
- 536 .LCFI25:
- 537 .cfi_def_cfa_register 7
- 538 0006 7860 str r0, [r7, #4]
- 539 0008 3960 str r1, [r7]
- 89:user_src/common.c **** int i;
- 90:user_src/common.c **** unsigned char *p1 = ( unsigned char * )tshort;
- 540 .loc 1 90 20
- 541 000a 3B68 ldr r3, [r7]
- 542 000c 3B61 str r3, [r7, #16]
- 91:user_src/common.c **** unsigned char *p3 = buf;
- 543 .loc 1 91 20
- 544 000e 7B68 ldr r3, [r7, #4]
- 545 0010 FB60 str r3, [r7, #12]
- 92:user_src/common.c **** for ( i = 0; i < 2; i++ )
- 546 .loc 1 92 13
- 547 0012 0023 movs r3, #0
- 548 0014 7B61 str r3, [r7, #20]
- 549 .loc 1 92 5
- 550 0016 0CE0 b .L29
- 551 .L30:
- 93:user_src/common.c **** {
- 94:user_src/common.c **** *p3 = *p1;
- 552 .loc 1 94 15 discriminator 3
- 553 0018 3B69 ldr r3, [r7, #16]
- 554 001a 1A78 ldrb r2, [r3] @ zero_extendqisi2
- 555 .loc 1 94 13 discriminator 3
- 556 001c FB68 ldr r3, [r7, #12]
- 557 001e 1A70 strb r2, [r3]
- 95:user_src/common.c **** p1++;
- 558 .loc 1 95 11 discriminator 3
- 559 0020 3B69 ldr r3, [r7, #16]
- 560 0022 0133 adds r3, r3, #1
- 561 0024 3B61 str r3, [r7, #16]
- 96:user_src/common.c **** p3++;
- 562 .loc 1 96 11 discriminator 3
- 563 0026 FB68 ldr r3, [r7, #12]
- 564 0028 0133 adds r3, r3, #1
- 565 002a FB60 str r3, [r7, #12]
- 92:user_src/common.c **** {
- 566 .loc 1 92 26 discriminator 3
- 567 002c 7B69 ldr r3, [r7, #20]
- 568 002e 0133 adds r3, r3, #1
- 569 0030 7B61 str r3, [r7, #20]
- 570 .L29:
- 92:user_src/common.c **** {
- 571 .loc 1 92 5 discriminator 1
- 572 0032 7B69 ldr r3, [r7, #20]
- 573 0034 012B cmp r3, #1
- 574 0036 EFDD ble .L30
- 97:user_src/common.c **** }
- 98:user_src/common.c **** }
- 575 .loc 1 98 1
- 576 0038 00BF nop
- 577 003a 00BF nop
- 578 003c 1C37 adds r7, r7, #28
- 579 .LCFI26:
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s page 13
- 580 .cfi_def_cfa_offset 4
- 581 003e BD46 mov sp, r7
- 582 .LCFI27:
- 583 .cfi_def_cfa_register 13
- 584 @ sp needed
- 585 0040 5DF8047B ldr r7, [sp], #4
- 586 .LCFI28:
- 587 .cfi_restore 7
- 588 .cfi_def_cfa_offset 0
- 589 0044 7047 bx lr
- 590 .cfi_endproc
- 591 .LFE134:
- 593 .section .text.char_to_hex_string,"ax",%progbits
- 594 .align 1
- 595 .global char_to_hex_string
- 596 .syntax unified
- 597 .thumb
- 598 .thumb_func
- 600 char_to_hex_string:
- 601 .LFB135:
- 99:user_src/common.c ****
- 100:user_src/common.c **** /*
- 101:user_src/common.c **** int转hex转string
- 102:user_src/common.c **** */
- 103:user_src/common.c **** void char_to_hex_string( unsigned char *cdata, short lenc, char *sbuf, short lens, char *ES )
- 104:user_src/common.c **** {
- 602 .loc 1 104 1
- 603 .cfi_startproc
- 604 @ args = 4, pretend = 0, frame = 32
- 605 @ frame_needed = 1, uses_anonymous_args = 0
- 606 @ link register save eliminated.
- 607 0000 80B4 push {r7}
- 608 .LCFI29:
- 609 .cfi_def_cfa_offset 4
- 610 .cfi_offset 7, -4
- 611 0002 89B0 sub sp, sp, #36
- 612 .LCFI30:
- 613 .cfi_def_cfa_offset 40
- 614 0004 00AF add r7, sp, #0
- 615 .LCFI31:
- 616 .cfi_def_cfa_register 7
- 617 0006 F860 str r0, [r7, #12]
- 618 0008 7A60 str r2, [r7, #4]
- 619 000a 1A46 mov r2, r3
- 620 000c 0B46 mov r3, r1 @ movhi
- 621 000e 7B81 strh r3, [r7, #10] @ movhi
- 622 0010 1346 mov r3, r2 @ movhi
- 623 0012 3B81 strh r3, [r7, #8] @ movhi
- 105:user_src/common.c **** short tmp_lens = lens;
- 624 .loc 1 105 11
- 625 0014 3B89 ldrh r3, [r7, #8] @ movhi
- 626 0016 FB83 strh r3, [r7, #30] @ movhi
- 627 .LBB3:
- 106:user_src/common.c ****
- 107:user_src/common.c **** for ( int i = 0 ; i < lenc && tmp_lens >= 2 ; i++ )
- 628 .loc 1 107 15
- 629 0018 0023 movs r3, #0
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s page 14
- 630 001a BB61 str r3, [r7, #24]
- 631 .loc 1 107 5
- 632 001c 53E0 b .L32
- 633 .L38:
- 634 .LBB4:
- 108:user_src/common.c **** {
- 109:user_src/common.c **** char hight = ( cdata[i] >> 4 ) & 0x0f;
- 635 .loc 1 109 29
- 636 001e BB69 ldr r3, [r7, #24]
- 637 0020 FA68 ldr r2, [r7, #12]
- 638 0022 1344 add r3, r3, r2
- 639 0024 1B78 ldrb r3, [r3] @ zero_extendqisi2
- 640 .loc 1 109 14
- 641 0026 1B09 lsrs r3, r3, #4
- 642 0028 FB74 strb r3, [r7, #19]
- 110:user_src/common.c **** char low = cdata[i] & 0x0f;
- 643 .loc 1 110 25
- 644 002a BB69 ldr r3, [r7, #24]
- 645 002c FA68 ldr r2, [r7, #12]
- 646 002e 1344 add r3, r3, r2
- 647 .loc 1 110 29
- 648 0030 1B78 ldrb r3, [r3] @ zero_extendqisi2
- 649 .loc 1 110 14
- 650 0032 03F00F03 and r3, r3, #15
- 651 0036 BB74 strb r3, [r7, #18]
- 111:user_src/common.c ****
- 112:user_src/common.c **** if ( hight > 9 )
- 652 .loc 1 112 12
- 653 0038 FB7C ldrb r3, [r7, #19] @ zero_extendqisi2
- 654 003a 092B cmp r3, #9
- 655 003c 0CD9 bls .L33
- 113:user_src/common.c **** sbuf[lens - tmp_lens] = 'A' + hight - 10;
- 656 .loc 1 113 23
- 657 003e B7F90820 ldrsh r2, [r7, #8]
- 658 0042 B7F91E30 ldrsh r3, [r7, #30]
- 659 0046 D31A subs r3, r2, r3
- 660 0048 1A46 mov r2, r3
- 661 .loc 1 113 17
- 662 004a 7B68 ldr r3, [r7, #4]
- 663 004c 1344 add r3, r3, r2
- 664 .loc 1 113 49
- 665 004e FA7C ldrb r2, [r7, #19]
- 666 0050 3732 adds r2, r2, #55
- 667 0052 D2B2 uxtb r2, r2
- 668 .loc 1 113 35
- 669 0054 1A70 strb r2, [r3]
- 670 0056 0BE0 b .L34
- 671 .L33:
- 114:user_src/common.c **** else
- 115:user_src/common.c **** sbuf[lens - tmp_lens] = '0' + hight;
- 672 .loc 1 115 23
- 673 0058 B7F90820 ldrsh r2, [r7, #8]
- 674 005c B7F91E30 ldrsh r3, [r7, #30]
- 675 0060 D31A subs r3, r2, r3
- 676 0062 1A46 mov r2, r3
- 677 .loc 1 115 17
- 678 0064 7B68 ldr r3, [r7, #4]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s page 15
- 679 0066 1344 add r3, r3, r2
- 680 .loc 1 115 41
- 681 0068 FA7C ldrb r2, [r7, #19]
- 682 006a 3032 adds r2, r2, #48
- 683 006c D2B2 uxtb r2, r2
- 684 .loc 1 115 35
- 685 006e 1A70 strb r2, [r3]
- 686 .L34:
- 116:user_src/common.c **** tmp_lens--;
- 687 .loc 1 116 17
- 688 0070 B7F91E30 ldrsh r3, [r7, #30]
- 689 0074 9BB2 uxth r3, r3
- 690 0076 013B subs r3, r3, #1
- 691 0078 9BB2 uxth r3, r3
- 692 007a FB83 strh r3, [r7, #30] @ movhi
- 117:user_src/common.c ****
- 118:user_src/common.c **** if ( low > 9 )
- 693 .loc 1 118 12
- 694 007c BB7C ldrb r3, [r7, #18] @ zero_extendqisi2
- 695 007e 092B cmp r3, #9
- 696 0080 0CD9 bls .L35
- 119:user_src/common.c **** sbuf[lens - tmp_lens] = 'A' + low - 10;
- 697 .loc 1 119 23
- 698 0082 B7F90820 ldrsh r2, [r7, #8]
- 699 0086 B7F91E30 ldrsh r3, [r7, #30]
- 700 008a D31A subs r3, r2, r3
- 701 008c 1A46 mov r2, r3
- 702 .loc 1 119 17
- 703 008e 7B68 ldr r3, [r7, #4]
- 704 0090 1344 add r3, r3, r2
- 705 .loc 1 119 47
- 706 0092 BA7C ldrb r2, [r7, #18]
- 707 0094 3732 adds r2, r2, #55
- 708 0096 D2B2 uxtb r2, r2
- 709 .loc 1 119 35
- 710 0098 1A70 strb r2, [r3]
- 711 009a 0BE0 b .L36
- 712 .L35:
- 120:user_src/common.c **** else
- 121:user_src/common.c **** sbuf[lens - tmp_lens] = '0' + low;
- 713 .loc 1 121 23
- 714 009c B7F90820 ldrsh r2, [r7, #8]
- 715 00a0 B7F91E30 ldrsh r3, [r7, #30]
- 716 00a4 D31A subs r3, r2, r3
- 717 00a6 1A46 mov r2, r3
- 718 .loc 1 121 17
- 719 00a8 7B68 ldr r3, [r7, #4]
- 720 00aa 1344 add r3, r3, r2
- 721 .loc 1 121 41
- 722 00ac BA7C ldrb r2, [r7, #18]
- 723 00ae 3032 adds r2, r2, #48
- 724 00b0 D2B2 uxtb r2, r2
- 725 .loc 1 121 35
- 726 00b2 1A70 strb r2, [r3]
- 727 .L36:
- 122:user_src/common.c **** tmp_lens--;
- 728 .loc 1 122 17 discriminator 2
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s page 16
- 729 00b4 B7F91E30 ldrsh r3, [r7, #30]
- 730 00b8 9BB2 uxth r3, r3
- 731 00ba 013B subs r3, r3, #1
- 732 00bc 9BB2 uxth r3, r3
- 733 00be FB83 strh r3, [r7, #30] @ movhi
- 734 .LBE4:
- 107:user_src/common.c **** {
- 735 .loc 1 107 53 discriminator 2
- 736 00c0 BB69 ldr r3, [r7, #24]
- 737 00c2 0133 adds r3, r3, #1
- 738 00c4 BB61 str r3, [r7, #24]
- 739 .L32:
- 107:user_src/common.c **** {
- 740 .loc 1 107 25 discriminator 1
- 741 00c6 B7F90A30 ldrsh r3, [r7, #10]
- 107:user_src/common.c **** {
- 742 .loc 1 107 5 discriminator 1
- 743 00ca BA69 ldr r2, [r7, #24]
- 744 00cc 9A42 cmp r2, r3
- 745 00ce 03DA bge .L37
- 107:user_src/common.c **** {
- 746 .loc 1 107 33 discriminator 3
- 747 00d0 B7F91E30 ldrsh r3, [r7, #30]
- 748 00d4 012B cmp r3, #1
- 749 00d6 A2DC bgt .L38
- 750 .L37:
- 751 .LBE3:
- 123:user_src/common.c **** }
- 124:user_src/common.c ****
- 125:user_src/common.c **** int i = 0;
- 752 .loc 1 125 9
- 753 00d8 0023 movs r3, #0
- 754 00da 7B61 str r3, [r7, #20]
- 126:user_src/common.c **** //尾缀
- 127:user_src/common.c **** for ( ; tmp_lens > 0 ; tmp_lens-- )
- 755 .loc 1 127 5
- 756 00dc 1BE0 b .L39
- 757 .L43:
- 128:user_src/common.c **** {
- 129:user_src/common.c **** if ( *( ES + i ) != '\0' )
- 758 .loc 1 129 20
- 759 00de 7B69 ldr r3, [r7, #20]
- 760 00e0 BA6A ldr r2, [r7, #40]
- 761 00e2 1344 add r3, r3, r2
- 762 .loc 1 129 14
- 763 00e4 1B78 ldrb r3, [r3] @ zero_extendqisi2
- 764 .loc 1 129 12
- 765 00e6 002B cmp r3, #0
- 766 00e8 1AD0 beq .L44
- 130:user_src/common.c **** {
- 131:user_src/common.c **** sbuf[lens - tmp_lens] = *( ES + i );
- 767 .loc 1 131 43
- 768 00ea 7B69 ldr r3, [r7, #20]
- 769 00ec BA6A ldr r2, [r7, #40]
- 770 00ee 1A44 add r2, r2, r3
- 771 .loc 1 131 23
- 772 00f0 B7F90810 ldrsh r1, [r7, #8]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s page 17
- 773 00f4 B7F91E30 ldrsh r3, [r7, #30]
- 774 00f8 CB1A subs r3, r1, r3
- 775 00fa 1946 mov r1, r3
- 776 .loc 1 131 17
- 777 00fc 7B68 ldr r3, [r7, #4]
- 778 00fe 0B44 add r3, r3, r1
- 779 .loc 1 131 37
- 780 0100 1278 ldrb r2, [r2] @ zero_extendqisi2
- 781 .loc 1 131 35
- 782 0102 1A70 strb r2, [r3]
- 132:user_src/common.c **** }
- 133:user_src/common.c **** else
- 134:user_src/common.c **** {
- 135:user_src/common.c **** break;
- 136:user_src/common.c **** }
- 137:user_src/common.c **** i++;
- 783 .loc 1 137 10
- 784 0104 7B69 ldr r3, [r7, #20]
- 785 0106 0133 adds r3, r3, #1
- 786 0108 7B61 str r3, [r7, #20]
- 127:user_src/common.c **** {
- 787 .loc 1 127 36
- 788 010a B7F91E30 ldrsh r3, [r7, #30]
- 789 010e 9BB2 uxth r3, r3
- 790 0110 013B subs r3, r3, #1
- 791 0112 9BB2 uxth r3, r3
- 792 0114 FB83 strh r3, [r7, #30] @ movhi
- 793 .L39:
- 127:user_src/common.c **** {
- 794 .loc 1 127 5 discriminator 1
- 795 0116 B7F91E30 ldrsh r3, [r7, #30]
- 796 011a 002B cmp r3, #0
- 797 011c DFDC bgt .L43
- 138:user_src/common.c **** }
- 139:user_src/common.c **** }
- 798 .loc 1 139 1
- 799 011e 00E0 b .L45
- 800 .L44:
- 135:user_src/common.c **** }
- 801 .loc 1 135 13
- 802 0120 00BF nop
- 803 .L45:
- 804 .loc 1 139 1
- 805 0122 00BF nop
- 806 0124 2437 adds r7, r7, #36
- 807 .LCFI32:
- 808 .cfi_def_cfa_offset 4
- 809 0126 BD46 mov sp, r7
- 810 .LCFI33:
- 811 .cfi_def_cfa_register 13
- 812 @ sp needed
- 813 0128 5DF8047B ldr r7, [sp], #4
- 814 .LCFI34:
- 815 .cfi_restore 7
- 816 .cfi_def_cfa_offset 0
- 817 012c 7047 bx lr
- 818 .cfi_endproc
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s page 18
- 819 .LFE135:
- 821 .section .rodata
- 822 .align 2
- 823 .LC0:
- 824 0000 30313233 .ascii "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\000"
- 824 34353637
- 824 38394142
- 824 43444546
- 824 4748494A
- 825 .section .text.itoa,"ax",%progbits
- 826 .align 1
- 827 .global itoa
- 828 .syntax unified
- 829 .thumb
- 830 .thumb_func
- 832 itoa:
- 833 .LFB136:
- 140:user_src/common.c ****
- 141:user_src/common.c ****
- 142:user_src/common.c ****
- 143:user_src/common.c **** /*
- 144:user_src/common.c **** @brief:
- 145:user_src/common.c **** num: 整型数值
- 146:user_src/common.c **** str: å—符串地å�€
- 147:user_src/common.c **** radix:进制
- 148:user_src/common.c **** */
- 149:user_src/common.c **** char* itoa( int num, char* str, int radix )
- 150:user_src/common.c **** {
- 834 .loc 1 150 1
- 835 .cfi_startproc
- 836 @ args = 0, pretend = 0, frame = 72
- 837 @ frame_needed = 1, uses_anonymous_args = 0
- 838 @ link register save eliminated.
- 839 0000 B0B4 push {r4, r5, r7}
- 840 .LCFI35:
- 841 .cfi_def_cfa_offset 12
- 842 .cfi_offset 4, -12
- 843 .cfi_offset 5, -8
- 844 .cfi_offset 7, -4
- 845 0002 93B0 sub sp, sp, #76
- 846 .LCFI36:
- 847 .cfi_def_cfa_offset 88
- 848 0004 00AF add r7, sp, #0
- 849 .LCFI37:
- 850 .cfi_def_cfa_register 7
- 851 0006 F860 str r0, [r7, #12]
- 852 0008 B960 str r1, [r7, #8]
- 853 000a 7A60 str r2, [r7, #4]
- 151:user_src/common.c **** char index[] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; //索引表
- 854 .loc 1 151 10
- 855 000c 3F4B ldr r3, .L55
- 856 000e 07F11004 add r4, r7, #16
- 857 0012 1D46 mov r5, r3
- 858 0014 0FCD ldmia r5!, {r0, r1, r2, r3}
- 859 0016 0FC4 stmia r4!, {r0, r1, r2, r3}
- 860 0018 0FCD ldmia r5!, {r0, r1, r2, r3}
- 861 001a 0FC4 stmia r4!, {r0, r1, r2, r3}
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s page 19
- 862 001c 95E80300 ldm r5, {r0, r1}
- 863 0020 2060 str r0, [r4]
- 864 0022 0434 adds r4, r4, #4
- 865 0024 2170 strb r1, [r4]
- 152:user_src/common.c **** unsigned unum;//å˜æ”¾è¦�转æ�¢çš„æ•´æ•°çš„ç»�对值,转æ�¢çš„æ•´æ•°å�¯èƒ½æ˜¯è´Ÿæ•°
- 153:user_src/common.c **** int i = 0, j, k; //i用æ�¥æŒ‡ç¤ºè®¾ç½®å—符串相应ä½�,转æ�¢ä¹‹å�Ži其实就是å—符串çš
- 866 .loc 1 153 9
- 867 0026 0023 movs r3, #0
- 868 0028 3B64 str r3, [r7, #64]
- 154:user_src/common.c ****
- 155:user_src/common.c **** //获��转�的整数的�对值
- 156:user_src/common.c **** if ( radix == 10 && num < 0 ) //�转���进制数并且是负数
- 869 .loc 1 156 8
- 870 002a 7B68 ldr r3, [r7, #4]
- 871 002c 0A2B cmp r3, #10
- 872 002e 0ED1 bne .L47
- 873 .loc 1 156 22 discriminator 1
- 874 0030 FB68 ldr r3, [r7, #12]
- 875 0032 002B cmp r3, #0
- 876 0034 0BDA bge .L47
- 157:user_src/common.c **** {
- 158:user_src/common.c **** unum = ( unsigned ) - num; //将num的�对值赋给unum
- 877 .loc 1 158 29
- 878 0036 FB68 ldr r3, [r7, #12]
- 879 0038 5B42 rsbs r3, r3, #0
- 880 .loc 1 158 14
- 881 003a 7B64 str r3, [r7, #68]
- 159:user_src/common.c **** str[i++] = '-'; //在å—符串最å‰�é�¢è®¾ç½®ä¸º'-'å�·ï¼Œå¹¶ä¸”ç´¢å¼•åŠ 1
- 882 .loc 1 159 14
- 883 003c 3B6C ldr r3, [r7, #64]
- 884 003e 5A1C adds r2, r3, #1
- 885 0040 3A64 str r2, [r7, #64]
- 886 0042 1A46 mov r2, r3
- 887 .loc 1 159 12
- 888 0044 BB68 ldr r3, [r7, #8]
- 889 0046 1344 add r3, r3, r2
- 890 .loc 1 159 18
- 891 0048 2D22 movs r2, #45
- 892 004a 1A70 strb r2, [r3]
- 893 004c 01E0 b .L49
- 894 .L47:
- 160:user_src/common.c **** }
- 161:user_src/common.c **** else unum = ( unsigned )num; //若是num为æ£ï¼Œç›´æŽ¥èµ‹å€¼ç»™unum
- 895 .loc 1 161 15
- 896 004e FB68 ldr r3, [r7, #12]
- 897 0050 7B64 str r3, [r7, #68]
- 898 .L49:
- 162:user_src/common.c ****
- 163:user_src/common.c **** //转�部分,注�转��是逆�的
- 164:user_src/common.c **** do
- 165:user_src/common.c **** {
- 166:user_src/common.c **** str[i++] = index[unum % ( unsigned )radix]; //å�–unum的最å�Žä¸€ä½�,并设置为str对åº
- 899 .loc 1 166 33 discriminator 1
- 900 0052 7A68 ldr r2, [r7, #4]
- 901 .loc 1 166 31 discriminator 1
- 902 0054 7B6C ldr r3, [r7, #68]
- 903 0056 B3FBF2F1 udiv r1, r3, r2
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s page 20
- 904 005a 01FB02F2 mul r2, r1, r2
- 905 005e 9A1A subs r2, r3, r2
- 906 .loc 1 166 14 discriminator 1
- 907 0060 3B6C ldr r3, [r7, #64]
- 908 0062 591C adds r1, r3, #1
- 909 0064 3964 str r1, [r7, #64]
- 910 0066 1946 mov r1, r3
- 911 .loc 1 166 12 discriminator 1
- 912 0068 BB68 ldr r3, [r7, #8]
- 913 006a 0B44 add r3, r3, r1
- 914 .loc 1 166 25 discriminator 1
- 915 006c 4832 adds r2, r2, #72
- 916 006e 3A44 add r2, r2, r7
- 917 0070 12F8382C ldrb r2, [r2, #-56] @ zero_extendqisi2
- 918 .loc 1 166 18 discriminator 1
- 919 0074 1A70 strb r2, [r3]
- 167:user_src/common.c **** unum /= radix; //unum去掉最�一�
- 920 .loc 1 167 14 discriminator 1
- 921 0076 7B68 ldr r3, [r7, #4]
- 922 0078 7A6C ldr r2, [r7, #68]
- 923 007a B2FBF3F3 udiv r3, r2, r3
- 924 007e 7B64 str r3, [r7, #68]
- 168:user_src/common.c ****
- 169:user_src/common.c **** }
- 170:user_src/common.c **** while ( unum ); //直至unum为0退出循环
- 925 .loc 1 170 5 discriminator 1
- 926 0080 7B6C ldr r3, [r7, #68]
- 927 0082 002B cmp r3, #0
- 928 0084 E5D1 bne .L49
- 171:user_src/common.c ****
- 172:user_src/common.c **** str[i] = '\0'; //在å—符串最å�Žæ·»åŠ '\0'å—符,cè¯è¨€å—符串以'\0'结æ�Ÿã€‚
- 929 .loc 1 172 8
- 930 0086 3B6C ldr r3, [r7, #64]
- 931 0088 BA68 ldr r2, [r7, #8]
- 932 008a 1344 add r3, r3, r2
- 933 .loc 1 172 12
- 934 008c 0022 movs r2, #0
- 935 008e 1A70 strb r2, [r3]
- 173:user_src/common.c ****
- 174:user_src/common.c **** //将顺�调整过�
- 175:user_src/common.c **** if ( str[0] == '-' ) k = 1; //如果是负数,符å�·ä¸�用调整,从符å�·å�Žé�¢å¼€å§‹è°ƒæ•
- 936 .loc 1 175 13
- 937 0090 BB68 ldr r3, [r7, #8]
- 938 0092 1B78 ldrb r3, [r3] @ zero_extendqisi2
- 939 .loc 1 175 8
- 940 0094 2D2B cmp r3, #45
- 941 0096 02D1 bne .L50
- 942 .loc 1 175 28 discriminator 1
- 943 0098 0123 movs r3, #1
- 944 009a BB63 str r3, [r7, #56]
- 945 009c 01E0 b .L51
- 946 .L50:
- 176:user_src/common.c **** else k = 0; //�是负数,全部都�调整
- 947 .loc 1 176 12
- 948 009e 0023 movs r3, #0
- 949 00a0 BB63 str r3, [r7, #56]
- 950 .L51:
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s page 21
- 177:user_src/common.c ****
- 178:user_src/common.c **** char temp;//临时��,交�两个值时用到
- 179:user_src/common.c **** for ( j = k; j <= ( i - 1 ) / 2; j++ ) //头尾一一对称交æ�¢ï¼Œi其实就是å—符串的é•
- 951 .loc 1 179 13
- 952 00a2 BB6B ldr r3, [r7, #56]
- 953 00a4 FB63 str r3, [r7, #60]
- 954 .loc 1 179 5
- 955 00a6 22E0 b .L52
- 956 .L53:
- 180:user_src/common.c **** {
- 181:user_src/common.c **** temp = str[j]; //头部赋值给临时��
- 957 .loc 1 181 19 discriminator 3
- 958 00a8 FB6B ldr r3, [r7, #60]
- 959 00aa BA68 ldr r2, [r7, #8]
- 960 00ac 1344 add r3, r3, r2
- 961 .loc 1 181 14 discriminator 3
- 962 00ae 1B78 ldrb r3, [r3]
- 963 00b0 87F83730 strb r3, [r7, #55]
- 182:user_src/common.c **** str[j] = str[i - 1 + k - j]; //尾部赋值给头部
- 964 .loc 1 182 24 discriminator 3
- 965 00b4 3B6C ldr r3, [r7, #64]
- 966 00b6 5A1E subs r2, r3, #1
- 967 .loc 1 182 28 discriminator 3
- 968 00b8 BB6B ldr r3, [r7, #56]
- 969 00ba 1A44 add r2, r2, r3
- 970 .loc 1 182 32 discriminator 3
- 971 00bc FB6B ldr r3, [r7, #60]
- 972 00be D31A subs r3, r2, r3
- 973 00c0 1A46 mov r2, r3
- 974 .loc 1 182 21 discriminator 3
- 975 00c2 BB68 ldr r3, [r7, #8]
- 976 00c4 1A44 add r2, r2, r3
- 977 .loc 1 182 12 discriminator 3
- 978 00c6 FB6B ldr r3, [r7, #60]
- 979 00c8 B968 ldr r1, [r7, #8]
- 980 00ca 0B44 add r3, r3, r1
- 981 .loc 1 182 21 discriminator 3
- 982 00cc 1278 ldrb r2, [r2] @ zero_extendqisi2
- 983 .loc 1 182 16 discriminator 3
- 984 00ce 1A70 strb r2, [r3]
- 183:user_src/common.c **** str[i - 1 + k - j] = temp; //将临时��的值(其实就是之�的头部值)赋给尾
- 985 .loc 1 183 15 discriminator 3
- 986 00d0 3B6C ldr r3, [r7, #64]
- 987 00d2 5A1E subs r2, r3, #1
- 988 .loc 1 183 19 discriminator 3
- 989 00d4 BB6B ldr r3, [r7, #56]
- 990 00d6 1A44 add r2, r2, r3
- 991 .loc 1 183 23 discriminator 3
- 992 00d8 FB6B ldr r3, [r7, #60]
- 993 00da D31A subs r3, r2, r3
- 994 00dc 1A46 mov r2, r3
- 995 .loc 1 183 12 discriminator 3
- 996 00de BB68 ldr r3, [r7, #8]
- 997 00e0 1344 add r3, r3, r2
- 998 .loc 1 183 28 discriminator 3
- 999 00e2 97F83720 ldrb r2, [r7, #55]
- 1000 00e6 1A70 strb r2, [r3]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s page 22
- 179:user_src/common.c **** {
- 1001 .loc 1 179 39 discriminator 3
- 1002 00e8 FB6B ldr r3, [r7, #60]
- 1003 00ea 0133 adds r3, r3, #1
- 1004 00ec FB63 str r3, [r7, #60]
- 1005 .L52:
- 179:user_src/common.c **** {
- 1006 .loc 1 179 27 discriminator 1
- 1007 00ee 3B6C ldr r3, [r7, #64]
- 1008 00f0 013B subs r3, r3, #1
- 179:user_src/common.c **** {
- 1009 .loc 1 179 33 discriminator 1
- 1010 00f2 DA0F lsrs r2, r3, #31
- 1011 00f4 1344 add r3, r3, r2
- 1012 00f6 5B10 asrs r3, r3, #1
- 1013 00f8 1A46 mov r2, r3
- 179:user_src/common.c **** {
- 1014 .loc 1 179 5 discriminator 1
- 1015 00fa FB6B ldr r3, [r7, #60]
- 1016 00fc 9342 cmp r3, r2
- 1017 00fe D3DD ble .L53
- 184:user_src/common.c **** }
- 185:user_src/common.c ****
- 186:user_src/common.c **** return str;//返回转æ�¢å�Žçš„å—符串
- 1018 .loc 1 186 12
- 1019 0100 BB68 ldr r3, [r7, #8]
- 187:user_src/common.c **** }
- 1020 .loc 1 187 1
- 1021 0102 1846 mov r0, r3
- 1022 0104 4C37 adds r7, r7, #76
- 1023 .LCFI38:
- 1024 .cfi_def_cfa_offset 12
- 1025 0106 BD46 mov sp, r7
- 1026 .LCFI39:
- 1027 .cfi_def_cfa_register 13
- 1028 @ sp needed
- 1029 0108 B0BC pop {r4, r5, r7}
- 1030 .LCFI40:
- 1031 .cfi_restore 7
- 1032 .cfi_restore 5
- 1033 .cfi_restore 4
- 1034 .cfi_def_cfa_offset 0
- 1035 010a 7047 bx lr
- 1036 .L56:
- 1037 .align 2
- 1038 .L55:
- 1039 010c 00000000 .word .LC0
- 1040 .cfi_endproc
- 1041 .LFE136:
- 1043 .section .text.Int2String,"ax",%progbits
- 1044 .align 1
- 1045 .global Int2String
- 1046 .syntax unified
- 1047 .thumb
- 1048 .thumb_func
- 1050 Int2String:
- 1051 .LFB137:
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s page 23
- 188:user_src/common.c ****
- 189:user_src/common.c ****
- 190:user_src/common.c **** char* Int2String(int num,char *str,uint8_t size)//10进制
- 191:user_src/common.c **** {
- 1052 .loc 1 191 1
- 1053 .cfi_startproc
- 1054 @ args = 0, pretend = 0, frame = 24
- 1055 @ frame_needed = 1, uses_anonymous_args = 0
- 1056 @ link register save eliminated.
- 1057 0000 80B4 push {r7}
- 1058 .LCFI41:
- 1059 .cfi_def_cfa_offset 4
- 1060 .cfi_offset 7, -4
- 1061 0002 87B0 sub sp, sp, #28
- 1062 .LCFI42:
- 1063 .cfi_def_cfa_offset 32
- 1064 0004 00AF add r7, sp, #0
- 1065 .LCFI43:
- 1066 .cfi_def_cfa_register 7
- 1067 0006 F860 str r0, [r7, #12]
- 1068 0008 B960 str r1, [r7, #8]
- 1069 000a 1346 mov r3, r2
- 1070 000c FB71 strb r3, [r7, #7]
- 192:user_src/common.c **** int i = 0;//指示填充str
- 1071 .loc 1 192 9
- 1072 000e 0023 movs r3, #0
- 1073 0010 7B61 str r3, [r7, #20]
- 193:user_src/common.c **** if(num<0)//如果num为负数,将numå�˜æ£
- 1074 .loc 1 193 7
- 1075 0012 FB68 ldr r3, [r7, #12]
- 1076 0014 002B cmp r3, #0
- 1077 0016 0ADA bge .L60
- 194:user_src/common.c **** {
- 195:user_src/common.c **** num = -num;
- 1078 .loc 1 195 13
- 1079 0018 FB68 ldr r3, [r7, #12]
- 1080 001a 5B42 rsbs r3, r3, #0
- 1081 001c FB60 str r3, [r7, #12]
- 196:user_src/common.c **** str[i++] = '-';
- 1082 .loc 1 196 14
- 1083 001e 7B69 ldr r3, [r7, #20]
- 1084 0020 5A1C adds r2, r3, #1
- 1085 0022 7A61 str r2, [r7, #20]
- 1086 0024 1A46 mov r2, r3
- 1087 .loc 1 196 12
- 1088 0026 BB68 ldr r3, [r7, #8]
- 1089 0028 1344 add r3, r3, r2
- 1090 .loc 1 196 18
- 1091 002a 2D22 movs r2, #45
- 1092 002c 1A70 strb r2, [r3]
- 1093 .L60:
- 197:user_src/common.c **** }
- 198:user_src/common.c **** //转�
- 199:user_src/common.c **** do
- 200:user_src/common.c **** {
- 201:user_src/common.c **** if(size>0)
- 1094 .loc 1 201 11
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s page 24
- 1095 002e FB79 ldrb r3, [r7, #7] @ zero_extendqisi2
- 1096 0030 002B cmp r3, #0
- 1097 0032 15D0 beq .L59
- 202:user_src/common.c **** {
- 203:user_src/common.c **** str[i++] = num%10+48;
- 1098 .loc 1 203 27
- 1099 0034 FA68 ldr r2, [r7, #12]
- 1100 0036 404B ldr r3, .L65
- 1101 0038 83FB0213 smull r1, r3, r3, r2
- 1102 003c 9910 asrs r1, r3, #2
- 1103 003e D317 asrs r3, r2, #31
- 1104 0040 C91A subs r1, r1, r3
- 1105 0042 0B46 mov r3, r1
- 1106 0044 9B00 lsls r3, r3, #2
- 1107 0046 0B44 add r3, r3, r1
- 1108 0048 5B00 lsls r3, r3, #1
- 1109 004a D11A subs r1, r2, r3
- 1110 .loc 1 203 30
- 1111 004c CAB2 uxtb r2, r1
- 1112 .loc 1 203 18
- 1113 004e 7B69 ldr r3, [r7, #20]
- 1114 0050 591C adds r1, r3, #1
- 1115 0052 7961 str r1, [r7, #20]
- 1116 0054 1946 mov r1, r3
- 1117 .loc 1 203 16
- 1118 0056 BB68 ldr r3, [r7, #8]
- 1119 0058 0B44 add r3, r3, r1
- 1120 .loc 1 203 30
- 1121 005a 3032 adds r2, r2, #48
- 1122 005c D2B2 uxtb r2, r2
- 1123 .loc 1 203 22
- 1124 005e 1A70 strb r2, [r3]
- 1125 .L59:
- 204:user_src/common.c **** }
- 205:user_src/common.c **** size--;
- 1126 .loc 1 205 13
- 1127 0060 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2
- 1128 0062 013B subs r3, r3, #1
- 1129 0064 FB71 strb r3, [r7, #7]
- 206:user_src/common.c **** num /= 10;
- 1130 .loc 1 206 13
- 1131 0066 FB68 ldr r3, [r7, #12]
- 1132 0068 334A ldr r2, .L65
- 1133 006a 82FB0312 smull r1, r2, r2, r3
- 1134 006e 9210 asrs r2, r2, #2
- 1135 0070 DB17 asrs r3, r3, #31
- 1136 0072 D31A subs r3, r2, r3
- 1137 0074 FB60 str r3, [r7, #12]
- 207:user_src/common.c **** }while(num);
- 1138 .loc 1 207 5
- 1139 0076 FB68 ldr r3, [r7, #12]
- 1140 0078 002B cmp r3, #0
- 1141 007a D8D1 bne .L60
- 208:user_src/common.c ****
- 209:user_src/common.c **** str[i] = '\0';
- 1142 .loc 1 209 8
- 1143 007c 7B69 ldr r3, [r7, #20]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s page 25
- 1144 007e BA68 ldr r2, [r7, #8]
- 1145 0080 1344 add r3, r3, r2
- 1146 .loc 1 209 12
- 1147 0082 0022 movs r2, #0
- 1148 0084 1A70 strb r2, [r3]
- 210:user_src/common.c ****
- 211:user_src/common.c **** //确定开始调整的�置
- 212:user_src/common.c **** int j = 0;
- 1149 .loc 1 212 9
- 1150 0086 0023 movs r3, #0
- 1151 0088 3B61 str r3, [r7, #16]
- 213:user_src/common.c **** if(str[0]=='-')//如果有负�,负��用调整
- 1152 .loc 1 213 11
- 1153 008a BB68 ldr r3, [r7, #8]
- 1154 008c 1B78 ldrb r3, [r3] @ zero_extendqisi2
- 1155 .loc 1 213 7
- 1156 008e 2D2B cmp r3, #45
- 1157 0090 42D1 bne .L62
- 214:user_src/common.c **** {
- 215:user_src/common.c **** j = 1;//从第二�开始调整
- 1158 .loc 1 215 11
- 1159 0092 0123 movs r3, #1
- 1160 0094 3B61 str r3, [r7, #16]
- 216:user_src/common.c **** ++i;//由于有负�,所以交�的对称轴也��移1�
- 1161 .loc 1 216 9
- 1162 0096 7B69 ldr r3, [r7, #20]
- 1163 0098 0133 adds r3, r3, #1
- 1164 009a 7B61 str r3, [r7, #20]
- 217:user_src/common.c **** }
- 218:user_src/common.c **** //对称交�
- 219:user_src/common.c **** for(;j<i/2;j++)
- 1165 .loc 1 219 5
- 1166 009c 3CE0 b .L62
- 1167 .L63:
- 220:user_src/common.c **** {
- 221:user_src/common.c **** //对称交æ�¢ä¸¤ç«¯çš„值 其实就是çœ�下ä¸é—´å�˜é‡�交æ�¢a+b的值:a=a+b;b=a-b;a=a-
- 222:user_src/common.c **** str[j] = str[j] + str[i-1-j];
- 1168 .loc 1 222 21 discriminator 2
- 1169 009e 3B69 ldr r3, [r7, #16]
- 1170 00a0 BA68 ldr r2, [r7, #8]
- 1171 00a2 1344 add r3, r3, r2
- 1172 00a4 1978 ldrb r1, [r3] @ zero_extendqisi2
- 1173 .loc 1 222 32 discriminator 2
- 1174 00a6 7B69 ldr r3, [r7, #20]
- 1175 00a8 5A1E subs r2, r3, #1
- 1176 .loc 1 222 34 discriminator 2
- 1177 00aa 3B69 ldr r3, [r7, #16]
- 1178 00ac D31A subs r3, r2, r3
- 1179 00ae 1A46 mov r2, r3
- 1180 .loc 1 222 30 discriminator 2
- 1181 00b0 BB68 ldr r3, [r7, #8]
- 1182 00b2 1344 add r3, r3, r2
- 1183 00b4 1A78 ldrb r2, [r3] @ zero_extendqisi2
- 1184 .loc 1 222 12 discriminator 2
- 1185 00b6 3B69 ldr r3, [r7, #16]
- 1186 00b8 B868 ldr r0, [r7, #8]
- 1187 00ba 0344 add r3, r3, r0
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s page 26
- 1188 .loc 1 222 25 discriminator 2
- 1189 00bc 0A44 add r2, r2, r1
- 1190 00be D2B2 uxtb r2, r2
- 1191 .loc 1 222 16 discriminator 2
- 1192 00c0 1A70 strb r2, [r3]
- 223:user_src/common.c **** str[i-1-j] = str[j] - str[i-1-j];
- 1193 .loc 1 223 25 discriminator 2
- 1194 00c2 3B69 ldr r3, [r7, #16]
- 1195 00c4 BA68 ldr r2, [r7, #8]
- 1196 00c6 1344 add r3, r3, r2
- 1197 00c8 1978 ldrb r1, [r3] @ zero_extendqisi2
- 1198 .loc 1 223 36 discriminator 2
- 1199 00ca 7B69 ldr r3, [r7, #20]
- 1200 00cc 5A1E subs r2, r3, #1
- 1201 .loc 1 223 38 discriminator 2
- 1202 00ce 3B69 ldr r3, [r7, #16]
- 1203 00d0 D31A subs r3, r2, r3
- 1204 00d2 1A46 mov r2, r3
- 1205 .loc 1 223 34 discriminator 2
- 1206 00d4 BB68 ldr r3, [r7, #8]
- 1207 00d6 1344 add r3, r3, r2
- 1208 00d8 1A78 ldrb r2, [r3] @ zero_extendqisi2
- 1209 .loc 1 223 14 discriminator 2
- 1210 00da 7B69 ldr r3, [r7, #20]
- 1211 00dc 581E subs r0, r3, #1
- 1212 .loc 1 223 16 discriminator 2
- 1213 00de 3B69 ldr r3, [r7, #16]
- 1214 00e0 C31A subs r3, r0, r3
- 1215 00e2 1846 mov r0, r3
- 1216 .loc 1 223 12 discriminator 2
- 1217 00e4 BB68 ldr r3, [r7, #8]
- 1218 00e6 0344 add r3, r3, r0
- 1219 .loc 1 223 29 discriminator 2
- 1220 00e8 8A1A subs r2, r1, r2
- 1221 00ea D2B2 uxtb r2, r2
- 1222 .loc 1 223 20 discriminator 2
- 1223 00ec 1A70 strb r2, [r3]
- 224:user_src/common.c **** str[j] = str[j] - str[i-1-j];
- 1224 .loc 1 224 21 discriminator 2
- 1225 00ee 3B69 ldr r3, [r7, #16]
- 1226 00f0 BA68 ldr r2, [r7, #8]
- 1227 00f2 1344 add r3, r3, r2
- 1228 00f4 1978 ldrb r1, [r3] @ zero_extendqisi2
- 1229 .loc 1 224 32 discriminator 2
- 1230 00f6 7B69 ldr r3, [r7, #20]
- 1231 00f8 5A1E subs r2, r3, #1
- 1232 .loc 1 224 34 discriminator 2
- 1233 00fa 3B69 ldr r3, [r7, #16]
- 1234 00fc D31A subs r3, r2, r3
- 1235 00fe 1A46 mov r2, r3
- 1236 .loc 1 224 30 discriminator 2
- 1237 0100 BB68 ldr r3, [r7, #8]
- 1238 0102 1344 add r3, r3, r2
- 1239 0104 1A78 ldrb r2, [r3] @ zero_extendqisi2
- 1240 .loc 1 224 12 discriminator 2
- 1241 0106 3B69 ldr r3, [r7, #16]
- 1242 0108 B868 ldr r0, [r7, #8]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s page 27
- 1243 010a 0344 add r3, r3, r0
- 1244 .loc 1 224 25 discriminator 2
- 1245 010c 8A1A subs r2, r1, r2
- 1246 010e D2B2 uxtb r2, r2
- 1247 .loc 1 224 16 discriminator 2
- 1248 0110 1A70 strb r2, [r3]
- 219:user_src/common.c **** {
- 1249 .loc 1 219 17 discriminator 2
- 1250 0112 3B69 ldr r3, [r7, #16]
- 1251 0114 0133 adds r3, r3, #1
- 1252 0116 3B61 str r3, [r7, #16]
- 1253 .L62:
- 219:user_src/common.c **** {
- 1254 .loc 1 219 13 discriminator 1
- 1255 0118 7B69 ldr r3, [r7, #20]
- 1256 011a DA0F lsrs r2, r3, #31
- 1257 011c 1344 add r3, r3, r2
- 1258 011e 5B10 asrs r3, r3, #1
- 1259 0120 1A46 mov r2, r3
- 219:user_src/common.c **** {
- 1260 .loc 1 219 5 discriminator 1
- 1261 0122 3B69 ldr r3, [r7, #16]
- 1262 0124 9342 cmp r3, r2
- 1263 0126 BADB blt .L63
- 225:user_src/common.c **** }
- 226:user_src/common.c ****
- 227:user_src/common.c **** return str;//返回转��的值
- 1264 .loc 1 227 12
- 1265 0128 BB68 ldr r3, [r7, #8]
- 228:user_src/common.c **** }
- 1266 .loc 1 228 1
- 1267 012a 1846 mov r0, r3
- 1268 012c 1C37 adds r7, r7, #28
- 1269 .LCFI44:
- 1270 .cfi_def_cfa_offset 4
- 1271 012e BD46 mov sp, r7
- 1272 .LCFI45:
- 1273 .cfi_def_cfa_register 13
- 1274 @ sp needed
- 1275 0130 5DF8047B ldr r7, [sp], #4
- 1276 .LCFI46:
- 1277 .cfi_restore 7
- 1278 .cfi_def_cfa_offset 0
- 1279 0134 7047 bx lr
- 1280 .L66:
- 1281 0136 00BF .align 2
- 1282 .L65:
- 1283 0138 67666666 .word 1717986919
- 1284 .cfi_endproc
- 1285 .LFE137:
- 1287 .section .text.Check_dev_link,"ax",%progbits
- 1288 .align 1
- 1289 .global Check_dev_link
- 1290 .syntax unified
- 1291 .thumb
- 1292 .thumb_func
- 1294 Check_dev_link:
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s page 28
- 1295 .LFB138:
- 229:user_src/common.c ****
- 230:user_src/common.c ****
- 231:user_src/common.c **** /**
- 232:user_src/common.c **** * @file Check_dev_link
- 233:user_src/common.c **** * @brief 检测设备连接状�
- 234:user_src/common.c **** * @param dev 设备 ms 时间毫秒 p数�地� size数�大�
- 235:user_src/common.c **** * @details
- 236:user_src/common.c **** * @author Zhang Sir
- 237:user_src/common.c **** **/
- 238:user_src/common.c **** void Check_dev_link(Connect_check *dev,uint16_t ms,char *p,uint16_t size)
- 239:user_src/common.c **** {
- 1296 .loc 1 239 1
- 1297 .cfi_startproc
- 1298 @ args = 0, pretend = 0, frame = 16
- 1299 @ frame_needed = 1, uses_anonymous_args = 0
- 1300 0000 80B5 push {r7, lr}
- 1301 .LCFI47:
- 1302 .cfi_def_cfa_offset 8
- 1303 .cfi_offset 7, -8
- 1304 .cfi_offset 14, -4
- 1305 0002 84B0 sub sp, sp, #16
- 1306 .LCFI48:
- 1307 .cfi_def_cfa_offset 24
- 1308 0004 00AF add r7, sp, #0
- 1309 .LCFI49:
- 1310 .cfi_def_cfa_register 7
- 1311 0006 F860 str r0, [r7, #12]
- 1312 0008 7A60 str r2, [r7, #4]
- 1313 000a 1A46 mov r2, r3
- 1314 000c 0B46 mov r3, r1 @ movhi
- 1315 000e 7B81 strh r3, [r7, #10] @ movhi
- 1316 0010 1346 mov r3, r2 @ movhi
- 1317 0012 3B81 strh r3, [r7, #8] @ movhi
- 240:user_src/common.c **** if(dev->connect_status == COMP_NOEXIST)
- 1318 .loc 1 240 11
- 1319 0014 FB68 ldr r3, [r7, #12]
- 1320 0016 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2
- 1321 .loc 1 240 7
- 1322 0018 002B cmp r3, #0
- 1323 001a 1ED0 beq .L71
- 241:user_src/common.c **** return;
- 242:user_src/common.c ****
- 243:user_src/common.c **** dev->error_time = HAL_GetTick() - dev->recv_time;
- 1324 .loc 1 243 23
- 1325 001c FFF7FEFF bl HAL_GetTick
- 1326 0020 0246 mov r2, r0
- 1327 .loc 1 243 42
- 1328 0022 FB68 ldr r3, [r7, #12]
- 1329 0024 1B68 ldr r3, [r3]
- 1330 .loc 1 243 37
- 1331 0026 D31A subs r3, r2, r3
- 1332 0028 1A46 mov r2, r3
- 1333 .loc 1 243 21
- 1334 002a FB68 ldr r3, [r7, #12]
- 1335 002c 5A60 str r2, [r3, #4]
- 244:user_src/common.c ****
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s page 29
- 245:user_src/common.c **** if (dev->connect_status == COMP_NORMAL && (dev->error_time > ms))
- 1336 .loc 1 245 12
- 1337 002e FB68 ldr r3, [r7, #12]
- 1338 0030 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2
- 1339 .loc 1 245 8
- 1340 0032 012B cmp r3, #1
- 1341 0034 12D1 bne .L67
- 1342 .loc 1 245 51 discriminator 1
- 1343 0036 FB68 ldr r3, [r7, #12]
- 1344 0038 5A68 ldr r2, [r3, #4]
- 1345 .loc 1 245 64 discriminator 1
- 1346 003a 7B89 ldrh r3, [r7, #10]
- 1347 .loc 1 245 44 discriminator 1
- 1348 003c 9A42 cmp r2, r3
- 1349 003e 0DDD ble .L67
- 246:user_src/common.c **** {
- 247:user_src/common.c **** if(p != NULL)
- 1350 .loc 1 247 11
- 1351 0040 7B68 ldr r3, [r7, #4]
- 1352 0042 002B cmp r3, #0
- 1353 0044 05D0 beq .L70
- 248:user_src/common.c **** memset(p, 0, size);
- 1354 .loc 1 248 13
- 1355 0046 3B89 ldrh r3, [r7, #8]
- 1356 0048 1A46 mov r2, r3
- 1357 004a 0021 movs r1, #0
- 1358 004c 7868 ldr r0, [r7, #4]
- 1359 004e FFF7FEFF bl memset
- 1360 .L70:
- 249:user_src/common.c ****
- 250:user_src/common.c **** dev->connect_status = COMP_LOST;
- 1361 .loc 1 250 29
- 1362 0052 FB68 ldr r3, [r7, #12]
- 1363 0054 0222 movs r2, #2
- 1364 0056 1A72 strb r2, [r3, #8]
- 1365 0058 00E0 b .L67
- 1366 .L71:
- 241:user_src/common.c ****
- 1367 .loc 1 241 9
- 1368 005a 00BF nop
- 1369 .L67:
- 251:user_src/common.c **** }
- 252:user_src/common.c **** }
- 1370 .loc 1 252 1
- 1371 005c 1037 adds r7, r7, #16
- 1372 .LCFI50:
- 1373 .cfi_def_cfa_offset 8
- 1374 005e BD46 mov sp, r7
- 1375 .LCFI51:
- 1376 .cfi_def_cfa_register 13
- 1377 @ sp needed
- 1378 0060 80BD pop {r7, pc}
- 1379 .cfi_endproc
- 1380 .LFE138:
- 1382 .section .text.Check_Timer_Ready,"ax",%progbits
- 1383 .align 1
- 1384 .global Check_Timer_Ready
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s page 30
- 1385 .syntax unified
- 1386 .thumb
- 1387 .thumb_func
- 1389 Check_Timer_Ready:
- 1390 .LFB139:
- 253:user_src/common.c ****
- 254:user_src/common.c **** /**
- 255:user_src/common.c **** * @file Check_Timer_Ready
- 256:user_src/common.c **** * @brief 定时器循环检测
- 257:user_src/common.c **** * @param
- 258:user_src/common.c **** * @details
- 259:user_src/common.c **** * @author Zhang Sir
- 260:user_src/common.c **** **/
- 261:user_src/common.c **** bool Check_Timer_Ready(uint32_t *time,uint16_t HZ)
- 262:user_src/common.c **** {
- 1391 .loc 1 262 1
- 1392 .cfi_startproc
- 1393 @ args = 0, pretend = 0, frame = 8
- 1394 @ frame_needed = 1, uses_anonymous_args = 0
- 1395 0000 80B5 push {r7, lr}
- 1396 .LCFI52:
- 1397 .cfi_def_cfa_offset 8
- 1398 .cfi_offset 7, -8
- 1399 .cfi_offset 14, -4
- 1400 0002 82B0 sub sp, sp, #8
- 1401 .LCFI53:
- 1402 .cfi_def_cfa_offset 16
- 1403 0004 00AF add r7, sp, #0
- 1404 .LCFI54:
- 1405 .cfi_def_cfa_register 7
- 1406 0006 7860 str r0, [r7, #4]
- 1407 0008 0B46 mov r3, r1
- 1408 000a 7B80 strh r3, [r7, #2] @ movhi
- 263:user_src/common.c **** if(HAL_GetTick() - *time >= HZ)
- 1409 .loc 1 263 8
- 1410 000c FFF7FEFF bl HAL_GetTick
- 1411 0010 0246 mov r2, r0
- 1412 .loc 1 263 24
- 1413 0012 7B68 ldr r3, [r7, #4]
- 1414 0014 1B68 ldr r3, [r3]
- 1415 .loc 1 263 22
- 1416 0016 D21A subs r2, r2, r3
- 1417 .loc 1 263 30
- 1418 0018 7B88 ldrh r3, [r7, #2]
- 1419 .loc 1 263 7
- 1420 001a 9A42 cmp r2, r3
- 1421 001c 06D3 bcc .L73
- 264:user_src/common.c **** {
- 265:user_src/common.c **** *time = HAL_GetTick();
- 1422 .loc 1 265 17
- 1423 001e FFF7FEFF bl HAL_GetTick
- 1424 0022 0246 mov r2, r0
- 1425 .loc 1 265 15
- 1426 0024 7B68 ldr r3, [r7, #4]
- 1427 0026 1A60 str r2, [r3]
- 266:user_src/common.c **** return true;
- 1428 .loc 1 266 16
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s page 31
- 1429 0028 0123 movs r3, #1
- 1430 002a 00E0 b .L74
- 1431 .L73:
- 267:user_src/common.c **** }
- 268:user_src/common.c **** return false;
- 1432 .loc 1 268 12
- 1433 002c 0023 movs r3, #0
- 1434 .L74:
- 269:user_src/common.c **** }
- 1435 .loc 1 269 1
- 1436 002e 1846 mov r0, r3
- 1437 0030 0837 adds r7, r7, #8
- 1438 .LCFI55:
- 1439 .cfi_def_cfa_offset 8
- 1440 0032 BD46 mov sp, r7
- 1441 .LCFI56:
- 1442 .cfi_def_cfa_register 13
- 1443 @ sp needed
- 1444 0034 80BD pop {r7, pc}
- 1445 .cfi_endproc
- 1446 .LFE139:
- 1448 .section .text.math_cons_i16,"ax",%progbits
- 1449 .align 1
- 1450 .global math_cons_i16
- 1451 .syntax unified
- 1452 .thumb
- 1453 .thumb_func
- 1455 math_cons_i16:
- 1456 .LFB140:
- 270:user_src/common.c ****
- 271:user_src/common.c **** int16_t math_cons_i16( int16_t value, int16_t min, int16_t max )
- 272:user_src/common.c **** {
- 1457 .loc 1 272 1
- 1458 .cfi_startproc
- 1459 @ args = 0, pretend = 0, frame = 8
- 1460 @ frame_needed = 1, uses_anonymous_args = 0
- 1461 @ link register save eliminated.
- 1462 0000 80B4 push {r7}
- 1463 .LCFI57:
- 1464 .cfi_def_cfa_offset 4
- 1465 .cfi_offset 7, -4
- 1466 0002 83B0 sub sp, sp, #12
- 1467 .LCFI58:
- 1468 .cfi_def_cfa_offset 16
- 1469 0004 00AF add r7, sp, #0
- 1470 .LCFI59:
- 1471 .cfi_def_cfa_register 7
- 1472 0006 0346 mov r3, r0
- 1473 0008 FB80 strh r3, [r7, #6] @ movhi
- 1474 000a 0B46 mov r3, r1 @ movhi
- 1475 000c BB80 strh r3, [r7, #4] @ movhi
- 1476 000e 1346 mov r3, r2 @ movhi
- 1477 0010 7B80 strh r3, [r7, #2] @ movhi
- 273:user_src/common.c **** return ( ( value ) < ( min ) ? ( min ) : ( ( value ) > ( max ) ? ( max ) : ( value ) ) );
- 1478 .loc 1 273 44
- 1479 0012 B7F90620 ldrsh r2, [r7, #6]
- 1480 0016 B7F90430 ldrsh r3, [r7, #4]
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s page 32
- 1481 001a 9A42 cmp r2, r3
- 1482 001c 08DB blt .L76
- 1483 .loc 1 273 44 is_stmt 0 discriminator 1
- 1484 001e B7F90620 ldrsh r2, [r7, #6]
- 1485 0022 B7F90230 ldrsh r3, [r7, #2]
- 1486 0026 9342 cmp r3, r2
- 1487 0028 A8BF it ge
- 1488 002a 1346 movge r3, r2
- 1489 002c 1BB2 sxth r3, r3
- 1490 002e 01E0 b .L77
- 1491 .L76:
- 1492 .loc 1 273 44 discriminator 2
- 1493 0030 B7F90430 ldrsh r3, [r7, #4]
- 1494 .L77:
- 274:user_src/common.c **** }
- 1495 .loc 1 274 1 is_stmt 1 discriminator 4
- 1496 0034 1846 mov r0, r3
- 1497 0036 0C37 adds r7, r7, #12
- 1498 .LCFI60:
- 1499 .cfi_def_cfa_offset 4
- 1500 0038 BD46 mov sp, r7
- 1501 .LCFI61:
- 1502 .cfi_def_cfa_register 13
- 1503 @ sp needed
- 1504 003a 5DF8047B ldr r7, [sp], #4
- 1505 .LCFI62:
- 1506 .cfi_restore 7
- 1507 .cfi_def_cfa_offset 0
- 1508 003e 7047 bx lr
- 1509 .cfi_endproc
- 1510 .LFE140:
- 1512 .section .text.StrArrayNull,"ax",%progbits
- 1513 .align 1
- 1514 .global StrArrayNull
- 1515 .syntax unified
- 1516 .thumb
- 1517 .thumb_func
- 1519 StrArrayNull:
- 1520 .LFB141:
- 275:user_src/common.c ****
- 276:user_src/common.c **** //数组array是�为空,�有'\0'以�'0'
- 277:user_src/common.c **** bool StrArrayNull( uint8_t *array, int aLen )
- 278:user_src/common.c **** {
- 1521 .loc 1 278 1
- 1522 .cfi_startproc
- 1523 @ args = 0, pretend = 0, frame = 16
- 1524 @ frame_needed = 1, uses_anonymous_args = 0
- 1525 @ link register save eliminated.
- 1526 0000 80B4 push {r7}
- 1527 .LCFI63:
- 1528 .cfi_def_cfa_offset 4
- 1529 .cfi_offset 7, -4
- 1530 0002 85B0 sub sp, sp, #20
- 1531 .LCFI64:
- 1532 .cfi_def_cfa_offset 24
- 1533 0004 00AF add r7, sp, #0
- 1534 .LCFI65:
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s page 33
- 1535 .cfi_def_cfa_register 7
- 1536 0006 7860 str r0, [r7, #4]
- 1537 0008 3960 str r1, [r7]
- 1538 .LBB5:
- 279:user_src/common.c **** for ( int i = 0; i < aLen; i++ )
- 1539 .loc 1 279 15
- 1540 000a 0023 movs r3, #0
- 1541 000c FB60 str r3, [r7, #12]
- 1542 .loc 1 279 5
- 1543 000e 10E0 b .L80
- 1544 .L83:
- 280:user_src/common.c **** {
- 281:user_src/common.c **** if(array[i] != 0 && array[i] != '0')
- 1545 .loc 1 281 17
- 1546 0010 FB68 ldr r3, [r7, #12]
- 1547 0012 7A68 ldr r2, [r7, #4]
- 1548 0014 1344 add r3, r3, r2
- 1549 0016 1B78 ldrb r3, [r3] @ zero_extendqisi2
- 1550 .loc 1 281 11
- 1551 0018 002B cmp r3, #0
- 1552 001a 07D0 beq .L81
- 1553 .loc 1 281 34 discriminator 1
- 1554 001c FB68 ldr r3, [r7, #12]
- 1555 001e 7A68 ldr r2, [r7, #4]
- 1556 0020 1344 add r3, r3, r2
- 1557 0022 1B78 ldrb r3, [r3] @ zero_extendqisi2
- 1558 .loc 1 281 26 discriminator 1
- 1559 0024 302B cmp r3, #48
- 1560 0026 01D0 beq .L81
- 282:user_src/common.c **** return false;
- 1561 .loc 1 282 20
- 1562 0028 0023 movs r3, #0
- 1563 002a 07E0 b .L82
- 1564 .L81:
- 279:user_src/common.c **** for ( int i = 0; i < aLen; i++ )
- 1565 .loc 1 279 33 discriminator 2
- 1566 002c FB68 ldr r3, [r7, #12]
- 1567 002e 0133 adds r3, r3, #1
- 1568 0030 FB60 str r3, [r7, #12]
- 1569 .L80:
- 279:user_src/common.c **** for ( int i = 0; i < aLen; i++ )
- 1570 .loc 1 279 5 discriminator 1
- 1571 0032 FA68 ldr r2, [r7, #12]
- 1572 0034 3B68 ldr r3, [r7]
- 1573 0036 9A42 cmp r2, r3
- 1574 0038 EADB blt .L83
- 1575 .LBE5:
- 283:user_src/common.c **** }
- 284:user_src/common.c ****
- 285:user_src/common.c **** return true;
- 1576 .loc 1 285 12
- 1577 003a 0123 movs r3, #1
- 1578 .L82:
- 286:user_src/common.c **** }
- 1579 .loc 1 286 1
- 1580 003c 1846 mov r0, r3
- 1581 003e 1437 adds r7, r7, #20
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s page 34
- 1582 .LCFI66:
- 1583 .cfi_def_cfa_offset 4
- 1584 0040 BD46 mov sp, r7
- 1585 .LCFI67:
- 1586 .cfi_def_cfa_register 13
- 1587 @ sp needed
- 1588 0042 5DF8047B ldr r7, [sp], #4
- 1589 .LCFI68:
- 1590 .cfi_restore 7
- 1591 .cfi_def_cfa_offset 0
- 1592 0046 7047 bx lr
- 1593 .cfi_endproc
- 1594 .LFE141:
- 1596 .text
- 1597 .Letext0:
- 1598 .file 2 "d:\\arm-gcc\\arm-none-eabi\\include\\machine\\_default_types.h"
- 1599 .file 3 "d:\\arm-gcc\\arm-none-eabi\\include\\sys\\_stdint.h"
- 1600 .file 4 "user_inc/common.h"
- 1601 .file 5 "user_inc/soft_obstacle.h"
- 1602 .file 6 "d:\\arm-gcc\\arm-none-eabi\\include\\stdlib.h"
- ARM GAS C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s page 35
- DEFINED SYMBOLS
- *ABS*:00000000 common.c
- C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s:20 .text.findStrInArray:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s:26 .text.findStrInArray:00000000 findStrInArray
- C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s:128 .text.buf2int:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s:134 .text.buf2int:00000000 buf2int
- C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s:207 .text.u16t_buf_sort:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s:213 .text.u16t_buf_sort:00000000 u16t_buf_sort
- C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s:351 .text.mimomocib_buf_sort:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s:357 .text.mimomocib_buf_sort:00000000 mimomocib_buf_sort
- C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s:515 .text.short2buf:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s:521 .text.short2buf:00000000 short2buf
- C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s:594 .text.char_to_hex_string:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s:600 .text.char_to_hex_string:00000000 char_to_hex_string
- C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s:822 .rodata:00000000 $d
- C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s:826 .text.itoa:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s:832 .text.itoa:00000000 itoa
- C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s:1039 .text.itoa:0000010c $d
- C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s:1044 .text.Int2String:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s:1050 .text.Int2String:00000000 Int2String
- C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s:1283 .text.Int2String:00000138 $d
- C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s:1288 .text.Check_dev_link:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s:1294 .text.Check_dev_link:00000000 Check_dev_link
- C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s:1383 .text.Check_Timer_Ready:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s:1389 .text.Check_Timer_Ready:00000000 Check_Timer_Ready
- C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s:1449 .text.math_cons_i16:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s:1455 .text.math_cons_i16:00000000 math_cons_i16
- C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s:1513 .text.StrArrayNull:00000000 $t
- C:\Users\zl835\AppData\Local\Temp\ccrecGQK.s:1519 .text.StrArrayNull:00000000 StrArrayNull
- UNDEFINED SYMBOLS
- strlen
- memcmp
- HAL_GetTick
- memset
|