Search:

Product Information All Elsevier Sites   Advanced Product Search
SiteStat.jsp
THE MIPS PROGRAMMER'S HANDBOOK
The MIPS Programmer's Handbook
To order this title, and for more information, click here

By
Erin Farquhar
Philip Bunce

Description


A hands-on view of the highly successful MIPS family of microprocessors, written for programmers developing systems applications for the MIPS platform.

The MIPS Programmer's Handbook describes the MIPS architecture from the perspective of assembly- and C-language programmers, with special emphasis on issues related to embedded applications. Engineers writing system-level programs for MIPS-based embedded systems will find the topic selection especially useful including the sections on software conventions, initializing the processor in a bare machine environment, and writing exception handlers.

For convenient use, the instruction set reference is presented with only one page per instruction. The authors focus on the instructions available to assembly-language programmers, rather than on the hardware-level instruction set documented in data books released by vendors of the MIPS processor. Provides enough detail for anyone doing serious system-level programming. Also included are ten complete program examples, with line-by-line explanations.

Several sample sections are available from the authors' website.

Contents


The MIPS Programmer's Handbook
by Erin Farquhar, Philip Bunce

  • Preface
  • 1 Introduction
  • 2 Software Conventions
    • 2.1 Introduction
    • 2.2 Register-Usage Conventions
    • 2.3 Stack Usage Conventions
    • 2.4 Procedure Format
    • 2.5 Program Listings
      • 2.5.1 Example 1: A Simple Leaf Function
      • 2.5.2 Example 2: Leaf Function with Local Array
      • 2.5.3 Example 3: Simple Nonleaf Function
      • 2.5.4 Example 4: Nonleaf Function That Saves Three Registers
      • 2.5.5 Example 5: Nonleaf Function That uses Four Save Registers
      • 2.5.6 Example 6: Simple Floating-Point Leaf Function
  • 3 Initialization
    • 3.1 Introduction
    • 3.2 Example Programs
      • 3.2.1 Example 1: A Simple Initialization
      • 3.2.2 Example 2: Initialization That Flushes the Caches
    • 3.3 Flushing the Cache
      • 3.3.1 Flushing the R3000 Cache 26
      • 3.3.2 Flushing the LR33000 Cache
    • 3.4 Program Listings
      • 3.4.1 Example 1: A Simple Initialization
      • 3.4.2 Example 2: Initialization That Flushes the Cache
      • 3.4.3 Example 3: R3000 Cache Flush
      • 3.4.4 Example 4: R33000 Cache Flush
  • 4 Exceptions
    • 4.1 Introduction
    • 4.2 External Interrupts
      • 4.2.1 Hardware Interrupt Examples
        • 4.2.1.1 Example 1: A Single Interrupt Source
        • 4.2.1.2 Example 2: Two Interrupt Sources
        • 4.2.1.3 Example 3: Nested Interrupts
        • 4.2.1.4 Example 4: Interrupt Handler in C
        • 4.2.1.5 Example 5: UNIX Time Function Support
        • 4.2.1.6 Example 6: Prioritizing Interrupts
      • 4.2.2 Software Interrupts Example
    • 4.3 Exceptions in a Branch Delay Slot
    • 4.4 Interrupt Latency
    • 4.5 Program Listings
      • 4.5.1 Example 1: A Single Interrupt Source
      • 4.5.2 Example 2: Two Interrupt Sources
      • 4.5.3 Example 3: Nested Interrupts
      • 4.5.4 Example 4: Interrupt Handler in C
      • 4.5.5 Example 5: UNIX Time Function Support
      • 4.5.6 Example 6: Prioritizing Interrupts
      • 4.5.7 Example 7: Software Interrupts
      • 4.5.8 Example 8: Exceptions in a Branch Delay Slot
  • 5 Instruction Set Reference
    • 5.1 Introduction
    • 5.2 Syntax Descriptions
    • 5.3 Instruction Descriptions
  • A Overview of the MIPS1 Architecture
    • A.1 Addressing
    • A.2 Modes of Operation
    • A.3 Coprocessor Units
    • A.4 Registers
    • A.5 Data Types
    • A.6 Instructions
      • A.6.1 Delay Instructions
      • A.6.2 Computational Instructions
      • A.6.3 Branches and Jumps
      • A.6.4 Loads and Stores
        • A.6.4.1 Big and Little Endian Byte Orderings
  • B Instruction Summary
  • C Prologue and Epilogue Templates
    • C.1 Program Listings
  • D Include Files
    • D.1 machine.h
    • D.2 mips.h
    • D.3 lr33000.h
  • E Libraries
    • E.1 stdio.c
    • E.2 put 2681
    • E.3 r3kcflu.s
    • E.4 r33kcflu.so
    • E.5 putsable.c
  • F Vendors of MIPS Products
  • Index


Bibliographic details
Paperback, 416 pages, publication date: FEB-1994
ISBN-13: 978-1-55860-297-7
ISBN-10: 1-55860-297-6
Imprint: MORGAN KAUFFMAN

Price and Ordering
Price:
EUR 58.95
GBP 50
USD 75.95
order now
Books and book related electronic products are priced in US dollars (USD), euro (EUR), and Great Britain Pounds (GBP). USD prices apply to the Americas and Asia Pacific. EUR prices apply in Europe and the Middle East. GBP prices apply to the UK and all other countries.
See also information about conditions of sale & ordering procedures, and links to our regional sales offices.

077/745
Last update: 7 Sep 2009
Book contents
Table of contents
Reviews
Submit your review
Bookmark this page
Recommend this publication
Overview of all books
Printer-friendly version   Printer-friendly version