Bitbucket is a code hosting site with unlimited public and private repositories. We're also free for small teams!

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

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

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

Recent activity


piorekf pushed 15 commits to piorekf/x86 Assembly

a8077d9 - rearranged slides; fixed formatting throughout; added hamster
8125a3e - renamed examples to more descriptive names; minor fixes to example code
5490880 - renumbered examples; added compiler/assembler/linker options to build 32-bit examples on multilib 64-bit linuxes
3e98a96 - improved indentation throughout; small corrections to code comments; simplified fetch-decode-execute figures
901f672 - fixed indentation; minor code clean up
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.