Make debugging less verbose

This commit is contained in:
n loewen 2023-08-01 15:33:18 +01:00
parent 24767d1899
commit d74b6594be
1 changed files with 7 additions and 8 deletions

View File

@ -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');
}; };