Mail Archives: djgpp/1996/10/25/08:01:25
pmo AT fmsc DOT com DOT au (Peter Monks) wrote:
>On Wed, 23 Oct 1996 13:20:52 +0200 (EET) "Adrian G. Oboroc" <ash AT cinf DOT usm DOT md> wrote:
>>
>>
>>Error message (before and after commenting) is just the same:
>>=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
>>gcc -I. -Isrc -Wall -o obj/bank.o -c src/bank.S
>>E:\ccbaaaaa: Assembler messages:
>>E:\ccbaaaaa:252: Error: register does not match opcode suffix
>>E:\ccbaaaaa:269: Error: register does not match opcode suffix
>>make.exe: *** [obj/bank.o] Error 1
>>=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
>I can't get Allegro to compile either (I get exactly the same errors as
>above), and I've spent about half an hour looking at the source trying to find
>where the mismatched opcodes are (to no avail).
>I compiled with:
>gcc -save-temps -I. -Isrc -Wall -o obj/bank.o -c src/bank.S
>and then looked at the temporary file to see what lines 252 and 269 contained.
>They were:
>outb %al, %dx (line 252) and
>outl %eax, %dx (line 269)
>Can any AT&T assembler gurus tell me whats wrong with these two lines? Or do
>I actually have the wrong lines in the file? There are other 'outb's and
>'outl's in bank.S that don't cause any errors, so I'm not 100% sure I've got
>the right lines.
The line numbers reported in the errors are the lines sent to the
assembler after preprocessing. Using -E to get the preprocessed
output, you'll find that both the erroneous lines contain "incl %ah".
You need to change it to "incb %ah" instead, in lines 227 and 244 in
bank.S.
- Raw text -