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

关于在8086/88内存寻址方式

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/18
下载{$ArticleTitle}原创论文样式
在学汇编时,很多初学者对PC的寻址方式和很不理解,甚至是很难理解。的确,这方面的知识是很抽象的,需要比较强的空间想象能力。尤其是我们在输入字符串时,那这些字符是如何进行排列的呢?对于,这个问题,我相信很多初学者也是很难想象是如何排列。但是,我可以这样比喻:内存就是有很多栋“楼房”,“楼房”又是由“单元号”,“门户号”组成,那“楼房”就相当于内存地址的段地址,“单元号”就相当于内存的的 偏移地址,“门户号(家)”就相当于“变地址”,而每个单元有16个"门户号(家)",又当我们找到"门户号(家)"后,走进这个"门户号(家)"就会见到里面会有"人",而我们所说的人就是寄存器所指的"内容"了,我画个图给你们看就会一目了然了。


用DEBUG的D命令得出这样的效果:


|---------->0B1F就是"楼房"------>段地址
|
|     |------>右边的就是"单元号"--->偏移地址
|     |
|     |            |-------->这部分就是"门户号"----->变地址
|     |          |<------------------------------------------>|
0B1F:0100 00 80 FF 02 75 05 C6 46-00 00 C3 E8 8C EB B4 3B
0B1F:0110 CD 21 72 39 8B FA 33 C0-8B C8 49 26 34 00 0E 0B
''
''
''
[省略]

看完这个图之后,是不是就很明了呢?但是聪明的人就会有疑问,那我们怎么走进"门户号(家)"呢?问得好,所以了为了可以走进"门户号(家)",就出现了一个叫做"寻址方式"的概念!说白了,就是教你如何找到这个"门户号(家)".呵呵!

好现在都明白了吗?那你们就看看我是怎么理解PC的寻址方式(通俗易懂):
在这我就只介绍比较难理解的:

1:寄存器直接寻址:
你就想成:其实你已经站在你要找的"门户号(家)"面前了,直接敲门进去就OK了!
例子: MOV AX,[2000H]
MOV AX,2000H -->2000H为存放操作数单元号的符号地址
上面两者是不等效的

2:寄存器间接寻址方式:
你就想成:你已经站在你要找的"门户号(家)"的"单元号",你要找到它,必须知道它在当前"单元号"几楼.假如它在6楼,那你就上到6楼就OK了!!注意,最高只有16楼,因为什么呢?那就用DEBUG的D命令看看呀,慢慢数哦,呵呵!!
例子: MOV AX,[BX]

计算公式: 物理地址=16d*(DS)+(BX)
物理地址=16d*(DS)+(SI)
物理地址=16d*(DS)+(DI)
物理地址=16d*(SS)+(BP)

3:寄存器相对寻址方式:
你就想成:你要找的"门户号(家)"其实就在你家的楼上或者楼下,你要找到它,就 必须知道它在你楼上几楼,或者在楼下几楼!就OK了!
例子: MOV AX,COUNT[SI]
MOV AX,[COUNT+SI]
其中 COUNT为位移量的符号地址


计算公式: 物理地址=16d*(DS)+(BX)+8位位移量
或+(SI) 或 16位位偏移量
或+(DI)


物理地址=16d*(SS)+(BP)+8位偏移量


4:基址变址寻址方式:
你就想成:你要找的"门户号(家)"是跟住在同一栋楼的不同"单元号",你要找到它,就必须知道它是该栋的哪个"单元号",并且住在几楼!那样你就可以找到它了 !
例子: MOV AX,[BX][DI]
MOV AX,[BX+DI]

计算公式: 物理地址=16d*(DS)+(BX)+(SI)
或+(DI)
物理地址=16d*(SS)+(BP)+(SI)
或+(DI)


5:相对基址变址寻址方式:
你就想成:你就想成:你要找的"门户号(家)"是跟住在同一栋楼的不同"单元号",它比你高几层楼或者低几层楼,然后用的你目前的楼数+/-就可以

  • 上一篇资讯: 中断和异常的转移方法
  • 下一篇资讯: 高级汇编语言技术
  • 网学推荐

    免费论文

    原创论文

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