8085 微处理器中的 DCX rp 指令类型


在 8085 指令集中,DCX 是助记符,代表“递减扩展寄存器”,rp 代表寄存器对。它可以是以下任何一个寄存器对:

rp = BC, DE, or HL

此指令用于从rp的当前内容中减去 1。因此,递减后的内容的结果将存储在 rp 本身中。虽然这是一个算术指令,但请注意,标志不会受到此指令执行的任何影响。寄存器对通常用于存储 16 位内存地址。如果在内存地址递减期间标志位受到影响,则在许多情况下可能会导致问题。因此,根据 8085 的设计,标志位不会受到此指令DCXrp执行的影响。

由于 rp 可以具有三个值中的任何一个,因此此类型的指令有三个操作码。它在内存中只占用 1 个字节。

助记符,操作数 操作码(十六进制) 字节
DCX B 0B 1
DCX D 1B 1
DCX H 2B 1

让我们考虑DCX B作为此类别中的示例指令。由于它是一个 1 字节指令,因此它将在内存中占用单个 1 字节位置。让我们假设寄存器对 BC 的初始内容为 4055H。因此,在执行指令DCX B后,BC 寄存器对的新内容将为 4054H。此指令执行的结果如下面的跟踪表所示:

之前 之后

(BC)

4055H 4054H

地址 十六进制代码 助记符 注释
2003 0B DCX B BC = BC – 1

我们可能会认为在这个例子中,DCX B类似于DCR C。但事实并非如此。如果 BC 寄存器对的初始内容为 2000H,那么在执行 DCR C 指令后,它将是 20FFH,而不是 1FFFH。因此,基本上,DCX 指令递减 16 位数量,而 DCR 递减 8 位数量。

以下是指令执行DCX B的时序图:

DCX B

总结 - 因此,此指令DCX B需要 1 个字节、1 个机器周期(操作码获取)和 6 个 T 状态才能执行,如时序图所示。

更新于:2019-07-30

4K+ 次查看

启动您的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.