The MIPS Programmer's Handbook - 1st Edition - ISBN: 9781558602977, 9780080511733

The MIPS Programmer's Handbook

1st Edition

Authors: Erin Farquhar Philip Bunce
Paperback ISBN: 9781558602977
eBook ISBN: 9780080511733
Imprint: Morgan Kaufmann
Published Date: 1st February 1994
Page Count: 416
Tax/VAT will be calculated at check-out

Institutional Access


Table of 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

Description

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

Details

No. of pages:
416
Language:
English
Copyright:
© Morgan Kaufmann 1993
Published:
Imprint:
Morgan Kaufmann
eBook ISBN:
9780080511733
Paperback ISBN:
9781558602977

About the Authors

Erin Farquhar Author

Philip Bunce Author