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需要 1 个字节、1 个机器周期(操作码获取)和 6 个 T 状态才能执行,如时序图所示。
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP