Changeset 103190 in vbox for trunk/src/VBox/VMM/include
- Timestamp:
- Feb 4, 2024 11:26:35 PM (14 months ago)
- svn:sync-xref-src-repo-rev:
- 161455
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/include/IEMInternal.h
r103182 r103190 2065 2065 /** ModR/M: reg, r/m (memory) */ 2066 2066 #define IEMOPFORM_RM_MEM (IEMOPFORM_RM | IEMOPFORM_NOT_MOD3) 2067 /** ModR/M: reg, r/m */2067 /** ModR/M: reg, r/m, imm */ 2068 2068 #define IEMOPFORM_RMI 1 2069 /** ModR/M: reg, r/m (register) */2069 /** ModR/M: reg, r/m (register), imm */ 2070 2070 #define IEMOPFORM_RMI_REG (IEMOPFORM_RM | IEMOPFORM_MOD3) 2071 /** ModR/M: reg, r/m (memory) */2071 /** ModR/M: reg, r/m (memory), imm */ 2072 2072 #define IEMOPFORM_RMI_MEM (IEMOPFORM_RM | IEMOPFORM_NOT_MOD3) 2073 2073 /** ModR/M: r/m, reg */ … … 2077 2077 /** ModR/M: r/m (memory), reg */ 2078 2078 #define IEMOPFORM_MR_MEM (IEMOPFORM_MR | IEMOPFORM_NOT_MOD3) 2079 /** ModR/M: r/m, reg */2079 /** ModR/M: r/m, reg, imm */ 2080 2080 #define IEMOPFORM_MRI 3 2081 /** ModR/M: r/m (register), reg */2081 /** ModR/M: r/m (register), reg, imm */ 2082 2082 #define IEMOPFORM_MRI_REG (IEMOPFORM_MR | IEMOPFORM_MOD3) 2083 /** ModR/M: r/m (memory), reg */2083 /** ModR/M: r/m (memory), reg, imm */ 2084 2084 #define IEMOPFORM_MRI_MEM (IEMOPFORM_MR | IEMOPFORM_NOT_MOD3) 2085 2085 /** ModR/M: r/m only */ … … 2089 2089 /** ModR/M: r/m only (memory). */ 2090 2090 #define IEMOPFORM_M_MEM (IEMOPFORM_M | IEMOPFORM_NOT_MOD3) 2091 /** ModR/M: r/m, imm */ 2092 #define IEMOPFORM_MI 5 2093 /** ModR/M: r/m (register), imm */ 2094 #define IEMOPFORM_MI_REG (IEMOPFORM_MI | IEMOPFORM_MOD3) 2095 /** ModR/M: r/m (memory), imm */ 2096 #define IEMOPFORM_MI_MEM (IEMOPFORM_MI | IEMOPFORM_NOT_MOD3) 2097 /** ModR/M: r/m, 1 (shift and rotate instructions) */ 2098 #define IEMOPFORM_M1 6 2099 /** ModR/M: r/m (register), 1. */ 2100 #define IEMOPFORM_M1_REG (IEMOPFORM_M1 | IEMOPFORM_MOD3) 2101 /** ModR/M: r/m (memory), 1. */ 2102 #define IEMOPFORM_M1_MEM (IEMOPFORM_M1 | IEMOPFORM_NOT_MOD3) 2103 /** ModR/M: r/m, CL (shift and rotate instructions) 2104 * @todo This should just've been a generic fixed register. But the python 2105 * code doesn't needs more convincing. */ 2106 #define IEMOPFORM_M_CL 7 2107 /** ModR/M: r/m (register), CL. */ 2108 #define IEMOPFORM_M_CL_REG (IEMOPFORM_M_CL | IEMOPFORM_MOD3) 2109 /** ModR/M: r/m (memory), CL. */ 2110 #define IEMOPFORM_M_CL_MEM (IEMOPFORM_M_CL | IEMOPFORM_NOT_MOD3) 2091 2111 /** ModR/M: reg only */ 2092 #define IEMOPFORM_R 52112 #define IEMOPFORM_R 8 2093 2113 2094 2114 /** VEX+ModR/M: reg, r/m */ 2095 #define IEMOPFORM_VEX_RM 82115 #define IEMOPFORM_VEX_RM 16 2096 2116 /** VEX+ModR/M: reg, r/m (register) */ 2097 2117 #define IEMOPFORM_VEX_RM_REG (IEMOPFORM_VEX_RM | IEMOPFORM_MOD3) … … 2099 2119 #define IEMOPFORM_VEX_RM_MEM (IEMOPFORM_VEX_RM | IEMOPFORM_NOT_MOD3) 2100 2120 /** VEX+ModR/M: r/m, reg */ 2101 #define IEMOPFORM_VEX_MR 92121 #define IEMOPFORM_VEX_MR 17 2102 2122 /** VEX+ModR/M: r/m (register), reg */ 2103 2123 #define IEMOPFORM_VEX_MR_REG (IEMOPFORM_VEX_MR | IEMOPFORM_MOD3) … … 2105 2125 #define IEMOPFORM_VEX_MR_MEM (IEMOPFORM_VEX_MR | IEMOPFORM_NOT_MOD3) 2106 2126 /** VEX+ModR/M: r/m only */ 2107 #define IEMOPFORM_VEX_M 1 02127 #define IEMOPFORM_VEX_M 18 2108 2128 /** VEX+ModR/M: r/m only (register). */ 2109 2129 #define IEMOPFORM_VEX_M_REG (IEMOPFORM_VEX_M | IEMOPFORM_MOD3) … … 2111 2131 #define IEMOPFORM_VEX_M_MEM (IEMOPFORM_VEX_M | IEMOPFORM_NOT_MOD3) 2112 2132 /** VEX+ModR/M: reg only */ 2113 #define IEMOPFORM_VEX_R 1 12133 #define IEMOPFORM_VEX_R 19 2114 2134 /** VEX+ModR/M: reg, vvvv, r/m */ 2115 #define IEMOPFORM_VEX_RVM 122135 #define IEMOPFORM_VEX_RVM 20 2116 2136 /** VEX+ModR/M: reg, vvvv, r/m (register). */ 2117 2137 #define IEMOPFORM_VEX_RVM_REG (IEMOPFORM_VEX_RVM | IEMOPFORM_MOD3) … … 2119 2139 #define IEMOPFORM_VEX_RVM_MEM (IEMOPFORM_VEX_RVM | IEMOPFORM_NOT_MOD3) 2120 2140 /** VEX+ModR/M: reg, r/m, vvvv */ 2121 #define IEMOPFORM_VEX_RMV 132141 #define IEMOPFORM_VEX_RMV 21 2122 2142 /** VEX+ModR/M: reg, r/m, vvvv (register). */ 2123 2143 #define IEMOPFORM_VEX_RMV_REG (IEMOPFORM_VEX_RMV | IEMOPFORM_MOD3) … … 2125 2145 #define IEMOPFORM_VEX_RMV_MEM (IEMOPFORM_VEX_RMV | IEMOPFORM_NOT_MOD3) 2126 2146 /** VEX+ModR/M: reg, r/m, imm8 */ 2127 #define IEMOPFORM_VEX_RMI 142147 #define IEMOPFORM_VEX_RMI 22 2128 2148 /** VEX+ModR/M: reg, r/m, imm8 (register). */ 2129 2149 #define IEMOPFORM_VEX_RMI_REG (IEMOPFORM_VEX_RMI | IEMOPFORM_MOD3) … … 2131 2151 #define IEMOPFORM_VEX_RMI_MEM (IEMOPFORM_VEX_RMI | IEMOPFORM_NOT_MOD3) 2132 2152 /** VEX+ModR/M: r/m, vvvv, reg */ 2133 #define IEMOPFORM_VEX_MVR 152153 #define IEMOPFORM_VEX_MVR 23 2134 2154 /** VEX+ModR/M: r/m, vvvv, reg (register) */ 2135 2155 #define IEMOPFORM_VEX_MVR_REG (IEMOPFORM_VEX_MVR | IEMOPFORM_MOD3) … … 2137 2157 #define IEMOPFORM_VEX_MVR_MEM (IEMOPFORM_VEX_MVR | IEMOPFORM_NOT_MOD3) 2138 2158 /** VEX+ModR/M+/n: vvvv, r/m */ 2139 #define IEMOPFORM_VEX_VM 162159 #define IEMOPFORM_VEX_VM 24 2140 2160 /** VEX+ModR/M+/n: vvvv, r/m (register) */ 2141 2161 #define IEMOPFORM_VEX_VM_REG (IEMOPFORM_VEX_VM | IEMOPFORM_MOD3) … … 2143 2163 #define IEMOPFORM_VEX_VM_MEM (IEMOPFORM_VEX_VM | IEMOPFORM_NOT_MOD3) 2144 2164 /** VEX+ModR/M+/n: vvvv, r/m, imm8 */ 2145 #define IEMOPFORM_VEX_VMI 172165 #define IEMOPFORM_VEX_VMI 25 2146 2166 /** VEX+ModR/M+/n: vvvv, r/m, imm8 (register) */ 2147 2167 #define IEMOPFORM_VEX_VMI_REG (IEMOPFORM_VEX_VMI | IEMOPFORM_MOD3)
Note:
See TracChangeset
for help on using the changeset viewer.