实模式与保护模式切换实例
日期:2007年11月6日 作者: 查看:[大字体 中字体 小字体]-
本文介绍两个实现实模式与保护模式切换的实例,通过他们说明如何实现实模式与保护模式的切换,也说明保护模式下的80386及其编程。
<一>演示实模式和保护模式切换的实例(实例一)
实例一的逻辑功能是,以十六进制数的形式显示从内存地址110000H开始的256个字节的值。本实例指定该内存区域的目的仅仅是想说明切换到保护模式的必要性,因为在实模式下不能访问该指定内存区域,只有在保护模式下才能访问到该指定区域。
本实例的具体实现步骤是:(1)作切换到保护方式的准备;(2)切换到保护方式;(3)把指定内存区域的内容传送到位于常规内存的缓冲区中;(4)切换回实模式;(5)显示缓冲区内容。
1.包含文件
386保护模式汇编语言程序用到的包含文件如下所示,该包含文件在后面的程序中还要用到。
;名称:386SCD.INC
;功能:符号常量等的定义
;----------------------------------------------------------------------------
;IFNDEF __386SCD_INC
;__386SCD_INC EQU 1
;----------------------------------------------------------------------------
.386P
;----------------------------------------------------------------------------
;打开A20地址线
;----------------------------------------------------------------------------
EnableA20 MACRO
push ax
in al,92h
or al,00000010b
out 92h,al
pop ax
ENDM
;----------------------------------------------------------------------------
;关闭A20地址线
;----------------------------------------------------------------------------
DisableA20 MACRO
push ax
in al,92h
and al,11111101b
out 92h,al
pop ax
ENDM
;----------------------------------------------------------------------------
;16位偏移的段间直接转移指令的宏定义(在16位代码段中使用)
;----------------------------------------------------------------------------
JUMP16 MACRO Selector,Offset
DB 0eah ;操作码
DW Offset ;16位偏移量
DW Selector ;段值或段选择子
ENDM
;----------------------------------------------------------------------------
;32位偏移的段间直接转移指令的宏定义(在32位代码段中使用)
;----------------------------------------------------------------------------
COMMENT <JUmp32>
JUMP32 MACRO Selector,Offset
DB 0eah ;操作码 - [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] 下一页
-
- 实模式与保护模式切换实例 相关文章:
- ·格言警句:诚实做人格言
- ·女人们听好了:其实色狼都是好男人
- ·Excel XP函数实用教程精华集
- ·电脑高手必备 Windows系统35招实用技巧
- ·学生成绩管理系统实习
- ·如何实现局域网打印机共享
- ·一个Struts实现分页,增删改查,Tiles,国际化的DEMO
- ·精彩推荐:全Flash网站制作实例
- ·FLASH 8实例教程:瀑布动画制作方法
- ·摄影师镜头下的百姓真实生活
- 实模式与保护模式切换实例 相关软件
- ·实况世界杯2002 中文版
- ·《实况足球胜利11人》GBA中文版
- ·Turbo C/C++ for Windows 集成实验与学习环境 V2007.9.0
- ·疯狂机器3之新实验
- ·Photoshop视频实例教程系列电子书 V1.0
- ·《实况足球8》国际版免CD补丁
- ·实况足球10欧洲版
- ·韩国语实用语法
- ·实况足球9 游戏汉化补丁
- ·AutoCAD 实战妙技百问 VB051118
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
上一篇:纯DOS下无需加载MSCDEX,直接弹出或关闭CD-ROM舱
下一篇:汇编指令与机器码的相互转换
精品推荐
热点TOP10
- ·图象处理中的边缘检测------canny算子
- ·DENX U-Boot及Linux使用手册
- ·UDT协议-基于UDP的可靠数据传输协议
- ·EZ-USB 68013A开发指南
- ·利用 wordXP 实现自动排班
- ·DDK 学习经验
- ·利用Haffman 算法实现对ascii字符文件的压缩
- ·实模式与保护模式切换实例
- ·在Solaris 10 X86上安装Oracle 10g RAC详解 (1)
- ·[仿真实验]操作系统的内存管理
- ·飞机躲避小游戏---是男人就撑100秒的制作
- ·扩展Int 13H调用规范
- ·小议char *和C语言的字符串
- ·跟我一起写 Makefile
- ·[收藏]Web2.01,a rich internet application example
- ·视频与图像RGB/YUV格式详解
- ·Visual C++ ADO数据库编程入门
- ·交换机MAC地址表的形成过程动态演示
- ·基于VC的WinSock网络编程实用宝典
- ·三维粒子系统在AS2中的实现
特别推荐
- ·Symbian系统入门
- ·基于VC的WinSock网络编程实用宝典
- ·扩展Int 13H调用规范
- ·列出System.getProperty的所有返回值
- ·Linux2.4.18内核下基于LKM的系统调用劫持
- ·控件“树”中多选拖放功能的实现
- ·[分形]DLA团簇模型的摸拟
- ·samba和openldap结合实战
- ·教程:XSLT Designer快速入门指南
- ·设计面向Pocket PC浏览器的Web站点
- ·利用Haffman 算法实现对ascii字符文件的压缩
- ·跟我一起写 Makefile
- ·三维粒子系统在AS2中的实现
- ·汇编源码--DOSSYM
- ·消息报文处理组件(C/C++版)
- ·UDT协议-基于UDP的可靠数据传输协议
- ·利用 wordXP 实现自动排班
