Assembly
Computer Organization and Assembly Languages, Fall 2006

Introduction

This course is about computer organization and assembly languages, specifically for Intel architectures. You might wonder why learning assembly languages. After all, who will write assembly programs these days. Actually, people still write assembly for faster codes (compiler is not as smart as men yet), smaller codes (for devices with limited amount of memory such as mobile devices) and specific architectures (in which there are not even compilers, for example, early GPUs). With these in mind, other than the fundamentals about assembly programming, this course emphasizes on code optimization techniques on writing fast and small codes for specific architectures, here, Intel architectures.


Recent updates

January 8, 2007 Lectures #14 is posted.
December 25, 2006 Final project is announced.
December 25, 2006 Lectures #13 is posted.
December 19, 2006 Homework #5 is updated.
December 18, 2006 Lectures #12 is posted.
December 11, 2006 Homework #5 is posted.
December 10, 2006 Lectures #11 is posted.
December 4, 2006 statistis for midterm is posted.
December 4, 2006 Lectures #10 is posted.
November 27, 2006 Homework #4 is posted.
November 27, 2006 Lectures #9 is posted.
November 13, 2006 Lectures #8 is posted.
November 7, 2006 Homework #3 is posted.
November 6, 2006 Solution and statistics of Homework #1 is posted.
November 6, 2006 Lectures #7 is posted.
October 30, 2006 Midterm exam will be held in room 103 from 10am-12pm on 11/20.
October 30, 2006 Tutorial on writtng MASM using MSVC++ 2005 Express is posted.
October 30, 2006 Lectures #6 is posted.
October 25, 2006 toyasm is updated.
October 23, 2006 Lectures #5 is posted.
October 23, 2006 Homework #2 is posted.
October 2, 2006 Homework #1 is posted.
September 25, 2006 Lectures #2, #3, #4 are posted.
September 18, 2006 Subscribe via this website.
September 18, 2006 Lecture #1 is posted.
May 26, 2006This webpage is up.