Δευτέρα 19 Μαρτίου 2012

Subtraction

.text 0x00400000

li $v0,4
la $a0, msg1
syscall

li $v0,5
syscall
move $t0,$v0

li $v0,5
syscall
move $t1,$v0

li $v0,5
syscall
move $t2,$v0

sub $t3,$t0,$t1
sub $t3,$t3,$t2

li $v0,1
move $a0,$t0
syscall

li $v0,4
la $a0,msg2
syscall

li $v0,1
move $a0,$t1
syscall

li $v0,4
la $a0,msg2
syscall

li $v0,1
move $a0,$t2
syscall

li $v0,4
la $a0,msg3
syscall

li $v0,1
move $a0,$t3
syscall

li $v0,10
syscall

.data
msg1: .asciiz "Gave three numbers: "
msg2: .asciiz "-"
msg3: .asciiz "="

/*
1. Το πρόγραμμα εμφανίζει το "Gave three numbers:" και δίνεις τρεις αριθμούς.
2. Μετά κάνεις αφαίρεση τους τρεις αριθμούς δύο δύο δηλαδή:
πρώτος αριθμός - δεύτερος αριθμός = αποτέλεσμα
αποτέλεσμα - τρίτος αριθμός = αποτέλεσμα
3. Εμφανίζει το πρώτος αριθμός-δεύτερος αριθμός-τρίτος αριθμός=αποτέλεσμα
π.χ.
πρώτος αριθμός=10
δεύτερος αριθμός=3
τρίτος αριθμός=5
θα εμφανίσει 10-3-5=2
*/

/*
Μαύρο = Αρχή/Τέλος Προγράμματος
Μπλε = Εμφάνιση κειμένου από το .data
Μπλε ανοιχτό = Εμφάνιση τιμής τις μεταβλητής
Κόκκινο = Εισαγωγή τιμής σε μεταβλητή
Πράσινο = Πράξεις
Καφέ = Κείμενα για εμφάνιση (.data)
*/