Case study, Systems · Assembly
A real-time digital clock and stopwatch in x86 Assembly — a 7-segment ASCII display, live date, 12/24-hour toggle and a millisecond-precision stopwatch, all driven by a keyboard state machine.
Context
A console clock is easy to fake and hard to make feel alive. This one renders huge 7-segment digits from ASCII blocks, keeps real system time via the Win32 API, and switches between clock, stopwatch and about screens without flicker.
My role: COAL semester project (solo), Air University Kamra.
Implementation
Each digit is a 7-segment figure drawn from # blocks by dedicated SegA–SegG procedures, with a colon separator between pairs.
A state machine (currentMode) dispatches input and rendering between clock, stopwatch and about screens.
A +12-hour wrap-around compensates for Wine’s broken AM-only time reporting, and a needsClear flag defers screen clears to mode changes.
Evidence
The points below summarize the public repository and owner-provided CV where noted. Read the source for implementation details before drawing further conclusions.
Single Project.asm file, 14 procedures.
Live clock updates via GetLocalTime.
Boundaries