码迷,mamicode.com
首页 > 系统相关 > 详细

linux内核set_base分析

时间:2017-05-31 14:22:57      阅读:266      评论:0      收藏:0      [点我收藏+]

标签:内核   char   ddl   ase   base   add   off   ror   res   

在分析linux中的set_base之前,我们定义 ;eax is TSS0 offset address ;ebx is kernel_base address 0x10000 ;ecx is gdt_address ;edi is TSS0_SEL 0x20 set_base: addl %ebx, %eax ; eax = eax + ebx = 0x10000 + TSS0 offset address addl %ecx, %edi ; edi = edi + ecx = gdt_address + TSS0_SEL movw %ax, 2(%edi) ; *(shou*)((char*)edi + 2) = eax的低位 rorl $16, %eax ; 将eax的高低16位颠倒 movb %al, 4(%edi) movb %ah, 7(%edi) rorl $16, %eax ret

linux内核set_base分析

标签:内核   char   ddl   ase   base   add   off   ror   res   

原文地址:http://www.cnblogs.com/sudochen/p/6923272.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!