one_byte_opcodes.isa (4595:5162e9a7728c) | one_byte_opcodes.isa (4601:38c989d15fef) |
---|---|
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 --- 266 unchanged lines hidden (view full) --- 275 0x3: jnp_Jb(); 276 0x4: jl_Jb(); 277 0x5: jnl_Jb(); 278 0x6: jle_Jb(); 279 0x7: jnke_Jb(); 280 } 281 0x10: decode OPCODE_OP_BOTTOM3 { 282 0x0: group1_Eb_Ib(); | 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 --- 266 unchanged lines hidden (view full) --- 275 0x3: jnp_Jb(); 276 0x4: jl_Jb(); 277 0x5: jnl_Jb(); 278 0x6: jle_Jb(); 279 0x7: jnke_Jb(); 280 } 281 0x10: decode OPCODE_OP_BOTTOM3 { 282 0x0: group1_Eb_Ib(); |
283 0x1: group1_Ev_Iz(); | 283 //0x1: group1_Ev_Iz(); 284 0x1: decode MODRM_REG { 285 0x0: add_Ev_Iz(); 286 0x1: or_Ev_Ibz(); 287 0x2: adc_Ev_Iz(); 288 0x3: sbb_Ev_Iz(); 289 0x4: Inst::AND(Ev,Iz); 290 0x5: Inst::SUB(Ev,Iz); 291 0x6: xor_Ev_Iz(); 292 0x7: cmp_Ev_Iz(); 293 } |
284 0x2: decode MODE_SUBMODE { 285 0x0: This_should_be_an_illegal_instruction(); 286 default: group1_Eb_Ib(); 287 } 288 //0x3: group1_Ev_Ib(); 289 0x3: decode MODRM_REG { 290 0x0: add_Eb_Ib(); 291 0x1: or_Eb_Ib(); 292 0x2: adc_Eb_Ib(); 293 0x3: sbb_Eb_Ib(); 294 0x4: Inst::AND(Eb,Ib); 295 0x5: sub_Eb_Ib(); 296 0x6: xor_Eb_Ib(); 297 0x7: cmp_Eb_Ib(); 298 } | 294 0x2: decode MODE_SUBMODE { 295 0x0: This_should_be_an_illegal_instruction(); 296 default: group1_Eb_Ib(); 297 } 298 //0x3: group1_Ev_Ib(); 299 0x3: decode MODRM_REG { 300 0x0: add_Eb_Ib(); 301 0x1: or_Eb_Ib(); 302 0x2: adc_Eb_Ib(); 303 0x3: sbb_Eb_Ib(); 304 0x4: Inst::AND(Eb,Ib); 305 0x5: sub_Eb_Ib(); 306 0x6: xor_Eb_Ib(); 307 0x7: cmp_Eb_Ib(); 308 } |
299 0x4: test_Eb_Gb(); 300 0x5: test_Ev_Gv(); | 309 0x4: Inst::TEST(Eb,Gb); 310 0x5: Inst::TEST(Ev,Gv); |
301 0x6: xchg_Eb_Gb(); 302 0x7: xchg_Ev_Gv(); 303 } 304 0x11: decode OPCODE_OP_BOTTOM3 { 305 0x0: Inst::MOV(Eb,Gb); 306 0x1: Inst::MOV(Ev,Gv); 307 0x2: Inst::MOV(Gb,Eb); 308 0x3: Inst::MOV(Gv,Eb); 309 0x4: mov_MwRv_Sw(); //What to do with this one? | 311 0x6: xchg_Eb_Gb(); 312 0x7: xchg_Ev_Gv(); 313 } 314 0x11: decode OPCODE_OP_BOTTOM3 { 315 0x0: Inst::MOV(Eb,Gb); 316 0x1: Inst::MOV(Ev,Gv); 317 0x2: Inst::MOV(Gb,Eb); 318 0x3: Inst::MOV(Gv,Eb); 319 0x4: mov_MwRv_Sw(); //What to do with this one? |
310 0x5: lea_Gv_M(); | 320 0x5: Inst::LEA(Gv,M); |
311 0x6: mov_Sw_MwRv(); 312 0x7: group10_Ev(); //Make sure this is Ev 313 } 314 0x12: decode OPCODE_OP_BOTTOM3 { 315 default: nop_or_pause(); //Check for repe prefix 316 0x1: xchg_rCX_rAX(); 317 0x2: xchg_rDX_rAX(); 318 0x3: xchg_rVX_rAX(); --- 29 unchanged lines hidden (view full) --- 348 0x2: mov_Ob_Al(); 349 0x3: mov_Ov_rAX(); 350 0x4: movs_Yb_Xb(); 351 0x5: movs_Yv_Xv(); 352 0x6: cmps_Yb_Xb(); 353 0x7: cmps_Yv_Xv(); 354 } 355 0x15: decode OPCODE_OP_BOTTOM3 { | 321 0x6: mov_Sw_MwRv(); 322 0x7: group10_Ev(); //Make sure this is Ev 323 } 324 0x12: decode OPCODE_OP_BOTTOM3 { 325 default: nop_or_pause(); //Check for repe prefix 326 0x1: xchg_rCX_rAX(); 327 0x2: xchg_rDX_rAX(); 328 0x3: xchg_rVX_rAX(); --- 29 unchanged lines hidden (view full) --- 358 0x2: mov_Ob_Al(); 359 0x3: mov_Ov_rAX(); 360 0x4: movs_Yb_Xb(); 361 0x5: movs_Yv_Xv(); 362 0x6: cmps_Yb_Xb(); 363 0x7: cmps_Yv_Xv(); 364 } 365 0x15: decode OPCODE_OP_BOTTOM3 { |
356 0x0: test_Al_Ib(); 357 0x1: test_rAX_Iz(); | 366 0x0: Inst::TEST(rAl,Ib); 367 0x1: Inst::TEST(rAX,Iz); |
358 0x2: stos_Yb_Al(); 359 0x3: stos_Yv_rAX(); 360 0x4: lods_Al_Xb(); 361 0x5: lods_rAX_Xv(); 362 0x6: scas_Yb_Al(); 363 0x7: scas_Yv_rAX(); 364 } 365 0x16: decode OPCODE_OP_BOTTOM3 { 366 0x0: mov_Al_Ib(); 367 0x1: mov_Cl_Ib(); 368 0x2: mov_Dl_Ib(); 369 0x3: mov_Bl_Ib(); 370 0x4: mov_Ah_Ib(); 371 0x5: mov_Ch_Ib(); 372 0x6: mov_Dh_Ib(); 373 0x7: mov_Bh_Ib(); 374 } | 368 0x2: stos_Yb_Al(); 369 0x3: stos_Yv_rAX(); 370 0x4: lods_Al_Xb(); 371 0x5: lods_rAX_Xv(); 372 0x6: scas_Yb_Al(); 373 0x7: scas_Yv_rAX(); 374 } 375 0x16: decode OPCODE_OP_BOTTOM3 { 376 0x0: mov_Al_Ib(); 377 0x1: mov_Cl_Ib(); 378 0x2: mov_Dl_Ib(); 379 0x3: mov_Bl_Ib(); 380 0x4: mov_Ah_Ib(); 381 0x5: mov_Ch_Ib(); 382 0x6: mov_Dh_Ib(); 383 0x7: mov_Bh_Ib(); 384 } |
375 0x17: decode OPCODE_OP_BOTTOM3 { 376 0x0: mov_rAX_Iv(); 377 0x1: mov_rCX_Iv(); 378 0x2: mov_rDX_Iv(); 379 0x3: mov_rBX_Iv(); 380 0x4: mov_rSP_Iv(); 381 0x5: mov_rBP_Iv(); 382 0x6: mov_rSI_Iv(); 383 0x7: mov_rDI_Iv(); | 385 format Inst { 386 0x17: decode OPCODE_OP_BOTTOM3 { 387 0x0: MOV(rAX,Iv); 388 0x1: MOV(rCX,Iv); 389 0x2: MOV(rDX,Iv); 390 0x3: MOV(rBX,Iv); 391 0x4: MOV(rSP,Iv); 392 0x5: MOV(rBP,Iv); 393 0x6: MOV(rSI,Iv); 394 0x7: MOV(rDI,Iv); 395 } |
384 } 385 0x18: decode OPCODE_OP_BOTTOM3 { 386 0x0: group2_Eb_Ib(); 387 0x1: group2_Ev_Ib(); 388 0x2: ret_near_Iw(); 389 0x3: ret_near(); 390 0x4: decode MODE_SUBMODE { 391 0x0: This_should_be_an_illegal_instruction(); --- 106 unchanged lines hidden --- | 396 } 397 0x18: decode OPCODE_OP_BOTTOM3 { 398 0x0: group2_Eb_Ib(); 399 0x1: group2_Ev_Ib(); 400 0x2: ret_near_Iw(); 401 0x3: ret_near(); 402 0x4: decode MODE_SUBMODE { 403 0x0: This_should_be_an_illegal_instruction(); --- 106 unchanged lines hidden --- |