summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/dsp56k/dsp56dsm.cpp
blob: 5ca4aab30a084cf02a8a908a4d379c7fb8a5ff77 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// license:BSD-3-Clause
// copyright-holders:Andrew Gardner
/***************************************************************************

    dsp56dsm.c
    Disassembler for the portable Motorola/Freescale dsp56k emulator.
    Written by Andrew Gardner

***************************************************************************/

#include "emu.h"
#include "opcode.h"

#include "emu.h"
#include "dsp56k.h"

/*****************************/
/* Main disassembly function */
/*****************************/
CPU_DISASSEMBLE(dsp56k)
{
	const uint16_t w0 = oprom[0] | (oprom[1] << 8);
	const uint16_t w1 = oprom[2] | (oprom[3] << 8);

	// Decode and disassemble.
	DSP56K::Opcode op(w0, w1);
	stream << op.disassemble();

	const unsigned size = op.size();
	return (size | DASMFLAG_SUPPORTED);
}