Blame libipt/internal/include/pti-modrm.h

Packit b1f7ae
/*
Packit b1f7ae
 * Copyright (c) 2013-2017, Intel Corporation
Packit b1f7ae
 *
Packit b1f7ae
 * Redistribution and use in source and binary forms, with or without
Packit b1f7ae
 * modification, are permitted provided that the following conditions are met:
Packit b1f7ae
 *
Packit b1f7ae
 *  * Redistributions of source code must retain the above copyright notice,
Packit b1f7ae
 *    this list of conditions and the following disclaimer.
Packit b1f7ae
 *  * Redistributions in binary form must reproduce the above copyright notice,
Packit b1f7ae
 *    this list of conditions and the following disclaimer in the documentation
Packit b1f7ae
 *    and/or other materials provided with the distribution.
Packit b1f7ae
 *  * Neither the name of Intel Corporation nor the names of its contributors
Packit b1f7ae
 *    may be used to endorse or promote products derived from this software
Packit b1f7ae
 *    without specific prior written permission.
Packit b1f7ae
 *
Packit b1f7ae
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
Packit b1f7ae
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
Packit b1f7ae
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
Packit b1f7ae
 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
Packit b1f7ae
 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
Packit b1f7ae
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
Packit b1f7ae
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
Packit b1f7ae
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
Packit b1f7ae
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
Packit b1f7ae
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
Packit b1f7ae
 * POSSIBILITY OF SUCH DAMAGE.
Packit b1f7ae
 */
Packit b1f7ae
Packit b1f7ae
static uint8_t has_modrm_map_0x0[256] = {
Packit b1f7ae
/*opcode 0x0*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x1*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x2*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x3*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x4*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x5*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x6*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x7*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x8*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x9*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xa*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xb*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xc*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xd*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xe*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xf*/ PTI_MODRM_UNDEF,
Packit b1f7ae
/*opcode 0x10*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x11*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x12*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x13*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x14*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x15*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x16*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x17*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x18*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x19*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x1a*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x1b*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x1c*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x1d*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x1e*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x1f*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x20*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x21*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x22*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x23*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x24*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x25*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x26*/ PTI_MODRM_UNDEF,
Packit b1f7ae
/*opcode 0x27*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x28*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x29*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x2a*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x2b*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x2c*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x2d*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x2e*/ PTI_MODRM_UNDEF,
Packit b1f7ae
/*opcode 0x2f*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x30*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x31*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x32*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x33*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x34*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x35*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x36*/ PTI_MODRM_UNDEF,
Packit b1f7ae
/*opcode 0x37*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x38*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x39*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x3a*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x3b*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x3c*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x3d*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x3e*/ PTI_MODRM_UNDEF,
Packit b1f7ae
/*opcode 0x3f*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x40*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x41*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x42*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x43*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x44*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x45*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x46*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x47*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x48*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x49*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x4a*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x4b*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x4c*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x4d*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x4e*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x4f*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x50*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x51*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x52*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x53*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x54*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x55*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x56*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x57*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x58*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x59*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x5a*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x5b*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x5c*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x5d*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x5e*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x5f*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x60*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x61*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x62*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x63*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x64*/ PTI_MODRM_UNDEF,
Packit b1f7ae
/*opcode 0x65*/ PTI_MODRM_UNDEF,
Packit b1f7ae
/*opcode 0x66*/ PTI_MODRM_UNDEF,
Packit b1f7ae
/*opcode 0x67*/ PTI_MODRM_UNDEF,
Packit b1f7ae
/*opcode 0x68*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x69*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x6a*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x6b*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x6c*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x6d*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x6e*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x6f*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x70*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x71*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x72*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x73*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x74*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x75*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x76*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x77*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x78*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x79*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x7a*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x7b*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x7c*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x7d*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x7e*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x7f*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x80*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x81*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x82*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x83*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x84*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x85*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x86*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x87*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x88*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x89*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x8a*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x8b*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x8c*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x8d*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x8e*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x8f*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x90*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x91*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x92*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x93*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x94*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x95*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x96*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x97*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x98*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x99*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x9a*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x9b*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x9c*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x9d*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x9e*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x9f*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xa0*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xa1*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xa2*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xa3*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xa4*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xa5*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xa6*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xa7*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xa8*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xa9*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xaa*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xab*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xac*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xad*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xae*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xaf*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xb0*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xb1*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xb2*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xb3*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xb4*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xb5*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xb6*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xb7*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xb8*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xb9*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xba*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xbb*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xbc*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xbd*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xbe*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xbf*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xc0*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xc1*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xc2*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xc3*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xc4*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xc5*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xc6*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xc7*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xc8*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xc9*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xca*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xcb*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xcc*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xcd*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xce*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xcf*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xd0*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xd1*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xd2*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xd3*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xd4*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xd5*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xd6*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xd7*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xd8*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xd9*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xda*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xdb*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xdc*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xdd*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xde*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xdf*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xe0*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xe1*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xe2*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xe3*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xe4*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xe5*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xe6*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xe7*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xe8*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xe9*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xea*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xeb*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xec*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xed*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xee*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xef*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xf0*/ PTI_MODRM_UNDEF,
Packit b1f7ae
/*opcode 0xf1*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xf2*/ PTI_MODRM_UNDEF,
Packit b1f7ae
/*opcode 0xf3*/ PTI_MODRM_UNDEF,
Packit b1f7ae
/*opcode 0xf4*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xf5*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xf6*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xf7*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xf8*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xf9*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xfa*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xfb*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xfc*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xfd*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xfe*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xff*/ PTI_MODRM_TRUE,
Packit b1f7ae
};
Packit b1f7ae
static uint8_t has_modrm_map_0x0F[256] = {
Packit b1f7ae
/*opcode 0x0*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x1*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x2*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x3*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x4*/ PTI_MODRM_UNDEF,
Packit b1f7ae
/*opcode 0x5*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x6*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x7*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x8*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x9*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xa*/ PTI_MODRM_UNDEF,
Packit b1f7ae
/*opcode 0xb*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xc*/ PTI_MODRM_UNDEF,
Packit b1f7ae
/*opcode 0xd*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xe*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xf*/ PTI_MODRM_UNDEF,
Packit b1f7ae
/*opcode 0x10*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x11*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x12*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x13*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x14*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x15*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x16*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x17*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x18*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x19*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x1a*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x1b*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x1c*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x1d*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x1e*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x1f*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x20*/ PTI_MODRM_IGNORE_MOD,
Packit b1f7ae
/*opcode 0x21*/ PTI_MODRM_IGNORE_MOD,
Packit b1f7ae
/*opcode 0x22*/ PTI_MODRM_IGNORE_MOD,
Packit b1f7ae
/*opcode 0x23*/ PTI_MODRM_IGNORE_MOD,
Packit b1f7ae
/*opcode 0x24*/ PTI_MODRM_UNDEF,
Packit b1f7ae
/*opcode 0x25*/ PTI_MODRM_UNDEF,
Packit b1f7ae
/*opcode 0x26*/ PTI_MODRM_UNDEF,
Packit b1f7ae
/*opcode 0x27*/ PTI_MODRM_UNDEF,
Packit b1f7ae
/*opcode 0x28*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x29*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x2a*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x2b*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x2c*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x2d*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x2e*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x2f*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x30*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x31*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x32*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x33*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x34*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x35*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x36*/ PTI_MODRM_UNDEF,
Packit b1f7ae
/*opcode 0x37*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x38*/ PTI_MODRM_UNDEF,
Packit b1f7ae
/*opcode 0x39*/ PTI_MODRM_UNDEF,
Packit b1f7ae
/*opcode 0x3a*/ PTI_MODRM_UNDEF,
Packit b1f7ae
/*opcode 0x3b*/ PTI_MODRM_UNDEF,
Packit b1f7ae
/*opcode 0x3c*/ PTI_MODRM_UNDEF,
Packit b1f7ae
/*opcode 0x3d*/ PTI_MODRM_UNDEF,
Packit b1f7ae
/*opcode 0x3e*/ PTI_MODRM_UNDEF,
Packit b1f7ae
/*opcode 0x3f*/ PTI_MODRM_UNDEF,
Packit b1f7ae
/*opcode 0x40*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x41*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x42*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x43*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x44*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x45*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x46*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x47*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x48*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x49*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x4a*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x4b*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x4c*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x4d*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x4e*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x4f*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x50*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x51*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x52*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x53*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x54*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x55*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x56*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x57*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x58*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x59*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x5a*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x5b*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x5c*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x5d*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x5e*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x5f*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x60*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x61*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x62*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x63*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x64*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x65*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x66*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x67*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x68*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x69*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x6a*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x6b*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x6c*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x6d*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x6e*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x6f*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x70*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x71*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x72*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x73*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x74*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x75*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x76*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x77*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x78*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x79*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x7a*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x7b*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x7c*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x7d*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x7e*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x7f*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x80*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x81*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x82*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x83*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x84*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x85*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x86*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x87*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x88*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x89*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x8a*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x8b*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x8c*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x8d*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x8e*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x8f*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0x90*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x91*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x92*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x93*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x94*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x95*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x96*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x97*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x98*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x99*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x9a*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x9b*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x9c*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x9d*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x9e*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0x9f*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xa0*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xa1*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xa2*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xa3*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xa4*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xa5*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xa6*/ PTI_MODRM_UNDEF,
Packit b1f7ae
/*opcode 0xa7*/ PTI_MODRM_UNDEF,
Packit b1f7ae
/*opcode 0xa8*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xa9*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xaa*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xab*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xac*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xad*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xae*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xaf*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xb0*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xb1*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xb2*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xb3*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xb4*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xb5*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xb6*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xb7*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xb8*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xb9*/ PTI_MODRM_UNDEF,
Packit b1f7ae
/*opcode 0xba*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xbb*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xbc*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xbd*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xbe*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xbf*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xc0*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xc1*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xc2*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xc3*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xc4*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xc5*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xc6*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xc7*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xc8*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xc9*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xca*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xcb*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xcc*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xcd*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xce*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xcf*/ PTI_MODRM_FALSE,
Packit b1f7ae
/*opcode 0xd0*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xd1*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xd2*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xd3*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xd4*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xd5*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xd6*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xd7*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xd8*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xd9*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xda*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xdb*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xdc*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xdd*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xde*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xdf*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xe0*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xe1*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xe2*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xe3*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xe4*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xe5*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xe6*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xe7*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xe8*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xe9*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xea*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xeb*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xec*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xed*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xee*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xef*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xf0*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xf1*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xf2*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xf3*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xf4*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xf5*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xf6*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xf7*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xf8*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xf9*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xfa*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xfb*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xfc*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xfd*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xfe*/ PTI_MODRM_TRUE,
Packit b1f7ae
/*opcode 0xff*/ PTI_MODRM_UNDEF,
Packit b1f7ae
};