Debugging 如何在powerpc(e300 core)上使用iabr寄存器

Debugging 如何在powerpc(e300 core)上使用iabr寄存器,debugging,assembly,breakpoints,powerpc,Debugging,Assembly,Breakpoints,Powerpc,我想知道如何使用iabr寄存器设置断点。手册中说了一些关于isync指令的内容,但这似乎不起作用。有人能帮忙吗 我正在使用的代码: asm ("isync"); asm volatile ("mtspr 1010,%0;" : : "r"(val)); asm ("isync"); asm ("isync"); 给出一个提示: 当IABR中的地址位0至29与完成单元中要完成的下一条指令相匹配,且IABR启用位30设置为1时,会发生指令地址断点异常 如果要中断的指令地址是addr,则需要执行va

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

我正在使用的代码:

asm ("isync");
asm volatile ("mtspr 1010,%0;" : : "r"(val));
asm ("isync");
asm ("isync");
给出一个提示:

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

如果要中断的指令地址是addr,则需要执行val=addr | 2。我不知道31位的作用是什么