Introduction To MIPS Assembly Language Programming
Charles W. KannThis 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.
Keywords
MIPS, Assembly, Procedural Programming, Binary Arithmetic, Computer Organization, Computer
Architecture
Disciplines
Computer and Systems Architecture | Computer Engineering | Computer Sciences | Systems Architecture
This book is available at The Cupola: Scholarship at Gettysburg College: https://cupola.gettysburg.edu/oer/2