Tiny MASM x64 example that parses a time string like "12:30" or "1:30" and returns a packed 16-bit value:
AH= hourAL= minute
The goal is intentionally small: one MASM function + a C harness.
src/convert_time.asm-ConvertStrTimeToInt(const char* s)(MASM, x86-64)src/main.c- small test harnessscripts/build.ps1- local build + smoke test.github/workflows/release.yml- CI build (PRs / main pushes) + release on tagsdocs/WHY.md- "why this setup" with pointers to official docs
Prereq: Visual Studio (or "Build Tools for Visual Studio") with the Desktop development with C++ workload (so you have cl, link, and ml64).
- Open x64 Native Tools Command Prompt (or run the equivalent
vcvars64.bat). - From repo root:
scripts\build.cmdOutput:
build\timeparse.exe
- Every PR and push to
mainbuilds and runs the smoke test. - Pushing a tag like
v0.1.0additionally creates a GitHub Release and attaches:timeparse.exetimeparse.exe.sha256
See docs/WHY.md for the official doc links.