mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-09-30 04:56:49 +00:00
More fixes for Visual C++. Replaced several very small
static inline functions with macros. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91973 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
6a38182471
commit
5227cc89f4
@ -34,16 +34,16 @@ extern "C" {
|
||||
/*
|
||||
* Accessor functions for various fields of an Intel instruction
|
||||
*/
|
||||
static inline uint8_t modFromModRM(uint8_t modRM){ return (modRM & 0xc0) >> 6; }
|
||||
static inline uint8_t regFromModRM(uint8_t modRM){ return (modRM & 0x38) >> 3; }
|
||||
static inline uint8_t rmFromModRM(uint8_t modRM) { return (modRM & 0x7); }
|
||||
static inline uint8_t scaleFromSIB(uint8_t sib) { return (sib & 0xc0) >> 6; }
|
||||
static inline uint8_t indexFromSIB(uint8_t sib) { return (sib & 0x38) >> 3; }
|
||||
static inline uint8_t baseFromSIB(uint8_t sib) { return (sib & 0x7); }
|
||||
static inline uint8_t wFromREX(uint8_t rex) { return (rex & 0x8) >> 3; }
|
||||
static inline uint8_t rFromREX(uint8_t rex) { return (rex & 0x4) >> 2; }
|
||||
static inline uint8_t xFromREX(uint8_t rex) { return (rex & 0x2) >> 1; }
|
||||
static inline uint8_t bFromREX(uint8_t rex) { return (rex & 0x1); }
|
||||
#define modFromModRM(modRM) ((modRM & 0xc0) >> 6)
|
||||
#define regFromModRM(modRM) ((modRM & 0x38) >> 3)
|
||||
#define rmFromModRM(modRM) (modRM & 0x7)
|
||||
#define scaleFromSIB(sib) ((sib & 0xc0) >> 6)
|
||||
#define indexFromSIB(sib) ((sib & 0x38) >> 3)
|
||||
#define baseFromSIB(sib) (sib & 0x7)
|
||||
#define wFromREX(rex) ((rex & 0x8) >> 3)
|
||||
#define rFromREX(rex) ((rex & 0x4) >> 2)
|
||||
#define xFromREX(rex) ((rex & 0x2) >> 1)
|
||||
#define bFromREX(rex) (rex & 0x1)
|
||||
|
||||
/*
|
||||
* These enums represent Intel registers for use by the decoder.
|
||||
|
Loading…
Reference in New Issue
Block a user