'IndirectJump'에 해당되는 글 1건

indirect jump 를 구현하기 위해서는 MASM의 습관과 관념을 버려야 합니다.
다음과 같이 별표(*)를 앞에 주어야 해당 주소를 향해 분기가 가능하겠지요.

코드:
void mz_jump(unsigned int s_IndirectAddress)
{
__asm__ volatile("jmp *%0\n\t"::"g"(s_IndirectAddress));
/* assert area */
}


또한 부트로더 제작시에 많이 사용하는 far long jump 는 다음과 같겠죠.

코드:
ljmp $0x7c00, $0x0000
크리에이티브 커먼즈 라이센스
Creative Commons License
Posted by minzkn

트랙백 주소 :: http://blog.minzkn.com/trackback/58

댓글을 달아 주세요