Syllabus and course info
Class links
- Instructions for setting up a local virtual machine (if you want an alternative to working on the FCCsci server)
- Intel vs. AT&T Syntax
Software needed/used
Except for PuTTY, all of these are already installed on the FCCSCI server. PuTTY, or another SSH client, is the only program you need to download onto your own computer.
- PuTTY (or other SSH client, needed to access server)
- YASM (assembler)
- GCC and tools (compiler and linker, other tools)
- GDB (debugger) with GDB Dashboard
- Emacs, Jmacs, Vim, Nano, Micro, etc. (editor)
FC/CSci resources
- Logging in to and using the FCCSCI Linux server
- Computer Science tutoring through the Academic Support Center
x86-64 Assembly Resources
- x86-64 Assembly Programming with Unbuntu (textbook)
- x64 Cheat Sheet (uses AT&T syntax)
- The complete official reference to the Intel IA-32 and 64 architectures
- x86-64 Machine-Level Programming (goes into the history of x86-64)
- x86 instruction reference
- System-V Unix ABI specification
-
Linux x86-64
syscall
reference - Programming with the x87 FPU (reference for x87 floating-point operations)