CSCI 224: Assembly Language Programming

Course Agenda (Fall 2026)

ClassDateTopics covered in class
1Wed
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.
2Fri
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.
3Mon
9/7
No class (Labor day)
4Tue
9/8
Lab 1: Getting started with Keil μVision IDE
5Wed
9/9
Creating projects from template, CPU registers, input and output of strings and numbers.
6Fri
9/11
Indirect addressing, allocating arrays in ROM, computing array sum.
7Mon
9/14
Programming simple arithmetic, printing arrays, computing string length.
8Tue
9/15
Lab 2: Input/output and arithmetic
9Wed
9/16
Copying arrays from ROM to RAM, working with Keil debugger, Euclidean algorithm for computing the Greatest Common Divisor (GCD).
10Fri
9/18
Output of numbers in different bases.
11Mon
9/21
Implementation of the ReadInt function.
12Tue
9/22
Lab 3: Indirect addressing, indexing, and loops
13Wed
9/23
Functions design in assembly, passing parameters to functions in registers by value and by reference, returning values from functions.
14Fri
9/25
Printing arrays, programming and tracing the Bubble Sort algorithm.