8085微处理器指令类型SBB R


在8085指令集中,SBB R是用于多字节减法的助记符。让我们考虑以下关于这种减法的例子

Compl

在上面的例子中,62H和F1H的减法结果为71H,借位为1。接下来,我们必须从44H中减去13H以及这个借位值1。在上面的追踪中,我们向您展示了内部计算是如何进行的。现在在8085中,为了方便这种操作,提供了SBB指令来减去两个数字以及借位值。

SBB是一个助记符,代表“带借位的减法”(SuBtract with Borrow),“R”代表以下7个寄存器中的任何一个,以及HL寄存器对指向的内存位置M。

R = A, B, C, D, E, H, L, or M

此指令用于计算从累加器内容中减去R寄存器的内容以及进位(借位)值。减法的结果将存储在累加器中,替换累加器的初始值。由于R可以有八个值中的任何一个,因此这种类型的指令有八个操作码。它在内存中只占用1个字节。

助记符,操作数 操作码(十六进制) 字节数
SBB A 9F 1
SBB B 98 1
SBB C 99 1
SBB D 9A 1
SBB E 9B 1
SBB H 9C 1
SBB L 9D 1
SBB M 9E 1

让我们考虑SBB E作为这种类型的指令示例。因为它是一个1字节指令,所以它将占用单个内存位置。假设累加器的初始内容是44H,E寄存器的初始内容是13H,Cy设置为1。下面在追踪表中显示了执行此指令SBB E的结果

之前 之后

(E)

13H 13H

(A)

44H 30H

(标志)

Cy=1,其他标志位=任意值 Cy=0,AC=1,S=0,P=1,Z=0

地址 十六进制代码 助记符 注释
2005 9B SBB E A寄存器 = A寄存器 – E寄存器 – 1

指令SBB E的时序图如下

SBB E

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

更新于:2019年7月30日

4K+ 次浏览

启动你的职业生涯

完成课程获得认证

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