Chapter 11 MIPS Software Standards (ABIs)
For most of this book we’ve described the MIPS architecture from the perspective of how the hardware looks to a programmer. In this chapter, we’re going to describe some standards about how MIPS binary programs should be created to make them compatible with each other.
These standards are designed around characteristics of the hardware, but are often just arbitrary—it has to be done some way, and there’s an advantage if every toolchain does it the same. We’ve met one of those standards already: the register usage conventions described way back in section 2.2.
In this chapter, we’re going to look at how compilers represent data for MIPS programs, at argument passing for functions, and at the use of the ...