Category:Assembler

Topics

 * GNU Assembler (Gas) employs the AT&T assembler syntax on x86 - includes a 'hello world' program
 * Assembler Function Calls
 * C Hello World Disassembled
 * C++ Classes Disassembled
 * The Netwide Assembler (NASM) - originally by Simon "PuTTY" Tatham - employs the Intel assembler syntax on x86
 * AT&T vs. Intel assembler syntax

Vim Disassembly Tip
Here's how to quickly see the assembler output of a C++ program in Vim vim something.cpp :set makeprg=g++\ -mpreferred-stack-boundary=2\ -S\ % │ └─ Define make program (preferred-stack-boundary option disables     stack alignment boilerplate code in assembler output) :make :vnew something.s :set autoread From this point on, you can see the assembler equivalent of your C++ code by running.

You can mark places in the code by writing something like this in your C++ code: asm("MarkedPlace:");