|
|
|
|
@ -119,14 +119,10 @@
|
|
|
|
|
#define _LOBYTE(x) BYTEn(x,LOW_IND(x,BYTE)) |
|
|
|
|
#define _LOWORD(x) WORDn(x,LOW_IND(x,WORD)) |
|
|
|
|
#define _HIBYTE(x) BYTEn(x,HIGH_IND(x,BYTE)) |
|
|
|
|
#define _HIWORD(x) WORDn(x,HIGH_IND(x,WORD)) |
|
|
|
|
#define BYTE1(x) BYTEn(x, 1) // byte 1 (counting from 0)
|
|
|
|
|
#define BYTE2(x) BYTEn(x, 2) |
|
|
|
|
|
|
|
|
|
// now signed macros (the same but with sign extension)
|
|
|
|
|
#define SBYTEn(x, n) (*((char*)&(x)+n)) |
|
|
|
|
|
|
|
|
|
#define SLOBYTE(x) SBYTEn(x,LOW_IND(x,char)) |
|
|
|
|
#define SLOBYTE(x) (*((char*)&(x)+LOW_IND(x,char))) |
|
|
|
|
|
|
|
|
|
// Helper functions to represent some assembly instructions.
|
|
|
|
|
|
|
|
|
|
@ -141,14 +137,6 @@ __inline void *qmemcpy(void *dst, const void *src, size_t cnt)
|
|
|
|
|
return dst; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// rotate right
|
|
|
|
|
__inline WORD __ROR2__(WORD value, DWORD count) |
|
|
|
|
{ |
|
|
|
|
count %= 16; |
|
|
|
|
|
|
|
|
|
return value >> count | value << (16 - count); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#endif /* IDA_GARBAGE */ |
|
|
|
|
|
|
|
|
|
// Typedef for the function pointer
|
|
|
|
|
|