微机原理、汇编语言与接口技术:第四章 机器语言、汇编语言与高级语言

第4章汇编语言程序设计 本章学习目标 通过本章的学习,应当掌握以下内容: 了解汇编语言的基本知识和特点。 熟悉汇编语言的程序结构、段定义以及语句的格式。 掌握汇编语言常用伪指令的使用方法 熟练掌握汇编语言程序设计的基本方法:顺序结构、 分支结构、循环结构和子程序结构。 掌握程序设计中的宏指令和常用的系统功能的调用方 法
第4章 汇编语言程序设计 本章学习目标 通过本章的学习,应当掌握以下内容: •了解汇编语言的基本知识和特点。 •熟悉汇编语言的程序结构、段定义以及语句的格式。 •掌握汇编语言常用伪指令的使用方法。 •熟练掌握汇编语言程序设计的基本方法:顺序结构、 •分支结构、循环结构和子程序结构。 •掌握程序设计中的宏指令和常用的系统功能的调用方 法

4、1机器语言、汇编语言与高级语言 程序设计语言通常分为3类: 机器语言( Machine language) 汇编语言( Assembler language) 高级语言( High Level language) 4、1、1机器语言和汇编语言 1.机器语言 (1)机器指令 机器指令是指用二进制编码的指令,以表示计算机所 要进行操作数及操作对象(数据或数据地址)。 (2)指令系统和机器语言 指令系统是指特定计算机上机器指令的集合。机器语 言是由指令系统以及机器指令的使用规则构成的。 机器语言是计算机惟一能识别的语言,只有用机器语 言描述的程序,计算机才能直接执行
4、1 机器语言、汇编语言与高级语言 程序设计语言通常分为3类: 机器语言(Machine Language) 汇编语言(Assembler Language) 高级语言(High Level Language) 4、1、1 机器语言和汇编语言 1.机器语言 (1)机器指令 机器指令是指用二进制编码的指令,以表示计算机所 要进行操作数及操作对象(数据或数据地址)。 (2)指令系统和机器语言 指令系统是指特定计算机上机器指令的集合。机器语 言是由指令系统以及机器指令的使用规则构成的。 机器语言是计算机惟一能识别的语言,只有用机器语 言描述的程序,计算机才能直接执行

(3)机器语言的主要特点 机器语言主要具有下列两个特点 ①机器语言与机器密切相关 ②机器语言设计程序非常困难,但容易实现高性能 2.汇编语言 以助记符描述的指令称作汇编格式指令或符号指令, 通常简称指令。指令和伪指令的集合及其程序设计规 则便构成了汇编语言。用汇编语言编写的程序就是汇 编语言源程序。 4、1、2汇编语言与高级语言 机器语言和汇编语言都是面向机器的,是低级语言。 高级语言在程序设计的简易性与代码的可移植性等方 面有了质的飞跃。当然,用高级语言编写的源程序必 须经过编译和连接,将其转变为可执行程序或借助于 解释程序方可在计算机上运行
(3)机器语言的主要特点 机器语言主要具有下列两个特点: ① 机器语言与机器密切相关 ② 机器语言设计程序非常困难,但容易实现高性能 2. 汇编语言 以助记符描述的指令称作汇编格式指令或符号指令, 通常简称指令。指令和伪指令的集合及其程序设计规 则便构成了汇编语言。用汇编语言编写的程序就是汇 编语言源程序。 4、1、2 汇编语言与高级语言 机器语言和汇编语言都是面向机器的,是低级语言。 高级语言在程序设计的简易性与代码的可移植性等方 面有了质的飞跃。当然,用高级语言编写的源程序必 须经过编译和连接,将其转变为可执行程序或借助于 解释程序方可在计算机上运行

汇编语言和高级语言的比较: 语言 汇编语言 高级语言 代码效率 较低 源程序可读性较差 好 对硬件的依附性高 低 程序员硬件知识高 较低 应用范围 较广 广泛 4、1、3汇编与连接
语言 汇编语言 高级语言 代码效率 高 较低 源程序可读性 较差 好 对硬件的依附性 高 低 程序员硬件知识 高 较低 应用范围 较广 广泛 汇编语言和高级语言的比较: 4、1、3 汇编与连接

1.汇编程序 汇编是把汇编语言程序翻译成机器语言描述的目标程序 的过程。 汇编程序是完成汇编任务的程序。 2.连接程序 连接程序的主要功能是实现多个目标文件及库文件的连 接,并完成浮动地位的重定位。 从汇编语言源程序到可执行程序的生成过程如图所示。 汇编语言源程序 汇编 目标程序 可执行程序 连接
1.汇编程序 汇编是把汇编语言程序翻译成机器语言描述的目标程序 的过程。 汇编程序是完成汇编任务的程序。 2.连接程序 连接程序的主要功能是实现多个目标文件及库文件的连 接,并完成浮动地位的重定位。 从汇编语言源程序到可执行程序的生成过程如图所示。 汇编语言源程序 汇编 目标程序 可执行程序 连接

4、2汇编语言源程序的结构 4、2、1汇编语言的语句格式 汇编语言源程序中的每个语句可以由4项组成,格式如下 Iname operation operand: comment 「名字项]操作项操作数项;注释项 下面分别说明各项的表示方法。 1.名字项 源程序中用下列字符表示名字: 字母:A~Z或a~z; 数字:0~9; 专用字符号:?、·、 般来讲,名字项可以是标号或变量 (1)标号:在代码段定义,后面跟冒号: 它有三种属性:段、偏移及类型
4、2 汇编语言源程序的结构 4、2、1 汇编语言的语句格式 汇编语言源程序中的每个语句可以由4项组成,格式如下 [name] operation operand [;comment] [名字项] 操作项 操作数项 ;注释项 下面分别说明各项的表示方法。 1.名字项 源程序中用下列字符表示名字: 字母:A~Z或a~z; 数字:0~9; 专用字符号:?、•、@、―、$; 一般来讲,名字项可以是标号或变量。 (1)标号:在代码段定义,后面跟冒号: 它有三种属性:段、偏移及类型

①段属性:定义标号的段起始地址,在CX寄存器中。 ②偏移属性:16位无符号数。 ③类型属性:用来指出该标号是在本段内引用还是在其 他段内引用的。 (2)变量:变量在除代码以外的其他段中定义,后面不 跟冒号。它也可以用 LABLE或EQU伪操作来定义。变量 经常在操作数字段出现。 它也有段、偏移及类型三种属性。 ①段属性定义变量的段起始地址,此值必须在一个段寄 存器中。 ②偏移属性变量的偏移地址是16位无符号数,它代表从 段的起始地址到定义变量的位置之间的字节数。在当前段 内给出变量的偏移值等于当前地址计数器的值,当前地址 计数器的值可以用s来表示。 ③类型属性变量的类型属性定义该变量所保留的字节数
① 段属性:定义标号的段起始地址,在CX寄存器中。 ② 偏移属性:16位无符号数。 ③ 类型属性:用来指出该标号是在本段内引用还是在其 他段内引用的。 (2)变量:变量在除代码以外的其他段中定义,后面不 跟冒号。它也可以用LABLE或EQU伪操作来定义。变量 经常在操作数字段出现。 它也有段、偏移及类型三种属性。 ① 段属性定义变量的段起始地址,此值必须在一个段寄 存器中。 ② 偏移属性变量的偏移地址是16位无符号数,它代表从 段的起始地址到定义变量的位置之间的字节数。在当前段 内给出变量的偏移值等于当前地址计数器的值,当前地址 计数器的值可以用 $ 来表示。 ③ 类型属性变量的类型属性定义该变量所保留的字节数

2.操作项 操作项可以是指令、伪操作或宏指令的助记符。 3.操作数项 操作数项由一个或多个表达式组成,多个操作数项之间 般用逗号分开。 4.注释项 注释项用来说明一段程序或一条或几条指令的功能,它是 可有可无的 4、2、2汇编语言源程序的段定义 段定义伪操作的格式如下: segment-name SEGMENT segment-name ENDS 其中删节号部分,对于DS、ES和SS来说,一般是存贮单 元的定义、分配等伪操作;对于代码段则是指令及伪操作
2.操作项 操作项可以是指令、伪操作或宏指令的助记符。 3.操作数项 操作数项由一个或多个表达式组成,多个操作数项之间一 般用逗号分开。 4.注释项 注释项用来说明一段程序或一条或几条指令的功能,它是 可有可无的。 4、2、2汇编语言源程序的段定义 段定义伪操作的格式如下: segment-name SEGMENT … segment-name ENDS 其中删节号部分,对于DS、ES和SS来说,一般是存贮单 元的定义、分配等伪操作;对于代码段则是指令及伪操作

此外,还必须明确段和段寄存器的关系,这可用 ASSUME伪操作来实现,其格式为: ASSUME assignment, .. assignment 其中 assignment说明分配情况,其格式为: 〈段寄存器名〉:〈段名 其中段寄存器名必须是CS、DS、ES和SS中的一个, 而段名则必须是由 SEGMENT定义的段中的段名。4 2、3汇编语言源程序的结构 汇编语言源程序的程序基本结构是段,一个汇编语言 源程序由若干个代码段、数据段、附加段和堆栈段组 成。段之间的顺序可以随意安排,通常数据段在前, 代码段在后。任何可执行汇编语言程序至少要有一个 代码段,通常还可能有数据段和堆栈段。每个段都有 段首指令和段结束指令,段的内容介于这两条指令之 间
此外,还必须明确段和段寄存器的关系,这可用 ASSUME伪操作来实现,其格式为: ASSUME assignment,…,assignment 其中 assignment 说明分配情况,其格式为: 〈段寄存器名〉:〈段名〉 其中段寄存器名必须是CS、DS、ES和SS中的一个, 而段名则必须是由SEGMENT定义的段中的段名。 4、 2、.3 汇编语言源程序的结构 汇编语言源程序的程序基本结构是段,一个汇编语言 源程序由若干个代码段、数据段、附加段和堆栈段组 成。段之间的顺序可以随意安排,通常数据段在前, 代码段在后。任何可执行汇编语言程序至少要有一个 代码段,通常还可能有数据段和堆栈段。每个段都有 段首指令和段结束指令,段的内容介于这两条指令之 间

其一般结构如下: SSEG SEGMENT STACK 〈堆栈段的内容〉 SSEG ENDS DSEG SEGMENT DATA 〈数据段的内容 DSEG ENDS CSEG SEGMENT CODE 〈代码段的内容〉 CSEG ENDS END〈启动标号 对于一般程序来说,定义太多的段只会增加程序设计 的复杂性,通常需要一个代码段、一个数据段和一个 堆栈段,有时可包含一个附加段
其一般结构如下: SSEG SEGMENT STACK 〈堆栈段的内容〉 SSEG ENDS DSEG SEGMENT DATA 〈数据段的内容〉 DSEG ENDS CSEG SEGMENT CODE 〈代码段的内容〉 CSEG ENDS END 〈启动标号〉 对于一般程序来说,定义太多的段只会增加程序设计 的复杂性,通常需要一个代码段、一个数据段和一个 堆栈段,有时可包含一个附加段
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 微机原理、汇编语言与接口技术:第六章 总线的基本概念.ppt
- 微机原理、汇编语言与接口技术:第八章 中断技术、DMA控制器及定时器/计数器.ppt
- 微机原理、汇编语言与接口技术:第五章 存储系统及半导体存储器.ppt
- 微机原理、汇编语言与接口技术:第二章 微机原理与接口技术微处理器.ppt
- 微机原理、汇编语言与接口技术:第九章 数、模和数、数模转换.ppt
- 微机原理、汇编语言与接口技术:第三章 微型计算机指令系统.ppt
- 微机原理、汇编语言与接口技术:第七章 输入输出总线接口技术.ppt
- 微机原理、汇编语言与接口技术:第一章 微型计算机的发展、应用及其分类.ppt
- 东北农业大学工程学院:《计算机集成制造技术》课程教学资源(PPT课件)计算机辅助制造概论.ppt
- 计算机应用基础_Killer Transitions README.rtf
- 计算机应用基础_KILLER Transitions Manual.rtf
- VISUAL C++ MFC 简明教程.doc
- 柳州师专电算中心《计算机应用基础》练习题集_封面.doc
- 柳州师专电算中心《计算机应用基础》练习题集.doc
- 计算机应用基础练习题集_光盘的种类和用途.doc
- 计算机应用基础练习题集_媒体数字化.doc
- 计算机应用基础练习题集_从 Internet世界走出的知名厂商.doc
- 计算机应用基础练习题集_中国因特网用户群特征探讨(二).doc
- 计算机应用基础练习题集_PC台式机走势.doc
- 计算机应用基础练习题集_中国因特网用户群特征探讨(一).doc
- AUTO CAD205中文教程 教学课件讲解.ppt
- 中国药科大学:《数据结构》课程PPT教学课件(讲稿)第一章 绪论.ppt
- 中国药科大学:《数据结构》课程PPT教学课件(讲稿)第十章 索引与散列结构知识讲解.ppt
- 中国药科大学:《数据结构》课程PPT教学课件(讲稿)第二章 数组的定义和初始化知识讲解.ppt
- 中国药科大学:《数据结构》课程PPT教学课件(讲稿)第三章 链表之(单链表的类定义).ppt
- 中国药科大学:《数据结构》课程PPT教学课件(讲稿)第四章 栈和队列的知识概论.ppt
- 中国药科大学:《数据结构》课程PPT教学课件(讲稿)第五章 递归与广义表的知识概念讲解.ppt
- 中国药科大学:《数据结构》课程PPT教学课件(讲稿)第六章 树与森林的概念讲解.ppt
- 中国药科大学:《数据结构》课程PPT教学课件(讲稿)第七章 集合与搜索的基本概念.ppt
- 中国药科大学:《数据结构》课程PPT教学课件(讲稿)第八章 图的基本概念的知识讲解.ppt
- 中国药科大学:《数据结构》课程PPT教学课件(讲稿)第九章 排序的基本概述.ppt
- 科学计算与 MATLAB语言——第一章 MATLAB概述与运算基础.pps
- 科学计算与 MATLAB语言——第二章 MATLAB程序设计.pps
- 科学计算与 MATLAB语言——第三章 Mat1ab的文件操作.pps
- 科学计算与 MATLAB语言——第四章 Matlab绘图功能.pps
- 科学计算与 MATLAB语言——第五章 MATLAB线性代数中的数值计算问题.pps
- 科学计算与 MATLAB语言——第六章数据处理方法与多项式.pps
- 科学计算与 MATLAB语言——第七章 MATLAB的符号计算.pps
- 科学计算与 MATLAB语言——第八章 MATLAB图形用 户界面设计.pps
- Linux实用教程——第一章 Linux的实用教程概况及安装.ppt