怎么样编写一个30兆的CPU程序,大致的方法或者推荐的书籍,希望大神能讲解一下
不知道你这个问题是否已经解决, 如果还没有解决的话:在理解了什么是机器指令后,我们来看一下CPU是如何工作的。
我们首先来明确一点,那就是CPU要执行的指令是存放在内存中的,这就是为什么程序在开始运行之前要被拷贝到内存当中的原因,大家还记得这张图吧。可执行程序一般保存在磁盘当中,运行时需要拷贝到内存,这被称之为程序加载。然后操作系统告诉CPU机器指令所在内存的起始地址,然后CPU从该地址开始执行我们写的程序。
本质上CPU的工作非常简单,CPU依次从内存中取出指令,然后对指令进行解码,所谓“解码”就是弄清楚这条指令要做些什么,比如在上一小节中,对指令“01001000100000111110110100001000”解码后,发现这是一个进行减法操作的指令,得到这些信息后CPU开始执行这条指令,执行完成后继续取出下一条指令继续执行。因此你会发现CPU的工作过程就是这样的:
从内存中取出机器指令
对指令进行解码
执行指令,执行完毕后回到1