Jump to content

who is the best ASM compailer?

- - - - -

  • Please log in to reply
11 replies to this topic

#1
Cprogramming

Cprogramming

    Newbie

  • Members
  • PipPip
  • 14 posts
Hallo guys,
What is the best ASM compiler?
Can you give me a download link?
thanks. :)

#2
WingedPanther

WingedPanther

    A spammer's worst nightmare

  • Moderators
  • 16,831 posts
  • Location:Upstate, South Carolina
  • Programming Language:C, C++, PL/SQL, Delphi/Object Pascal, Pascal, Transact-SQL, Others
  • Learning:Java, C#, PHP, JavaScript, Lisp, Fortran, Haskell, Others
What is the best ASM compiler for what? If you're targeting a specific chip, it will generally be the ASM compiler for that chip. In addition, the best ASM compiler for Linux will generally not be the best ASM compiler for Windows or Mac.
Programming is a branch of mathematics.
My CodeCall Blog | My Personal Blog

#3
Cprogramming

Cprogramming

    Newbie

  • Members
  • PipPip
  • 14 posts
i need compiler for windows , intel..
im Newbie in asm so i dont know that the terms..
thanks

#4
WingedPanther

WingedPanther

    A spammer's worst nightmare

  • Moderators
  • 16,831 posts
  • Location:Upstate, South Carolina
  • Programming Language:C, C++, PL/SQL, Delphi/Object Pascal, Pascal, Transact-SQL, Others
  • Learning:Java, C#, PHP, JavaScript, Lisp, Fortran, Haskell, Others
If you're looking for free ones, there are a few listed here: Free Assembler Programming, Freebyte's Guide to

The other issue, of course, is how do you define "best". For some, it has to be free, others will spend hundreds.
Programming is a branch of mathematics.
My CodeCall Blog | My Personal Blog

#5
Gunner

Gunner

    Learning Programmer

  • Members
  • PipPipPip
  • 45 posts
Well, we don't use compilers in Assembly... we use Assemblers and Linkers :-) As for which is the best for a newbie like yourself? Only you will be able to answer that. Years ago I downloaded a few different Assemblers and tried them all and picked the one that I was the easiest for me. At that time it was MASM, more specifically the MASM32 package from Hutch.. It contains all the MASM tools, include files, libs, prebuilt libraries of many functions to get you going with source. Nowadays NASM and FASM are good choices. But, once you learn one, it isn't too hard to change to another windows Assembler...

#6
NewProgrammer

NewProgrammer

    Newbie

  • Members
  • PipPip
  • 20 posts
Nasm is good.

#7
fayyazlodhi

fayyazlodhi

    Programming Expert

  • Members
  • PipPipPipPipPipPip
  • 402 posts
NASM is used at various academic institutes for teaching assembly as well. So that counts a plus towards it being free as well.

Other than that, every C/C++ compiler comes with an assembler because C/C++ code is translated into native assembly before generating final exe.

So you might use


__asm {


}


block in c and write assembly in it.

I wrote a tutorial though on a little advanced topic using VS doing that. I just thought you might already have a c/c++ compiler at your disposal so it takes lesser time to start using it for assembly.
http://forum.codecal...c-assembly.html
Today is the first day of the rest of my life

#8
RhetoricalRuvim

RhetoricalRuvim

    JavaScript Programmer

  • Members
  • PipPipPipPipPipPipPipPip
  • 1,252 posts
  • Location:C:\Countries\US
I don't really like inline assembly, but for the '__asm' syntax, isn't it supposed to be that?:
asm { 


} 
Or do both ways work?

#9
fayyazlodhi

fayyazlodhi

    Programming Expert

  • Members
  • PipPipPipPipPipPip
  • 402 posts
It works both ways though i think on certain compilers it is not the case. Also for e.g. if the keyword asm conflicts (if you have defined a variable with this name), then underscores are handly.

Also any of braces {} or () can be used too.
Today is the first day of the rest of my life

#10
dargueta

dargueta

    Writes binary right handed and hex left handed

  • Moderators
  • 4,705 posts
  • Programming Language:C, Java, C++, PHP, Python, Perl, Assembly, Bash, Others
  • Learning:JavaScript
For future reference, before you ask questions like this, take a look at the "Assembly Language Resources" sticky thread.
sudo rm -rf /

#11
jakash3

jakash3

    Newbie

  • Members
  • PipPip
  • 21 posts
For x86 Intel On Windows and DOS, I prefer FASM (Flat Assembler). Pretty easy to use and get tha hang of. It even comes with a simple text editor with a button to automatically assemble. Here's your first Win32 console app:
format PE console
entry main
include 'macro/import32.inc'

section '.text' code readable executable
main:
push msg1
call [puts]
call [getchar]
mov eax,0
ret

section '.data' data readable writable
msg1 db 'hello world!',0

section '.idata' import data readable
library msvcrt,'msvcrt.dll'
import msvcrt,\
puts,'puts',\
getchar,'getchar'
Here's a simple com file:
org 100h
mov ah,09h
mov dx,msg1
int 21h
int 20h
msg1 db 'hello world!$'

Posted Image
Posted Image

#12
dargueta

dargueta

    Writes binary right handed and hex left handed

  • Moderators
  • 4,705 posts
  • Programming Language:C, Java, C++, PHP, Python, Perl, Assembly, Bash, Others
  • Learning:JavaScript
I personally prefer NASM, which is really straightforward, platform-independent, has native support for structs (apparently not that common) and has a really powerful macro preprocessor that allows you to dramatically decrease programming time. It's free, too!

(Not to toot my own horn, but I've written a [so far] ten-part intro to 32-bit assembly language using NASM.)
sudo rm -rf /




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users