个性化阅读
专注于IT技术分析

8085单片机的寻址模式

点击下载

本文概述

寻址模式是用于与中央处理器(CPU)通信以执行任何特定任务的指令集。

通常, 以下寻址模式用于在8085微控制器中执行指令:

  • 立即寻址模式
  • 索引寻址模式
  • 直接寻址模式
  • 注册直接寻址模式
  • 注册间接寻址模式

每种寻址方式的详细说明如下:


立即寻址模式

让我们从一个例子开始。

MOV A, #4AH

简单来说, 我们可以写

MOV A, #data

之所以称为立即数, 是因为8位数据会立即发送到累加器(目标操作数)。

考虑下图描述了上述指令集及其执行。操作码74H保存在0202地址。数据4AH保存在程序存储器内的0203地址处。读取操作码74H后, 下一个存储器地址的数据将复制到累加器A(E0H是累加器的地址)。由于一条指令为2字节, 并且在一个周期内执行, 因此程序计数器将增加2, 并指向程序存储器的0204地址。

ES寻址模型1

索引寻址模式

让我们考虑两个例子来理解索引寻址模式的概念。请看以下说明:

MOVC A, @A+DPTR
MOVC A, @A+PC

这里PC是程序计数器, DPTR是数据指针(均为16位寄存器)。考虑第一个例子。

MOVC A, @A+DPTR

在此, 源操作数为@ A + DPTR。它具有该位置的源数据。此处, DPTR的内容与累加器的当前内容相加。此添加项提供了一个新地址, 即源数据的地址。该地址指向的数据将进一步传输到累加器。

ES寻址模型2

考虑操作码为93H。值为01FE的DPTR, 此处为01位于DPH侧(高8位), 而FE位于DPL侧(低8位)。考虑累加器的值为02H。之后, 完成16位加法运算, 并且01FE H + 02H产生0200H。位于0200H位置的数据将被传送到累加器。累加器的先前值(02H)将被来自0200H的新数据代替。图中突出显示了累加器内部的新数据。


直接寻址模式

直接寻址模式用于寻址操作数。在此, 数据(源数据)的地址作为操作数存在。让我们考虑一个例子。

MOV A, 07H

寄存器组#0(第7个寄存器)的地址为07H。当执行MOV指令时, 寄存器07H中存储的数据将在累加器内部移动。由于寄存器07H保存数据1FH, 因此1FH被移到累加器。

注意-我们没有在直接寻址模式中使用“#”, 而是在立即寻址模式中使用了“#”, 因为如果我们已经使用“#”, 则数据值07H会传送到累加器而不是1FH。

现在, 考虑下图。它显示了如何执行指令:

ES寻址模型3

如上图所示, 它是一个2字节指令, 需要1个周期才能完成。

程序计数器将增加2, 并将指向0204存储位置。一条指令MOV A的操作码为E5H。每当运行0202处的指令(E5H)时, 累加器将变为活动状态并准备接收数据。然后PC跳到0203处的下一个地址, 并查找源数据(即传输到累加器)的位置04H的地址。在04H, 控制器找到数据1FH并将其传输到累加器, 从而完成了指令的执行。


注册直接寻址模式

在寄存器直接寻址模式中, 我们直接使用寄存器名称(作为源操作数)。

让我们考虑一个例子。

MOV A, R4

一次, 寄存器能够取R0至R7的值。微控制器中有32个这样的寄存器。为了仅使用这8个变量来使用这32个寄存器来寻址寄存器, 使用了寄存器组。

一次只选择一个寄存器组。可以通过使用名为处理器状态字(PSW)的特殊功能寄存器(SFR)来选择寄存器组。 PSW是一个8位SFR, 其中每个位都可以根据需要进行编程。从PSW.0到PSW.7分配位。

现在, 考虑下图。它表示如何执行指令:

ES寻址模型4

数据(2F)移动以粗体显示。 2F从数据存储位置0CH传输到累加器, 并用虚线表示。 0CH是寄存器组#1的寄存器4的地址位置。上面显示的指令为1个字节, 需要1个周期才能完成执行。这意味着我们可以使用直接寻址模式来节省内存。


注册间接寻址模式

在寄存器间接寻址模式下, 数据地址作为操作数存储在寄存器内。

MOV A, @R0

在这里, R0内部的值将被视为地址, 用于将要传输的数据保存在累加器内部。示例:如果寄存器R0的值为20H, 并且数据2FH存储在20H的地址位置, 则在执行上述指令后, 2FH的值将被传送到累加器。

现在, 考虑下图。它显示了如何执行指令:

ES寻址模型5

考虑MOV A的操作码, @ R0为E6H。程序控制移至地址20H, 在其中定位数据2FH, 然后在累加器内部传输2FH。这是一个1字节的指令, 程序计数器(PC)递增1, 并移至程序存储器的0203位置。

注意:仅寄存器R0和R1允许用作寄存器间接寻址指令。因此, 程序员可以使用@ R0或@ R1开发一条指令。不允许使用其他所有注册银行。

赞(1)
未经允许不得转载:srcmini » 8085单片机的寻址模式

评论 抢沙发

评论前必须登录!