我的学习之旅(11) start32.s

来源:互联网 发布:tcl网络电视怎么开机 编辑:程序博客网 时间:2024/06/14 20:16
/*拷贝linux head.s部分代码*/setup_idt: lea ignore_int,%edx movl $0x00080000,%eax movw %dx,%ax  /* selector = 0x0008 = cs */ movw $0x8E00,%dx /* interrupt gate - dpl=0, present */ lea idt,%edi mov $256,%ecxrp_sidt: movl %eax,(%edi) movl %edx,4(%edi) addl $8,%edi dec %ecx jne rp_sidt lidt idt_descr retsetup_gdt: lgdt gdt_descr ret.align 2ignore_int:/*do nothing*/  iret /*拷贝linux head.s部分代码*/.align 2.word 0idt_descr: .word 256*8-1  # idt contains 256 entries .long idt.align 2.word 0gdt_descr: .word 256*8-1  # so does gdt (not that that's any .long gdt  # magic number, but it works for me :^) .align 8idt: .fill 256,8,0x0  # idt is uninitializedgdt: .quad 0x0000000000000000 /* NULL descriptor */ .quad 0x00c09a0000003fff /* 64Mb */ .quad 0x00c0920000003fff /* 64Mb */ .quad 0x0000000000000000 /* TEMPORARY - don't use */ .fill 252,8,0   /* space for LDT's and TSS's etc */


 

0 0
原创粉丝点击