Anda di halaman 1dari 4

Anglila Nayanggita 21120110120027 ( R1 )

Tugas Arsitektur Komputer


Dalam C
a = ? b = ? c = ? if (a==b) d = a + b else if (a!=c) d = a + c else d = b + c

Dalam MIPS
main : .data .text li $v0,5 syscall move $t0,$v0 li $v0,5 syscall move $t1,$v0 li $v0,5 syscall move $t2,$v0 beq $t0,$t1,true bne $t0,$t2,benar add $t3,$t2,$t1 move $a0,$t3 li $v0 , 1 syscall li $v0 , 10 syscall true : add $t3,$t0,$t1 move $a0,$t3 li $v0 , 1 syscall li $v0 , 10 syscall benar : add $t3,$t0,$t2 move $a0,$t3 li $v0,1 syscall li $v0,10 syscall

Analisis

Gambar 1 Perintah memasukkan nilai integer

Perintah li $v0,5 (li=load immutable {belum tahu maksudnya untuk apa},


$v0=menyimpan

hasil perhitungan,

5=memasukkan

nilai integer)

berfungsi untuk

memasukkan sebuah nilai dimana nilai tersebut akhirnya akan disimpan seperti pada gambar 3.

Gambar 2 Perintah memanggil console dan memasukkan nilai

Perintah seperti pada gambar 2 diatas digunakan untuk memanggil console dan menginputkan nilai.

Gambar 3 Perintah memindahkan nilai

Perintah selanjutnya adalah memindahkan nilai 7 pada v0 ke temporary (penyimpanan sementara) t0.

Gambar 4 Perintah input dan memindahkan nilai

Perintah dalam bujur sangkar diatas sama seperti apa yang telah dijelaskan sebelumnya (gambar 1-3), yaitu memasukkan nilai 3 dan 7 dan memindahkannya ke temporary t2 dan t3.

Gambar 5 Perintah apabila kondisi nilai t0=t2 menuju true

Perintah selanjutnya yaitu beq $t0,$t1,true yang menunjukkan fungsi persamaan (if-else). Apabila nilai t0=t1 maka akan menuju ke true yang mana nantinya akan menjumlahkan nilai yang disimpan di t0 dan nilai yang disimpan di t1 yang akan disimpan ke
t3

dalam bentuk hexadesimal

dan memindahkannya ke

a0

serta

menampilkannya ke console dalam nilai sebenarnya. Contoh ada pada gambar 6. Pernyataan true yaitu :
true : add $t3,$t0,$t1 move $a0,$t3 li $v0,1 syscall

Contoh

Gambar 6 Hasil akhir persamaan t0=t2

Gambar 7 Kondisi apabila nilai t0!=t2 menuju benar

Karena nilai t0 tidak sama dengan t1 maka akan menuju ke pernyataan selanjutnya yang juga merupakan suatu kondisi yaitu apabila nilai t0 tidak sama dengan t2 maka akan menuju ke benar yang mana nantinya akan menjumlahkan nilai t0 dan t2 yang akan

disimpan ke t3 dan memindahkannya ke a0 serta menampilkannya ke console. Contoh ada pada gambar 8. Pernyataan benar yaitu :
benar : add $t3,$t0,$t2 move $a0,$t3 li $v0,1 syscall

Contoh

Gambar 8 Hasil akhir apabila t0!=t2

Karena nilai yg kita inputkan tadi (t0=7, t1=3, t2=7) tidak sesuai dengan kondisi keduanya seperti diatas maka akan menuju ke pernyataan kedua yaitu add $t3,$t2,$t1 yang berarti menambahkan nilai yang tersimpan di $t2 dan nilai yang tersimpan di $t1 kemudian menyimpan hasilnya pada $t3. Nilai yang disimpan di t3 akan dipindahkan ke a0 yang akan menampilkan hasil penjumlahan ke layar pada console seperti pada gambar 9.

Gambar 9 Hasil akhir apabila t0=t2

Anda mungkin juga menyukai