Partial support for immediate data

Registers takes 16 values, ie. 0xf so there's still
0xf0 available for immediate data.
Make assembler and VM partially support the scheme.