8SA1Sim/js/main.js
2021-04-04 03:40:30 -07:00

55 lines
1.3 KiB
JavaScript

let cpu = new CPU_8SA1();
GenerateMicrocode(Instructions,cpu);
cpu.RAM[0] = is_LDA_i.Bytecode;
cpu.RAM[1] = 0;
cpu.RAM[2] = is_LDB_i.Bytecode;
cpu.RAM[3] = 100;
cpu.RAM[4] = is_ADD.Bytecode;
cpu.RAM[5] = is_BCC_i.Bytecode;
cpu.RAM[6] = 4;
cpu.RAM[7] = is_LDD_i.Bytecode;
cpu.RAM[8] = 69;
cpu.RAM[9] = is_STDL_i.Bytecode;
cpu.RAM[10] = 0x69;
cpu.RAM[11] = is_PHD.Bytecode;
cpu.RAM[12] = is_PLC.Bytecode;
updateHTML();
let btn_clk = document.getElementById("btn_clk");
let btn_rst = document.getElementById("btn_rst");
let clk_counter = document.getElementById("clk_counter");
let clk_count = 0;
btn_clk.addEventListener('mousedown', function(evt) {
cpu.CLOCK(true);
clk_count++;
clk_counter.innerText = clk_count;
updateHTML();
});
btn_clk.addEventListener('mouseup', function(evt) {
cpu.CLOCK(false);
updateHTML();
});
btn_rst.addEventListener('click', function(evt) {
cpu.PC = 0;
cpu.MCC = 0xf;
cpu.IR = 0;
cpu.DATABUS = 0;
cpu.ADDRBUS = 0;
cpu.MC_Controls = 0;
cpu.ALUSUM = 0;
cpu.RR = 0;
cpu.GPA = 0;
cpu.GPB = 0;
cpu.GPC = 0;
cpu.GPD = 0;
cpu.SR = 0;
cpu.SP = BITMASK_16;
clk_count = 0;
clk_counter.innerText = clk_count;
updateHTML();
});