69 lines
1.3 KiB
NASM
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
|