寄存器介绍

寄存器是什么

计算机在三个地方可以存数据

  1. cpu
  2. 内存
  3. 硬盘

所谓寄存器,就是cpu中硬盘存储数据的地方

寄存器的大小

寄存器大小取决于cpu的位数
比如32位 那么cpu所提供的容器有三种 8位 16位 32位
如果64位 那么cpu所提供的容器有四种 8位 16位 32位 64位

05年后的电脑cpu几乎都是64位的。

通用寄存器

32位通用寄存器

EAX ESP
ECX EBP
EDX ESI
EBX EDI

32位通用寄存器,意味着通用,想存什么酒存什么
寄存器中最大的数据宽度是32位 超过就会被丢弃

MOV指令

  1. 立即数到寄存器
MOV EAX,1
MOV ECX,2
  1. 寄存器到寄存器
MOV EDX,EAX

32位cpu中其他的通用寄存器

32位 16位 8位
EAX AX AL
ECX CX CL
EDX DX DL
EBX BX BL
ESP SP AH
EBP BP CH
ESI SI DH
EDI DI BH

关系:
比如eax 12345678
整体可以看做 32位寄存器 eax
后四位5678可以看做 16位寄存器 ax
后两位78 可以看错8位寄存器 al

但是:
esp么有8位的 ah则是 ax的高位 也就是 56才是ah
那么以此类推
ebp 的8位 就是 ch
esi 的8位 就是 dh
edi 的8位 就是 bh

寄存器和寄存器之间也可以赋值,但是数据宽度必须匹配