求助
写列程序是Linux内核的代码.
...
mov ax,cx
mov ds,ax
lidt idt_48
lgdt gdt_48
...
jmpi 0,8
...
gdt:
.word 0,0,0,0 | dummy
.word 0x07FF | 8Mb - limit=2047 (2048*4096=8Mb)
.word 0x0000 | base address=0
.word 0x9A00 | code read/exec
.word 0x00C0 | granularity=4096, 386
.word 0x07FF | 8Mb - limit=2047 (2048*4096=8Mb)
.word 0x0000 | base address=0
.word 0x9200 | data read/write
.word 0x00C0 | granularity=4096, 386
idt_48:
.word 0 | idt limit=0
.word 0,0 | idt base=0L
gdt_48:
.word 0x800 | gdt limit=2048, 256 GDT entries
.word gdt,0x9 | gdt base = 0X9xxxx
msg1:
.byte 13,10
.ascii "Loading system ..."
.byte 13,10,13,10
.text
endtext:
.data
enddata:
.bss
endbss:
请问lgdt gdt_48这句程序怎么解释? 和jmpi 0,8 这句程序有什么联系.
另外,gdt, gdt_48, idt_48 这几个表怎么理解?
哪位大虾能帮忙, 急急!