计算机是如何工作的
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机是如何工作的相关的知识,希望对你有一定的参考价值。
一、视频内容:
冯诺依曼体系结构:存储程序计算机
硬件角度:
程序员角度:
寄存器:
寻址方式:
寄存器寻址
立即数寻址
直接寻址
间接寻址
变质寻址
注意:
由于eip不能被程序员直接修改,所以(*)不能直接使用
函数调用堆栈是有逻辑上多个堆栈叠加起来的
函数的返回值默认使用eax寄存器存储返回给上一级函数
大部分x86指令可以直接访问内存地址
ATT汇编格式与intel汇编格式略有不同,linux内核使用的是ATT汇编格式
64位注意事项:
二、实验
c代码:
汇编代码:
14 call g
三、过程分析
从main开始执行,执行到call f的时候 EIP=下一条指令的地址=23,如图5,接下来执行代码块f,执行到第15条指令到达 leave(即movl %ebp,%esp,popl %ebp),最后main的ret把CPU让给其他的程序
四、总结
CPU中的IP寄存器指向内存中的某代码段,CPU执行完当前IP指向的指令后,IP寄存器加一取下一条指令,CPU再去执行。代码角度可理解为CPU中有一个for结构,循环指向下一条指令。
以上是关于计算机是如何工作的的主要内容,如果未能解决你的问题,请参考以下文章