[fasm-help] Bad error
Brought to you by:
privalov
|
From: Fabio B. <biz...@li...> - 2002-08-06 16:50:40
|
Hi Tomasz,
I have symbols like this:
MOV P32
[SIGNAL.TYPE],.MSG.NOTMAPPED
.._IMPORT_SIGNAL_051 = $-8
MOV P32 [SIGNAL.CNT],ECX
.._IMPORT_SIGNAL_063 = $-4
When I have few tens of such symbols (differing only in the terminating
part), FAsm says:
---
flat assembler version 1.39
error: code cannot be generated.
---
After some experimenting, I found this even more weird fix:
MOV P32
[SIGNAL.TYPE],.MSG.NOTMAPPED
.._IMPORT_SIGNAL_051 = $-8
.._IMPORT_SIGNAL_051 = .._IMPORT_SIGNAL_051
MOV P32 [SIGNAL.CNT],ECX
.._IMPORT_SIGNAL_063 = $-4
.._IMPORT_SIGNAL_063 = .._IMPORT_SIGNAL_063
---
Q1: Will the above produce correct code at least?
Q2: Is there a real fix for this problem?
---
PS: I played a bit more and found the error: there's a limit ( = 100 ) in
the maximum number of passes of ASSEMBLE.INC. I increased it to 255
(because it's stored in a byte.. I didn't remove the limit check code
because the variable is referenced elsewhere, so it may not work anyway)
and reassembled the FAsm source.
Tomasz: it appears unnecessary to add passes for things like the above.. as
also proven by the fix of the extra "symbol = symbol" solution. Nor it
would be wise to limit the maximum number of *practically* usable symbols.
I can imagine that equ may require additional passes in such cases.. but
"=" should really not, in my understanding of how FAsm internally works.
Please don't limit FAsm in such ways.
Greets,
Fabio
|