Dokumente und Mars-Simulator
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
##########################################################################################
|
||||
# liest zwei Integerzahlen ein, subtrahiert die zweite von der ersten, gibt Ergebnis aus #
|
||||
##########################################################################################
|
||||
|
||||
.data
|
||||
prompt1: .asciiz "\nBitte die erste Zahl eingeben:, x = "
|
||||
prompt2: .asciiz "\nBitte die zweite Zahl eingeben, y = "
|
||||
message: .asciiz "\nDas Ergebnis der Subtraktion ist x - y = "
|
||||
|
||||
.text
|
||||
# Ausgabe der ersten Nachricht: prompt1
|
||||
li $v0, 4 # der Wert 4 fuer den syscall bedeutet: print string
|
||||
la $a0, prompt1 # laedt die Adresse des ersten Strings in $a0
|
||||
syscall
|
||||
|
||||
# erste Zahl einlesen und im temporaeren Register $t0 ablegen
|
||||
li $v0, 5 # der Wert 5 fuer den syscall bedeutet: read integer
|
||||
syscall
|
||||
move $t0, $v0
|
||||
|
||||
# Ausgabe der zweiten Nachricht: prompt2
|
||||
li $v0, 4
|
||||
la $a0, prompt2
|
||||
syscall
|
||||
|
||||
# zweite Zahl einlesen und in $t1 ablegen
|
||||
li $v0, 5
|
||||
syscall
|
||||
move $t1, $v0
|
||||
|
||||
# Ausgabe der dritten Nachricht: message
|
||||
li $v0, 4
|
||||
la $a0, message
|
||||
syscall
|
||||
|
||||
# Subtraktion
|
||||
sub $t2, $t0, $t1
|
||||
|
||||
# Ausgabe der Differenz
|
||||
li $v0, 1
|
||||
move $a0, $t2
|
||||
syscall
|
||||
|
||||
# exit
|
||||
li $v0, 10
|
||||
syscall
|
||||
Reference in New Issue
Block a user