正确答案
假设他存放在存储器的最前面两个单元里,则该程序将占有从00H至01H这两个单元。
①把PC的内容00H送到地址寄存器(AR)
②一旦PC的内容可靠地送入AR后,PC自动加1,即由00H变为01H。注意,此时AR的内容00H并没有变化。
③把地址寄存器(AR)的内容00H放到地址总线上,并送至存储器,经地址译码器译码,选种相应的00H单元。
④CPU发出读命令。
⑤在读命令控制下,把所选中的00H单元中的内容,即第一条指令的操作码B0H读到数据总线上。
⑥把读出的内容B0H经数据总线送回到数据寄存器(DR)。
⑦取指阶段的最后一步是指令译码。
因为取出的是指令的操作码,故数据寄存器(DR)把它送到指令寄存器(IR),然后再送到指令译码器(ID),经过译码,CPU“识别“出这个操作码B0H就是MOV A,n指令,于是,它”通知“控制器发出执行这条指令的各种控制命令。这就完成了这一条指令的取指阶段。然后转入执行指令的阶段。经过对操作码B0H译码后,CPU就”知道“这是一条把下一指令第2字节中的操作数84H取出来。
取指令第2字节的过程如下:
①把PC的内容01H送到地址寄存器(AR)。
②当PC的内容可靠地送到AR后,PC自动加1,变为02H,但这时AR中的内容01H并未变化。
③地址寄存器(AR)通过地址总线把地址01H送到存储器的地址译码器,经过译码选中相应的01H单元。
④CPU发出读命令。
⑤在读命令控制下,将选中的01H单元的内容84H读到数据总线DB上。
⑥通过DB把读出的内容送到数据寄存器(DR)。
⑦因CPU根据该条指令具有的字节数已知这时读出的是操作数,且指令要求把它送到累加器A,故由数据寄存器(DR)取出的内容就通过内部数据总线送到累加器A。于是,第一次执指阶段完毕操作数84H被取入累加器A中。