Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/arch/sh/lib/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 867 B image not shown  

Quelle  memset.S   Sprache: Sparc

 
/* SPDX-License-Identifier: GPL-2.0 */
/* $Id: memset.S,v 1.1 2000/04/14 16:49:01 mjd Exp $
 *
 * "memset" implementation of SuperH
 *
 * Copyright (C) 1999  Niibe Yutaka
 *
 */


/*
 *            void *memset(void *s, int c, size_t n);
 */


#include <linux/linkage.h>

ENTRY(memset)
 tst r6,r6
 bt/s 5f  ! if n=0, do nothing
  add r6,r4
 mov #12,r0
 cmp/gt r6,r0
 bt/s 4f  ! if it's too small, set a byte at once
  mov r4,r0
 and #3,r0
 cmp/eq #0,r0
 bt/s 2f  ! It's aligned
  sub r0,r6
1:
 dt r0
 bf/s 1b
  mov.b r5,@-r4
2:    ! make VVVV
 extu.b r5,r5
 swap.b r5,r0  !   V0
 or r0,r5  !   VV
 swap.w r5,r0  ! VV00
 or r0,r5  ! VVVV
 !
 mov r6,r0
 shlr2 r0
 shlr r0  ! r0 = r6 >> 3
3:
 dt r0
 mov.l r5,@-r4  ! set 8-byte at once
 bf/s 3b
  mov.l r5,@-r4
 !
 mov #7,r0
 and r0,r6
 tst r6,r6
 bt 5f
 ! fill bytes
4:
 dt r6
 bf/s 4b
  mov.b r5,@-r4
5:
 rts
  mov r4,r0

Messung V0.5
C=72 H=100 G=86

¤ Dauer der Verarbeitung: 0.11 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

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.