汇编语言——寄存器

风陵南·2024-05-13 20:33·100 次阅读

汇编语言——寄存器

寄存器

程序的本质#

  • 软件/程序的执行过程
    • 硬盘中程序或者软件打开后,会被装载到内存中,由CPU进行读取内存中的机器指令,再由CPU控制计算机进行相应操作
    • CPU组成
      • 寄存器:信息存储
      • 运算器:信息处理
      • 控制器:控制其他器件进行工作

寄存器与内存#

  • 通常,CPU会先将内存中的数据存储到寄存器中,然后在对寄存器中的数据进行运算
  • 假设内存中有块红色内存空间值是3,现在想把它的值加1,并将结果存储到蓝色内存空间中
    • CPU首先会将红色内存空间的值放到EAX寄存器:mov eax, 红色内存空间
    • 然后让EAX寄存器与1相加: add eax, 1
    • 最后将值赋值给蓝色内存空间: mov 蓝色内存空间, eax

 

x64汇编——寄存器#

  • RAX\RBX\RCX\RDX 通用寄存器  (64bit)
  • 一个寄存器可以存储8Byte数据(8个字节)
  • 32位:EAX\EBX\ECX\EDX 通用寄存器
  • 16位:AX\BX\CX\DX 通用寄存器
  • x64向下兼容32位甚至更老的16位寄存器

x64汇编中,低位(后32位)兼容32位的寄存器

  • 也就是说,在x64汇编中,  mov eax , 10  实际上操作的也是RAX寄存器

  • 一般规律
    • R开头的寄存器是64bit的,占8字节
    • E开头的寄存器是32bit的,占4字节

 

posted @   风陵南  阅读(101)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
点击右上角即可分享
微信分享提示
目录