计算机程序运行的相关总结,写给正在和我一样奔忙着解惑的人们。
程序运行的中心:地址篇计算机的硬件构造
1.CPU 指令执行中心
2.总线 数据的输入输出的中心硬件设施
3.寄存器 与CPU匹配速度的快速存取单元,存储容量非常小,是参与CPU指令执行,数据来源(输入,输出)
(1) 通用寄存器 所谓通用 就是常用,一般的意思。
其具有的功能概述
1.存储指令的源和目的操作数 主要用到eax ebx ecx edx esi edi
比如 mov eax,ebx
2. 这些寄存器中,有些可以用来做特殊的用途(当然这只是一种规定(人为的))
eax 常用来返回 子程序的返回值。C语言语句就是 return x 其含义就是 mov eax,x
ecx 用来做计数器的 配合LOOP REP 等指令,配合LOOP 相当于C语言中的 for(;i<=X;i++) for(;i>=x;i--) while(i<x){i++} while(i>=x){i-- } 等结构 配合REP 主要用于 字符串中的汇编指令操作
esi edi 分别对应于字符串操作中源和目的操作数 存放字符串的首地址 指令有stos stosb stosw scan等等
3.内存的寻址
内存寻址涉及 直接和间接 在这个领域运用的也比较多
4.堆栈的应用 主要涉及的寄存器有 ESP EBP
5.程序执行方面的 涉及 EIP 对EIP 操作的指令有 JMP CALL
具体的请学习汇编语言
4。内存
1. 可以想象成排列成一长条的鸡蛋,对他们的编号,就是地址他是一个逻辑上的东西。实物就是鸡蛋,也就是地址所代表的对象,这里的关系是一个映射的关系 计算机的处理的过程 不是直接拿蛋,而是按编号取蛋。这就是为什么总线要分数据总线和地址总线的原因。
那么计算机是怎么通过硬件来实现这个取蛋的过程呢。 这个要运用到数学里的矩阵方面的知识了
哎呀,这部分的知识给忘记掉了,先写到这吧,看会微机原理,复习下