cardiograph-computer/assemble-and-run.js

23 lines
714 B
JavaScript

// Run: `node assemble-and-run.js run assembly.asm`
// Debug: `node assemble-and-run.js debug assembly.asm`
const fs = require('fs');
const computer = require('./simulator.js');
const assembler = require('./assembler.js');
const { logRunningHeader, logMemory } = require('./logging.js');
const mode = process.argv[2];
// console.log(`Reading ${filename}`);
const filename = process.argv[3];
const inputFile_str = fs.readFileSync(filename, 'utf8');
let machineCode;
if (mode === "debug") {
logRunningHeader();
machineCode = assembler.assemble(inputFile_str);
computer.runProgram(machineCode, true);
} else {
machineCode = assembler.assemble(inputFile_str);
computer.runProgram(machineCode, false);
}