I'm a CS student at university, and I'm supposed to develop a MIPS assembly language program for an exam, but I do have a hard time designing it, especially when it comes to assigning registers, following calling conventions, saving registers on stack... It all seems to get pretty confusing and overwhelming rather fast, I lose track!
I don't have a problem figuring out, at least conceptually, an algorithm to solve a specific problem. It has more to do with the bigger picture, the overall structure and design of the project.
In light of this, could you point out a pattern, give tips or best practices to follow to sort everything out prior to actually writing code, so I don't lose myself in the process?
MIPS is a very unique language compared to other high level languages like Java OR Python, so it takes some time to get used to it. The way I would recommend about going with program development in MIPS is by doing the following:
$t
, $s
etc.