zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    多线程交替打印示例
    单列集合框架体系Collection
    同域名下,两个网站通过cookie共享登录注册功能大概思路。
    CSS 隐藏滚动条
    Vue3--组件间传值
    TypeScript--类(class)
    TypeScript--泛型(generic)
    理解LDAP与LDAP注入
    CRLF injection 简单总结
    pigctf期末测评
  • 原文地址:https://www.cnblogs.com/xiangsikai/p/12468291.html
Copyright © 2011-2022 走看看