/**
* Copyright 2013, Landz and its contributors. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package jnr.x86asm;
public class OperandFlags {
public static final int // x86
O_G8 = 0x01,
O_G16 = 0x02,
O_G32 = 0x04,
O_G64 = 0x08,
O_MEM = 0x40,
O_IMM = 0x80,
O_G8_16_32_64 = O_G64 | O_G32 | O_G16 | O_G8,
O_G16_32_64 = O_G64 | O_G32 | O_G16,
O_G32_64 = O_G64 | O_G32,
// x87
O_FM_1 = 0x01,
O_FM_2 = 0x02,
O_FM_4 = 0x04,
O_FM_8 = 0x08,
O_FM_10 = 0x10,
O_FM_2_4 = O_FM_2 | O_FM_4,
O_FM_2_4_8 = O_FM_2 | O_FM_4 | O_FM_8,
O_FM_4_8 = O_FM_4 | O_FM_8,
O_FM_4_8_10 = O_FM_4 | O_FM_8 | O_FM_10,
// mm|xmm
O_NOREX = 0x01, // Used by MMX/SSE instructions, O_G8 is never used for them
O_MM = 0x10,
O_XMM = 0x20,
O_MM_MEM = O_MM | O_MEM,
O_XMM_MEM = O_XMM | O_MEM,
O_MM_XMM = O_MM | O_XMM,
O_MM_XMM_MEM = O_MM | O_XMM | O_MEM;
}