随笔分类 - 程序是怎样跑起来的
计算机组成原理
摘要:函数调用处理是通过把程序计数器的值设定成函数的储存地址来实现的,哪怕是高级语言编写的程序。 哪怕是高级语言编写的程序,函数”调用处理也是通过把程序计数器的值设定成函数的存储地址来实现的。不过,这和条件分支、循环的机制有所不同,因为单纯的跳转指令无法实现函数的调用。函数的调用需要在完成函数内部的处理后
阅读全文
摘要:程序的流程分为顺序执行、条件分支和循环三种。 顺序执行是按照地址内容的顺序执行指令(每执行一个指令程序计数器的值就自动加1)。 条件分支是指根据条件执行任意地址的指令。循环是指重复执行同一地址的指令。 若存在条件分支和循环,机器语言的指令就可以将程序计数器的值任意定为任意地址(不是+1)。 条件分支
阅读全文
摘要:图1-4是程序起动时内存内容的模型。用户发出启动程序的指示后,Windows等操作系统会把硬盘中保存的程序复制到内存中。 确定程序运行的开始位置,Windows等操作系统把程序从硬盘复制到内存后,会将程序计数器(CPU寄存器的一种)设定为0100,然后程序便开始运行。CPU执行0100地址的指令后,
阅读全文
摘要:程序是把寄存器作为对象来描述的。机器语言级别的程序是通过寄存器来处理的,CPU是(具有各种功能的)寄存器的集合体。 eax(累计寄存器)和ebp(基址寄存器)是CPU内部的寄存器的名称。 根据功能的不同,寄存器大致可分八大类,如表1-1: 在CPU中,程序计数器、累计寄存器、标志寄存器、指令寄存器和
阅读全文
摘要:CPU(中央处理器)相当于计算机的大脑,CPU和内存都是由许多晶体管组成的电子部件,通常称为IC(集成电路)。 CPU的内部是有寄存器(20~100个),控制器,运算器,时钟组成的。 CPU所负责的就是解释和运行最终转换成机器语言的程序内容。 程序运行流程示例
阅读全文
浙公网安备 33010602011771号