update to ida 7.6, add builds
This commit is contained in:
211
idasdk76/module/pic/ins.hpp
Normal file
211
idasdk76/module/pic/ins.hpp
Normal file
@@ -0,0 +1,211 @@
|
||||
/*
|
||||
* Interactive disassembler (IDA).
|
||||
* Copyright (c) 1990-2021 Hex-Rays
|
||||
* ALL RIGHTS RESERVED.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __INSTRS_HPP
|
||||
#define __INSTRS_HPP
|
||||
|
||||
extern const instruc_t Instructions[];
|
||||
|
||||
enum nameNum ENUM_SIZE(uint16)
|
||||
{
|
||||
|
||||
PIC_null = 0, // Unknown Operation
|
||||
|
||||
// BYTE-ORIENTED FILE REGISTER OPERATIONS
|
||||
|
||||
PIC_addwf, // Add W and f
|
||||
PIC_andwf, // AND W with f
|
||||
PIC_clrf, // Clear f
|
||||
PIC_clrw, // Clear W
|
||||
PIC_comf, // Complement f
|
||||
PIC_decf, // Decrement f
|
||||
PIC_decfsz, // Decrement f, Skip if 0
|
||||
PIC_incf, // Increment f
|
||||
PIC_incfsz, // Increment f, Skip if 0
|
||||
PIC_iorwf, // Inclusive OR W with f
|
||||
PIC_movf, // Move f
|
||||
PIC_movwf, // Move W to f
|
||||
PIC_nop, // No Operation
|
||||
PIC_rlf, // Rotate Left f through Carry
|
||||
PIC_rrf, // Rotate Right f through Carry
|
||||
PIC_subwf, // Subtract W from f
|
||||
PIC_swapf, // Swap nibbles in f
|
||||
PIC_xorwf, // Exclusive OR W with f
|
||||
|
||||
// BIT-ORIENTED FILE REGISTER OPERATIONS
|
||||
|
||||
PIC_bcf, // Bit Clear f
|
||||
PIC_bsf, // Bit Set f
|
||||
PIC_btfsc, // Bit Test f, Skip if Clear
|
||||
PIC_btfss, // Bit Test f, Skip if Set
|
||||
|
||||
|
||||
// LITERAL AND CONTROL OPERATIONS
|
||||
|
||||
PIC_addlw, // Add literal and W
|
||||
PIC_andlw, // AND literal with W
|
||||
PIC_call, // Call subroutine
|
||||
PIC_clrwdt, // Clear Watchdog Timer
|
||||
PIC_goto, // Go to address
|
||||
PIC_iorlw, // Inclusive OR literal with W
|
||||
PIC_movlw, // Move literal to W
|
||||
PIC_retfie, // Return from interrupt
|
||||
PIC_retlw, // Return with literal in W
|
||||
PIC_return, // Return from Subroutine
|
||||
PIC_sleep, // Go into standby mode
|
||||
PIC_sublw, // Subtract W from literal
|
||||
PIC_xorlw, // Exclusive OR literal with W
|
||||
|
||||
// ADDITIONAL INSTRUCTIONS TO MAINTAIN COMPITIBILITY WITH 12C5xx,16C5x
|
||||
|
||||
PIC_option, // Load OPTION register
|
||||
PIC_tris, // Load TRIS Register
|
||||
|
||||
// MACROS
|
||||
|
||||
PIC_movfw, // Move Contents of File Reg to W
|
||||
PIC_tstf, // Test Contents of File Register
|
||||
PIC_negf, // Negate File Register Contents
|
||||
PIC_b, // Branch to Address
|
||||
PIC_clrc, // Clear Carry
|
||||
PIC_clrdc, // Clear Digit Carry
|
||||
PIC_clrz, // Clear Zero
|
||||
PIC_setc, // Set Carry
|
||||
PIC_setdc, // Set Digit Carry
|
||||
PIC_setz, // Set Zero
|
||||
PIC_skpc, // Skip on Carry
|
||||
PIC_skpdc, // Skip on Digit Carry
|
||||
PIC_skpnc, // Skip on No Carry
|
||||
PIC_skpndc, // Skip on No Digit Carry
|
||||
PIC_skpnz, // Skip on No Zero
|
||||
PIC_skpz, // Skip on Zero
|
||||
PIC_bc, // Branch on Carry to Address k
|
||||
PIC_bdc, // Branch on Digit Carry to k
|
||||
PIC_bnc, // Branch on No Carry to k
|
||||
PIC_bndc, // Branch on No Digit Carry to k
|
||||
PIC_bnz, // Branch on No Zero to Address
|
||||
PIC_bz, // Branch on Zero to Address k
|
||||
PIC_addcf, // Add Carry to File Register
|
||||
PIC_adddcf, // Add Digit to File Register
|
||||
PIC_subcf, // Subtract Carry from File Reg
|
||||
|
||||
// ADDITIONAL INSTRUCTIONS FOR 18Cxx
|
||||
|
||||
// BYTE-ORIENTED FILE REGISTER OPERATIONS
|
||||
|
||||
PIC_addwf3, // Add W and f
|
||||
PIC_addwfc3, // Add W and Carry to f
|
||||
PIC_andwf3, // AND W with f
|
||||
PIC_clrf2, // Clear f
|
||||
PIC_comf3, // Complement f
|
||||
PIC_cpfseq2, // Compare f with W, Skip if ==
|
||||
PIC_cpfsgt2, // Compare f with W, Skip if >
|
||||
PIC_cpfslt2, // Compare f with W, Skip if <
|
||||
PIC_decf3, // Decrement f
|
||||
PIC_decfsz3, // Decrement f, Skip if 0
|
||||
PIC_dcfsnz3, // Decrement f, Skip if not 0
|
||||
PIC_incf3, // Increment f
|
||||
PIC_incfsz3, // Increment f, Skip if 0
|
||||
PIC_infsnz3, // Increment f, Skip if not 0
|
||||
PIC_iorwf3, // Inclusive OR W with f
|
||||
PIC_movf3, // Move f
|
||||
PIC_movff2, // Move fs to fd
|
||||
PIC_movwf2, // Move W to f
|
||||
PIC_mulwf2, // Multiply W with f
|
||||
PIC_negf2, // Negate f
|
||||
PIC_rlcf3, // Rotate Left f through Carry
|
||||
PIC_rlncf3, // Rotate Left f
|
||||
PIC_rrcf3, // Rotate Right f through Carry
|
||||
PIC_rrncf3, // Rotate Right f
|
||||
PIC_setf2, // Set f
|
||||
PIC_subfwb3, // Substract f from W with borrow
|
||||
PIC_subwf3, // Substract W from f
|
||||
PIC_subwfb3, // Substract W from f with borrow
|
||||
PIC_swapf3, // Swap nibbles in f
|
||||
PIC_tstfsz2, // Test f, Skip if 0
|
||||
PIC_xorwf3, // Exclusive OR W with f
|
||||
|
||||
// BIT-ORIENTED FILE REGISTER OPERATIONS
|
||||
|
||||
PIC_bcf3, // Bit Clear f
|
||||
PIC_bsf3, // Bit Set f
|
||||
PIC_btfsc3, // Bit Test f, Skip if Clear
|
||||
PIC_btfss3, // Bit Test f, Skip if Set
|
||||
PIC_btg3, // Bit Toggle f
|
||||
|
||||
// CONTROL OPERATIONS
|
||||
|
||||
PIC_bc1, // Branch if Carry
|
||||
PIC_bn1, // Branch if Negative
|
||||
PIC_bnc1, // Branch if not Carry
|
||||
PIC_bnn1, // Branch if not Negative
|
||||
PIC_bnov1, // Branch if not Overflow
|
||||
PIC_bnz1, // Branch if not Zero
|
||||
PIC_bov1, // Branch if Overflow
|
||||
PIC_bra1, // Branch unconditionally
|
||||
PIC_bz1, // Branch if Zero
|
||||
PIC_call2, // Call subroutine
|
||||
// PIC_clrwdt
|
||||
PIC_daw0, // Decimal Adjust W
|
||||
// PIC_goto
|
||||
// PIC_nop
|
||||
// PIC_nop
|
||||
PIC_pop0, // Pop top of return stack
|
||||
PIC_push0, // Push top of return stack
|
||||
PIC_rcall1, // Relative Call subroutine
|
||||
PIC_reset0, // Software device Reset
|
||||
PIC_retfie1, // Return from interrupt enable
|
||||
// PIC_retlw
|
||||
PIC_return1, // Return from Subroutine
|
||||
// PIC_sleep
|
||||
|
||||
// LITERAL OPERATIONS
|
||||
|
||||
// PIC_addlw
|
||||
// PIC_andlw
|
||||
// PIC_iorlw
|
||||
PIC_lfsr2, // Move literal to FSR
|
||||
PIC_movlb1, // Move literal to BSR
|
||||
// PIC_movlw
|
||||
PIC_mullw1, // Multiply literal with W
|
||||
// PIC_retlw
|
||||
// PIC_sublw
|
||||
// PIC_xorlw
|
||||
|
||||
// DATA MEMORY <-> PROGRAM MEMORY OPERATIONS
|
||||
|
||||
PIC_tblrd0, // Table Read
|
||||
PIC_tblrd0p, // Table Read with post-increment
|
||||
PIC_tblrd0m, // Table Read with post-decrement
|
||||
PIC_tblrdp0, // Table Read with pre-increment
|
||||
PIC_tblwt0, // Table Write
|
||||
PIC_tblwt0p, // Table Write with post-increment
|
||||
PIC_tblwt0m, // Table Write with post-decrement
|
||||
PIC_tblwtp0, // Table Write with pre-increment
|
||||
|
||||
// ADDITIONAL INSTRUCTIONS FOR 16F1x and 12F1x
|
||||
|
||||
PIC_addwfc, // Add W and Carry to f
|
||||
PIC_movlp, // Move literal to PCLATH
|
||||
PIC_movlb, // Move literal to BSR
|
||||
PIC_addfsr, // Add Literal to FSRn
|
||||
PIC_asrf, // Arithmetic Right Shift
|
||||
PIC_lslf, // Logical Left Shift
|
||||
PIC_lsrf, // Logical Right Shift
|
||||
PIC_subwfb, // Subtract with Borrow W from f
|
||||
PIC_bra, // Relative Branch
|
||||
PIC_brw, // Relative Branch with W
|
||||
PIC_callw, // Call Subroutine with W
|
||||
PIC_reset, // Software device Reset
|
||||
PIC_moviw, // Move INDFn to W
|
||||
PIC_movwi, // Move W to INDFn
|
||||
|
||||
PIC_last,
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user