diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2021-06-02 14:51:06 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2021-06-02 14:51:06 +0200 |
| commit | 2f1cc844fdd9b2c6d6fd5dafcf590afe99f99736 (patch) | |
| tree | 1a3c0bec6b735b474d41c8b6dcaad1c09cdcbbd6 /src/emu | |
| parent | 543af50ff80af8f041e2b53568659b30043e8613 (diff) | |
| download | box64-2f1cc844fdd9b2c6d6fd5dafcf590afe99f99736.tar.gz box64-2f1cc844fdd9b2c6d6fd5dafcf590afe99f99736.zip | |
Added 66 A1/A3 opcodes ([DYNAREC] too)
Diffstat (limited to 'src/emu')
| -rw-r--r-- | src/emu/x64run66.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/emu/x64run66.c b/src/emu/x64run66.c index 0e1f4bac..067c47da 100644 --- a/src/emu/x64run66.c +++ b/src/emu/x64run66.c @@ -246,6 +246,20 @@ int Run66(x64emu_t *emu, rex_t rex, int rep) R_DX=((R_AX & 0x8000)?0xFFFF:0x0000); break; + case 0xA1: /* MOV EAX,Od */ + if(rex.w) + R_RAX = *(uint64_t*)F64; + else + R_AX = *(uint16_t*)F64; + break; + + case 0xA3: /* MOV Od,EAX */ + if(rex.w) + *(uint64_t*)F64 = R_RAX; + else + *(uint16_t*)F64 = R_AX; + break; + case 0xA5: /* (REP) MOVSW */ tmp8s = ACCESS_FLAG(F_DF)?-1:+1; tmp64u = (rep)?R_RCX:1L; |