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