커널 내부에 있는 어셈 코드인데요.
3203 __asm__ __volatile__("lgdt %0": "=m" (gdt_descr)); 3204 __asm__ __volatile__("lidt %0": "=m" (idt_descr));
이게 몬가요?
lgdt가 gdt를 load한다는 건 알고 있는데 코드 해석이 안되네요.
어셈 고수님들
조언 좀 부탁드려요.
저런 코드는 어떻게 읽나요?
저도 어셈블리는 잘 못하지만
http://www.ibiblio.org/gferg/ldp/GCC-Inline-Assembly-HOWTO.html
이걸 보시고 참조하시면 되겠습니다.
http://www.korone.net QT 커뮤니티 사이트
커널 내부에 있는 어셈 코드인데요. 3203 __asm__ __volatile__("lgdt %0": "=m" (gdt_descr)); 3204 __asm__ __volatile__("lidt %0": "=m" (idt_descr)); 이게 몬가요? lgdt가 gdt를 load한다는 건 알고 있는데 코드 해석이 안되네요. 어셈 고수님들 조언 좀 부탁드려요. 저런 코드는 어떻게 읽나요?
__asm__ __volatile__("lgdt %0": "=m" (gdt_descr));
%0 ==> 첫번째 인자 gdt_descr "=m" ==> 첫번째 인자가 메모리 m : Memory (즉 변수)
= 는 출력을 말한다고 하는데. -_-;;
lgdt gdt_descr lidt idt_descr
고작 블로킹 하나, 고작 25점 중에 1점, 고작 부활동 "만약 그 순간이 온다면 그때가 네가 배구에 빠지는 순간이야"
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
저도 어셈블리는 잘 못하지만http://www.ibiblio.or
저도 어셈블리는 잘 못하지만
http://www.ibiblio.org/gferg/ldp/GCC-Inline-Assembly-HOWTO.html
이걸 보시고 참조하시면 되겠습니다.
http://www.korone.net QT 커뮤니티 사이트
Re: 어셈 잘하시는 분 답변 좀 부탁드립니다.
%0 ==> 첫번째 인자 gdt_descr
"=m" ==> 첫번째 인자가 메모리
m : Memory (즉 변수)
= 는 출력을 말한다고 하는데. -_-;;
인가?
고작 블로킹 하나, 고작 25점 중에 1점, 고작 부활동
"만약 그 순간이 온다면 그때가 네가 배구에 빠지는 순간이야"
댓글 달기