Assembly: why some x86 opcodes are invalid in x64? -
my question arises simple curiosity:
why in x64 of opcodes invalid (06, 07 example), whereas in x86 used basic instructions (06 , 07 being push , pop)? though simplest instructions nicely in both architectures.
why disabled of simple instructions in x64? why wouldn't work? why disabled opcodes, creating holes in opcode list, when instead assign them x64 versions of instructions?
reference:
the 06 , 07 opcodes in 32-bit mode instructions push es
, pop es
. in 64-bit mode, segment registers cs, ds, es, , ss no longer used determine memory addresses: processor assumes base address of 0 , no size limits. there no reason applications (other operating system itself) access these registers, opcodes changing , accessing them removed.
the fs , gs segment registers can still set base address in 64-bit mode, opcodes related them have not been removed.
Comments
Post a Comment