Introduction to MIPS Assembly Language Programming

(1 review)


Charles Kann, Gettysburg College

Pub Date: 2016

ISBN 13:

Publisher: Independent

Read This Book

Conditions of Use



  All reviews are licensed under a CC BY-ND license.

Learn more about reviews.


Reviewed by MD TAMJIDUL HOQUE, Assistant Professor, University of New Orleans, on 5/22/2018.

Starting from basic information needed for MIPS assembly language programming using MARS IDE, the text covers MIPS arithmetic and logical operators, … read more


Table of Contents

  • Chapter 1 Introduction
  • Chapter 2 First Programs in MIPS assembly
  • Chapter 3 MIPS arithmetic and Logical Operators
  • Chapter 4 Translating Assembly Language into Machine Code
  • Chapter 5 Simple MIPS subprograms
  • Chapter 6 MIPS memory - the data segment
  • Chapter 7 Assembly language program control structures
  • Chapter 8 Reentrant Subprograms
  • Chapter 9 Arrays

About the Book

This book was written to introduce students to assembly language programming in MIPS. As with all assembly language programming texts, it covers basic operators and instructions, subprogram calling, loading and storing memory, program control, and the conversion of the assembly language program into machine code.

However this book was not written simply as a book on assembly language programming. The larger purpose of this text is to show how concepts in Higher Level Languages (HLL), such as Java or C/C++, are represented in assembly. By showing how program constructs from these HLL map into assembly, the concepts will be easier to understand and use when the programmer implements programs in languages like Java or C/C++. Concepts such as references and variables, registers, binary and Boolean operations, subprogram execution, memory types (heap, stack, and static), and array processing are covered to clarify the decisions made when implementing HLL. Program control is presented using a mapping from structured programs in pseudo code to help students understand structured programming, and why it exists. Memory access in assembly is presented to high light the difference between references (pointers) and values, and how these impact HLL.

This book has numerous code examples, and many problems at the end of each chapter, and it is appropriate for a class in Assembly Language, or as a extra resource for a class in Computer Organization.

About the Contributors


Charles Kann is an Adjunct Professor in the Computer Science department at Gettysburg College, Gettysburg, PA