汇编语言学习笔记 - 第四章

第 4 章 第一个程序

4.1 一个源程序从写出到执行的过程

  • 编写汇编程序

    • 使用文本编辑器(如记事本等),用汇编语言编写汇编源程序
    • 目的是产生一个存储源程序的文本文件
  • 对源程序j进行编译连接

    • 使用汇编语言编译程序对源程序文件中的源程序进行编译,产生目标文件;再用连接程序对目标文件进行连接,生成可在操作系统中直接运行的可执行文件。
    • 可执行文件包含两部分:
      • 程序(从源程序中的汇编指令翻译过来的机器码)和数据(源程序中定义的数据)
      • 相关的描述信息(比如:程序有多大,要占用多少内存空间等)
    • 目的是产生一个可在操作系统中运行的可执行文件
  • 执行可执行文件中的程序

    • 在操作系统中,执行可执行文件中的程序。
    • 操作系统依照可执行文件中的描述信息,将可执行文件中的机器码和数据加载入内存,并进行相关的初始化(比如设置CS:IP指向第一条要执行的指令),然后由 CPU 执行程序。

4.2 源程序

举例:程序 4.1
在这里插入图片描述

1. 伪指令

  • 汇编源程序中包含两种指令:一种是汇编指令,另一种是伪指令。
  • 汇编指令是有对应的机器码指令,可以被编译为机器指令,最终被 CPU 所执行。
  • 伪指令没有对应的机器码指令,最终不被 CPU 所执行。
  • 伪指令是由编译器来执行的指令,编译器根据伪指令来进行相关的编译工作。

以下介绍三种伪指令:

  1. 段定义伪指令
XXX segment
    ...
XXX ends
  • segment 和 ends 成对使用,定义一个段,segment 表示段开始,ends 表示段结束。
  • 一个段必须有一个名称来标识。
  • 一个汇编程序中由多个段组成的,被用来储存代码、数据或当作栈空间来使用。
  • 一个有意义的汇编程序中至少要有一个段,这个段用来存放代码。
  1. 汇编程序结束伪指令
  • end 是一个汇编程序的结束标记,编译器碰到伪指令 end,就结束对源程序的编译。
  • 注意,不要搞混了 end和ends, ends是和segment成对使用的,标记一个段的结束,ends的含义可理解为“end segment”。我们这里讲的end的作用是标记整个程序的结束。
  1. 假设伪指令
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值