汇编,寄存器,内存,mov指令
一.代码 和 汇编 和 二进制之间的关系 二.复习一下计算机组成原理的知识 1.寄存器 计算机中有三个存储 32位cpu提供的寄存器有三种类型8位 16位 32位 64位的只是32位的扩展 并且程序大多是32位 以下是32位的8个通用寄存器(有宽度) 2.MOV指令 mov eax ,1(向eax寄存器存1) mov edx , eax(把edx里面的值存到eax ) 例子: EAX:32位通用寄存器 假如FFFFFFFF 一个F(16进制)化为2进制 1111,也就是4位 所以为什么叫32(四个字节) ? 4*8=32 三.内存 1.内存 内存空间和物理内存都不是内存条!物理内存和内存条之间还有一层映射关系。 下面的话其实并不是真正的给每一个进程分了4g的内存条,等进程 真正要去写/读内存的时候就把4g内存映射到物理内存上去。 2.内存地址 内存太多起不了名字 只能用编号。 每一行的内存编号代表一个字节 3.mov指令向内存写数据 与往寄存器里面写是不一样的 内存 eax32位 ax16位 他是自带数据宽度的, 而内存不一样,内存是连起来的一大片 所以 ! 不同点:向内存写的时候必须明确告诉其宽度。 byte = 1字节 word = 2字节 dword = 4字节 <1> 那么就有一个问题,就是一行的内存地址编号是一个字节。 现在村的数据是四个字节,那么可行吗? 可行