Updated ISA
This commit is contained in:
parent
b4ad6d084c
commit
8aaff235cd
Binary file not shown.
|
@ -1,51 +1,213 @@
|
||||||
Halt = (A & ~B & ~C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L)
|
Halt (ORG) = A & ~B & ~C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L
|
||||||
|
|
||||||
Interrupt = (~A & B & ~C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L)
|
Halt (CNF) = A & ~B & ~C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L
|
||||||
|
|
||||||
Branch if Zero = (A & B & ~C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L)
|
Halt (DNF) = A & ~B & ~C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L
|
||||||
|
|
||||||
Block interrupts = (~A & ~B & C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L)
|
|
||||||
|
|
||||||
Unblock interrupts = (A & ~B & C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L)
|
|
||||||
|
|
||||||
Read Last Address = ((A | ~A) & (B | ~B) & (C | ~C) & ~D & E & ~F & ~G & ~H & ~I & ~J & ~K & ~L)
|
Branch if Zero (ORG) = B & ~A & ~C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L
|
||||||
|
|
||||||
Read Interrupt Device = ((A | ~A) & (B | ~B) & (C | ~C) & D & E & ~F & ~G & ~H & ~I & ~J & ~K & ~L)
|
Branch if Zero (CNF) = B & ~A & ~C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L
|
||||||
|
|
||||||
Read Memory = ((A | ~A) & (B | ~B) & (C | ~C) & ~D & ~E & F & ~G & ~H & ~I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & D & E & F & ~G & ~H & ~I & ~J & ~K & ~L)
|
Branch if Zero (DNF) = B & ~A & ~C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L
|
||||||
|
|
||||||
Write Memory = ((A | ~A) & (B | ~B) & (C | ~C) & D & ~E & F & ~G & ~H & ~I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & ~D & E & F & ~G & ~H & ~I & ~J & ~K & ~L)
|
|
||||||
|
|
||||||
Use Memory Pointer = ((A | ~A) & (B | ~B) & (C | ~C) & ~D & ~E & F & ~G & ~H & ~I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & D & ~E & F & ~G & ~H & ~I & ~J & ~K & ~L)
|
|
||||||
|
|
||||||
Use Stack Pointer = ((A | ~A) & (B | ~B) & (C | ~C) & ~D & E & F & ~G & ~H & ~I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & D & E & F & ~G & ~H & ~I & ~J & ~K & ~L)
|
Branch if Not Zero (ORG) = A & B & ~C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L
|
||||||
|
|
||||||
Load Immediate = ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & H & ~I & ~J & ~K & ~L)
|
Branch if Not Zero (CNF) = A & B & ~C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L
|
||||||
|
|
||||||
Write Reg 1 = ((A | ~A) & (B | ~B) & (C | ~C) & ~D & E & ~F & ~G & ~H & ~I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & D & E & ~F & ~G & ~H & ~I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & ~D & ~E & F & ~G & ~H & ~I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & ~D & E & F & ~G & ~H & ~I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & ~G & ~H & I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & G & ~H & I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & ~G & H & I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & G & H & I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & ~J & K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & ~J & ~K & L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & ~K & L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & ~J & K & L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & K & L)
|
Branch if Not Zero (DNF) = A & B & ~C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L
|
||||||
|
|
||||||
Read Reg 1 = ((A | ~A) & (B | ~B) & (C | ~C) & D & ~E & F & ~G & ~H & ~I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & D & E & F & ~G & ~H & ~I & ~J & ~K & ~L)
|
|
||||||
|
|
||||||
Read Reg 2 = ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & ~G & ~H & I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & G & ~H & I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & ~G & H & I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & G & H & I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & ~J & K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & ~J & ~K & L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & ~K & L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & ~J & K & L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & K & L)
|
|
||||||
|
|
||||||
Read Reg 3 = ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & ~J & K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & ~J & ~K & L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & ~K & L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & ~J & K & L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & K & L)
|
Branch if Positive (ORG) = C & ~A & ~B & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L
|
||||||
|
|
||||||
Left Shift = ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & ~G & ~H & I & ~J & ~K & ~L)
|
Branch if Positive (CNF) = C & ~A & ~B & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L
|
||||||
|
|
||||||
Right Shift = ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & G & ~H & I & ~J & ~K & ~L)
|
Branch if Positive (DNF) = C & ~A & ~B & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L
|
||||||
|
|
||||||
AND = ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & K & ~L)
|
|
||||||
|
|
||||||
OR = ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & ~J & K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & ~J & K & L)
|
|
||||||
|
|
||||||
XOR = ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & ~K & L)
|
Branch if Negative (ORG) = A & C & ~B & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L
|
||||||
|
|
||||||
NOT out = ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & ~J & K & L)
|
Branch if Negative (CNF) = A & C & ~B & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L
|
||||||
|
|
||||||
NOT Reg 3 = ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & G & H & I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & ~J & ~K & L)
|
Branch if Negative (DNF) = A & C & ~B & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L
|
||||||
|
|
||||||
Add = ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & ~G & H & I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & G & H & I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & ~J & ~K & L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & K & L)
|
|
||||||
|
|
||||||
Inject Carry = ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & ~G & H & I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & G & H & I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & ~J & ~K & L)
|
|
||||||
|
|
||||||
One as Reg 3 = ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & G & H & I & ~J & ~K & ~L)
|
Read Memory (ORG) = (E & F & ~D & ~G & ~H & ~I & ~J & ~K & ~L) | (F & ~D & ~E & ~G & ~H & ~I & ~J & ~K & ~L)
|
||||||
|
|
||||||
|
Read Memory (CNF) = F & ~D & ~G & ~H & ~I & ~J & ~K & ~L
|
||||||
|
|
||||||
|
Read Memory (DNF) = F & ~D & ~G & ~H & ~I & ~J & ~K & ~L
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Write Memory (ORG) = (D & E & F & ~G & ~H & ~I & ~J & ~K & ~L) | (D & F & ~E & ~G & ~H & ~I & ~J & ~K & ~L)
|
||||||
|
|
||||||
|
Write Memory (CNF) = D & F & ~G & ~H & ~I & ~J & ~K & ~L
|
||||||
|
|
||||||
|
Write Memory (DNF) = D & F & ~G & ~H & ~I & ~J & ~K & ~L
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Use Memory Pointer (ORG) = (D & F & ~E & ~G & ~H & ~I & ~J & ~K & ~L) | (F & ~D & ~E & ~G & ~H & ~I & ~J & ~K & ~L)
|
||||||
|
|
||||||
|
Use Memory Pointer (CNF) = F & ~E & ~G & ~H & ~I & ~J & ~K & ~L
|
||||||
|
|
||||||
|
Use Memory Pointer (DNF) = F & ~E & ~G & ~H & ~I & ~J & ~K & ~L
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Use Stack Pointer (ORG) = (D & E & F & ~G & ~H & ~I & ~J & ~K & ~L) | (E & F & ~D & ~G & ~H & ~I & ~J & ~K & ~L)
|
||||||
|
|
||||||
|
Use Stack Pointer (CNF) = E & F & ~G & ~H & ~I & ~J & ~K & ~L
|
||||||
|
|
||||||
|
Use Stack Pointer (DNF) = E & F & ~G & ~H & ~I & ~J & ~K & ~L
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Load Immediate Upper (ORG) = G & ~H & ~I & ~J & ~K & ~L
|
||||||
|
|
||||||
|
Load Immediate Upper (CNF) = G & ~H & ~I & ~J & ~K & ~L
|
||||||
|
|
||||||
|
Load Immediate Upper (DNF) = G & ~H & ~I & ~J & ~K & ~L
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Load Immediate Lower (ORG) = H & ~G & ~I & ~J & ~K & ~L
|
||||||
|
|
||||||
|
Load Immediate Lower (CNF) = H & ~G & ~I & ~J & ~K & ~L
|
||||||
|
|
||||||
|
Load Immediate Lower (DNF) = H & ~G & ~I & ~J & ~K & ~L
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Load Immediate Lower OR (ORG) = G & H & ~I & ~J & ~K & ~L
|
||||||
|
|
||||||
|
Load Immediate Lower OR (CNF) = G & H & ~I & ~J & ~K & ~L
|
||||||
|
|
||||||
|
Load Immediate Lower OR (DNF) = G & H & ~I & ~J & ~K & ~L
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Left Shift (ORG) = I & ~G & ~H & ~J & ~K & ~L
|
||||||
|
|
||||||
|
Left Shift (CNF) = I & ~G & ~H & ~J & ~K & ~L
|
||||||
|
|
||||||
|
Left Shift (DNF) = I & ~G & ~H & ~J & ~K & ~L
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Right Shift (ORG) = G & I & ~H & ~J & ~K & ~L
|
||||||
|
|
||||||
|
Right Shift (CNF) = G & I & ~H & ~J & ~K & ~L
|
||||||
|
|
||||||
|
Right Shift (DNF) = G & I & ~H & ~J & ~K & ~L
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
AND (ORG) = (J & L & ~K) | (J & ~K & ~L)
|
||||||
|
|
||||||
|
AND (CNF) = J & ~K
|
||||||
|
|
||||||
|
AND (DNF) = J & ~K
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
OR (ORG) = (K & L & ~J) | (K & ~J & ~L)
|
||||||
|
|
||||||
|
OR (CNF) = K & ~J
|
||||||
|
|
||||||
|
OR (DNF) = K & ~J
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
XOR (ORG) = L & ~J & ~K
|
||||||
|
|
||||||
|
XOR (CNF) = L & ~J & ~K
|
||||||
|
|
||||||
|
XOR (DNF) = L & ~J & ~K
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
NOT out (ORG) = (J & L & ~K) | (K & L & ~J)
|
||||||
|
|
||||||
|
NOT out (CNF) = L & (J | K) & (~J | ~K)
|
||||||
|
|
||||||
|
NOT out (DNF) = (J & L & ~K) | (K & L & ~J)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
NOT Reg 3 (ORG) = (J & K & ~L) | (G & H & I & ~J & ~K & ~L)
|
||||||
|
|
||||||
|
NOT Reg 3 (CNF) = ~L & (G | J) & (H | J) & (I | J) & (J | ~K) & (K | ~J)
|
||||||
|
|
||||||
|
NOT Reg 3 (DNF) = (J & K & ~L) | (G & H & I & ~J & ~K & ~L)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Add (ORG) = (J & K & L) | (J & K & ~L) | (G & H & I & ~J & ~K & ~L) | (H & I & ~G & ~J & ~K & ~L)
|
||||||
|
|
||||||
|
Add (CNF) = (H | J) & (I | J) & (J | ~K) & (J | ~L) & (K | ~J)
|
||||||
|
|
||||||
|
Add (DNF) = (J & K) | (H & I & ~J & ~K & ~L)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Inject Carry (ORG) = (J & K & ~L) | (G & H & I & ~J & ~K & ~L) | (H & I & ~G & ~J & ~K & ~L)
|
||||||
|
|
||||||
|
Inject Carry (CNF) = ~L & (H | J) & (I | J) & (J | ~K) & (K | ~J)
|
||||||
|
|
||||||
|
Inject Carry (DNF) = (J & K & ~L) | (H & I & ~J & ~K & ~L)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
One as Reg 3 (ORG) = G & H & I & ~J & ~K & ~L
|
||||||
|
|
||||||
|
One as Reg 3 (CNF) = G & H & I & ~J & ~K & ~L
|
||||||
|
|
||||||
|
One as Reg 3 (DNF) = G & H & I & ~J & ~K & ~L
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Write Reg 1 (ORG) = (J & K & L) | (J & K & ~L) | (J & L & ~K) | (K & L & ~J) | (J & ~K & ~L) | (K & ~J & ~L) | (L & ~J & ~K) | (G & H & I & ~J & ~K & ~L) | (G & I & ~H & ~J & ~K & ~L) | (H & I & ~G & ~J & ~K & ~L) | (I & ~G & ~H & ~J & ~K & ~L) | (D & E & F & ~G & ~H & ~I & ~J & ~K & ~L) | (F & ~D & ~E & ~G & ~H & ~I & ~J & ~K & ~L)
|
||||||
|
|
||||||
|
Write Reg 1 (CNF) = (F | I | J | K | L) & (I | J | K | L | ~G) & (I | J | K | L | ~H) & (D | I | J | K | L | ~E) & (E | I | J | K | L | ~D)
|
||||||
|
|
||||||
|
Write Reg 1 (DNF) = I | J | K | L | (D & E & F & ~G & ~H) | (F & ~D & ~E & ~G & ~H)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Read Reg 1 (ORG) = (D & F & ~E & ~G & ~H & ~I & ~J & ~K & ~L) | (E & F & ~D & ~G & ~H & ~I & ~J & ~K & ~L)
|
||||||
|
|
||||||
|
Read Reg 1 (CNF) = F & ~G & ~H & ~I & ~J & ~K & ~L & (D | E) & (~D | ~E)
|
||||||
|
|
||||||
|
Read Reg 1 (DNF) = (D & F & ~E & ~G & ~H & ~I & ~J & ~K & ~L) | (E & F & ~D & ~G & ~H & ~I & ~J & ~K & ~L)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Read Reg 2 (ORG) = (J & K & L) | (J & K & ~L) | (J & L & ~K) | (K & L & ~J) | (J & ~K & ~L) | (K & ~J & ~L) | (L & ~J & ~K) | (G & H & I & ~J & ~K & ~L) | (G & I & ~H & ~J & ~K & ~L) | (H & I & ~G & ~J & ~K & ~L) | (I & ~G & ~H & ~J & ~K & ~L)
|
||||||
|
|
||||||
|
Read Reg 2 (CNF) = I | J | K | L
|
||||||
|
|
||||||
|
Read Reg 2 (DNF) = I | J | K | L
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Read Reg 3 (ORG) = (J & K & L) | (J & K & ~L) | (J & L & ~K) | (K & L & ~J) | (J & ~K & ~L) | (K & ~J & ~L) | (L & ~J & ~K)
|
||||||
|
|
||||||
|
Read Reg 3 (CNF) = J | K | L
|
||||||
|
|
||||||
|
Read Reg 3 (DNF) = J | K | L
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Update Flags (ORG) = (J & K & L) | (J & K & ~L) | (J & L & ~K) | (K & L & ~J) | (J & ~K & ~L) | (K & ~J & ~L) | (L & ~J & ~K) | (G & H & I & ~J & ~K & ~L) | (G & I & ~H & ~J & ~K & ~L) | (H & I & ~G & ~J & ~K & ~L) | (I & ~G & ~H & ~J & ~K & ~L)
|
||||||
|
|
||||||
|
Update Flags (CNF) = I | J | K | L
|
||||||
|
|
||||||
|
Update Flags (DNF) = I | J | K | L
|
||||||
|
|
|
@ -1,51 +0,0 @@
|
||||||
Halt = (A & ~B & ~C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L)
|
|
||||||
|
|
||||||
Interrupt = (~A & B & ~C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L)
|
|
||||||
|
|
||||||
Branch if Zero = (A & B & ~C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L)
|
|
||||||
|
|
||||||
Block interrupts = (~A & ~B & C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L)
|
|
||||||
|
|
||||||
Unblock interrupts = (A & ~B & C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L)
|
|
||||||
|
|
||||||
Read Last Address = (~D & E & ~F & ~G & ~H & ~I & ~J & ~K & ~L)
|
|
||||||
|
|
||||||
Read Interrupt Device = (D & E & ~F & ~G & ~H & ~I & ~J & ~K & ~L)
|
|
||||||
|
|
||||||
Read Memory = (~D & ~E & F & ~G & ~H & ~I & ~J & ~K & ~L) | (D & E & F & ~G & ~H & ~I & ~J & ~K & ~L)
|
|
||||||
|
|
||||||
Write Memory = (D & ~E & F & ~G & ~H & ~I & ~J & ~K & ~L) | (~D & E & F & ~G & ~H & ~I & ~J & ~K & ~L)
|
|
||||||
|
|
||||||
Use Memory Pointer = (~D & ~E & F & ~G & ~H & ~I & ~J & ~K & ~L) | (D & ~E & F & ~G & ~H & ~I & ~J & ~K & ~L)
|
|
||||||
|
|
||||||
Use Stack Pointer = (~D & E & F & ~G & ~H & ~I & ~J & ~K & ~L) | (D & E & F & ~G & ~H & ~I & ~J & ~K & ~L)
|
|
||||||
|
|
||||||
Load Immediate = (H & ~I & ~J & ~K & ~L)
|
|
||||||
|
|
||||||
Write Reg 1 = (~D & E & ~F & ~G & ~H & ~I & ~J & ~K & ~L) | (D & E & ~F & ~G & ~H & ~I & ~J & ~K & ~L) | (~D & ~E & F & ~G & ~H & ~I & ~J & ~K & ~L) | (~D & E & F & ~G & ~H & ~I & ~J & ~K & ~L) | (~G & ~H & I & ~J & ~K & ~L) | (G & ~H & I & ~J & ~K & ~L) | (~G & H & I & ~J & ~K & ~L) | (G & H & I & ~J & ~K & ~L) | (J & ~K & ~L) | (~J & K & ~L) | (J & K & ~L) | (~J & ~K & L) | (J & ~K & L) | (~J & K & L) | (J & K & L)
|
|
||||||
|
|
||||||
Read Reg 1 = (D & ~E & F & ~G & ~H & ~I & ~J & ~K & ~L) | (D & E & F & ~G & ~H & ~I & ~J & ~K & ~L)
|
|
||||||
|
|
||||||
Read Reg 2 = (~G & ~H & I & ~J & ~K & ~L) | (G & ~H & I & ~J & ~K & ~L) | (~G & H & I & ~J & ~K & ~L) | (G & H & I & ~J & ~K & ~L) | (J & ~K & ~L) | (~J & K & ~L) | (J & K & ~L) | (~J & ~K & L) | (J & ~K & L) | (~J & K & L) | (J & K & L)
|
|
||||||
|
|
||||||
Read Reg 3 = (J & ~K & ~L) | (~J & K & ~L) | (J & K & ~L) | (~J & ~K & L) | (J & ~K & L) | (~J & K & L) | (J & K & L)
|
|
||||||
|
|
||||||
Left Shift = (~G & ~H & I & ~J & ~K & ~L)
|
|
||||||
|
|
||||||
Right Shift = (G & ~H & I & ~J & ~K & ~L)
|
|
||||||
|
|
||||||
AND = (J & ~K & ~L) | (J & K & ~L)
|
|
||||||
|
|
||||||
OR = (~J & K & ~L) | (~J & K & L)
|
|
||||||
|
|
||||||
XOR = (J & ~K & L)
|
|
||||||
|
|
||||||
NOT out = (J & K & ~L) | (~J & K & L)
|
|
||||||
|
|
||||||
NOT Reg 3 = (G & H & I & ~J & ~K & ~L) | (~J & ~K & L)
|
|
||||||
|
|
||||||
Add = (~G & H & I & ~J & ~K & ~L) | (G & H & I & ~J & ~K & ~L) | (~J & ~K & L) | (J & K & L)
|
|
||||||
|
|
||||||
Inject Carry = (~G & H & I & ~J & ~K & ~L) | (G & H & I & ~J & ~K & ~L) | (~J & ~K & L)
|
|
||||||
|
|
||||||
One as Reg 3 = (G & H & I & ~J & ~K & ~L)
|
|
|
@ -1,205 +0,0 @@
|
||||||
Halt (ORG) = A & ~B & ~C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L
|
|
||||||
|
|
||||||
Halt (CNF) = A & ~B & ~C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L
|
|
||||||
|
|
||||||
Halt (DNF) = A & ~B & ~C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Interrupt (ORG) = B & ~A & ~C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L
|
|
||||||
|
|
||||||
Interrupt (CNF) = B & ~A & ~C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L
|
|
||||||
|
|
||||||
Interrupt (DNF) = B & ~A & ~C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Branch if Zero (ORG) = A & B & ~C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L
|
|
||||||
|
|
||||||
Branch if Zero (CNF) = A & B & ~C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L
|
|
||||||
|
|
||||||
Branch if Zero (DNF) = A & B & ~C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Block interrupts (ORG) = C & ~A & ~B & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L
|
|
||||||
|
|
||||||
Block interrupts (CNF) = C & ~A & ~B & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L
|
|
||||||
|
|
||||||
Block interrupts (DNF) = C & ~A & ~B & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Unblock interrupts (ORG) = A & C & ~B & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L
|
|
||||||
|
|
||||||
Unblock interrupts (CNF) = A & C & ~B & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L
|
|
||||||
|
|
||||||
Unblock interrupts (DNF) = A & C & ~B & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Read Last Address (ORG) = E & ~D & ~F & ~G & ~H & ~I & ~J & ~K & ~L
|
|
||||||
|
|
||||||
Read Last Address (CNF) = E & ~D & ~F & ~G & ~H & ~I & ~J & ~K & ~L
|
|
||||||
|
|
||||||
Read Last Address (DNF) = E & ~D & ~F & ~G & ~H & ~I & ~J & ~K & ~L
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Read Interrupt Device (ORG) = D & E & ~F & ~G & ~H & ~I & ~J & ~K & ~L
|
|
||||||
|
|
||||||
Read Interrupt Device (CNF) = D & E & ~F & ~G & ~H & ~I & ~J & ~K & ~L
|
|
||||||
|
|
||||||
Read Interrupt Device (DNF) = D & E & ~F & ~G & ~H & ~I & ~J & ~K & ~L
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Read Memory (ORG) = (D & E & F & ~G & ~H & ~I & ~J & ~K & ~L) | (F & ~D & ~E & ~G & ~H & ~I & ~J & ~K & ~L)
|
|
||||||
|
|
||||||
Read Memory (CNF) = F & ~G & ~H & ~I & ~J & ~K & ~L & (D | ~E) & (E | ~D)
|
|
||||||
|
|
||||||
Read Memory (DNF) = (D & E & F & ~G & ~H & ~I & ~J & ~K & ~L) | (F & ~D & ~E & ~G & ~H & ~I & ~J & ~K & ~L)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Write Memory (ORG) = (D & F & ~E & ~G & ~H & ~I & ~J & ~K & ~L) | (E & F & ~D & ~G & ~H & ~I & ~J & ~K & ~L)
|
|
||||||
|
|
||||||
Write Memory (CNF) = F & ~G & ~H & ~I & ~J & ~K & ~L & (D | E) & (~D | ~E)
|
|
||||||
|
|
||||||
Write Memory (DNF) = (D & F & ~E & ~G & ~H & ~I & ~J & ~K & ~L) | (E & F & ~D & ~G & ~H & ~I & ~J & ~K & ~L)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Use Memory Pointer (ORG) = (D & F & ~E & ~G & ~H & ~I & ~J & ~K & ~L) | (F & ~D & ~E & ~G & ~H & ~I & ~J & ~K & ~L)
|
|
||||||
|
|
||||||
Use Memory Pointer (CNF) = F & ~E & ~G & ~H & ~I & ~J & ~K & ~L
|
|
||||||
|
|
||||||
Use Memory Pointer (DNF) = F & ~E & ~G & ~H & ~I & ~J & ~K & ~L
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Use Stack Pointer (ORG) = (D & E & F & ~G & ~H & ~I & ~J & ~K & ~L) | (E & F & ~D & ~G & ~H & ~I & ~J & ~K & ~L)
|
|
||||||
|
|
||||||
Use Stack Pointer (CNF) = E & F & ~G & ~H & ~I & ~J & ~K & ~L
|
|
||||||
|
|
||||||
Use Stack Pointer (DNF) = E & F & ~G & ~H & ~I & ~J & ~K & ~L
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Load Immediate (ORG) = H & ~I & ~J & ~K & ~L
|
|
||||||
|
|
||||||
Load Immediate (CNF) = H & ~I & ~J & ~K & ~L
|
|
||||||
|
|
||||||
Load Immediate (DNF) = H & ~I & ~J & ~K & ~L
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Write Reg 1 (ORG) = (J & K & L) | (J & K & ~L) | (J & L & ~K) | (K & L & ~J) | (J & ~K & ~L) | (K & ~J & ~L) | (L & ~J & ~K) | (G & H & I & ~J & ~K & ~L) | (G & I & ~H & ~J & ~K & ~L) | (H & I & ~G & ~J & ~K & ~L) | (I & ~G & ~H & ~J & ~K & ~L) | (D & E & ~F & ~G & ~H & ~I & ~J & ~K & ~L) | (E & F & ~D & ~G & ~H & ~I & ~J & ~K & ~L) | (E & ~D & ~F & ~G & ~H & ~I & ~J & ~K & ~L) | (F & ~D & ~E & ~G & ~H & ~I & ~J & ~K & ~L)
|
|
||||||
|
|
||||||
Write Reg 1 (CNF) = (I | J | K | L | ~G) & (I | J | K | L | ~H) & (E | F | I | J | K | L) & (I | J | K | L | ~D | ~F)
|
|
||||||
|
|
||||||
Write Reg 1 (DNF) = I | J | K | L | (E & ~F & ~G & ~H) | (F & ~D & ~G & ~H)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Read Reg 1 (ORG) = (D & E & F & ~G & ~H & ~I & ~J & ~K & ~L) | (D & F & ~E & ~G & ~H & ~I & ~J & ~K & ~L)
|
|
||||||
|
|
||||||
Read Reg 1 (CNF) = D & F & ~G & ~H & ~I & ~J & ~K & ~L
|
|
||||||
|
|
||||||
Read Reg 1 (DNF) = D & F & ~G & ~H & ~I & ~J & ~K & ~L
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Read Reg 2 (ORG) = (J & K & L) | (J & K & ~L) | (J & L & ~K) | (K & L & ~J) | (J & ~K & ~L) | (K & ~J & ~L) | (L & ~J & ~K) | (G & H & I & ~J & ~K & ~L) | (G & I & ~H & ~J & ~K & ~L) | (H & I & ~G & ~J & ~K & ~L) | (I & ~G & ~H & ~J & ~K & ~L)
|
|
||||||
|
|
||||||
Read Reg 2 (CNF) = I | J | K | L
|
|
||||||
|
|
||||||
Read Reg 2 (DNF) = I | J | K | L
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Read Reg 3 (ORG) = (J & K & L) | (J & K & ~L) | (J & L & ~K) | (K & L & ~J) | (J & ~K & ~L) | (K & ~J & ~L) | (L & ~J & ~K)
|
|
||||||
|
|
||||||
Read Reg 3 (CNF) = J | K | L
|
|
||||||
|
|
||||||
Read Reg 3 (DNF) = J | K | L
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Left Shift (ORG) = I & ~G & ~H & ~J & ~K & ~L
|
|
||||||
|
|
||||||
Left Shift (CNF) = I & ~G & ~H & ~J & ~K & ~L
|
|
||||||
|
|
||||||
Left Shift (DNF) = I & ~G & ~H & ~J & ~K & ~L
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Right Shift (ORG) = G & I & ~H & ~J & ~K & ~L
|
|
||||||
|
|
||||||
Right Shift (CNF) = G & I & ~H & ~J & ~K & ~L
|
|
||||||
|
|
||||||
Right Shift (DNF) = G & I & ~H & ~J & ~K & ~L
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
AND (ORG) = (J & K & ~L) | (J & ~K & ~L)
|
|
||||||
|
|
||||||
AND (CNF) = J & ~L
|
|
||||||
|
|
||||||
AND (DNF) = J & ~L
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
OR (ORG) = (K & L & ~J) | (K & ~J & ~L)
|
|
||||||
|
|
||||||
OR (CNF) = K & ~J
|
|
||||||
|
|
||||||
OR (DNF) = K & ~J
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
XOR (ORG) = J & L & ~K
|
|
||||||
|
|
||||||
XOR (CNF) = J & L & ~K
|
|
||||||
|
|
||||||
XOR (DNF) = J & L & ~K
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
NOT out (ORG) = (J & K & ~L) | (K & L & ~J)
|
|
||||||
|
|
||||||
NOT out (CNF) = K & (J | L) & (~J | ~L)
|
|
||||||
|
|
||||||
NOT out (DNF) = (J & K & ~L) | (K & L & ~J)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
NOT Reg 3 (ORG) = (L & ~J & ~K) | (G & H & I & ~J & ~K & ~L)
|
|
||||||
|
|
||||||
NOT Reg 3 (CNF) = ~J & ~K & (G | L) & (H | L) & (I | L)
|
|
||||||
|
|
||||||
NOT Reg 3 (DNF) = (L & ~J & ~K) | (G & H & I & ~J & ~K)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Add (ORG) = (J & K & L) | (L & ~J & ~K) | (G & H & I & ~J & ~K & ~L) | (H & I & ~G & ~J & ~K & ~L)
|
|
||||||
|
|
||||||
Add (CNF) = (H | L) & (I | L) & (J | ~K) & (K | ~J) & (L | ~K)
|
|
||||||
|
|
||||||
Add (DNF) = (J & K & L) | (L & ~J & ~K) | (H & I & ~J & ~K)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Inject Carry (ORG) = (L & ~J & ~K) | (G & H & I & ~J & ~K & ~L) | (H & I & ~G & ~J & ~K & ~L)
|
|
||||||
|
|
||||||
Inject Carry (CNF) = ~J & ~K & (H | L) & (I | L)
|
|
||||||
|
|
||||||
Inject Carry (DNF) = (L & ~J & ~K) | (H & I & ~J & ~K)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
One as Reg 3 (ORG) = G & H & I & ~J & ~K & ~L
|
|
||||||
|
|
||||||
One as Reg 3 (CNF) = G & H & I & ~J & ~K & ~L
|
|
||||||
|
|
||||||
One as Reg 3 (DNF) = G & H & I & ~J & ~K & ~L
|
|
|
@ -2,33 +2,33 @@
|
||||||
"cells": [
|
"cells": [
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 2,
|
"execution_count": 6,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
"instructions = {\n",
|
"instructions = {\n",
|
||||||
" 'NOP': ('0','0','0','0','0','0','0','0','0','0','0','0',),\n",
|
" 'NOP': ('0','0','0','0','0','0','0','0','0','0','0','0',),\n",
|
||||||
" 'HLT': ('0','0','0','0','0','0','0','0','0','0','0','1',),\n",
|
" 'HLT': ('0','0','0','0','0','0','0','0','0','0','0','1',),\n",
|
||||||
" 'INT': ('0','0','0','0','0','0','0','0','0','0','1','0',),\n",
|
" 'BNZ': ('0','0','0','0','0','0','0','0','0','0','1','0',),\n",
|
||||||
" 'BNZ': ('0','0','0','0','0','0','0','0','0','0','1','1',),\n",
|
" 'BNA': ('0','0','0','0','0','0','0','0','0','0','1','1',),\n",
|
||||||
" 'BLK': ('0','0','0','0','0','0','0','0','0','1','0','0',),\n",
|
" 'BNP': ('0','0','0','0','0','0','0','0','0','1','0','0',),\n",
|
||||||
" 'ENB': ('0','0','0','0','0','0','0','0','0','1','0','1',),\n",
|
" 'BNN': ('0','0','0','0','0','0','0','0','0','1','0','1',),\n",
|
||||||
" 'GLA': ('0','0','0','0','0','0','0','1','0','X','X','X',),\n",
|
|
||||||
" 'GET': ('0','0','0','0','0','0','0','1','1','X','X','X',),\n",
|
|
||||||
" 'LOD': ('0','0','0','0','0','0','1','0','0','X','X','X',),\n",
|
" 'LOD': ('0','0','0','0','0','0','1','0','0','X','X','X',),\n",
|
||||||
" 'STR': ('0','0','0','0','0','0','1','0','1','X','X','X',),\n",
|
" 'STR': ('0','0','0','0','0','0','1','0','1','X','X','X',),\n",
|
||||||
" 'PSH': ('0','0','0','0','0','0','1','1','0','X','X','X',),\n",
|
" 'POP': ('0','0','0','0','0','0','1','1','0','X','X','X',),\n",
|
||||||
" 'POP': ('0','0','0','0','0','0','1','1','1','X','X','X',),\n",
|
" 'PSH': ('0','0','0','0','0','0','1','1','1','X','X','X',),\n",
|
||||||
" 'LDI': ('0','0','0','0','1','X','X','X','X','X','X','X',),\n",
|
" 'LIU': ('0','0','0','0','0','1','X','X','X','X','X','X',),\n",
|
||||||
|
" 'LDI': ('0','0','0','0','1','0','X','X','X','X','X','X',),\n",
|
||||||
|
" 'LIL': ('0','0','0','0','1','1','X','X','X','X','X','X',),\n",
|
||||||
" 'LSH': ('0','0','0','1','0','0','X','X','X','X','X','X',),\n",
|
" 'LSH': ('0','0','0','1','0','0','X','X','X','X','X','X',),\n",
|
||||||
" 'RSH': ('0','0','0','1','0','1','X','X','X','X','X','X',),\n",
|
" 'RSH': ('0','0','0','1','0','1','X','X','X','X','X','X',),\n",
|
||||||
" 'INC': ('0','0','0','1','1','0','X','X','X','X','X','X',),\n",
|
" 'INC': ('0','0','0','1','1','0','X','X','X','X','X','X',),\n",
|
||||||
" 'DEC': ('0','0','0','1','1','1','X','X','X','X','X','X',),\n",
|
" 'DEC': ('0','0','0','1','1','1','X','X','X','X','X','X',),\n",
|
||||||
" 'AND': ('0','0','1','X','X','X','X','X','X','X','X','X',),\n",
|
" 'AND': ('0','0','1','X','X','X','X','X','X','X','X','X',),\n",
|
||||||
" 'OR': ('0','1','0','X','X','X','X','X','X','X','X','X',),\n",
|
" 'OR': ('0','1','0','X','X','X','X','X','X','X','X','X',),\n",
|
||||||
" 'NAD': ('0','1','1','X','X','X','X','X','X','X','X','X',),\n",
|
" 'SUB': ('0','1','1','X','X','X','X','X','X','X','X','X',),\n",
|
||||||
" 'SUB': ('1','0','0','X','X','X','X','X','X','X','X','X',),\n",
|
" 'XOR': ('1','0','0','X','X','X','X','X','X','X','X','X',),\n",
|
||||||
" 'XOR': ('1','0','1','X','X','X','X','X','X','X','X','X',),\n",
|
" 'NAD': ('1','0','1','X','X','X','X','X','X','X','X','X',),\n",
|
||||||
" 'NOR': ('1','1','0','X','X','X','X','X','X','X','X','X',),\n",
|
" 'NOR': ('1','1','0','X','X','X','X','X','X','X','X','X',),\n",
|
||||||
" 'ADD': ('1','1','1','X','X','X','X','X','X','X','X','X',),\n",
|
" 'ADD': ('1','1','1','X','X','X','X','X','X','X','X','X',),\n",
|
||||||
"}"
|
"}"
|
||||||
|
@ -36,27 +36,23 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 3,
|
"execution_count": 9,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
"controls = {\n",
|
"controls = {\n",
|
||||||
" 'Halt': ['HLT'],\n",
|
" 'Halt': ['HLT'],\n",
|
||||||
" 'Interrupt': ['INT'],\n",
|
|
||||||
" 'Branch if Zero': ['BNZ'],\n",
|
" 'Branch if Zero': ['BNZ'],\n",
|
||||||
" 'Block interrupts': ['BLK'],\n",
|
" 'Branch if Not Zero': ['BNA'],\n",
|
||||||
" 'Unblock interrupts': ['ENB'],\n",
|
" 'Branch if Positive': ['BNP'],\n",
|
||||||
" 'Read Last Address': ['GLA'],\n",
|
" 'Branch if Negative': ['BNN'],\n",
|
||||||
" 'Read Interrupt Device': ['GET'],\n",
|
|
||||||
" 'Read Memory': ['LOD','POP'],\n",
|
" 'Read Memory': ['LOD','POP'],\n",
|
||||||
" 'Write Memory': ['STR','PSH'],\n",
|
" 'Write Memory': ['STR','PSH'],\n",
|
||||||
" 'Use Memory Pointer': ['LOD','STR'],\n",
|
" 'Use Memory Pointer': ['LOD','STR'],\n",
|
||||||
" 'Use Stack Pointer': ['PSH','POP'],\n",
|
" 'Use Stack Pointer': ['PSH','POP'],\n",
|
||||||
" 'Load Immediate': ['LDI'],\n",
|
" 'Load Immediate Upper': ['LIU'],\n",
|
||||||
" 'Write Reg 1': ['GLA','GET','LOD','PSH','LSH','RSH','INC','DEC','AND','OR','NAD','SUB','XOR','NOR','ADD'],\n",
|
" 'Load Immediate Lower': ['LDI'],\n",
|
||||||
" 'Read Reg 1': ['STR','POP'],\n",
|
" 'Load Immediate Lower OR': ['LIL'],\n",
|
||||||
" 'Read Reg 2': ['LSH','RSH','INC','DEC','AND','OR','NAD','SUB','XOR','NOR','ADD'],\n",
|
|
||||||
" 'Read Reg 3': ['AND','OR','NAD','SUB','XOR','NOR','ADD'],\n",
|
|
||||||
" 'Left Shift': ['LSH'],\n",
|
" 'Left Shift': ['LSH'],\n",
|
||||||
" 'Right Shift': ['RSH'],\n",
|
" 'Right Shift': ['RSH'],\n",
|
||||||
" 'AND': ['AND','NAD'],\n",
|
" 'AND': ['AND','NAD'],\n",
|
||||||
|
@ -67,177 +63,15 @@
|
||||||
" 'Add': ['INC','DEC','SUB','ADD'],\n",
|
" 'Add': ['INC','DEC','SUB','ADD'],\n",
|
||||||
" 'Inject Carry': ['INC','DEC','SUB'],\n",
|
" 'Inject Carry': ['INC','DEC','SUB'],\n",
|
||||||
" 'One as Reg 3': ['DEC'],\n",
|
" 'One as Reg 3': ['DEC'],\n",
|
||||||
|
" 'Write Reg 1': ['LOD','PSH','LSH','RSH','INC','DEC','AND','OR','SUB','XOR','NAD','NOR','ADD'],\n",
|
||||||
|
" 'Read Reg 1': ['STR','POP'],\n",
|
||||||
|
" 'Any Reg 1': ['LOD','PSH','LSH','RSH','INC','DEC','AND','OR','SUB','XOR','NAD','NOR','ADD','STR','POP'],\n",
|
||||||
|
" 'Read Reg 2': ['LSH','RSH','INC','DEC','AND','OR','SUB','XOR','NAD','NOR','ADD'],\n",
|
||||||
|
" 'Read Reg 3': ['AND','OR','SUB','XOR','NAD','NOR','ADD'],\n",
|
||||||
|
" 'Update Flags': ['LSH','RSH','INC','DEC','AND','OR','SUB','XOR','NAD','NOR','ADD'],\n",
|
||||||
"}"
|
"}"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": 4,
|
|
||||||
"metadata": {},
|
|
||||||
"outputs": [],
|
|
||||||
"source": [
|
|
||||||
"def equ(control: list[str]) -> str:\n",
|
|
||||||
" inputs = ['A','B','C','D','E','F','G','H','I','J','K','L']\n",
|
|
||||||
" equ = \"\"\n",
|
|
||||||
"\n",
|
|
||||||
" for instruction in control:\n",
|
|
||||||
" equ += '('\n",
|
|
||||||
" last = ''\n",
|
|
||||||
" for i, bit in enumerate(reversed(instructions[instruction])):\n",
|
|
||||||
" if i != 0 and last != 'X':\n",
|
|
||||||
" equ += ' & '\n",
|
|
||||||
"\n",
|
|
||||||
" if bit == '0':\n",
|
|
||||||
" equ += f\"~{inputs[i]}\"\n",
|
|
||||||
" elif bit == '1':\n",
|
|
||||||
" equ += f\"{inputs[i]}\"\n",
|
|
||||||
" elif bit == 'X':\n",
|
|
||||||
" equ += f\"({inputs[i]} | ~{inputs[i]})\"\n",
|
|
||||||
" # last = bit\n",
|
|
||||||
" equ += ') | '\n",
|
|
||||||
"\n",
|
|
||||||
" return equ[:-3]"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": 5,
|
|
||||||
"metadata": {},
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"data": {
|
|
||||||
"text/plain": [
|
|
||||||
"'(A & ~B & ~C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L)'"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"execution_count": 5,
|
|
||||||
"metadata": {},
|
|
||||||
"output_type": "execute_result"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"source": [
|
|
||||||
"equ(controls['Halt'])"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": 6,
|
|
||||||
"metadata": {},
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"data": {
|
|
||||||
"text/plain": [
|
|
||||||
"{'Halt': '(A & ~B & ~C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L)',\n",
|
|
||||||
" 'Interrupt': '(~A & B & ~C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L)',\n",
|
|
||||||
" 'Branch if Zero': '(A & B & ~C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L)',\n",
|
|
||||||
" 'Block interrupts': '(~A & ~B & C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L)',\n",
|
|
||||||
" 'Unblock interrupts': '(A & ~B & C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L)',\n",
|
|
||||||
" 'Read Last Address': '((A | ~A) & (B | ~B) & (C | ~C) & ~D & E & ~F & ~G & ~H & ~I & ~J & ~K & ~L)',\n",
|
|
||||||
" 'Read Interrupt Device': '((A | ~A) & (B | ~B) & (C | ~C) & D & E & ~F & ~G & ~H & ~I & ~J & ~K & ~L)',\n",
|
|
||||||
" 'Read Memory': '((A | ~A) & (B | ~B) & (C | ~C) & ~D & ~E & F & ~G & ~H & ~I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & D & E & F & ~G & ~H & ~I & ~J & ~K & ~L)',\n",
|
|
||||||
" 'Write Memory': '((A | ~A) & (B | ~B) & (C | ~C) & D & ~E & F & ~G & ~H & ~I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & ~D & E & F & ~G & ~H & ~I & ~J & ~K & ~L)',\n",
|
|
||||||
" 'Use Memory Pointer': '((A | ~A) & (B | ~B) & (C | ~C) & ~D & ~E & F & ~G & ~H & ~I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & D & ~E & F & ~G & ~H & ~I & ~J & ~K & ~L)',\n",
|
|
||||||
" 'Use Stack Pointer': '((A | ~A) & (B | ~B) & (C | ~C) & ~D & E & F & ~G & ~H & ~I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & D & E & F & ~G & ~H & ~I & ~J & ~K & ~L)',\n",
|
|
||||||
" 'Load Immediate': '((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & H & ~I & ~J & ~K & ~L)',\n",
|
|
||||||
" 'Write Reg 1': '((A | ~A) & (B | ~B) & (C | ~C) & ~D & E & ~F & ~G & ~H & ~I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & D & E & ~F & ~G & ~H & ~I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & ~D & ~E & F & ~G & ~H & ~I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & ~D & E & F & ~G & ~H & ~I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & ~G & ~H & I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & G & ~H & I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & ~G & H & I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & G & H & I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & ~J & K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & ~J & ~K & L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & ~K & L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & ~J & K & L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & K & L)',\n",
|
|
||||||
" 'Read Reg 1': '((A | ~A) & (B | ~B) & (C | ~C) & D & ~E & F & ~G & ~H & ~I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & D & E & F & ~G & ~H & ~I & ~J & ~K & ~L)',\n",
|
|
||||||
" 'Read Reg 2': '((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & ~G & ~H & I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & G & ~H & I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & ~G & H & I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & G & H & I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & ~J & K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & ~J & ~K & L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & ~K & L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & ~J & K & L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & K & L)',\n",
|
|
||||||
" 'Read Reg 3': '((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & ~J & K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & ~J & ~K & L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & ~K & L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & ~J & K & L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & K & L)',\n",
|
|
||||||
" 'Left Shift': '((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & ~G & ~H & I & ~J & ~K & ~L)',\n",
|
|
||||||
" 'Right Shift': '((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & G & ~H & I & ~J & ~K & ~L)',\n",
|
|
||||||
" 'AND': '((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & K & ~L)',\n",
|
|
||||||
" 'OR': '((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & ~J & K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & ~J & K & L)',\n",
|
|
||||||
" 'XOR': '((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & ~K & L)',\n",
|
|
||||||
" 'NOT out': '((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & ~J & K & L)',\n",
|
|
||||||
" 'NOT Reg 3': '((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & G & H & I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & ~J & ~K & L)',\n",
|
|
||||||
" 'Add': '((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & ~G & H & I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & G & H & I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & ~J & ~K & L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & K & L)',\n",
|
|
||||||
" 'Inject Carry': '((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & ~G & H & I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & G & H & I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & ~J & ~K & L)',\n",
|
|
||||||
" 'One as Reg 3': '((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & G & H & I & ~J & ~K & ~L)'}"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"execution_count": 6,
|
|
||||||
"metadata": {},
|
|
||||||
"output_type": "execute_result"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"source": [
|
|
||||||
"control_equs = {}\n",
|
|
||||||
"\n",
|
|
||||||
"for key, value in controls.items():\n",
|
|
||||||
" control_equs[key] = equ(value)\n",
|
|
||||||
"\n",
|
|
||||||
"control_equs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": 7,
|
|
||||||
"metadata": {},
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "stdout",
|
|
||||||
"output_type": "stream",
|
|
||||||
"text": [
|
|
||||||
"Halt = (A & ~B & ~C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L)\n",
|
|
||||||
"\n",
|
|
||||||
"Interrupt = (~A & B & ~C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L)\n",
|
|
||||||
"\n",
|
|
||||||
"Branch if Zero = (A & B & ~C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L)\n",
|
|
||||||
"\n",
|
|
||||||
"Block interrupts = (~A & ~B & C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L)\n",
|
|
||||||
"\n",
|
|
||||||
"Unblock interrupts = (A & ~B & C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L)\n",
|
|
||||||
"\n",
|
|
||||||
"Read Last Address = ((A | ~A) & (B | ~B) & (C | ~C) & ~D & E & ~F & ~G & ~H & ~I & ~J & ~K & ~L)\n",
|
|
||||||
"\n",
|
|
||||||
"Read Interrupt Device = ((A | ~A) & (B | ~B) & (C | ~C) & D & E & ~F & ~G & ~H & ~I & ~J & ~K & ~L)\n",
|
|
||||||
"\n",
|
|
||||||
"Read Memory = ((A | ~A) & (B | ~B) & (C | ~C) & ~D & ~E & F & ~G & ~H & ~I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & D & E & F & ~G & ~H & ~I & ~J & ~K & ~L)\n",
|
|
||||||
"\n",
|
|
||||||
"Write Memory = ((A | ~A) & (B | ~B) & (C | ~C) & D & ~E & F & ~G & ~H & ~I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & ~D & E & F & ~G & ~H & ~I & ~J & ~K & ~L)\n",
|
|
||||||
"\n",
|
|
||||||
"Use Memory Pointer = ((A | ~A) & (B | ~B) & (C | ~C) & ~D & ~E & F & ~G & ~H & ~I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & D & ~E & F & ~G & ~H & ~I & ~J & ~K & ~L)\n",
|
|
||||||
"\n",
|
|
||||||
"Use Stack Pointer = ((A | ~A) & (B | ~B) & (C | ~C) & ~D & E & F & ~G & ~H & ~I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & D & E & F & ~G & ~H & ~I & ~J & ~K & ~L)\n",
|
|
||||||
"\n",
|
|
||||||
"Load Immediate = ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & H & ~I & ~J & ~K & ~L)\n",
|
|
||||||
"\n",
|
|
||||||
"Write Reg 1 = ((A | ~A) & (B | ~B) & (C | ~C) & ~D & E & ~F & ~G & ~H & ~I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & D & E & ~F & ~G & ~H & ~I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & ~D & ~E & F & ~G & ~H & ~I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & ~D & E & F & ~G & ~H & ~I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & ~G & ~H & I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & G & ~H & I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & ~G & H & I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & G & H & I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & ~J & K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & ~J & ~K & L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & ~K & L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & ~J & K & L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & K & L)\n",
|
|
||||||
"\n",
|
|
||||||
"Read Reg 1 = ((A | ~A) & (B | ~B) & (C | ~C) & D & ~E & F & ~G & ~H & ~I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & D & E & F & ~G & ~H & ~I & ~J & ~K & ~L)\n",
|
|
||||||
"\n",
|
|
||||||
"Read Reg 2 = ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & ~G & ~H & I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & G & ~H & I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & ~G & H & I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & G & H & I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & ~J & K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & ~J & ~K & L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & ~K & L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & ~J & K & L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & K & L)\n",
|
|
||||||
"\n",
|
|
||||||
"Read Reg 3 = ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & ~J & K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & ~J & ~K & L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & ~K & L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & ~J & K & L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & K & L)\n",
|
|
||||||
"\n",
|
|
||||||
"Left Shift = ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & ~G & ~H & I & ~J & ~K & ~L)\n",
|
|
||||||
"\n",
|
|
||||||
"Right Shift = ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & G & ~H & I & ~J & ~K & ~L)\n",
|
|
||||||
"\n",
|
|
||||||
"AND = ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & K & ~L)\n",
|
|
||||||
"\n",
|
|
||||||
"OR = ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & ~J & K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & ~J & K & L)\n",
|
|
||||||
"\n",
|
|
||||||
"XOR = ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & ~K & L)\n",
|
|
||||||
"\n",
|
|
||||||
"NOT out = ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & ~J & K & L)\n",
|
|
||||||
"\n",
|
|
||||||
"NOT Reg 3 = ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & G & H & I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & ~J & ~K & L)\n",
|
|
||||||
"\n",
|
|
||||||
"Add = ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & ~G & H & I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & G & H & I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & ~J & ~K & L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & J & K & L)\n",
|
|
||||||
"\n",
|
|
||||||
"Inject Carry = ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & ~G & H & I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & G & H & I & ~J & ~K & ~L) | ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & (G | ~G) & (H | ~H) & (I | ~I) & ~J & ~K & L)\n",
|
|
||||||
"\n",
|
|
||||||
"One as Reg 3 = ((A | ~A) & (B | ~B) & (C | ~C) & (D | ~D) & (E | ~E) & (F | ~F) & G & H & I & ~J & ~K & ~L)\n",
|
|
||||||
"\n"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"source": [
|
|
||||||
"for k, v in control_equs.items():\n",
|
|
||||||
" print(k, '=', v, end='\\n\\n')"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"cell_type": "markdown",
|
"cell_type": "markdown",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
|
@ -247,7 +81,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 15,
|
"execution_count": 10,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [
|
"outputs": [
|
||||||
{
|
{
|
||||||
|
@ -262,67 +96,51 @@
|
||||||
"\n",
|
"\n",
|
||||||
"\n",
|
"\n",
|
||||||
"\n",
|
"\n",
|
||||||
"Interrupt (ORG) = B & ~A & ~C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L\n",
|
"Branch if Zero (ORG) = B & ~A & ~C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L\n",
|
||||||
"\n",
|
"\n",
|
||||||
"Interrupt (CNF) = B & ~A & ~C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L\n",
|
"Branch if Zero (CNF) = B & ~A & ~C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L\n",
|
||||||
"\n",
|
"\n",
|
||||||
"Interrupt (DNF) = B & ~A & ~C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L\n",
|
"Branch if Zero (DNF) = B & ~A & ~C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L\n",
|
||||||
"\n",
|
"\n",
|
||||||
"\n",
|
"\n",
|
||||||
"\n",
|
"\n",
|
||||||
"Branch if Zero (ORG) = A & B & ~C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L\n",
|
"Branch if Not Zero (ORG) = A & B & ~C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L\n",
|
||||||
"\n",
|
"\n",
|
||||||
"Branch if Zero (CNF) = A & B & ~C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L\n",
|
"Branch if Not Zero (CNF) = A & B & ~C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L\n",
|
||||||
"\n",
|
"\n",
|
||||||
"Branch if Zero (DNF) = A & B & ~C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L\n",
|
"Branch if Not Zero (DNF) = A & B & ~C & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L\n",
|
||||||
"\n",
|
"\n",
|
||||||
"\n",
|
"\n",
|
||||||
"\n",
|
"\n",
|
||||||
"Block interrupts (ORG) = C & ~A & ~B & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L\n",
|
"Branch if Positive (ORG) = C & ~A & ~B & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L\n",
|
||||||
"\n",
|
"\n",
|
||||||
"Block interrupts (CNF) = C & ~A & ~B & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L\n",
|
"Branch if Positive (CNF) = C & ~A & ~B & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L\n",
|
||||||
"\n",
|
"\n",
|
||||||
"Block interrupts (DNF) = C & ~A & ~B & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L\n",
|
"Branch if Positive (DNF) = C & ~A & ~B & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L\n",
|
||||||
"\n",
|
"\n",
|
||||||
"\n",
|
"\n",
|
||||||
"\n",
|
"\n",
|
||||||
"Unblock interrupts (ORG) = A & C & ~B & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L\n",
|
"Branch if Negative (ORG) = A & C & ~B & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L\n",
|
||||||
"\n",
|
"\n",
|
||||||
"Unblock interrupts (CNF) = A & C & ~B & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L\n",
|
"Branch if Negative (CNF) = A & C & ~B & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L\n",
|
||||||
"\n",
|
"\n",
|
||||||
"Unblock interrupts (DNF) = A & C & ~B & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L\n",
|
"Branch if Negative (DNF) = A & C & ~B & ~D & ~E & ~F & ~G & ~H & ~I & ~J & ~K & ~L\n",
|
||||||
"\n",
|
"\n",
|
||||||
"\n",
|
"\n",
|
||||||
"\n",
|
"\n",
|
||||||
"Read Last Address (ORG) = E & ~D & ~F & ~G & ~H & ~I & ~J & ~K & ~L\n",
|
"Read Memory (ORG) = (E & F & ~D & ~G & ~H & ~I & ~J & ~K & ~L) | (F & ~D & ~E & ~G & ~H & ~I & ~J & ~K & ~L)\n",
|
||||||
"\n",
|
"\n",
|
||||||
"Read Last Address (CNF) = E & ~D & ~F & ~G & ~H & ~I & ~J & ~K & ~L\n",
|
"Read Memory (CNF) = F & ~D & ~G & ~H & ~I & ~J & ~K & ~L\n",
|
||||||
"\n",
|
"\n",
|
||||||
"Read Last Address (DNF) = E & ~D & ~F & ~G & ~H & ~I & ~J & ~K & ~L\n",
|
"Read Memory (DNF) = F & ~D & ~G & ~H & ~I & ~J & ~K & ~L\n",
|
||||||
"\n",
|
"\n",
|
||||||
"\n",
|
"\n",
|
||||||
"\n",
|
"\n",
|
||||||
"Read Interrupt Device (ORG) = D & E & ~F & ~G & ~H & ~I & ~J & ~K & ~L\n",
|
"Write Memory (ORG) = (D & E & F & ~G & ~H & ~I & ~J & ~K & ~L) | (D & F & ~E & ~G & ~H & ~I & ~J & ~K & ~L)\n",
|
||||||
"\n",
|
"\n",
|
||||||
"Read Interrupt Device (CNF) = D & E & ~F & ~G & ~H & ~I & ~J & ~K & ~L\n",
|
"Write Memory (CNF) = D & F & ~G & ~H & ~I & ~J & ~K & ~L\n",
|
||||||
"\n",
|
"\n",
|
||||||
"Read Interrupt Device (DNF) = D & E & ~F & ~G & ~H & ~I & ~J & ~K & ~L\n",
|
"Write Memory (DNF) = D & F & ~G & ~H & ~I & ~J & ~K & ~L\n",
|
||||||
"\n",
|
|
||||||
"\n",
|
|
||||||
"\n",
|
|
||||||
"Read Memory (ORG) = (D & E & F & ~G & ~H & ~I & ~J & ~K & ~L) | (F & ~D & ~E & ~G & ~H & ~I & ~J & ~K & ~L)\n",
|
|
||||||
"\n",
|
|
||||||
"Read Memory (CNF) = F & ~G & ~H & ~I & ~J & ~K & ~L & (D | ~E) & (E | ~D)\n",
|
|
||||||
"\n",
|
|
||||||
"Read Memory (DNF) = (D & E & F & ~G & ~H & ~I & ~J & ~K & ~L) | (F & ~D & ~E & ~G & ~H & ~I & ~J & ~K & ~L)\n",
|
|
||||||
"\n",
|
|
||||||
"\n",
|
|
||||||
"\n",
|
|
||||||
"Write Memory (ORG) = (D & F & ~E & ~G & ~H & ~I & ~J & ~K & ~L) | (E & F & ~D & ~G & ~H & ~I & ~J & ~K & ~L)\n",
|
|
||||||
"\n",
|
|
||||||
"Write Memory (CNF) = F & ~G & ~H & ~I & ~J & ~K & ~L & (D | E) & (~D | ~E)\n",
|
|
||||||
"\n",
|
|
||||||
"Write Memory (DNF) = (D & F & ~E & ~G & ~H & ~I & ~J & ~K & ~L) | (E & F & ~D & ~G & ~H & ~I & ~J & ~K & ~L)\n",
|
|
||||||
"\n",
|
"\n",
|
||||||
"\n",
|
"\n",
|
||||||
"\n",
|
"\n",
|
||||||
|
@ -342,43 +160,27 @@
|
||||||
"\n",
|
"\n",
|
||||||
"\n",
|
"\n",
|
||||||
"\n",
|
"\n",
|
||||||
"Load Immediate (ORG) = H & ~I & ~J & ~K & ~L\n",
|
"Load Immediate Upper (ORG) = G & ~H & ~I & ~J & ~K & ~L\n",
|
||||||
"\n",
|
"\n",
|
||||||
"Load Immediate (CNF) = H & ~I & ~J & ~K & ~L\n",
|
"Load Immediate Upper (CNF) = G & ~H & ~I & ~J & ~K & ~L\n",
|
||||||
"\n",
|
"\n",
|
||||||
"Load Immediate (DNF) = H & ~I & ~J & ~K & ~L\n",
|
"Load Immediate Upper (DNF) = G & ~H & ~I & ~J & ~K & ~L\n",
|
||||||
"\n",
|
"\n",
|
||||||
"\n",
|
"\n",
|
||||||
"\n",
|
"\n",
|
||||||
"Write Reg 1 (ORG) = (J & K & L) | (J & K & ~L) | (J & L & ~K) | (K & L & ~J) | (J & ~K & ~L) | (K & ~J & ~L) | (L & ~J & ~K) | (G & H & I & ~J & ~K & ~L) | (G & I & ~H & ~J & ~K & ~L) | (H & I & ~G & ~J & ~K & ~L) | (I & ~G & ~H & ~J & ~K & ~L) | (D & E & ~F & ~G & ~H & ~I & ~J & ~K & ~L) | (E & F & ~D & ~G & ~H & ~I & ~J & ~K & ~L) | (E & ~D & ~F & ~G & ~H & ~I & ~J & ~K & ~L) | (F & ~D & ~E & ~G & ~H & ~I & ~J & ~K & ~L)\n",
|
"Load Immediate Lower (ORG) = H & ~G & ~I & ~J & ~K & ~L\n",
|
||||||
"\n",
|
"\n",
|
||||||
"Write Reg 1 (CNF) = (I | J | K | L | ~G) & (I | J | K | L | ~H) & (E | F | I | J | K | L) & (I | J | K | L | ~D | ~F)\n",
|
"Load Immediate Lower (CNF) = H & ~G & ~I & ~J & ~K & ~L\n",
|
||||||
"\n",
|
"\n",
|
||||||
"Write Reg 1 (DNF) = I | J | K | L | (E & ~F & ~G & ~H) | (F & ~D & ~G & ~H)\n",
|
"Load Immediate Lower (DNF) = H & ~G & ~I & ~J & ~K & ~L\n",
|
||||||
"\n",
|
"\n",
|
||||||
"\n",
|
"\n",
|
||||||
"\n",
|
"\n",
|
||||||
"Read Reg 1 (ORG) = (D & E & F & ~G & ~H & ~I & ~J & ~K & ~L) | (D & F & ~E & ~G & ~H & ~I & ~J & ~K & ~L)\n",
|
"Load Immediate Lower OR (ORG) = G & H & ~I & ~J & ~K & ~L\n",
|
||||||
"\n",
|
"\n",
|
||||||
"Read Reg 1 (CNF) = D & F & ~G & ~H & ~I & ~J & ~K & ~L\n",
|
"Load Immediate Lower OR (CNF) = G & H & ~I & ~J & ~K & ~L\n",
|
||||||
"\n",
|
"\n",
|
||||||
"Read Reg 1 (DNF) = D & F & ~G & ~H & ~I & ~J & ~K & ~L\n",
|
"Load Immediate Lower OR (DNF) = G & H & ~I & ~J & ~K & ~L\n",
|
||||||
"\n",
|
|
||||||
"\n",
|
|
||||||
"\n",
|
|
||||||
"Read Reg 2 (ORG) = (J & K & L) | (J & K & ~L) | (J & L & ~K) | (K & L & ~J) | (J & ~K & ~L) | (K & ~J & ~L) | (L & ~J & ~K) | (G & H & I & ~J & ~K & ~L) | (G & I & ~H & ~J & ~K & ~L) | (H & I & ~G & ~J & ~K & ~L) | (I & ~G & ~H & ~J & ~K & ~L)\n",
|
|
||||||
"\n",
|
|
||||||
"Read Reg 2 (CNF) = I | J | K | L\n",
|
|
||||||
"\n",
|
|
||||||
"Read Reg 2 (DNF) = I | J | K | L\n",
|
|
||||||
"\n",
|
|
||||||
"\n",
|
|
||||||
"\n",
|
|
||||||
"Read Reg 3 (ORG) = (J & K & L) | (J & K & ~L) | (J & L & ~K) | (K & L & ~J) | (J & ~K & ~L) | (K & ~J & ~L) | (L & ~J & ~K)\n",
|
|
||||||
"\n",
|
|
||||||
"Read Reg 3 (CNF) = J | K | L\n",
|
|
||||||
"\n",
|
|
||||||
"Read Reg 3 (DNF) = J | K | L\n",
|
|
||||||
"\n",
|
"\n",
|
||||||
"\n",
|
"\n",
|
||||||
"\n",
|
"\n",
|
||||||
|
@ -398,11 +200,11 @@
|
||||||
"\n",
|
"\n",
|
||||||
"\n",
|
"\n",
|
||||||
"\n",
|
"\n",
|
||||||
"AND (ORG) = (J & K & ~L) | (J & ~K & ~L)\n",
|
"AND (ORG) = (J & L & ~K) | (J & ~K & ~L)\n",
|
||||||
"\n",
|
"\n",
|
||||||
"AND (CNF) = J & ~L\n",
|
"AND (CNF) = J & ~K\n",
|
||||||
"\n",
|
"\n",
|
||||||
"AND (DNF) = J & ~L\n",
|
"AND (DNF) = J & ~K\n",
|
||||||
"\n",
|
"\n",
|
||||||
"\n",
|
"\n",
|
||||||
"\n",
|
"\n",
|
||||||
|
@ -414,43 +216,43 @@
|
||||||
"\n",
|
"\n",
|
||||||
"\n",
|
"\n",
|
||||||
"\n",
|
"\n",
|
||||||
"XOR (ORG) = J & L & ~K\n",
|
"XOR (ORG) = L & ~J & ~K\n",
|
||||||
"\n",
|
"\n",
|
||||||
"XOR (CNF) = J & L & ~K\n",
|
"XOR (CNF) = L & ~J & ~K\n",
|
||||||
"\n",
|
"\n",
|
||||||
"XOR (DNF) = J & L & ~K\n",
|
"XOR (DNF) = L & ~J & ~K\n",
|
||||||
"\n",
|
"\n",
|
||||||
"\n",
|
"\n",
|
||||||
"\n",
|
"\n",
|
||||||
"NOT out (ORG) = (J & K & ~L) | (K & L & ~J)\n",
|
"NOT out (ORG) = (J & L & ~K) | (K & L & ~J)\n",
|
||||||
"\n",
|
"\n",
|
||||||
"NOT out (CNF) = K & (J | L) & (~J | ~L)\n",
|
"NOT out (CNF) = L & (J | K) & (~J | ~K)\n",
|
||||||
"\n",
|
"\n",
|
||||||
"NOT out (DNF) = (J & K & ~L) | (K & L & ~J)\n",
|
"NOT out (DNF) = (J & L & ~K) | (K & L & ~J)\n",
|
||||||
"\n",
|
"\n",
|
||||||
"\n",
|
"\n",
|
||||||
"\n",
|
"\n",
|
||||||
"NOT Reg 3 (ORG) = (L & ~J & ~K) | (G & H & I & ~J & ~K & ~L)\n",
|
"NOT Reg 3 (ORG) = (J & K & ~L) | (G & H & I & ~J & ~K & ~L)\n",
|
||||||
"\n",
|
"\n",
|
||||||
"NOT Reg 3 (CNF) = ~J & ~K & (G | L) & (H | L) & (I | L)\n",
|
"NOT Reg 3 (CNF) = ~L & (G | J) & (H | J) & (I | J) & (J | ~K) & (K | ~J)\n",
|
||||||
"\n",
|
"\n",
|
||||||
"NOT Reg 3 (DNF) = (L & ~J & ~K) | (G & H & I & ~J & ~K)\n",
|
"NOT Reg 3 (DNF) = (J & K & ~L) | (G & H & I & ~J & ~K & ~L)\n",
|
||||||
"\n",
|
"\n",
|
||||||
"\n",
|
"\n",
|
||||||
"\n",
|
"\n",
|
||||||
"Add (ORG) = (J & K & L) | (L & ~J & ~K) | (G & H & I & ~J & ~K & ~L) | (H & I & ~G & ~J & ~K & ~L)\n",
|
"Add (ORG) = (J & K & L) | (J & K & ~L) | (G & H & I & ~J & ~K & ~L) | (H & I & ~G & ~J & ~K & ~L)\n",
|
||||||
"\n",
|
"\n",
|
||||||
"Add (CNF) = (H | L) & (I | L) & (J | ~K) & (K | ~J) & (L | ~K)\n",
|
"Add (CNF) = (H | J) & (I | J) & (J | ~K) & (J | ~L) & (K | ~J)\n",
|
||||||
"\n",
|
"\n",
|
||||||
"Add (DNF) = (J & K & L) | (L & ~J & ~K) | (H & I & ~J & ~K)\n",
|
"Add (DNF) = (J & K) | (H & I & ~J & ~K & ~L)\n",
|
||||||
"\n",
|
"\n",
|
||||||
"\n",
|
"\n",
|
||||||
"\n",
|
"\n",
|
||||||
"Inject Carry (ORG) = (L & ~J & ~K) | (G & H & I & ~J & ~K & ~L) | (H & I & ~G & ~J & ~K & ~L)\n",
|
"Inject Carry (ORG) = (J & K & ~L) | (G & H & I & ~J & ~K & ~L) | (H & I & ~G & ~J & ~K & ~L)\n",
|
||||||
"\n",
|
"\n",
|
||||||
"Inject Carry (CNF) = ~J & ~K & (H | L) & (I | L)\n",
|
"Inject Carry (CNF) = ~L & (H | J) & (I | J) & (J | ~K) & (K | ~J)\n",
|
||||||
"\n",
|
"\n",
|
||||||
"Inject Carry (DNF) = (L & ~J & ~K) | (H & I & ~J & ~K)\n",
|
"Inject Carry (DNF) = (J & K & ~L) | (H & I & ~J & ~K & ~L)\n",
|
||||||
"\n",
|
"\n",
|
||||||
"\n",
|
"\n",
|
||||||
"\n",
|
"\n",
|
||||||
|
@ -461,6 +263,54 @@
|
||||||
"One as Reg 3 (DNF) = G & H & I & ~J & ~K & ~L\n",
|
"One as Reg 3 (DNF) = G & H & I & ~J & ~K & ~L\n",
|
||||||
"\n",
|
"\n",
|
||||||
"\n",
|
"\n",
|
||||||
|
"\n",
|
||||||
|
"Write Reg 1 (ORG) = (J & K & L) | (J & K & ~L) | (J & L & ~K) | (K & L & ~J) | (J & ~K & ~L) | (K & ~J & ~L) | (L & ~J & ~K) | (G & H & I & ~J & ~K & ~L) | (G & I & ~H & ~J & ~K & ~L) | (H & I & ~G & ~J & ~K & ~L) | (I & ~G & ~H & ~J & ~K & ~L) | (D & E & F & ~G & ~H & ~I & ~J & ~K & ~L) | (F & ~D & ~E & ~G & ~H & ~I & ~J & ~K & ~L)\n",
|
||||||
|
"\n",
|
||||||
|
"Write Reg 1 (CNF) = (F | I | J | K | L) & (I | J | K | L | ~G) & (I | J | K | L | ~H) & (D | I | J | K | L | ~E) & (E | I | J | K | L | ~D)\n",
|
||||||
|
"\n",
|
||||||
|
"Write Reg 1 (DNF) = I | J | K | L | (D & E & F & ~G & ~H) | (F & ~D & ~E & ~G & ~H)\n",
|
||||||
|
"\n",
|
||||||
|
"\n",
|
||||||
|
"\n",
|
||||||
|
"Read Reg 1 (ORG) = (D & F & ~E & ~G & ~H & ~I & ~J & ~K & ~L) | (E & F & ~D & ~G & ~H & ~I & ~J & ~K & ~L)\n",
|
||||||
|
"\n",
|
||||||
|
"Read Reg 1 (CNF) = F & ~G & ~H & ~I & ~J & ~K & ~L & (D | E) & (~D | ~E)\n",
|
||||||
|
"\n",
|
||||||
|
"Read Reg 1 (DNF) = (D & F & ~E & ~G & ~H & ~I & ~J & ~K & ~L) | (E & F & ~D & ~G & ~H & ~I & ~J & ~K & ~L)\n",
|
||||||
|
"\n",
|
||||||
|
"\n",
|
||||||
|
"\n",
|
||||||
|
"Any Reg 1 (ORG) = (J & K & L) | (J & K & ~L) | (J & L & ~K) | (K & L & ~J) | (J & ~K & ~L) | (K & ~J & ~L) | (L & ~J & ~K) | (G & H & I & ~J & ~K & ~L) | (G & I & ~H & ~J & ~K & ~L) | (H & I & ~G & ~J & ~K & ~L) | (I & ~G & ~H & ~J & ~K & ~L) | (D & E & F & ~G & ~H & ~I & ~J & ~K & ~L) | (D & F & ~E & ~G & ~H & ~I & ~J & ~K & ~L) | (E & F & ~D & ~G & ~H & ~I & ~J & ~K & ~L) | (F & ~D & ~E & ~G & ~H & ~I & ~J & ~K & ~L)\n",
|
||||||
|
"\n",
|
||||||
|
"Any Reg 1 (CNF) = (F | I | J | K | L) & (I | J | K | L | ~G) & (I | J | K | L | ~H)\n",
|
||||||
|
"\n",
|
||||||
|
"Any Reg 1 (DNF) = I | J | K | L | (F & ~G & ~H)\n",
|
||||||
|
"\n",
|
||||||
|
"\n",
|
||||||
|
"\n",
|
||||||
|
"Read Reg 2 (ORG) = (J & K & L) | (J & K & ~L) | (J & L & ~K) | (K & L & ~J) | (J & ~K & ~L) | (K & ~J & ~L) | (L & ~J & ~K) | (G & H & I & ~J & ~K & ~L) | (G & I & ~H & ~J & ~K & ~L) | (H & I & ~G & ~J & ~K & ~L) | (I & ~G & ~H & ~J & ~K & ~L)\n",
|
||||||
|
"\n",
|
||||||
|
"Read Reg 2 (CNF) = I | J | K | L\n",
|
||||||
|
"\n",
|
||||||
|
"Read Reg 2 (DNF) = I | J | K | L\n",
|
||||||
|
"\n",
|
||||||
|
"\n",
|
||||||
|
"\n",
|
||||||
|
"Read Reg 3 (ORG) = (J & K & L) | (J & K & ~L) | (J & L & ~K) | (K & L & ~J) | (J & ~K & ~L) | (K & ~J & ~L) | (L & ~J & ~K)\n",
|
||||||
|
"\n",
|
||||||
|
"Read Reg 3 (CNF) = J | K | L\n",
|
||||||
|
"\n",
|
||||||
|
"Read Reg 3 (DNF) = J | K | L\n",
|
||||||
|
"\n",
|
||||||
|
"\n",
|
||||||
|
"\n",
|
||||||
|
"Update Flags (ORG) = (J & K & L) | (J & K & ~L) | (J & L & ~K) | (K & L & ~J) | (J & ~K & ~L) | (K & ~J & ~L) | (L & ~J & ~K) | (G & H & I & ~J & ~K & ~L) | (G & I & ~H & ~J & ~K & ~L) | (H & I & ~G & ~J & ~K & ~L) | (I & ~G & ~H & ~J & ~K & ~L)\n",
|
||||||
|
"\n",
|
||||||
|
"Update Flags (CNF) = I | J | K | L\n",
|
||||||
|
"\n",
|
||||||
|
"Update Flags (DNF) = I | J | K | L\n",
|
||||||
|
"\n",
|
||||||
|
"\n",
|
||||||
"\n"
|
"\n"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue