CSCI 324: Assembly Language Programming

Tentative Course Outline

Topics  Reading  Assignments  Labs
Getting started 


online
notes
    Lab 1
Basic Concepts  Chapter 1

1.1
1.2
1.3
online
notes
   
IA-32 Processor Architecture
  • General concepts
  • IA-32 processor architecture
  • IA-32 memory management
  • Components of an IA-32 microcomputer
  • Input/Output system
  Chapter 2

2.1
2.2
2.3
2.4
2.5
   
Assembly Language Fundamentals  Chapter 3

3.1
3.3
3.4
3.5
    Lab 2
Data Transfers and Arithmetic  Chapter 4

4.1
4.2
4.3
4.4
4.5
  Assignment 1  
Procedures  Chapter 5

5.2
5.3
5.4
5.5
    Lab 3
Conditional Processing  Chapter 6


6.2
6.3
6.4
  Assignment 2   Lab 4
Integer Arithmetic  Chapter 7

7.2
7.3
7.4
   
Procedures and Functions
  • Passing parameters
    • ... by value and by reference
    • ... in global variables
    • ... in registers
    • ... on the stack
    • ... in the code stream
  • Function results
  • Recursion
  • Programs designed in class
  Chapter 8








8.3
  Assignment 3


Assignment 4
  Lab 5


Lab 6
***** Midterm Exam I *****   Wed, Mar 7
Win32 Console Programming  Chapter 11

online
notes
8.5
11.1.3
11.1.4
10.1.1-5
11.1.6-8
11.1.9
  Assignment 5   Lab 7
Win32 Graphical Windows Applications  Chapter 11

11.2.1
11.2.2
11.2.3-5

online
notes
    Lab 8
32-bit Linux Assembler Programming 

online
notes


17.2
  Assignment 6

Assignment 7
  Lab 9



Lab 10



Lab 11
***** Midterm Exam II *****   Mon, Apr 23
16-bit MS-DOS Assembler Programming  Chapter 13

13.1
13.2
16.2
    Lab 12
BIOS-level Programming  Chapter 15

15.1
15.2
15.3


15.6

9.2
  Assignment 8   Lab 13
Elements of Computer Graphics 


online
notes
    Lab 14
Interrupt Handling  Chapter 16     Lab 15
***** Final Exam *****   Fri, May 18,   noon - 2pm in SW1017