78 lines
2.4 KiB
C++
78 lines
2.4 KiB
C++
//---------------------------------------------------------------------------
|
|
// NEOPOP : Emulator as in Dreamland
|
|
//
|
|
// Copyright (c) 2001-2002 by neopop_uk
|
|
//---------------------------------------------------------------------------
|
|
|
|
//---------------------------------------------------------------------------
|
|
// This program is free software; you can redistribute it and/or modify
|
|
// it under the terms of the GNU General Public License as published by
|
|
// the Free Software Foundation; either version 2 of the License, or
|
|
// (at your option) any later version. See also the license.txt file for
|
|
// additional informations.
|
|
//---------------------------------------------------------------------------
|
|
|
|
/*
|
|
//---------------------------------------------------------------------------
|
|
//=========================================================================
|
|
|
|
TLCS900h_disassemble.h
|
|
|
|
//=========================================================================
|
|
//---------------------------------------------------------------------------
|
|
|
|
History of changes:
|
|
===================
|
|
|
|
20 JUL 2002 - neopop_uk
|
|
=======================================
|
|
- Cleaned and tidied up for the source release
|
|
|
|
//---------------------------------------------------------------------------
|
|
*/
|
|
|
|
#ifndef __TLCS900H_DISASSEMBLE__
|
|
#define __TLCS900H_DISASSEMBLE__
|
|
|
|
namespace TLCS900H
|
|
{
|
|
//=============================================================================
|
|
|
|
//Disassembles a single instruction from 'pc',
|
|
//pc is incremented to the start of the next instruction.
|
|
char* TLCS900h_disassemble(void);
|
|
|
|
//Print to this string the disassembled instruction
|
|
extern char instr[128];
|
|
|
|
//Print the mnemonic for the addressing mode / reg code.
|
|
extern char extra[256];
|
|
|
|
//=============================================================================
|
|
|
|
extern char str_R[8]; //Big R
|
|
extern char str_r[8]; //Little R
|
|
|
|
//Translate an rr or RR value for MUL/MULS/DIV/DIVS
|
|
void get_rr_Name(void);
|
|
void get_RR_Name(void);
|
|
|
|
extern uint8 bytes[16]; //Stores the bytes used
|
|
extern uint8 bcnt; //Byte Counter for above
|
|
|
|
extern const char* gprName[8][3]; //8 regs * 3 names (byte, word, long)
|
|
extern const char* regCodeName[3][256];
|
|
extern const char* crName[3][0x40];
|
|
|
|
extern const char* ccName[];
|
|
|
|
uint8 get8_dis(void);
|
|
uint16 get16_dis(void);
|
|
uint32 get24_dis(void);
|
|
uint32 get32_dis(void);
|
|
|
|
};
|
|
|
|
//=============================================================================
|
|
#endif
|