试题详情
简答题假设传送指令MOV A,84H的机器码为B0H  84H,结合8位模拟机简述该条指令执行的示意过程。
  • 假设他存放在存储器的最前面两个单元里,则该程序将占有从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中。
  • 关注下方微信公众号,在线模考后查看

热门试题