-
基址加变址寻址方式
2016-08-27 10:37:19操作数在存储器中,其有效地址是一个基址寄存器(BX、BP)和一个变址寄存器(SI、DI)的内容之和。其有效地址的计算公式如公式所示。 在不使用段超越前缀的情况下,规定:如果有效地址中含有BP,则缺省的段寄存器为SS...操作数在存储器中,其有效地址是一个基址寄存器(BX、BP)和一个变址寄存器(SI、DI)的内容之和。其有效地址的计算公式如公式所示。
在不使用段超越前缀的情况下,规定:如果有效地址中含有BP,则缺省的段寄存器为SS;否则,缺省的段寄存器为DS。
例:假设指令:MOV BX, [BX+SI],在执行时,(DS)=1000H,(BX)=2100H,(SI)=0011H,内存单元12111H的内容为1234H。问该指令执行后,BX的值是什么?
解:根据基址加变址寻址方式的规则,在执行本例指令时,源操作数的有效地址EA为:
EA=(BX)+(SI)=2100H+0011H=2111H
该操作数的物理地址应由DS和EA的值形成,即:
PA=(DS)*16+EA=1000H*16+2111H=12111H
所以,该指令的执行效果是:把从物理地址为12111H开始的一个字的值传送给BX。
其执行过程如图所示。
-
相对基址加变址寻址方式
2016-08-27 10:38:22操作数在存储器中,其有效地址是一个基址寄存器(BX、BP)的值、一个变址寄存器(SI、DI)的值和指令中的8位/16位偏移量之和。其有效地址的计算公式如公式所示。 在不使用段超越前缀的情况下,规定:如果有效地址中...操作数在存储器中,其有效地址是一个基址寄存器(BX、BP)的值、一个变址寄存器(SI、DI)的值和指令中的8位/16位偏移量之和。其有效地址的计算公式如公式所示。
在不使用段超越前缀的情况下,规定:如果有效地址中含有BP,则其缺省的段寄存器为SS;否则,其缺省的段寄存器为DS。
指令中给出的8位/16位偏移量用补码表示。在计算有效地址时,如果偏移量是8位,则进行符号扩展成16位。当所得的有效地址超过0FFFFH,则取其64K的模。
例:假设指令:MOV AX, [BX+SI+200H],在执行时,(DS)=1000H,(BX)=2100H,(SI)=0010H,内存单元12310H的内容为1234H。问该指令执行后,AX的值是什么?
解:根据相对基址加变址寻址方式的规则,在执行本例指令时,源操作数的有效地址EA为:
EA=(BX)+(SI)+200H=2100H+0010H+200H=2310H
该操作数的物理地址应由DS和EA的值形成,即:
PA=(DS)*16+EA=1000H*16+2310H=12310H
所以,该指令的执行效果是:把从物理地址为12310H开始的一个字的值传送给AX。其执行过程如图所示。
从相对基址加变址这种寻址方式来看,由于它的可变因素较多,看起来就显得复杂些,但正因为其可变因素多,它的灵活性也就很高。比如:
用D1[i]来访问一维数组D1的第i个元素,它的寻址有一个自由度,用D2[i][j]来访问二维数组D2的第i行、第j列的元素,其寻址有二个自由度。多一个可变的量,其寻址方式的灵活度也就相应提高了。
相对基址加变址寻址方式有多种等价的书写方式,下面的书写格式都是正确的,并且其寻址含义也是一致的。
MOV AX, [BX+SI+1000H] MOV AX, 1000H[BX+SI]
MOV AX, 1000H[BX][SI] MOV AX, 1000H[SI][BX]
但书写格式BX [1000+SI]和SI[1000H+BX]等是错误的,即所用寄存器不能在“[“,”]”之外,该限制对寄存器相对寻址方式的书写也同样起作用。
相对基址加变址寻址方式是以上7种寻址方式中最复杂的一种寻址方式,它可变形为其它类型的存储器寻址方式。下表列举出该寻址方式与其它寻址方式之间的变形关系。 -
七种寻址方式(基址加变址寻址方式)
2018-01-22 19:13:08操作数在存储器中,其有效地址是一个基址寄存器(BX、BP)和一个变址寄存器(SI、DI)的内容之和。其有效地址的计算公式如公式所示。 在不使用段超越前缀的情况下,规定:如果有效地址中含有BP,则缺省的段寄存器为SS...操作数在存储器中,其有效地址是一个基址寄存器(BX、BP)和一个变址寄存器(SI、DI)的内容之和。其有效地址的计算公式如公式所示。
在不使用段超越前缀的情况下,规定:如果有效地址中含有BP,则缺省的段寄存器为SS;否则,缺省的段寄存器为DS。
例:假设指令:MOV BX, [BX+SI],在执行时,(DS)=1000H,(BX)=2100H,(SI)=0011H,内存单元12111H的内容为1234H。问该指令执行后,BX的值是什么?
解:根据基址加变址寻址方式的规则,在执行本例指令时,源操作数的有效地址EA为:
EA=(BX)+(SI)=2100H+0011H=2111H
该操作数的物理地址应由DS和EA的值形成,即:
PA=(DS)*16+EA=1000H*16+2111H=12111H
所以,该指令的执行效果是:把从物理地址为12111H开始的一个字的值传送给BX。
其执行过程如图所示。
-
七种寻址方式(相对基址加变址寻址方式)
2018-01-22 19:13:34操作数在存储器中,其有效地址是一个基址寄存器(BX、BP)的值、一个变址寄存器(SI、DI)的值和指令中的8位/16位偏移量之和。其有效地址的计算公式如公式所示。 在不使用段超越前缀的情况下,规定:如果有效地址中...操作数在存储器中,其有效地址是一个基址寄存器(BX、BP)的值、一个变址寄存器(SI、DI)的值和指令中的8位/16位偏移量之和。其有效地址的计算公式如公式所示。
在不使用段超越前缀的情况下,规定:如果有效地址中含有BP,则其缺省的段寄存器为SS;否则,其缺省的段寄存器为DS。
指令中给出的8位/16位偏移量用补码表示。在计算有效地址时,如果偏移量是8位,则进行符号扩展成16位。当所得的有效地址超过0FFFFH,则取其64K的模。
例:假设指令:MOV AX, [BX+SI+200H],在执行时,(DS)=1000H,(BX)=2100H,(SI)=0010H,内存单元12310H的内容为1234H。问该指令执行后,AX的值是什么?
解:根据相对基址加变址寻址方式的规则,在执行本例指令时,源操作数的有效地址EA为:
EA=(BX)+(SI)+200H=2100H+0010H+200H=2310H
该操作数的物理地址应由DS和EA的值形成,即:
PA=(DS)*16+EA=1000H*16+2310H=12310H
所以,该指令的执行效果是:把从物理地址为12310H开始的一个字的值传送给AX。其执行过程如图所示。
从相对基址加变址这种寻址方式来看,由于它的可变因素较多,看起来就显得复杂些,但正因为其可变因素多,它的灵活性也就很高。比如:
用D1[i]来访问一维数组D1的第i个元素,它的寻址有一个自由度,用D2[i][j]来访问二维数组D2的第i行、第j列的元素,其寻址有二个自由度。多一个可变的量,其寻址方式的灵活度也就相应提高了。
相对基址加变址寻址方式有多种等价的书写方式,下面的书写格式都是正确的,并且其寻址含义也是一致的。
MOV AX, [BX+SI+1000H] MOV AX, 1000H[BX+SI]
MOV AX, 1000H[BX][SI] MOV AX, 1000H[SI][BX]
但书写格式BX [1000+SI]和SI[1000H+BX]等是错误的,即所用寄存器不能在“[“,”]”之外,该限制对寄存器相对寻址方式的书写也同样起作用。
相对基址加变址寻址方式是以上7种寻址方式中最复杂的一种寻址方式,它可变形为其它类型的存储器寻址方式。下表列举出该寻址方式与其它寻址方式之间的变形关系。 -
汇编指令中寻址方式汇总
2020-10-21 17:29:42文章目录立即寻址直接寻址寄存器寻址寄存器间接寻址寄存器相对寻址基址加变址寻址相对基址变址寻址 立即寻址 操作数作为指令的一部分直接写在指令中,这种操作数称为立即数,这种寻址方式也就称为立即数寻址方式。 ... -
寻址方式
2014-02-28 13:33:00与操作数有关的寻址方式有七种,分别是立即寻址,寄存器寻址,直接寻址,寄存器间接寻址,寄存器相对寻址,基址加变址寻址,相对基址加变址寻址;与I/0端口有关的寻址方式有直接端口寻址和间接端口寻址方式。另外... -
8086寻址方式
2016-10-06 11:28:088086 CPU的七种基本的寻址方式 分别是:立即寻址、寄存器寻址、直接寻址、寄存器间接寻址、寄存器相对寻址、基址加变址寻址、相对基址加变址寻址 1. 立即寻址:操作数包含在指令中,是指令的一部分。此时的操作数... -
汇编语言基础四 —— 操作数的寻址方式
2012-04-14 16:30:48微机系统有七种基本的寻址方式:立即寻址方式、寄存器寻址方式、直接寻址方式、寄存器间接寻址方式、寄存器相对寻址方式、基址加变址寻址方式、相对基址加变址寻址方式等。其中,后五种寻址方式是确定内存单元有效... -
ARM的寻址方式
2016-04-22 16:16:34寻址方式可分为五种,分别是立即数寻址,寄存器寻址,寄存器间接寻址,基址加变址寻址方式和相对寻址方式。 立即数寻址: 立即数寻址,操作数本身就在指令中,此操作数称为立即数, MOV R0, #0X00 -
8086 CPU的七种基本的寻址方式【备查】
2010-12-29 10:18:008086 CPU的七种基本的寻址方式: 分别是:立即寻址、寄存器寻址、直接寻址、寄存器间接寻址、寄存器相对寻址、基址加变址寻址、相对基址加变址寻址1. 立即寻址:操作数包含在指令中,是指令的一部分。此时的操作数... -
[国嵌笔记][023][ARM寻址方式]
2015-10-19 10:56:00寻找方式 1.处理器根据指令中给出的信息来找到指令所需操作数的方式 2.立即数寻址 操作数本身在指令中给出,立即数前加”#”表示立即数寻址,操作数在...5.基址变址寻址 利用寄存器中保存的基地址和立即数中保存... -
[学习日记][2-2-2-4][ARM寻址方式]
2017-03-15 02:12:27寻找方式1.处理器根据指令中给出的信息来找到指令所需操作数的方式2.立即数寻址操作数本身在指令中给出,立即数前加”#...基址变址寻址利用寄存器中保存的基地址和立即数中保存的偏移,找到内存地址中的数值作为操作数 -
逆向笔记之汇编(2)
2015-12-19 00:25:29七种基本的寻址方式:立即寻址方式、寄存器寻址方式、直接寻址方式、寄存器间接寻址方式、寄存器相对寻址方式、基址加变址寻址方式、相对基址加变址寻址方式等。其中,后五种寻址方式是确定内存单元有效地址的五种... -
80x86汇编 手记
2014-02-10 17:25:06微机系统有七种基本的寻址方式:立即寻址方式、寄存器寻址方式、直接寻址方式、寄存器间接寻址方式、寄存器相对寻址方式、基址加变址寻址方式、相对基址加变址寻址方式等。其中,后五种寻址方式是确定内存单元有效... -
杨1-2
2014-04-28 21:00:16指令中不使用物理地址,而是使用逻辑地址,由总线接口单元BIU按需要根据段值和偏移自动形成20位物理地址。 寄存器相对寻址方式中,基址或变址寄存器名...对于基址加变址寻址方式,下列表示形式等价: mov ax, -
汇编语言bp寄存器和es寄存器有何用…
2014-08-11 22:52:00实际上,BP可以作SP使用,ES可以作DS使用。除了BP可以作为间接寻址寄存器而SP不能以外,其余的功能基本相同。...一般在(相对)基址加变址寻址方式中,以SS作为默认段地址,否则需要显式指定段寄存器,这也... -
假设指令:MOV BX
2014-04-11 15:52:20在不使用段超越前缀的情况下,规定:如果有效地址中含有BP,则缺省的段寄存器为SS;否则,缺省的段寄存器为DS。...解:根据基址加变址寻址方式的规则,在执行本例指令时,源操作数的有效地址EA为: -
中山汇编第6集与第7集部分
2009-07-18 22:08:32中山汇编第6集与第7集部分 第6种常用寻址方式: ...1. 基址加变址寻址方式 : 操作数在存储器中,操作数的有效地址由基址寄存器之一的内容和变址寄存器之一的内容相加, 即: (BX) (SI) ... -
汇编语言测试题3
2020-11-25 19:58:581、8086CPU在基址加变址的寻址方式中,变址寄存器可以为( D )。 A.BX或BP B.CX或SI C.DX或SI D.SI或DI 2、LOOP指令的循环计数值放在是( C )寄存器中。 A. CL B. BX C. CX D. IP 3.下面各传送指令中... -
汇编语言程序设计 第二版
2012-08-12 14:23:023.7 相对基址加变址寻址方式 3.8 32位地址的寻址方式 习题 第四章 标识符和表达式 4.1 标识符 4.2 简单内存变量的定义 4.2.1 内存变量定义的一般形式 4.2.2 字节变量 4.2.3 字变量 4.2.4 双字变量 4.2.5 六字节变量 ... -
8086/8088汇编语言程序设计教程
2008-10-22 22:52:542.3.7 相对基址加变址寻址方式 2.4 8086/8088指令系统 2.4.1 指令集说明 2.4.2 数据传送指令 2.4.3 堆栈操作指令 2.4.4 标志操作指令 2.4.5 加减运算指令 2.4.6 乘除运算指令 2.4.7 逻辑运算和移位指令 2.4.8 转移... -
计算机组成原理测试题
2011-08-05 22:53:23(2) 用寄存器BX和S的基址变址寻址方式把存储器中的个字节与AL寄存器的内容相加,并把结果送到AL寄存器中。 (3) 用寄存器BX和偏移量0BF2H的寄存器相对寻址方式把存储器中的一个字和 (CX) 相加并把结果送回存储器中... -
ARM应用系统开发详解
2010-03-26 10:07:133.2.3 基址变址寻址 3.2.4 多寄存器寻址 3.2.5 相对寻址 3.2.6 堆栈寻址 3.3 ARM指令集 3.3.1 跳转指令 3.3.2 数据处理指令 3.3.3 乘法指令与乘加指令 3.3.4 程序状态寄存器访问指令 3.3.5 加载/存储指令 3.3.6 批量... -
单片机原理及应用 (电子书)
2009-04-28 11:28:313.1.6 基址寄存器加变址寄存器间接寻址 39 3.1.7 位寻址 40 3.2 指令系统的分类 40 3.2.1 数据传送指令 41 3.2.2 转移指令 45 3.2.3 算术运算指令 49 3.2.4 逻辑运算指令 54 3.2.5 布尔变量操作指令 57 习题 59 第... -
ARM开发详解.pdf
2009-06-20 10:39:503.2.3 基址变址寻址 24 3.2.4 多寄存器寻址 25 3.2.5 相对寻址 25 3.2.6 堆栈寻址 25 3.3 ARM 指令集 25 3.3.1 跳转指令 25 3.3.2 数据处理指令 26 3.3.3 乘法指令与乘加指令 30 3.3.4 程序状态寄存器访问指令 32 ... -
疯狂的程序员
2012-07-18 18:05:32绝影的舅舅和舅妈就在这里教书,早在这学校还 不叫“大学”的时候,绝影已经在学校足球场学骑自行车了。 要说念大学,最忌讳的就是在自己家门口念。哪怕你就住北大院子,也一定要去清华。土匪觉得这学校不错,不光是...