文档章节

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

Cobbage
 Cobbage
发布于 2013/12/31 15:42
字数 424
阅读 27
收藏 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

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

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

        

     

© 著作权归作者所有

共有 人打赏支持
Cobbage

Cobbage

粉丝 49
博文 145
码字总数 72911
作品 1
闵行
QA/测试工程师
私信 提问
进入保护模式(五)简单任务的安装

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

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

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

eacdy0000
2017/10/16
0
0
在loader程序中涉及到的CPU模式切换

在实模式下开启4GB的物理内存地址寻址(称之为Big Real Mode) 通过A20快速门(Fast Gate)修改0x90端口的数据, 对其进行置位(类似于打开一个开关), 开启 使用CLI汇编指令关闭外部中断 使用lgdt加...

megachen
10/09
0
0
汇编语言程序设计读书笔记(GAS版)

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

ryanliue
07/24
0
0
(汇编初级问题)请问这里是用什么命令输出的

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

qinuxman
2012/10/26
455
1

没有更多内容

加载失败,请刷新页面

加载更多

Apache Sentry架构介绍

cdh版本的hadoop在对数据安全上的处理通常采用Kerberos+Sentry的结构。 kerberos主要负责平台用户的权限管理,sentry则负责数据的权限管理。 下面我们来依次了解一下: Kerberos包含一个中心...

hblt-j
26分钟前
0
0
First Bad Version(leetcode278)

You are a product manager and currently leading a team to develop a new product. Unfortunately, the latest version of your product fails the quality check. Since each version is......

woshixin
32分钟前
1
0
executor 和task 优先于线程(68)

java.util.concurrent 包里有一个Executor 框架 基于接口的任务执行工具 只需要一行代码 提交一个runnable 方法 优雅的终止(必须做到,不然虚拟机可能不会退出) 对于负载不重的服务 Execut...

Java搬砖工程师
32分钟前
1
0
一条SQL查询语句是如何执行的

123

writeademo
35分钟前
3
0
CSS中position属性( absolute | relative | static | fixed )详解

四个属性的特点 static:无特殊定位,对象遵循正常文档流。top,right,bottom,left等属性不会被应用。 relative:对象遵循正常文档流,但将依据top,right,bottom,left等属性在正常文档流...

简心
40分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部