flat assembler
Message board for the users of flat assembler.

Index > Macroinstructions > Help with 'defined', please - 2

Author
Thread Post new topic Reply to topic
jbojarczuk



Joined: 21 Jun 2006
Posts: 27
jbojarczuk 18 Jan 2007, 17:36
I am sorry, but I am just not beeing able to use the screen for replying. IE6 keeps giving an error. Therefore, I will post the source code here.

Again, I would like to post properly, but I am not able to.


Description:
Download
Filename: Base.asm
Filesize: 21.97 KB
Downloaded: 297 Time(s)

Post 18 Jan 2007, 17:36
View user's profile Send private message Reply with quote
jbojarczuk



Joined: 21 Jun 2006
Posts: 27
jbojarczuk 18 Jan 2007, 17:49
By the way, console on the execution:

Code:
R:\Asm\AsmBaseLib2\Solution\Win32>c:fasm base.asm debug\base.obj
flat assembler  version 1.67.7  (361305 kilobytes memory)
Defining symbol as extrn
Offset para x:12
Not defined
Inicializando VirtualTable para JRBBase
InitVirtualTableLst JRBBase
base.asm [973]:
ClassEndCode
base.asm [866] ClassEndCode [1]:
                InitVirtualTable a_strClass
base.asm [200] InitVirtualTable [3]:
                InitVirtualTableLst a_strClass , t_astrList
base.asm [190] InitVirtualTableLst [6]:
                        a_strClass#_PVTABLE :
error: symbol already defined.
    
Post 18 Jan 2007, 17:49
View user's profile Send private message Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8356
Location: Kraków, Poland
Tomasz Grysztar 18 Jan 2007, 19:48
When the assembly process is interrupted by an error (like in the case above), the display from the last [partially] performed pass is dumped to output. The values from intermediate passes may not (and usually will not) reflect the true solution values, which can not get resolved in such case because of an error.

For more details see section 2.2.6 of the manual.
flat assembler manual, section 2.2.6 wrote:
Only the messages created with the display directive during the last performed pass get actually displayed. In case when the assembly has been stopped due to an error, these messages may reflect the predicted values that are not yet resolved correctly.
Post 18 Jan 2007, 19:48
View user's profile Send private message Visit poster's website Reply with quote
jbojarczuk



Joined: 21 Jun 2006
Posts: 27
jbojarczuk 19 Jan 2007, 13:25
Thanks a lot!!!!

I appreciate all of you guys' time.

Finally managed to understand and nail the problem...

I solved it with an additional label. I will be putting the solution here so that any other fasm user may use it further on (I know this is in the manual, but I just wasn't able to grasp it. I swear that I did read it).

Code:

if defined TESTE
    public TESTE
else
    if define GARBAGE
        extrn TESTE
    end if
end if
GARBAGE:
    
Post 19 Jan 2007, 13:25
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< 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-2024, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.