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 name “proc” represents memory address 4000 10 . (NOTE: for the bne and jal 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 "bne $s0, $t5, loop". As described in the text, the offset to the branch destination is measured in words, and calculated from the instruction after the branch instruction.) loop: lw $s0,0($s3) subu $s3,$s3,$t1 bne $s0, $t5, loop andi $t2,$s4,20 jal proc
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 name “proc” represents memory address 4000 10 . (NOTE: for the bne and jal 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 "bne $s0, $t5, loop". As described in the text, the offset to the branch destination is measured in words, and calculated from the instruction after the branch
instruction.)
loop: lw $s0,0($s3)
subu $s3,$s3,$t1
bne $s0, $t5, loop
andi $t2,$s4,20
jal proc
Trending now
This is a popular solution!
Step by step
Solved in 2 steps