验证任务切换器是否在任务之间正确切换

Verify that a task switcher is correctly switching between tasks

我的 MIPS 汇编老师让我们实现了一个任务切换器,它通过将所有寄存器保存和加载到堆栈来在两个任意任务之间切换。他在 class 中询问我们如何测试我们的切换器是否正常工作。

他暗示可以用一行代码完成,并且可以在不知道任务在做什么的情况下完成(即,给我们二进制文件)

class 中没有人能弄清楚他想让我们怎么做,他也不告诉我们,他只是因为我们无法弄清楚这件理所当然的事情而生气。

那么我们应该怎么做呢?

原来答案是:

运行一次一个任务,检查结果是否与运行多任务时相同。

在 taskswitch 例程中 jr $ra 允许这个工作的附加代码行是为了防止它实际切换