Solve exercise 2 from section 10.6. If the caller gives two parameters, they'll be the string and the color as specified. If the caller gives three parameters, on the other hand, they will specify the string, the foreground color, and the background color separately. Handle each situation with simple and efficient code. Make sure they don't pass parameters via bad registers.

Of course, write a driver program to test your macro. Be sure to call it in several different ways to fully test its capabilities.

As always, document any macros you create well!


This assignment is Level 3.5.