Address space is limited to 12-bit.

END	code=0	len=1	[cp:4, ----]

/*LOAD*/ code=1
COPY AX,BX		len=2	[cp:4, 01, rg:2, 0-, rg:2, ----]
COPY AX,c(BX)		len=2	[cp:4, 01, rg:2, 10, rg:2, ----]
COPY AX,mem		len=3	[cp:4, 10, rg:2, 00, --,   addr:4+8]
COPY AX,mem+c(BX)	len=3	[cp:4, 11, rg:2, 10, rg:2, addr:4+8]
COPY AX,#8		len=2	[cp:4, 00, rg:2, data:8]
				[0010  ar  nn]  [id  nn  xxxx] [xxxxxxxx]
				a=address, r=register, i=indirect, d=direction
/*COPY(STORE)*/
COPY c(BX),AX		len=2	[cp:4, 01, rg:2, 11, rg:2, ----]
COPY mem,AX		len=3	[cp:4, 10, rg:2, 01, --,   addr:4+8]
COPY mem+c(BX),AX	len=3	[cp:4, 11, rg:2, 11, rg:2, addr:4+8]
				[0011  ar  nn]  [i1  nn  xxxx] [xxxxxxxx]
				a=address, r=register, i=indirect, d=1

ADD	code=2
ADD AX,BX	len=2	[cp:4, 01, rg:2, 0-, rg:2, ----]
ADD AX,mem	len=3	[cp:4, 10, rg:2, 0-, --,   addr:4+8]
ADD AX,#8	len=2	[cp:4, 00, rg:2, data:8]

SUB	code=3
MUL	code=4
DIV	code=5
CMP	code=6

JMP mem	code=7	len=2	[cp:4, addr:4+8]
JNB mem	code=8	len=2	[cp:4, addr:4+8]
JB mem	code=9	len=2	[cp:4, addr:4+8]

CALL mem	code=A	len=2	[cp:4, addr:4+8]
RTN		code=B	len=1	[cp:4, ----]
PUSH AX		code=C	len=1	[cp:4, --, rg:2]
POP AX		code=D	len=1	[cp:4, --, rg:2]

IN AX	code=B	len=E	[cp:4, --, rg:2]
OUT AX	code=C	len=F	[cp:4, --, rg:2]
