-=*< THE MICROWORD >*=- -------- 0 ---- 1 R ---- O 2 Next State Var. M ---- 1 3 ---- 4 ---- 5 ---- 6 ---- Inc Stk Increment Stack (BOS/TOS) on the NEXT clock cycle ------------------ Dec Stk Decrement Stack on the NEXT clock cycle ---------- Sgn Ena Enable Sign logic (selects 5 digit/upper ram bit) ---------- Load Stk Load Stack, pointed at by (BOS/TOS) from bus R O ---------- Gate something onto the bus. Decodes to: M Bus Ena0 00: Read Stk 2 ---------- 01: Read Keybd Bus Ena1 10: Read Treg 11: Read ALU ---------- Load Treg Clocks the bus into the Treg ---------- Inc LB Increment the Lower Bits register on the NEXT clock cycle ---------- Dec LB Decrement the lower Bits register on the NEXT clock cycle ------------------- BOS sel Selects the BOS register if 1 for all stack ops, else TOS. ---------- Clr LB Resets the LB, ALU, Display, and god knows what else R (general start of digit clear) O ---------- M Clr Treg / *Key Jmp Clears the Treg / Gate Funct codes into next state 3 ---------- Clr BTOS / *Load ALU Clears the B|TOS reg / Loads the ALU ---------- Carry Jmp Gate carry bit into next state ---------- ALU F1 ALU funct bit 1 (Note: ReadKbd, ALUf1 and ALU f0 ---------- decodes into a keyboard ack). ALU F0 ALU funct bit 0 ----------- Select Selects *Functions if 1 ------------------ INPUTS -------- 0 ---- 1 ---- 2 Next State Var. ---- 3 ---- 4 | ---- | These inputs can also be gated onto the keyboard 5 | bus when FunctJmp is high; otherwise outputs are ---- | Next state var. 6 | -------- Digit Vectors if Digit enabled and hit -------- Funct Vectors if Function enabled and hit -------- Carry Vectors to carry (also sign by way of hack) [ Note: get carry jmp by clearing Treg, the comparing contents of Treg to Sign reg from stack. So kick me.]