It's should be 'y','a','r','P' like Masm does

No, it shouldn't. MASM is wrong. TASM is wrong in this aspect, too.

And it should be obvious why your macro doesn't work. Quotes are just quotes.
Posted on 2002-11-15 02:21:31 by Tomasz Grysztar


Nice work you're doing. What about inserting a SpAsm-alike .idata builder.

Api's would need to get defined as for example:

stdcall 'Kernel32.dll.Sleep' 1200

And all you'd have to do is parsing the file for Api's and create it on the fly when building.

Of course this eliminates some of the freedom but it increases also some of it's usability. And noone said this should be the default. Just add an option for it in the GUI version and there we go ;)


OMG, please dont say you like this SPASM crap?!
Posted on 2002-11-15 03:10:17 by bazik

And it should be obvious why your macro doesn't work.

I want to make the string varible from makestring macro

macro makestring name
local equ '#name#'
name db

makestring Prayut
the result is -> '#Prayut#'

How do I do?
Posted on 2002-11-15 06:15:57 by Bi_Dark
It's impossible to do it this way (at the preprocessor stage - where symbolic constants are processed, quotes are "invulnerable", you cannot change the contents of the quote in any way), only thing you can do is:

macro makestring name,str
name db '#',str,'#'

makestring Prayut,'Prayut'
Posted on 2002-11-15 06:43:11 by Tomasz Grysztar
please put a link to fasm doc on your download page.
Luckily, worked, but I was just guessing.
Posted on 2002-11-15 11:42:23 by Sergo

Oh, now I see. We shouldn't have been copying the "code:" label, only the instructions below. I've got the crash and fixed it then. That was a minor mistake when improving parser to be less strict. All releases are updated with this fix, no other important changes.
Apart of this, the 1.41 should be really the much less buggy than previous version because I've scanned it for syntax-related bugs (and fixed all) while writing the new documentation (which describes currently every possible syntax option, if some feature is not documented, it's probably a buf ;)).

Good work Privalov, and there is the following statement you should fix.

mov eax, ; -> OK Work

then split into:

mov eax, + ; -> Doesn't work, do a little arthmetic but it's actaully the same... why?
Posted on 2002-11-16 02:22:18 by Bi_Dark

it's not the same!

mov eax, ; -> OK Work

then split into:

mov eax, + ; -> Doesn't work, do a little arthmetic but it's actaully the
same... why?

for example:
taking eax = 04000
= 10

when you use is only one address like 'eax=040000' the value is in '' = '[080000]'.
when you use '+' you are adding value from the address in ''
like ' = 10' but 'eax = 040000'

then 'mov eax, = mov eax,[08000]' and 'mov + = mov eax,10 + 10' what is no allowed.

you could use this:

mov eax, ; put value 10 in eax
shl eax,1 ; multiple by 2 (eax+eax)


mov eax, ;same as above
add eax,

instead of 'mov eax, +'

Posted on 2002-11-16 06:35:05 by Despero
Hi Privalov.

I have another suggestion. I think you must insert one option in the FASM syntax. When using macroses it's a good idea to may separate arguments expressly with brackets or argument names. This will allow to use commas as macro arguments.

macro MyMacro x,y,z {
dw x
db y
db z

MyMacro $1234, ($20,$30,$40,$50), ('koko koko',$0d,$0a)

another way:

MyMacro x: $1234, y: $20,$30,$40,$50, z: 'koko koko',$0d,$0a

Yes, I know, there is another way to do this:

^ equ ,

MyMacro $1234,$20 ^ $30 ^ $40 ^ $50, 'koko koko' ^ $0d ^ $0a

But it is only workaround. It's not very readable and you must separate ^ with spaces before and after it.

Posted on 2002-11-17 22:24:20 by JohnFound
Fasm is the best assembler and the Win32 IDE is superb because of its simpleness!

Keep up the good work! (Very good work).

Posted on 2002-12-01 14:14:52 by president
The latest build (050) of fasmw has some important fixes removing memory leaks and improving the editor control refreshing algorithms (should be noticeable on slower machines). The built-in debugger project is still before the implementation stage, because I'm involved in other important works right now, please be patient. ;)
Posted on 2002-12-02 04:34:03 by Tomasz Grysztar
Hi Privalov!

Good work, your assembler is still getting better. Each release is as exciting as the previous one!
Keep on good working! I'll be patient, but I hope you get the time to start programming on the debugger soon... ;)

Take care! Regards!
Posted on 2002-12-02 07:49:35 by POW