.globl _start
_start:
lidt idt_48 ! load idt with 0,0
lgdt gdt_48 ! load gdt with whatever appropriate
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 512+gdt,0x9 ! gdt base = 0X9xxx
我用 as 和 ld 生成了一个 test.o test文件
我想看看 代码段 和数据段在内存中的布局 这两个工具怎么用呢 谢谢
比如:
内存地址 16进制 汇编
0x0000000 0x00000 gdt:
..................................
..................................
0x1000000 0x00000 lidt idt_48
把整个程序显示出来
其实就想看看 代码段 和数据段在内存中的布局 谢谢了