From dc2d54edf26dc266e4787b30fa796a4db1339936 Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Sat, 22 Jun 2024 18:05:03 +0200 Subject: Added 66 F2/F3 A4 opcode ({DYNAREC] too) --- src/emu/x64run66.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'src/emu') diff --git a/src/emu/x64run66.c b/src/emu/x64run66.c index 536583bc..17199c71 100644 --- a/src/emu/x64run66.c +++ b/src/emu/x64run66.c @@ -477,7 +477,20 @@ uintptr_t Run66(x64emu_t *emu, rex_t rex, int rep, uintptr_t addr) *(uint16_t*)F64 = R_AX; } break; - + case 0xA4: /* (REP) MOVSB */ + tmp8s = ACCESS_FLAG(F_DF)?-1:+1; + tmp64u = (rep)?R_RCX:1L; + while(tmp64u) { + #ifndef TEST_INTERPRETER + *(uint8_t*)R_RDI = *(uint8_t*)R_RSI; + #endif + R_RDI += tmp8s; + R_RSI += tmp8s; + --tmp64u; + } + if(rep) + R_RCX = tmp64u; + break; case 0xA5: /* (REP) MOVSW */ tmp8s = ACCESS_FLAG(F_DF)?-1:+1; tmp64u = (rep)?R_RCX:1L; -- cgit 1.4.1