文档章节

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

Cobbage
 Cobbage
发布于 2013/12/31 15:42
字数 424
阅读 24
收藏 0
点赞 0
评论 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

粉丝 46
博文 116
码字总数 63992
作品 0
闵行
QA/测试工程师
进入保护模式(一)

一、实模式下的寻址 实模式下的寻址是 段*16+偏移地址 实模式下的寻址 首先根据选择子得到基地址+偏移地址 二、保护模式下的寻址 1.首先要定义一个段描述付的基地址和界限 |<--------------...

Cobbage ⋅ 2013/12/07 ⋅ 0

进入保护模式(五)简单任务的安装

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

Cobbage ⋅ 2013/12/19 ⋅ 0

C碰到的问题

今天打算做一个显示输出正整数的函数 遇到这样一个问题:1.c中的指针初始化怎么弄?还是不用? 有直接引用的地址还好办; 如果没有的话例如下面的例子我想直接放值的,但是和其他没初始化的地...

Cobbage ⋅ 2014/02/05 ⋅ 0

故障排错-解决迅雷播放器在Windows 10中长时间停止响应

这两天在几家客户那里介绍微软的Windows Azure,有几个精彩的demo我还录制了视频。没成想迅雷播放器在我的Windows 10预览版上似乎得了水土不服之症,每次打开视频,最起码要卡10~15秒钟才正常...

ahpeng ⋅ 2015/04/13 ⋅ 0

linux汇编学习(4)-----引导linux内核

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

linzhanglong ⋅ 2017/12/06 ⋅ 0

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

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

qinuxman ⋅ 2012/10/26 ⋅ 1

springCloud(6):Eureka的自我保护模式、多网卡下的IP选择、Eureka的健康检查

一、Eureka的自我保护模式 进入自我保护模式最直观的体现就是Eureka Server首页的警告,如下图: 默认情况下,如果Eureka Server在一定时间内没有接收到某个微服务实例的心跳,Eureka Server...

我爱大金子 ⋅ 2017/06/25 ⋅ 0

Win32汇编语言核心

一. Win32汇编源程序的结构 hello world程序 .386 .model flat, stdcall option casemap: none include windows.inc include user32.inc includelib user32.lib include kernel32.inc inclu......

呼噜呼噜睡翻天 ⋅ 2014/04/02 ⋅ 0

windows内存分段

1.3.2 Windows的内存管理 在这一节中,读者可以解决初学Win32汇编的两个大疑问: ● Win32汇编中,每个程序都可以用4 GB的内存吗? ● Win32汇编源代码中为什么看不到CS,DS,ES和SS等段寄存器的...

zray4u ⋅ 2016/06/15 ⋅ 0

Linux insides笔记(三)

头不疼鼻子哗哗的 感冒了竟然,宿舍里众人皆感冒一周有余我自岿然不动的神话破灭 伤心 以下正文 程序终于运行到main.c。接着继续配置内核启动环境和参数。 首先把启动参数,就是之前bootloa...

yyliu ⋅ 2015/08/30 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JavaScript零基础入门——(八)JavaScript的数组

JavaScript零基础入门——(八)JavaScript的数组 欢迎大家回到我们的JavaScript零基础入门,上一节课我们讲了有关JavaScript正则表达式的相关知识点,便于大家更好的对字符串进行处理。这一...

JandenMa ⋅ 今天 ⋅ 0

sbt网络问题解决方案

转自:http://dblab.xmu.edu.cn/blog/maven-network-problem/ cd ~/.sbt/launchers/0.13.9unzip -q ./sbt-launch.jar 修改 vi sbt/sbt.boot.properties 增加一个oschina库地址: [reposit......

狐狸老侠 ⋅ 今天 ⋅ 0

大数据,必须掌握的10项顶级安全技术

我们看到越来越多的数据泄漏事故、勒索软件和其他类型的网络攻击,这使得安全成为一个热门话题。 去年,企业IT面临的威胁仍然处于非常高的水平,每天都会看到媒体报道大量数据泄漏事故和攻击...

p柯西 ⋅ 今天 ⋅ 0

Linux下安装配置Hadoop2.7.6

前提 安装jdk 下载 wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.7.6/hadoop-2.7.6.tar.gz 解压 配置 vim /etc/profile # 配置java环境变量 export JAVA_HOME=/opt/jdk1......

晨猫 ⋅ 今天 ⋅ 0

crontab工具介绍

crontab crontab 是一个用于设置周期性被执行的任务工具。 周期性执行的任务列表称为Cron Table crontab(选项)(参数) -e:编辑该用户的计时器设置; -l:列出该用户的计时器设置; -r:删除该...

Linux学习笔记 ⋅ 今天 ⋅ 0

深入Java多线程——Java内存模型深入(2)

5. final域的内存语义 5.1 final域的重排序规则 1.对于final域,编译器和处理器要遵守两个重排序规则: (1)在构造函数内对一个final域的写入,与随后把这个被构造对象的引用赋值给一个引用...

江左煤郎 ⋅ 今天 ⋅ 0

面试-正向代理和反向代理

面试-正向代理和反向代理 Nginx 是一个高性能的反向代理服务器,但同时也支持正向代理方式的配置。

秋日芒草 ⋅ 今天 ⋅ 0

Spring 依赖注入(DI)

1、Setter方法注入: 通过设置方法注入依赖。这种方法既简单又常用。 类中定义set()方法: public class HelloWorldOutput{ HelloWorld helloWorld; public void setHelloWorld...

霍淇滨 ⋅ 昨天 ⋅ 0

马氏距离与欧氏距离

马氏距离 马氏距离也可以定义为两个服从同一分布并且其协方差矩阵为Σ的随机变量之间的差异程度。 如果协方差矩阵为单位矩阵,那么马氏距离就简化为欧氏距离,如果协方差矩阵为对角阵,则其也...

漫步当下 ⋅ 昨天 ⋅ 0

聊聊spring cloud的RequestRateLimiterGatewayFilter

序 本文主要研究一下spring cloud的RequestRateLimiterGatewayFilter GatewayAutoConfiguration @Configuration@ConditionalOnProperty(name = "spring.cloud.gateway.enabled", matchIfMi......

go4it ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部