CPU执行程序的过程

ZZZ + 原创作品转载请注明出处 + 《Linux内核分析》MOOC课程

下面通过分析一个事例程序,演示CPU执行程序的过程。

1.启动虚拟机,编译程序为汇编语言,并用编辑器打开,如图:


2.通过研究相应的汇编代码,我们发现计算机在内存中维护了一个栈,每当调用函数时,会执行压栈的操作,将EBP、EIP和参数压入栈中,然后以EBP为基址重新标示一个栈;当函数执行完后,会进行出栈操作,将EBP、ESP重新指到上一个栈中,并且EIP指向“调用函数指令”的下一条指令,继续执行指令。最终结果默认返回EAX的值作为结果。


计算机如何执行?

简单来说,计算机启动时,加载操作系统到内存中,然后CPU读取IP寄存器所指向的内存地址,执行相应的命令,然后IP指向下一个内存地址,CPU读取并执行……不断的重复该过程。


你可能感兴趣的:(CPU执行程序的过程)