Font size
WorksheetsPretest Introduction to QTSpim
Total questions: 20
Worksheet time: 7mins
Label dalam bahasa Assembly MIPS digunakan untuk?
Menandai instruksi yang harus dilewati
Menentukan alamat memori tertentu
Mengontrol aliran program
Menghitung jumlah instruksi
Menyimpan data konstan
Instruksi "beq" dalam bahasa Assembly MIPS digunakan untuk?
Menambahkan dua nilai register
Melakukan operasi logika AND antara register
Memeriksa apakah dua nilai register sama
Mengirimkan sinyal sistem
Mengurangi nilai register dengan konstan
Berikut adalah potongan kode bahasa Assembly MIPS. Apa yang dilakukan kode tersebut?
Menambahkan nilai dalam register $t1 dan $t2, lalu menyimpan hasilnya ke dalam alamat memori yang disimpan di register $a0.
Menambahkan nilai dalam register $t0 dan $t1, lalu menyimpan hasilnya ke dalam alamat memori yang disimpan di register $a0.
Menambahkan nilai dalam register $t1 dan $t2, lalu menyimpan hasilnya ke dalam register $t0.
Menyimpan nilai dalam register $t0 ke dalam alamat memori yang disimpan di register $a0.
Tidak melakukan apa-apa, kode tersebut tidak valid.
Sebuah fungsi dalam bahasa Assembly MIPS menerima dua parameter, yaitu bilangan bulat dalam register $a0 dan $a1. Fungsi tersebut akan mengembalikan nilai yang merupakan hasil perkalian dari kedua parameter tersebut. Berikut adalah potongan kode yang mewakili fungsi tersebut.
Apa nilai yang akan dikembalikan oleh fungsi ini jika $a0 berisi 5 dan $a1 berisi 7?
10
20
25
35
42
Berikut adalah potongan kode bahasa Assembly MIPS:
addi $t0, $zero, 10
addi $t1, $zero, 20
add $t2, $t0, $t1
Setelah eksekusi kode di atas, nilai yang tersimpan dalam register $t2 adalah:
0
10
20
30
40
Instruksi "jalr" dalam bahasa Assembly MIPS digunakan untuk?
Melakukan panggilan fungsi rekursif
Mengembalikan nilai dari fungsi
Melakukan panggilan fungsi yang tidak bersyarat
Mengalokasikan ruang stack untuk fungsi
Melompat ke alamat yang disimpan dalam register dan menjalankan instruksi dari sana
Dalam bahasa Assembly MIPS, apa perbedaan antara instruksi "add" dan "addi"?
"add" digunakan untuk menambahkan dua nilai register, sedangkan "addi" digunakan untuk menambahkan nilai register dengan nilai konstan.
Keduanya memiliki fungsi yang sama.
"addi" hanya dapat digunakan untuk register tertentu, sedangkan "add" dapat digunakan untuk semua register.
"add" digunakan untuk menambahkan nilai register dengan nilai konstan, sedangkan "addi" digunakan untuk menambahkan dua nilai register.
"addi" hanya dapat digunakan untuk nilai konstan positif.
Perbedaan utama antara instruksi "bne" dan "beq" dalam bahasa Assembly MIPS adalah?
Keduanya memiliki fungsi yang sama.
"beq" hanya akan bercabang jika kondisinya salah, sedangkan "bne" jika benar.
"bne" tidak melakukan percabangan, sedangkan "beq" melakukan percabangan.
"beq" tidak melakukan percabangan, sedangkan "bne" melakukan percabangan.
"bne" hanya akan bercabang jika kondisinya salah, sedangkan "beq" jika benar.
Perbedaan antara instruksi JMP, JE, JNE, JZ, dan JNZ dalam Assembly adalah?
Semua instruksi tersebut memiliki fungsi yang sama
Instruksi JMP digunakan untuk percabangan tak bersyarat, JE untuk percabangan jika sama, JNE untuk percabangan jika tidak sama, JZ untuk percabangan jika nol, dan JNZ untuk percabangan jika tidak nol
Instruksi JMP digunakan untuk percabangan jika sama, JE untuk percabangan jika nol, JNE untuk percabangan jika tidak sama, JZ untuk percabangan tak bersyarat, dan JNZ untuk percabangan jika tidak nol
Instruksi JMP digunakan untuk percabangan jika nol, JE untuk percabangan jika sama, JNE untuk percabangan tak bersyarat, JZ untuk percabangan jika tidak sama, dan JNZ untuk percabangan jika tidak nol
Instruksi JMP digunakan untuk percabangan tak bersyarat, JE untuk percabangan jika sama, JNE untuk percabangan jika tidak sama, JZ untuk percabangan jika nol, dan JNZ untuk percabangan jika tidak nol
Bagaimana cara menginisialisasi register $t0 dengan nilai 10 dalam program MIPS?
move $t0, 10
add $t0, $zero, 10
li $t0, 10
load $t0, 10
store $t0, 10
Bagaimana cara mendeklarasikan variabel dalam program MIPS?
Menggunakan keyword "var"
Menggunakan keyword "declare"
Menggunakan directive ".word"
Menggunakan directive ".var"
Menggunakan directive ".data"
Apa komponen utama dalam arsitektur MIPS?
ALU
Register File
Control Unit
Semua jawaban benar
Tidak ada yang benar
Apa yang dilakukan instruksi push dalam Assembly?
Menambah data ke dalam register
Menambah data ke dalam stack
Mengurangi data dari stack
Mengganti data dalam register
Tidak ada yang benar
Perhatikan potongan kode pada gambar diatas!
Apa yang dilakukan instruksi "sw $t1, SUM($0)"?
Mengurangi nilai register $t1 dengan nilai di alamat memori yang ditunjukkan oleh label SUM
Menambahkan nilai register $t1 dengan nilai di alamat memori yang ditunjukkan oleh label SUM
Mengalikan nilai register $t1 dengan nilai di alamat memori yang ditunjukkan oleh label SUM
Menyimpan nilai register $t1 ke alamat memori yang ditunjukkan oleh label SUM
Output nilai register $t1
Instruksi "jr" dalam bahasa Assembly MIPS digunakan untuk?
Melakukan panggilan sistem
Melakukan percabangan tak bersyarat
Kembali ke alamat yang disimpan dalam register
Mengganti nilai register
Mengontrol loop
Teknik loop unrolling dapat meningkatkan efisiensi kode Assembly dengan cara?
Menambahkan jumlah instruksi dalam loop
Mengurangi jumlah instruksi dalam loop
Mengubah cara pengalamatan dalam loop
Memperpanjang loop
Tidak mempengaruhi efisiensi kode
Apakah output dari potongan kode assembly berikut?
ADDI $t1, $zero, 5
ADDI $t2, $zero, 3
ADD $t3, $t1, $t2
Clue: fill in using numbers
(a)
Apakah pernyataan berikut yang digunakan untuk menggeser nilai di register $t0 sebanyak dua kali ke kiri?
SLL $t0, $t0, 2
LEFT_SHIFT $t0, $t0, 2
SHIFT_LEFT $t0, $t0, 2
SHL $t0, $t0, 2
SLT 2, $t0
Apakah pernyataan berikut yang digunakan untuk menginisialisasi array dengan panjang 8 dalam assembly?
ARRAY_SIZE 8
INIT_ARRAY 8
.space 8
.arr[8]
.data 8
mul $s0, $s1, $s2
add $s3, $s4, $s5
Apa nilai dari register $s0 dan $s3 setelah eksekusi kedua instruksi di atas?
$s0 = $s1 * $s2, $s3 = $s4 + $s5
$s0 = $s1 * $s2, $s3 = $s4 - $s
$s0 = $s1 + $s2, $s3 = $s4 - $s5
$s0 = $s1 + $s2, $s3 = $s4 + $s
$s0 = $s1 + $s2, $s3 = $s4 * $s5
