zoukankan      html  css  js  c++  java
  • exe可执行文件和源代码文件asm

    exe可执行文件

    通过link可以获得最终的exe文件

    系统要运行exe文件的话   需要分配给他一段内存

    系统是怎么知道要分配多大的内存给这个程序的?  也就是这个exe文件

    因为exe文件中  除了我们整个程序的代码还包括了一些信息(文件有多大   程序的入口在哪里)描述信息

    系统就是通过这些描述信息对寄存器进行相关设置

    start伪指令   是告诉翻译软件 start 伪指令  在exe文件的描述信息中扮演什么角色?

    就是将我们设置的程序的入口地址在哪里   记录在exe文件的描述信息中 

    然后系统通过这个描述文件中的内容去设置cs,ip  当然还有一些其他内存

    exe可执行文件 不止包括了整个程序  还包括了描述信息

    系统是根据这些描述信息  进行相关的设置

     源代码文件 asm

     汇编语言

      汇编指令      被编译器翻译成010101001机器指令  机器码  由CPU执行

      伪指令         由编译器执行

      符号体系      由编译器执行

    data segment    告诉编译器  data段从这里开始

    data ends          告诉编译器  data段到这里结束      分配内存

    段的名字可以随意取       方便我们阅读

    实现了程序返回的功能

    mov  ax,4c00H

    int 21H

    系统在加载程序的时候要分配内存 设置寄存器

    内存和寄存器都还给系统

    不能永远占用内存  内存是有限的

      

        

  • 相关阅读:
    Vue.js-项目目录结构解析
    Vue.js-创建Vue项目(Vue项目初始化)并不是用Webstrom创建,只是用Webstrom打开
    Node.js-npm安装包目录修改
    Node.js-Webstorm2018配置nodejs
    Node.js-ReferenceError: _filename is not defined
    cas系列-自定义异常提示(五)
    cas系列-cas登出(四)
    cas系列-cas REST协议(三)
    maven引入第三方jar包
    持续api管理翻译
  • 原文地址:https://www.cnblogs.com/hsp1269/p/13841766.html
Copyright © 2011-2022 走看看