Outline the machine language instruction format (i.e., describe how the machine language instruction is divided into fields and state what each field is used for), and give the decimal value of each field, for each instruction in the following block of code. Assume that the code begins at memory address 500010. (NOTE: for the beq and j instructions, look carefully at the descriptions in the lecture notes for how branch and j format instructions are represented in machine language. Also be aware that when run using the default settings, QtSpim does not actually calculate the correct numeric constant field for branches, and so it will not show the correct machine code for "beq $t0, $s6, out". As described in the lecture notes and the text, the offset to the branch destination is measured in words, and calculated from the instruction after the branch instruction.) loop: addiu $s7, $s7, 4 lw $t0, 8($s7) beq $t0, $s6, out j loop out: addu $s7, $s7, $s1
Outline the machine language instruction format (i.e., describe how the
machine language instruction is divided into fields and state what each field is used for),
and give the decimal value of each field, for each instruction in the following block of
code. Assume that the code begins at memory address 500010. (NOTE: for the beq and j
instructions, look carefully at the descriptions in the lecture notes for how branch and j
format instructions are represented in machine language. Also be aware that when run
using the default settings, QtSpim does not actually calculate the correct numeric constant
field for branches, and so it will not show the correct machine code for "beq $t0, $s6, out".
As described in the lecture notes and the text, the offset to the branch destination is
measured in words, and calculated from the instruction after the branch instruction.)
loop: addiu $s7, $s7, 4
lw $t0, 8($s7)
beq $t0, $s6, out
j loop
out: addu $s7, $s7, $s1
Step by step
Solved in 2 steps