通用寄存器
寄存器:
存储数据: CPU>内存>硬盘
32位cpu 8 16 32
64位cpu 8 16 32 64
通用寄存器
# 32位的通用寄存器只有8个
存值的范围是:0—FFFFFFF
对于二进制来说 是直接修改寄存器的值或者是内存的值
计算机如何向寄存器存值
mov指令
mov 存的地址 , 存的数字也就是大小
mov 写入的地址, 从那个地址写入
可以将数字写入到寄存器 ,可以将寄存器的值 写入到另一个寄存器里面
计算机:计算力
不同的寄存器
主要是以位数来划分的
(一个F代表 4位 也就是 1111) (L 低位 H 高位)
FFFFFFFF FFFF FF 0000 0000
32位 16位 8位 (8位细分可以划分位 高8位 低8位)(8位只有16位的一半)
EAX AX AL
ECX CX CL
EDX DX DL
EBX BX BL
ESP SP AH
EBP BP CH
ESI SI DH
EDI DI BH
除了通用的寄存器之为 还有特定的寄存器 特定的寄存器有特定的功能
写值 一般写到通用的寄存器里面
内存
寄存器 很小 不够用所以 我们要把数据放到内存中
每个应用程序进程都有4GB的内存空间 虚拟内存 空头支票
程序正真运行的时候才会用物理内存
32位的电脑 最大的内存值是4GB
1B = 8bit
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
4GB 的内存 也就是4069MB 也就是 4096MB*1024KB = 4194304KB 也就是 4194304 * 1024 = 4294
967296B 也就是 34359738368 位(bit) 最大容量
计算机内存地址很多 空间很大
为了管理和计算方便 所以我们需要为内存 做标记 也就是内存地址
内存地址
存一个数 : 占用大小 数据宽度(WORD DWORD BYTE QWORD) 存到哪里
计算机内存地址很多 空间很大 每个空间分派一个名字 和地址
给内存起的编号 或者名字 就叫 内存地址 32为的 就是(8个16进制的值) ffffffff
32位 寻址能力 4GB 64位 理论上是没有上限
空间最大的值就是 FFFFFFFF 存储最大的就是 FFFFFFFF+1 = 100000000 32位存储最大的值就是 100000000
位是怎么限制内存大小的
100000000 bit * 8 = 800000000 B(位 )(16进制)
800000000转陈10进制 = 34,359,738,368
(((34,359,738,368/8) /1024)/ 1024)/1024= 4 GB