one_byte_opcodes.isa (4592:520664dfb26f) | one_byte_opcodes.isa (4595:5162e9a7728c) |
---|---|
1// Copyright (c) 2007 The Hewlett-Packard Development Company 2// All rights reserved. 3// 4// Redistribution and use of this software in source and binary forms, 5// with or without modification, are permitted provided that the 6// following conditions are met: 7// 8// The software must be used only for Non-Commercial Use which means any --- 158 unchanged lines hidden (view full) --- 167 0x5: cmp_rAX_Iz(); 168 0x6: M5InternalError::error( 169 {{"Tried to execute the DS segment override prefix!"}}); 170 0x7: decode MODE_SUBMODE { 171 0x0: This_should_be_an_illegal_instruction(); 172 default: aas(); 173 } 174 } | 1// Copyright (c) 2007 The Hewlett-Packard Development Company 2// All rights reserved. 3// 4// Redistribution and use of this software in source and binary forms, 5// with or without modification, are permitted provided that the 6// following conditions are met: 7// 8// The software must be used only for Non-Commercial Use which means any --- 158 unchanged lines hidden (view full) --- 167 0x5: cmp_rAX_Iz(); 168 0x6: M5InternalError::error( 169 {{"Tried to execute the DS segment override prefix!"}}); 170 0x7: decode MODE_SUBMODE { 171 0x0: This_should_be_an_illegal_instruction(); 172 default: aas(); 173 } 174 } |
175 0x08: decode OPCODE_OP_BOTTOM3 { 176 0x0: inc_eAX(); 177 0x1: inc_eCX(); 178 0x2: inc_eDX(); 179 0x3: inc_eBX(); 180 0x4: inc_eSP(); 181 0x5: inc_eBP(); 182 0x6: inc_eSI(); 183 0x7: inc_eDI(); | 175 0x08: decode MODE_SUBMODE { 176 0x0: M5InternalError::error ( 177 {{"Tried to execute an REX prefix!"}}); 178 default: decode OPCODE_OP_BOTTOM3 { 179 0x0: inc_eAX(); 180 0x1: inc_eCX(); 181 0x2: inc_eDX(); 182 0x3: inc_eBX(); 183 0x4: inc_eSP(); 184 0x5: inc_eBP(); 185 0x6: inc_eSI(); 186 0x7: inc_eDI(); 187 } |
184 } | 188 } |
185 0x09: decode OPCODE_OP_BOTTOM3 { 186 0x0: dec_eAX(); 187 0x1: dec_eCX(); 188 0x2: dec_eDX(); 189 0x3: dec_eBX(); 190 0x4: dec_eSP(); 191 0x5: dec_eBP(); 192 0x6: dec_eSI(); 193 0x7: dec_eDI(); | 189 0x09: decode MODE_SUBMODE { 190 0x0: M5InternalError::error ( 191 {{"Tried to execute an REX prefix!"}}); 192 default: decode OPCODE_OP_BOTTOM3 { 193 0x0: dec_eAX(); 194 0x1: dec_eCX(); 195 0x2: dec_eDX(); 196 0x3: dec_eBX(); 197 0x4: dec_eSP(); 198 0x5: dec_eBP(); 199 0x6: dec_eSI(); 200 0x7: dec_eDI(); 201 } |
194 } 195 format Inst { 196 0x0A: decode OPCODE_OP_BOTTOM3 { 197 0x0: PUSH(rAx); 198 0x1: PUSH(rCx); 199 0x2: PUSH(rDx); 200 0x3: PUSH(rBx); 201 0x4: PUSH(rSP); --- 20 unchanged lines hidden (view full) --- 222 0x1: decode MODE_SUBMODE { 223 0x0: This_should_be_an_illegal_instruction(); 224 default: popa(); 225 } 226 0x2: decode MODE_SUBMODE { 227 0x0: This_should_be_an_illegal_instruction(); 228 default: bound_Gv_Ma(); 229 } | 202 } 203 format Inst { 204 0x0A: decode OPCODE_OP_BOTTOM3 { 205 0x0: PUSH(rAx); 206 0x1: PUSH(rCx); 207 0x2: PUSH(rDx); 208 0x3: PUSH(rBx); 209 0x4: PUSH(rSP); --- 20 unchanged lines hidden (view full) --- 230 0x1: decode MODE_SUBMODE { 231 0x0: This_should_be_an_illegal_instruction(); 232 default: popa(); 233 } 234 0x2: decode MODE_SUBMODE { 235 0x0: This_should_be_an_illegal_instruction(); 236 default: bound_Gv_Ma(); 237 } |
230 0x3: arpl_Ew_Gw(); | 238 0x3: decode MODE_SUBMODE { 239 0x0: Inst::MOVSXD(Gv,Ed); 240 default: arpl_Ew_Gw(); 241 } |
231 0x4: M5InternalError::error( 232 {{"Tried to execute the FS segment override prefix!"}}); 233 0x5: M5InternalError::error( 234 {{"Tried to execute the GS segment override prefix!"}}); 235 0x6: M5InternalError::error( 236 {{"Tried to execute the operand size override prefix!"}}); 237 0x7: M5InternalError::error( 238 {{"Tried to execute the DS address size override prefix!"}}); --- 57 unchanged lines hidden (view full) --- 296 0x2: Inst::MOV(Gb,Eb); 297 0x3: Inst::MOV(Gv,Eb); 298 0x4: mov_MwRv_Sw(); //What to do with this one? 299 0x5: lea_Gv_M(); 300 0x6: mov_Sw_MwRv(); 301 0x7: group10_Ev(); //Make sure this is Ev 302 } 303 0x12: decode OPCODE_OP_BOTTOM3 { | 242 0x4: M5InternalError::error( 243 {{"Tried to execute the FS segment override prefix!"}}); 244 0x5: M5InternalError::error( 245 {{"Tried to execute the GS segment override prefix!"}}); 246 0x6: M5InternalError::error( 247 {{"Tried to execute the operand size override prefix!"}}); 248 0x7: M5InternalError::error( 249 {{"Tried to execute the DS address size override prefix!"}}); --- 57 unchanged lines hidden (view full) --- 307 0x2: Inst::MOV(Gb,Eb); 308 0x3: Inst::MOV(Gv,Eb); 309 0x4: mov_MwRv_Sw(); //What to do with this one? 310 0x5: lea_Gv_M(); 311 0x6: mov_Sw_MwRv(); 312 0x7: group10_Ev(); //Make sure this is Ev 313 } 314 0x12: decode OPCODE_OP_BOTTOM3 { |
304 0x0: nop_or_pause(); //Check for repe prefix | 315 default: nop_or_pause(); //Check for repe prefix |
305 0x1: xchg_rCX_rAX(); 306 0x2: xchg_rDX_rAX(); 307 0x3: xchg_rVX_rAX(); 308 0x4: xchg_rSP_rAX(); 309 0x5: xchg_rBP_rAX(); 310 0x6: xchg_rSI_rAX(); 311 0x7: xchg_rDI_rAX(); 312 } --- 174 unchanged lines hidden --- | 316 0x1: xchg_rCX_rAX(); 317 0x2: xchg_rDX_rAX(); 318 0x3: xchg_rVX_rAX(); 319 0x4: xchg_rSP_rAX(); 320 0x5: xchg_rBP_rAX(); 321 0x6: xchg_rSI_rAX(); 322 0x7: xchg_rDI_rAX(); 323 } --- 174 unchanged lines hidden --- |