So you can see that your line 3 (the header row counts as line 1) is all zeroes when it should be all -1.
My design of fill.asm first turns the screen black then it turns the screen white again. After running these two loops it returns to the first loop that checks for keyboard input. Instructions run into 48 lines. I am sure there's a better way to do it.
This algorithm doesn't do what the program specification called for.
If the person holds down the key long enough, the screen should eventually become -- and stay -- all black. If the person releases the key long enough, the screen should eventually become -- and stay -- all white.
The test script forces the keyboard input to either be no-key-pressed or some-key-pressed and holds each state long enough for any reasonably written program to have enough time to completely fill or clear the screen before it samples a bunch of widely separated locations to test if it did so.
PS: I am doing it through Coursera. Over my several interactions in this forum, it has turned out that a few procedurally important details have escaped my attention.
That's not too surprising. It's one of the huge drawbacks of self-paced online courses. As humans we will always miss some of the details and without someone to correct us and point out that we've missed them, it can be hard to figure that out on your own.