当前位置: 网学 > 编程文档 > 汇编语言 > 正文

学习汇编前你应该知道的知识2 内存映象

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/18
下载{$ArticleTitle}原创论文样式
sp;  ''修改命令
F000:0000    04.00    E8.00    A2.00    FF.00    F9.00    C3.00''注意,.后面的是我改的,把这几个值都改成0了。
-d f000:0000 0005 ''再次显示这个区的数据。
F000:0000    04 E8 A2 FF F9 C3                                 
-
通过上面测试,发现该区数据仍然未改变。但你要是试别的RAM区的,肯定会变。如果想试你自己试试吧。

    显示缓冲区:在文本方式下,B800:0000开始的地址保存着屏幕上每个字符位置的值。在文本方式下,屏幕被分为80 X 25。每个位置有两个值,一个值是ASCII字符,一个值是该ASCII的属性值(主要是颜色)。所以一个屏幕共有80X25X2=400个字符。
我们来改:
-d b800:0000 0010 ''显示屏幕缓冲区的内容,注意此时本行最左边的“-”是屏幕左上角。
B800:0000    2D 07 64 07 20 07 62 07-38 07 30 07 30 07 3A 07    -.d. .b.8.0.0.:.
B800:0010    30                                                  0
-
看上面的命令,屏幕最上边一行是“-d b800:0000 0010”,所以他的内容就是“2D 07 64 07 20 07 62 07-38 07 30 07 30 07 3A 07”其中,2D是“-”的ASCII值,07是“-”的属性值。64是“d”的ASCII值,07是“d”的属性值。。。。。
现在修改这些值。我把左上角的字改成黄颜色的“-”,那当然是改b800:0001的属性值了。
-e b800:0001    0e
是不是左上角的颜色变成黄色了吗?
好了,把第二个字符变成绿色的“-”吧?
-e b800:0002 2d 0b
变了吗?

可执行文件内存映象
DOS下可执行文件有两种(BAT是批处理文件,他只是简单调用DOS内部命令或其它程序,所以此处不认为它是可执行文件),一种是COM文件,一种是EXE文件,前面提到,COM文件一般小于64K。EXE文件则可以任意大。为什么呢?
说到这里,还要提到段。每个段64K。段的作用就是数据组织单位。段的类型有三种:代码段(Code Segment,简称CS)、数据段(Data Segment,简称DS)、栈段(Stack Segment,简称SS),另外还有一个附加数据段(Extra Segment,简称ES),它的用与数据段DS可以认为完全一样,当数据段的64K不够用,或你就需要把数据放到两个段中以便移动、复制、比较时,才用到附加数据段ES。(当然,移动、复制、比较操作在一个段中也可以完成)。
1 段的作用。
1.1 代码段(CS),程序装入内存中,DOS怎么知道是从哪里执行呢?答案就是系统自动从代码段指定位置开始执行,并且始终在代码段中执行。内此代码段CS的作用就是保存所有的指令。这里所说的代码也就是汇编指令了。所以编写汇编程序也就主要是编写代码段中的代码。
1.2 数据段(DS)、附加段(ES),顾名思义,数据段中存的就是数据,这些数据供代码段的程序调用。附加段就是附加数据段。作用与数据段相同。
1.3 栈段(SS),这个段非常重要,但实际上,你在使用中,似乎用不着这个段,但实际上,这是黑客编程中最重要的一部分,而且系统会不

  • 下一篇资讯: 汇编语言的重要性
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号