package j1 var BaseWords = map[string][]ALU{ "noop": {{Opcode: opT}}, "+": {{Opcode: opTplusN, Ddir: -1}}, "xor": {{Opcode: opTxorN, Ddir: -1}}, "and": {{Opcode: opTandN, Ddir: -1}}, "or": {{Opcode: opTorN, Ddir: -1}}, "invert": {{Opcode: opNotT}}, "=": {{Opcode: opNeqT, Ddir: -1}}, "<": {{Opcode: opNleT, Ddir: -1}}, "u<": {{Opcode: opNuleT, Ddir: -1}}, "swap": {{Opcode: opN, TtoN: true}}, "dup": {{Opcode: opT, TtoN: true, Ddir: 1}}, "drop": {{Opcode: opN, Ddir: -1}}, "over": {{Opcode: opN, TtoN: true, Ddir: 1}}, "nip": {{Opcode: opT, Ddir: -1}}, ">r": {{Opcode: opN, TtoR: true, Rdir: 1, Ddir: -1}}, "r>": {{Opcode: opR, TtoN: true, Rdir: -1, Ddir: 1}}, "r@": {{Opcode: opR, TtoN: true, Ddir: 1}}, "@": {{Opcode: opAtT}}, "!": {{Opcode: opT, NtoAtT: true, Ddir: -1}, {Opcode: opN, Ddir: -1}}, "dsp": {{Opcode: opDepth, TtoN: true, Ddir: 1}}, "lshift": {{Opcode: opNlshiftT, Ddir: -1}}, "rshift": {{Opcode: opNrshiftT, Ddir: -1}}, "1-": {{Opcode: opTminus1}}, "2r>": {{Opcode: opR, TtoN: true, Rdir: -1, Ddir: 1}, {Opcode: opR, TtoN: true, Rdir: -1, Ddir: 1}, {Opcode: opN, TtoN: true}}, "2>r": {{Opcode: opN, TtoN: true}, {Opcode: opN, TtoR: true, Rdir: 1, Ddir: -1}, {Opcode: opN, TtoR: true, Rdir: 1, Ddir: -1}}, "2r@": {{Opcode: opR, TtoN: true, Rdir: -1, Ddir: 1}, {Opcode: opR, TtoN: true, Rdir: -1, Ddir: 1}, {Opcode: opN, TtoN: true, Ddir: 1}, {Opcode: opN, TtoN: true, Ddir: 1}, {Opcode: opN, TtoR: true, Rdir: 1, Ddir: -1}, {Opcode: opN, TtoR: true, Rdir: 1, Ddir: -1}, {Opcode: opN, TtoN: true}}, "unloop": {{Opcode: opT, Rdir: -1}, {Opcode: opT, Rdir: -1}}, "exit": {{Opcode: opT, RtoPC: true, Rdir: -1}}, // Elided words "dup@": {{Opcode: opAtT, TtoN: true, Ddir: 1}}, "dup>r": {{Opcode: opT, TtoR: true, Rdir: 1}}, "2dupxor": {{Opcode: opTxorN, TtoN: true, Ddir: 1}}, "2dup=": {{Opcode: opNeqT, TtoN: true, Ddir: 1}}, "!nip": {{Opcode: opT, NtoAtT: true, Ddir: -1}}, "2dup!": {{Opcode: opT, NtoAtT: true}}, // Words used to implement pick "up1": {{Opcode: opT, Ddir: 1}}, "down1": {{Opcode: opT, Ddir: -1}}, "copy": {{Opcode: opN}}, // misc "swapdown": {{Opcode: opN, TtoN: true}, {Opcode, opT, Ddir: -1}}, }