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 状态才能执行,如时间图所示。
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP