/* * Panasonic MN102 (PanaXSeries) processor module for IDA. * Copyright (c) 2000-2006 Konstantin Norvatoff, * Freeware. */ #include "pan.hpp" const instruc_t Instructions[] = { { "", 0 }, { "ADD", CF_USE1|CF_USE2|CF_CHG2 }, { "ADDC", CF_USE1|CF_USE2|CF_CHG2 }, { "ADDNF", CF_USE1|CF_USE2|CF_CHG2 }, { "AND", CF_USE1|CF_USE2|CF_CHG2 }, { "ASR", CF_USE1|CF_CHG1 }, { "BCC", CF_USE1|CF_JUMP }, { "BCCX", CF_USE1|CF_JUMP }, { "BCLR", CF_USE1|CF_USE2|CF_CHG2 }, { "BCS", CF_USE1|CF_JUMP }, { "BCSX", CF_USE1|CF_JUMP }, { "BEQ", CF_USE1|CF_JUMP }, { "BEQX", CF_USE1|CF_JUMP }, { "BGE", CF_USE1|CF_JUMP }, { "BGEX", CF_USE1|CF_JUMP }, { "BGT", CF_USE1|CF_JUMP }, { "BGTX", CF_USE1|CF_JUMP }, { "BHI", CF_USE1|CF_JUMP }, { "BHIX", CF_USE1|CF_JUMP }, { "BLE", CF_USE1|CF_JUMP }, { "BLEX", CF_USE1|CF_JUMP }, { "BLS", CF_USE1|CF_JUMP }, { "BLSX", CF_USE1|CF_JUMP }, { "BLT", CF_USE1|CF_JUMP }, { "BLTX", CF_USE1|CF_JUMP }, { "BNC", CF_USE1|CF_JUMP }, { "BNCX", CF_USE1|CF_JUMP }, { "BNE", CF_USE1|CF_JUMP }, { "BNEX", CF_USE1|CF_JUMP }, { "BNS", CF_USE1|CF_JUMP }, { "BNSX", CF_USE1|CF_JUMP }, { "BRA", CF_USE1|CF_JUMP|CF_STOP }, { "BSET", CF_USE1|CF_USE2|CF_CHG2 }, { "BTST", CF_USE1|CF_USE2|CF_CHG2 }, { "BVC", CF_USE1|CF_JUMP }, { "BVCX", CF_USE1|CF_JUMP }, { "BVS", CF_USE1|CF_JUMP }, { "BVSX", CF_USE1|CF_JUMP }, { "CMP", CF_USE1|CF_USE2 }, { "DIVU", CF_USE1|CF_USE2|CF_CHG2 }, { "EXT", CF_USE1 }, { "EXTX", CF_USE1|CF_CHG1 }, { "EXTXB", CF_USE1|CF_CHG1 }, { "EXTXBU", CF_USE1|CF_CHG1 }, { "EXTXU", CF_USE1|CF_CHG1 }, { "JMP", CF_USE1|CF_JUMP|CF_STOP }, { "JSR", CF_USE1|CF_CALL }, { "LSR", CF_USE1|CF_CHG1 }, { "MOV", CF_USE1|CF_USE2|CF_CHG2 }, { "MOVB", CF_USE1|CF_USE2|CF_CHG2 }, { "MOVBU", CF_USE1|CF_USE2|CF_CHG2 }, { "MOVX", CF_USE1|CF_USE2|CF_CHG2 }, { "MUL", CF_USE1|CF_USE2|CF_CHG2 }, { "MULQ", CF_USE1|CF_USE2 }, { "MULQH", CF_USE1|CF_USE2 }, { "MULQL", CF_USE1|CF_USE2 }, { "MULU", CF_USE1|CF_USE2|CF_CHG2 }, { "NOP", 0 }, { "NOT", CF_USE1|CF_CHG1 }, { "OR", CF_USE1|CF_USE2|CF_CHG2 }, { "PXST", 0 }, { "ROL", CF_USE1|CF_CHG1 }, { "ROR", CF_USE1|CF_CHG1 }, { "RTI", CF_STOP }, { "RTS", CF_STOP }, { "SUB", CF_USE1|CF_USE2|CF_CHG2 }, { "SUBC", CF_USE1|CF_USE2|CF_CHG2 }, { "TBNZ", CF_USE1|CF_USE2|CF_USE3|CF_JUMP }, { "TBZ", CF_USE1|CF_USE2|CF_USE3|CF_JUMP }, { "XOR", CF_USE1|CF_USE2|CF_CHG2 } }; CASSERT(qnumber(Instructions) == mn102_last);