Lines Matching refs:modrm
64 static void byte_decode(unsigned char b, struct modRM_byte *modrm) { argument
66 static inline void byte_decode(unsigned char b, struct modRM_byte *modrm) {
70 modrm->mod = b >> 6; /* top 2 bits */
71 modrm->reg = (b & 56) >> 3; /* middle 3 bits */
72 modrm->rm = b & 7; /* bottom 3 bits */
76 struct modRM_byte modrm; local
84 byte_decode(*in, &modrm); /* get bitfields */
94 if ( ! mode_16 && modrm.rm == MODRM_RM_SIB &&
95 modrm.mod != MODRM_MOD_NOEA ) {
105 if ( sib.base == SIB_BASE_EBP && ! modrm.mod ) {
112 if (! modrm.mod && modrm.rm == 101) {
120 } else if (modrm.mod && modrm.mod < 3) {
121 if (modrm.mod == MODRM_MOD_DISP8) { /* offset in disp */
131 } else if ( modrm.mod == 3 ) {
146 int x, type, bytes = 0, size = 0, modrm = 0; local
207 modrm = 1;
215 modrm = 1;
219 memset( &out[bytes + modrm], X86_WILDCARD_BYTE,
232 memset( &out[bytes + modrm],
235 memcpy( &out[bytes + modrm],
236 &buf[bytes + modrm], size );
276 return (bytes + modrm);