为了保证程序能连续运行,CPU必须确定下一条指令的地址,起到这一作用的是什么

来源:百度知道 编辑:UC知道 时间:2024/05/06 17:17:12

属于汇编问题
起到这一作用的指令很多
转移类指令皆可以完成这一功能
示例如下:
如mov al,7
机器码 1011 0000
0000 0111
设程序放在以00h开始的存储单元,在执行时,给pc(程序计数器)赋以第一条指令的地址,然后进入第一条指令的取指阶段
1.pc的内容送至地址寄存器
2.当pc的内容送至地址寄存器后,pc的内容自动加1
3.地址寄存器把地址号00h通过地址总线送至存储器,经地址译码器译码,选中00号单元
4.cpu给出读命令
5.所选中的00号单元的内容读至数据总线上
6.读出的内容经过数据总线送至数据寄存器
7.因为是取指阶段,取出的为指令,送至指令寄存器,然后经译码发出执行这条指令的各种控制命令
此后就转入了第一条指令的执行阶段,经过对操作码译码后知道,这是一条把操作数送至al的指令,而操作数在第二个字节,所以要取操作数
1.把pc内容送至地址寄存器,然后pc自动加1
2.地址寄存器通过地址总线把地址号送至存储器,经过译码选中相应存储单元
3.cpu发出读命令
4.选中的存储单元的内容被读至数据总线,通过数据总线把读出的内容送至dr
5.因已知读出的是操作数,且指令要求把它送累加器al,故dr通过内部数据总线送至al
执行完毕