Name: Date:
HW6
-
You are writing a RISC-V assembly program. Your program has a
beq
instruction at address0x0100 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, give your answers in the correct number of digits in hexidecimal, including any leading zeros.
Address Instruction 0x00400028
jal x0, test
0x0040002c
loop: lw t1, 0(t2)
0x00400030
addi t3, t3, -4
0x00400034
test: bne t1, x0, loop
- (3 points) List both the byte offset and immediate used by the
jal
instruction? Show your work.
- (3 points) What is the hex value for the immediate in the
bne
instruction? Show your work.
- (3 points) List both the byte offset and immediate used by the