Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon.

Pages: 1-4041-

Best X86 Assembler - FASM vs NASM vs MASM?

Name: Anonymous 2012-08-24 19:19

So I'm looking to learn x86 assembly and I wanted to know which assembler is the best.

I hear FASM is the fastest assembler, NASM is buggy, and MASM is Macro$hit so it is probably slow and integrated with .net

Name: Anonymous 2012-08-24 19:38

or gasm

(damn, it's gas)

Name: Anonymous 2012-08-24 19:54

The speed of assembling is not really important, after all, it's much faster than parsing SEPPLES. Give'em all a try and pick the one you liked more. I'd choose FASM for the excellent documentation and a nice notepad. If you're going to do some WinAPI, MASM would be better - it has more headers and a nice mini-IDE, although you'll have to download the whole Visual Studio 2012 to obtain latest ml.exe.

Name: Anonymous 2012-08-24 20:06

Just use TASM

Name: Anonymous 2012-08-24 20:15

GAS

Name: Anonymous 2012-08-24 21:01

RosAsm

Name: Anonymous 2012-08-24 21:16

NASM is by far the best assembler.

Name: Anonymous 2012-08-24 22:31

ORGASM

Name: Anonymous 2012-08-25 3:16

REDASM

An assembler for le redditors

Name: Anonymous 2012-08-25 8:25

nasm is the best

Name: Anonymous 2012-08-25 8:26

Nasm. C++ Inline Asm would be the best but the operands are always the wrong fukken way around!

Name: Anonymous 2012-08-25 9:52

MASM32 is the most advanced and mature one out there. You should use it unless you're writing your own OS (use FASM) or are stuck on Leenucks (use NASM).

Name: Anonymous 2012-08-25 21:15

>>2,5
enjoy your pig disgusting AT&T syntax

Name: Anonymous 2012-08-25 22:55

4 8 15 16 23 42

Name: Anonymous 2012-08-26 0:31

javascript v8

Name: Cudder !MhMRSATORI!fR8duoqGZdD/iE5 2012-08-26 4:14

>>11
There's an Intel syntax option for g++, except that you have to remember to set it back to AT&T at the end of the inline asm block because it really is a pass-through thing.

Little things like this are what prevent me from going to exclusively *nix development. The tools are there and powerful, but their implementation is often awkward. (See also: proliferation of incompatible UI libraries, huge chains of (versioned!) dependencies, no centrally managed configuration, etc.)

Name: Anonymous 2012-08-26 4:31

>>16
How do you pronounce ``g++''?
``Gepples''?

Name: Cudder !MhMRSATORI!FBeUS42x4uM+kgp 2012-08-26 4:33

>>17
gcc is pronounced 'gucci'.

Name: Anonymous 2012-08-26 4:40

GAS.
Also death to the AT&T syntax heretics.

Name: Anonymous 2012-08-26 4:44

Cudder is a sepplesfag.

Name: Cudder !MhMRSATORI!fR8duoqGZdD/iE5 2012-08-26 4:48

>>20
Actually I work with C and Asm more than C++.

Name: Anonymous 2012-08-26 10:00

>>20
Cudder is female.

Name: Anonymous 2012-08-26 10:01

>>16,18,21
What assembler do you prefer?

Name: Anonymous 2012-08-26 10:02

>>22
Really? That'd make my dick hard if I didn't have ED.

Name: Anonymous 2012-08-26 11:17

>I hear FASM is the fastest assembler
Lol'd. **Assember** is not a compiler, you faggot, your program gets into binary code "as is"

Name: Not Cudder !MhMRSATORI 2012-08-26 11:58

>>22
1. Cudder is not a female.
2. That's not the original Cudder.
% ./tripcode 1fXzap//
MhMRSATORI 1fXzap//

Newfags these days, I tell ya.

Name: Anonymous 2012-08-26 16:56

>>25
We're talking about how long the software takes to assemble

Name: Anonymous 2012-08-26 17:03

>>27
Buy a better CPU, you Lemote fagshit.

Name: Anonymous 2012-08-26 17:22

>>11,16
You can compile with -masm=intel.

Name: NIGGER !MhMRSATORI 2012-08-26 17:44

NIGGER THREADS

Name: Anonymous 2012-08-26 22:43

>>27
All the good assemblers take O(N) time to assemble.

>>24
Cudder is actually a man who chopped off his penis.

Name: Anonymous 2012-08-26 22:59

>>31
There aren't any good Intel assemblers.
IHBT

Name: Anonymous 2012-08-26 23:03

Name: >>32 2012-08-26 23:55

>>33
The register names are SP, AX, BX, CX, DX, BP, DI, and SI.
Opcode names are mostly the same as those listed in the Intel manual with an L, W, or B appended to identify 32-bit, 16-bit, and 8-bit operations.
There actually is a good, sane, logical Intel assembler?

Name: Anonymous 2012-08-27 3:03

nasm or fasm would be best to learn on. gas isn't really meant to be used independently of gcc these days, and the syntax differences, while small, will prove confusing to a beginner. Avoid masm at all costs - its macro ``syntax'' is gross even for the experienced; a novice will probably spend more time damaging their programs to accommodate the macros than they will actually learning to write for x86.

>>34
Sounds like gas to me.

Name: Anonymous 2012-08-27 3:48

try yasm, it has nasm syntax and is less buggy.

Name: Cudder !MhMRSATORI!fR8duoqGZdD/iE5 2012-08-27 6:23

>>23
RosAsm and fasm. Used to use TASM, MASM, and ASM386 (Intel's official assembler.)

>>26
http://rechan.eu.org/verify.txt

>>34
Make it even more confusing than gas by renaming all the registers, then append extra crap to the mnemonics in an attempt to fix the confusion? That's worse than gas. I don't want to know what they did with movzx/movsx.

>>35
You don't have to use macros with masm.

Name: Anonymous 2012-08-27 11:45

>>37
ax and eax aren't different registers. why call them by different names when it's actually the operation being performed on the register that's different? it makes much more sense to indicate the size on the opcode name than on the register name.

Name: Anonymous 2012-08-27 11:57

Name: Anonymous 2012-08-27 20:30

>>26
newfags
Back to the imageboards, please

Name: Anonymous 2012-08-27 23:45

>>37
>>38
Having one opcode per mnemonic is too simple and obvious. This is x86, clearly we must complicate things some more!

Name: Anonymous 2012-08-28 0:15

>>41
back to le imagereddits

Name: Cudder !MhMRSATORI!fR8duoqGZdD/iE5 2012-08-28 3:12

>>38
Doing it any other way than what is officially specified in the manufacturer's documentation just leads to confusion. It makes much LESS sense to need to append special suffices to mnenomics when different register names would easily make the assembler able to decide.

Maybe it makes sense for those RISCs where the registers don't have any other names and the official documentation also does it like that, but x86 isn't like that, so stop trying to make it look that way.

Name: Anonymous 2012-08-28 3:18

8a

Name: Anonymous 2012-08-28 14:22

x86 is shit. Buy a Lemote and join MIPS master race.

Name: Anonymous 2012-08-28 14:27

>>45
Shut the fuck up, you fucking retarded piece of shit.
RISC was never destined for anything other than Smartphones.

Name: Anonymous 2012-08-28 15:46

>>46
Freedom-hating faggot.

Name: Anonymous 2012-08-28 15:50

>>45
Fuck off, fagshit.

Name: Anonymous 2012-08-28 19:34

>>46
x86 wasn't destined for anything other than calculators and embedded terminals. Secure boot is perfect for x86. That way you'll never be afraid of your calculator giving you a wrong answer — unless it's a Pentium!

Name: Anonymous 2012-08-29 0:56

>>43
Well yes, the real problem is the manuals. (Am I the only one who distinctly prefers AMD's manuals to Intels?  Yes, I know the mnemonics in both are the same...)

I'm guessing that having 1:1 correspondence between mnemonics and opcodes would make the assembler's job simpler, but I've not written one myself.

Name: Cudder !MhMRSATORI!fR8duoqGZdD/iE5 2012-08-29 4:09

>>49
The first x86, the 8086, is 3 (or 4 if you count the 8085 as being separate from the 8080) families ahead of the 4004 and 8008 and quite different from them.

>>50
AMD is too secretive. Try finding the socket AM3 pinout for example. Intel lets you know what every single one of the 2011 pads on the latest CPUs are for. The quality of Intel's manuals (# of typos) went noticeably downhill when they switched to the "new" style of font/logo and probably new people, a few years ago. I still use the ones from P4 days.

I'm guessing that having 1:1 correspondence between mnemonics and opcodes would make the assembler's job simpler, but I've not written one myself.
It would, but at the expense of being able to write Asm easily.

Name: Anonymous 2012-08-30 6:21

>>51
AMD is too secretive. Try finding the socket AM3 pinout for example. Intel lets you know what every single one of the 2011 pads on the latest CPUs are for.

AMD seriously doesn't freely publish the pinout diagrams for its chips?  And I thought Intel set the industry standard for paranoia...

The quality of Intel's manuals (# of typos) went noticeably downhill when they switched to the "new" style of font/logo and probably new people, a few years ago.

You've not known hell until you've seen the ``manuals'' for their graphics controllers.  Holy fucking Christ on a crutch are they bad.  No idea whether AMD's are any better.

>> I'm guessing that having 1:1 correspondence between mnemonics and opcodes would make the assembler's job simpler, but I've not written one myself.
It would, but at the expense of being able to write Asm easily.

Unless your brain happens to work the same way as the assembler, of course. Being brought up on RISC first probably makes a difference for me.

Don't change these.
Name: Email:
Entire Thread Thread List