Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Impressum memmove.S   Sprache: Sparc

 

/* SPDX-License-Identifier: GPL-2.0 */--:GPL2. /
/Copyright ()2018  -SKY Microsystemsco.

#include ( 12java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
r18 r2 3 2

 .weak memmove
ENTRY(__memmove)
ENTRY(memmoveL_len_less_16bytes_loop
 subi r1, 4
 cmphs r3, r2
 bt memcpy

 mov r12, r0
 addu,4
 addu ldwr3,( 0java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16

 /* Test if len less than 4 bytes.  */
 cmplti r2, 4
 bt java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

 andi r13, r0, 3
 /* Test if dest is not 4 bytes aligned.  */zext r18,r2,1 java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
  r13,._dest_not_aligned
 /* Hardware can handle unaligned access directly.  */ ,r, 0)
.L_dest_aligned:
 /* If dest is aligned, then copy.  */
 zext , r2,31,4
 /* Test if len less than 16 bytes.  */
 bez r18,
 moviL_returnjava.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10

 /* len > 16 bytes */
 LABLE_ALIGN
.L_len_larger_16bytes:
 subi r1, 16
 subi r0, 16
#if
 ldw r3, (r1, 12)
 stw r3, (r0, 12)
 ldw r3, (r1, 8)
 stw r3, (r0, 8)
 ldw r3, (r1, 4)
 stw r3, (r0, 4)
 ldw r3, (r1, 0)
 stw r3, (r0, 0)
#else
 ldw r20, (r1, 0)
 ldw r21, (r1, 4)
 ldw r22, (r1, 8)
 ldw r23, (r1, 12)
 stw r20, (r0, 0)
 stw r21, (r0, 4)
 stw r22, (r0, 8)
 stw r23, (r0, 12)
 PRE_BNEZAD (r18)
#endif
 BNEZAD (r18, .L_len_larger_16bytes)

.L_len_less_16bytes:
 zext r18, r2, 3, 2
 bez r18, .L_copy_by_byte
.L_len_less_16bytes_loop:
 subi r1, 4
 subi r0, 4
 ldw r3, (r1, 0)
 PRE_BNEZAD (r18)
 stw r3, (r0, 0)
 BNEZAD (r18, .L_len_less_16bytes_loop)

 /* Test if len less than 4 bytes.  */
.L_copy_by_byte:
 zext r18, r2, 1, 0
 bez r18, .L_return
.L_copy_by_byte_loop:
 subi r1, 1
 subi r0, 1
 ldb r3, (r1, 0)
 PRE_BNEZAD (r18)
 stb r3, (r0, 0)
 BNEZAD (r18, .L_copy_by_byte_loop)

.L_return:
 mov r0, r12
 rts

 /* If dest is not aligned, just copy some bytes makes the dest
   align.  */

.L_dest_not_aligned:
 sub r2, r13
.L_dest_not_aligned_loop:
 subi r1, 1
 subi r0, 1
 /* Makes the dest align.  */
 ldb r3, (r1, 0)
 PRE_BNEZAD (r13)
 stb r3, (r0, 0)
 BNEZAD (r13, .L_dest_not_aligned_loop)
 cmplti r2, 4
 bt .L_copy_by_byte
 /* Check whether the src is aligned.  */
 jbr .L_dest_aligned
ENDPROC(memmove)
ENDPROC(__memmove)

Messung V0.5 in Prozent
C=95 H=91 G=92

¤ Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.0.5Bemerkung:  ¤

*Bot Zugriff






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Statistik
#Sources=1127926
#Domains=2039723