X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=include%2Fopcode%2Fmsp430.h;h=96fe674c8fb54c2af4d8aec3ad3a02311abf7f63;hb=37ab86550b9da31d6c32c2d3384bd27f0426e935;hp=aaf0990bf8f4bcfafbc23fa243bc8cd6ec9f2235;hpb=b3adc24a0713411ab38a21dc894dd40dbc5c8f4f;p=deliverable%2Fbinutils-gdb.git diff --git a/include/opcode/msp430.h b/include/opcode/msp430.h index aaf0990bf8..96fe674c8f 100644 --- a/include/opcode/msp430.h +++ b/include/opcode/msp430.h @@ -21,6 +21,18 @@ #ifndef __MSP430_H_ #define __MSP430_H_ +enum msp430_expp_e +{ + MSP_EXPP_ALL = 0, /* Use full the value of the expression - default. */ + MSP_EXPP_LO, /* Extract least significant word from expression. */ + MSP_EXPP_HI, /* Extract 2nd word from expression. */ + MSP_EXPP_LLO, /* Extract least significant word from an + immediate value. */ + MSP_EXPP_LHI, /* Extract 2nd word from an immediate value. */ + MSP_EXPP_HLO, /* Extract 3rd word from an immediate value. */ + MSP_EXPP_HHI, /* Extract 4th word from an immediate value. */ +}; + struct msp430_operand_s { int ol; /* Operand length words. */ @@ -28,6 +40,9 @@ struct msp430_operand_s int reg; /* Register. */ int mode; /* Operand mode. */ int vshift; /* Number of bytes to shift operand down. */ + enum msp430_expp_e expp; /* For when the operand is a constant + expression, the part of the expression to + extract. */ #define OP_REG 0 #define OP_EXP 1 #ifndef DASM_SECTION