寄存器
-
定义:cpu中用来存储数据的地方
-
大小:按CPU的类别
-
寄存器可在三个地方存储数据:
-
CPU > 内存 > 硬盘
32位CPU:有8,16,32位的寄存器
64位CPU:8,16,32,64位的寄存器(四种类型)
问:为什么如今大多是64位,我们依旧还要学32位的
(32位CPU到64位CPU并没有整体结构上的变化,只是增添了内容)
部分程序依旧是32位的(???)
通用寄存器
*非通用寄存器
比如:EIP
只能用于存储cpu下一个指令的寄存器不是通用寄存器*
1. 32位寄存器
在这八个32位寄存器里面存储的数据宽度不能超过32位,否则,高位丢弃。
为什么这里的ESP和EBP可以作为指针??
(1)MOV指令(寄存器操作)
1. 立即数------存----->寄存器
将2存入EAX寄存器
按f8后:
2. 寄存器(中的数据)----------->(另一)寄存器
将EAX寄存器里的数据 复制存入 EDX里。
2.多种通用寄存器
(1)16位寄存器
EAX寄存器,里面包含了32位,16位,甚至8位寄存器
上图,后面的“0005” 即16位寄存器内数据
(2)8位寄存器
AL与AH这两个8位寄存器
分别对应EAX里
AL对应“02”部分
AH对应“05”部分
H后缀的是低16位的高八位
L后缀的是低16位的 低八位