qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] handle multibyte NOPs


From: Igor Kovalenko
Subject: Re: [Qemu-devel] [PATCH] handle multibyte NOPs
Date: Wed, 30 Aug 2006 23:27:11 +0400

On 8/21/06, malc <address@hidden> wrote:
On Mon, 21 Aug 2006, Igor Kovalenko wrote:

> On 8/21/06, malc <address@hidden> wrote:
>>
>> On Mon, 21 Aug 2006, Igor Kovalenko wrote:
>>
>> <snip>
>>
>> > Right. Here is the real one with correct case labels.
>>
>> Sorry, forgot to mention that atop of the hex/bin problem the code also
>> suffers from lack of proper 16/64 bit modrm decoding.
>
>
> seems to me that 16 and 64 bit cases does not apply here

Well, quick experiment in vm86 environment suggests that i'm right at
least for 16bit case.

<moo.asm>
         xor ax, ax
         int 16h
         db 0xf, 0x19, 5, 0xde, 0xad
         db 0xf, 0x19, 5, 0xbe, 0xef
         mov ah, 9
         mov dx, erm
         add dx, 0x100
         int 21h
         xor ax, ax
         int 16h
         ret
erm     db     "moo$"
</moo.asm>

nasm -o moo.com moo.asm
dosemu moo.com

64bit case should be investigated by someone who possesses 64bit OS.

Here is the updated patch, should implement 16/32/64 modes according to public intel docs.
Operand size is taken from DisassContext->dflag which is set beforehand; I assume it is decoded correctly wrt appropriate instruction prefixes.

--
Kind Regards,
Igor V. Kovalenko

Attachment: x86-multibyte-noop-6.diff
Description: Text document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]