-
2017-06-21 16:58:46
间接寻址和寄存器寻址的比较
间接寻址
优点
扩大了操作数的寻址范围
便于编制程序,方便地完成子程序的返回缺点
访存次数多,执行时间长
寄存器寻址
优点
无须访存,减少执行时间
指令字短,节省存储空间基址寻址与变址寻址的比较
基址寻址主要用于为程序或数据分配存储空间,故基址寄存器的内容通常由操作系统或管理程序确定,在程序运行过程中,值是不可变的,而指令字中的地址码是可变的。
变址寻址中,变址寄存器的内容是用户自己设定的,在程序运行过程中是可变的,而指令字中的地址码是不可变的。编制寻址主要用于处理数组等问题,并且特别适合编制循环程序。
更多相关内容 -
几个寄存器寻址方式
2020-12-29 21:49:34sa:[bx]寄存器间接寻址 sa:[bp]寄存器间接寻址 sa:[si]寄存器间接寻址 sa:[di]寄存器间接寻址 sa:[bx+idata]寄存器相对寻址 sa:[bp+idata] 寄存器相对寻址 sa:[si+idata] 寄存器相对寻址 sa:[di+idata] 寄存器相对...寻址方式名称:
sa:[idata]直接寻址
sa:[bx]寄存器间接寻址
sa:[bp]寄存器间接寻址
sa:[si]寄存器间接寻址
sa:[di]寄存器间接寻址
sa:[bx+idata]寄存器相对寻址
sa:[bp+idata] 寄存器相对寻址
sa:[si+idata] 寄存器相对寻址
sa:[di+idata] 寄存器相对寻址
sa:[bx+si]基址变址寻址
sa:[bx+di] 基址变址寻址
sa:[bp+si] 基址变址寻址
sa:[bp+di] 基址变址寻址
sa:[bx+si+idata]相对基址变址寻址
sa:[bx+di+idata] 相对基址变址寻址
sa:[bp+si+idata] 相对基址变址寻址
sa:[bp+di+idata] 相对基址变址寻址
-
4.4 数据的寻址方式(立即寻址、直接寻址、间接寻址、寄存器寻址、相对地址)
2021-10-04 12:49:594.4 数据的寻址方式4.4.1 指令和数据...AX表示16位寄存器,AH、AL表示其高低字节,可单独使用。 4.4.3 立即寻址 操作数就在指令中,紧跟在操作码后面,作为指令一部分存放在内存的代码段中,该操作数为立即数,这种寻址4.4 数据的寻址方式
4.4.1 指令和数据的寻址方式
寻址方式:确定本条指令的数据地址或下一条要执行的指令地址的方法。
4.4.2 数据寻址方式说明
目的操作数和源操作数均可采用不同的寻址方式;
两个操作数的类型必须一致。
AX表示16位寄存器,AH、AL表示其高低字节,可单独使用。4.4.3 立即寻址
操作数就在指令中,紧跟在操作码后面,作为指令一部分存放在内存的代码段中,该操作数为立即数,这种寻址方式称为立即寻址方式。数据通常采用补码的形式存放。常用于给寄存器赋初值(作用);
举例: MOV AX , 34EAH;
注意
①立即数可以送到寄存器、一个存储单元(8位)、两个连续的存储单元(16位)中去;
②立即数只能作源操作数,不能作目的操作数;
③以A~F打头的数字,前面必须加数字0。
如下指令
MOV AL,3400H ×,前后格式不匹配
MOV AX,34H √,等价于 MOV AX,0034H
MOV 87H,BX ×,立即数不能作为目的操作数
MOV AX,F98AH ×,应为 MOV AX,0F98AH设16位计算机中,存储器宽度为16位,一条指令占据一个机器字。 已知操作码为6位,目的操作数为寄存器编号,占4位; 源操作数寻址方式为 立即数寻址 ,以补码整数形式给出, 则该指令立即数寻址方式的数值范围是多少?
操作码占6位,目的操作数据占4位,那么立即数(源操作数)占6位,按补码的形式,第一位为符号位,所以数值范围为 -32~31 。立即寻址方式的
优点:指令已经提供操作数,无需再次访问存储器。提供操作数最快。
缺点
①操作数为指令一部分,不能修改,适用于给某一寄存器或存储单元赋初值等操作。
②指令中A的位数限制了这类指令所表述的立即数的范围。、4.4.4 直接寻址
存储单元的有效地址EA(即:操作数的有效地址)直接由指令给出。
作用:实现对存储单元的读/写操作。
特点:
访问存储器次数较少;
操作数地址在指令中,灵活性较差。
操作数A的位数限制了操作数的寻址范围。4.4.5 (存储器)间接寻址
操作数所在内存单元的地址通过存储器间接给出。
优点:实现简便,对编程带来较大的灵活性,当操作数地址改变时,只需修改间接地址指示器的单元内容,而不必修改指令,原指令的功能照样实现。这给编程带来很大方便。
多次访问内存,增加了指令的执行时间;占用主存储器单元多。4.4.6 寄存器寻址
操作数包含在寄存器中,寄存器的名称由指令指定。
常用于寄存器之间传递数据。优势是速度快。注意源操作数的长度必须与目的操作数一致。4.4.7 寄存器间接寻址
操作数所在内存单元的地址通过寄存器间接给出。
作用:有效地址可以存放在寄存器中。4.4.8 相对地址
操作数的有效地址是程序计数器PC的内容与n位位移量。
位移量的概念:在寄存器间接寻址给出的偏移地址上,加上一个相对偏移量。位移量是一个带符号的补码机器数。
可有效缩短地址的长度 。
兼具灵活性,只与PC相对位置有关,与绝对地址无关。4.4.9 相对基址寻址
这种寻址方式下,EA是由两部分组成的,基址寄存器BX或BP的内容加上偏移量DISP。
4.4.10 相对变址寻址
这种寻址方式下,EA是由两部分组成的,变址寄存器的内容加上偏移量DISP。
与基址寻址类似。基址寻址,往往变化的是形式地址;变址寻址,往往形式地址不变,变化的是变址寄存器。
4.4.11 相对基址变址寻址
这种寻址方式下,EA是由三部分组成的,基址寄存器BX或BP的内容加上变址寄存器的内容,以及位移量的和。
-
七种寻址方式(立即寻址、寄存器寻址)
2018-01-22 19:09:56一、立即寻址方式 操作数作为指令的一部分而直接写在指令中,这种操作数称为立即数,这种寻址方式也就称为立即数寻址方式。 立即数可以是8位、16位或32位,该数值紧跟在操作码之后。如果立即数为16位或32位,...一、立即寻址方式
操作数作为指令的一部分而直接写在指令中,这种操作数称为立即数,这种寻址方式也就称为立即数寻址方式。
立即数可以是8位、16位或32位,该数值紧跟在操作码之后。如果立即数为16位或32位,那么,它将按“高高低低”的原则进行存储。例如:
MOV AH, 80H ADD AX, 1234H MOV ECX, 123456H
MOV B1, 12H MOV W1, 3456H ADD D1, 32123456H
其中:B1、W1和D1分别是字节、字和双字单元。
以上指令中的第二操作数都是立即数,在汇编语言中,规定:立即数不能作为指令中的第二操作数。该规定与高级语言中“赋值语句的左边不能是常量”的规定相一致。
立即数寻址方式通常用于对通用寄存器或内存单元赋初值。图是指令“MOV AX, 4576H”存储形式和执行示意图。二、寄存器寻址方式
指令所要的操作数已存储在某寄存器中,或把目标操作数存入寄存器。把在指令中指出所使用寄存器(即:寄存器的助忆符)的寻址方式称为寄存器寻址方式。
指令中可以引用的寄存器及其符号名称如下:
8位寄存器有:AH、AL、BH、BL、CH、CL、DH和DL等;
16位寄存器有:AX、BX、CX、DX、SI、DI、SP、BP和段寄存器等;
32位寄存器有:EAX、EBX、ECX、EDX、ESI、EDI、ESP和EBP等。
寄存器寻址方式是一种简单快捷的寻址方式,源和目的操作数都可以是寄存器。
1、源操作数是寄存器寻址方式
如:ADD VARD, EAX ADD VARW, AX MOV VARB, BH等。
其中:VARD、VARW和VARB是双字,字和字节类型的内存变量。在第4章将会学到如何定义它们。
2、目的操作数是寄存器寻址方式
如:ADD BH, 78h ADD AX, 1234h MOV EBX, 12345678H等。
3、源和目的操作数都是寄存器寻址方式
如:MOV EAX, EBX MOV AX, BX MOV DH, BL等。
由于指令所需的操作数已存储在寄存器中,或操作的结果存入寄存器,这样,在指令执行过程中,会减少读/写存储器单元的次数,所以,使用寄存器寻址方式的指令具有较快的执行速度。通常情况下,我们提倡在编写汇编语言程序时,应尽可能地使用寄存器寻址方式,但也不要把它绝对化。 -
51单片机寄存器间接寻址方式与举例
2021-05-22 06:24:31寄存间接寻址方式是指寄存器中存放的是操作数的地址,即操作数是通过寄存器间接得到的,因此称为寄存器间接寻址。MCS-51单片机规定工作寄存器的R0、R1做为间接寻址寄存器。用于寻址内部或外部数据存储器的256个单元... -
【汇编语言】8086汇编,快速搞定各种寻址方式:立即数寻址 / 寄存器寻址 / 存储器寻址
2020-04-26 11:48:03众所周知,对于8086汇编语言,有几大寻址方式,不过我觉得这个好墨迹,会用就可以了,为什么命名这么多,这次只说本质,不说命名,至于命名,还是得知道,毕竟是大部分人公认的,不能反抗这点哦,但是你知道,不代表... -
十三、直接、寄存器间接寻址、寄存器相对寻址、基址变址寻址、相对基址变址寻址
2019-01-19 17:58:44计算机只容许使用bx、si、di、bp寄存器做间接和相对寻址 其中bx为基址存储器,si、di为变址存储器 内存寻址方式:确定访问内存存储单元偏移地址的方式称为寻址方式。 直接寻址:[偏移地址] 寄存器间接寻址:... -
寄存器的七种寻址方式
2020-04-08 23:00:24立即寻址方式: 操作数作为指令的一部分而直接写在指令中...把在指令中指出所使用寄存器(即:寄存器的助忆符)的寻址方式称为寄存器寻址方式。由于指令所需的操作数已存储在寄存器中,或操作的结果存入寄存器,这样,... -
七种寻址方式(寄存器间接寻址方式)
2018-01-22 19:12:09操作数在存储器中,操作数的有效地址用SI、DI、BX和BP等四个寄存器之一来指定,称这种寻址方式为寄存器间接寻址方式。该寻址方式物理地址的计算方法如下: 寄存器间接寻址方式读取存储单元的原理如图所示。 ... -
80x86及Pentium指令系统立即数 寄存器 目标地址寻址 操作数在存储器中寻址
2021-07-18 11:21:481. 寄存器寻址举例 2. MOV AL,BL; 3. MOV AX,BX; 4. MOV DX,AX; 5. MOV ESP,EDX; 3.3操作数在存储器中: 需要用逻辑地址描述操作数所在的位置,用段基值:偏移量来描述操作数。 段基值存入段寄存器,偏移量用有效... -
七种寻址方式(寄存器相对寻址方式)
2018-01-22 19:12:33操作数在存储器中,其有效地址是一个基址寄存器(BX、BP)或变址寄存器(SI、D I)的内容和指令中的8位/16位偏移量之和。其有效地址的计算公式如公式所示。 在不使用段超越前缀的情况下,有下列规定: 若... -
汇编学习笔记3 操作数的寻址方式
2021-03-02 14:36:43(2)寄存器寻址方式 寄存器 (3)直接寻址方式 [偏移地址] (4)寄存器间接寻址方式 [基址寄存器/变址寄存器] (5)寄存器相对寻址方式 [基址寄存器/变址寄存器+偏移量值] (6)基址加变址寻址方式 [基址寄存器+... -
段寄存器和8种地址寻址方式
2017-11-28 17:13:26...段寄存器是因为对内存的分段管理而设置的。...1. 取命令:段寄存器CS指向存放程序的内存段,IP是用来存放下条待执行的指令在该段的偏移量,把它们合在一起可在该内存段内取到下次要执行的指令。 -
微机(二) 8086 寄存器 存储器 寻址 段地址 有效地址
2020-03-03 13:34:37前言 ´・ᴗ・` 微机系统的构成 外设 CPU结构 执行单元 BIU 寄存器 存储器组织结构 寻址方式 总结 ´◡` -
ARM寻址方式
2020-05-17 22:25:28目前ARM处理器支持9种寻址方式,分别是立即数寻址、寄存器寻址、寄存器偏移寻址、寄存器间接寻址、基址变址寻址、多寄存器寻址、相对寻址、堆栈寻址和块拷贝寻址。 1. 立即数寻址 也叫立即寻址,是一种特殊的寻址... -
汇编中七种寻址方式
2021-08-31 17:13:01七种寻址方式立即数寻址寄存器寻址储存器寻址直接寻址寄存器间接寻址寄存器相对寻址基址加变址寻址相对加基址变址寻址 立即数寻址 直接将源操作数放到目的操作数中 10放入寄存器AX中 寄存器寻址 数据直接存放在... -
ARM的寻址方式
2018-10-11 01:02:576、批量(多)寄存器寻址; 7、相对寻址; 8、堆栈寻址; 9、块拷贝寻址。 对于这种方式,我并不赞同。首先 所谓 “多寄存器寻址” 和 “块拷贝寻址”,看不出有什么区别呀! 我提出以下几种归类方式: 1、... -
51单片机直接寻址方式与编程举例
2020-12-30 11:13:10直接寻址方式是指在指令中操作数直接以单元地址的形式给出,也就是在这种寻址方式中,操作数项给出的是参加运算的操作数的地址,而不是操作数。例如:MOV A,30H这条指令中操作数就在30H单元中,也就是30H是操作数的... -
单片机要如何寻址?
2021-05-24 09:37:07当前,单片机种类很多...对于单片机指令的学习,寻址方式的学习是其中的一个重点和难点,寻址方式的正确理解不仅对汇编编程至关重要,而且有助于对于单片机内核结构(如RISC和CISC的区别)、存储结构的更深刻理解。但... -
X86上汇编寻址方式总结
2021-09-14 23:25:531 寄存器寻址 movl %eax, %edx edx = eax; 将寄存器eax赋值给edx 2 立即数寻址 movl $0x123, %edx edx = 0x123 将一个立即数放入寄存器 3 直接寻址 movl 0x123, %edx edx =*(int32_t*)0x123 将一个立即... -
举例说明计算机中常用的变址寻址,堆栈寻址,从形式地址到得到操作数的寻址处理过程。
2020-04-24 12:28:54寄存器寻址,形式地址为寄存器(或编号),寄存器中的内容为操作数; 寄存器间接寻址,形式地址为寄存器名(或编号),寄存器中的内容为操作数的地址,再读一次内存得到操作数; 变址寻址,形式地址为变址寄存器名... -
三菱plc变址寄存器应用示例
2018-01-04 10:29:43三菱plc变址寄存器应用示例 详细讲解了三菱PLC的变址的集中使用方法 -
汇编语言的七种寻址方式
2022-05-02 15:02:40汇编语言的七种寻址方式 寻址方式即指令中指明的操作数存放位置的表达方式。 (一)操作数存放位置 指令中进行操作数的数据存放在三种位置:指令、寄存器、存储器 1.1 立即数——存放在指令中 被操作数据直接表示在... -
操作数的寻址方式(立即,寄存器,直接)
2016-09-30 17:41:12计算机中程序是由按一定顺序排列的一系列指令,通常一条指令包括两方面的内容:操作码和操作数,操作码决定要完成的操作,告诉计算机要干什么;操作数指参加运算的数据及其所在的单元地址。...这就是为什么需要寻址。 -
4.1 寻址方式和指令系统
2022-01-19 11:32:56常用伪指令(数据定义、符号定义、段定义、设定段寄存器);DOS功能调用(输入/输出字符、输入/输出字符串、结束程序);三种结构(顺序结构、分支结构和循环结构)程序设计;常用程序设计举例。 (二)考核要求 ... -
七种寻址方式
2018-08-05 19:43:30立即数寻址方式通常用于 通用寄存器或内存单元赋初值。 立即数可以是8bit 16bit或 32bit,该数值紧跟在操作码之后。如果立即数为16bit 或32bit,那么 它将按照“高高低低”的原则进行存储 。 example... -
单片机基础之汇编语言入门学习(七) 七种寻址方式
2021-04-02 21:50:17②寄存器寻址方式 ③存储器寻址方式 (而存储器又可以分以下五种方式) 直接寻址方式 寄存器间接寻址方式 寄存器相对寻址方式 基址加变址寻址方式 相对加基址变址寻址方式 1、立即数寻址 操作数为立即数,直接... -
【asm基础】寻址
2016-03-11 17:04:03【asm基础】寻址。