Completed as part of the Spring 2024 offering of CS:2630 Computer Organization at the University of Iowa.
Description
An assembly language implementation of a dynamic stack data structure using linked lists. The project implements memory management with MALLOC and FREE operations, along with exception handling for stack overflow and underflow conditions. This implementation serves as part of a larger stack comparison framework running on the Hawk emulator.
Features
- Dynamic Memory: Uses MALLOC for node creation during push operations and FREE for cleanup during pop operations
- Exception Handling: Implements stack overflow and underflow detection with STACKEXCEPT throws
- Object-Oriented Design: Follows a class-based structure with inheritance from a generic stack interface
- StackSMAL Assembly, Hawk Emulator
- Source[Link to source code]