cardiograph-computer/logging.js

30 lines
1.2 KiB
JavaScript

const logMemory = (x) => {
console.log(`┌────────┬────────┬────────┐`);
console.log(`│ addr │ op │ arg │`);
console.log(`├────────┼────────┼────────┤`);
for (let i = 0; i < x.length; i += 2) {
console.log(`${num2hex(i)}${num2hex(x[i])}${num2hex(x[i+1])}`);
if (((i + 2) % 8) === 0) {
console.log(`│ │ │ │`);
}
}
console.log(`└────────┴────────┴────────┘`);
}
const logRunningHeader = () => {
console.log();
let time = new Date();
console.log( `┌─────────────────────┐`);
console.log( `│ Running at ${time.toLocaleTimeString('en-GB')}` );
console.log( `└─────────────────────┘`);
}
const num2hex = (num) => num.toString(16).toUpperCase().padStart(2, "0");
const hex2num = (hex) => parseInt(hex, 16);
module.exports = {
"logMemory": logMemory,
"logRunningHeader": logRunningHeader,
"num2hex": num2hex,
"hex2num": hex2num,
}