Which compiler do you think i should get? I nwant a good compiler with documentation if possible. thanks in advance
Posted on 2004-08-17 10:22:00 by patriziacharms993
What type of documentation you whant? and stricly talking they are not compilers.


I comment in the order that you put (what I know):

FASM: pheraphs dosent have much documentation, but has a board, and the sources in asm are provided.

GoASM: No experience with it, but Jeremy have tutorials and explanations on his site, no source provided.

MASM32: The "kit" (??) of hutch for let you use masm more easy to write win applications, be sure you understand what mean the control structs provided (dont missunderstood hll with structured programming is a big fail that ;)).


Others:
NASM(W) is the one that I use ;), because I like it, with a little community pheraphs?, source in C provided.
YASM first thinked for the rewrite of NASM, now I think have more far expectatives, source in C provided with a OO design (I listen that comment some where).
Lazy Assembler (LZASM), dont know.
Wasm dont know
RosAsm, dont know much, but I think rene have some good points time to time.
HLA what can I say?

Make a choise.
Posted on 2004-08-17 10:56:25 by rea
thanks!
+
ok i wouldn't die if my compiler doesn't have a documentation but it's just something good to have :)

>and the sources in asm are provided.
>source in C provided
the sources for what?

The "kit" (??) of hutch for let you use masm more easy to write win applications, be sure you understand what mean the control structs provided

i don't understand :( how is this compiler different from the others?
Posted on 2004-08-17 11:44:58 by patriziacharms993

the sources for what?

The source code for the assembler.

MASM: commercial (although you can get it for free - there's some potential license issues though, especially if you want to move on to other OSes). Not supported any longer by MicroSoft. Not updated frequently, has a couple of odd quirks.

MASM32: hutch--'s package including the MASM assembler, some tools, and win32 include files and libraries.

NASM: development activity seems pretty low now? Runs on just about any platform that has a C compiler, like linux.

FASM: still under frequent development, fast, runs on win32, linux, ... actively supported by Privalov. Pretty "close to the metal".

GoASM: good unicode support, interesting way of handling libraries.
Posted on 2004-08-17 12:01:25 by f0dder
Is not diferent, only masm is a macro assembler, mean that you can use macros that in the more easy way is replace the name of the macro with the text that define the macro and the arguments that you pass to the macro, and the functionality of an assembler.

masm32: masm, the linker, editor, lib (library), include files, examples, other tools that I dont know. Is for that that I call it kit, because is not only the assembler.

For example for nasm you have other options (that you need know) because is only the assembler, install LCC, search for a tut on how to use the linker for link against is lib files, or go in the NAGOA way, that is the more near to a kit that help you like the masm32 help to masm.


The sources are the sources of the assembler, mean that you can compile in the case of .c files, and you can assemble in case of .asm files, for get your own build, or at least take a look how the assembler is done.


Have a niec day or night.
Posted on 2004-08-17 12:13:30 by rea
> The source code for the assembler.

you mean it's linux where you can get the code of the OS?

>MASM32: hutch--'s package including the MASM assembler, some tools, and win32 include files and libraries.
MASM32 only lets you use the functions from the API? Then how are you going to work with the other compilers?
Posted on 2004-08-17 12:15:11 by patriziacharms993
No, mean that the source code is public, not implicate only linux or GPL.

The direct suport is for the win32 API.

You interact with other libs via the linker that you are using and some indications in the source file (imports.. by the way the imports of the winapi are done in the include files), if the compiler of the other language output a intermediate format that is readable by the linker, then you can link them with your files. A thing to note is the calling convention that is used in the language of the library, and the naming convention. With C output is more easy interact, with other languages is more dificult.
Posted on 2004-08-17 13:14:14 by rea
ok thaks.. i think i understand.. but i am not sure
Posted on 2004-08-17 13:42:33 by patriziacharms993
I suggest MASM32 simply because it has the shortest learning curve. the others are very powerful assemblers for sure.
Posted on 2004-08-17 19:43:18 by x86asm
you guys forgot about the ever-so robust and versatile TASM. code flexibility, less restrictions, and is still somewhat supported by Borland (new releases of it are packaged along with BCC55). great for low-level stuff, great support for win32 as well. and if you think MASM-compatiable syntax doesnt make sense, or are having namespace problems, you can always switch IDEAL mode. surprisingly, TASM also has complete native oop support (i caught sight of it in the manual somewhere, it's buried now...).

otherwise i'm used to using NASM. multi-platformed, WYSIWYG, elegant syntax. worth a try.

anyways, for somebody to begin with, as much as i'm biased, try MASM32. it's good karma...sorta.
Posted on 2004-08-17 22:22:51 by Drocon
>great for low-level stuff
:confused: aren't all the assemblers great for low level stuff? How can all those compilers for one language be so different..
Posted on 2004-08-18 03:03:43 by patriziacharms993
ah i just downloaded and installed MASM32 but i don't know how to use it. Can anyone tell me in 2 lines how i compile my code and what's the difference between "Compile Resource File" and "Assemble ASM File" in the "Project" menu? I tried them but i had to save my file and it doesn't even give me the extensions.
Posted on 2004-08-18 04:12:57 by patriziacharms993
hgb,

About LzAsm:

LZASM is an x86 assembler for DOS and Windows that handles the TASM (Turbo Assembler) IDEAL mode and produces OMF OBJ files. Support MMX, SSE, SSE2, SSE3 (PNI), 3DNow!Pro instructions.


LzAsm is a free assembler which can be downloaded from:
http://lzasm.hotbox.ru
Posted on 2004-08-18 04:51:02 by Vortex
How can all those compilers for one language be so different


Interesting question, different points of view ;).. "In this world where nothing is true and nothing is lie, all depends with the lens that you watch"

masm, tasm are compatible with the Intel sintaxis.
nasm and others have a no compatible Intel sintaxis, but pheraphs is floating a nice name(I think) for the other syntaxis: mnemonic sintaxis.
Others assemblers have a diferent point of view.

The majority of asm coders are used to Intel sintaxis, but I dislike that sintaxix, I fairly prefer use an assembler with some similar to mnemonic sintaxis. And because Intel sintaxis is used in masm and tasm is a little hard get rid of it. ;).

----------------------------------
A resource file is other add of win, a resource can be a dialog, a menu, a file, you should look pheraphs at GoAsm site for info on resource files and what they are.

You only need the assemble file and run buttons, open a project, with masm there are distributed someones, then click build project and run it. You should get the izc tuts, or follow a C book on windows for translate them to asm, also take a look at the sections of algorithms and use the search button ;). Good look in your learning.
Posted on 2004-08-18 06:37:49 by rea
ok thank you.. the files i create should be .asm right?

>A resource file is other add of win, a resource can be a dialog, a menu, a file

then if i am going to program in console i won't need them right?
Posted on 2004-08-18 06:42:19 by patriziacharms993
for both yes
Posted on 2004-08-18 06:56:27 by rea
ok thank you!
Posted on 2004-08-18 07:15:41 by patriziacharms993
How could the learning curve for Masm be shorter?
Actually you need to learn and use an assembler, a linker, a resource compiler in order to build a single exe.
With Fasm you get all of this in a single step. Straightforward :alright:

bron,
some other interesting points on this thread:
http://board.flatassembler.net/viewtopic.php?t=1771
Posted on 2004-08-18 16:04:25 by pelaillo
ok thank you! i will download FASM assembler too! But i still don't see how assemblers whose only job is to translate words to bytes can be so different between each other..
Posted on 2004-08-18 16:26:11 by patriziacharms993

ok thank you! i will download FASM assembler too! But i still don't see how assemblers whose only job is to translate words to bytes can be so different between each other..


While that may be the core function of the assembler, asm programmers usually want an assembler that does a lot more like support for structures and hll control structures etc.
Posted on 2004-08-18 17:20:43 by Odyssey