
can any one convert My code to GUI code
import java.util.Scanner;
public class RegistorClass {
private int accumulator; private int instructionCounter; private int instructionRegister; private int operationCode; private int operand; private boolean halt; private MemoryClass memory;// Operation codes
// Input/Output operations. private final int READ = 10; private final int WRITE = 11; // Load/Store operations. private final int LOAD = 20; private final int STORE = 21; // Arithmetic operations. private final int ADD = 30; private final int SUBTRACT = 31; private final int DIVIDE = 32; private final int MULTIPLY = 33; // Transfer-of-control operations. private final int BRANCH = 40; private final int BRANCHNEG = 41; private final int BRANCHZERO = 42; private final int HALT = 43;public RegistorClass(MemoryClass memory1){
accumulator = 0; instructionCounter = 0; instructionRegister = 0; operationCode = 0; operand = 0; halt = false; memory = memory1;} public int getOperationCode(int word) { int operationCode = word / 100; return operationCode; }public int getOperand(int word) {
int operand = word % 100; return operand; }
public boolean executeNextInstruction() {
if (halt) return false; // Read next instruction from memory. instructionRegister = memory.read(instructionCounter); operationCode = getOperationCode(instructionRegister); operand =getOperand(instructionRegister); boolean transferOfControl = false; // execute the instruction. switch (operationCode) { case READ: Scanner scan = new Scanner(System.in); // Read a word from the keyboard. System.out.print("Enter an integer: "); // Write word to memory. memory.write(operand, scan.nextInt()); break; case WRITE: // Read a word from memory. int data = memory.read(operand); // Display the word on the screen if (!halt) System.out.println(data); break; case LOAD: // Load a word from memory into the accumulator. accumulator = memory.read(operand); // accumulator=memory[operand]; break;case STORE: // Store accumulator into memory. memory.write(operand, accumulator); // memory[operand]=accumulator; break; case ADD: // Add word from memory to accumulator. accumulator += memory.read(operand); break; case SUBTRACT: // Subtract word from memory from accumulator. accumulator -= memory.read(operand); break; case DIVIDE: // Divide accumulator by a word loaded from memory. int divisor = memory.read(operand); //divisor=memory[oprand] ; if (!halt) if (divisor == 0) { System.out.println("*** Attempt to divide by zero ***"); } else accumulator /= divisor; break; case MULTIPLY: // Multiply accumulator by a word loaded from memory. accumulator *= memory.read(operand); break; case BRANCH: // Branch to location in memory. instructionCounter = operand; transferOfControl = true; break; case BRANCHNEG: // Branch to location in memory if accumulator is negative. if (accumulator < 0) { instructionCounter = operand; transferOfControl = true; } break;case BRANCHZERO:
// Branch to location in memory if accumulator is zero. if (accumulator == 0) { instructionCounter = operand; transferOfControl = true; } break; case HALT: System.out.println("*** Simpletron execution terminated ***"); transferOfControl = true; halt = true; break; default: System.out.println("*** Invalid operation code ***"); halt= true; // break; } if (!transferOfControl) instructionCounter++; return !halt; }public void dump() {
System.out.printf(" accumulator\t\t\t%+05d\n", accumulator); System.out.printf("instructionCounter\t\t %02d\n", instructionCounter); System.out.printf("instructionRegister\t\t%+05d\n", instructionRegister); System.out.printf("operationCode \t\t\t %02d\n", operationCode);
System.out.printf("operand \t\t\t\t %02d\n", operand);
}public static void main(String[] args)
{ System.out.println("*** Welcome to Simpletron! ***"); System.out.println("*** Please enter your program one instruction ***"); System.out.println("*** (or data word) at a time. I will display ***"); System.out.println("*** the location number and a question mark (?) ***"); System.out.println("*** You then type the word for that location. ***"); System.out.println("*** Type -99999 to stop entering your program. ***"); System.out.println(); MachineClass machine = new MachineClass (); machine.inputProgramToMemory(); machine.executeProgram();} }
class MachineClass {
private MemoryClass memory1;
private RegistorClass registor1 ;
public static final int MEMORY_WORD = 100;
public MachineClass(){ memory1=new MemoryClass( MEMORY_WORD); registor1=new RegistorClass(memory1);}public void inputProgramToMemory() {
Scanner input =new Scanner(System.in);
int memoryWord=0;final int END_OF_INPUT = -9999; System.out.printf("%02d ? ", memoryWord);int data = input.nextInt();while(data !=END_OF_INPUT) { memory1.write(memoryWord,data); memoryWord++; System.out.printf("%02d ? ", memoryWord); data = input.nextInt();} System.out.println("*** Program loading completed ***"); System.out.println(); }public void computerDump() { System.out.println();
System.out.println("REGISTERS:");
registor1.dump();
System.out.println();
System.out.println("MEMORY:");
memory1.dump(); }
// Execute program public void executeProgram(){ System.out.println("*** Program execution begins ***"); while ( registor1.executeNextInstruction()) ; computerDump(); }}
class MemoryClass {
private int[] memory; public MemoryClass(int amountOfMemoryWord ){ memory = new int[amountOfMemoryWord];
} // Write a value to memory. public void write(int word, int value) { if (word < 0 || word >= memory.length) { System.out.println("*** Attempt to write to a non-existing memory location ***"); } else memory[word] = value; } public int read(int word) { int value = 0; if (word < 0 || word >= memory.length) { System.out.println("*** Attempt to read from a non-existing memory location ***"); } else value = memory[word]; return value; } public void dump() { System.out.print( " "); for (int i = 0; i < 10; i++) System.out.printf("%5d ", i); System.out.println(); for (int i = 0; i < memory.length; i += 10) { System.out.print(" "+ i+ " "); for (int j = 0; j < 10 && i+j < memory.length; j++) System.out.printf("%+05d ", memory[i + j]); //05>>> to print five digits ??? System.out.println(); } } `print("code sample");`
thanks,,
If you are facing any programming issue, such as compilation errors or not able to find the code you are looking for.
Ask your questions, our development team will try to give answers to your questions.