if TI == 0 :
    return GDT
elif TI == 1 :
    return LDT

선형주소: 0x00402001
이진수  : 00000000010000000010000000000001
|  DIRECTORY INDEX (10bit)  |  TABLE INDEX (10bit)  |  OFFSET (12bit)  |
|  0000000001               |  0000000010           |  000000000001    |
|  1                        |  2                    |  1               |

CR3(PAGE DIRECTORY BASE REGISTER) -> PAGE DIRECTORY BASE ADDRESS == 0x12347xxx -> PAGE DIRECTORY == PAGE A
DIRECTORY INDEX == 1 -> PAGE A[1] == 0x12346xxx -> PAGE TABLE BASE ADDRESS == 0x12346 * 0x1000 == 0x12346000 -> PAGE TABLE == PAGE B
TABLE INDEX == 2 -> PAGE B[2] == 0x12345xxx -> PAGE BASE ADDRESS == 0x12345 * 0x1000 == 0x12345000 -> PAGE == PAGE C 

최종적으로 참조되는 메모리의 시작주소는 &PAGE C[1(OFFSET)] == 0x12345004
최종적으로 참조되는 메모리의 내용은 PAGE C[1(OFFSET)] == 0x12344xxx

RPL, CPL, DPL https://stackoverflow.com/questions/36617718/difference-between-dpl-and-rpl-in-x86

http://anster.egloos.com/m/2141358

+ Recent posts