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


Quelle  busy_loop.S   Sprache: Sparc

 
/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Copyright 2014, Michael Ellerman, IBM Corp.
 */


#include <ppc-asm.h>

 .text

FUNC_START(core_busy_loop)
 stdu %r1, -168(%r1)
 std r14, 160(%r1)
 std r15, 152(%r1)
 std r16, 144(%r1)
 std r17, 136(%r1)
 std r18, 128(%r1)
 std r19, 120(%r1)
 std r20, 112(%r1)
 std r21, 104(%r1)
 std r22, 96(%r1)
 std r23, 88(%r1)
 std r24, 80(%r1)
 std r25, 72(%r1)
 std r26, 64(%r1)
 std r27, 56(%r1)
 std r28, 48(%r1)
 std r29, 40(%r1)
 std r30, 32(%r1)
 std r31, 24(%r1)

 li  r3, 0x3030
 std  r3, -96(%r1)
 li  r4, 0x4040
 std  r4, -104(%r1)
 li  r5, 0x5050
 std  r5, -112(%r1)
 li  r6, 0x6060
 std  r6, -120(%r1)
 li  r7, 0x7070
 std  r7, -128(%r1)
 li  r8, 0x0808
 std  r8, -136(%r1)
 li  r9, 0x0909
 std  r9, -144(%r1)
 li r10, 0x1010
 std r10, -152(%r1)
 li r11, 0x1111
 std r11, -160(%r1)
 li r14, 0x1414
 std r14, -168(%r1)
 li r15, 0x1515
 std r15, -176(%r1)
 li r16, 0x1616
 std r16, -184(%r1)
 li r17, 0x1717
 std r17, -192(%r1)
 li r18, 0x1818
 std r18, -200(%r1)
 li r19, 0x1919
 std r19, -208(%r1)
 li r20, 0x2020
 std r20, -216(%r1)
 li r21, 0x2121
 std r21, -224(%r1)
 li r22, 0x2222
 std r22, -232(%r1)
 li r23, 0x2323
 std r23, -240(%r1)
 li r24, 0x2424
 std r24, -248(%r1)
 li r25, 0x2525
 std r25, -256(%r1)
 li r26, 0x2626
 std r26, -264(%r1)
 li r27, 0x2727
 std r27, -272(%r1)
 li r28, 0x2828
 std r28, -280(%r1)
 li r29, 0x2929
 std r29, -288(%r1)
 li r30, 0x3030
 li r31, 0x3131

 li r3, 0
0: addi r3, r3, 1
 cmpwi r3, 100
 blt 0b

 /* Return 1 (fail) unless we get through all the checks */
 li r3, 1

 /* Check none of our registers have been corrupted */
 cmpwi r4,  0x4040
 bne 1f
 cmpwi r5,  0x5050
 bne 1f
 cmpwi r6,  0x6060
 bne 1f
 cmpwi r7,  0x7070
 bne 1f
 cmpwi r8,  0x0808
 bne 1f
 cmpwi r9,  0x0909
 bne 1f
 cmpwi r10, 0x1010
 bne 1f
 cmpwi r11, 0x1111
 bne 1f
 cmpwi r14, 0x1414
 bne 1f
 cmpwi r15, 0x1515
 bne 1f
 cmpwi r16, 0x1616
 bne 1f
 cmpwi r17, 0x1717
 bne 1f
 cmpwi r18, 0x1818
 bne 1f
 cmpwi r19, 0x1919
 bne 1f
 cmpwi r20, 0x2020
 bne 1f
 cmpwi r21, 0x2121
 bne 1f
 cmpwi r22, 0x2222
 bne 1f
 cmpwi r23, 0x2323
 bne 1f
 cmpwi r24, 0x2424
 bne 1f
 cmpwi r25, 0x2525
 bne 1f
 cmpwi r26, 0x2626
 bne 1f
 cmpwi r27, 0x2727
 bne 1f
 cmpwi r28, 0x2828
 bne 1f
 cmpwi r29, 0x2929
 bne 1f
 cmpwi r30, 0x3030
 bne 1f
 cmpwi r31, 0x3131
 bne 1f

 /* Load junk into all our registers before we reload them from the stack. */
 li r3,  0xde
 li r4,  0xad
 li r5,  0xbe
 li r6,  0xef
 li r7,  0xde
 li r8,  0xad
 li r9,  0xbe
 li r10, 0xef
 li r11, 0xde
 li r14, 0xad
 li r15, 0xbe
 li r16, 0xef
 li r17, 0xde
 li r18, 0xad
 li r19, 0xbe
 li r20, 0xef
 li r21, 0xde
 li r22, 0xad
 li r23, 0xbe
 li r24, 0xef
 li r25, 0xde
 li r26, 0xad
 li r27, 0xbe
 li r28, 0xef
 li r29, 0xdd

 ld r3, -96(%r1)
 cmpwi r3,  0x3030
 bne 1f
 ld r4, -104(%r1)
 cmpwi r4,  0x4040
 bne 1f
 ld r5, -112(%r1)
 cmpwi r5,  0x5050
 bne 1f
 ld r6, -120(%r1)
 cmpwi r6,  0x6060
 bne 1f
 ld r7, -128(%r1)
 cmpwi r7,  0x7070
 bne 1f
 ld r8, -136(%r1)
 cmpwi r8,  0x0808
 bne 1f
 ld r9, -144(%r1)
 cmpwi r9,  0x0909
 bne 1f
 ld r10, -152(%r1)
 cmpwi r10, 0x1010
 bne 1f
 ld r11, -160(%r1)
 cmpwi r11, 0x1111
 bne 1f
 ld r14, -168(%r1)
 cmpwi r14, 0x1414
 bne 1f
 ld r15, -176(%r1)
 cmpwi r15, 0x1515
 bne 1f
 ld r16, -184(%r1)
 cmpwi r16, 0x1616
 bne 1f
 ld r17, -192(%r1)
 cmpwi r17, 0x1717
 bne 1f
 ld r18, -200(%r1)
 cmpwi r18, 0x1818
 bne 1f
 ld r19, -208(%r1)
 cmpwi r19, 0x1919
 bne 1f
 ld r20, -216(%r1)
 cmpwi r20, 0x2020
 bne 1f
 ld r21, -224(%r1)
 cmpwi r21, 0x2121
 bne 1f
 ld r22, -232(%r1)
 cmpwi r22, 0x2222
 bne 1f
 ld r23, -240(%r1)
 cmpwi r23, 0x2323
 bne 1f
 ld r24, -248(%r1)
 cmpwi r24, 0x2424
 bne 1f
 ld r25, -256(%r1)
 cmpwi r25, 0x2525
 bne 1f
 ld r26, -264(%r1)
 cmpwi r26, 0x2626
 bne 1f
 ld r27, -272(%r1)
 cmpwi r27, 0x2727
 bne 1f
 ld r28, -280(%r1)
 cmpwi r28, 0x2828
 bne 1f
 ld r29, -288(%r1)
 cmpwi r29, 0x2929
 bne 1f

 /* Load 0 (success) to return */
 li r3, 0

1: ld r14, 160(%r1)
 ld r15, 152(%r1)
 ld r16, 144(%r1)
 ld r17, 136(%r1)
 ld r18, 128(%r1)
 ld r19, 120(%r1)
 ld r20, 112(%r1)
 ld r21, 104(%r1)
 ld r22, 96(%r1)
 ld r23, 88(%r1)
 ld r24, 80(%r1)
 ld r25, 72(%r1)
 ld r26, 64(%r1)
 ld r27, 56(%r1)
 ld r28, 48(%r1)
 ld r29, 40(%r1)
 ld r30, 32(%r1)
 ld r31, 24(%r1)
 addi %r1, %r1, 168
 blr

Messung V0.5
C=96 H=100 G=97

¤ Dauer der Verarbeitung: 0.3 Sekunden  ¤

*© 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.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge