UNPKG

mz700-js

Version:
36 lines (33 loc) 852 B
"use strict"; import IMem from "./imem"; /** * MemoryBlock * @constructor * @param {object} opt the options. */ export default class MemoryBlock extends IMem { mem:number[]; constructor(opt?:{size?:number, startAddr?:number}) { super(); super.create(opt); this.mem = new Array(this.size); } /** * Read a byte data. * @param {number} address an address. * @returns {number} the value in the memory. */ peekByte(address:number):number { return this.mem[address - this.startAddr]; } /** * Write a byte data. * @param {number} address an address. * @param {number} value a data. * @returns {undefined} */ pokeByte(address:number, value:number):void { this.mem[address - this.startAddr] = value; } } module.exports = MemoryBlock;