汇编语言程序设计第一章优秀课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
南开大学 朱耀庭
2. 汇编语言
❖ 用汇编语言编写的程序称作汇编语言程序,或汇编语言源 程序,在本教材中也简称为源程序。汇编语言程序较之机 器指令程序容易理解和维护。 汇编语言源程序是一个文本文件,它必须经过翻译才能够 变成可执行的机器语言程序,这个翻译过程称作汇编。汇 编的核心过程是将汇编指令逐条翻译成机器指令,这正是 汇编语言中“汇编”一词的含义。
南开大学 朱耀庭
2. 汇编语言
❖ 因此,用助记符表示的机器指令称作汇编指令,用汇编指 令编写的程序称作汇编指令程序。但汇编指令最终必须翻 译成机器指令才能够在机器上执行。 汇编语言是汇编指令集、伪指令集及其使用规则的统称。 能够一对一地翻译成机器指令的这种用助记符表示的机器 指令称作汇编指令。伪指令则是出现在汇编语言程序中的 一些辅助性的说明,它不对应具体的机器指令,而是程序 设计者与汇编过程中的翻译程序(即汇编)、连接程序, 以及执行时如何装入的一种约定。有关内容详见5.1节。
❖ 用机器指令所写的程序称作机器指令程序,机器指令 程序也指用代码指令所写的程序。机器指令程序遵循 冯•诺依曼原理:用二进制表示数,程序与数据都存储 在同样的存储器,程序指令一般顺序存取顺序执行。
南开大学 朱耀庭
1. 机器语言
❖ 计算机出现初期只有一种机器语言,程序员只能用代 码指令编写程序,即机器语言程序。用机器语言编写 程序是相当艰苦的工作,必须由经过严格训练的专业 技术人员承担,这是早期计算机之所以不能够广泛应 用的最大障碍之一。
1.1.1 面向机器的语言
1
机器语言
2
汇编语言
3
机器语言与汇编语言
南开大学 朱耀庭
1. 机器语言
❖ 机器语言程序由机器指令构成,这些机器指令按照执 行顺序依次排列,运行时依次执行完成某个特定的计 算或任务。
❖ 机器指令是CPU能直接识别并执行的指令。机器指令 由物理部件的若干位二进制0、1状态体现,机器指令 程序运行前需要存储到内存,正确的机器指令一旦送 入CPU被译码后就将变成动作予以执行。
❖ 一方面机器语言十分重要,必须了解;另一方面机器 代码指令程序使用又十分困难;因此唯一能够替代机 器语言的汇编语言就成为了计算机科技人员必须掌握 的一种计算机语言。
南开大学 朱耀庭
2. 汇编语言
❖ 虽然用机器语言编写程序有许多不便,但程序执行效率高。 所以,在保留“程序执行效率高”的前提下,人们开始着 手研究一种能大大改善程序可读性的编程方法。即选用能 反映机器指令功能的单词或词组来代替该机器指令的操作 码,选用相应的符号表示CPU内部资源和内存等操作数, 这就是汇编指令。
南开大学 朱耀庭
1. 机器语言
❖ 如图1-1所示,机器指令面向机器,因机器而异。不同 的机器具有不同的机器指令,因而具有不同的机器语 言。
80X86 机器语言
Z80 机器语言
80X86 CPU 计算机
图1-1 使用不同机器语言的计算机
动画演示
Z80 CPU 计算机
汇编语言程序设计 第一章
第一章 预备知识
1.1 计算机语言 1.2 思维方式的转变
1.3 计算机中数的表示
机语言
1.1.1 面向机器的语言 1.1.2 非面向机器的计算机语言
1.1.3 学习汇编语言的意义
南开大学 朱耀庭
南开大学 朱耀庭
1. 机器语言
❖ 例如:B233H就是一条80X86的十六进制机器代码指 令,这条指令的功能是将33H这个十六进制数送DL寄 存器。该机器指令的二进制代码指令是: 1011001000110011,指令长度16位。
❖ 显然二进制代码指令与其状态对应直观,但记忆困难; 而十六进制代码指令则方便记忆。因此80X86的代码 指令通常都用十六进制表示。
南开大学 朱耀庭
1. 机器语言
❖ 机器指令通常由操作码和操作数两部分组成,操作码 指出该指令所要完成的操作,即指令的功能,操作数 指出参与运算的对象,以及运算结果所存放的位置等。
❖ 由于机器指令由物理部件的若干位二进制0、1状态体 现,因此机器指令的最直接的记忆形式就是表示这一 指令状态的二进制数,这个二进制数就称作该机器指 令的二进制代码指令。由于二进制数和八进制数,以 及十六进制数的特殊关系,因此该二进制代码指令对 应的八进制数和十六进制数分别称作该机器指令的八 进制或十六进制代码指令。
❖ 例如, 汇编指令:MOV AL,BL 其对应的二进制指令为:1101100010001000,十六进制 代码指令则为D888H,可见记忆机器指令相当困难。
南开大学 朱耀庭
2. 汇编语言
❖ 而汇编指令中MOV源于Move,表示传送指令;AL,BL 分别表示80X86的AL和BL寄存器。指令功能是将BL寄存 器中的内容传送到AL寄存器。如此,令人难懂的二进制 机器代码指令或十六进制机器代码指令就可以用通俗易懂 的、具有一定含义的符号指令来表示了,这就是汇编指令 的原意。我们称这些具有一定含义的符号,例如上述指令 中的MOV,为助记符,用助记符、符号地址等组成的符号 指令称为汇编格式指令或汇编指令。
程序与其机器指令程序 之间的对应关系。
图1-2 汇编程序翻译过程示意图
动画演示
南开大学 朱耀庭
2. 汇编语言
尽管不同的CPU有不同的汇编语言,但不同种类的汇编语言 都有其共同规律。因此学会一种机器的汇编语言,再学习其 他汇编语言就相对容易多了。 ❖ 例1-1 汇编程序和对应的机器指令程序 在Debug下输出字符‘3’的汇编语言程序如下:
南开大学 朱耀庭
2. 汇编语言
❖ 80X86汇编语言源程序 扩展名为.ASM,经过汇 编以后生成的浮动地址
二进制文件扩展名 为.OBJ,.OBJ文件需 要经过连接才能够生成
可执行文 件.EXE。.EXE是一个 可以由操作系统执行的 机器指令程序。图1-2给 出了一个简单汇编语言