diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2021-03-06 10:28:19 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2021-03-06 10:28:19 +0100 |
| commit | 281d1a94f11f50c6bf13fad594f7431a524ac65b (patch) | |
| tree | 04d15f34171e8e00636e6ebe0f8876ff5eb61c5a /src | |
| parent | 7aca60904076314e45d6f6b6916fc22358e93640 (diff) | |
| download | box64-281d1a94f11f50c6bf13fad594f7431a524ac65b.tar.gz box64-281d1a94f11f50c6bf13fad594f7431a524ac65b.zip | |
Added REX F6 opcodes
Diffstat (limited to 'src')
| -rwxr-xr-x | src/emu/x64run.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/emu/x64run.c b/src/emu/x64run.c index ec88fab1..64982e64 100755 --- a/src/emu/x64run.c +++ b/src/emu/x64run.c @@ -523,6 +523,35 @@ x64emurun: STEP break; + case 0xF6: /* GRP3 Eb(,Ib) */ + nextop = F8; + GETEB; + switch((nextop>>3)&7) { + case 0: + case 1: /* TEST Eb,Ib */ + tmp8u = F8; + test8(emu, EB->byte[0], tmp8u); + break; + case 2: /* NOT Eb */ + EB->byte[0] = not8(emu, EB->byte[0]); + break; + case 3: /* NEG Eb */ + EB->byte[0] = neg8(emu, EB->byte[0]); + break; + case 4: /* MUL AL,Eb */ + mul8(emu, EB->byte[0]); + break; + case 5: /* IMUL AL,Eb */ + imul8(emu, EB->byte[0]); + break; + case 6: /* DIV Eb */ + div8(emu, EB->byte[0]); + break; + case 7: /* IDIV Eb */ + idiv8(emu, EB->byte[0]); + break; + } + break; case 0xF7: /* GRP3 Ed(,Id) */ nextop = F8; GETED; |