CSCI 224: Assembly Language Programming
Course Agenda (Fall 2026)
| Class | Date | Topics covered in class |
|---|---|---|
| 1 | Wed 9/2 | Getting started: syllabus, grading policy, course outline, online services, submission of assignments, place of assembly language, binary representation of integer numbers, converting integers from decimal to binary and back. |
| 2 | Fri 9/4 | Binary representation of signed integer numbers, sign extention of numbers, the hexadecimal system, converting numbers between binary and hex, addition in binary system, representation of characters with ASCII codes, null-termitated strings, general structure of assembly code. |
| 3 | Mon 9/7 | No class (Labor day) |
| 4 | Tue 9/8 | Lab 1: Getting started with Keil μVision IDE |
| 5 | Wed 9/9 | Creating projects from template, CPU registers, input and output of strings and numbers. |
| 6 | Fri 9/11 | Indirect addressing, allocating arrays in ROM, computing array sum. |
| 7 | Mon 9/14 | Programming simple arithmetic, printing arrays, computing string length. |
| 8 | Tue 9/15 | Lab 2: Input/output and arithmetic |
| 9 | Wed 9/16 | Copying arrays from ROM to RAM, working with Keil debugger, Euclidean algorithm for computing the Greatest Common Divisor (GCD). |
| 10 | Fri 9/18 | Output of numbers in different bases. |
| 11 | Mon 9/21 | Implementation of the ReadInt function. |
| 12 | Tue 9/22 | Lab 3: Indirect addressing, indexing, and loops |
| 13 | Wed 9/23 | Functions design in assembly, passing parameters to functions in registers by value and by reference, returning values from functions. |
| 14 | Fri 9/25 | Printing arrays, programming and tracing the Bubble Sort algorithm. |