Δευτέρα 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)
*/

Sum

.text 0x00400000

li $v0,4
la $a0, msg1
syscall

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

li $v0,4
la $a0, msg2
syscall

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


add $t2,$t0,$t1

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

li $v0,4
la $a0,msg3

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

li $v0,4
la $a0,msg4
syscall

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

li $v0,10
syscall

.data
msg1: .asciiz "
Gave first number: "
msg2: .asciiz "
Gave second number: "
msg3: .asciiz "+"
msg4: .asciiz "="

/*
1.Το πρόγραμμα θα εμφανίσει "
Gave first number:" και δίνεις τον πρώτο αριθμό.
2. Μετά θα εμφανίσει το "Gave second number:" και δίνεις τον δεύτερο αριθμό.
3. Μετά κάνεις την πράξει της πρόσθεσης ανάμεσα στον πρώτο και δεύτερο αριθμό.
4. Στο τέλος εμφανίζει "πρώτος αριθμός+δεύτερο αριθμό=αποτέλεσμα"
π.χ. πρώτος αριθμός = 4
δεύτερος αριθμός =9
4+9=13
*/

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