30 lines
1.2 KiB
JavaScript
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,
|
|
} |