diff options
| author | ptitSeb <seebastien.chev@gmail.com> | 2023-08-13 14:18:59 +0200 |
|---|---|---|
| committer | ptitSeb <seebastien.chev@gmail.com> | 2023-08-13 14:18:59 +0200 |
| commit | 69c7ca8bdc23de6fb9e7d637042b6d5e2910ca4d (patch) | |
| tree | e6ea19f8a45da577e70818d0ab319ceec6948474 /src | |
| parent | 692eb90dcdffeaf72c8769113a54770163eb3e24 (diff) | |
| download | box64-69c7ca8bdc23de6fb9e7d637042b6d5e2910ca4d.tar.gz box64-69c7ca8bdc23de6fb9e7d637042b6d5e2910ca4d.zip | |
[32bits] Added 27/2F/37 opcodes
Diffstat (limited to 'src')
| -rw-r--r-- | src/emu/x64run.c | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/src/emu/x64run.c b/src/emu/x64run.c index fb740bd7..1f2f9ddc 100644 --- a/src/emu/x64run.c +++ b/src/emu/x64run.c @@ -227,11 +227,34 @@ x64emurun: emu->segs_serial[_DS] = 0; break; + case 0x27: /* DAA */ + if(rex.is32bits) { + R_AL = daa8(emu, R_AL); + } else { + unimp = 1; + goto fini; + } + break; + case 0x2F: /* DAS */ + if(rex.is32bits) { + R_AL = das8(emu, R_AL); + } else { + unimp = 1; + goto fini; + } + break; case 0x2E: /* segments are ignored */ case 0x26: case 0x36: /* SS: (ignored) */ break; - + case 0x37: /* AAA */ + if(rex.is32bits) { + R_AX = aaa16(emu, R_AX); + } else { + unimp = 1; + goto fini; + } + break; case 0x38: nextop = F8; GETEB(0); |