[[ blog 이사 과정에서 정확한 posting날짜가 분실됨. 년도와 분기 정도는 맞지 않을까? ]]
"indirect branch" means "branching into value of register". Usual branching jumps to the address computed from argument value and PC - PC relative address. So, there is offset limitation. But, 'indirect jump' can go to anywhere within supported address - usually, register size == instruction domain size == supporting memory size.
"indirect branch" means "branching into value of register". Usual branching jumps to the address computed from argument value and PC - PC relative address. So, there is offset limitation. But, 'indirect jump' can go to anywhere within supported address - usually, register size == instruction domain size == supporting memory size.
Here ARM example.
BX LR, LDR PC, XX, ADD PC, XX, XX
Then, which case can be interpreted to 'indirect branch' in C/C++ - Yes, it's totally dependent on compiler. We just assume general case?
* Return from function call. (BX LR) * Function call by "function pointer" (LDR PC, XX) - using function pointer explicitly. - using virtual function pointer table of class. ... anything else???
'Language > C&C++' 카테고리의 다른 글
[C/C++] Try to avoid cross-dependency between selective-compile-switches. (0) | 2008.12.14 |
---|---|
[C/C++] Using static variable in large-size-file. (0) | 2008.09.09 |
[C/C++] Take care of using shallow copy! (0) | 2008.06.04 |
[C/C++] Using Reference as function parameter... (0) | 2008.05.02 |
[C++] C++ Pointer fixups... (0) | 2008.04.26 |