2014-06-11 86 views
0

在ARM中,Thumb-EE指令集支持自动空指针检查。ARM ThumbEE自动空指针检查

In ThumbEE state, the processor uses almost the same instruction set as Thumb-2 although  some instructions behave differently, and a few are removed, or added. 
The key differences are: 
additional state changing instructions in both Thumb state and ThumbEE state 
new instructions to branch to handlers 
null pointer checking on loads and stores 
an additional instruction in ThumbEE state to check array bounds 
some other modifications to the load, store, and branch instructions 

ARM手册说,当thumb-EE指令试图引用空指针时,会调用'处理程序'。但是谁设置了这个处理程序的地址?怎么样?什么时候?我无法从ARM Thumb-EE手册获得答案。

回答

2

请参阅ARM体系结构参考手册(ARM DDI 0406C)中的“B1.12 Thumb执行环境”一节。

的ThumbEE校验处理程序的基地址在寄存器​​,其驻留在CP14 sysrem寄存器空间保持:

MRC p14, 6, <Rt>, c1, c0, 0 ; Read TEEHBR into Rt 
MCR p14, 6, <Rt>, c1, c0, 0 ; Write Rt to TEEHBR 

注意ThumbEE一样的Jazelle,由ARM弃用。

+0

谢谢,那就是我在找:) – daehee