Programmed Introduction to MIPS Assembly Language

This is a free online book in assembly language programming of the MIPS processor. It emphasizes the topics needed for study of computer architecture: bits, bit patterns, operations on bit patterns, and how bit patterns represent instructions and data. This course is equivalent to a semester-long junior college or university course (except, perhaps, for the emphasis on bit patterns).


The emphasis of the course is on understanding how computers work. This will provide a basis for further study of computer architecture and computer software. The MIPS processor, the subject of this course, has a well designed architecture and is particularly fruitful to study. However, the goal of the course is not to turn you into a MIPS programmer, but to give you an understanding of all computer systems.

Table of Contents

  • Computer Architecture and Assembly Language.
  • Analog and Binary Signals.
  • Bits and Bit Patterns.
  • Computer Organization.
  • Characters.
  • Number Representation.
  • Binary and Hex Representation.
  • Binary Addition and Two’s Complement Representation.
  • A Simple SPIM Program.
  • MIPS Programming Model.
  • Bitwise Logic with Immediate Operands.
  • Shift Instructions and Logic Instructions.
  • Integer Addition and Subtraction Instructions.
  • Integer Multiplication, Division, and Arithmetic Shift.
  • Memory Access: Loading and Storing Registers.
  • More Memory Access: Bytes and Halfwords.
  • Jump and Branch Instructions.
  • Set Instructions and more Branch Instructions.
  • Structured Programming.
  • Programming Examples.
  • The Extended Assembler.
  • The SPIM Exception Handler.
  • Instructions for Bitwise Logic and Math.
  • Branch Instructions, Set Instructions, and Indexed Addressing.
  • The Run-time Stack.
  • Simple Subroutine Linkage.
  • Stack-based Linkage Convention.
  • Frame-based Linkage Convention, Variables, and Recursion.
  • Binary Fractions. Drill on Binary Fractions
  • IEEE 754 Floating Point.
  • Floating Point Arithmetic on MIPS.
  • Floating Point Comparison Instructions.
  • Dynamic Memory Allocation.
  • Data Structures.
  • Linked Lists.
  • Objects.

Book Details

Author(s): Bradley Kjell
Format(s): HTML
Link: Read online.

Leave a Reply