Repository URL to install this package:
|
Version:
9.0~240925-3.fc42 ▾
|
idapro-debugsource
/
usr
/
src
/
debug
/
idapro-9.0~240925-3.fc42.x86_64
/
module
/
tms320c3
/
ins.cpp
|
|---|
/*
* Interactive disassembler (IDA).
* Copyright (c) 1990-99 by Ilfak Guilfanov.
* ALL RIGHTS RESERVED.
* E-mail: ig@datarescue.com
*
*
*/
#include "tms320c3x.hpp"
const struct instruc_t Instructions[] =
{
{ "", 0 }, // Unknown Operation
{ "absf", CF_USE1|CF_CHG2 }, // Absolute value of a floating-point number
{ "absi", CF_USE1|CF_CHG2 }, // Absolute value of an integer
{ "addc", CF_USE1|CF_USE2|CF_CHG2 }, // Add integers with carry
{ "addf", CF_USE1|CF_USE2|CF_CHG2 }, // Add Floating-Point Values
{ "addi", CF_USE1|CF_USE2|CF_CHG2 }, // Add Integer
{ "and", CF_USE1|CF_USE2|CF_CHG2 }, // Bitwise-Logical AND
{ "andn", CF_USE1|CF_USE2|CF_CHG2 }, // Bitwise-Logical AND With Complement
{ "ash", CF_USE1|CF_USE2|CF_CHG2|CF_SHFT }, // Arithmetic Shift
{ "cmpf", CF_USE1|CF_USE2 }, // Compare Floating-Point Value
{ "cmpi", CF_USE1|CF_USE2 }, // Compare Integer
{ "fix", CF_USE1|CF_CHG2 }, // Floating-Point-to-Integer Conversion
{ "float", CF_USE1|CF_CHG2 }, // Integer-to-Floating-Point Conversion
{ "idle", CF_STOP }, // Idle Until Interrupt
{ "idle2", CF_STOP }, // Low-Power Idle
{ "lde", CF_USE1|CF_CHG2 }, // Load Floating-Point Exponent
{ "ldf", CF_USE1|CF_CHG2 }, // Load Floating-Point Value
{ "ldfi", CF_USE1|CF_CHG2 }, // Load Floating-Point Value, Interlocked
{ "ldi", CF_USE1|CF_CHG2 }, // Load Integer
{ "ldii", CF_USE1|CF_CHG2 }, // Load Integer, Interlocked
{ "ldm", CF_USE1|CF_CHG2 }, // Load Floating-Point Mantissa
{ "lsh", CF_USE1|CF_USE2|CF_CHG2|CF_SHFT }, // Logical Shift
{ "mpyf", CF_USE1|CF_USE2|CF_CHG2 }, // Multiply Floating-Point Value
{ "mpyi", CF_USE1|CF_USE2|CF_CHG2 }, // Multiply Integer
{ "negb", CF_USE1|CF_CHG2 }, // Negative Integer With Borrow
{ "negf", CF_USE1|CF_CHG2 }, // Negate Floating-Point Value
{ "negi", CF_USE1|CF_CHG2 }, // Negate Integer
{ "nop", 0 }, // No Operation
{ "norm", CF_USE1|CF_CHG2 }, // Normalize
{ "not", CF_USE1|CF_CHG2 }, // Bitwise-Logical Complement
{ "pop", CF_CHG1 }, // Pop Integer
{ "popf", CF_CHG1 }, // Pop Floating-Point Value
{ "push", CF_USE1 }, // PUSH Integer
{ "pushf", CF_USE1 }, // PUSH Floating-Point Value
{ "or", CF_USE1|CF_USE2|CF_CHG2 }, // Bitwise-Logical OR
{ "lopower", 0 }, // Divide Clock by 16
{ "maxspeed", 0 }, // Restore Clock to Regular Speed
{ "rnd", CF_USE1|CF_CHG2 }, // Round Floating-Point Value
{ "rol", CF_USE1|CF_CHG1 }, // Rotate Left
{ "rolc", CF_USE1|CF_CHG1 }, // Rotate Left Through Carry
{ "ror", CF_USE1|CF_CHG1 }, // Rotate Right
{ "rorc", CF_USE1|CF_CHG1 }, // Rotate Right Through Carry
{ "rpts", CF_USE1 }, // Repeat Single Instruction
{ "stf", CF_USE1|CF_CHG2 }, // Store Floating-Point Value
{ "stfi", CF_USE1|CF_CHG2 }, // Store Floating-Point Value, Interlocked
{ "sti", CF_USE1|CF_CHG2 }, // Store Integer
{ "stii", CF_USE1|CF_CHG2 }, // Store Integer, Interlocked
{ "sigi", 0 }, // Signal, Interlocked
{ "subb", CF_USE1|CF_USE2|CF_CHG2 }, // Subtract Integer With Borrow
{ "subc", CF_USE1|CF_USE2|CF_CHG2 }, // Subtract Integer Conditionally
{ "subf", CF_USE1|CF_USE2|CF_CHG2 }, // Subtract Floating-Point Value
{ "subi", CF_USE1|CF_USE2|CF_CHG2 }, // Subtract Integer
{ "subrb", CF_USE1|CF_USE2|CF_CHG2 }, // Subtract Reverse Integer With Borrow
{ "subrf", CF_USE1|CF_USE2|CF_CHG2 }, // Subtract Reverse Floating-Point Value
{ "subri", CF_USE1|CF_USE2|CF_CHG2 }, // Subtract Reverse Integer
{ "tstb", CF_USE1|CF_USE2 }, // Test Bit Fields
{ "xor", CF_USE1|CF_USE2|CF_CHG2 }, // Bitwise-Exclusive OR
{ "iack", 0 }, // Interrupt acknowledge
{ "addc3", CF_USE1|CF_USE2|CF_CHG3 }, // Add integers with carry (3-operand)
{ "addf3", CF_USE1|CF_USE2|CF_CHG3 }, // Add floating-point values (3-operand)
{ "addi3", CF_USE1|CF_USE2|CF_CHG3 }, // Add integers (3 operand)
{ "and3", CF_USE1|CF_USE2|CF_CHG3 }, // Bitwise-logical AND (3-operand)
{ "andn3", CF_USE1|CF_USE2|CF_CHG3 }, // Bitwise-logical ANDN (3-operand)
{ "ash3", CF_USE1|CF_USE2|CF_CHG3|CF_SHFT }, // Arithmetic shift (3-operand)
{ "cmpf3", CF_USE1|CF_USE2 }, // Compare floating-point values (3-operand)
{ "cmpi3", CF_USE1|CF_USE2 }, // Compare integers (3-operand)
{ "lsh3", CF_USE1|CF_USE2|CF_CHG3|CF_SHFT }, // Logical shift (3-operand)
{ "mpyf3", CF_USE1|CF_USE2|CF_CHG3 }, // Multiply floating-point value (3-operand)
{ "mpyi3", CF_USE1|CF_USE2|CF_CHG3 }, // Multiply integers (3-operand)
{ "or3", CF_USE1|CF_USE2|CF_CHG3 }, // Bitwise-logical OR (3-operand)
{ "subb3", CF_USE1|CF_USE2|CF_CHG3 }, // Subtract integers with borrow (3-operand)
{ "subf3", CF_USE1|CF_USE2|CF_CHG3 }, // Subtract floating-point values (3-operand)
{ "subi3", CF_USE1|CF_USE2|CF_CHG3 }, // Subtract integers (3-operand)
{ "tstb3", CF_USE1|CF_USE2 }, // Test Bit Fields, 3-Operand
{ "xor3", CF_USE1|CF_USE2|CF_CHG3 }, // Bitwise-Exclusive OR, 3-Operand
{ "ldf", CF_USE1|CF_CHG2 }, // Load floating-point value conditionally
{ "ldi", CF_USE1|CF_CHG2 }, // Load integer conditionally
{ "br", CF_USE1|CF_JUMP|CF_STOP }, // Branch unconditionally (standard)
{ "brd", CF_USE1|CF_JUMP }, // Branch unconditionally (delayed)
{ "call", CF_USE1|CF_CALL }, // Call subroutine
{ "rptb", CF_USE1 }, // Repeat block of instructions
{ "swi", CF_JUMP }, // Software Interrupt
{ "b", CF_USE1 }, // Branch conditionally
{ "db", CF_USE1|CF_USE2 }, // Decrement and branch conditionally
{ "call", CF_USE1|CF_CALL }, // Call subroutine conditionally
{ "trap", CF_USE1|CF_JUMP }, // Trap Conditionally
{ "reti", 0 }, // Return from interrupt conditionally
{ "rets", 0 }, // Return from subroutine conditionally
{ "retiu", CF_STOP }, // Return from interrupt unconditionally
{ "retsu", CF_STOP }, // Return from subroutine unconditionally
{ "", 0 }, // Pseudo insn (more accurate definition need)
{ "", 0 }, // Pseudo insn (move to next index need)
};
CASSERT(qnumber(Instructions) == TMS320C3X_last);