Assembly language > Assembly discussions

About addressing in x64

<< < (2/3) > >>

Greenhorn:

--- Quote from: CommonTater on June 21, 2012, 09:00:34 PM ---64 bit aps suffer no such limitation ...

--- End quote ---
Yes, unless you specify /LARGEADDRESSAWARE:NO ...

http://msdn.microsoft.com/en-us/library/aa384271%28VS.85%29.aspx

CommonTater:

--- Quote from: Greenhorn on June 21, 2012, 10:33:24 PM ---
--- Quote from: CommonTater on June 21, 2012, 09:00:34 PM ---64 bit aps suffer no such limitation ...

--- End quote ---
Yes, unless you specify /LARGEADDRESSAWARE:NO ...

http://msdn.microsoft.com/en-us/library/aa384271%28VS.85%29.aspx

--- End quote ---

Strange... Live and learn, I guess... thanks for the link.

themaster:

--- Quote from: Greenhorn on June 21, 2012, 04:50:06 PM ---I don't know if it is the best solution, but you can do it like this:
lea rcx, hInstance
mov rcx, qword ptr [rcx]

--- End quote ---
Just tested. Instruction

--- Code: ---lea rcx, hInstance

--- End code ---
also is cause of linker's clause, "Relocation type ADDR32 is invalid without /LARGEADDRESSAWARE:NO, for symbol...".
May be I should write some another form of this instruction? Or I can change other linker's parameters?
What is interesting: I wrote the same "hello world" application by C and read disassembly. There is another string and no linker clause:

--- Code: ---lea rcx, [hInstance]

--- End code ---
Square brackets added. But in assembler file clause presents, at both variants, with brackets and without them.

Greenhorn:
Maybe it is more helpful if you could post the whole ASM code and the console output ...
Or better attach the whole project files.

Greenhorn:

--- Quote from: CommonTater on June 21, 2012, 10:57:54 PM ---Strange... Live and learn, I guess...
--- End quote ---
This comes daily in my mind, too...  :D

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version