UNPKG

disassembler-x86-intel

Version:

An Intel x86 disassembler, generates assembly from Opcode

65 lines (59 loc) 2.12 kB
import {suite, test} from '@testdeck/mocha'; import * as _chai from 'chai'; import {Disassembler} from '../index'; _chai.should(); @suite class movTest { before() { } @test 'random test'() { Disassembler.generateInstructions('B811000000').should.eql([{ instruction: 'mov', operand1: {register: 'eax'}, operand2: {value: '11'}, position: 0, }]); Disassembler.generateInstructions('B911111111').should.eql([{ instruction: 'mov', operand1: {register: 'ecx'}, operand2: {value: '11111111'}, position: 0, }]); Disassembler.generateInstructions('BB11110000').should.eql([{ instruction: 'mov', operand1: {register: 'ebx'}, operand2: {value: '1111'}, position: 0, }]); Disassembler.generateInstructions('89D8').should.eql([{ instruction: 'mov', operand1: {register: 'eax'}, operand2: {register: 'ebx'}, position: 0, }]); Disassembler.generateInstructions('8918').should.eql([{ instruction: 'mov', operand1: {pointer: 'd', register: 'eax'}, operand2: {register: 'ebx'}, position: 0, }]); Disassembler.generateInstructions('8b03').should.eql([{ instruction: 'mov', operand1: {register: 'eax'}, operand2: {pointer: 'd', register: 'ebx'}, position: 0, }]); Disassembler.generateInstructions('66C7001111').should.eql([{ instruction: 'mov', operand1: {register: 'eax', pointer: 'w'}, operand2: {value: '1111'}, position: 0, }]); Disassembler.generateInstructions('C7801111000011111111 ').should.eql([{ instruction: 'mov', operand1: {register: 'eax', pointer: 'd', displacement: '1111'}, operand2: {value: '11111111'}, position: 0, }]); } }