zoukankan      html  css  js  c++  java
  • 汇编系列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

  • 相关阅读:
    数据库索引类型及实现方式
    MyBatis从入门到精通(十一):MyBatis高级结果映射之一对多映射
    解决克隆 centos虚拟机后修改克隆后的机器的ip、mac、uuid失败的问题
    多层表达式
    条件过滤
    复杂表达式
    生成列表
    迭代dict的key和value
    迭代dict的value
    索引迭代
  • 原文地址:https://www.cnblogs.com/RevelationTruth/p/13905369.html
Copyright © 2011-2022 走看看