8085 微处理器累加器补码指令


在 8085 指令集中,逻辑类型指令中有一条补码指令,其助记符为 **CMA**。它实际上代表“对累加器取反 (CoMplement the Accumulator)”。它对累加器当前内容执行 1 的补码运算,并将结果存储回累加器,替换其先前的内容。需要注意的是,没有其他指令可以对任何其他寄存器的內容进行取反。虽然它是一种逻辑类型的指令,但标志位不受此指令执行的影响。它在内存中只占用 1 个字节。

助记符,操作数
操作码(十六进制)
字节数
CMA
2F
1


例如,假设累加器的初始内容为 AAH,即 1010 1010。执行 CMA 指令后,累加器更新后的内容将以二进制表示为 0101 0101,即 55H。如果我们两次执行 CMA 指令,则累加器的二进制内容将再次变回 AAH,即 1010 1010。

地址
十六进制代码
助记符
注释
2000
3E
MVI A, 55H
A ← 55H = 0101 0101B
2001
55


操作数为 55H
2002
2F
CMA
A ← 0101 0101B 的 1 的补码 = 1010 1010B = AAH
2003
2F
CMA
A ← 1010 1010B 的 1 的补码 = 0101 0101B = 55H


该指令 **CMA** 执行的时间图如下:

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


更新于:2020年6月27日

7K+ 次浏览

开启您的 职业生涯

完成课程获得认证

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