diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2021-03-05 11:21:00 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2021-03-05 11:21:00 +0100 |
| commit | 2b7d375191968787466b5590fae1074d6f614851 (patch) | |
| tree | 80eaa3142abb3fa4d66a5910c872c1af0e820a5a /src | |
| parent | 4d02ba25f10830205ac161338e8473f80240ac66 (diff) | |
| download | box64-2b7d375191968787466b5590fae1074d6f614851.tar.gz box64-2b7d375191968787466b5590fae1074d6f614851.zip | |
Added REX 0F B6 MOVZX opcode
Diffstat (limited to 'src')
| -rw-r--r-- | src/emu/x64run0f.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/emu/x64run0f.c b/src/emu/x64run0f.c index c922c2d3..31b22eec 100644 --- a/src/emu/x64run0f.c +++ b/src/emu/x64run0f.c @@ -55,7 +55,6 @@ int Run0F(x64emu_t *emu, rex_t rex) , if(rex.w) {GD->q[0] = ED->q[0]; } else {GD->dword[0] = ED->dword[0];} ) /* 0x40 -> 0x4F CMOVxx Gd,Ed */ // conditional move, no sign - #undef GOCOND case 0xAF: /* IMUL Gd,Ed */ nextop = F8; GETED; @@ -66,6 +65,16 @@ int Run0F(x64emu_t *emu, rex_t rex) GD->dword[0] = imul32(emu, GD->dword[0], ED->dword[0]); break; + case 0xB6: /* MOVZX Gd,Eb */ + nextop = F8; + GETEB; + GETGD; + if(rex.w) + GD->q[0] = EB->byte[0]; + else + GD->dword[0] = EB->byte[0]; + break; + default: return 1; } |