Hi!

Some Info about FASM:



Requirements:
DOS compatible operating system in real mode/Win32 compatible console/Linux, 80386 compatible processor, extended memory

Features:
8086-80486/Pentium/MMX/SSE/SSE2 instructions, 16-bit/32-bit code, macroinstructions,
code optimization, binary/MZ/PE/COFF output formats



Current Version is 1.39.

The Homepage of FASM is http://fasm.sf.net. You can find the assembler itself, some examples and a progammer editor for FASM there. Of course everything with source code!

FASM 1.40 is in development and will come along with a large documentation in PDF format, covering a wide range of topics... from generic assembly programming to the FASM features itself.

FASM is developed by Tomasz Grysztar, called "Privalov" on this forum and of course moderator of this section.

If you didn't try FASM yet, goto fasm.sf.net and get it!

Regards,
bAZiK

Posted on 2002-07-18 04:26:33 by bazik
:grin: You have relieved me. Thank you!
Posted on 2002-07-18 04:36:43 by Tomasz Grysztar
I moved some FASM threads here to bring a bit 'life' in this Forum ;)
Posted on 2002-07-18 05:54:50 by bazik
It would be nice to post here some of FASM's features/advantages compared to masm so one can quickly decide if it is interesting at all.
Posted on 2002-07-18 08:14:55 by japheth
Privalov, I am curious about the limitations designed into FASM. Stuff like maximum line length, labels supported, maximum object file size, etc... What do I have to do to break it? :tongue:
Posted on 2002-07-18 08:33:30 by bitRAKE
Everything (line length, number of labels, number of macro, data size) is limited only by your memory (so if you have 256 MB of RAM you can think of it as there were no limits), the only limitation is that label names can't have more than 255 characters each (but who needs such a long labels?).
Posted on 2002-07-18 09:26:56 by Tomasz Grysztar


cmp eax, 1
jne eax_is_not_one
cmp eax, 2
jne eax_is_even_not_two
cmp eax, 3
jne god_damn_wich_stupid_value_does_eax_have
cmp eax, 4
jne ok_i_give_up_eax_might_be_higher_than_4_but_its_hard_to_make_a_underscore_after_each_word

inc eax

eax_is_not_one:
eax_is_even_not_two:
god_damn_wich_stupid_value_does_eax_have:
ok_i_give_up_eax_might_be_higher_than_4_but_its_hard_to_make_a_underscore_after_each_word:

xor eax, eax
ret


:stupid:


> is limited only by your memory

Hmmm.... 1536 MB ram.... that's a long line of text


:tongue:
Posted on 2002-07-18 10:14:39 by bazik
quit showing off pingo :tongue:
Posted on 2002-07-18 12:32:02 by Hiroshimator
Have a bit fun with fasm:

first assemble the following code into another .asm file:


db 'dd 1'
repeat 40000h
db '+1'
end repeat
db 13,10

you will get about 500k source file consisting of one line ;)
Now you can assemble it, too. :)
Posted on 2002-07-19 01:51:52 by Tomasz Grysztar
:grin:


C:\temp\Fasm>type test.asm
db 'dd 1'
repeat 40000h
db '+1'
end repeat
db 13,10

C:\temp\Fasm>fasm test.asm test1.asm
flat assembler version 1.39
1 passes, 0.2 seconds, 524294 bytes.

C:\temp\Fasm>fasm test1.asm test2.asm
flat assembler version 1.39
1 passes, 0.1 seconds, 4 bytes.

C:\temp\Fasm>debug test2.asm
-d
1510:0100 01 00 04 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
1510:0110 00 00 00 00 00 00 00 00-00 00 00 00 34 00 FF 14 ............4...
1510:0120 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
1510:0130 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
1510:0140 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
1510:0150 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
1510:0160 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
1510:0170 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
-q
Posted on 2002-07-19 01:59:11 by bazik
Hey, it could be optimized!


db 'dd 1'
times 40000h db '+1'
db 13,10

:stupid:

Sorry for reviving such not-really-up-to-date thread, I'm just having fun... :grin:
Posted on 2002-10-30 16:53:45 by Tomasz Grysztar