cpu工作模式问题,保护模式

问题描述

cpu工作模式问题,保护模式

1.为什么用汇编写的16位程序在windows下运行总是一闪而过,必须进入command命令行才能运行?
是因为windows工作在保护模式下,而命令行是虚拟8086模式?

2.windows系统中如何切换到实模式下,windows提供软件进行切换吗?还是根本就不能切换,
只能切换到虚拟模式,必须通过汇编程序从保护模式切换到实模式。

3.80386的保护模式编程是不是直接可以在windows下运行调试,而不用进入命令行工具

时间: 2024-10-16 04:29:16

cpu工作模式问题,保护模式的相关文章

深入理解计算机系统-之-内存寻址(二)--存储保护机制(CPU实模式与保护模式)

cpu的保护模式由来 分段机制 8086的诞生,标志着Intel 正式进入了x86时代,这是个多么具有纪念意义的日子:1978-6-8.同时,8086的诞生也是处理器内存寻址技术的第一次飞跃. 对于一根实际的.实实在在的.物理的.可看得见.摸得着的内存条而言,处理器把它当做8位一个字节的序列来管理和存取,每一个内存字节都有一个对应的地址,我们叫它物理地址,用地址可以表示的长度叫做寻址空间.而CPU是如何去访问内存单元里的数据的方式就叫做寻址. 8086得CPU在内存寻址方面第一次引入了一个非常重

保护模式汇编系列之一 - 初探保护模式

为了后面学习操作系统的需要,从今天开始我要研究x86的汇编了.所以我决定开始总结并连载x86的汇编系列,这是第一篇--初探保护模式. 我假定读者接触过16位的汇编语言,并理解汇编语言的基本概念.熟悉8086处理器采用的"段寄存器 * 16 + 偏移地址"的寻址方法. 我们从80386处理器入手.首先,到了80386时代,CPU有了三种运行模式,即实模式.保护模式和虚拟8086模式. 实模式指的是8086CPU的运行模式,不过这是后来提出的概念,在8086时代只有当时的运行模式,自然也就

实模式/保护模式,GDT/LDT的含义

1.实模式.保护模式CPU启动时有两种模式,分别是:实模式 和 保护模式 实模式:不能使用多线程.不能实现权限分级.还不能访问20位以上地址线,也就是说只能访问1M内存(!!!)地址转换公式是:物理地址 = 线性地址 = 段地址*16 + 段偏移 保护模式:操作系统(system模块中的head.s程序)接管CPU后,会使CPU进入保护模式. 包括CPU权限分级. 多任务,内存分页等各种功能. 2.地址转换步骤 地址转换:查全GDT--> 查LDT --> 找到段(确定段基址) -->

汇编实模式与保护模式切换实例

本文介绍两个实现实模式与保护模式切换的实例,通过他们说明如何实现实模式与保护模式的切换,也说明保护模式下的80386及其编程. <一>演示实模式和保护模式切换的实例(实例一) 实例一的逻辑功能是,以十六进制数的形式显示从内存地址110000H开始的256个字节的值.本实例指定该内存区域的目的仅仅是想说明切换到保护模式的必要性,因为在实模式下不能访问该指定内存区域,只有在保护模式下才能访问到该指定区域. 本实例的具体实现步骤是:(1)作切换到保护方式的准备:(2)切换到保护方式:(3)把指定内存

保护模式汇编系列之二 - 中断和异常处理

如果你对中断是什么都不清楚的话,还是先Google一下中断的定义和基本概念吧,这里给出一个链接: http://zh.wikipedia.org/zh/%E4%B8%AD%E6%96%B7 好了,看完了这个链接,我想你已经大致明白了什么是中断,还有中断的作用了吧?我们再来总结下,其实简单说中断就是一种通知机制罢了.我们知道操作系统的一个核心任务就是和连接在主板上的所有的硬件设备进行通信,但是CPU和这些外设的速率根本就不在一个数量级上,倘若CPU向某一个设备发出一个请求并且一直等待反馈结果的话,

探索Oracle11gR2 之 DataGuard_03 三种保护模式

探索Oracle11gR2 之  DataGuard_03   三种保护模式 作者:吴伟龙 Oracle的DataGuard技术有三种实现模式,分别是max performance.max availability.maxprotection这三种模式. 以下是来自Oracle文档的摘要信息: In some situations, a business cannot afford to lose data. In other situations,the availability of the

栈界限-保护模式栈边界的问题

问题描述 保护模式栈边界的问题 X86汇编语言-从实模式到保护模式 有这样一道题:当前栈段描述符的B位是1,基地址为0X00700000,界限值为0XFFFE.那么,在32位模式下,该栈段的有效地址范围是0X00700000~( ).当ESP的内容为0XFFFFF002时,还能压入一个双字吗?为什么?当前栈段是向下扩展的.我的答案是0X00700000+0XFFFFE*0X1000+0XFFF=0X1006FEFFF去掉溢出位=0X006FEFFF不过看到第二问时候我就知道我错了.可是书上又说,

cpu的保护模式如何实现,硬件上,软件上

问题描述 cpu的保护模式如何实现,硬件上,软件上 既然是cpu的保护模式,那么80386的保护模式应该和操作系统无关,那么80386cpu在安装 操作系统之前(裸机),也可以通过编程使用它的保护模式,可以这样理解吗? 386的硬件上由cpu实现,软件上由操作系统实现?

操作系统-保护模式下的中断的问题:关于硬件的中断对应的是哪个中断向量?

问题描述 保护模式下的中断的问题:关于硬件的中断对应的是哪个中断向量? 就是硬件产生中断时,向8259a产生中断信号,然后8259a向CPU发出中断信息,并产生相应的中断向量,然后cpu可以从中读取该中断向量,然后调用相应的中断处理程序,这个调用是在中断描述符表中根据根据 中断向量 * 8 的偏移地址来. 假如上面说法正确(不知道自己理解对不对),那么硬件对应的中断向量是不是固定的? 因为我看到书上的 实时时钟中断 它就是直接对应的是0x70的中断向量(没有设置,中断描述符直接放置在IDT中0x