Re: Intel assembly questions
Re: Intel assembly questions
- Subject: Re: Intel assembly questions
- From: Jonas Maebe <email@hidden>
- Date: Wed, 18 Jan 2006 20:45:43 +0100
On 18 Jan 2006, at 20:31, Dave Camp wrote:
I've started porting some cross-platform Windows/Mac code that has
some Intel inline assembly and I've got a couple of questions:
First, Xcode gives me the impression that there are two different
ways to compile the assembly: GCC and NASM. Is that correct?
The real names are respectively AT&T and Intel.
MainLoop:
movzx eax, byte Ptr [esi+4]
...
The last line is the issue. I assume the original syntax is trying
to say 'treat [esi+4] as a byte pointer". Xcode does not like the
"byte Ptr" operands.
"byte ptr" is Intel style only.
Removing those causes the following error: No such 386 instruction:
movzl
What is the replacement syntax for "byte Ptr"?
In AT&T style, the operand size is always added to the instruction.
In this case, the above should become
movzbl 4(%esi),êx
Is there some documentation that covers platform syntax differences
like this that I have missed?
Here's a short overview of the most important differences between
Intel and AT&T style:
http://personales.mundivia.es/jap/djasm.htm
Jonas
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden