First we need a Instruction Pointer (IP) that is to be modified by the jump instruction. Let’s use Register 15 (0x0f) as the IP and set the initial value to 0xFFFFFFFC.
|
Define IP 0x0f Register IP = 0xfffffffe |
At power up we load Register 0x0f (IP) to the External Memory Unit and wait for the first instruction to arrive at the input of the LUT.
|
LUT 0
Code JSel=0 Fetch=0 Alu=SEL_A DstY=MEM_ADDR SrcB=0 SrcA=IP
Code JSel=1 Fetch=1 Alu=Wait DstY=0 SrcB=0 SrcA=0 |
Now we define the Operation Code of the jump instruction to be 0xf0. The jump is relative to the IP that follows the jump instruction.
|
LUT 0xf0
Code JSel=0 Fetch=0 Alu=ADD DstY=MEM_ADDR SrcB=IDV SrcA=MEM_ADDR Code JSel=1 Fetch=1 Alu=Wait DstY=0 SrcB=0 SrcA=0
|