Assembly language > Assembly discussions

About addressing in x64

<< < (3/3)

themaster:
I made example project and wrote in it some of my problems. It assembles without errors if parameter -largeaddressaware:no setted. What should I change to assemble it with large addresses switched on?
Also, I can not use floating point instructions. I wrote it in comments of code. I will be very thankful if somebody has some ideas about it. Code is:

--- Code: --- ; another problem: I can not load '1' into math coprocessor register - solved.
finit

        fldz ; I should add it here. FPU stack is empty, so I can not add anything to empty register.

mov rax, 1
sub rsp, 28
push rax ; here '1' is at address [rsp]
fiadd dword ptr [rsp] ; but after here all registers of math coprocessor is still empty!
nop ; may be I forgot something?
nop

--- End code ---

Greenhorn:
Hi,

sorry for my late reply but I'm very busy in the moment...

I didn't took a look at your FPU code, sorry.

I took this line of code into the file:
mov rax, hInstance
As I expected, Ms link.exe is linking the file with no errors.

Maybe Pelle should take a look at it...

Pelle:
Well, I tried the project in check.zip with my installed v7.00 RC4 (X64) and I see no error at all...

Greenhorn:
Hi Pelle,

yes, that's right.
With Pelles C v7.00.350 (Win64) the code compiles and links fine without errors.
Even with the instruction mov rax, hInstance.  :)

In RC3 there was the error mentioned by the OP above.

So, everything works fine now...

Navigation

[0] Message Index

[*] Previous page

Go to full version