i386: Document memory size reference in assembler

Cui, Lili lili.cui@intel.com
Mon Jun 24 03:31:00 GMT 2019


Hi all,

This patch is about to Document x/y/z instruction sufffixes in AT&T syntax and 
xmmword/ymmword/zmmword/fword/tword/oword ptr in Intel syntax in binutils .


gas/ChangeLog:

2019-06-21  Lili Cui  <lili.cui@intel.com>

            * doc/c-i386.texi: Document x/y/z instruction sufffixes in AT&T
            syntax and xmmword/ymmword/zmmword/fword/tword/oword ptr in
            Intel syntax
---
gas/doc/c-i386.texi | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/gas/doc/c-i386.texi b/gas/doc/c-i386.texi
index 9d821ae8e7..a1af6ca4ae 100644
--- a/gas/doc/c-i386.texi
+++ b/gas/doc/c-i386.texi
@@ -583,12 +583,16 @@ instruction, do @emph{not} have reversed order.  @ref{i386-Bugs}.
@item
In AT&T syntax the size of memory operands is determined from the last
character of the instruction mnemonic.  Mnemonic suffixes of @samp{b},
-@samp{w}, @samp{l} and @samp{q} specify byte (8-bit), word (16-bit), long
-(32-bit) and quadruple word (64-bit) memory references.  Intel syntax accomplishes
-this by prefixing memory operands (@emph{not} the instruction mnemonics) with
-@samp{byte ptr}, @samp{word ptr}, @samp{dword ptr} and @samp{qword ptr}.  Thus,
-Intel @samp{mov al, byte ptr @var{foo}} is @samp{movb @var{foo}, %al} in AT&T
-syntax.
+@samp{w}, @samp{l}, @samp{q}, @samp{x}, @samp{y} and @samp{z} specify
+byte (8-bit), word (16-bit), long (32-bit), quadruple word (64-bit),
+xmm (128-bit vector), ymm (256-bit vector) and zmm (512-bit vector)
+memory references.  Intel syntax accomplishes this by prefixing memory
+operands (@emph{not}the instruction mnemonics) with @samp{byte ptr},
+@samp{word ptr}, @samp{dword ptr}, @samp{qword ptr}, @samp{xmmword ptr},
+@samp{ymmword ptr} and @samp{zmmword ptr}.  Thus, Intel syntax
+@samp{mov al, byte ptr @var{foo}} is @samp{movb @var{foo}, %al} in
+AT&T syntax.  In Intel syntax, @samp{fword ptr}, @samp{tword ptr} and
+@samp{oword ptr} specify 48-bit, 80-bit and 128-bit memory references.

 In 64-bit code, @samp{movabs} can be used to encode the @samp{mov}
instruction with the 64-bit displacement or immediate operand.
-- 
2.17.1

Thanks,
Lili.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-i386-Document-memory-size-reference-in-assembler.patch
Type: application/octet-stream
Size: 2146 bytes
Desc: 0001-i386-Document-memory-size-reference-in-assembler.patch
URL: <https://sourceware.org/pipermail/binutils/attachments/20190624/03a58483/attachment.obj>


More information about the Binutils mailing list