// encoding
    // https://codeabbey.github.io/heavy-data-1/msc-4-asm-manual-1973.pdf

    // only word BEFORE the colon shall be recognised, the rest shall be counted as if it where a comment
    // x shall count as 0 or 1
#P:
    0P: r0:r1
    1P: r2:r3
    2P: r4:r5
    3P: r6:r7
    4P: r8:r9
    5P: r10:r11
    6P: r12:r13
    7P: r14:r15
RP:
    000:0P
    001:1P
    010:2P
    011:3P
    100:4P
    101:5P
    110:6P
    111:7P
REG:
    0000:r0
    0001:r1
    0010:r2
    0011:r3
    0100:r4
    0101:r5
    0110:r6
    0111:r7
    1000:r8
    1001:r9
    1010:r10
    1011:r11
    1100:r12
    1101:r13
    1110:r14
    1111:r15
xx:
    00:ADD
    01:SUB
    10:LD
    11:XCH
xxxx:
    0000:CLR
    0001:CLC
    0010:IAC
    0011:CMC
    0100:CMA
    0101:RAL
    0110:RAR
    0111:TCC
    1000:DAC
    1001:TCS
    1010:STC
    1011:DAA
    1100:KBP
CN:
  //1xxx: invert all other jump conditions
    
    0xx1: none //jump if test signal of 4004 is = 0
    1xx1: none //jump if test signal of 4004 is = 1
    0x1x: none //jump if carry bit = 1
    1x1x: none //jump if carry bit = 0
    01xx: none //jump if accumulator = 0
    11xx: none //jump if accumulator != 0
OP:
    0000:WRM
    0001:WMP
    0010:WRR
    0011:WPM
    0100:WR0
    0101:WR1
    0110:WR2
    0111:WR3
    1000:SBM
    1001:RDM
    1010:RDR
    1011:ADM
    1100:RD0
    1101:RD1
    1110:RD2
    1111:RD3

    /* consecutive sequence will be concated
    * example:
    * |DATA|DATA|
    * assuming DATA is 4 bits long
    * indicates DATA takes up 8 bits
    */
    
DATA:
	xxxx:DATA
ADDR:
	xxxx:ADDR
	
	// | does nothing and can act as a visual seperator to help visualize the structure of an encoding's binary layout

FIN: |0011|RP|0| // 0011 000 0  OR 0011 001 0 OR 0011 010 0 and so on 0011 111 0
INC: |0110|REG |
     |10|xx|REG|
     |1111|xxxx|
FIM: |0010|RP|0|DATA|DATA|
LDM: |1101|DATA|
JUN: |0100|ADDR|ADDR|ADDR|
JIN: |0011|RP|1|
JCN: |0001|CN  |ADDR|ADDR|
ISZ: |0111|REG |ADDR|ADDR|
JMS: |0101|ADDR|ADDR|ADDR|
BBL: |1100|DATA|
NOP: |0000|0000|
DCL: |1111|1101|
SRC: |0010|RP|1|
     |1110|OP  |