汇编系列9-通用寄存器

1、寄存器

计算机有三个地方可以存储数据,分别是· CPU,内存,硬盘。运行速度 CPU > 内存  > 硬盘。价格也是CPU比较贵。

寄存器,就是CPU中用来存储数据的地方。寄存器的大小取决于CPU的位数。

32位的CPU:有三种寄存器类型,分别是 8位  16位  32位

64位的CPU:有四种寄存器类型,分别是 8位  16位  32位  64位

05年后买的电脑,基本都是64位的。为何64位已经普及还要学习32位的? 因为硬件发展历史,64位向下兼容,由32位发展而来,无非是新增寄存器,指令都是一样的。直接学习64位的会比较吃力,故此我们先学习32位的。而且还要很多程序是32位的。

2、通用寄存器

32位通用寄存器,通用寄存器,想存什么就存什么。不能超过32位,超过部分会被丢弃。

EIP也是寄存器,但它里面的值是CPU下次要执行的指令地址,不能用做他用,故此不是通用寄存器。

EAX:一般用来存储返回值

ECX: 用来存储计数值,可结合rep指令

EDX:

EBX:

ESP:栈顶指针寄存器

EBP:栈底指针寄存器

ESI:存储复制时的原地址,结合move moves指令

EDI:存储复制时的目标地址,结合move moves指令

3、MOV指令

  用来移动数据的。

  汇编就是寄存器与寄存器之间,或者寄存器与内存之间数据的来回流动。

  想要学好汇编,只要记住几个关键词就可以了。寄存器,内存,指令。围绕这三点就可以把汇编学好。汇编好理解,好做实验。

 MOV EAX,1  将一个立即数1,存放到寄存器EAX中。

MOV EDX,EAX  将寄存器EAX中的值,存放到EDX中。

 

实验--初始寄存器值,全部设为FFFF FFFF

原文地址:https://www.cnblogs.com/RevelationTruth/p/13905369.html