[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
binutils-2.13.2.1 "as" incorrect operand sizes in .code16 mode on x86
From: |
Mike Haertel |
Subject: |
binutils-2.13.2.1 "as" incorrect operand sizes in .code16 mode on x86 |
Date: |
Wed, 16 Apr 2003 12:09:00 -0700 |
In binutils-2.13.2.1, on x86 targets, in .code16 mode, "as" generates
incorrect operand sizes for moves to and from control registers.
Example:
$ as --version
GNU assembler 2.13.2.1
Copyright 2002 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License. This program has absolutely no warranty.
This assembler was configured for a target of `i386-unknown-freebsd4.8'.
$ as -al
.code16
movl %eax, %cr0
movl %cr0, %eax
^D
GAS LISTING page 1
1 .code16
2 0000 0F22C0 movl %eax,%cr0
3 0003 0F20C0 movl %cr0,%eax
The opcodes should be 660F22C0 and 660F20C0 respectively.
- binutils-2.13.2.1 "as" incorrect operand sizes in .code16 mode on x86,
Mike Haertel <=