gdt

    1

    1답변

    나는 Global Descriptor Table에 대해 Net에서 제공되는 많은 자습서를 살펴 보았습니다. 그러나 64 비트 디스크립터의 모든 필드를 자세히 설명하는 사이트를 찾을 수 없습니다. 게다가 나는 GDT의 셀렉터 개념을 고수했다. 나는 selector가 GDT 나 LDT field를위한 Index, TI를 가지고 있다는 것을 안다. 간단히 말해

    3

    2답변

    x86의 보호 모드 부분을 살펴 보겠습니다. 방금 GDT에 대해 배웠습니다. 전에 보호 모드 (예 : 모든 32 비트 주소 라인 사용)로 들어가기 위해 공부했습니다. A20 게이트가 활성화되어야합니다. 그래서 A20을 활성화하는 코드는 16 비트가되어야합니다. 최근에 wiki.osdev 사이트를 방문했을 때 A20을 활성화하는 코드가 x86 어셈블리로 작성

    0

    1답변

    로드/저장 IDT는 LIDT 어셈블리 명령을 사용하여로드됩니다. 오프셋 테이블 자체의 가상 주소 : 이것은 IDT 안내 구조체의 위치를 ​​예상한다. 크기는 테이블의 크기를 1 씩 감한 것입니다.이 구조는 SIDT 명령을 사용하여 다시 메모리에 저장할 수 있습니다. 그것은 http://wiki.osdev.org/Interrupt_Descriptor_Tabl

    1

    1답변

    나를 위해 GDT를 설정하는 부트 로더가 있습니다. 이 GDT의 주소를 알아 내서 사용할 수 있습니까?

    0

    1답변

    글로벌 디스크립터 테이블 (GDT)의 기초를 밟았으며 ASM을 사용하여 "GDT.inc"를 성공적으로 작성하여 부트 로더에 쉽게 포함시킬 수 있습니다. . 아기 단계로서 난 메모리 (메모리의 어떤 부분)은 0xFFFFFFFF를 ; null descriptor dd 0 ; null descriptor--just fill 8 bytes with

    0

    1답변

    보호 모드 전환에 대해이 사실을 연구하고있었습니다. 나는 보호 모드에 대한 실제가 ldt 및 idt를로드하지 않고 gdt를로드함으로써 발생할 수 있는지 여부를 의심했습니다. 한편으로는 리얼 모드 프로그램을 v8086 모드로 전환하지 않고 보호 모드로 실행할 수없는 이유가 두 번째 의심 스럽습니다. 감사합니다.

    4

    1답변

    I want to use gdb to see my GDTR/LDTR/TTR and segment register invisiable 부분 (86) 그래서 GDB에 나는 "P/X $의 GDTR"를 입력 .... 등 하지만 결과는 을 "= 값이 정수로 변환 할 수 없습니다 $ 6"및 gdb를 I에 "P/X $ CS"를 입력 유일한 결과는 CS, 단지 vis

    0

    1답변

    프로세스가 코드 실행을 위해 다른 프로세스에 속한 원거리 포인터를 호출하면 어떻게됩니까? 32 비트 작동 모드에서 GDT는 거의 사용되지 않으며 세그먼트 화를 완전히 사용할 수 있습니다. 요청한 CS 포인터가 다른 프로세스의 세그먼트를 가리키는 경우 어떻게됩니까? 가끔 허용됩니다. 하지만 일반적으로 그렇지 않습니다. 64 비트 모드에서 세그먼테이션은 중간에