Re: [PATCH] APM support doesn't compile with binutils 2.8.1.0.24

H. J. Lu (hjl@freya.yggdrasil.com)
Wed, 25 Mar 1998 12:20:49 -0800 (PST)


>
>
> On Wed, 25 Mar 1998, H. J. Lu wrote:
>
> > Can someone please tell me the correct opcode for "pushl %ds"
> > and by what increment esp is changed by "pushl %ds"?
>
> 80484a9: 1e pushl %ds <=== 32 bit PUSH
> 80484aa: 66 1e pushl %ds <=== 16 bit PUSH
>
> 32 bit push increments esp by 4. 16 bit push increments by 2. At least on
> the P54C/S5 i have.
>
> current GAS behavior:
>
> ASM("pushb %ds");
> ASM("pushw %ds");
> ASM("pushl %ds");
> ASM("push %ds");
>
> generates:
>
> 80484a9: 1e pushl %ds
> 80484aa: 66 1e pushl %ds
> 80484ac: 1e pushl %ds
> 80484ad: 1e pushl %ds
>

binutils 2.8.1.0.25:

# gcc -c b.s
b.s: Assembler messages:
b.s:1: Warning: warning: register does not match opcode suffix
b.s:3: Warning: warning: register does not match opcode suffix
# objdump -d b.o

b.o: file format elf32-i386

Disassembly of section .text:

00000000 <.text>:
0: 1e pushl %ds
1: 1e pushl %ds
2: 1e pushl %ds
3: 1e pushl %ds

I will fix "movl" and make "movb" an error.

-- 
H.J. Lu (hjl@gnu.ai.mit.edu)

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu