Web based MIPS assembler and emulator

assembler.js 573B

1234567891011121314151617
  1. // --- START DEBUG ONLY CODE ---
  2. const fs = require('fs')
  3. const input = fs.readFileSync('test.asm', { encoding: 'utf-8' })
  4. // --- END DEBUG ONLY CODE ---
  5. const encoders = require('./encoders.js')
  6. const lines = raw => raw.split('\n').map(s => s.trim()).filter(s => !!s)
  7. const parse = lineArray => lineArray.map(line => {
  8. return {
  9. instruction: line.substr(0, line.indexOf(' ')),
  10. arguments: line.substr(line.indexOf(' ')+1).split(',').map(s => s.trim())
  11. }
  12. }).map(line => encoders[line.instruction].apply(null, line.arguments))
  13. console.log(parse(lines(input)))