News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests
NB: Posting URL's See here: Posted URL Change

Main Menu

Prefix

Started by HellOfMice, January 27, 2025, 03:24:52 AM

Previous topic - Next topic

HellOfMice

Hello,

I am writing my disassembler and ask many questions when meeting a prefix.

66h and 67h are not a problemm when used alone but when mixing with 40h or 41h it is harder.
I would like that someone explains that to me.

If 66h is used at the same time that 40h, 40h is stronger so the 40h is the only prefix to proceed.
It is like the 66h was not found.
But 41h prefix is present with 66h and/or 67h what does the opcode becomes.

One think, I beleive to have understood is that the 41h prefix can be there set à 0 or 1.
Even if it is equal to 0 it means something. For me it has three values: Present, 0 and 1.

I would say that if it is present with a 66h it selects the 16 bits registers.
If the 67h is found and the 41h is present it would select the 16 bits addresses but they are not used on the X64.

But if the 41h prefix is equal to 0 or 1 what happens if 66h or 67h prefixes are found.

Thank You for your help.

daydreamer

66h switch to 16 bit regs in 32 bit mode,but in  16 bit real mode switch to 32 bit regs

In newer SSE opcodes 66h changes SSE real4 to SSE2 real8 ,MMX integer to SSE2 integer
+ some other prefix
my none asm creations
https://masm32.com/board/index.php?topic=6937.msg74303#msg74303
I am an Invoker
"An Invoker is a mage who specializes in the manipulation of raw and elemental energies."
Like SIMD coding

Mikl__

HellOfMice,
look here. It's everything is clear there