8085 微处理器中的 INX rp 指令类型
在 8085 指令集中,INX 是一个助记符,代表“INcrementeXtended 寄存器”,而 rp 代表寄存器对。它可以是以下任何一个寄存器对。
rp = BC, DE, or HL
此指令将用于将 1 加到 rp 的当前内容。因此,增量内容的结果将保留在 rp 本身中。虽然它是一个算术指令,但请注意,标志位根本不受此指令执行的影响。寄存器对通常用于存储 16 位内存地址。如果在内存地址增量期间标志位受到影响,则在许多情况下可能会导致问题。因此,根据 8085 的设计,标志位不受此指令 INXrp 执行的影响。
由于 rp 可以具有三个值中的任何一个,因此此类指令有三个操作码。它在内存中只占用 1 个字节。
助记符,操作数 | 操作码(十六进制) | 字节 |
---|---|---|
INX B | 03 | 1 |
INX D | 13 | 1 |
INX H | 23 | 1 |
让我们以 INX B 作为此类别的示例指令。由于它是一个 1 字节指令,因此它将在内存中占用单个字节位置。假设寄存器对 BC 的初始内容为 4050H。因此,在执行指令 INX B 后,BC 寄存器对的新内容将为 4051H。此指令执行的结果如下所示,借助跟踪表 -
之前 | 之后 | |
---|---|---|
(BC) |
4050H | 4051H |
地址 | 十六进制代码 | 助记符 | 注释 |
---|---|---|---|
2003 | 03 | INX B | BC = BC + 1 |
我们可能会认为 INX B 在此示例中类似于 INR C。但事实并非如此。如果 BCH 的初始内容为 1FFFH,则在 INX B 指令执行后,它将为 2000H 而不是 1F00H。因此,基本上,INX 指令递增 16 位数量,而 INR 递增 8 位数量。
以下是指令执行 INX B 的时序图 -
总结 - 因此,此指令 INX B 需要 1 个字节、1 个机器周期(操作码获取)和 6 个 T 状态才能执行,如时序图所示。
广告