程序执行的过程:


比如我们要执行3 + 2
程序计数器(PC) = 指令地址
指令寄存器(IR) = 正在执行的命令
累加器(AC) = 临时存储体
那么实际上执行了三条指令
每条指令又分为两部分:取址、执行
取址就是从寄存器里取一条指令放在IR寄存器
左上角的图,PC寄存器里面放的值是300
那么我们就从内存地址为300的位上取一条指令 1940的内容放到IR上去
一条指令 由操作码+操作数组成
1940 中的 1代表操作码,940代表操作数
1是从一个内存中取数据放入AC寄存器里面,即我要做什么操作
把940内存地址里面的数据0003放入AC寄存器
先取址,PC=300 执行时PC=301
PC会加1
欢迎交流
新浪博客:http://blog.sina.com.cn/u/2049150530
csdn博客:http://blog.csdn.net/u011749143
博客园:http://www.cnblogs.com/sky-heaven/
知乎:http://www.zhihu.com/people/zhang-bing-hua