Files
sigmaker-ida/idasdk76/module/c39/ins.cpp
2021-10-31 21:20:46 +02:00

129 lines
5.4 KiB
C++

/*
* Rockwell C39 processor module for IDA.
* Copyright (c) 2000-2006 Konstantin Norvatoff, <konnor@bk.ru>
* Freeware.
*/
#include "c39.hpp"
const instruc_t Instructions[] =
{
{ "", 0 },
{ "ADC", CF_USE1 },
{ "ADD", CF_USE1 },
{ "ANC", CF_USE1 },
{ "AND", CF_USE1 },
{ "ANE", CF_USE1 },
{ "ARR", CF_USE1 },
{ "ASL", 0 },
{ "ASR", CF_USE1 },
{ "BAR", CF_USE1|CF_USE2|CF_USE3 },
{ "BAS", CF_USE1|CF_USE2|CF_USE3 },
{ "BBR", CF_USE1|CF_USE2|CF_USE3|CF_JUMP },
{ "BBS", CF_USE1|CF_USE2|CF_USE3|CF_JUMP },
{ "BCC", CF_USE1|CF_JUMP },
{ "BCS", CF_USE1|CF_JUMP },
{ "BEQ", CF_USE1|CF_JUMP },
{ "BIT", CF_USE1 },
{ "BMI", CF_USE1|CF_JUMP },
{ "BNE", CF_USE1|CF_JUMP },
{ "BPL", CF_USE1|CF_JUMP },
{ "BRA", CF_USE1|CF_JUMP|CF_STOP },
{ "BRK", CF_STOP },
{ "BVC", CF_USE1|CF_JUMP },
{ "BVS", CF_USE1|CF_JUMP },
{ "CLC", 0 },
{ "CLD", 0 },
{ "CLI", 0 },
{ "CLV", 0 },
{ "CLW", 0 },
{ "CMP", CF_USE1 },
{ "CPX", CF_USE1 },
{ "CPY", CF_USE1 },
{ "DCP", CF_USE1|CF_CHG1 },
{ "DEC", CF_USE1|CF_CHG1 },
{ "DEX", 0 },
{ "DEY", 0 },
{ "EOR", CF_USE1 },
{ "EXC", CF_USE1 },
{ "INC", CF_USE1|CF_CHG1 },
{ "INI", 0 },
{ "INX", 0 },
{ "INY", 0 },
{ "ISB", CF_USE1|CF_CHG1 },
{ "JMP", CF_USE1|CF_STOP|CF_JUMP },
{ "JPI", CF_USE1|CF_STOP|CF_JUMP },
{ "JSB", CF_USE1|CF_CALL },
{ "JSR", CF_USE1|CF_CALL },
{ "LAB", CF_USE1 },
{ "LAE", CF_USE1 },
{ "LAI", 0 },
{ "LAN", 0 },
{ "LAX", CF_USE1 },
{ "LDA", CF_USE1 },
{ "LDX", CF_USE1 },
{ "LDY", CF_USE1 },
{ "LII", 0 },
{ "LSR", 0 },
{ "LXA", CF_USE1 },
{ "MPA", 0 },
{ "MPY", 0 },
{ "NEG", CF_USE1 },
{ "NOP", 0 },
{ "NXT", 0 },
{ "ORA", CF_USE1 },
{ "PHA", 0 },
{ "PHI", 0 },
{ "PHP", 0 },
{ "PHW", 0 },
{ "PHX", 0 },
{ "PHY", 0 },
{ "PIA", 0 },
{ "PLA", 0 },
{ "PLI", 0 },
{ "PLP", 0 },
{ "PLW", 0 },
{ "PLX", 0 },
{ "PLY", 0 },
{ "PSH", 0 },
{ "PUL", 0 },
{ "RBA", CF_USE1|CF_USE2 },
{ "RLA", CF_USE1|CF_CHG1 },
{ "RMB", CF_USE1|CF_USE2 },
{ "RND", 0 },
{ "ROL", 0 },
{ "ROR", 0 },
{ "RRA", CF_USE1|CF_CHG1 },
{ "RTI", CF_STOP },
{ "RTS", CF_STOP },
{ "SAX", CF_CHG1 },
{ "SBA", CF_USE1|CF_USE2 },
{ "SBC", CF_USE1 },
{ "SBX", CF_USE1 },
{ "SEC", 0 },
{ "SED", 0 },
{ "SEI", 0 },
{ "SHA", CF_CHG1 },
{ "SHS", CF_CHG1 },
{ "SHX", CF_CHG1 },
{ "SHY", CF_CHG1 },
{ "SLO", CF_USE1|CF_CHG1 },
{ "SMB", CF_USE1|CF_USE2|CF_CHG2 },
{ "SRE", CF_USE1|CF_CHG1 },
{ "STA", CF_CHG1 },
{ "STI", CF_USE1|CF_USE2 },
{ "STX", CF_CHG1 },
{ "STY", CF_CHG1 },
{ "TAX", 0 },
{ "TAY", 0 },
{ "TAW", 0 },
{ "TIP", 0 },
{ "TSX", 0 },
{ "TWA", 0 },
{ "TXA", 0 },
{ "TXS", 0 },
{ "TYA", 0 }
};
CASSERT(qnumber(Instructions) == C39_last);