RTEMS-6
Annotated Report
libbspcmdline
Sun Feb 28 23:49:25 2021
00106734 <rtems_bsp_cmdline_get_param>:
return NULL;
if ( !value )
return NULL;
if ( !length )
106734: 2a00 cmp r2, #0
106736: bf18 it ne
106738: 2900 cmpne r1, #0
{
10673a: b570 push {r4, r5, r6, lr}
if ( !length )
10673c: bf0c ite eq
10673e: f04f 0e01 moveq.w lr, #1
106742: f04f 0e00 movne.w lr, #0
106746: 2800 cmp r0, #0
106748: bf14 ite ne
10674a: 4674 movne r4, lr
10674c: f04e 0401 orreq.w r4, lr, #1
106750: bb3c cbnz r4, 1067a2 <rtems_bsp_cmdline_get_param+0x6e>
return NULL;
value[0] = '\0';
106752: 700c strb r4, [r1, #0]
p = rtems_bsp_cmdline_get_param_raw( name );
106754: 460d mov r5, r1
106756: 4616 mov r6, r2
106758: f000 f826 bl 1067a8 <rtems_bsp_cmdline_get_param_raw>
if ( !p )
10675c: 4684 mov ip, r0
10675e: b300 cbz r0, 1067a2 <rtems_bsp_cmdline_get_param+0x6e>
for (i=0 ; *p && i<length-1; ) {
106760: 7803 ldrb r3, [r0, #0]
106762: b1e3 cbz r3, 10679e <rtems_bsp_cmdline_get_param+0x6a>
106764: 1e72 subs r2, r6, #1
106766: d01a beq.n 10679e <rtems_bsp_cmdline_get_param+0x6a> <== ALWAYS TAKEN
quotes=0;
106768: 46a6 mov lr, r4
10676a: 1954 adds r4, r2, r5
value[i] = '\0';
10676c: 4670 mov r0, lr
10676e: 462a mov r2, r5
106770: e001 b.n 106776 <rtems_bsp_cmdline_get_param+0x42>
for (i=0 ; *p && i<length-1; ) {
106772: 42a2 cmp r2, r4
106774: d013 beq.n 10679e <rtems_bsp_cmdline_get_param+0x6a>
if ( *p == '\"' ) {
106776: 2b22 cmp r3, #34 ; 0x22
quotes++;
106778: bf08 it eq
10677a: f10e 0e01 addeq.w lr, lr, #1
if ( *p == '\"' ) {
10677e: d007 beq.n 106790 <rtems_bsp_cmdline_get_param+0x5c>
} else if ( ((quotes % 2) == 0) && *p == ' ' )
106780: f1a3 0120 sub.w r1, r3, #32
106784: fab1 f181 clz r1, r1
106788: 0949 lsrs r1, r1, #5
10678a: ea31 010e bics.w r1, r1, lr
10678e: d106 bne.n 10679e <rtems_bsp_cmdline_get_param+0x6a>
value[i++] = *p++;
106790: 7013 strb r3, [r2, #0]
value[i] = '\0';
106792: f802 0f01 strb.w r0, [r2, #1]!
for (i=0 ; *p && i<length-1; ) {
106796: f81c 3f01 ldrb.w r3, [ip, #1]!
10679a: 2b00 cmp r3, #0
10679c: d1e9 bne.n 106772 <rtems_bsp_cmdline_get_param+0x3e>
quotes=0;
10679e: 4628 mov r0, r5
return NULL;
copy_string( p, value, length );
return value;
}
1067a0: bd70 pop {r4, r5, r6, pc}
return NULL;
1067a2: 2000 movs r0, #0
}
1067a4: bd70 pop {r4, r5, r6, pc}
1067a6: bf00 nop