diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2021-04-01 17:03:48 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2021-04-01 17:03:48 +0200 |
| commit | b40c4ebcd76df43366cf769835d48194b2673281 (patch) | |
| tree | e822a3b186a0f47a215e5d4e122e35b96ec0f3d5 /src/emu | |
| parent | 53e449a96ff47e56e5eeccae25ac8445f62acc78 (diff) | |
| download | box64-b40c4ebcd76df43366cf769835d48194b2673281.tar.gz box64-b40c4ebcd76df43366cf769835d48194b2673281.zip | |
Added 67 89 opcode
Diffstat (limited to 'src/emu')
| -rw-r--r-- | src/emu/x64run67.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/emu/x64run67.c b/src/emu/x64run67.c index 7db5494f..c5a1f221 100644 --- a/src/emu/x64run67.c +++ b/src/emu/x64run67.c @@ -43,6 +43,21 @@ int Run67(x64emu_t *emu, rex_t rex) switch(opcode) { + case 0x89: /* MOV Ed,Gd */ + nextop = F8; + GETED32(0); + GETGD; + if(rex.w) { + ED->q[0] = GD->q[0]; + } else { + //if ED is a reg, than the opcode works like movzx + if(MODREG) + ED->q[0] = GD->dword[0]; + else + ED->dword[0] = GD->dword[0]; + } + break; + case 0x8D: /* LEA Gd,M */ nextop = F8; GETED32(0); |