80386实模式编程模型

80386 汇编程序设计 80386实模式下编程II(七) 虽然80386处理器要较以前的处理器的功能大大增强,但这些功能只能在保护模式下才能全部得到发挥。在实模式下最大寻址空间只有1M,但在保护模式最大 寻址空间可达4G,可以访问到所有的物理内存。同时由于引入虚拟内存的概念,在程序设计中可使用的地址空间为64TB。80386处理器采用了可扩充的分 段管理和可选的分页管理机制,这两个存储管理机制由MMU(Memory Management Unit)部件来 阅读详情

概括:当80386上电复位后,进入实模式状态,本文就介绍80386在实模式下的编程模型,采用和8086同样的叙述结构,相同的部分会省略。

一、寄存器

1.1、80386寄存器结构图如下

1.2、由上图可知,80386的寄存器和8086相比,区别如下:

■ 所有的寄存器都被扩展到了32位,其中EAX,EBX,ECX,EDX可以被16位或者8位方式读写。

■ 段寄存器又多了两个FS,GS。

■ 标志寄存器多了一些为保护模式下利用的标志位。

二、存储器接口

虽然80386拥有32根地址线,可以寻址4G的内存,但是为了和8086兼容,在实模式下任然采用8086的段机制,而且段的大小和粒度和8086一样。

三、寻址方式

除了寄存器被扩展到32位以外,80386灵活的存储器寻址方式是又一大特色,基址变址不再像8086那样死板,使汇编编程更加灵活,也更有利于高级语言的编译器进行优化。

3.1、寄存器和立即数寻址和8086相同。

3.2、存储器寻址方式兼容8086的16位的寻址模式,同时增加更加灵活的32位模式寻址方式,见下图:

■ 由基址决定所在段,再未指明段的情况下,EBP,ESP对应的是SS段,其他的默认对应DS段。

■ ESP不能用于变址。

■ 比例因子的存在有利于对应各种数据类型。

四、指令系统 [Label:] Operator [Operand1[,Operand2]][;comment]

80386的指令系统和8086相比最主要的区别还是寄存器位数的区别,完全兼容8086指令系统。

下图只列出80386指令相对于8086指令除了位数和寻址方式以外的不同之处。



80386 汇编程序设计 80386实模式下编程(六) 80386在实模式下是一个更快的8086,它不但可以进行32位操作,而且还可以进32位寻址,并且 还可以使用80386的扩展指令。不过,由于是在实模下,寻址的最大空间为1M。在一个段内,段的最大长度不超过64K,否则就会发生异常。在8086下定义一个段的完整格式是:段名 [定位类型] [组合类型] [‘类别’]80386下定义一个段的完整格式是:段名 [定位类型] [组合类型] [‘类别’] [属 阅读详情

相关推荐

80386保护模式编程深入指南

本文还有配套的精品资源,点击获取 简介:80386处理器在保护模式下为现代操作系统提供了基础,实现了内存保护、多任务处理和虚拟内存等特性。本文深入探讨保护模式的概念、80386架构及其保护模式编程,包括启动保护模式、内存管理机制、内存保护、多任务处理、中断与异常处理、编程实践和系统调用等方面。 1. 保护模式概念 1.1 保护模式的定义 保护模式是x8...

weixin_30674431的博客 897

80386 寄存器

80386:;=================================================  A1:General Register(通用寄存器)  EAX,EBX,ECX,EDX,ESI,EDI,ESP,EBP,  它们的低16位就是8086的  AX,BX,CX,DX,SI,DI,SP,BP  ;-------------------------     EAX:累加器      EBX:基址寄存器      ECX:计数器      EDX:数据寄存器      ESI:源地址指

codeferever的专栏 1063

自己编写的80386虚拟机NXVM

一个完整的小型虚拟机,模拟了IBM PC/AT的诸多设备:80386 CPU,内存,中断控制器,实时时钟,软驱,硬盘,DMA,键盘和显示器…… 能在Linux终端窗口、Win32窗口(此时还模拟了点阵字体)、Win32控制台这3种条件下运行,很好玩。 由于保护模式还不完整,所以暂时只能跑MS-DOS 6.22。 此处仅提供源码下载,若需要DOS镜像、开发设计文档和其他资料请移步我的BLOG。

80386 控制转移指令,串操作指令 (四)

控制转移指令,串操作指令80386控制转移指令包括:转移指令,循环指令,过程调用和返回指令。A.转移指令包括无条件转移指令JMP和条件转移指令,无条件转移指令分为段内直接转移,段内间接转 移,段间直接转移,段间间接转移。由于80386有保护模式和实模式,在实模式下,段内转移的范围在-128~127,段间转移最大范围为64K。在保护 模式需要用48位指针,即CS:EIP(16位+32位)。条件转

ANSWER 的专栏 2045

80386编程80386编程80386编程

80386编程,学os Linux先看它。

intel 80386程序员参考手册

在《linux内核完全注释》这本书中,作者说明了要想弄懂内核的知识,那么前提条件之一是要了解intel80386硬件方面的知识,当初linux的创始人也是这么学出来的。

80386的寄存器组成

   写这篇文章,完全是因为学习保护模式需要这些知识,读者完全可以走马观花,大致看看有什么内容,知道需要的时候来查这篇文章就可以了,完全没有必要抵抗着困意非要把这篇文章认真看完,记住里面每一个寄存器里每一位的定义,但是以后的文章如果需要,一定要记得回来查查相关的内容。    80386共提供7种类型的32位寄存器,如下:通用寄存器(EAX、EBX、ECX、EDX

游手好弦 信步涂鸦 1604

80386汇编语言参考手册

汇编语言。80386,保护模式。汇编语言。80386,保护模式。

80386的各种寄存器一览

注:本分类下文章大多整理自《深入分析linux内核源代码》一书,另有参考其他一些资料如《linux内核完全剖析》、《linux c 编程一站式学习》等,只是为了更好地理清系统编程和网络编程中的一些概念性问题,并没有深入地阅读分析源码,我也是草草翻过这本书,请有兴趣的朋友自己参考相关资料。此书出版较早,分析的版本为2.4.16,故出现的一些概念可能跟最新版本内核不同。 此书已经开源,阅读地址 htt

Super的博客 1465

零基础玩转华为AP 4050DN-HD:FAT模式家庭无线网络配置实战

本文为零基础用户提供华为AP 4050DN-HD从FIT模式转换为FAT模式的完整实战教程。详细介绍了固件升级、模式转换以及配置家庭无线网络(包括路由、DHCP、Wi-Fi和NAT)的每一步操作,帮助用户将企业级瘦AP改造为高性能家庭胖AP,打造稳定可靠的家庭网络环境。

weixin_29196613的博客 628

2022年电赛E题声源定位跟踪系统

电赛声源定位

qq_53357019的博客 2万+

i386 寄存器整理

i386的寄存器    80386作为80X86系列中的一员,必须保证向后兼容,也就是说,既要支持16位的处理器,也要支持32位的处理器。在8086中,所有的寄存器都是16位的,下面我们来看一下80386中寄存器有何变化: ·      把16位的通用寄存器、标志寄存器以及指令指针寄存器扩充为32位的寄存器 ·      段寄存器仍然为16位。 ·      增加4个32位的控制寄存器

xueye3000的专栏 1476

手机拍照也能玩高光谱?教你用TensorFlow Lite在Android上实现实时RGB转高光谱

本文介绍了如何利用TensorFlow Lite在Android设备上实现实时RGB到高光谱的图像重构技术。通过深度学习模型优化和移动端部署策略,使智能手机具备专业级光谱分析能力,适用于农业检测、化妆品分析等多个领域。

weixin_29091105的博客 244

实模式和保护模式区别及寻址方式

  实模式和保护模式区别及寻址方式 转载请注明出处:http://blog.youkuaiyun.com/rosetta 64KB-4GB-64TB?     我记得大学的汇编课程,组成原理课里老师讲过实模式和保护模式的区别,在很多书本上也有谈及,无奈本人理解和感悟能力实在太差,在很长一段时间里都没真正的明白它们的内含,更别说为什么实模式下最大寻址空间为1MB?段的最大长度不超过64KB?而保护模式下...

终身学习的程序猿 4万+

Matlab+Matpower实战:手把手教你生成IEEE14节点FDIA攻击数据集(附完整代码)

本文提供了一份基于Matlab与Matpower工具构建IEEE14节点FDIA攻击数据集的完整实战指南。通过动态负荷数据模拟、潮流计算、状态估计及隐蔽攻击向量注入,手把手教你生成可用于电力系统网络安全研究的仿真数据集,并附有核心代码与调试技巧。

bean的博客 397

Renesas:定时器输入捕获

一、PWM输入捕获 1、Smart Configurator配置 注意:在使用前,需要使能对应的定时器!否侧无法正常进行输入捕获! 2、脉冲宽度的获取 如何区分高低电平的脉冲宽度:最常用的方法就是在触发中断后,判断IO口的高低电平,来确认是上升沿触发的中断还是下降沿触发的中断。 若无法进入中断,可查看:Renesas:配置中断的常规流程 (1)中断方式(Smart Configurator生成的代码) #pragma interrupt r_Config_TAUB0_0_i...

不吃鱼的猫的博客 2479

80386汇编

80386汇编知识 与汇编语言略有不同,是一门全新的编程语言,尽管继承了汇编语言的语法. 80836寄存器 通用寄存器(EAX EBX ECX EDX,ESP,EBP,ESI,EDI) 段寄存器(CS SS DS ES FS GS) 指令寄存器和变址寄存器(EIP EFLAGS) 系统地址寄存器(GDTR IDTR LDTR … 控制寄存器(CR0 CR1 CR2 CR3 CR4) 调试寄存器...

lonmar的博客 2224

Fastwhisper + Pyannote 实现 ASR + 说话者识别

最近在研究ASR相关的业务,也是调研了不少模型,踩了不少坑,ASR这块,目前中文普通话效果最好的应该是阿里的modelscope上的中文模型了,英文的话,还是非whisper莫属了,而且whisper很变态,粤语效果也还不错,因此,如果实际业务中需要涉及到不同的语言,还是更推荐whisper多一点faster-whisper是使用CTranslate2对OpenAI的Whisper模型的重新实现,CTranslate2是一个用于Transformer模型的快速推理引擎。

qq_44193969的博客 1万+

实模式与保护模式

基础之概念 本应清晰,而我心知混混沌沌,故网摘几篇,作为笔记:————————————————————————————————————————80386处理器有3种工作模式:实模式、保护模式和虚拟86模式。实模式和虚拟86模式是为了和8086处理器兼容而设置的。在实模式下,80386处理器就相当于一个快速的8086处理器。保护模式是80386处理器的主要工作模式。在此方式下,80386可以寻址4   GB的地址空间,同时,保护模式提供了80386先进的多任务、内存分页管理和优先级保护等机制。为了在保护模式下

followingturing 追随图灵的路上... 4527

Label Studio 数据标注平台,大模型预训练与微调必备

摘要:LabelStudio是一款开源数据标注工具,支持文本、图像等多种数据类型的标注。本文介绍了其安装方法(通过conda创建环境并pip安装)、基础使用流程(创建项目、导入数据、设置标签、标注导出)以及AI自动标注功能的实现。重点讲解了如何通过MLBackend集成LangChain模型实现自动标注:创建自定义模型类、构建预测链、处理返回结果,最后配置到LabelStudio项目中。该功能可显著提升标注效率,标注人员只需在AI预测结果基础上进行修正。

技术引领业务创新 287

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

80386ASM程序设计基础

    80386ASM程序设计基础     kingcaiyao        80386 ASM程序设计基础,呵呵,这是最近一段时间我的业余爱好。本期将连续推出若干篇有关80386ASM程序设计的基础,主要介绍80386ASM指令的详细用法及如何在80386实模式下,保护模式下及虚拟8086模式编程以及我会详细介绍80386下的段页管理机制,我会将80386下的指令与8086下的相同指令进行比

Hi, CT here! 2865

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

80286 与 80386,实模式与保护模式切换编程

学习自 狄泰软件 1 EAX与AX不是独立的,EAX是32位的寄存器,而AX是EAX的低16位。 2 or 对两个操作数进行逻辑(按位)或操作 80286 虽然有了保护模式,但其依然是 16 位的 CPU ,其通用寄存器还是 16 位宽,但其与 8086 不同的是其地址线由 20 位变为了 24 位,即寻址空间变成了 24 次方,等于 16MB 大小。虽然80286可以将地址线变成了24位,可以访问16MB的内存,但是其用来寻址的通用寄存器还是16位的,也没有突破一个寄存器只能访问64kb空间的限制,如

奶牛养殖场小马 1321

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

X86实模式与保护模式简介

X86实模式与保护模式简介 X86实模式与保护模式物理地址的计算方式

qq_45577173的博客 3067

操作系统15----80386处理器基础

80386处理器基础 Intel 80386运行模式 实模式 保护模式 Intel 80386内存架构 逻辑地址(虚拟地址) 线性地址 物理地址 Intel 80386寄存器 General Register(通用寄存器) Segment Register(段寄存器)...

大魔王 1695
上一篇: 80x86存储器组织结构
下一篇: 80386保护模式编程模型
codesnail
博客等级 码龄18年 113粉丝 46原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值