Introduction to MIPS Assembly Language Programming
Charles Kann, Gettysburg College
Copyright Year: 2016
Publisher: Charles W. Kann III
Conditions of Use
The book covers both theoretical concepts and step by step assembly language programming using MARS Simulator. It covers topics like Number representations, MARS IDE,MIPS architecture, Programming using arithmetic and logical operators to... read more
The book covers both theoretical concepts and step by step assembly language programming using MARS Simulator. It covers topics like Number representations, MARS IDE,MIPS architecture, Programming using arithmetic and logical operators to assembly programming to arrays, Instruction representations and MIPS memory .
The information I read was accurate.
Considering new CPU are designed every year there are room for updates. For undergraduate students this is a great book for MIPS programming using MARS IDE.
The book does seem to provide a good amount of context, programmes and picture demos.
The book topics are consistent and easy to follow.
The Author did a great job of dividing concepts and information into required sections.
Well organized ,starting from simple topics and scaffolding to complex ones.
There is no issues in navigation. The code examples are nicely presented. Few IDE images are hard to read, I think this is the only way we can include the whole image of the IDE.
The language used for explaining theory is English which is used in most academic books worldwide. There is no accessible issues found. The main constructs are focused on Assembly programming which has no cultural references. Examples taken also have no cultural references as the book is dealing with language of computer processors.
Adding interactive components, practice questions and test bank will help the students to get better learning experience.
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. 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 assemblylanguage programming texts, it covers basic operators and instructions, subprogram calling, loading andstoring 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 purposeof this text is to show how concepts in Higher Level Languages (HLL), such as Java or C/C++, arerepresented in assembly. By showing how program constructs from these HLL map into assembly, theconcepts will be easier to understand and use when the programmer implements programs in languages likeJava 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 thedecisions made when implementing HLL. Program control is presented using a mapping from structuredprograms in pseudo code to help students understand structured programming, and why it exists. Memoryaccess in assembly is presented to high light the difference between references (pointers) and values, and howthese 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