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
/
tms320c54
/
ins.hpp
|
|---|
/*
* Interactive disassembler (IDA).
* Copyright (c) 1990-2024 Hex-Rays
* ALL RIGHTS RESERVED.
*
*/
#ifndef __INSTRS_HPP
#define __INSTRS_HPP
extern const instruc_t Instructions[];
enum nameNum ENUM_SIZE(uint16)
{
TMS320C54_null = 0, // Unknown Operation
// ARITHMETIC OPERATIONS
// ADD INSTRUCTIONS
TMS320C54_add1, // Add to Accumulator
TMS320C54_add2, // Add to Accumulator
TMS320C54_add3, // Add to Accumulator
TMS320C54_addc, // Add to Accumulator With Carry
TMS320C54_addm, // Add Long-Immediate Value to Memory
TMS320C54_adds, // Add to Accumulator With Sign-Extension Suppressed
// SUBTRACT INSTRUCTIONS
TMS320C54_sub1, // Sub From Accumulator
TMS320C54_sub2, // Sub From Accumulator
TMS320C54_sub3, // Sub From Accumulator
TMS320C54_subb, // Sub From Accumulator With Borrow
TMS320C54_subc, // Subtract Conditionally
TMS320C54_subs, // Subtract From Accumulator With Sign Extension Suppressed
// MULTIPLY INSTRUCTIONS
TMS320C54_mpy2, // Multiply Without Rounding
TMS320C54_mpy3, // Multiply Without Rounding
TMS320C54_mpyr2, // Multiply With Rounding
TMS320C54_mpya, // Multiply by Accumulator A
TMS320C54_mpyu, // Multiply Unsigned
TMS320C54_squr, // Square
// MULTIPLY-ACCUMULATE AND MULTIPLY-SUBTRACT INSTRUCTIONS
TMS320C54_mac2, // Multiply Accumulate Without Rounding
TMS320C54_mac3, // Multiply Accumulate Without Rounding
TMS320C54_macr2, // Multiply Accumulate With Rounding
TMS320C54_macr3, // Multiply Accumulate With Rounding
TMS320C54_maca1, // Multiply by Accumulator A and Accumulate Without Rounding
TMS320C54_maca2, // Multiply by Accumulator A and Accumulate Without Rounding
TMS320C54_maca3, // Multiply by Accumulator A and Accumulate Without Rounding
TMS320C54_macar1, // Multiply by Accumulator A and Accumulate With Rounding
TMS320C54_macar2, // Multiply by Accumulator A and Accumulate With Rounding
TMS320C54_macar3, // Multiply by Accumulator A and Accumulate With Rounding
TMS320C54_macd, // Multiply by Program Memory and Accumulate With Delay
TMS320C54_macp, // Multiply by Program Memory and Accumulate
TMS320C54_macsu, // Multiply Signed by Unsigned and Accumulate
TMS320C54_mas2, // Multiply and Subtract Without Rounding
TMS320C54_mas3, // Multiply and Subtract Without Rounding
TMS320C54_masr2, // Multiply and Subtract With Rounding
TMS320C54_masr3, // Multiply and Subtract With Rounding
// TMS320C54_mas,
TMS320C54_masa1, // Multiply by Accumulator A and Subtract Without Rounding
TMS320C54_masa2, // Multiply by Accumulator A and Subtract Without Rounding
TMS320C54_masa3, // Multiply by Accumulator A and Subtract Without Rounding
TMS320C54_masar1, // Multiply by Accumulator A and Subtract With Rounding
TMS320C54_masar2, // Multiply by Accumulator A and Subtract With Rounding
TMS320C54_masar3, // Multiply by Accumulator A and Subtract With Rounding
TMS320C54_squra, // Square and Accumulate
TMS320C54_squrs, // Square and Subtract
// DOUBLE INSTRUCTIONS
TMS320C54_dadd2, // Double-Precision/Dual 16-Bit Add to Accumulator
TMS320C54_dadd3, // Double-Precision/Dual 16-Bit Add to Accumulator
TMS320C54_dadst, // Double-Precision Load With T Add/Dual 16-Bit Load With T Add/Subtract
TMS320C54_drsub, // Double-Precision/Dual 16-Bit Subtract From Long Word
TMS320C54_dsadt, // Long-Word Load With T Add/Dual 16-Bit Load With T Subtract/Add
TMS320C54_dsub, // Double-Precision/Dual 16-Bit Subtract From Accumulator
TMS320C54_dsubt, // Long-Word Load With T Subtract/Dual 16-Bit Load With T Subtract
// APPLICATION-SPECIFIC INSTRUCTIONS
TMS320C54_abdst, // Absolute distance
TMS320C54_abs1, // Absolute Value of Accumulator
TMS320C54_abs2, // Absolute Value of Accumulator
TMS320C54_cmpl1, // Complement Accumulator
TMS320C54_cmpl2, // Complement Accumulator
TMS320C54_delay, // Memory Delay
TMS320C54_exp, // Accumulator Exponent
TMS320C54_firs, // Symmetrical Finite Impulse Response Filter
TMS320C54_lms, // Least Mean Square
TMS320C54_max, // Accumulator Maximum
TMS320C54_min, // Accumulator Minimum
TMS320C54_neg1, // Negate Accumulator
TMS320C54_neg2, // Negate Accumulator
TMS320C54_norm1, // Normalization
TMS320C54_norm2, // Normalization
TMS320C54_poly, // Polynominal Evaluation
TMS320C54_rnd1, // Round Accumulator
TMS320C54_rnd2, // Round Accumulator
TMS320C54_sat, // Saturate Accumulator
TMS320C54_sqdst, // Square Distance
// LOGICAL OPERATIONS
// AND INSTRUCTIONS
TMS320C54_and1, // AND With Accumulator
TMS320C54_and2, // AND With Accumulator
TMS320C54_and3, // AND With Accumulator
TMS320C54_andm, // AND Memory With Long Immediate
// OR INSTRUCTIONS
TMS320C54_or1, // OR With Accumulator
TMS320C54_or2, // OR With Accumulator
TMS320C54_or3, // OR With Accumulator
TMS320C54_orm, // OR Memory With Constant
// XOR INSTRUCTIONS
TMS320C54_xor1, // Exclusive OR With Accumulator
TMS320C54_xor2, // Exclusive OR With Accumulator
TMS320C54_xor3, // Exclusive OR With Accumulator
TMS320C54_xorm, // Exclusive OR Memory With Constant
// SHIFT INSTRUCTIONS
TMS320C54_rol, // Rotate Accumulator
TMS320C54_roltc, // Rotate Accumulator Left Using TC
TMS320C54_ror, // Rotate Accumulator Right
TMS320C54_sfta2, // Shift Accumulator Arithmetically
TMS320C54_sfta3, // Shift Accumulator Arithmetically
TMS320C54_sftc, // Shift Accumulator Conditionally
TMS320C54_sftl2, // Shift Accumulator Logically
TMS320C54_sftl3, // Shift Accumulator Logically
// TEST INSTRUCTIONS
TMS320C54_bit, // Test Bit
TMS320C54_bitf, // Test Bit Field Specified by Immediate Value
TMS320C54_bitt, // Test Bit Specified by T
TMS320C54_cmpm, // Compare Memory With Long Immediate
TMS320C54_cmpr, // Compare Auxiliary Register with AR0
// PROGRAM CONTROL OPERATIONS
// BRANCH INSTRUCTIONS
TMS320C54_b, // Branch Unconditionally
TMS320C54_bd, // Branch Unconditionally
TMS320C54_bacc, // Branch to Location Specified by Accumulator
TMS320C54_baccd, // Branch to Location Specified by Accumulator
TMS320C54_banz, // Branch on Auxiliary Register Not Zero
TMS320C54_banzd, // Branch on Auxiliary Register Not Zero
TMS320C54_bc2, // Branch Conditionally
TMS320C54_bc3, // Branch Conditionally
TMS320C54_bcd2, // Branch Conditionally
TMS320C54_bcd3, // Branch Conditionally
TMS320C54_fb, // Far Branch Unconditionally
TMS320C54_fbd, // Far Branch Unconditionally
TMS320C54_fbacc, // Far Branch to Location Specified by Accumulator
TMS320C54_fbaccd, // Far Branch to Location Specified by Accumulator
// CALL INSTRUCTIONS
TMS320C54_cala, // Call Subroutine at Location Specified by Accumulator
TMS320C54_calad, // Call Subroutine at Location Specified by Accumulator
TMS320C54_call, // Call Unconditionally
TMS320C54_calld, // Call Unconditionally
TMS320C54_cc2, // Call Conditionally
TMS320C54_cc3, // Call Conditionally
TMS320C54_ccd2, // Call Conditionally
TMS320C54_ccd3, // Call Conditionally
TMS320C54_fcala, // Far Call Subroutine at Location Specified by Accumulator
TMS320C54_fcalad, // Far Call Subroutine at Location Specified by Accumulator
TMS320C54_fcall, // Far Call Unconditionally
TMS320C54_fcalld, // Far Call Unconditionally
// INTERRUPT INSTRUCTIONS
TMS320C54_intr, // Software Interrupt
TMS320C54_trap, // Software Interrupt
// RETURN INSTRUCTIONS
TMS320C54_fret, // Far Return
TMS320C54_fretd, // Far Return
TMS320C54_frete, // Enable Interrupts and Far Return From Interrupt
TMS320C54_freted, // Enable Interrupts and Far Return From Interrupt
TMS320C54_rc1, // Return Conditionally
TMS320C54_rc2, // Return Conditionally
TMS320C54_rc3, // Return Conditionally
TMS320C54_rcd1, // Return Conditionally
TMS320C54_rcd2, // Return Conditionally
TMS320C54_rcd3, // Return Conditionally
TMS320C54_ret, // Return
TMS320C54_retd, // Return
TMS320C54_rete, // Enable Interrupts and Return From Interrupt
TMS320C54_reted, // Enable Interrupts and Return From Interrupt
TMS320C54_retf, // Enable Interrupts and Fast Return From Interrupt
TMS320C54_retfd, // Enable Interrupts and Fast Return From Interrupt
// REPEAT INSTRUCTIONS
TMS320C54_rpt, // Repeat Next Instruction
TMS320C54_rptb, // Block Repeat
TMS320C54_rptbd, // Block Repeat
TMS320C54_rptz, // Repeat Next Instruction And Clear Accumulator
// STACK MANIPULATING INSTRUCTIONS
TMS320C54_frame, // Stack Pointer Immediate Offset
TMS320C54_popd, // Pop Top of Stack to Data Memory
TMS320C54_popm, // Pop Top of Stack to Memory-Mapped Register
TMS320C54_pshd, // Push Data-Memory Value Onto Stack
TMS320C54_pshm, // Push Memory-Mapped Register Onto Stack
// MISCELLANEOUS PROGRAM-CONTROL INSTRUCTIONS
TMS320C54_idle, // Idle Until Interrupt
TMS320C54_mar, // Modify Auxiliary Register
TMS320C54_nop, // No Operation
TMS320C54_reset, // Software Reset
TMS320C54_rsbx1, // Reset Status Register Bit
TMS320C54_rsbx2, // Reset Status Register Bit
TMS320C54_ssbx1, // Set Status Register Bit
TMS320C54_ssbx2, // Set Status Register Bit
TMS320C54_xc2, // Execute Conditionally
TMS320C54_xc3, // Execute Conditionally
// LOAD AND STORE OPERATIONS
// LOAD INSTRUCTIONS
TMS320C54_dld, // Double-Precision/Dual 16-Bit Long-Word Load to Accumulator
TMS320C54_ld1, // Load Accumulator With Shift
TMS320C54_ld2, // Load Accumulator With Shift
TMS320C54_ld3, // Load Accumulator With Shift
TMS320C54_ldm, // Load Memory-Mapped Register
TMS320C54_ldr, // Load Memory Value in Accumulator High With Rounding
TMS320C54_ldu, // Load Unsigned Memory Value
TMS320C54_ltd, // Load T and insert Delay
// STORE INSTRUCTIONS
TMS320C54_dst, // Store Accumulator in Long Word
TMS320C54_st, // Store T, TRN, or Immediate Value into Memory
TMS320C54_sth2, // Store Accumulator High Into Memory
TMS320C54_sth3, // Store Accumulator High Into Memory
TMS320C54_stl2, // Store Accumulator Low Into Memory
TMS320C54_stl3, // Store Accumulator Low Into Memory
TMS320C54_stlm, // Store Accumulator Low Into Memory-Mapped Register
TMS320C54_stm, // Store Immediate Value Into Memory-Mapped Register
// CONDITIONAL STORE INSTRUCTIONS
TMS320C54_cmps, // Compare, Select and Store Maximum
TMS320C54_saccd, // Store Accumulator Conditionally
TMS320C54_srccd, // Store Block Repeat Counter Conditionally
TMS320C54_strcd, // Store T Conditionally
// PARALLEL LOAD AND STORE INSTRUCTIONS
TMS320C54_st_ld, // Store Accumulator With Parallel Load
// PARALLEL LOAD AND MULTIPLY INSTRUCTIONS
TMS320C54_ld_mac, // Load Accumulator With Parallel Multiply Accumulate Without Rounding
TMS320C54_ld_macr, // Load Accumulator With Parallel Multiply Accumulate With Rounding
TMS320C54_ld_mas, // Load Accumulator With Parallel Multiply Subtract Without Rounding
TMS320C54_ld_masr, // Load Accumulator With Parallel Multiply Subtract With Rounding
// PARALLEL STORE AND ADD/SUBSTRACT INSTRUCTIONS
TMS320C54_st_add, // Store Accumulator With Parallel Add
TMS320C54_st_sub, // Store Accumulator With Parallel Subtract
// PARALLEL STORE AND MULTIPLY INSTRUCTIONS
TMS320C54_st_mac, // Store Accumulator With Parallel Multiply Accumulate Without Rounding
TMS320C54_st_macr, // Store Accumulator With Parallel Multiply Accumulate With Rounding
TMS320C54_st_mas, // Store Accumulator With Parallel Multiply Subtract Without Rounding
TMS320C54_st_masr, // Store Accumulator With Parallel Multiply Subtract With Rounding
TMS320C54_st_mpy, // Store Accumulator With Parallel Multiply
// MISCELLANEOUS LOAD-TYPE AND STORE-TYPE INSTRUCTIONS
TMS320C54_mvdd, // Move Data From Data Memory to Data Memory With X,Y Addressing
TMS320C54_mvdk, // Move Data From Data Memory to Data Memory With Destination Addressing
TMS320C54_mvdm, // Move Data From Data Memory to Memory-Mapped Register
TMS320C54_mvdp, // Move Data From Data Memory to Program Memory
TMS320C54_mvkd, // Move Data From Data Memory to Data Memory With Source Addressing
TMS320C54_mvmd, // Move Data From Memory-Mapped Register to Data Memory
TMS320C54_mvmm, // Move Data From Memory-Mapped Register to Memory-Mapped Register
TMS320C54_mvpd, // Move Data From Program Memory to Data Memory
TMS320C54_portr, // Read Data From Port
TMS320C54_portw, // Write Data to Port
TMS320C54_reada, // Read Program Memory Addressed by Accumulator A and Store in Data Memory
TMS320C54_writa, // Write Data to Program Memory Addressed by Accumulator A
TMS320C54_last
};
#endif