Close the browser and PathSim after you have stepped
through
each of the machine instructions and recorded your observed
values. You have completed this lab exercise.
#Assembly Code
lw $a0, 0($t1)
lw $a1, 4($t1)
lw $a2 8($t1)
add $t2, $a0, $a1
addi $t2, $t2, 2
beq $t2, $zero, 1 # No labels. Branch offsets must be provided in hex.
and $t4, $a0, $a3, $a3
or $t5, $a1, $a2
sw $t5, 1c($t1) # Again, offset is in hex.
#Data Memory
8:00000128
C:0000a35a
10:0000f696
#Register Values
9:00000008
add $t2, $a0, $a1
|
|
WriteReg Mux |
Registers |
Sign Ext |
ALU Input 2 Mux |
ALU Cont |
ALU |
Input |
I[20-16] |
I[25-21] |
I[15-0] |
ReadData2 |
I[5-0] |
ReadData 1 |
|
|
|
|
|
|
Input |
I[15-11] |
I[20-16] |
|
SignExtOut |
|
ALU Input 2 Mux Out |
|
|
|
|
Input |
|
WriteReg |
|
|
|
Input |
WriteData |
|
Control |
RegDst |
RegWrite |
ALUSrc |
ALUOp |
ALUControl |
|
|
|
|
|
Output |
WriteReg |
ReadData1 |
SignExtOut |
ALU Input2 Mux Out |
ALUControl |
Zero |
|
|
|
|
|
|
Output |
|
ReadData2 |
|
|
|
ALUResult |
|
|
addi $t2, $t2, 2 |
|
WriteReg Mux |
Registers |
Sign Ext |
ALU Input 2 Mux |
ALU Cont |
ALU |
Input |
I[20-16] |
I[25-21] |
I[15-0] |
ReadData2 |
I[5-0] |
ReadData 1 |
|
|
|
|
|
|
Input |
I[15-11] |
I[20-16] |
|
SignExtOut |
|
ALU Input 2 Mux Out |
|
|
|
|
Input |
|
WriteReg |
|
|
|
Input |
WriteData |
|
Control |
RegDst |
RegWrite |
ALUSrc |
ALUOp |
ALUControl |
|
|
|
|
|
Output |
WriteReg |
ReadData1 |
SignExtOut |
ALU Input2 Mux Out |
ALUControl |
Zero |
|
|
|
|
|
|
Output |
|
ReadData2 |
|
|
|
ALUResult |
|
|
beq $t2, $zero, 1 |
|
WriteReg Mux |
Registers |
Sign Ext |
ALU Input 2 Mux |
ALU Cont |
ALU |
Input |
I[20-16] |
I[25-21] |
I[15-0] |
ReadData2 |
I[5-0] |
ReadData 1 |
|
|
|
|
|
|
Input |
I[15-11] |
I[20-16] |
|
SignExtOut |
|
ALU Input 2 Mux Out |
|
|
|
|
Input |
|
WriteReg |
|
|
|
Input |
WriteData |
|
Control |
RegDst |
RegWrite |
ALUSrc |
ALUOp |
ALUControl |
|
|
|
|
|
Output |
WriteReg |
ReadData1 |
SignExtOut |
ALU Input2 Mux Out |
ALUControl |
Zero |
|
|
|
|
|
|
Output |
|
ReadData2 |
|
|
|
ALUResult |
|
|
lw $a2, 8($t1) |
|
WriteReg Mux |
Registers |
Sign Ext |
ALU Input 2 Mux |
ALU Cont |
ALU |
Input |
I[20-16] |
I[25-21] |
I[15-0] |
ReadData2 |
I[5-0] |
ReadData 1 |
|
|
|
|
|
|
Input |
I[15-11] |
I[20-16] |
|
SignExtOut |
|
ALU Input 2 Mux Out |
|
|
|
|
Input |
|
WriteReg |
|
|
|
Input |
WriteData |
|
Control |
RegDst |
RegWrite |
ALUSrc |
ALUOp |
ALUControl |
|
|
|
|
|
Output |
WriteReg |
ReadData1 |
SignExtOut |
ALU Input2 Mux Out |
ALUControl |
Zero |
|
|
|
|
|
|
Output |
|
ReadData2 |
|
|
|
ALUResult |
|
|