View larger. Request a copy. Download instructor resources. Additional order info. Buy this product. Students using this text will gain an understanding of how the functional components of modern computers are put together and how a computer works at the machine language level.
|Published (Last):||25 October 2019|
|PDF File Size:||13.36 Mb|
|ePub File Size:||14.37 Mb|
|Price:||Free* [*Free Regsitration Required]|
Users of this book will gain an understanding of the fundamental concepts of contemporary computer architecture, starting with a Reduced Instruction Set Computer RISC.
An understanding of computer architecture needs to begin with the basics of modern computer organization. This book provides an understanding of how the functional components of modern computers are put together and how a computer works at the machine-language level. For employees in the field of systems, systems development, systems analysis, and systems maintenance.
When students first encounter computer architecture, they need to begin with the basics of modern computer organization. The book begins with a datapath diagram that shows a simple implementation of the MIPS architecture, consisting of a register file, an ALU, a memory.
As students progress through the text, they will elaborate on this established datapath diagram model, allowing them to visualize how the instructions are fetched and executed as they write their programs. All the programming exercises are done using this simulator, which can be downloaded for free from the Internet. Using the MIPS simulator allows students to observe the contents of the registers and memory change as their programs execute.
The students are not isolated by a particular operating system from experiencing and writing code dealing with:. It is assumed that students using this text already have some experience in developing algorithms, and running programs in a high-level language.
This text is targeted for use in an introductory lower-division assembly language programming or computer organization course. After students are introduced to the MIPS architecture using this textbook, they will be well prepared to go on to more advanced courses in computer organization where any modern reduced instruction set computer RISC is analyzed.
The skills learned, as a MIPS assembly language programmer, will facilitate learning other more complex assembly languages if the need ever arises. Students using this text will acquire an understanding of how the functional components of modern computers are put together, and how a computer works at the machine language level.
Chapter 2 shows how to develop code targeted to run on a MIPS processor using an intermediate pseudocode notation similar to the high-level language C. Once an algorithm is specified in this pseudocode notation it is a relatively simple task to translate it to MIPS assembly language.
Chapter 3 is an introduction to the binary number system. This chapter provides simple procedures for converting values from one number system to another.
The rules for performing binary arithmetic are explained. Students will learn how to detect when overflow occurs. Within the remaining chapters, a wealth of programming exercises are provided that every student needs to become an accomplished assembly language programmer. Instructors are provided with a set of PowerPoint slides. After students have had an opportunity to develop their pseudocode and the corresponding MIPS assembly language code, they can be shown example solutions to each of the exercises via the PowerPoint slides.
The utility of logical operators and shift operators are stressed. In Chapter 6, a specific argument-passing protocol is defined. Most significant programming projects are a teamwork effort. Emphasis is placed on the important fact that everyone involved in a teamwork project must adopt the same convention for parameter passing when calling functions.
In the case of nested function calls, a specific convention is defined for saving and restoring values in the temporary registers. In Chapter 7, the necessity for reentrant code is explained, as well as the rules one must follow to write such functions. The code that communicates with a physical device at this level is often referred to as a driver.
This is a significant advantage of using a simulator to learn assembly language programming. Typically these students never experience the real-world challenges that arise as a result of the communication and device time delays.
Chapter 9 introduces exceptions and exception processing. PCSpim responds to interrupts generated by the memorymapped keyboard and display terminal. Given this feature, students have an opportunity to experience writing code to respond to interrupts.
Once again this points out the advantage of using a simulator when learning to write assembly language code. Students learning to write assembly language code for their desktop computer typically never have an opportunity to write and run interrupt handlers that enable and disable the interrupt system.
Typically these students never experience the real-world challenges that arise in writing the code that resides at the very heart of the operating system. In Chapter 10 a pipelined implementation of the MIPS architecture is presented, and the special programming considerations dealing with delayed loads and delayed branches are discussed.
PCSpim provides an option to run the simulator as if the code were executing on a pipelined implementation of the MIPS architecture. Using this option, students gain experience in writing assembly language code that will run on a pipelined implementation. Chapter 11 provides a description of the floating-point features of the MIPS architecture, as well an introduction to the IEEE floating-point standard.
I wish to express my special appreciation to Bary Pollack and Tom Fountain for their thorough review of my initial submission to Prentice Hall, and their many constructive recommendations for improvements. The feedback from Seyed H.
Hosseini, and Wagdy H. Mahmoud was also quite helpful. I also wish to thank Petra Recter, senior computer science editor, and John Keegan, production editor, both at Prentice Hall, who so effectively managed this project. I am especially grateful to my wife, Jan, for her support and encouragement. She is my true helpmate and soul mate.
Robert Britton Professor Emeritus. All rights reserved.
MIPS Assembly Language Programming
In order to set up a list of libraries that you have access to, you must first login or sign up. Then set up a personal list of libraries from your profile page by clicking on your user name at the top right of any screen. You also may like to try some of these bookshops , which may or may not sell this item. Separate different tags with a comma. To include a comma in your tag, surround the tag with double quotes. Please enable cookies in your browser to get the full Trove experience.
Skip to search form Skip to main content You are currently offline. Some features of the site may not work correctly. From the Publisher: Users of this book will gain an understanding of the fundamental concepts of contemporary computer architecture, starting with a Reduced Instruction Set Computer RISC. An understanding of computer architecture needs to begin with the basics of modern computer organization.
Would you like to tell us about a lower price? If you are a seller for this product, would you like to suggest updates through seller support? When students first encounter computer architecture, they need to begin with the basics of modern computer organization. MIPS Assembly Language Programming offers students an understanding of how the functional components of modern computers are put together and how a computer works at the machine-language level. The book begins with a datapath diagram that shows a simple implementation of the MIPS architecture, consisting of a register file, an ALU, a memory.