Programming Language and Compilers

profileSiper

  This home work in java program 

and this is the question and more details attach in folder and the other materials include it to help find the solution please read the details carefully..........

 

SIMPLE MACHINE LANGUAGE ASSEMBLER SIMULATION

Write a program to simulate the SML (Simple Machine Language Assembler). Your program must read the instructions from a source file. Prompt the user for a file name, and then read the instruction into an array in memory. The program is to simulate the accumulator, instruction pointer, and instruction register during the execution of the program. Your simulator code should actually execute the assembler commands generating input and output commands. 

Help: Create a Scanner to read a String representing a file name

Then create another Scanner to read a file like Scanner inFile=new Scanner(new File(…))

… should be replaced by the name of the file.

Define an array of 100 integers like int [] memory=new int[100];

Using a loop to load the contents into the array like

int index=0;

while(inFile.hasNext())

{

memory[index]=inFile.nextInt();

index++;

}

Define a variable representing accumulator

Using a do/while loop to process array inst ….like 

Define two variable representing operator and operand

Loop array memory

find operator code and operand using divide and modulo from each instruction

using switch like

switch (operator){

case 10:

memory[operand]=in.nextInt(); break;

Case 43:

While(operator!=43);

  • 6 years ago
  • 15
Answer(3)

Purchase the answer to view it

blurred-text
  • attachment
    SimulatorSolutions.zip

Purchase the answer to view it

blurred-text
NOT RATED

Purchase the answer to view it

blurred-text
NOT RATED
  • attachment
    SMLsoln.zip