Make debugging less verbose
This commit is contained in:
parent
24767d1899
commit
d74b6594be
|
|
@ -33,14 +33,14 @@ const Instructions = {
|
||||||
store_lit: (lit) => {
|
store_lit: (lit) => {
|
||||||
console.log('STO lit#');
|
console.log('STO lit#');
|
||||||
CPU.memory[lit] = CPU.Acc;
|
CPU.memory[lit] = CPU.Acc;
|
||||||
logTableTitled(CPU.memory, 'Current memory');
|
// logTableTitled(CPU.memory, 'Current memory');
|
||||||
CPU.IP = CPU.IP += 2;
|
CPU.IP = CPU.IP += 2;
|
||||||
},
|
},
|
||||||
|
|
||||||
store_addr: (addr) => {
|
store_addr: (addr) => {
|
||||||
console.log('STO addr');
|
console.log('STO addr');
|
||||||
CPU.memory[CPU.memory[addr]] = CPU.Acc;
|
CPU.memory[CPU.memory[addr]] = CPU.Acc;
|
||||||
logTableTitled(CPU.memory, 'Memory');
|
//logTableTitled(CPU.memory, 'Memory');
|
||||||
CPU.IP = CPU.IP += 2;
|
CPU.IP = CPU.IP += 2;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
@ -133,7 +133,7 @@ const Instructions = {
|
||||||
carry_hop: () => {
|
carry_hop: () => {
|
||||||
console.log("CHP");
|
console.log("CHP");
|
||||||
console.log(` ↳ Memory at IP+2 and +3: ${CPU.memory[CPU.IP+2]}, ${CPU.memory[CPU.IP+3]}`);
|
console.log(` ↳ Memory at IP+2 and +3: ${CPU.memory[CPU.IP+2]}, ${CPU.memory[CPU.IP+3]}`);
|
||||||
console.table(CPU.memory);
|
// console.table(CPU.memory);
|
||||||
if (CPU.CF != 0) {
|
if (CPU.CF != 0) {
|
||||||
CPU.IP += 4;
|
CPU.IP += 4;
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -161,17 +161,18 @@ const opcodes2mnemonics = {
|
||||||
};
|
};
|
||||||
|
|
||||||
function stepCPU() {
|
function stepCPU() {
|
||||||
console.group("Step CPU");
|
// console.group("Step CPU");
|
||||||
|
console.group(`IP: ${CPU.IP}`);
|
||||||
let opcode = CPU.memory[CPU.IP];
|
let opcode = CPU.memory[CPU.IP];
|
||||||
let argument = CPU.memory[CPU.IP+1];
|
let argument = CPU.memory[CPU.IP+1];
|
||||||
|
|
||||||
console.log(`OP: ${opcode} ARG: ${argument}`);
|
console.log(`OP: ${opcode} ARG: ${argument}`);
|
||||||
|
|
||||||
let instruction = opcodes2mnemonics[opcode];
|
let instruction = opcodes2mnemonics[opcode];
|
||||||
instruction(argument);
|
instruction(argument);
|
||||||
|
|
||||||
logCPUState();
|
logCPUState();
|
||||||
console.groupEnd("Step CPU");
|
console.groupEnd(`IP:`);
|
||||||
|
// console.groupEnd("Step CPU");
|
||||||
}
|
}
|
||||||
|
|
||||||
exports.runProgram = (code) => {
|
exports.runProgram = (code) => {
|
||||||
|
|
@ -199,10 +200,8 @@ exports.runProgram = (code) => {
|
||||||
|
|
||||||
function logCPUState() {
|
function logCPUState() {
|
||||||
console.log();
|
console.log();
|
||||||
console.group('CPU state');
|
|
||||||
console.log( `Acc: ${CPU.Acc} IP: ${CPU.IP} CF: ${CPU.CF} ${CPU.running ? "running" : "halted" }` );
|
console.log( `Acc: ${CPU.Acc} IP: ${CPU.IP} CF: ${CPU.CF} ${CPU.running ? "running" : "halted" }` );
|
||||||
console.log();
|
console.log();
|
||||||
console.groupEnd('CPU state');
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue