mirror of
https://github.com/AppleWin/AppleWin.git
synced 2024-10-07 11:57:43 +00:00
5f10818f04
.9 Fixed: Renamed ambigious command 'DL' to 'B' to list all bytes being treated as data Renamed command: 'B' to 'Z' as an alias to treat byte(s) as data .8 Fixed: Define Code 'X' wasn't removing entries .7 Fixed: DATA1 was using call win setup for code, not data. .6 Cleanup of command table to have the proper internal command enum. D // CMD_MEM_MINI_DUMP_HEX_1 moved to alias section M1 // CMD_MEM_MINI_DUMP_HEX_1 moved to alias section M2 // CMD_MEM_MINI_DUMP_HEX_2 moved to alias section TEXT81 // CMD_VIEW_TEXT81 <- CMD_VIEW_TEXT8X TEXT82 // CMD_VIEW_TEXT82 <- CMD_VIEW_TEXT8X W // CMD_WATCH <- CMD_WATCH_ADD .5 Added: Internal consistency checking for commands and their internal command enum. .4 Fixed: Added customer assembler type and debugger disassembly display uses variable instead of always being hard-coded to Merlin directives. .5 Fixed: Data disassembler help -- was using wrong command help offset due to wrong order of commands. .3 Fixed: Assembler now accepts lower-case mnemonics
61 lines
1.6 KiB
C
61 lines
1.6 KiB
C
#ifndef DEBUGGER_DISASSEMBLERDATA_H
|
|
#define DEBUGGER_DISASSEMBLERDATA_H
|
|
|
|
enum NopcodeType_e
|
|
{
|
|
_NOP_REMOVED
|
|
,NOP_BYTE_1 // 1 bytes/line
|
|
,NOP_BYTE_2 // 2 bytes/line
|
|
,NOP_BYTE_4 // 4 bytes/line
|
|
,NOP_BYTE_8 // 8 bytes/line
|
|
,NOP_WORD_1 // 1 words/line
|
|
,NOP_WORD_2 // 2 words/line
|
|
,NOP_WORD_4 // 4 words/line
|
|
,NOP_ADDRESS// 1 word/line
|
|
,NOP_HEX
|
|
,NOP_CHAR
|
|
,NOP_STRING_ASCII // Low Ascii
|
|
,NOP_STRING_APPLE // High Ascii
|
|
,NOP_STRING_APPLESOFT // Mixed Low/High
|
|
,NOP_FAC
|
|
,NOP_SPRITE
|
|
,NUM_NOPCODE_TYPES
|
|
};
|
|
|
|
// Disassembler Data
|
|
// type symbol[start:end]
|
|
struct DisasmData_t
|
|
{
|
|
char sSymbol[ MAX_SYMBOLS_LEN+1 ];
|
|
char eElementType ; // NopcodeType_e
|
|
WORD iDirective ; // Assembler directive -> nopcode
|
|
WORD nStartAddress; // link to block [start,end)
|
|
WORD nEndAddress ;
|
|
WORD nArraySize ; // Total bytes
|
|
// WORD nBytePerRow ; // 1, 8
|
|
|
|
// with symbol lookup
|
|
char bSymbolLookup ;
|
|
WORD nTargetAddress;
|
|
|
|
WORD nSpriteW;
|
|
WORD nSpriteH;
|
|
};
|
|
|
|
Update_t _CmdDisasmDataDefByteX (int nArgs);
|
|
Update_t _CmdDisasmDataDefWordX (int nArgs);
|
|
|
|
// Data Disassembler ______________________________________________________________________________
|
|
|
|
int Disassembly_FindOpcode( WORD nAddress );
|
|
DisasmData_t* Disassembly_IsDataAddress( WORD nAddress );
|
|
|
|
void Disassembly_AddData( DisasmData_t tData);
|
|
void Disassembly_GetData ( WORD nBaseAddress, const DisasmData_t *pData_, DisasmLine_t & line_ );
|
|
void Disassembly_DelData( DisasmData_t tData);
|
|
DisasmData_t* Disassembly_Enumerate( DisasmData_t *pCurrent = NULL );
|
|
|
|
extern vector<DisasmData_t> g_aDisassemblerData;
|
|
|
|
#endif
|