首页 > TAG信息列表 > pushl
Linux0.11 move_to_user_mode分析
/* * IRET * 当使用IRET指令返回到相同保护级别的任务时,也就是当前的CS中的DPL和堆栈中的DPL相同时 * IRET会从堆栈弹出代码段选择子及指令指针分别到CS与IP寄存器, * 并弹出标志寄存器内容到EFLAGS寄存器。 * * 当使用IRET指令返回到一个不同的保护级别时,也就是当前的CS中linux-0.11分析:boot文件 head.s 第三篇随笔
head.s 参考 [github这个博主的][ https://github.com/sunym1993/flash-linux0.11-talk ] 改变栈顶位置 _pg_dir: startup_32: movl $0x10,%eax mov %ax,%ds mov %ax,%es mov %ax,%fs mov %ax,%gs lss _stack_start,%esp 先是分别ds,es,fs,gs的值都置成了0x10 然后这段·lss