public void load_all_Tables() { // SymbolTable SymbolTable.Add(new Symbol("R0", Convert.ToString(0))); SymbolTable.Add(new Symbol("R1", Convert.ToString(1))); SymbolTable.Add(new Symbol("R2", Convert.ToString(2))); SymbolTable.Add(new Symbol("R3", Convert.ToString(3))); SymbolTable.Add(new Symbol("R4", Convert.ToString(4))); SymbolTable.Add(new Symbol("R5", Convert.ToString(5))); SymbolTable.Add(new Symbol("R6", Convert.ToString(6))); SymbolTable.Add(new Symbol("R7", Convert.ToString(7))); SymbolTable.Add(new Symbol("R8", Convert.ToString(8))); SymbolTable.Add(new Symbol("R9", Convert.ToString(9))); SymbolTable.Add(new Symbol("R10", Convert.ToString(10))); SymbolTable.Add(new Symbol("R11", Convert.ToString(11))); SymbolTable.Add(new Symbol("R12", Convert.ToString(12))); SymbolTable.Add(new Symbol("R13", Convert.ToString(13))); SymbolTable.Add(new Symbol("R14", Convert.ToString(14))); SymbolTable.Add(new Symbol("R15", Convert.ToString(15))); SymbolTable.Add(new Symbol("SCREEN", Convert.ToString(16384))); SymbolTable.Add(new Symbol("KBD", Convert.ToString(24576))); // Destination Parts DestTable.Add(new Symbol(null, "000")); DestTable.Add(new Symbol("M", "001")); DestTable.Add(new Symbol("D", "010")); DestTable.Add(new Symbol("MD", "011")); DestTable.Add(new Symbol("A", "100")); DestTable.Add(new Symbol("AM", "101")); DestTable.Add(new Symbol("AD", "110")); DestTable.Add(new Symbol("AMD", "111")); // Jump Parts JumpTable.Add(new Symbol(null, "000")); JumpTable.Add(new Symbol("JGT", "001")); JumpTable.Add(new Symbol("JEQ", "010")); JumpTable.Add(new Symbol("JGE", "011")); JumpTable.Add(new Symbol("JLT", "100")); JumpTable.Add(new Symbol("JNE", "101")); JumpTable.Add(new Symbol("JLE", "110")); JumpTable.Add(new Symbol("JMP", "111")); // Computation Parts CompTable.Add(new Symbol("0", "10101010")); CompTable.Add(new Symbol("1", "10111111")); CompTable.Add(new Symbol("-1", "10111010")); CompTable.Add(new Symbol("D", "10001100")); CompTable.Add(new Symbol("A", "10110000")); CompTable.Add(new Symbol("!D", "10001101")); CompTable.Add(new Symbol("!A", "10110001")); CompTable.Add(new Symbol("-D", "10001111")); CompTable.Add(new Symbol("-A", "10110011")); CompTable.Add(new Symbol("D+1", "10011111")); CompTable.Add(new Symbol("A+1", "10110111")); CompTable.Add(new Symbol("D-1", "10001110")); CompTable.Add(new Symbol("A-1", "10110010")); CompTable.Add(new Symbol("D+A", "10000010")); CompTable.Add(new Symbol("D-A", "10010011")); CompTable.Add(new Symbol("A-D", "10000111")); CompTable.Add(new Symbol("D&A", "10000000")); CompTable.Add(new Symbol("D|A", "10010101")); CompTable.Add(new Symbol("M", "11110000")); CompTable.Add(new Symbol("!M", "11110001")); CompTable.Add(new Symbol("-M", "11110011")); CompTable.Add(new Symbol("M+1", "11110111")); CompTable.Add(new Symbol("M-1", "11110010")); CompTable.Add(new Symbol("D+M", "11000010")); CompTable.Add(new Symbol("D-M", "11010011")); CompTable.Add(new Symbol("M-D", "11000111")); CompTable.Add(new Symbol("D&M", "11000000")); CompTable.Add(new Symbol("D|M", "11010101")); // New computations from our ALU CompTable.Add(new Symbol("M*D", "00000010")); CompTable.Add(new Symbol("M/D", "00000011")); CompTable.Add(new Symbol("M+D^2", "00010000")); CompTable.Add(new Symbol("M-D^2", "00010001")); CompTable.Add(new Symbol("M*D^2", "00010010")); CompTable.Add(new Symbol("M/D^2", "00010011")); CompTable.Add(new Symbol("-M+D", "00100000")); CompTable.Add(new Symbol("-M-D", "00100001")); CompTable.Add(new Symbol("-M*D", "00100010")); CompTable.Add(new Symbol("-M/D", "00100011")); CompTable.Add(new Symbol("-M+D^2", "00110000")); CompTable.Add(new Symbol("-M-D^2", "00110001")); CompTable.Add(new Symbol("-M*D^2", "00110010")); CompTable.Add(new Symbol("-M/D^2", "00110011")); CompTable.Add(new Symbol("M^2+D", "01000000")); CompTable.Add(new Symbol("M^2-D", "01000001")); CompTable.Add(new Symbol("M^2*D", "01000010")); CompTable.Add(new Symbol("M^2/D", "01000011")); CompTable.Add(new Symbol("M^2+D^2", "01010000")); CompTable.Add(new Symbol("M^2-D^2", "01010001")); CompTable.Add(new Symbol("M^2*D^2", "01010010")); CompTable.Add(new Symbol("M^2/D^2", "01010011")); CompTable.Add(new Symbol("-M^2+D", "01100000")); CompTable.Add(new Symbol("-M^2-D", "01100001")); CompTable.Add(new Symbol("-M^2*D", "01100010")); CompTable.Add(new Symbol("-M^2/D", "01100011")); CompTable.Add(new Symbol("-M^2+D^2", "01110000")); CompTable.Add(new Symbol("-M^2-D^2", "01110001")); CompTable.Add(new Symbol("-M^2*D^2", "01110010")); CompTable.Add(new Symbol("-M^2/D^2", "01110011")); CompTable.Add(new Symbol("M^2", "00000100")); CompTable.Add(new Symbol("D^2", "00000101")); }