• 汇编系列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

  • 相关阅读:
    mysql 赋给用户权限 grant all privileges on
    ubuntu下aptget安装小型的lamp环境
    Linux系统进程管理
    SQLChapter1_Overview of SQL Server
    SQLChapter2Querying Data
    SQLexercise
    SQLChapter4Managing Databases and Table
    JavaUI添加事件(二)
    java ActionEventDemo
    JavaUI弹出对话框
  • 原文地址:https://www.cnblogs.com/RevelationTruth/p/13905369.html
Copyright © 2020-2023  润新知