public ProgramTab() {
      QHBoxLayout mainLayout = new QHBoxLayout();
      QTableWidget table = new QTableWidget(this);
      table.setColumnCount(1);
      table.setColumnWidth(0, this.width());
      table.setRowCount(128);
      List<String> labels = new ArrayList<String>();
      for (int i = 0; i < 128; i++) {
        labels.add(String.valueOf(i));
      }
      table.setVerticalHeaderLabels(labels);
      List<String> labels1 = new ArrayList<String>();
      labels1.add("Instructions");
      table.setHorizontalHeaderLabels(labels1);
      table.setSelectionMode(SelectionMode.SingleSelection);
      table.setSelectionBehavior(SelectionBehavior.SelectItems);
      for (int i = 0; i < 128; i++) {
        //				for(int j=0; j<10; j++){
        //					wigitem = new QTableWidgetItem((i)+""+(j));
        int address = (i);
        if (address < 128) {
          wigitem =
              new QTableWidgetItem(
                  simulation
                      .getProgramMemory()
                      .readByte(address)
                      .getValueAsPreferredRepresentation());
          table.setItem(i, 0, wigitem);
        }
      }
      table.setEditTriggers(QAbstractItemView.EditTrigger.NoEditTriggers);
      //			table.setGeometry(100, 100, table.width()+390, table.height()-17);
      table.setWindowTitle("Program Memory Table");
      table.setWindowModality(WindowModality.WindowModal);

      mainLayout.addWidget(table);
      resize(table.width(), table.height());
      setLayout(mainLayout);
    }