p50asm

A cross assembler for the Westinghouse Prodac-50 (P-50) computer

By Dave McGuire

p50asm runs on modern computers and generates executable code for the Westinghouse P-50, a 14-bit process control computer from 1964. The original Westinghouse assembler for this architecture, which was a cross-assembler that ran on Univac computers, has been lost.

Great pains have been taken to make p50asm compatible with the original Westinghouse assembler. This was made possible by the existence of several scanned listings that were generated by the original assembler. These contain not only the original programs' source code, but also their assembled output. The listing files were exhausively analyzed and p50asm was written to ingest the same input format and generate the same output format, matching as closely as possible.

p50asm output has not yet been tested on actual P-50 hardware, but it has been used successfully for P-50 software projects using our p50emu emulator.

p50asm builds and runs on recent Linux and MacOS X distributions. Download the source code using the button below.

Support files for emacs, vim and kate editors are included in the source distribution. These provide syntax highlighting and formatting assistance for writing p50asm code.

Be sure to also download the P-50 Quick Reference Card from this site. The reverse side of the card describes the input format and syntax for this assembler.

This package is at revision 1.0.