p86asm-ng: replacement educational psuedo-x86 assembler
This project was intended as a replacement asssembler for my SYSC2001 class at Carleton. The existing assembler for the psuedo-x86 machine was, well, fairly terrible (and included some wonderful bugs such as an improperly flushed linebuffer and other oddities) and, most importantly, was a Windows-only binary. To be fair, it ran under Wine on Linux Mint, but didn't support UNIX-style line endings, so that meant I had to run unix2dos on my asm file before running it through p86asm54 (the assembler we were given.) To that end, p86asm-ng was born.
The companion to this assembler, the Libra emulator, was conceived in an attempt to replace the teaching tools using in the introductory computer architecture class completely. To keep consistent names, this assembler was renamed lasm (Libra assembler). It still generates 8086-compatible instructions, but is packaged with Libra to form a comprehensive toolkit.
An up-to-date source tree for the assembler can be found on GitHub.