Greetings,

I was just curious as to where I can find any good Assembly Language compilers on the net or elsewhere.

Thanks in advance,

DeFrog777

Greetings,

I was just curious as to where I can find any good Assembly Language compilers on the net or elsewhere.

Thanks in advance,

DeFrog777

Did you try a Google Search??? ;)

Well, you didn't specify for what CPU/platform you need the assembler for [x86, MIPS, 68K, SPARC, ARM/XScale, PowerPC, etc -- DOS, Windows, Mac OS X, Linux, etc], so I will simply assume the most likely -- x86/Windows.

These days, almost ALL assemblers (and associated tools and even online books) are free [unless otherwise noted below] and have a sizable following of an active, helpful community. The following list is not exhaustive, but is what I consider to be the "good" Assembly Language Compilers and associated links.

- ASSEMBLERS -

MASM32
http://www.movsd.com

NASM: The Netwide Assembler
http://nasm.sourceforge.net

HLA: High Level Assembly Language
http://webster.cs.ucr.edu/AsmTools/HLA/index.html

FASM: The Flat Assembler
http://flatassembler.net/

GoAsm
http://www.godevtool.com/

A86 (DOS) [Free]/A386 (Windows) [Commercial]
http://eji.com/a86/

Or, you can Write Your Own!
http://webster.cs.ucr.edu/AsmTools/RollYourOwn/index.html

- DEBUGGERS/DIS-ASSEMBLERS -

There are many to choose from [see the sites above for links], but for x86/Windows, this is all you will ever need:

OllyDbg
http://home.t-online.de/home/Ollydbg/

- TUTORIALS/BOOKS -

Paul Carter (Multi-platform)
http://www.drpaulcarter.com/pcasm/

Jonathan Bartlett (Linux)
http://savannah.nongnu.org/projects/pgubook

Randall Hyde (Multi-platform)
http://www.ArtofAsm.com

- FORUMS {to chat with peers, get help} -

USENET

alt.comp.lang.assembler
alt.lang.asm
alt.os.assembly <<*popular* un-moderated>>
alt.os.development
comp.lang.asm.x86 <<*popular* moderated>>
comp.lang.ml
comp.software.extreme-programming

WEB-BASED

http://www.tek-tips.com/threadminder.cfm?pid=272
http://www.programmersheaven.com/c/MsgBoard/wwwboard.asp?Board=1
http://win32asm.cjb.net
http://www.masmforum.com/
http://board.flatassembler.net/

GROUP-BASED

http://groups.yahoo.com/group/aoaprogramming/
http://groups.yahoo.com/group/win32-nasm-users/
http://groups.yahoo.com/group/linux-nasm-users/
http://groups.yahoo.com/group/win32masm/

- MISC. STUFF -

http://www.cs.cornell.edu/talc/releases.html
http://retroforth.org/asmchart/
http://math.hws.edu/TMCM/java/index.html

- The Official FAQs -

http://www.faqs.org/faqs/assembly-language/x86/general/part1/index.html
http://www.faqs.org/faqs/assembly-language/x86/general/part2/index.html
http://www.faqs.org/faqs/assembly-language/x86/general/part3/index.html

- Other useful resources -

Intel Manuals and such
http://www.sandpile.org/

Ralph Brown's Interupt List
http://www-2.cs.cmu.edu/afs/cs.cmu.edu/user/ralf/pub/WWW/ralf-home.html

http://linuxassembly.org/ (Unix/Linux)
http://www.int80h.org/ (Unix/Linux)


Hope that helps!

Evenbit

CORRECTION

alt.comp.lang.assembler
alt.lang.asm <<*popular* un-moderated>>
alt.os.assembly
alt.os.development
comp.lang.asm.x86 <<*popular* moderated>>
comp.lang.ml
comp.software.extreme-programming

Thank you for that information, I have downloaded and installed the flat assembler and am trying to get that to work...

But on a separate note, how do you find out what type of processor your computer uses?

If anyone can provide me with invaluable information, I will be a very happy programmer :cheesy:

Thanks again,

DeFrog777

well generally most pcs use amd or intel. you don't need change your assembly code when coding in these machines (there are some exceptions i think, but main asm codes workes fine)

try running dxdiag, some basic cpu details are there....

Well in windows you can go to your computer properties and go to your device manager. In your device manger find the processor and right click and go to properties, and then go to details and that is where you can find out what type of processor you have. I think it is different in other machines. I think most newer models are x86's.

You really aren't ready for assembly if you don't know your computer architecture :(

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.