《微机原理与接口技术》课程PPT教学课件:第4章 汇编语言程序设计

第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~; 数字: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位无符号数,它代表从 段的起始地址到定义变量的位置之间的字节数。在当前段 内给出变量的偏移值等于当前地址计数器的值,当前地址 计数器的值可以用$来表示。 ③类型属性变量的类型属性定义该变量所保留的字节数
① 段属性:定义标号的段起始地址,在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教学课件:第三章 微型计算机指令系统.ppt
- 《微机原理与接口技术》课程PPT教学课件:第二章 微处理器.ppt
- 《微机原理与接口技术》课程PPT教学课件:第一章 微型计算机系统概述.ppt
- 《微机原理与接口技术》课程PPT教学课件:第八章 中断技术、DMA控制器及定时器/计数器.ppt
- 《微机原理与接口技术》课程PPT教学课件:第七章 输入输出总线接口技术.ppt
- 《微机原理与接口技术》课程PPT教学课件:第六章 总线.ppt
- 《微机原理与接口技术》课程PPT教学课件:第五章 存储系统及半导体存储器.ppt
- 《微机原理与接口技术》课程PPT教学课件:第九章 数/模和模/数转换.ppt
- 重庆工业职业技术学院:《C++程序设计》课程教学资源(上机操作)趣味取球.ppt
- 21世纪高职高专规划教材:《Internet应用技术》教学资源(PPT课件)第7章 Internet的其它服务.ppt
- 21世纪高职高专规划教材:《Internet应用技术》教学资源(PPT课件)第6章 文件传输.ppt
- 21世纪高职高专规划教材:《Internet应用技术》教学资源(PPT课件)第5章 网上信息浏览——WWW服务.ppt
- 21世纪高职高专规划教材:《Internet应用技术》教学资源(PPT课件)第4章 E-Mail(电子邮件).ppt
- 21世纪高职高专规划教材:《Internet应用技术》教学资源(PPT课件)第3章 Internet接入.ppt
- 21世纪高职高专规划教材:《Internet应用技术》教学资源(PPT课件)第2章 Internet的地址和域名体系.ppt
- 21世纪高职高专规划教材:《Internet应用技术》教学资源(PPT课件)第1章 Internet概述.ppt
- 《电子 CAD》考试试卷(选择、填空题).doc
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第五讲 模块化程序(函数).ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第四讲 循环结构的C程序设计.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第三讲 分支结构的C程序设计.ppt
- 《计算机系统安全》课程PPT教学课件:第一章 计算机系统安全概述.ppt
- 《计算机系统安全》课程PPT教学课件:第二章 计算机系统的物理安全.ppt
- 《计算机系统安全》课程PPT教学课件:第三章 计算机系统的可靠性.ppt
- 《计算机系统安全》课程PPT教学课件:第四章 传统密码学.ppt
- 《计算机系统安全》课程PPT教学课件:第五章 密码学应用.ppt
- 《计算机系统安全》课程PPT教学课件:第六章 公开密钥设施PKI.ppt
- 《计算机系统安全》课程PPT教学课件:第七章 身份认证.ppt
- 《计算机系统安全》课程PPT教学课件:第八章 访问控制.ppt
- 《计算机系统安全》课程PPT教学课件:第九章 防火墙.ppt
- 《计算机系统安全》课程PPT教学课件:第十章 常用攻击手段(1/3).ppt
- 《计算机系统安全》课程PPT教学课件:第十章 常用攻击手段(2/3).ppt
- 《计算机系统安全》课程PPT教学课件:第十章 常用攻击手段(3/3)病毒的防治及应急处理.ppt
- 《计算机系统安全》课程PPT教学课件:第十一章 入侵检测系统.ppt
- 《计算机系统安全》课程PPT教学课件:第十二章 IP安全.ppt
- 《计算机系统安全》课程PPT教学课件:第十三章 TLS(SSL)协议.ppt
- 湖南科学技术出版社:高等教育21世纪课程《大学计算机基础》课程教学资源(教材PPT)第一章 计算机系统基础(张慈珍).ppt
- 湖南科学技术出版社:高等教育21世纪课程《大学计算机基础》课程教学资源(教材PPT)第二章 数据的表示与运算.ppt
- 湖南科学技术出版社:高等教育21世纪课程《大学计算机基础》课程教学资源(教材PPT)第三章 操作系统基础.ppt
- 湖南科学技术出版社:高等教育21世纪课程《大学计算机基础》课程教学资源(教材PPT)第四章 文字处理基础.ppt
- 湖南科学技术出版社:高等教育21世纪课程《大学计算机基础》课程教学资源(教材PPT)第五章 表格处理基础.ppt