This repository contains the code and lab reports for ECSE 324 at McGill University for Fall 2021. For these labs, we used ARM assembly and they were conducted using a simulated ARM processor on a simulated Altera DE1-SoC single board computer.
Lab 1 - Introduction to Recursion and Subroutines: This lab consisted of computing the n-th number of the Fibonacci sequence using recursion, a 2-D convolution algorithm and bubble sort using nested for loops.
Lab 2 - I/O and Timers: The lab involved writing drivers for the slider switches, pushbuttons, LEDs, 7-Segment (HEX) displays and timers. We then created a stopwatch using both polling and interrupts.
Lab 3 - Tic-Tac-Toe: For this lab, we wrote drivers for the VGA display and the PS/2 input port for keyboard input. We then use these to make a tic-tac-toe game on the VGA display which accepts input from the keyboard.