zoukankan      html  css  js  c++  java
  • [OS] 汇编语言

    操作系统

    • 每个进程拥有一片连续的内存空间(地址空间),空间中的每个字节都可以用一个32位无符号整数定位,每个字节的位置称为地址

    CPU

    • 32位:能够处理的数据最大为32bit,地址空间2^32<4G
    • 64位:能够处理的数据最大为64bit,地址空间2^64

    寄存器

    • EAX、EBX、ECX、EDX:通用寄存器
    • ESI、EDI、EBP:存储内存地址
    • EIP、ESP
    • PSW

    工作过程

    • 从寄存器取出一个数据(地址空间中的地址),然后CPU加载这个数据指向的若干字节的数据组成的指令,随即读取寄存器下一个字节处的地址
    • 一个指令分为三部分:操作、参数、参数定位方式

    三种代码

    • 本地代码:二进制机器码
    • 汇编代码:用助记符表示的本地代码(汇编代码——汇编——本地代码)
    • 源代码:高级语言编写的代码(源代码——编译——汇编代码)

    gcc命令

    • 编译流程:源程序-->预处理(.i)-->编译(.s)-->汇编(.o)-->链接(可执行程序)
    • 默认:预处理+编译+汇编+链接
    • -E:预处理(.i)
    • -S:预处理+编译(.s)
    • -c:预处理+编译+汇编(.o)
    • -g:预处理+编译+汇编+链接+调试信息(.o)
    • -o [file1] [file2]:将file2编译成可执行文件file1(.o)
  • 相关阅读:
    Python修改文件内容
    Python实现用户注册到文件
    Postman接口测试
    Linux下安装LoadRunner LoadGenerator
    Loadrunner参数化避免重复数据
    Ta-Lib用法介绍 !
    迭代器 生成器
    深入理解python多进程编程
    python多进程
    python多线程
  • 原文地址:https://www.cnblogs.com/cxc1357/p/12057666.html
Copyright © 2011-2022 走看看