Programmiersprachen und Programmentwicklung pp 177-190 | Cite as
A Formal Model of Instruction Set Semantics
- 31 Downloads
Abstract
In order to automate compiler construction beyond semantic analysis, it is necessary to have a formal framework wherein the properties of the target machine may be expressed precisely, such that they become amenable to automatic treatment. We present a formal model of instruction sets that defines a precise semantics to the concepts encountered on the machine code level: register and storage structure, addressing modes and side effects, instructions, flag settings and so on. We give a number of examples to illustrate how the model can serve in the automatic generation of target machine dependent compiler parts.
Preview
Unable to display preview. Download preview PDF.
References
- BeN7H C.G. Bell, A. Newell: Computer Structures: Readings and Examples, McGraw-Hill, 1971Google Scholar
- [Cat78]R.G.G. Cattell: Formalization and Automatic Derivation of Code Generators, Report CMU-CS-78-115, Carnegie Mellon University, Pittsburgh 1978Google Scholar
- [CoC791.P. Cousot, R. Cousot: Systematic Design of Program Analysis Frameworks, Proceedings of 6th ACM Symposium on Principles of Programming Languages, 1979, pp. 269–282Google Scholar
- [Gan80]H. Ganzinger: Some Principles for the Development of Compiler Descriptions from Denotational Language Definitions, TUM-INFO 8006, Institut für Informatik, Technical University Munich, 1980Google Scholar
- Gie81] R. Giegerich: Automatische Erzeugung von Maschinencode-Optimierern, TUM-I8112, Institut für Informatik, Technical University Munich, 1981 (an English summary appears in [Gie82])Google Scholar
- [Gie82]R. Giegerich: Automatic Generation of Machine Specific Code Optimizers, Proceedings of 9th ACM Symposium on Principles of Programming Languages, 1982Google Scholar
- [Gla78]R.S. Glanville: A Machine Independent Algorithm for Code Generation and its Use in Retargetable Compilers, Technical report UCB-CS-78-01, University of California, Berkeley 1978Google Scholar
- [Gnp80]M. Ganapathi: Retargetable Code Generation and Optimization Using Attribute Grammars, Computer sciences technical report #406, University of Wisconsin, Madison, 1980Google Scholar
- Hil80] W. Hilf, Motorola Munich, private communicationGoogle Scholar
- [McK65]W.M. McKeeman: Peephole Optimization, CACM 8,7, 1965, pp. 443–444Google Scholar
- [Mot791]Motorola Inc.: MC68000 16 Bit Microprocessor, User Manual, 1979Google Scholar
- [PQC80]B.W. Leverett, R.G.G. Cattell, S.O. Hobbs, J.M. Newcomer, A.H. Reiner, B.R. Schatz, W.A. Wulf: An Overview of the Production Quality Compiler-Compiler Project, IEEE Computer, Aug. 1980, pp. 38–49Google Scholar
- [Rip77]K. Ripken: Formale Beschreibung von Maschinen, Implementierungen und optimie- render Maschinencodeerzeugung aus attributierten Programm-graphen, TUM-INFO 7731. Institut für Informatik, Technical University Munich, 1977Google Scholar
- [Sch79]W. Schürer: Erarbeitung einer Hierarchie von Schnittstellen für die Codeerzeugung für verschiedene Microcomputer, Diplomarbeit, Institut für Informatik, Technical University Munich, 1979Google Scholar
- [Sto77]J.E. Stoy: Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory, MIT Press, Cambridge (Mass. ), 1977Google Scholar
- [Wai77]W.M. Waite: Code Generation, in: F.L. Bauer, J. Eickel (eds.): Compiler Construction — An Advanced Course, Lecture Notes in Computer Science No. 25, Springer 1974Google Scholar
- [Wul75]W.A. Wulf, R.K. Johnsson. C.B. Weinstock, S.O. Hobbs, C.M. Geschke: The Design of an Optimizing Compiler, American Elsevier, New York 1975zbMATHGoogle Scholar