MIPS Assembly Language Programming / Edition 1

Paperback (Print)
Rent
Rent from BN.com
$22.20
(Save 73%)
Est. Return Date: 09/30/2014
Buy Used
Buy Used from BN.com
$47.64
(Save 41%)
Item is in good condition but packaging may have signs of shelf wear/aging or torn packaging.
Condition: Used – Good details
Used and New from Other Sellers
Used and New from Other Sellers
from $41.31
Usually ships in 1-2 business days
(Save 48%)
Other sellers (Paperback)
  • All (14) from $41.31   
  • New (5) from $65.17   
  • Used (9) from $41.31   

Overview

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. The MIPS architecture embodies the fundamental design principles of all contemporary RISC architectures. 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. Well-written and clearly organized, this book covers the basics of MIPS architecture, including algorithm development, number systems, function calls, reentrant functions, memory-mapped I/O, exceptions and interrupts, and floating-point instructions. For employees in the field of systems, systems development, systems analysis, and systems maintenance.

Read More Show Less

Product Details

  • ISBN-13: 9780131420441
  • Publisher: Prentice Hall
  • Publication date: 4/25/2003
  • Edition description: New Edition
  • Edition number: 1
  • Pages: 168
  • Sales rank: 902,567
  • Product dimensions: 6.92 (w) x 8.89 (h) x 0.63 (d)

Read an Excerpt

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. This text provides a technique that will make MIPS assembly language programming a relatively easy task as compared to writing complex Intel™ x86 assembly language code. 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. It is assumed that students using this text already have some experience in developing algorithms, and running programs in a high-level language.

Chapter 1 provides an introduction to the basic MIPS architecture, which is a modern RISC. 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. Chapter 4 explains the features of the PCSpim simulator for the MIPS architecture, which is available for free.

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. In Chapter 5, students are presented with the classical input/output (I/O) algorithms that involve converting numbers between their integer binary representation and their ASCII decimal and hexadecimal representation. 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. In Chapter 8, students are introduced to memory-mapped I/O. The MIPS simulator provides a memory-mapped I/O feature so that students can gain experience in writing drivers that interface with physical devices. With this PCSpim feature, students can gain experience in writing code to communicate character by character with physical I/O devices. 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. Students learning to write native assembly language typically never have an opportunity to write code that interfaces directly with the I/O devices. These students have to be satisfied with making calls to Basic Input Output System (BIOS) procedures that handle the details of communicating with the I/O devices. 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 754 floating-point standard.

I would like to acknowledge Bary Pollack, James Gips, Doug Milhous, and Dwite Brown who adopted the earlier draft versions of this textbook. 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 April 2003

Read More Show Less

Table of Contents

1. The MIPS Architecture.

2. Algorithm Development in Pseudocode.

3. Number Systems.

4. PCSpim: The MIPS Simulator.

5. Efficient Algorithm Development.

6. Function Calls Using the Stack.

7. Reentrant Functions.

8. Memory Mapped I/O.

9. Exceptions and Interrupts.

10. A Pipelined Implementation.

11. Floating-Point Instructions.

Appendix A: Quick Reference.

Appendix B: ASCII Codes.

Appendix C: Integer Instruction Set.

Appendix D: Macro Instructions.

Appendix E: A Modified Trap Handler.

Appendix F: Floating-Point Instruction Set.

Index.

Read More Show Less

Preface

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. This text provides a technique that will make MIPS assembly language programming a relatively easy task as compared to writing complex Intel™ x86 assembly language code. 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. It is assumed that students using this text already have some experience in developing algorithms, and running programs in a high-level language.

Chapter 1 provides an introduction to the basic MIPS architecture, which is a modern RISC. 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. Chapter 4 explains the features of the PCSpim simulator for the MIPS architecture, which is available for free.

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. In Chapter 5, students are presented with the classical input/output (I/O) algorithms that involve converting numbers between their integer binary representation and their ASCII decimal and hexadecimal representation. 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. In Chapter 8, students are introduced to memory-mapped I/O. The MIPS simulator provides a memory-mapped I/O feature so that students can gain experience in writing drivers that interface with physical devices. With this PCSpim feature, students can gain experience in writing code to communicate character by character with physical I/O devices. 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. Students learning to write native assembly language typically never have an opportunity to write code that interfaces directly with the I/O devices. These students have to be satisfied with making calls to Basic Input Output System (BIOS) procedures that handle the details of communicating with the I/O devices. 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 754 floating-point standard.

I would like to acknowledge Bary Pollack, James Gips, Doug Milhous, and Dwite Brown who adopted the earlier draft versions of this textbook. 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
April 2003

Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star

(0)

4 Star

(0)

3 Star

(0)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)