8085微处理器程序员视角


Intel 8085从内存或位于微处理器内部的输入端口接收AD7-0上的8位信息,这些信息通过“寄存器”存储。寄存器是一组触发器,每个触发器可以存储一位信息。为了存储8位信息,8085中寄存器的尺寸必须为8位。

与内存位置相比,寄存器的优势在于微处理器可以更快地访问寄存器的内容,而内存位置的内容访问速度则相对较慢。

然而,与内存位置相比,寄存器也存在以下缺点。

  • 如果寄存器过多,它们会占用芯片上的大量空间,从而减少控制单元和算术逻辑单元的可用空间。

  • 在涉及寄存器操作数的指令中,可用于指定操作的位数会减少,从而减少可能的指令数量。

例如,让我们考虑以下程序段示例 -

在8085指令集中,有四条指令属于LXI rp, d16类型。这些指令用于将16位地址加载到寄存器对中。我们可以使用此指令使用存储在寄存器对rp中的内存地址从内存位置加载数据。例如,如果指令是LXI H, FE50。这意味着FE50加载到HL寄存器对中。

rp可以是BC、DE、HL或SP。

LXI指令及其十六进制代码如下所示。

助记符,操作数
操作码(十六进制)
字节
LXI B
01
3
LXI D
11
3
LXI H
21
3
LXI SP
31
3


示例

在此示例中,我们可以看到LXI指令如何将16位数据加载到寄存器对中。

将56FE加载到DE寄存器对中,将ABCD加载到HL寄存器对中,交换DE和HL的内容。并将DE寄存器对的内容存储到8050和8051H位置。

地址
十六进制代码
助记符
注释
8000
11
FE
56
LXI D, 56FEH
将56FEH存储到DE寄存器对中。
8003
21
CD
AB
LXI H, ABCDH
将ABCDH存储到HL寄存器对中。
8006
EB
XCHG
交换DE和HL的内容
8007
21
50
80
LXI H, 8050H
将8050H加载到HL对中以存储结果。
800A
72
MOVM, D
将寄存器D的内容存储到内存位置。
800B
23
INX H
将HL指向下一个源位置
800C
73
MOV M, E
将寄存器E的内容存储到内存位置。
800D
76
HLT
停止


输出

地址

8050H
AB
8051H
CD


以下是指令LXI D, 56FEH的时间图


总结 - 因此,此指令LXI D, 56FEH需要3个字节、3个机器周期(操作码获取、内存读取、内存读取)和10个T状态才能执行,如时间图所示。

更新于: 2020年6月27日

233 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告