Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: local/temporary labels in gcc inline assembly

Author: Dieter Buerssner

Date: 13:53:00 12/09/02

Go up one level in this thread


On December 09, 2002 at 16:36:38, Matt Taylor wrote:

>How does AT&T syntax resolve the movzx instruction? You can move 8-bits or
>16-bits -> 32-bit register. I guess they have movzxs and movzxb?

movzxbl, movzxwl, movzxbw for zero extending for 8-bit to 32-bit, 16-bit to
32-bit and 8-bit to 16-bit. Same for the movsx.

Perhaps the usage of the register(s) (%al, %ax, %eax) overwrites the b/w/l. I
forgot - it seems to happen with other mnemonics. If one handles it
consistently, there is no problem.

I also find the % in register names makes it harder to read. And of course, when
one reads assembler in both ways now and then, it is very confusing that the
src,dest is changing.

I have an assembler level debugger, which shows gcc-inline-assembly written in
AT&T syntax in the Intel way, while it shows the source (of course) in the AT&T
manner ...

Regards,
Dieter




This page took 0.01 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.