[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: assembler 'movl ss, (ebp)' produce an error for target i686
From: |
Nick Clifton |
Subject: |
Re: assembler 'movl ss, (ebp)' produce an error for target i686 |
Date: |
Sat, 01 Oct 2005 07:58:01 +0100 |
User-agent: |
Mozilla Thunderbird 1.0 (X11/20041206) |
Hi Henry,
* Bug: 'movl %ss, (%ebp)' produce an error for target i686 (32 bit):
" Error: suffix or operands invalid for `mov' "
I asked the x86 maintainers if they would look at this bug report. Here
is what H.J.Lu had to say about it:
; There is no such a thing of moving between a segment register and a
: 32bit memory location.
:
: The new i386/x86_64 assemblers no longer accept instructions for
: moving between a segment register and a 32bit memory location, i.e.,
:
: movl (%eax),%ds
: movl %ds,(%eax)
:
: To generate instructions for moving between a segment register and a
: 16bit memory location without the 16bit operand size prefix, 0x66,
:
: mov (%eax),%ds
: mov %ds,(%eax)
:
: should be used. It will work with both new and old assemblers. The
: assembler starting from 2.16.90.0.1 will also support
:
: movw (%eax),%ds
: movw %ds,(%eax)
:
: without the 0x66 prefix. Patches for 2.4 and 2.6 Linux kernels are
: available at
:
: http://www.kernel.org/pub/linux/devel/binutils/linux-2.4-seg-4.patch
: http://www.kernel.org/pub/linux/devel/binutils/linux-2.6-seg-5.patch
I hope that this makes things clear.
Cheers
Nick
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: assembler 'movl ss, (ebp)' produce an error for target i686,
Nick Clifton <=