程序中的指令是有先后次序的,这种次序信息,加载到内存,是何如表示的,从内存导入CPU,又是怎样记录的
如果题主说的程序是指高级语言,而非汇编语言,那么所有的高级语言在运行时都是以汇编语言的方式运行的(或者通过解释器等方式,但本质上是汇编语言)以x86汇编为例,汇编语言有一个指令寄存器(PC),指示当前执行到哪个指令,相当于一个指针,每执行一条指令,这个指针会指向下一条指令。程序本身,是存放在内存中的连续的指令,PC指针会按照顺序一条一条的执行,如果程序中有跳转/循环/函数调用等操作,对应的就是程序指令修改这个指针,指向到特定的位置。所以是有一个指针来记录当前执行到哪里了。
■网友
以C语言为例,C程序在编译完后,是带有地址信息的(就是题主问题中的“先后次序”)。计算机在加载程序到内存时,简单来说会把程序的入口地址存入PC寄存器,然后再依次去取指令执行。
推荐阅读
- 鄂温克冬季马赛-30℃极寒开赛:寒冬中的火热派对
- 大雪@大雪腌肉 适当进补 今日大雪
- 招聘都要学历,何来程序员不看学历
- 银行系统的研发岗(程序员)是不是很难进(校招)推广到国企的研发岗(程序员)呢
- |电商事业中的“闪光少年”
- 坐标合肥,请问在哪里能捕捉到程序员这种生物他们大都出现在哪里呢
- 程序猿和产品汪能愉快的一起谈恋爱嘛
- 怎样成为一名合格的Python程序员?
- 我是程序猿养了条狗,取啥名字好
- 送程序员男友苹果无线耳机还是专业品牌耳机