linux-0.00head.s中堆栈段的疑问
时间:2011-07-11
来源:互联网
linux-0.00中在控制权转移到任务0中是由于特权级0的代码不能直接把控制权转移到特权级3的代码中执行
所以要设置堆栈段有一段代码:
栈中营造中断返回时的场景。
57pushl $0x17 # 把任务0当前局部空间数据段(堆栈段)选择符入栈。
58pushl $init_stack # 把堆栈指针入栈(也可以直接把ESP入栈)。
59pushfl # 把标志寄存器值入栈。
60pushl $0x0f # 把当前局部空间代码段选择符入栈。
61pushl $task0 # 把代码指针入栈。
我的疑问是在设置这段堆栈段时的顺序问题。为什么是先数据段进栈然后是标志寄存器,然后是代码段
程序转移时堆栈段保存的顺序也是这样吗
具体的保存的堆栈段的结构是什么?
GOOGLE实在查不到啦
很多教材只说啦保存的内容,并没有说明在保存时的详细系结构怎样
求高手解答
所以要设置堆栈段有一段代码:
栈中营造中断返回时的场景。
57pushl $0x17 # 把任务0当前局部空间数据段(堆栈段)选择符入栈。
58pushl $init_stack # 把堆栈指针入栈(也可以直接把ESP入栈)。
59pushfl # 把标志寄存器值入栈。
60pushl $0x0f # 把当前局部空间代码段选择符入栈。
61pushl $task0 # 把代码指针入栈。
我的疑问是在设置这段堆栈段时的顺序问题。为什么是先数据段进栈然后是标志寄存器,然后是代码段
程序转移时堆栈段保存的顺序也是这样吗
具体的保存的堆栈段的结构是什么?
GOOGLE实在查不到啦
很多教材只说啦保存的内容,并没有说明在保存时的详细系结构怎样
求高手解答
作者: ccccdddxxx 发布时间: 2011-07-11
试试用bochs这两个调试命令看看
dump_cpu可以看cpu状态
print-stack可以看当前堆栈数据
dump_cpu可以看cpu状态
print-stack可以看当前堆栈数据
作者: ww2000e 发布时间: 2011-07-11
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28