文档章节

进入保护模式(十)堆栈的声明

雨中漫步的鱼
 雨中漫步的鱼
发布于 2013/12/31 15:42
字数 424
阅读 24
收藏 0

一、堆栈

       堆栈数据结构中特点是先进后出的。

       堆栈作用有哪些?

                         书上那时候讲了个四则运算的处理,括号匹配类的;进制之间的转换;

                          最简单产生个栈的异常,写个没有结束的递归;

        目前用的环境中堆栈主要用来存储:1.地址环境信息,例如跳转,中断;

                                                  2.参数传递,或者直接寄存器;

                                                  3.异常产生的错误信息也是存在这里的

       在保护模式下对栈的权限使用是很严格的,当前的权限(CPL)要要大于等于目标(DPL)的权限

       并在任务切换的时候信息保存也是要在栈中切换的,对后面实现多任务(用户态)很重要的;

       当用户-》内核 堆栈的信息要转移的 由于请求不了高权限的堆栈内容要转移。

二、内容大小的声明

       (1)在实模式下地址方式是段:偏移量

           1.1由于堆栈的寻找地址减法的

           1.2所以声明一个数据段,然后最后一个位置指向sp;

               这个数据段就是大小了

---------------------------------------------------

       (2)保护模式下下的那

              2.1也可以像上面那样声明,直接简单

              2.2另一种方法自己计算

                  书上给的例子是 偏移地址 0x00007C00    大小《0xFFFFE000 初识地址0

                =》 0XFFFFFFFF       0XFFFFE000

                     0X00007C00      0X0007C00

                     0X0007DFF       0x00006C00

--------------------------------------------------------

        下面就看设置公用的栈地址,还是私用的了

        

     

© 著作权归作者所有

共有 人打赏支持
雨中漫步的鱼

雨中漫步的鱼

粉丝 48
博文 134
码字总数 68782
作品 0
闵行
QA/测试工程师
进入保护模式(五)简单任务的安装

一、任务 任务是动态的概念,程序的执行状态。程序给的解释就是静态的,例如桌面上放了个五子棋的程序。 为了保存任务的状态,并在下次重新执行程序的时候恢复它们,每个任务都应当拥有一个额...

Cobbage
2013/12/19
0
0
理解Eureka的自我保护模式

本文我们来探讨Eureka的自我保护模式。自我保护模式是Eureka的重要特性。进入自我保护模式最直观的体现,是Eureka Server首页输出的警告,如图4-10所示。 图4-10 Eureka Server自我保护模式界...

eacdy0000
2017/10/16
0
0
汇编语言程序设计读书笔记(GAS版)

IA-32平台的寄存器: 寄存器 描述 通用 8个32位寄存器,用于存储正在处理的数据 段 6个16位寄存器,用于处理内存访问 指令指针 单一的32位寄存器,指向要执行的下一条指令码 浮点数据 8个80位...

ryanliue
07/24
0
0
linux汇编学习(4)-----引导linux内核

【完整代码已经归档到 https://github.com/linzhanglong/mini_bootloader 】 引导内核调试了很久,终于调通了,这里主要关键点在于长跳转或者CPU模式切换时候段寄存器的初始化好,否则会跳不...

linzhanglong
2017/12/06
0
0
(汇编初级问题)请问这里是用什么命令输出的

之前只知道调用bios中断10h和dos中断21h,然后读取相应的寄存器数据,来输出内容。 这里的TestRead-》DispAL里面调用的哪个命令是屏幕输出呢? 是怎么输出的呢? 哪些文章或书是有关这些I/O...

qinuxman
2012/10/26
437
1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

49.Nginx防盗链 访问控制 解析php相关 代理服务器

12.13 Nginx防盗链 12.14 Nginx访问控制 12.15 Nginx解析php相关配置(502的问题) 12.16 Nginx代理 扩展 502问题汇总 http://ask.apelearn.com/question/9109 location优先级 http://blog....

王鑫linux
今天
1
0
Nginx防盗链、访问控制、解析php相关配置、Nginx代理

一、Nginx防盗链 1. 编辑虚拟主机配置文件 vim /usr/local/nginx/conf/vhost/test.com.conf 2. 在配置文件中添加如下的内容 { expires 7d; valid_referers none blocked server_names *.tes......

芬野de博客
今天
0
0
spring EL 和资源调用

资源调用 import org.springframework.beans.factory.annotation.Value;import org.springframework.context.annotation.PropertySource;import org.springframework.core.io.Resource;......

Canaan_
今天
1
0
memcached命令行、memcached数据导出和导入

一、memcached命令行 yum装telnet yum install telent 进入memcached telnet 127.0.0.1 11211 命令最后的2表示,两位字节,30表示过期时间(秒) 查看key1 get key1 删除:ctrl+删除键 二、m...

Zhouliang6
今天
1
0
Linux定时备份MySQL数据库

做项目有时候要备份数据库,手动备份太麻烦,所以找了一下定时备份数据库的方法 Linux里有一个 crontab 命令被用来提交和管理用户的需要周期性执行的任务,就像Windows里的定时任务一样,用这...

月夜中徘徊
今天
1
1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部