Skip to content

usman-pirzada/MASM32-Reminder-App

Repository files navigation

Reminder App (COAL Project)

A console-based Reminder Application written in x86 Assembly Language (MASM32) for the 3rd Semester Computer Organization and Assembly Language (COAL) course.

📝 Description

This project is a lightweight reminder tool that runs in the Windows console. It demonstrates low-level programming concepts including memory management, array manipulation, system time retrieval, and Windows API calls.

The application operates in two main modes:

  1. User Mode: Allows users to interactively add new reminders and view the list of upcoming reminders.
  2. Trigger Mode: Runs a background loop that continuously checks the system time against set reminders. When a match is found, it triggers a system alert (MessageBox).

✨ Features

  • Add Reminders: Set custom reminders with a Title, Date (DD-MM-YYYY), and Time (HH:MM).
  • View Reminders: Display a formatted list of all active reminders.
  • Background Alert System: A dedicated mode that monitors time and pops up a Windows Message Box when a reminder is due.
  • Sample Data: Pre-loaded with sample reminders for demonstration.
  • Input Validation: Basic validation for menu selection.

🛠️ Tech Stack

  • Language: x86 Assembly (MASM32)
  • Libraries: Irvine32.inc (for simplified I/O and standard library functions)
  • Platform: Windows (x86)

🚀 Setup & Usage

Prerequisites

  • Visual Studio (with C++ and MASM support) OR MASM32 SDK.
  • Irvine32 Library: Ensure the Irvine library is linked and configured in your project settings.

Quick Run

A pre-compiled executable is available in the repository for direct use on Windows:

Usage Instructions

  1. Main Menu: Choose "Main/User Mode" to manage reminders.
  2. Add Reminder: Enter the details as prompted.
    • Date Format: DD-MM-YYYY (e.g., 30-11-2025)
    • Time Format: HH:MM (e.g., 23:59)
  3. Trigger Mode: Select "Background Reminder Triggering Mode" from the main menu. The app will wait and alert you when a reminder time is reached.
    • Note: Press Ctrl+C to exit this mode.

👥 Team Members

📄 Course Info

  • Course: Computer Organization and Assembly Language (COAL)
  • Semester: 3rd Semester

About

COAL Project - 3rd Semester [BS(SE)]

Topics

Resources

Stars

Watchers

Forks

Contributors