Pascal extensions for describing computer instruction sets

This article presents extensions to standard Pascal that make it suitable for describing and simulating computer instruction sets. These extensions are employed for pedagogical purposes in a textbook, Microcomputer Architecture and Programming by John F. Wakerly [Wiley, 1981], and this article is adapted from Appendix B of the textbook. Although the proposed extensions have not been incorporated into an actual Pascal compiler, they have been designed with an eventual implementation in mind. An extended Pascal compiler would allow the language to be used for instruction set simulation as well as description. Extended Pascal provides no more power or functionality than existing hardware description languages, such as ISPS ["An Introduction to ISPS," by Mario Barbacci, Tech. Rpt. CMU-CS-78-137, Carnegie-Mellon University; also in Computer Engineering by Bell, Mudge, and McNamara, Digital Press, 1978]. However, because it is an extension of Pascal, the language is a very convenient pedagogical tool. For students who already have a knowledge of Pascal, the additional effort required to learn the extensions is much less than that required to learn a completely different hardware description language. The rest of this article describes the proposed extensions and ends with an extended-Pascal description of the PDP-8 based on Barbacci's ISPS description of the same machine in the above-mentioned report.