Service | Code in $v0 | Arguments | Returned Value |
---|---|---|---|
print integer | 1 | $a0 == integer | |
print float | 2 | $f12 == float | |
print double | 3 | $f12 == double | |
print string | 4 | $a0 == address of string | |
read integer | 5 | $v0 ← integer | |
read float | 6 | $f0 ← float | |
read double | 7 | $f0 ← double | |
read string | 8 | $a0 == buffer address $a1 == buffer length | |
allocate memory | 9 | $a0 == number of bytes | $v0 ← address |
exit | 10 |
For double precision, the register given is the even numbered register of the even/odd register pair used for the 64 bit double. For example, the read double service 7 returns a 64 bit value in the pair $f0,$f1.
Warning: some of these services change T registers, so be careful about what
registers a calling program uses! See:
Chapter 21 page 4