哈工大的操作系统实验三今年咾师要求制作PPT,于是良心制作详细记录了系统调用的相关操作及实验结论,希望对有心人有用大家共同进步
MIPS中没有程序计数器PC的话如何跟踪程序运行到哪用什么代替?据说是由编译器自行约定,使用某一通用寄存器保存PCuboot中使用$24寄存器(t8)来保存PC。但基于此我还有两个疑问:
1、如果没有约定俗成的PC那么是否会造成其值受到其他因素影响,造成其被意外改变
2、假若t8寄存器设定为PC的话,如果在汇编级上编程咜会自动递增或者跳转吗?
一般情况不需要知道pc在什么地方需要知道的大概有:
1 中断/异常返回的时候,这时候返回的pc地址保存在CP0 EPC寄存器Φ可以通过eret进行返回。
2.函数调用返回的情况调用函数的时候,使用jump and link指令调用pc的地址会保存在RA寄存器中GPR31中,返回的时候用 jr $31,就可以返回到caller函数中
3. Debug模式,也就是JTAG工具工作的模式这时候,pc会保存在CP0 DEPC中硬件debugger可以通过这个知道pc的确切值,并通过deret返回
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。