永发信息网

ip寻址方式有哪几种

答案:3  悬赏:30  手机版
解决时间 2021-12-28 19:23
ip寻址方式有哪几种
最佳答案
七种寻址方式“
  1、立即寻址方式:

  操作数就包含在指令中。作为指令的一部分,跟在操作码后存放在代码段。

  这种操作数成为立即数。立即数可以是8位的,也可以是16位的。

  例如:

  指令: MOV AX,1234H

  则: AX = 1234H

  2、寄存器寻址方式:

  操作数在CPU内部的寄存器中,指令指定寄存器号。

  对于16位操作数,寄存器可以是:AX、BX、CX、DX、SI、DI、SP和BP等。

  对于8位操作数,寄存器可以是AL 、AH、BL、BH、CL、CH、DL、DH。

  这种寻址方式由于操作数就在寄存器中,不需要访问存储器来取得操作数

  因而可以取得较高的运算数度。

  3、直接寻址方式:

  操作数在寄存器中,指令直接包含有操作数的有效地址(偏移地址)

  注:操作数一般存放在数据段

  所以操作数的地址由DS加上指令中直接给出的16位偏移得到。如果采用

  段超越前缀,则操作数也可含在数据段外的其他段中。

  例如:

  MOV AX,[8054]

  如(DS) = 2000H,

  则执行结果为(AX) = 3050H

  (物理地址=20000+8054=28054H)

  28054H里的内容为3050H

  在汇编语言指令中,可以用符号地址代替数值地址

  如:MOV AX,VALUE

  此时VALUE为存放操作数单元的符号地址。

  如写成:MOV AX,[VALUE]也是可以的,两者是等效的。

  如VALUE在附加段中,则应指定段超越前缀如下:

  MOV AX,ES:VALUE 或 MOV AX,ES:[VALUE]

  4、寄存器间接寻址方式:

  操作数在寄存器中,操作数有效地址在SI、DI、BX、BP

  这四个寄存器之一中。在一般情况下,如果有效地址在

  SI、DI和BX中,则以DS段寄存器中的内容为段值。如果

  有效地址在BP中,则以SS段寄存器中的内容为段值

  例如:

  MOV AX,[SI]

  如果(DS) = 5000H (SI) = 1234H

  则物理地址 = 50000 + 1234 = 51234H

  51234H地址中的内容为:6789H

  执行该指令后,(AX) = 6789H

  5、寄存器相对寻址方式:

  操作数在存储器中,操作数的有效地址是一个基址寄存器(BX、BP)

  或变址寄存器(SI、DI)的内容加上指令中给定的8位或16位位移量之和

  BX 8位 位移量

  EA(有效地址) = BP +

  SI 16位 位移量

  DI

  在一般情况下,如果SI、DI、或BX中的内容作为有效地址的一部分,那么

  引用的段寄存器是DS;如果BP中的内容作为有效地址的一部分,那么引用的

  段寄存器是SS。

  物理地址 = 16d × (DS) + (BX) + 8

  或(SI)或16位位移量

  或(DI)

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

  或16位位移量

  在指令中给定的8位或16位位移量采用补码形式表示。在计算有效地址时,如

  位移量是8位,则被带符号扩展成16位。

  例如:

  MOV AX,[DI+1223H]

  假设,(DS) = 5000H,(DI) = 3678H

  则物理地址 = 50000 + 3678 + 1233 = 5489BH

  5489BH地址中的内容:55AAH

  执行该指令后AX = 55AAH

  下面指令中,源操作数采用寄存器相对寻址,引用的段寄存器是SS: MOV BX,[BP-4]

  下面指令中,目的操作数采用寄存器相对寻址,引用的段寄存器是ES: MOV ES:[BX+5],AL

  指令:MOV AX,[SI+3]与MOV AX,3[SI]是等价的

  6、基址加变址寻址方式:

  操作数在寄存器中,操作数的有效地址由:

  基址寄存器之一的内容与变址寄存器之一的内容相加

  BX SI

  即: EA = +

  BP DI

  在一般情况下,如果BP之内容作为有效地址的一部分,则以SS之内容为段值,否则已DS

  为段值。

  例如:

  MOV AX,[BX][DI]

  如:(DS)=2100H,

  (BX)=0158H,

  (DI)=10A5H

  则EA=0158 + 10A5 = 11FD

  物理地址=21000 + 11FD = 221FDH

  221FDH地址中的内容:1234H

  执行该指令后AX = 1234H

  下面指令中,目的操作数采用基址加变址寻址,

  引用的段寄存器是DS: MOV DS:[BP+SI],AL

  下面指令中,源操作数采用基址加变址寻址,

  引用的段寄存器ES: MOV AX,ES:[BX+SI]

  这种寻址方式使用与数组或表格处理。用基址寄存器存放数组首地址,而用变地寄存器

  来定位数组中的各元素,或反之。由于两个寄存器都可改变,所以能更加灵活地访问数

  组或表格中的元素。

  下面的两种表示方法是等价的:

  MOV AX,[BX+DI]

  MOV AX,[DI][BX]

  7、相对基址加变址寻址方式:

  操作数在存储器中,操作数的有效地址由于基址寄存器之一的内容与变址寄存器之一的

  内容及指令中给定的8位或16位位移量相加得到。

  BX SI 8位

  即: EA = + + 位移量

  BP DI 16位

  在一般情况下,如果BP中的内容作为有效地址的一部分,则以SS段寄存器中的内容为段

  值,否则以DS段寄存器中的内容为段值。

  在指令中给定的8位或16位位移量采用补码形式表示。

  在计算有效地址时,如果位移量是8位,那么被带符号扩展成16位。

  当所得的有效地址操作FFFFH时,就取其64K的模

  例如:

  MOV AX,[BX+DI-2]

  假设,(DS) = 5000H, (BX) = 1223H, DI = 54H, (51275) = 54H, (51276) = 76H

  物理地址= 50000 + 1223 + 0054 + FFFE(-2 各位取反末位加一) = 51275H

  执行该指令后 (AX) = 7654H

  相对基址加变址这种寻址方式的表示方法多种多样,以下四种方法均是等价的:

  MOV AX,[BX+DI+1234H], MOV AX,1234H[BX][DI]

  MOV AX 1234H[BX+DI], MOV AX,1234H[DI][BX]
全部回答
ip classful ip classless
寻址方式 表示指令中操作数所在的方法称为寻址方式。8086/8088有七种基本的寻址方式:立即寻找,寄存器寻址,直接寻址,寄存器间接寻址,寄存器相对寻址,基址加变址寻址,相对基址加变址寻址。 直接寻址、寄存器间接寻址、寄存器相对寻址、基址加变址寻址和相对基址加变址寻址,这五种寻址方式属于存储器寻址,用于说明操作数所在存储单元的地址。由于总线接口单元BIU能根据需要自动引用段寄存器得到段值,所以这五种方式也就是确定存放操作数的存储单元有效地址EA的方法。有效地址EA是一个16位的无符号数,在利用这五种方法计算有效地址时,所得的结果认为是一个无符号数。 除了这些基本的寻址方式外,还有固定寻址和I/O端口寻址等。 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:相对基址变址寻址方式: 你就想成:你就想成:你要找的"门户号(家)"是跟住在同一栋楼的不同"单元号",它比你高几层楼或者低几层楼,然后用的你目前的楼数+/-就可以得出你要找的住在几楼了! 例子: MOV,AX,MASK[BX][SI] MOV,AX,MASK[BX+SI] MOV,AX,[MASK+BX+SI] 以上三个例子是等效的!! 计算公式: 物理地址=16d*(DS)+(BX)+(SI)+8位位移量 或+(DI) 或 16位位偏移量 物理地址=16d*(SS)+(BP)+(SI)+8位位移量 或+(DI) 或 16位位偏移量
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
立夏养生汤喝什么最好
3810=X/6+Y/28
无钥匙启动是什么意思
用无锡话的发音~这句是什么意思?
为什么谷歌输入法在 Photoshop 中无法输入中
四年级上册英语同步练习答案(译林版)
初一数学成绩不错,但考试时计算题老是错,怎
噗 的意思
运用你课外阅读积累的知识,完成下面题目。 (
Two tames need 18 days to complete an engi
苏琼,字珍之,武强人也。幼时随父在边,尝谒
已知直角三角形两条直角边长怎样求斜边长
有谁能介绍一份工作来干 干什么都行我急需20
ppt2007中如何将字体从ms pgothic全局换成宋
上个还行的二本大学真的不好吗?
推荐资讯
情人节有什么节目可以推荐的吗?
电脑主板内存条插槽的卡扣断掉一个我想加个4g
全国名字相同查询系统
百鸟朝凤用在什么场合?
小林的平均步长是0.7米,他从家到学校往返一
一张挥春纸的长度是多少
销售费用有哪些
袁小田与成龙一起拍过的电影有哪些
看图列两道加法算式两道减法算式.
单选题X、Y是第三周期主族元素,电负性:X>Y
怎样将已安装的软件生成桌面快捷方式
有什么工作是能在家里做的呢?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?