Files
nand2tetris/MARS/Simulationen/Simulation 01 Logische Befehle and, or, xor, nor/Simulation 01.asm
2025-03-26 09:10:55 +01:00

69 lines
1.3 KiB
NASM

######################################################################
##### Beispielcode fuer logische Operationen and, or, xor, nor #####
######################################################################
.data
source1: .word 0xFFFF0000
source2: .word 0x46A1F0B7
and: .asciiz "\n11111111111111110000000000000000 AND\n01000110101000011111000010110111 =\n"
or: .asciiz "\n11111111111111110000000000000000 OR\n01000110101000011111000010110111 =\n"
xor: .asciiz "\n11111111111111110000000000000000 XOR\n01000110101000011111000010110111 =\n"
nor: .asciiz "\n11111111111111110000000000000000 NOR\n01000110101000011111000010110111 =\n"
nl: .asciiz "\n"
.text
lw $s1, source1 # $s1 = 0xFFFF0000
lw $s2, source2 # $s2 = 0x46A1F0B7
# Operationen
and $s3, $s1, $s2
or $s4, $s1, $s2
xor $s5, $s1, $s2
nor $s6, $s1, $s2
# Ausgabe and
la $a0, and
li $v0, 4
syscall
move $a0, $s3
li $v0, 35
syscall
la $a0, nl
li $v0, 4
syscall
# Ausgabe or
la $a0, or
li $v0, 4
syscall
move $a0, $s4
li $v0, 35
syscall
la $a0, nl
li $v0, 4
syscall
# Ausgabe xor
la $a0, xor
li $v0, 4
syscall
move $a0, $s5
li $v0, 35
syscall
la $a0, nl
li $v0, 4
syscall
# Ausgabe nor
la $a0, nor
li $v0, 4
syscall
move $a0, $s6
li $v0, 35
syscall
# exit
li $v0, 10
syscall