Comp 架构 - LC-3

问题描述

我想知道 PC(程序计数器)与条件代码有什么关系?我注意到当 PC 推出时,它紧随其后有“,条件代码”。我知道条件代码的作用,但不确定它们之间的关系。

解决方法

每个寄存器,包括通用寄存器、程序计数器和 3 个 1 位条件代码,都是处理器内部的独立状态。

与各种状态相关的是指令集中的特定指令。访问处理器状态的唯一方法是执行指令,因此指令集本身就定义了我们可以对处理器状态执行的操作。

有一些设置条件码的指令(如ADD),还有一些测试条件码的指令(如BRn/z/p)。测试条件码的是条件分支指令。

条件分支指令可以使程序计数器向前移动以跳过代码或向后移动程序计数器以重复已执行的代码。

这些指令是 C 语言(如 if-then、if-then-else、while、for-loop)中结构化语句的汇编/机器代码实现的基础。

所以,条件码和程序计数器之间的基本关系是它们通过条件分支指令一起使用,由程序来控制其执行流程。