/** * Loads the program in the assembly text area and passes to the CPU for processing Creates the * data segment, stack segment and code segment */ public void assemblyProgram() { // TODO Auto-generated method stub resetEverything(); simulator.reset(); simulator.loadProgram(new StringBuffer(editorPane.getText())); if (simulator.canExecute()) { JPanel dataTable = new JPanel(new BorderLayout()); JLabel dataLabel = new JLabel("Data Segment"); dataLabel.setForeground(new Color(23, 88, 154)); dataLabel.setFont(new Font("Helvetica", Font.BOLD, 14)); dataTable.add(dataLabel, BorderLayout.NORTH); dataTable.add(createDataTable(), BorderLayout.SOUTH); memoryPanel.add(dataTable); dataTable.setBackground(new Color(246, 253, 219)); JPanel codeTable = new JPanel(new BorderLayout()); JLabel codeLabel = new JLabel("Code Segment"); codeLabel.setFont(new Font("Helvetica", Font.BOLD, 14)); codeLabel.setForeground(new Color(23, 88, 154)); codeTable.add(codeLabel, BorderLayout.NORTH); codeTable.add(createTable(true), BorderLayout.SOUTH); memoryPanel.add(codeTable); codeTable.setBackground(new Color(246, 253, 219)); JPanel stackTable = new JPanel(new BorderLayout()); JLabel stackLabel = new JLabel("Stack Segment"); stackLabel.setForeground(new Color(23, 88, 154)); stackLabel.setFont(new Font("Helvetica", Font.BOLD, 14)); stackTable.add(stackLabel, BorderLayout.NORTH); stackTable.add(createStackTable(), BorderLayout.SOUTH); memoryPanel.add(stackTable); memoryPanel.setBackground(new Color(246, 253, 219)); stackTable.setBackground(new Color(246, 253, 219)); addInstructions(); addDataInstructions(); repaint(); } }