zoukankan      html  css  js  c++  java
  • 汇编系列10-内存

     前面我们学了寄存器,它本身就是用来存储数据的。寄存器是位于CPU当中的,无论是16位,32位还是64位,他的寄存器数量都是非常有限的。 如果要存储较多数据,仅靠CPU里面的寄存器是不够的。 我们可以把数据存放在内存当中。

    我们编程时提到的内存,指的是每个进程的虚拟的4GB内存。映射到实际的物理内存。物理内存到内存条还有一层映射。

    所谓4GB,由内存地址数据宽度决定的(寻址能力,寻址宽度),(2^32 +1)/1024/1024/1024= 4GB  1byte = 8 bit; 1kb= 1024b;1Mb= 1024kb;1Gb=1024Mb。

     

     内存格式写法:  mov  内存数据宽度(byte  word dword) ptr ds:[内存编号],要移入内存的东西(立即数,寄存器)

    注意:内存编号,不可以随便乱写,虽然说是每个进程有4G虚拟内存空间,但是不能随便乱用(可能应用程序禁止你使用这块地址)。使用之前要先申请才可以。

    如何知道是否申请了?---使用堆栈区出现的内存地址。

    使用move指令移动数据时,要保持两边数据宽度一致。

    汇编中绝大部分的指令,是不允许从内存到内存的。

    实验--执行前:

     执行后:

  • 相关阅读:
    深拷贝呀,浅拷贝,再来一次复习整理
    移动端适配之路的一步步了解
    回文数
    整数反转
    关于DOM事件篇收集的知识点
    Html5新增的属性-querySelector
    Java常用的集合类
    VerifyCodeServlet(一次性验证码)
    EncodingFilter
    BaseServlet(一个Servlet多个处理方法)
  • 原文地址:https://www.cnblogs.com/RevelationTruth/p/13908543.html
Copyright © 2011-2022 走看看