x86 Assembly Primer for C Programmers
Assembly C Shell
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
examples
figures
.gitignore
LICENSE added license of glibc snippet Mar 25, 2012
Makefile added pygments objdump lexer modifications diff; compiled new apfcp w… Mar 25, 2012
README
apfcp.pdf
apfcp.tex
pygments_objdump_mods.diff

README

x86 Assembly Primer for C Programmers
Ivan Sergeev
Date: Jan 22 07:00pm - 09:00pm, Jan 24 07:00pm - 09:00pm in 4-231

A solid grasp of assembly language makes you a better programmer. Understanding
assembly gives you:
* insight into the true cost of high-level language operations (is modulus %
  cheap? when is it and when is it not?)
* a keen understanding of how program memory is managed and manipulated
* ability to debug at the lowest level, which means you can catch the subtlest
  of bugs
* ability to utilize processor-specific instructions that squeeze the most out
  of every clock cycle and available processor features
* the appreciation of time / space advantages that different compiler
  optimization settings can yield
* a fluency with low-level detail that makes it easy to pick up new computer
  architectures

Come to the x86 Assembly Primer and get a full introduction into x86 assembly
language, program memory, stack frames, system calls, the role of libc, some of
the convoluted nuances of x86, the x86-64 architecture, and some comparisons to
other architectures. Enhance your quest in becoming a systems programming ninja
here!

Platform: strictly x86-32 GNU/Linux, gcc toolchain.
Assembly Syntax: AT&T/GAS.
Prereqs: Intermediate C