《汇编语言》第四章-第一个程序

本文详细介绍了从源程序到可执行文件的生成过程,包括编辑、汇编、链接和加载运行等步骤。讲解了汇编指令和伪指令的区别,并阐述了连接程序在处理多个源程序和库文件中的作用。最后,解释了可执行文件如何加载到内存并执行。
摘要由CSDN通过智能技术生成

目录:https://blog.csdn.net/qq_43098197/article/details/124532401

程序执行流程

  1. 编程 Edit -> asm
  2. 编译 masm -> obj
  3. 连接 link -> exe
  4. 加载 command -> 载入内存
  5. 运行 cpu

源程序

伪指令

  • 在汇编源程序中有两种指令,一种是汇编指令,一种是伪指令。
  • 汇编指令有对应的机器码指令,可以被编译为机器指令,最终由 CPU 执行。
  • 伪指令没有对应的机器码指令,由编译器来执行。

程序

  • 源程序是我们编写的代码。
  • 源程序中最终由计算机执行、处理的指令或数据称为程序。

程序的返回

MOV AX, 4C00H
INT 21H

编写源程序

  • 就是写代码。

编译

masm

masm [源程序文件名.asm][;]

然后会出现:

Source filename [.ASM]: X  // 源程序名称
Object filename [X.OBJ]:   // 编译后的目标文件名
Source listing  [NUL.LST]: // 列表文件名
Cross-reference [NUL.CRF]: // 交叉引用文件名

源程序名称是需要必须指定的,其它的不必要。

[] 里面的是默认值

列表文件 和 交叉引用文件: 编译器将源程序编译为目标文件的过程中产生的中间结果。

简化

masm 源程序文件名;

连接

link

link

然后会出现:

Object Modules [.OBJ]: X // 目标文件名
Run File [X.EXE]:        // 生成可执行文件的名称
List File [NUL.MAP]:     // 映像文件
Libraries [.LIB]:        // 库文件

映像文件: 连接程序将目标文件连接为可执行文件过程中产生的中间结果。

连接的作用:

  1. 当一个程序依赖其它源程序时,使用连接程序将它们连接到一起,生成一个可执行文件。
  2. 使用某个函数库,需要将这个库文件和该源程序生成的目标文件连接到一起,生成一个可执行文件。
  3. 源程序编译完成后,得到了存有机器码的目标文件,目标文件中有些内容不能直接用来生成可执行文件,连接程序会处理这些内容,最后生成一个可执行文件。

简化

link 目标文件名;

可执行文件如何将入内存并且执行它?

> xxx.exe

执行上面的命令 会发生什么:

在这里插入图片描述

DEBUG

单步调试程序:

debug xxx.exe

Dos 系统中 .exe 加载的过程:

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值