comp.lang.ada
 help / color / mirror / Atom feed
From: "Michael Garrett" <michaelgarrett@csi.com>
Subject: Gnat Asm Insertion Question
Date: Mon, 22 Oct 2001 06:20:41 -0500
Date: 2001-10-22T11:22:24+00:00	[thread overview]
Message-ID: <9r0vhg$evr$1@suaar1aa.prod.compuserve.com> (raw)


I have the following snippet of code to put the processot into protected
mode:

Asm ("movl %%cr0,%%eax; " &
           "or $0x0001,%%eax; " &
           "movl %%eax,%%cr0; " &
           "ljmp $0x10,$1f; " &
           "1: " &
           "movl $0x18,%%eax; " &
           "movl %%eax,%%ds; " &
           "movl %%eax,%%es; " &
           "movl %%eax,%%fs; " &
           "movl %%eax,%%gs; " &
           "movl %%eax,%%ss; ",
           No_Output_Operands,
           No_Input_Operands);

When I try to compile this code, I get the following error:

C:\TEMP\cca00281.s: Assembler messages:
C:\TEMP\cca00281.s:89: Error: operands given don't match any known 386
instructi
on
gnatmake: "hardware\adaos-hardware-processor.adb" compilation error
make: *** [make_ada_main] Error 4

For some reason, the label for the ljmp instruction is not declared
properly.

How do I properly write this code so that the compiler creates a label?

Thank you in advance!!

--
Michael C. Garrett
Garrett Technologies Inc.
michaelgarrett@csi.com





             reply	other threads:[~2001-10-22 11:20 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-10-22 11:20 Michael Garrett [this message]
2001-10-22 11:26 ` Gnat Asm Insertion Question Lutz Donnerhacke
2001-10-22 12:37 ` Florian Weimer
2001-10-22 14:50 ` Michael Garrett
2001-10-22 14:57   ` Lutz Donnerhacke
2001-10-22 15:04   ` Florian Weimer
2001-10-23  4:12   ` Michael Garrett
2001-10-22 18:50 ` FGD
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox