assembler - Fix: move 'main' back to end

This commit is contained in:
n loewen 2023-09-02 20:34:54 -07:00
parent c8c188e55a
commit d26bf39f05
1 changed files with 23 additions and 24 deletions

View File

@ -9,30 +9,6 @@ const DBG = require('./dbg.js');
const CFG = require('./machine.config.js');
/** MAIN **/
// Handle command-line options...
const opts = new Opter(process.argv);
opts.synonymize('-d', '--debug');
opts.requireOption('-i', 'Input file required (-i prog.asm)');
opts.requireOptionArgument('-i', 1, 1, 'Input file required (-i prog.asm)');
opts.requireOptionArgument('-o', 1, 1, 'Missing output file name (-o prog.asm)');
const inputFilename = opts.opts.i[0];
const inputFile_str = fs.readFileSync(inputFilename, 'utf8');
let outputFileProvided = opts.contains('-o');
let returnOnStdout = !outputFileProvided;
let outputFilename = outputFileProvided ? opts.opts.o[0] : null;
let outputWithMetadata = opts.contains('--debug');
// Initialize debugger...
const dbg = returnOnStdout ? new DBG('none') : new DBG('nitpick');
// Assemble...!
assemble(inputFile_str, outputFilename, outputWithMetadata);
/** Configure pseudo-ops **/
const ASM_IP_LABEL = '*';
@ -452,3 +428,26 @@ function assemble(sourceCode, outputFile='out.txt', includeMetadata=false) {
}
}
/** MAIN **/
// Handle command-line options...
const opts = new Opter(process.argv);
opts.synonymize('-d', '--debug');
opts.requireOption('-i', 'Input file required (-i prog.asm)');
opts.requireOptionArgument('-i', 1, 1, 'Input file required (-i prog.asm)');
opts.requireOptionArgument('-o', 1, 1, 'Missing output file name (-o prog.asm)');
const inputFilename = opts.opts.i[0];
const inputFile_str = fs.readFileSync(inputFilename, 'utf8');
let outputFileProvided = opts.contains('-o');
let returnOnStdout = !outputFileProvided;
let outputFilename = outputFileProvided ? opts.opts.o[0] : null;
let outputWithMetadata = opts.contains('--debug');
// Initialize debugger...
const dbg = returnOnStdout ? new DBG('none') : new DBG('nitpick');
// Assemble...!
assemble(inputFile_str, outputFilename, outputWithMetadata);