RTEMS-6
Annotated Report
libbspcmdline
Mon Mar 1 00:21:50 2021
0000000040023fd0 <rtems_bsp_cmdline_get_param>:
return NULL;
if ( !value )
return NULL;
if ( !length )
40023fd0: f100003f cmp x1, #0x0
40023fd4: fa401844 ccmp x2, #0x0, #0x4, ne // ne = any
40023fd8: fa401804 ccmp x0, #0x0, #0x4, ne // ne = any
40023fdc: 54000580 b.eq 4002408c <rtems_bsp_cmdline_get_param+0xbc> // b.none
{
40023fe0: a9be7bfd stp x29, x30, [sp, #-32]!
40023fe4: 910003fd mov x29, sp
40023fe8: a90153f3 stp x19, x20, [sp, #16]
40023fec: aa0103f3 mov x19, x1
40023ff0: aa0203f4 mov x20, x2
return NULL;
value[0] = '\0';
40023ff4: 3900003f strb wzr, [x1]
p = rtems_bsp_cmdline_get_param_raw( name );
40023ff8: 9400002a bl 400240a0 <rtems_bsp_cmdline_get_param_raw>
if ( !p )
40023ffc: b4000400 cbz x0, 4002407c <rtems_bsp_cmdline_get_param+0xac>
for (i=0 ; *p && i<length-1; ) {
40024000: 39400003 ldrb w3, [x0]
40024004: 34000343 cbz w3, 4002406c <rtems_bsp_cmdline_get_param+0x9c> <== NEVER TAKEN
40024008: f1000681 subs x1, x20, #0x1
4002400c: 54000300 b.eq 4002406c <rtems_bsp_cmdline_get_param+0x9c> // b.none<== NEVER TAKEN
40024010: d2800002 mov x2, #0x0 // #0
quotes=0;
40024014: 52800004 mov w4, #0x0 // #0
40024018: 1400000c b 40024048 <rtems_bsp_cmdline_get_param+0x78>
} else if ( ((quotes % 2) == 0) && *p == ' ' )
4002401c: 7100807f cmp w3, #0x20
40024020: 1a9f17e5 cset w5, eq // eq = none
40024024: 6a2400bf bics wzr, w5, w4
40024028: 54000221 b.ne 4002406c <rtems_bsp_cmdline_get_param+0x9c> // b.any
value[i++] = *p++;
4002402c: 38226a63 strb w3, [x19, x2]
value[i] = '\0';
40024030: 91000442 add x2, x2, #0x1
for (i=0 ; *p && i<length-1; ) {
40024034: eb01005f cmp x2, x1
value[i] = '\0';
40024038: 38226a7f strb wzr, [x19, x2]
for (i=0 ; *p && i<length-1; ) {
4002403c: 38626803 ldrb w3, [x0, x2]
40024040: 34000163 cbz w3, 4002406c <rtems_bsp_cmdline_get_param+0x9c>
40024044: 54000140 b.eq 4002406c <rtems_bsp_cmdline_get_param+0x9c> // b.none
if ( *p == '\"' ) {
40024048: 7100887f cmp w3, #0x22
4002404c: 54fffe81 b.ne 4002401c <rtems_bsp_cmdline_get_param+0x4c> // b.any
value[i++] = *p++;
40024050: 38226a63 strb w3, [x19, x2]
40024054: 91000442 add x2, x2, #0x1
quotes++;
40024058: 11000484 add w4, w4, #0x1
for (i=0 ; *p && i<length-1; ) {
4002405c: eb01005f cmp x2, x1
value[i] = '\0';
40024060: 38226a7f strb wzr, [x19, x2]
for (i=0 ; *p && i<length-1; ) {
40024064: 38626803 ldrb w3, [x0, x2]
40024068: 35fffee3 cbnz w3, 40024044 <rtems_bsp_cmdline_get_param+0x74> <== ALWAYS TAKEN
quotes=0;
4002406c: aa1303e0 mov x0, x19
return NULL;
copy_string( p, value, length );
return value;
}
40024070: a94153f3 ldp x19, x20, [sp, #16]
40024074: a8c27bfd ldp x29, x30, [sp], #32
40024078: d65f03c0 ret
return NULL;
4002407c: d2800000 mov x0, #0x0 // #0
}
40024080: a94153f3 ldp x19, x20, [sp, #16]
40024084: a8c27bfd ldp x29, x30, [sp], #32
40024088: d65f03c0 ret
return NULL;
4002408c: d2800000 mov x0, #0x0 // #0
}
40024090: d65f03c0 ret
...