Name: Box: Date:
HW9
-
You are writing a MIPS assembly program. Your program has a
beq
instructions at line0x0100 0400
. You wish thisbeq
to branch to location0x0200 0000
.- (3 points) How close can the
beq
get to the goal address? Express your answer as the address nearest to the target address as possible.
- (3 points) What is a possible method to allow long-range conditional branches?
- (3 points) How close can the
-
You are writing a program for a processor with 8-bit instructions. The branch instructions for this processor only allow 3-bit branch immediate.
- (3 points) Assuming the immediate is sign extended, what is the branch range of the processor?
- (3 points) What is the problem with such a branch range?
-
Compute the correct hex value for the branch targets below.
Address Instruction Hex representation 0x00400028
j test
0x08QQQQQQ
0x0040002c
loop: lw $t1, 0($11)
0x8d690000
0x00400030
addi $t3, $t3, -4
0x216bfffc
0x00400034
test: bne $t1, $0, loop
0x1520RRRR
- (3 points) What is the hex value for
QQQQQQ
that represents the jump target? Show your work.
- (3 points) What is the hex value for
RRRR
that represents the branch not equal target? Show your work.
- (3 points) What is the hex value for