The operating system and its collection of applications provide an interface between the user who is writing the programs and the system that is running them. Other utilities, or programming tools, are necessary to carry out the more mechanical aspects of software creation. We discuss them in the sections below.

8.4.1   Assemblers and Assembly

In our layered system architecture, the level that sits directly on the operating system layer is the assembly language layer. In Chapter 4, we presented a simple, hypothetical machine architecture, which we called MARIE. The architecture is so simple, in fact, that no real machine would ever use it. For one thing, the continual need to fetch operands from memory would make ...

Get Essentials of Computer Organization and Architecture, 5th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.