8086汇编 程序编译

8086汇编 程序编译

源程序到执行可执行文件的过程

源程序文件.asm -> 目标文件.obj -> 连接 -> 可执行文件.exe -> 运行程序

编译

MASM.exe 工具编译

  • ; 开始编译文件,也可以不写入文件名
  • ; 简化过程结尾加”;”号:masm 文件.asm;
  • 1)> masm 文件.asm

  • ; 目标文件(*.OBJ)是我们对一个源程序进行编译要得到的最终结果。

  • 2)> Object filename [文件名]:回车

  • ; 列表文件(*.LST)是编译器将源程序编译为目标文件的过程中产生的中间结果。

  • 3)> Source listing [NUL.LST]:回车

  • ; 交叉引用文件(*.CRF)同列表文件一样,是编译器将源程序编译为目标文件过程中产生的中间结果。

  • 4)> Cross-reference [NUL.CRF]:回车

  • 结束:对源程序的编译结束,编译器输出的最后两行告诉我们这个源程序没有警告错误和必须要改正的错误。

连接

LINK.exe 工具连接

  • ; 连接文件使用命令
  • ; 简化过程、加”;”号:link 文件名.obj;
  • 1)> link 文件名.obj

  • ; 可执行文件(.EXE)是我们对一个程序进行连接要得到的最终结果。

  • 2)> Run File [文件名.EXE]:回车

  • ; 映像文件(.MAP)是连接程序将目标文件连接为可执行文件过程中产生的中间结果。

  • 3)> List File [NUL.MAP]:回车

  • ; 库文件(.LIB)里包含了一些可以调用的子程序,如果我们的程序中调用了某一个库文件中的子程序,就需要在连接的时候,将这个库文件和我们的目标文件连接到一起,生成可执行文件。

  • 4)> Libraries [.LIB]:回车

  • ; no stack segment,一个”没有栈段”的警告错误 ,可以不理会这个错误。

  • 5)> LINK:warning L4021:nostack segment

Original: https://www.cnblogs.com/xiangsikai/p/12468291.html
Author: kevin.Xiang
Title: 8086汇编 程序编译

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/554034/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • JDK、JRE、JVM傻傻分不清?

    JDK、JRE、JVM傻傻分不清? 什么是JVM? JVM全称Java Virutal Machine,即Java虚拟机,用来运行Java字节码文件,JVM是Java跨平台运行的关…

    技术杂谈 2023年7月11日
    093
  • contos mongodb 安装

    vi /etc/yum.repos.d/mongodb-org-4.0.repo [mongodb-org-4.0] name=MongoDB Repository baseurl…

    技术杂谈 2023年7月10日
    0107
  • Golang仿云盘项目-5.用户上传/查询文件/秒传

    秒传原理 TODO 服务架构变迁 较之前的加入了用户文件表、hash计算。 唯一文件表:一个文件只存一条记录,文件的filesha1为主键 用户文件表:存储每个用户所有文件的元数据…

    技术杂谈 2023年7月24日
    0108
  • 推荐一款颜值逆天且功能齐全的开源Shell工具!

    前言 以前在windows上一直使用的SSH工具是XShell,后来转到mac平台,XShell没有mac版本。所以之前一直在找一款颜值高,功能齐全的可以作为日常使用的Shell工…

    技术杂谈 2023年7月11日
    0109
  • ElasticSearch集群设置

    多台机器 \config\elasticsearch.yml 文件修改 cluster.name设置统一的集群名如 cluster.name: win-es-001 node.na…

    技术杂谈 2023年5月31日
    0111
  • Android studio打包 .aab格式文件

    谷歌要求在今年8月份新的app上传至google playstore中必须要使用新的格式(.aab)进行上传,那么如何通过Android studio打包出 .aab格式呢 选择:…

    技术杂谈 2023年7月10日
    094
  • 1、Swift协程详解:协程简介

    协程的基本概念 协程(Coroutines)不是一个语言特有的概念,也没有一个特别严格的定义,维基百科对它定义也只是对它最核心的非抢占式多任务调度进行了简单的描述: Corouti…

    技术杂谈 2023年6月1日
    0105
  • Qt 建立带有子项目的项目,以及子项目之间的调用

    建立带有子项目的项目 选择 其他-> 子项目目录 然后根据指导下一步即可。 建立好项目之后,就可以往项目中添加各种子项目。 向项目中添加子项目 右键项目,选择 Library…

    技术杂谈 2023年5月31日
    0189
  • springBoot使用注解Aop实现日志模块

    我们在日常业务操作中需要记录很多日志,可以在我们需要的方法中对日志进行保存操作,但是对业务代码入侵性大。使用切面针对控制类进行处理灵活度不高,因此我们可以使用自定义注解来针对方法进…

    技术杂谈 2023年7月24日
    0122
  • pageoffice代码优化前备份

    package com.huajun.pageoffice.controller; import com.alibaba.fastjson.JSON; import com.hua…

    技术杂谈 2023年5月31日
    0134
  • caching_sha2_password‘ cannot be loaded问题解决

    在mac上安装 8.0.19版本的mysql后,使用navicat连接时,报caching_sha2_password’ cannot be loaded的异常。 原因…

    技术杂谈 2023年5月30日
    0131
  • 梯度下降算法

    一、基本概念 梯度下降法,就是利用负梯度方向来决定每次迭代的新的搜索方向,使得每次迭代能使待优化的目标函数逐步减小。梯度下降法是2范数下的最速下降法。 最速下降法的一种简单形式是:…

    技术杂谈 2023年5月31日
    0134
  • java学习之SpringMVC拦截器开发

    0x00前言 springmvc的拦截器类似于Selvet的Filter,但是所属的操作又不一样 Spring MVC 提供了 Interceptor 拦截器机制,用于请求的预处理…

    技术杂谈 2023年6月21日
    0116
  • 前端性能优化的七大手段

    前面的话 本文将详细介绍前端性能优化的七大手段,包括减少请求数量、减小资源大小、优化网络连接、优化资源加载、减少重绘回流、使用性能更好的API和构建优化 【合并】 如果不进行文件合…

    技术杂谈 2023年5月31日
    0112
  • JAVA基本类型和包装类型

    JAVA基本类型和包装类型 前言 Java语言中的数据类型分为基本数据类型和引用类型,而我们进行Java开发的时候都听说过基本数据类型和包装类型,今天我们就来详细聊一聊Java中的…

    技术杂谈 2023年6月21日
    0117
  • Devops工程师需要具备的10项技能

    在这里,我们将讨论Devops工程师需要具备的10项技能,以享受成功的职业生涯。 正如下面所讨论的,DevOps是开发和运营的结合。因此,DevOps工作需要出色的沟通能力。此外,…

    技术杂谈 2023年5月31日
    087
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球