60 lines
895 B
JavaScript
60 lines
895 B
JavaScript
// Run with d8, not node
|
|
|
|
var path = "../../src/";
|
|
|
|
load(path + "const.js");
|
|
load(path + "io.js");
|
|
load(path + "cpu.js");
|
|
load(path + "main.js");
|
|
load(path + "disk.js");
|
|
load(path + "pci.js");
|
|
load(path + "test_helpers.js");
|
|
load(path + "memory.js");
|
|
load(path + "dma.js");
|
|
load(path + "pit.js");
|
|
load(path + "pic.js");
|
|
|
|
|
|
if(typeof console === "undefined")
|
|
{
|
|
var console = {
|
|
log: print,
|
|
}
|
|
}
|
|
|
|
var log = print;
|
|
|
|
DEBUG = false;
|
|
|
|
var cpu = new v86();
|
|
|
|
cpu.init({});
|
|
|
|
// defines file
|
|
load("test-asm.js");
|
|
|
|
for(var i = 0; i < file.length; i++)
|
|
{
|
|
cpu.memory.mem8[i] = file[i];
|
|
}
|
|
|
|
function run()
|
|
{
|
|
for(var i = 0; i < count; i++)
|
|
{
|
|
cpu.cycle();
|
|
}
|
|
}
|
|
|
|
var count = 1e7;
|
|
|
|
var start = Date.now();
|
|
|
|
run();
|
|
|
|
var end = Date.now(),
|
|
duration = (end - start) / 1e3;
|
|
|
|
console.log("Finished in " + duration + " seconds, " + (count / duration / 1e6).toFixed(2) + " mips");
|
|
|