This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
ENTER/BOUND operands order.
- From: "SÅawomir Wojtasiak" <slawomir dot wojtasiak at swksoftware dot pl>
- To: binutils at sourceware dot org
- Date: Sat, 04 Jan 2014 20:28:13 +0100
- Subject: ENTER/BOUND operands order.
- Authentication-results: sourceware.org; auth=none
Hello everyone,
AT&T dialect says, that every instruction has opposite order of destination
and source operands in comparison to the Intel syntax. So in fact, all
operands are just inverted. Recently, I found out that there are at last two
instructions (bound and enter) which seem not to follow the rule. Following
example shows how they are currently encoded in GAS/Intel assembler:
INTEL: 62 30 bound esi,[eax]
GAS: 62 30 bound %esi,(%eax)
INTEL: c8 ee ff 01 enter 0ffeeh,01h
GAS: c8 ee ff 01 enter $0xffee,$0x1
c8 ee ff 55 enter $0xffee,$0x55
As you can see, both of these instructions have the same order of the
operands. At first, I though that the fact that they do not have destination
operand might be the case, but there are other similar instructions like
"maskmovdqu" that follows the rule, so it looks like inconsistency. I
haven't found any logical explanation yet, so I would be really grateful
for any information about this issue. Maybe this is expected behaviour (just
an exception), or maybe a kind of historical reason?
Thanks in advance.
Regards,
Slawomir Wojtasiak
slawomir *DOT* wojtasiak *AT* swkso[remove me]ftware *DOT* pl