汇编网首页登录博客注册
iyt的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
最新评论
最新留言
文章收藏
友情链接

[2010-08-27 18:39] .:: 一段安全的空间 ::.

一段安全的空间
------------------------
    在8086模式中,随意向一段内存空间写入内容是很危险的,因为这段空间中可能存放着重要的系统数据或代码.
在不能确定一段内存空间中是否存放着重要的数据或代码的时候,不能随意向其中写入内容.
    不要忘记,我们是在操作系统的环境中工作,操作系统管理所有的资源,也包括内存,如果我们需要向内存空间写入数据的话,要使用操作系统给我们分配的空间,而不应该直接用地址任意指定内存单元,向里面写入.
    但是,同样不能忘记,我们正在学习的是汇编语言,要通过它来获得底层的编程体验,理解计算机底层的基本工作机理.所以我们尽量直接对硬件编程,而不去理会操作系统.
我们似乎面临一种选择,是在操作系统中安全,规矩地编程,还是自由,直接地用汇编语言去操作真实的硬件,了解那些被操作系统掩盖的真相?在大部分的情况下,我们选择后者,除非我们就是在学习操作系统本身的内容.
    注意,我们在纯DOS方式下,可以不理会DOS,直接用汇编语言去操作真实的硬件,因为运行在CPU实模式下的DOS,没有能力对硬件系统进行全面,严格地管理.但在XP,UNIX这些运行于CPU保护模式下的操作系统中,不理会操作系统,用汇编语言去操作真实的硬件,是根本不可能的.硬件已被这些操作系统利用CPU保护模式所提供的功能全面而严格地管理了.
    在后面的课程中,我们需要直接向内存中写入内容,又不希望发生异常,所以要找到一段安全的空间供我们使用.在一般PC机中,DOS方式下,DOS和其他全法的程序一般都不会使用0:200~0:2FF的256个字节的空间.所以,我们可以使用这段空间是安全的.还过谨慎起见,在进入DOS后,我们可以先用DEBUG查看一下,如果单元的内容都是0的话,则证明DOS和其他合法的程序没有使用这里.
评论次数(0)  |  浏览次数(757)  |  类型(默认类型) |  收藏此文  | 
 
 请输入验证码  (提示:点击验证码输入框,以获取验证码