Mail Archives: djgpp/1996/07/31/14:14:41
> ASM(" \n
> pushw %%es \n
> movw _our_global_selector, %%es \n
> --------------> movw %%es, %%ds \n
^^^^^^
Can't do this. A segment register can only be the destination of a
move from a general purpose register (ax, bx, cx, dx) or it can be the
destination of a pop instruction.
> movl $0xA0000, %%edi \n
> imulw $320, %%ax \n
> addw %%bx, %%ax \n
> --------------> addw %%ax, %%edi \n
^^^^^^^
Can't do this either. You have a 32 bit register as the destination
of a 16 bit move.
[snip...]
In the future, you can find the exact line of the problem by
compiling with -S and redirecting the output to a file, the run gcc
on that file. For example:
gcc -S foo.c > bar.s
gcc bar.s
-Kevin
- Raw text -