Repository URL to install this package:
Version:
9.0~241217-2.fc42 ▾
|
/*
* Interactive disassembler (IDA).
* Copyright (c) 1990-2024 Hex-Rays
* ALL RIGHTS RESERVED.
*
* Atmel AVR - 8-bit RISC processor
*
*/
#ifndef __INSTRS_HPP
#define __INSTRS_HPP
extern const instruc_t Instructions[];
enum nameNum ENUM_SIZE(uint16)
{
AVR_null = 0, // Unknown Operation
// ARITHMETIC AND LOGIC INSTRUCTIONS
AVR_add, // Add without Carry
AVR_adc, // Add with Carry
AVR_adiw, // Add Immediate to Word
AVR_sub, // Subtract without Carry
AVR_subi, // Subtract Immediate
AVR_sbc, // Subtract with Carry
AVR_sbci, // Subtract Immediate with Carry
AVR_sbiw, // Subtract Immediate from Word
AVR_and, // Logical AND
AVR_andi, // Logical AND with Immediate
AVR_or, // Logical OR
AVR_ori, // Logical OR with Immediate
AVR_eor, // Exclusive OR
AVR_com, // One's Complement
AVR_neg, // Two's Complement
AVR_sbr, // Set Bit(s) in Register
AVR_cbr, // Clear Bit(s) in Register
AVR_inc, // Increment
AVR_dec, // Decrement
AVR_tst, // Test for Zero or Minus
AVR_clr, // Clear Register
AVR_ser, // Set Register
AVR_cp, // Compare
AVR_cpc, // Compare with Carry
AVR_cpi, // Compare with Immediate
AVR_mul, // Multiply
// BRANCH INSTRUCTIONS
AVR_rjmp, // Relative Jump
AVR_ijmp, // Indirect Jump to (Z)
AVR_jmp, // Jump
AVR_rcall, // Relative Call Subroutine
AVR_icall, // Indirect Call to (Z)
AVR_call, // Call Subroutine
AVR_ret, // Subroutine Return
AVR_reti, // Interrupt Return
AVR_cpse, // Compare, Skip if Equal
AVR_sbrc, // Skip if Bit in Register Cleared
AVR_sbrs, // Skip if Bit in Register Set
AVR_sbic, // Skip if Bit in I/O Register Cleared
AVR_sbis, // Skip if Bit in I/O Register Set
AVR_brbs, // Branch if Status Flag Set
AVR_brbc, // Branch if Status Flag Cleared
AVR_breq, // Branch if Equal
AVR_brne, // Branch if Not Equal
AVR_brcs, // Branch if Carry Set
AVR_brcc, // Branch if Carry Cleared
AVR_brsh, // Branch if Same or Higher
AVR_brlo, // Branch if Lower
AVR_brmi, // Branch if Minus
AVR_brpl, // Branch if Plus
AVR_brge, // Branch if Greater or Equal
AVR_brlt, // Branch if Less Than
AVR_brhs, // Branch if Half Carry Flag Set
AVR_brhc, // Branch if Half Carry Flag Cleared
AVR_brts, // Branch if T Flag Set
AVR_brtc, // Branch if T Flag Cleared
AVR_brvs, // Branch if Overflow Flag is Set
AVR_brvc, // Branch if Overflow Flag is Cleared
AVR_brie, // Branch if Interrupt Enabled
AVR_brid, // Branch if Interrupt Disabled
// DATA TRANSFER INSTRUCTIONS
AVR_mov, // Copy Register
AVR_ldi, // Load Immediate
AVR_lds, // Load Direct
AVR_ld, // Load Indirect
AVR_ldd, // Load Indirect with Displacement
AVR_sts, // Store Direct to SRAM
AVR_st, // Store Indirect
AVR_std, // Store Indirect with Displacement
AVR_lpm, // Load Program Memory
AVR_in, // In Port
AVR_out, // Out Port
AVR_push, // Push Register on Stack
AVR_pop, // Pop Register from Stack
// BIT AND BIT-TEST INSTRUCTIONS
AVR_lsl, // Logical Shift Left
AVR_lsr, // Logical Shift Right
AVR_rol, // Rotate Left Through Carry
AVR_ror, // Rotate Right Through Carry
AVR_asr, // Arithmetic Shift Right
AVR_swap, // Swap Nibbles
AVR_bset, // Flag Set
AVR_bclr, // Flag Clear
AVR_sbi, // Set Bit in I/O Register
AVR_cbi, // Clear Bit in I/O Register
AVR_bst, // Bit Store from Register to T
AVR_bld, // Bit load from T to Register
AVR_sec, // Set Carry
AVR_clc, // Clear Carry
AVR_sen, // Set Negative Flag
AVR_cln, // Clear Negative Flag
AVR_sez, // Set Zero Flag
AVR_clz, // Clear Zero Flag
AVR_sei, // Global Interrupt Enable
AVR_cli, // Global Interrupt Disable
AVR_ses, // Set Signed Test Flag
AVR_cls, // Clear Signed Test Flag
AVR_sev, // Set Two's Complement Overflow
AVR_clv, // Clear Two's Complement Overflow
AVR_set, // Set T in SREG
AVR_clt, // Clear T in SREG
AVR_seh, // Set Half Carry Flag in SREG
AVR_clh, // Clear Half Carry Flag in SREG
AVR_nop, // No Operation
AVR_sleep, // Sleep
AVR_wdr, // Watchdog Reset
// New MegaAVR instructions
AVR_elpm, // Extended Load Program Memory
AVR_espm, // Extended Store Program Memory
AVR_fmul, // Fractional Multiply Unsigned
AVR_fmuls, // Fractional Multiply Signed
AVR_fmulsu, // Fractional Multiply Signed with Unsigned
AVR_movw, // Copy Register Word
AVR_muls, // Multiply Signed
AVR_mulsu, // Multiply Signed with Unsigned
AVR_spm, // Store Program Memory
AVR_eicall, // Extended Indirect Call to Subroutine
AVR_eijmp, // Extended Indirect Jump
// New XMega instructions
AVR_des, // Data Encryption Standard
AVR_lac, // Load And Clear
AVR_las, // Load And Set
AVR_lat, // Load And Toggle
AVR_xch, // Exchange
AVR_last,
};
#endif