UNPKG

m68kdecode

Version:

Port of deplinenoise/m68kdecode to Typescript

40 lines 1.42 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.u8 = exports.i8 = exports.u16 = exports.i16 = exports.drDisp = exports.drDispScale = exports.simpleDisp = exports.getBits = void 0; function getBits(word, first, length) { const s = word >> first; const mask = (1 << length) - 1; return s & mask; } exports.getBits = getBits; /// Convenience function (for tests and decoding cases) to generate a simple displacement value. const simpleDisp = (disp) => ({ baseDisplacement: disp, outerDisplacement: 0, indexer: null, indirection: null, }); exports.simpleDisp = simpleDisp; /// Convenience function (for tests and decoding cases) to generate a displacement with a data /// register and scale. const drDispScale = (dr, disp, scale) => ({ baseDisplacement: disp, outerDisplacement: 0, indexer: { kind: "DR", reg: dr, scale }, indirection: null, }); exports.drDispScale = drDispScale; /// Convenience function (for tests and decoding cases) to generate a displacement with a data /// register. const drDisp = (dr, disp) => (0, exports.drDispScale)(dr, disp, 0); exports.drDisp = drDisp; // Signed integer conversion const i16 = (v) => (v << 16) >> 16; exports.i16 = i16; const u16 = (v) => v & 0xffff; exports.u16 = u16; const i8 = (v) => (v << 24) >> 24; exports.i8 = i8; const u8 = (v) => v & 0xff; exports.u8 = u8; //# sourceMappingURL=lib.js.map