码迷,mamicode.com
首页 > 其他好文 > 详细

计算机是如何工作的blog1

时间:2016-02-28 22:50:51      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:

计算机是如何工作的

存储程序计算机工作模型

冯诺依曼体系结构

从硬件角度来看:CPU和内存,由总线连接,CPU中有一个名为IP的寄存器,总是指向内存的某一块:CS,代码段,执行命令时就取IP指向的一条指令,然后IP自加1,就指向下一条指令。

从程序员角度来看:即存储程序计算机,内存存储数据和指令,CPU就是一个for循环,总是在执行下一条指令,CPU负责解释和执行这些指令。

CPU如何识别这些指令?

定义API:程序员与计算机的接口界面
ABI:程序与CPU的接口界面,二进制指令编码,只涉及汇编指令。

IP可被CALL,RET,JMP指令修改。

X86汇编基础

CPU寄存器

通用寄存器+段寄存器+标志寄存器

加E:32位 加R:64位

汇编指令

mov指令:b,w,l,q分别代表8位,16位,32位,64位

寻址方式:寄存器寻址,立即数寻址,直接寻址,间接寻址,变址寻址

汇编指令:push,pop,call,ret

程序员不能直接修改EIP寄存器

汇编一个简单的C程序分析其汇编指令执行过程

实验过程

源代码:

int g(int x)
{
  return x + 3;
}
 
int f(int x)
{
  return g(x);
}
 
int main(void)
{
  return f(8) + 1;
}
技术分享
技术分享

技术分享



计算机是如何工作的blog1

标签:

原文地址:http://www.cnblogs.com/sunxiaobo/p/5225827.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!