Vead,
You can make your computer any way you want.
ideas:
short jump: SJ:A
A=4 bit address. example, at address 123h, SJ:8, now you are at 128h, good for small loop. (only load low 4 bits of PC)
medium jump:MJ:A
A=4 bit address. example, at address 123h, SJ:8, now you are at 180h, good for large loop. (load center 4 bits and reset low 8 bits of PC)
Bank change:BC:A
A=4 bit address. example, at address 123h, BC:8, now you are at 823h, large jump. (load top 4 bits of PC)
----------------------------------------
12 bit jump is hard. You will have to mux in a new register.
long jump: LJ:AAA
load temp 3:0, load temp 7:4, load temp 11:8 now load temp 11:0 to PC 11:0
A1, A2, A3 are 4 bit. This is a slow instruction.
---------------------------------------------------------
Jump +/- is common instruction. Mux in a simple 4 bit adder to PC3:0. You might be able to break in to RCO--ENP+ENT wire so the carry will work.
Jump +/-: J+-:A
A=4 bit signed. PC11:0 + A. Can jump back up to 8 locations or forward up to 8. Fast small loop.
--------------------------------------------
subroutine: A small computer like this might have a stack size of one. Can do GoSub. Can not do nested Subs.
You will need a 12 bit register that looks at the output of the PC.
On GoSub it will store the PC. (PC+1)???
On Return the output of the Stack register will be loaded into the PC.
GoSub Direct:AAA will be slow. Maybe hard to make.
GoSub Bank:A The address gos to PC11:8, PC7:0=0
GoSub:A sends you to page A location 0. GoSub:3 will sent you to 300h.
This will give you 16 fast locations for subroutines
-----------------------------------------------------
Some ideas from computers I used years ago. In these very simple computers, the instruction are a little strange because the goal is to make the hardware simple.