Assembly
Computer Organization and Assembly Languages, Fall 2009

Introduction

This course is about computer organization and assembly languages. You might wonder why learning assembly languages in a modern world. 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, in addition to the fundamentals about assembly programming, this course emphasizes on code optimization techniques on writing fast and small codes for specific architectures.


Recent updates

January 14, 2010Demo signup system is available. Demo date is 1/21 and room is 104.
December 21, 2009final project is assigned. Demo date is 1/21.
December 21, 2009assignment #4 is assigned. Due date is 1/4, before the class.
December 4, 2009Slides for Intel IA32 are online.
November 30, 2009Slides for ARM optimization are online.
November 23, 2009assignment #3 is assigned. Due date is 12/14, before the class.
November 16, 2009Slides for ARM are online.
November 3, 2009The submission system for projects is ready.
November 3, 2009Assignment #1's solutions and slides can be found here.
November 2, 2009If you prefer to use a console-mode TOY simulator, you can use the one written by Wei-Ning Huang.
October 26, 2009We will have a midterm exam on 11/9.
October 26, 2009Slides for advanced architectue are online.
October 26, 2009assignment #2 is assigned. Due date is 11/16, before the class.
September 28, 2009assignment #1 is assigned. Due date is 10/12, before the class.
September 28, 2009The class of 10/5 is cancelled because the lecturer is abroad for a conference.
September 28, 2009Slides for toy machine are online.
September 21, 2009Slides for lecture #2 is online.
September 14, 2009Slides for lecture #1 is online.
September 14, 2009 Subscribe via this website.
July 1, 2009This webpage is up.