下面开始调试10-2.asm
0001aae2: ( ): mov ax, 0x1aaa ; b8aa1a
#DSEG段起始地址 0x1aaa
(0)[0x00000001aaf9] 1aae:0019 (unk. ctxt): mov ax, 0x1ab7 ; b8b71a
#CSEG2段的起始地址 0x1ab7
(0)[0x00000001ab09] 1aae:0029 (unk. ctxt): mov ax, 0x1abc ; b8bc1a
#CSEG3段的起始地址 0x1abc
ss:0x1aaa,dh=0x00009301, dl=0xaaa0ffff, valid=1
#加载之前的GDT
<bochs:31>info gdt
Global DescriptorTable (base=0x000000000010d79b, limit=24):
GDT[0x00]=32-BitTSS (Available) at 0xf0eb7546, length 0x60673
GDT[0x01]=16-BitTrap Gate target=0x4f00:0xb8fe04e8, DPL=2
GDT[0x02]=32-BitInterrupt Gate target=0xc88b:0xc12b0200, DPL=1
You can listindividual entries with 'info gdt [NUM]' or groups with 'info gdt [NUM] [NUM]'
#加载之后的GDT
<bochs:34>info gdt
Global DescriptorTable (base=0x000000000001aaa0, limit=55):
GDT[0x00]=???descriptor hi=0x00000000, lo=0x00000000
GDT[0x01]=Codesegment, base=0x0001ab70, limit=0x0000004e, Execute-Only, Non-Conforming,32-bit
GDT[0x02]=Codesegment, base=0x0001abc0, limit=0x0000ffff, Execute-Only, Non-Conforming,16-bit
GDT[0x03]=Datasegment, base=0x000ffff0, limit=0x0000000f, Read-Only
GDT[0x04]=Datasegment, base=0x000b80a0, limit=0x0000007f, Read/Write