diff options
| author | Yang Liu <liuyang22@iscas.ac.cn> | 2023-04-21 22:51:02 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-04-21 16:51:02 +0200 |
| commit | 128390d52e249903ff579361c080aa76e0492463 (patch) | |
| tree | 3db0f5e4ac8bbb3a620a9f98af2d018a22d121a1 /src | |
| parent | f7d23a4b9f2efa3c92e5fd643f6c753fe8c7f7bd (diff) | |
| download | box64-128390d52e249903ff579361c080aa76e0492463.tar.gz box64-128390d52e249903ff579361c080aa76e0492463.zip | |
Added A1/A2/A3 MOV opcodes (#723)
Diffstat (limited to 'src')
| -rw-r--r-- | src/dynarec/rv64/dynarec_rv64_00_2.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/dynarec/rv64/dynarec_rv64_00_2.c b/src/dynarec/rv64/dynarec_rv64_00_2.c index c02b1796..f962a507 100644 --- a/src/dynarec/rv64/dynarec_rv64_00_2.c +++ b/src/dynarec/rv64/dynarec_rv64_00_2.c @@ -447,6 +447,26 @@ uintptr_t dynarec64_00_2(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t ip, int ORI(xFlags, xFlags, 0x2); SET_DFNONE(); break; + case 0xA1: + INST_NAME("MOV EAX,Od"); + u64 = F64; + MOV64x(x1, u64); + LDxw(xRAX, x1, 0); + break; + case 0xA2: + INST_NAME("MOV Ob,AL"); + u64 = F64; + MOV64x(x1, u64); + SB(xRAX, x1, 0); + SMWRITE(); + break; + case 0xA3: + INST_NAME("MOV Od,EAX"); + u64 = F64; + MOV64x(x1, u64); + SDxw(xRAX, x1, 0); + SMWRITE(); + break; case 0xA4: if(rep) { INST_NAME("REP MOVSB"); |