flat assembler
Message board for the users of flat assembler.

Index > Compiler Internals > Large address aware

Goto page Previous  1, 2
Author
Thread Post new topic Reply to topic
rugxulo



Joined: 09 Aug 2005
Posts: 2341
Location: Usono (aka, USA)
rugxulo
flatter?
bigflat?
huge_momma_flatso?

(Okay, maybe not the last one.) Wink
Post 24 Feb 2009, 07:46
View user's profile Send private message Visit poster's website Reply with quote
roxaz



Joined: 27 Jul 2008
Posts: 25
roxaz
should this code generate "Error 1 error LNK2017: 'ADDR32' relocation to '.data' invalid without /LARGEADDRESSAWARE:NO"?

format MS64 COFF
include '%fasminc%\win64a.inc'

section '.data' data readable writeable

crc32_table \
dq 000000000h,077073096h,0EE0E612Ch,0990951BAh,0076DC419h,0706AF48Fh,0E963A535h,09E6495A3h

section '.text' code readable executable

proc _crc32
xor rdx, rdx
xor rax, [crc32_table+rdx*8]
ret
endp
Code:

xor     rax, [crc32_table+rdx*8] is what causes error, however it looks perfectly healthy line to me..    
Post 16 Aug 2009, 15:13
View user's profile Send private message Reply with quote
Azu



Joined: 16 Dec 2008
Posts: 1160
Azu
revolution wrote:
Nobody needs to compare addresses like that. Windows still allocates memory at 0x7FFxxxxx for itself so it is not like you get a contiguous block of RAM to use that straddles the boundary to 0x80000000. You have to allocate separate regions to be able to use the high RAM. Doing an address comparison across different regions would not really make sense.
Windows might do this.. but what about other OSs?
Post 19 Aug 2009, 10:03
View user's profile Send private message Send e-mail AIM Address Yahoo Messenger MSN Messenger ICQ Number Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 7725
Location: Kraków, Poland
Tomasz Grysztar
1.69.23 has this flag implemented as "large" keyword. Use it like:
Code:
format PE GUI 4.0 large    
or
Code:
format PE large GUI 4.0    
Post 12 Sep 2010, 09:16
View user's profile Send private message Visit poster's website Reply with quote
f0dder



Joined: 19 Feb 2004
Posts: 3170
Location: Denmark
f0dder
Tomasz Grysztar wrote:
revolution wrote:
If you boot in 3GB mode then the flag is used, if you boot normally then the flag is ignored.

The flag appears also to be used in WoW64 - well, it seemed quite obvious.
And in WoW64 your application may actually get to use the whole 4 GB space, not only 3 GB.
Indeed it can Smile - see http://blogs.technet.com/b/markrussinovich/archive/2008/11/17/3155406.aspx .

_________________
Image - carpe noctem
Post 12 Sep 2010, 10:41
View user's profile Send private message Visit poster's website Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  
Goto page Previous  1, 2

< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2020, Tomasz Grysztar. Also on YouTube, Twitter.

Website powered by rwasa.