zoukankan      html  css  js  c++  java
  • 汇编 内存段划分和寄存器

    内存段

      BSS段:BSS段,Block Start by Symbol,通常指用来存放程序中未初始化(未赋值: int x )的全局变量的一块内存区域,属于静态内存分配。

      数据段:存放程序中已初始化的全局变量的一块内存区域,属于静态内存分配。(赋值int x=100;)

      代码段:通常指用来存放程序执行代码的一块内存区域(编译后)。

      堆:用于存放进程运行中被动态分配的内存段,大小可动态变化。当进程调用malloc等函数分配内存时,新分配的内存就被动态添加到堆上(堆被扩张),当利用free等函数释放内存时,被释放的内存从堆中被剔除(堆被缩减)。

      栈:栈又称堆栈,存放程序临时创建的局部变量

    寄存器

      分类:

      通用寄存器:

        数据寄存器:

          AX是主要累加器(EAX)

          BX基址寄存器(EBX)

          CX技术寄存器(ECX)

          DX数据寄存器(EDX)

        指针寄存器

          IP:存储下一个要执行的指令的偏移地址。IP与CS寄存器给出了完整的代码段中的当前指令地址。(EIP)

          SP:提供程序堆栈内的偏移值。SP和SS寄存器是指程序堆栈的当前位置的数据或地址。(ESP)

          BP:帮助在引用的参数变量传递到一个子程序。(EBP)

    AX是主要累加器,用于输入/输出和多数算术运算指令。

        BX基址寄存器

        CX技术寄存器

        DX数据寄存器

        索引寄存器

      控制寄存器

      段寄存器

      

      数据寄存器:

        

      

  • 相关阅读:
    Android ExpandableListView的下拉刷新实现
    Android 使用shape来画线
    三种常见的子查询(三十一)
    数据的准备(三十)
    LIMIT语句解析及本章简单回顾(二十九)
    WHERE、ORDER BY、GROUP BY、HAVING语句解析(二十八)
    查询表达式解析(二十七)
    单表的更新UPDATE和删除记录DELETE(二十六)
    插入记录INSERT(二十五)
    修改数据表——修改列定义和更名数据表(二十四)
  • 原文地址:https://www.cnblogs.com/tf-Y/p/4922912.html
Copyright © 2011-2022 走看看