Use this new ISA table and update it in all places...
Opcopde Instruction Byte Description
------------------------------------------------------------------------------------------------
0000_0000 NOP 1 No Operation
................................................................................................
SSDD_0001 ADD D S 1 Add 2 registers and update to destination
SSDD_0010 SUB D S 1 Subtract source from dest. & update to dest.
SSDD_0011 MOV D S 1 Move from source to destination
SSDD_0100 AND D S 1 Logical AND operation; update to destination
SSDD_0101 OR D S 1 Logical OR operation; update to destination
SSDD_0110 XOR D S 1 Logical XOR operation; update to destination
SSDD_0111 LDR D S 1 Load destination from memory address in source
SSDD_1000 STR D S 1 Save register value to memory address in source
RRRR_1001 CMP R R 1 Compare two register values (unsigned); update the flag
RRRR_1010 CMPS R R 1 Compare two register values (signed); update the flag
................................................................................................
RR00_1011 SHL R 1 Shift register left by 1 bit
RR01_1011 SHR R 1 Shift register right by 1 bit
RR10_1011 INC R 1 Increment register
RR11_1011 DEC R 1 Decrement register
RR00_1100 LDI R VV 2 Load the value to register immediately
RR01_1100 LDM R AA 2 Load from value to register from memory
RR10_1100 SAV R AA 2 Save the register value to memory
RR11_1100 NOT R 1 Bitwise NOT operation; update same register
RR00_1101 CMI R VV 2 Compare register with immediate value (unsigned)
RR01_1101 CMIS R VV 2 Compare register with immediate value (signed)
RR10_1101 PUSH R 1 Push register value to stack
RR11_1101 POP R 1 Pop from stack and load to register
................................................................................................
0000_1110 JMP AA 3 Jump to address (without push PC to stack)
0001_1110 JMZ AA 3 Jump to address if Zero flag set
0010_1110 JNZ AA 3 Jump to address if Zero flag NOT set
0011_1110 JMC AA 3 Jump to address if Carry flag set
0100_1110 JME AA 3 Jump to address if Eql flag is set
0101_1110 JMG AA 3 Jump to address if Grt flag is set
0110_1110 JML AA 3 Jump to address if Lst flag is set
................................................................................................
0000_1111 PSHV VV 2 Push immediate value to stack
0001_1111 CALL AA 3 Push the PC to Stack (PC high & low) and load PC with new address
0010_1111 RTN 1 Pop the PC address and restore
0011_1111 OUT 1 Display unsigned value in 7-Segment
0100_1111 OUTS 1 Display signed value in 7-Segment
0101_1111 HLT 1 Halt the platform
1111_1111 RST 1 Reset it self
................................................................................................
update in
Use this new ISA table and update it in all places...
update in