运行中的计算机

计算机工作的运行

1.冯诺依曼体系结构的核心思想是存储程序计算机。

在计算机中有两种指令,一是用户指令,一是系统调用。当用户使用计算机时,计算机根据其汇编的指令一步步运行,当使用系统调用完后,再返回用户模式,保证系统的稳定。

2.汇编基础

通用寄存器

16位  32位

AX    eax 累加器
BX    ebx 基址寄存器
CX    ecx 计数寄存器
DX    edx 数据寄存器
BP    ebp 堆栈基址指针
SI     esi 变址寄存器
DI     edi 变址寄存器
SP     esp 堆栈顶指针

段寄存器

AX   eax 累加器
BX   ebx 基址寄存器
CX   ecx 计数寄存器
DX   edx 数据寄存器
BP   ebp 堆栈基址指针
SI    esi 变址寄存器
DI   edi 变址寄存器
SP   esp 堆栈顶指针

几种寻址方式:
  • 寄存器寻址(register)

  • 立即数寻址(immediate)

  • 直接寻址(direct)

  • 间接寻址(indirect)

  • 变址寻址(displaced)

3.实验

(1)我们先建立一个测试文件test.c,然后进行汇编

         

         

(2)然后我们对汇编后的代码进行分析

                      

(3)堆栈分析

4、总结:关于计算机是如何工作的

      我们对计算机进行各种操作,通过输入设备传达给计算机并存储。 在电脑控制器的控制下,计算机按照存储程序的要求自动的有序的进行工作。 当计算机开始工作时,控制器就从存贮器取出一条要执行的指令程序赋值给eip, 分析这条指令要求计算机进行哪一种操作,然后执行所规定的操作, 执行完一条指令后,再从存贮器中取出下一条指令,再分析和执 行……, 这样重复进行,直到程序执行完毕;其中进行跳转时则由jmp\ret\call等指令进行。

 

注释:魏静静 <xmlns="http://mooc.study.163.com/course/USTC-1000029000">《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000
posted @ 2016-02-26 22:57  20135302魏静静  阅读(273)  评论(0编辑  收藏  举报