flat assembler
Message board for the users of flat assembler.
![]() |
Author |
|
Tomasz Grysztar
No, "MOV AX,CS" and "MOV EAX,CS" are two different instructions. It was never documented properly by Intel manuals, but the AMD ones do it well.
|
|||
![]() |
|
MazeGen
Intel documents it very well:
Quote:
|
|||
![]() |
|
Tomasz Grysztar
But they don't define distinct operand forms for those instructions and thus this feature is not visible in general reference (see attached pic).
fasm uses the syntax as defined by AMD - so you've got "mov eax,ds" and "mov ax,ds", but only "mov ds,ax" in reverse direction (and so fasm doesn't fit into "the most assemblers" mentioned by Intel). There is also a similar story with the LAR and LSL instructions.
|
||||||||||
![]() |
|
MazeGen
You're right, Intel is too brief in this reference.
On the other side, AMD often doesn't mention some important features of an instruction. For instance, POP [ESP] first increments ESP, then stores. AMD doesn't say anything about it. |
|||
![]() |
|
Madis731
Conclusion? You need both manuals and some common sence?
|
|||
![]() |
|
TDCNL
It's clear now
![]() Btw I didn't look deeply into FASM manual yet but is this behaviour documented? _________________ :: The Dutch Cracker :: |
|||
![]() |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2020, Tomasz Grysztar. Also on GitHub, YouTube, Twitter.
Website powered by rwasa.