6800程序员视角


在本节中,我们将了解摩托罗拉M6800微处理器的基本架构,以及向其中写入程序的不同寄存器。

要编写程序,我们必须注意寄存器和一些在程序执行期间访问它们的指令。

因此,从该图我们可以看出,有两个8位累加器A和B,一些16位寄存器(程序计数器PC,索引寄存器IX,堆栈指针SP)和8位标志寄存器CCR。

累加器A和B在指令集中具有相同的优先级。在6800中,很少有指令只使用累加器A而不使用B。其中一些是:

  • ABA(它将A与B相加并将结果存储到A中),但没有AAB指令。

  • 类似地,有SBA(从A中减去B并将结果存储到A中),但没有SAB指令。

  • CBA(将B与A比较,并将结果保存在临时寄存器中),但没有CAB指令。

  • TAP(用于将A传输到标志寄存器CCR),但没有TBP指令。

  • TPA(用于将标志寄存器CCR内容传输到A),但没有TPB指令。

摩托罗拉M6800中的标志

在M6800中,标志寄存器用CCR(条件代码寄存器)表示。八个位中只有六个标志位。这些标志位于寄存器的最低有效位位置。两个最高有效位始终处于高电平状态。

标志寄存器如下所示:

序号标志及描述
1H
这是半进位标志。它类似于8085 MPU的辅助进位标志。
2IM
此标志是中断屏蔽标志。
3N
这是负标志。它类似于8085的符号标志。
4Z
这是零标志,当累加器内容为零时,此标志将为1。
5V
这是溢出标志。
6Cy
这是进位标志。


在8085 MPU中,有奇偶校验(P)标志。该标志位在此微处理器中被省略,因为它不是很有用。对于IM标志,当IM为1时,这意味着中断请求将被屏蔽或禁用。因此,即使**IRQ**被激活,它也将被忽略。但是,如果同时激活了更高优先级的**NMI**,则将中断。可以使用CLI(清除中断屏蔽)指令将IM标志复位为0。可以使用SEI(设置中断屏蔽)指令执行逆操作。

更新于:2020年6月27日

472 次浏览

启动你的职业生涯

通过完成课程获得认证

开始学习
广告