0

我想知道如何使用 iabr 寄存器来设置断点。该手册说了一些关于 isync 指令的内容,但这似乎不起作用。有人可以帮忙吗?

我正在使用的代码:

asm ("isync");
asm volatile ("mtspr 1010,%0;" : : "r"(val));
asm ("isync");
asm ("isync");
4

1 回答 1

0

MPC604给出提示:

当 IABR 中的地址(位 0 到 29)与完成单元中要完成的下一条指令匹配,并且 IABR 启用位(位 30)设置为 1 时,会发生指令地址断点异常。

如果你要中断的指令的地址是addr,你需要做val = addr | 2。我不知道第 31 位是做什么的。

于 2012-04-23T20:18:35.913 回答