Introduction to MIPS Assembly Language Programming
Charles Kann, Gettysburg College
Pub Date: 2016
Read This Book
Conditions of Use
Starting from basic information needed for MIPS assembly language programming using MARS IDE, the text covers MIPS arithmetic and logical operators, read more
Starting from basic information needed for MIPS assembly language programming using MARS IDE, the text covers MIPS arithmetic and logical operators, memory model of MIPS, control structures, recursion, and array, and so on in grater details.
I could not spot errors - it seems that the proof read was done very well.
There was a lacking for a sharable and good programming guide for students for MIPS programming using MARS IDE. This book fulfills the need.
The book is well written - specially, in hierarchical manner in terms of difficulty; i.e., it starts showing the basic steps and problem and then gradually dives deeper. This will help students engaged longer while reading the text.
The book is organized in a consistent manner chapter-wise as well as within the chapter, concept-wise.
The book is easy to read because it is presenting the text in a hierarchical manner in terms of difficulty. Also, for complex cases, illustrations have been provided.
The topic and the text are organizes in a logical and consistent manner.
I don't find any interface issues including the navigation problem.
I did not spot any grammatical error.
The book has perhaps nothing to do with culture, thus it is non-applicable for this book. It is a good book, thus I am scoring accordingly.
The illustrations or the drawing could be made looking nicer. I understand it is time consuming - but sometimes simpler figure may provide a bad feeling to the naive students. Perhaps, 3D drawing components in power-point, word or visio could be easily used.
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