I plugged in some register values manually for R0 and R1 (something like 91 and 303) and the program calculated the correct value (which was stored in R2).
When I run my program against mult.tst, it works fine until it completes the 3x1 test. After that I notice that R2 does not get cleared (it stays at 3), which causes the result of the 4x2 test to be 11, which of course throws a comparison failure.
Since it works properly when I plug in manual values, I don't see how this could be the program I wrote. It's also a very simple program. Anyone see this before?