当前位置:首页 > 实用技巧 >

使用四种寻址方式设计指令格式(七种寻址方式特点举例)

来源:原点资讯(m.360kss.com)时间:2023-11-11 02:25:07作者:YD166手机阅读>>

2.4 寄存器间接寻址方式

寄存器间接寻址是将指定的寄存器内容为地址,由该地址所指定的单元内容作为操作数。

例如,设将内部RAM的65H单元内容(47H)送A,可执行指令:MOV A,@R0,其中R0内容为65H。

指令的执行过程为:当程序执行到本指令时,就以指令中所指定的工作寄存器R0的内容(65H)为指针,将内部数据存储器65H单元的内容(47H)送累加器A。

2.5 寄存器相对寻址方式

该寻址方式是以指定的寄存器内容,加上指令中给出的位移量(8位或16位),并以一个段寄存器为基准,作为操作数的地址。指定的寄存器一般是一个基址寄存器或变址寄存器。

假设指令:MOV BX, [SI 100H],在执行它时,(DS)=1000H,(SI)=2345H,内存单元12445H的内容为2715H。

根据寄存器相对寻址方式的规则,在执行本例指令时,源操作数的有效地址EA为:

EA=(SI) 100H=2345H 100H=2445H

该操作数的物理地址应由DS和EA的值形成,即:

PA=(DS)*16 EA=1000H*16 2445H=12445H。

所以,该指令的执行效果是:把从物理地址为12445H开始的一个字的值传送给BX。

2.6 基址加变址寻址方式

基址加变址寻址方式是指将寄存器(该寄存器一般指基址寄存器)的内容与指令中给出的地址偏移量相加,从而得到一个操作数的有效地址。

假设指令:MOV BX, [BX SI],在执行时,(DS)=1000H,(BX)=2100H,(SI)=0011H,内存单元12111H的内容为1234H。

根据基址加变址寻址方式的规则,在执行本例指令时,源操作数的有效地址EA为:

EA=(BX) (SI)=2100H 0011H=2111H

该操作数的物理地址应由DS和EA的值形成,即:

PA=(DS)*16 EA=1000H*16 2111H=12111H

所以,该指令的执行效果是:把从物理地址为12111H开始的一个字的值传送给BX。

2.7 相对基址加变址寻址方式

在相对基址变址寻址方式中,通常把BX和BP看作是基址寄存器,把SI和DI看作变址寄存器。它是把一个基址寄存器BX或BP的内容,加上变址寄存器SI或DI的内容,再加上指令中给定的8位或16位位移量,并以一个 段寄存器 作为地址基准,作为 操作数 的地址。

假设指令:MOV AX, [BX SI 200H],在执行时,(DS)=1000H,(BX)=2100H,(SI)=0010H,内存单元12310H的内容为1234H。

根据相对基址加变址寻址方式的规则,在执行本例指令时,源操作数的有效地址EA为:

EA=(BX) (SI) 200H=2100H 0010H 200H=2310H

该操作数的物理地址应由DS和EA的值形成,即:

PA=(DS)*16 EA=1000H*16 2310H=12310H

所以,该指令的执行效果是:把从物理地址为12310H开始的一个字的值传送给AX。

3 指令种类

3.1 数据传送指令

这是一种常用的指令,用以实现寄存器与寄存器,寄存器与存储单元以及存储器单元与存储器单元之间的数据传送,对于存储器来说,数据传送包括对数据的读(相当于取数指令)和写(相当于存数指令)操作。

使用四种寻址方式设计指令格式,七种寻址方式特点举例(5)

通用数据传送指令 MOV

条件传送指令 CMOVcc

交换指令 XCHG/XLAT/BSWAP

地址或段描述符选择子传送指令 LEA/LDS/LES/LFS/LGS/LSS等

3.2 算术运算指令

计算机指令系统一般都设有二进制数加、减、比较和求补等最基本的指令,此外还设置了乘、除法运算指令、浮点运算指令以有十进制动算指令等。

使用四种寻址方式设计指令格式,七种寻址方式特点举例(6)

加法指令 ADD/ADC

减法指令 SUB/SBB

加一指令 INC

减一指令 DEC

比较操作指令 CMP

乘法指令 MUL/IMUL

除法指令 DIV/IDIV

符号扩展指令 CBW/CWDE/CDQE

十进制调整指令 DAA/DAS/AAA/AAS

3.3 逻辑运算指令

一般计算机都具有与、或、非(求反)、异或(按位加)和测试等逻辑运算指令。

使用四种寻址方式设计指令格式,七种寻址方式特点举例(7)

逻辑运算指令 NOT/AND/OR/XOR/TEST等。

3.4 移位操作指令

移位操作指令分为算术移位、逻辑移位和循环移位三种,可以实现对操作数左移或右移一位或若干位。

使用四种寻址方式设计指令格式,七种寻址方式特点举例(8)

栏目热文

可位寻址和不可位寻址区别(立即寻址与直接寻址有何本质区别)

可位寻址和不可位寻址区别(立即寻址与直接寻址有何本质区别)

基本数字逻辑门电路不管是数字电路,还是C语言,我们都会经常遇到逻辑运算和逻辑电路。首先,在“逻辑”这个概念范畴内,存在真...

2023-11-11 02:56:41查看全文 >>

寻址空间分配(直接寻址地址空间)

寻址空间分配(直接寻址地址空间)

链接数据的世界,是建立在不稳定的基础之上的,这种基础阻止了真正的数据共享空间出现。问题不在于数据,而在于数据的链接方式。...

2023-11-11 02:35:05查看全文 >>

按位寻址格式怎么写(按位寻址怎么填)

按位寻址格式怎么写(按位寻址怎么填)

上一篇文章中给大家介绍了S7-1200 PLC的存储器地址包括输入I、输出Q、位存储器M、数据块DB,以及本地或临时存储...

2023-11-11 02:19:45查看全文 >>

字节寻址怎么查询(字节的偏移地址怎么用)

字节寻址怎么查询(字节的偏移地址怎么用)

寻址方式,即对数据存储区进行读写访问的方式。S7系列PLC的寻址方式有立即数寻址、直接寻址和间接寻址三大类。立即数寻址的...

2023-11-11 02:56:33查看全文 >>

间接寻址使用方法(间接寻址符号怎么添加)

间接寻址使用方法(间接寻址符号怎么添加)

对S7-200SMART PLC来说,寻址可分为直接寻址和间接寻址,直接寻址就是直接对数据进行赋值,那么间接寻址主要是用...

2023-11-11 02:25:03查看全文 >>

一文看懂间接寻址(四种寻址方法)

一文看懂间接寻址(四种寻址方法)

01建立指针指针定义为包含另一个存储位置地址的双字存储地址。 编程时,先确定好被寻址的存储区域(例如MB10至MB20)...

2023-11-11 02:13:51查看全文 >>

寻址范围和寻址空间(基址寻址的寻址范围怎么算)

寻址范围和寻址空间(基址寻址的寻址范围怎么算)

立即数寻址操作数直接给出在指令字中,即指令字中直接给出不再是操作数地址,而是操作数本身。它的主要用法是把一个确定的数值传...

2023-11-11 02:54:34查看全文 >>

适合小脸型的减龄发型(一款适合所有脸型的减龄发型推荐)

适合小脸型的减龄发型(一款适合所有脸型的减龄发型推荐)

超级无敌!打造适合大多数脸型的时尚减龄发型!你美丽的秘籍!大家好,我是你的时尚美容师小助手!今天我要分享的是一款原创的发...

2023-11-11 02:16:19查看全文 >>

大脑门女生发量少适合的发型(额头窄发量多的女生适合的发型)

大脑门女生发量少适合的发型(额头窄发量多的女生适合的发型)

为女生设计一款时尚的高额发型。为了更好地与年龄相符合,必须剪刘海。根据个人风格设计一款更适合的发型。刘海不要剪得太多,适...

2023-11-11 02:39:39查看全文 >>

宽脑门女生适合的发型(脑门大的女生适合哪个发型)

宽脑门女生适合的发型(脑门大的女生适合哪个发型)

随着年龄的增长,许多人开始关注如何保持年轻形象的问题。在这个看脸的时代,发型对于一个人的形象至关重要。一个合适的发型不仅...

2023-11-11 02:14:01查看全文 >>

文档排行