JSFiddle - React, Tailwind, and code Playground

by electronoob

JavaScript

var asm = "\
Num2Dec:\n\
        ld      bc,-10000\n\
        call    Num1\n\
        ld      bc,-1000\n\
        call    Num1\n\
        ld      bc,-100\n\
        call    Num1\n\
        ld      c,-10\n\
        call    Num1\n\
        ld      c,b\n\
\n\
Num1:\n\
        ld      a,'0'-1\n\
Num2:\n\
        inc     a\n\
        add     hl,bc\n\
        jr      c,Num2\n\
        sbc     hl,bc\n\
\n\
        ld      [de],a\n\
        inc     de\n\
        ret\n\
";
asm = asm.split("\n");

//p(asm[1]);
for (let cocks of asm) p(cocks);

function p(line) {
  let o = line.trim().split(/[ ,\s]+/g);
  switch (o[0]) {
    case 'nop':
      console.log("TODO nop");
    break;
    case 'ld':
      console.log("TODO ld");
    break;
    case 'inc':
      console.log("TODO inc");
    break;
    case 'dec':
      console.log("TODO dec");
    break;
    case 'rlca':
      console.log("TODO rlca");
    break;
    case 'add':
      console.log("TODO add");
    break;
    case 'rrca':
      console.log("TODO rrca");
    break;
    case 'stop':
      console.log("TODO stop");
    break;
    case 'rla':
      console.log("TODO rla");
    break;
    case 'jr':
      console.log("TODO jr");
    break;
    case 'rra':
      console.log("TODO rra");
    break;
    case 'daa':
      console.log("TODO daa");
    break;
    case 'cpl':
      console.log("TODO cpl");
    break;
    case 'scf':
      console.log("TODO scf");
    break;
    case 'ccf':
      console.log("TODO ccf");
    break;
    case 'halt':
      console.log("TODO halt");
    break;
    case 'adc':
      console.log("TODO adc");
    break;
    case 'sub':
      console.log("TODO sub");
    break;
    case 'sbc':
      console.log("TODO sbc");
    break;
    case 'and':
      console.log("TODO and");
    break;
    case 'xor':
      console.log("TODO xor");
    break;
    case 'or':
      console.log("TODO or");
    break;
    case 'cp':
      console.log("TODO cp");
    break;
    case 'ret':
      console.log("TODO...