Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-pascal / 2008-06

x86_64 assembler

8 messages · 4 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

mm

Hello,

How can one declare a constant of type qword with the INTEL assembler? I am using FPC 2.2.0 and the mnemonic "dq" stops the compilation with the message "Error: Unrecognized opcode DQ".

Thanks,
mm
----
http://www.ellipsa.net/

Jonas Maebe
to mm
mm wrote
How can one declare a constant of type qword with the INTEL assembler? I am using FPC 2.2.0 and the mnemonic "dq" stops the compilation with the message "Error: Unrecognized opcode DQ".

As far as I can see, that's not possible at this time.

Jonas

mm
to Jonas Maebe
Jonas Maebe wrote 5 lines
> How can one declare a constant of type qword with the INTEL assembler? > I am using FPC 2.2.0 and the mnemonic "dq" stops the compilation with > the message "Error: Unrecognized opcode DQ". As far as I can see, that's not possible at this time.

That's what I was afraid of. Thanks anyway.

So the simplest solution is to use the ATT (GAS?) assembler.

mm
----
http://www.ellipsa.net/

Tomas Hajny
to mm
mm wrote 10 lines
Jonas Maebe a écrit : >> How can one declare a constant of type qword with the INTEL assembler? >> I am using FPC 2.2.0 and the mnemonic "dq" stops the compilation with >> the message "Error: Unrecognized opcode DQ". > > As far as I can see, that's not possible at this time. That's what I was afraid of. Thanks anyway. So the simplest solution is to use the ATT (GAS?) assembler.

Can't you just split the constant to two hexadecimal (or alphanumeric) values put after "dd"?

Tomas

mm
to Tomas Hajny
Tomas Hajny wrote 12 lines
On Thu, June 5, 2008 15:29, mm wrote: > Jonas Maebe a écrit : >>> How can one declare a constant of type qword with the INTEL assembler? >>> I am using FPC 2.2.0 and the mnemonic "dq" stops the compilation with >>> the message "Error: Unrecognized opcode DQ". >> As far as I can see, that's not possible at this time. > That's what I was afraid of. Thanks anyway. > > So the simplest solution is to use the ATT (GAS?) assembler. Can't you just split the constant to two hexadecimal (or alphanumeric) values put after "dd"?

Unfortunately, no. I have to use it with something like

dq @@R0,@@R1,@@R2,@@R3

where the @@nn are labels (this is done to select the right jump at run time).

I thought to use hexadecimal code to replace the mnemonic "dq" itself but 1) I don't know its code and 2) I am not even sure it would work.

mm
----
http://www.ellipsat.net/

Tomas Hajny
to mm
mm wrote 25 lines
Tomas Hajny a écrit : > On Thu, June 5, 2008 15:29, mm wrote: >> Jonas Maebe a écrit : >>>> How can one declare a constant of type qword with the INTEL >>>> assembler? >>>> I am using FPC 2.2.0 and the mnemonic "dq" stops the compilation >>>> with >>>> the message "Error: Unrecognized opcode DQ". >>> As far as I can see, that's not possible at this time. >> That's what I was afraid of. Thanks anyway. >> >> So the simplest solution is to use the ATT (GAS?) assembler. > > Can't you just split the constant to two hexadecimal (or alphanumeric) > values put after "dd"? Unfortunately, no. I have to use it with something like dq @@R0,@@R1,@@R2,@@R3 where the @@nn are labels (this is done to select the right jump at run time). I thought to use hexadecimal code to replace the mnemonic "dq" itself but 1) I don't know its code and 2) I am not even sure it would work.

There's no hexadecimal code for 'dq' (or any other d?) - this directive simply tells the assembler that the following constants shall be put directly into the code (instead of being compiled into some CPU instructions)...

I suggest that you add this issue as a request to our bug tracker so that it doesn't get forgotten (I believe that adding it shouldn't be a problem for somebody knowing the related part of FPC).

Tomas

mjm
to Tomas Hajny
Tomas Hajny wrote 12 lines
On Fri, June 6, 2008 17:19, mm wrote: > I thought to use hexadecimal code to replace the mnemonic "dq" itself > but 1) I don't know its code and 2) I am not even sure it would work. There's no hexadecimal code for 'dq' (or any other d?) - this directive simply tells the assembler that the following constants shall be put directly into the code (instead of being compiled into some CPU instructions)... I suggest that you add this issue as a request to our bug tracker so that it doesn't get forgotten (I believe that adding it shouldn't be a problem for somebody knowing the related part of FPC).

That's done.

mm
----
http://www.ellipsa.net/

mm
to Tomas Hajny: There's no hexadecimal code for 'dq' (or any other d?) - this directive simply tells the…
Tomas Hajny wrote 12 lines
On Fri, June 6, 2008 17:19, mm wrote: > I thought to use hexadecimal code to replace the mnemonic "dq" itself > but 1) I don't know its code and 2) I am not even sure it would work. There's no hexadecimal code for 'dq' (or any other d?) - this directive simply tells the assembler that the following constants shall be put directly into the code (instead of being compiled into some CPU instructions)... I suggest that you add this issue as a request to our bug tracker so that it doesn't get forgotten (I believe that adding it shouldn't be a problem for somebody knowing the related part of FPC).

That's done.

mm
----
http://www.ellipsa.net/