Files
nand2tetris/MARS/Simulationen/Simulation 03 Schiebeoperationen sll, srl, sra/Simulation 03.asm
2025-03-26 09:10:55 +01:00

45 lines
1.1 KiB
NASM

####################################################################
##### Beispielcode für Schiebeoperationen sll, srl, sra #####
####################################################################
.data
src: .word 0xf30002a8
sll: .asciiz "\nshift left logical\n11110011000000000000001010101000 um 4 Stellen = \n"
srl: .asciiz "\nshift right logical\n11110011000000000000001010101000 um 4 Stellen = \n"
sra: .asciiz "\nshift right arithmetic\n11110011000000000000001010101000 um 4 Stellen = \n"
.text
lw $s0, src # $s0 = 0xf30002a8
# Schiebeoperationen
sll $s1, $s0, 4 # Schiebe den Inhalt von $s0 um 4 Stelle nach links, fuelle rechts mit 0en auf
srl $s2, $s0, 4 # Schiebe den Inhalt von $s0 um 4 Stellen nach rechts, fuelle links mit 0en auf
sra $s3, $s0, 4 # Schiebe den Inhalt von $s0 um 4 Stellen nach rechts, fuelle links mit dem Vorzeichenbit auf
# Ausgabe sll
la $a0, sll
li $v0, 4
syscall
move $a0, $s1
li $v0, 35
syscall
# Ausgabe srl
la $a0, srl
li $v0, 4
syscall
move $a0, $s2
li $v0, 35
syscall
# Ausgabe sra
la $a0, sra
li $v0, 4
syscall
move $a0, $s3
li $v0, 35
syscall
# exit
li $v0, 10
syscall