Rechnerarchitektur (Praktikum 3)

.file "aufgabe1.S"
.text
.align 2
.global main
.type main,function

main:
@ args = 0, pretend = 0, frame = 12
@ frame_needed = 1, uses_anonymous_args = 0

LDR R0, LittleEndian // Lesen des Wert unter LittleEndian

bl func

STR R0, BigEndian // Speichern des Ergebnis unter BigEndian

func:
push {lr}
MOV R1, R0, ROR#8
LDR R2, AWert
AND R0, R0, R2
AND R1, R1, R2
ORR R0, R1, R0, ROR#24
pop {pc}

AWert:
.word 0xFF00FF00

LittleEndian:
.word 0x12345678

BigEndian:
.word 0x0

.Lfe1:
.size main,.Lfe1-main
.file "aufgabe2.S"
.text
.align 2
.global main
.type main,function
main:
@ args = 0, pretend = 0, frame = 12
@ frame_needed = 1, uses_anonymous_args = 0

MOV R0, #5 // Belegen des Registers R0 mit dem dezimalen Wert 5
RSB R3, R0, R0, LSL#4 // R3 = (R0*16)-R0
MOV R0, R3, LSL#4 // Multipliziere R3 mit 16 und schreibe das Ergebnis in R0

MOV R0, #5 // Belege Register R0 mit dem dezimalen Wert 5
RSB R0, R0, R0, LSL#9 // R0 = (R0*512)-R0

MOV PC, LR

.Lfe1:
.size main,.Lfe1-main
Maximilian
Maximilian

Herzlich willkommen! Ich bin Max, ein Informatiker mit über 15 Jahren Berufserfahrung. Hier teile ich meine Leidenschaften, Erlebnisse und Perspektiven. Ich lade dich ein, gemeinsam mit mir auf eine Entdeckungsreise zu gehen.

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahren Sie, wie Ihre Kommentardaten verarbeitet werden.