2009 CS 301 - Assembly Language
|Meets MWF 3:30-4:30 PM
Room 106 Chapman Building
University of Alaska Fairbanks
3.0 Credits, Fall 2009
Prerequisite: CS 201 (Programming)
|Instructor: Dr. O. Lawlor|
Office: 201E Chapman
Office Hours: 11:15-noon TR (plus!)
- Overall course grades and Project 2 final draft comments are now posted on NetRun.
Thanks for a good semester, folks!
(GPU, multiprecision, multicore) is posted on NetRun,
and due at midnight on Monday, December 14.
- Project 2 rough draft code was due by midnight
Friday, December 4 on Blackboard.
- Project 1 final draft comments are now posted on NetRun.
(speed!) was posted on NetRun,
and due at midnight on Wednesday, November 18.
- Turn in your Project 1 final draft code on
Blackboard by midnight Monday, November 9.
(midterm & floats) was posted on NetRun,
and due at midnight on Wednesday, November 4.
- Project 1 rough draft comments, midterm, and course grades are now posted on NetRun.
- Project 1 rough draft code was due on
midnight Monday, October 26.
(function calls & the stack) was
posted on NetRun, and due at midnight on Wednesday, October 7.
(memory and loops) was
posted on NetRun, and due at midnight on Wednesday, September 30.
- HW3 (simple
posted on NetRun, and due at midnight on Wednesday, September 23.
- HW2 (machine
posted on NetRun, and due at midnight on Wednesday, September 16.
- HW1 (C++ and
bitwise operations) was
posted on NetRun, and due at midnight on Wednesday, September 9.
Nicely done, folks!
- The first class is this Friday, Sept 4, 3:30pm. Before class, get a NetRun account, then log in to NetRun, and HW1
should be listed at the bottom of the screen under CS 301 (Fall 2009). If you
don't get your password, or you can get it but don't see CS 301 or HW1
listed, please email me.
In particular, both "@uaf.edu" and "@alaska.edu" email addresses
work fine with NetRun, but it's easy for me to be using the wrong one
- Lecture Notes:
Course Review for the Final Exam
Virtual Method Table (vtable)
Bitwise Floating-Point Tricks
x86 "Flag" Bits
Writing non 64-bit x86 Assembly, Making Direct Syscalls
OpenMP: Simple Multicore Programming
Memory Cache and Performance
GPU & CPU Performance
Graphics Processing Units: GPUs
<xmmintrin.h>: SSE instructions from C++
Floating Point Performance
Classes, Structures, Padding, and Virtual Methods
Bits in Floating-Point Numbers
Midterm Review, and Floating-Point Numbers
Handy Code Snippets in Assembly
Review for the Midterm Exam
Floating-Point Numbers: Use, Precision, and Roundoff
Static Data: Global Variables and Constants
"Inline" Assembly: Mixing Assembly and C++
Call and Return Implementation, Tail Recursion
Recursion and Array Examples
Pointers, Pointer Arithmetic, and Messy Uncertain Death
Function Calls and other Flow Control in Assembly
Assembly Language (finally!)
Bytes, ASCII, Big and Little Endian Integers
Table-Driven Programming, and CPU Machine Code
Hex, Octal, and Negative Numbers
Digital Binary Computation with Fingers and Circuits
- NetRun is my
network-accessible program to compile and run code
from inside any web browser. You'll need to activate your account
and get a password from the NetRun Password Reset
page. You'll then be emailed a password so you can log in to
We'll be using this for all the homeworks, so get an account and try the system
out! Read the NetRun
Help. Do send me bug reports!
In particular, if the bottom of your NetRun
page is missing the following 301 stuff, send me an email!
- Course syllabus
which includes dates to remember, the grading policy, and a course outline.
- Dr. Hartman's 2003 CS301 page has a good set of links to reference documentation.
O. Lawlor, firstname.lastname@example.org
Up to: Class Site, CS, UAF