At every "set PC 0" in the test script, the CPU emulator prompts a "Comparison Failure" error.
The line highlighted in a test script when it miscompares is the line that follows the command that miscompared, so the actual failure is that your multiply code computed the wrong value.
The most common problem that causes multiply code to work when you step through it, but fail when run by the test, is to forget to initialize the product to 0 before the addition loop.
The CPU emulator starts with RAM initialized to 0, so the first time you test it manually the product starts at 0. The next time you run the program the product starts with whatever was left in RAM from the earlier run.
The test script specifically initials R2 to non-zero to catch this error.
If you can't find your bug, feel free to email me your code.
--Mark