吉林大学:《微机原理及汇编语言》课程电子教案(PPT课件)第3章 汇编语言程序设计

第3章汇编语言程序设计 3.1概述 ● 指令:计算机完成某种操作的命令 程序:完成某种功能的指令序列 软件:各种程序总称 机器代码,汇编语言程序,汇编程序 汇编语言程序建立步骤: ● (1)用编辑程序建立.ASM源文件 ● (2)用LINK程序把.ASM文件转换为OBJ文件 (3)用LINK程序把.OBJ文件转换为.EXE文件 用EXE2BIN程序把.EXE文件转换为.COM文 件 (4)在DOS下直接键入.EXE文件或.COM文件 的立件名特就可云行程应
COMPUTER SCIENCE AND TECHNOLOGY COMPUTER SCIENCE AND TECHNOLOGY 第3章 汇编语言程序设计 3.1 概述 • 指令:计算机完成某种操作的命令 • 程序:完成某种功能的指令序列 • 软件:各种程序总称 • 机器代码,汇编语言程序,汇编程序 • 汇编语言程序建立步骤: • (1)用编辑程序建立.ASM源文件 • (2)用LINK程序把.ASM文件转换为OBJ文件 • (3)用LINK程序把.OBJ文件转换为.EXE文件, 或用EXE2BIN程序把.EXE文件转换为.COM文 件 • (4)在DOS下直接键入.EXE文件或.COM文件 的文件名就可运行该程序

3.2语句格式 上 语句格式:【名字]操作符操作数1,操作数2;【注释] 1. 名字 一种符号地址 组成:A~Z,a~z,0~9,专用符号?、、@、、$ 。 限制:①第一个字符不能为数字 ②“”必须为第一个字符 ③前31个字符有效 ④不能为关键字 类型:标号:指令符号地址 变量:数据符号地址 2.操作符 。 组成:CPU指令,伪指令,宏指令 3.操作数 。 指定参与操作的数据,或数据所在单元地址 4.注释 说明程序、指令功能,增加程序可读性 Ji Lin University China COMPUTER SCIENCE AND TECHNOLOG型
COMPUTER SCIENCE AND TECHNOLOGY COMPUTER SCIENCE AND TECHNOLOGY 3.2 语句格式 • 语句格式:[名字] 操作符 操作数1,操作数2 ;[注释] 1.名字 • 一种符号地址 • 组成:A~Z,a~z,0~9,专用符号?、.、@、_、$ • 限制:①第一个字符不能为数字 ②“.”必须为第一个字符 ③前31个字符有效 ④不能为关键字 • 类型: 标号:指令符号地址 变量:数据符号地址 2.操作符 • 组成:CPU指令,伪指令,宏指令 3.操作数 • 指定参与操作的数据,或数据所在单元地址 4.注释 • 说明程序、指令功能,增加程序可读性

3.3 伪指令 功能:指示汇编程序完成规定的操作,如选择处 理器,定义数据,分配存储器等。 i Lin University China CpTE型CIENCE AND T厘CHNDOLOGY
COMPUTER SCIENCE AND TECHNOLOGY COMPUTER SCIENCE AND TECHNOLOGY 3.3 伪指令 • 功能:指示汇编程序完成规定的操作,如选择处 理器,定义数据,分配存储器等

程序开始与结束 上 1. 程序开始:可以用name,title给程序起名。 格式:NAME module name 汇编程序以模块名作为模块的名字,若未使用NAME,则可用 TTLE给程序指定标题 格式:TITLE text 文本在每一页上打印出来,若没有NAME,则text的前6个字符为 模块名,text最多为60个字符。 若未使用NAME、TITLE,则源文件名为模块名。 2. 程序结束:表示原程序结束,不可缺,源程序的最后一条语句。 格式:END [label] 标号指示程序开始执行的起始地址,多个模块连接,主程序用标 号,其他程序不用,主程序缺省值为代码段第一条指令。 3. MASM6.0定义的入口点、出口点 入口点:.STARUP;产生设置DS、SS、SP代码,此时,END不 用标号。 出口点:EXT 返回操作系统,常用值为0。 。 例: .STARUP .EXIT 0 END Ji Lin University China COMPUTER SCIENCE AND TECHNOLOGY
COMPUTER SCIENCE AND TECHNOLOGY COMPUTER SCIENCE AND TECHNOLOGY 一、程序开始与结束 1.程序开始:可以用name,title给程序起名。 • 格式:NAME module_name • 汇编程序以模块名作为模块的名字,若未使用NAME,则可用 TITLE给程序指定标题 • 格式:TITLE text • 文本在每一页上打印出来,若没有NAME,则text的前6个字符为 模块名,text最多为60个字符。 • 若未使用NAME、TITLE,则源文件名为模块名。 2.程序结束:表示原程序结束,不可缺,源程序的最后一条语句。 • 格式:END [label] • 标号指示程序开始执行的起始地址,多个模块连接,主程序用标 号,其他程序不用,主程序缺省值为代码段第一条指令。 3.MASM 6.0 定义的入口点、出口点 • 入口点:.STARUP ;产生设置DS、SS、SP代码,此时,END不 用标号。 • 出口点: .EXIT ;返回操作系统,常用值为0。 • 例: .STARUP … .EXIT 0 END

二、 处理器选择 功能:选择对应的指令集,也即对应的汇编执行语句集 放在程序最前面 缺省值为.8086 此类指令主要有: .8086选择8086指令系统 ● .286选择80286指令系统 ● .286P选择保护方式下80286指令系统 ● .386选择80386指令系统 .386P选择保护方式下80386指令系统 .486选择80486指令系统 ● .486P选择保护方式下80486指令系统 ● .586选择Pentium指令系统 .586P 选择保护方式下Pentium指令系统 Ji Lin University China COMPUTEP SCIENCE AND TECHNOLOGY
COMPUTER SCIENCE AND TECHNOLOGY COMPUTER SCIENCE AND TECHNOLOGY 二、处理器选择 • 功能:选择对应的指令集,也即对应的汇编执行语句集 • 放在程序最前面 • 缺省值为.8086 • 此类指令主要有: • .8086 选择8086指令系统 • .286 选择80286指令系统 • .286P 选择保护方式下80286指令系统 • .386 选择80386指令系统 • .386P 选择保护方式下80386指令系统 • .486 选择80486指令系统 • .486P 选择保护方式下80486指令系统 • .586 选择Pentium指令系统 • .586P 选择保护方式下Pentium指令系统

三、段定义 上 段定义:确定代码组织与数据存储的方式 2种:完整的段定义和简化的段定义 (MASM5.0以上) 完整的段定义包括: (1)segment.和end段定义 (2)ASSUME段分配 (3) GROUP段组定义 Ji Lin University China COMPUTER SCIENCE AND TECHNOLOGY
COMPUTER SCIENCE AND TECHNOLOGY COMPUTER SCIENCE AND TECHNOLOGY 三、段定义 • 段定义:确定代码组织与数据存储的方式 • 2 种 : 完整的段定义和 简 化 的 段 定 义 (MASM 5.0以上) • 完整的段定义包括: (1)segment和end段定义 (2)ASSUME段分配 (3)GROUP 段组定义

CHINA segment7和end段定义 (1) ● 格式: 段名 segment[定位类型][组合类型] [字长类型][类别'] s●● 段名 end 功能:定义段名、段属性。 一般情况下,选项可以不用,用默认值,但若需 连接本程序和其他程序,就要使用这些说明。 段名是段的标识符,指明段的基址,由程序员指 定。 Ji Lin University China COMPUTEP CIRNCE AND里COGY
COMPUTER SCIENCE AND TECHNOLOGY COMPUTER SCIENCE AND TECHNOLOGY segment和end段定义 (1) • 格式: 段名 segment [定位类型][组合类型] [字长类型][‘类别’] … … 段名 end • 功能:定义段名、段属性。 • 一般情况下,选项可以不用,用默认值,但若需 连接本程序和其他程序,就要使用这些说明。 • 段名是段的标识符,指明段的基址,由程序员指 定

segment7和end段定义(2) 上 ①定位类型 ● 定位类型:指定段起始边界,5种 ● BYTE:任意位置 ● WORD:偶地址,地址低1位为0 DWORD:4的倍数地址,地址低2位为0 PARA:16的倍数地址,地址低4位为0 PAGE:256的倍数地址,地址低8位为0,一页 的起点,默认值。 Ji Lin University China COMPUTER SCIENCE AND TECHNOLOGY
COMPUTER SCIENCE AND TECHNOLOGY COMPUTER SCIENCE AND TECHNOLOGY segment和end段定义 (2) ①定位类型 • 定位类型:指定段起始边界,5种 • BYTE: 任意位置 • WORD: 偶地址,地址低1位为0 • DWORD:4的倍数地址,地址低2位为0 • PARA: 16的倍数地址,地址低4位为0 • PAGE: 256的倍数地址,地址低8位为0,一页 的起点,默认值

segment和end段定义 (3) ②组合类型 组合类型:表示本段与其它段之间,具有相同段名的各段的组合 关系,为连接程序提供信息,属于连接类型,6种。 PUBLIC:本段连接时将与有相同段名.public类型的其它段连接在 一起,连接次序由连接命令指定(共用一个段),即同名段连接 在一起,有共同段地址。 STACK:用于说明堆栈段,把不同程序段中的具有SARCK类型的 同名段组合而形成一个堆栈段,其长度为各原有段的总和: LINK自动将新段的段地址送SS,长度送SP,若未定义SARCK类 型,需在程序中用指令设置SS、SP。 2MPN:本段连接时,使具有COMMON类型的同名段具奉 ● 同一个起始地址,所以会产生覆盖,新段的长度是最 COMMON段的长度,新段的内容取决于依次覆盖的最后内容。 MEMORY:表示该段应定位在所有段的最下面(即地址最大的区 域),如果模块中不止一个MEMORY段,以第一个遇到的作为 MEMORY段,其它段作为COMMON段处理,而LINK程序在 处理MEMORY时与PUBLICI同样对待。 PRIVATE:独立段,与其它段逻辑上没有关系,不与同名段合并, 默认值。 AT表达式指定本段起始地址为“表达式”,偏移量为0,不能 用于代码段,Lin University China
COMPUTER SCIENCE AND TECHNOLOGY COMPUTER SCIENCE AND TECHNOLOGY segment和end段定义 (3) ②组合类型 • 组合类型:表示本段与其它段之间,具有相同段名的各段的组合 关系,为连接程序提供信息,属于连接类型,6种。 • PUBLIC:本段连接时将与有相同段名.public类型的其它段连接在 一起,连接次序由连接命令指定(共用一个段),即同名段连接 在一起,有共同段地址。 • STACK:用于说明堆栈段,把不同程序段中的具有SARCK类型的 同名段组合而形成一个堆栈段,其长度为各原有段的总和, LINK自动将新段的段地址送SS,长度送SP,若未定义SARCK类 型,需在程序中用指令设置SS、SP。 • COMMON:本段连接时,使具有COMMON类型的同名段具有 同 一 个起 始地 址 , 所 以会 产生 覆盖 , 新 段的 长 度是 最 长 COMMON段的长度,新段的内容取决于依次覆盖的最后内容。 • MEMORY:表示该段应定位在所有段的最下面(即地址最大的区 域),如果模块中不止一个MEMORY段,以第一个遇到的作为 MEMORY段,其它段作为COMMON段处理,而LINK程序在 处理MEMORY时与PUBLIC同样对待。 • PRIVATE:独立段,与其它段逻辑上没有关系,不与同名段合并, 默认值。 • AT 表达式:指定本段起始地址为“表达式”,偏移量为0,不能 用于代码段

segment和end段定义(4) ③字长类型 字长类型:386以后,说明使用16位寻址方式 还是32位寻址方式。 .USE16:16位寻址方式,段长≤64KB,16位段 地址,16位偏移量,默认值。 .USE32:32位寻址方式,段长≤4GB,16位段 地址,32位偏移量。 ④类别 类别:引号括起的字符串,连接时,'类别”相 同的分段(他们可能不同名)均放在连续的存储空 间中,但他们仍然是不同的分段(连续空间)。 Ji Lin University China COMPUTER SCIENCE AND TECHNOLOGY
COMPUTER SCIENCE AND TECHNOLOGY COMPUTER SCIENCE AND TECHNOLOGY segment和end段定义 (4) ③字长类型 • 字长类型: 386以后,说明使用16位寻址方式, 还是32位寻址方式。 • .USE16: 16位寻址方式,段长≤64KB,16位段 地址,16位偏移量,默认值。 • .USE32: 32位寻址方式,段长≤4GB,16位段 地址,32位偏移量。 ④类别 • 类别:引号括起的字符串,连接时,’类别’相 同的分段(他们可能不同名)均放在连续的存储空 间中,但他们仍然是不同的分段(连续空间)
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 吉林大学:《微机原理及汇编语言》课程电子教案(PPT课件)第2章 8088指令系统.ppt
- 吉林大学:《微机原理及汇编语言》课程电子教案(PPT课件)第1章 绪论(主讲人:赵宏伟).ppt
- 吉林大学:《微机原理及汇编语言》课程电子教案(PPT课件)第10章 80X86的最新技术发展.ppt
- 吉林大学:《人工智能》课程电子教案(PPT课件)第四章 经典逻辑推理.ppt
- 吉林大学:《人工智能》课程电子教案(PPT课件)第六章 专家系统.ppt
- 吉林大学:《人工智能》课程电子教案(PPT课件)第八章 智能决策支持系统.ppt
- 吉林大学:《人工智能》课程电子教案(PPT课件)第五章 搜索策略.ppt
- 吉林大学:《人工智能》课程电子教案(PPT课件)第二章 人工智能的数学基础.ppt
- 吉林大学:《人工智能》课程电子教案(PPT课件)第三章 知识与知识表示.ppt
- 吉林大学:《人工智能》课程电子教案(PPT课件)第七章 机器学习.ppt
- 吉林大学:《人工智能》课程电子教案(PPT课件)第一章 绪论 Artificial Intelligence(AI).ppt
- 河南科技大学:信息工程学院教育技术学专业本科课程教学大纲(汇编).pdf
- 《软件测试》课程电子教案(参考资料)Certified Tester Foundation Level Syllabus Released(Version 2011).pdf
- 《软件测试》课程电子教案(参考资料)Certified Tester Foundation Level Syllabus Released(Version 2011).pdf
- 《软件测试》课程电子教案(参考资料)Standard glossary of terms used in Software Testing(Version 2.0).pdf
- 同济大学:《软件测试》课程电子教案(PPT课件)How To Do High Quality Research, Write Acceptable Papers, and Make Effective Presentations?.ppt
- 同济大学:《软件测试》课程电子教案(PPT课件)Chapter 06 Tool Support for Testing.pptx
- 同济大学:《软件测试》课程电子教案(PPT课件)Chapter 05 Test Management.pptx
- 同济大学:《软件测试》课程电子教案(PPT课件)Chapter 04 Test Design Techniques.pptx
- 同济大学:《软件测试》课程电子教案(PPT课件)Chapter 03 Static Techniques.pptx
- 吉林大学:《微机原理及汇编语言》课程电子教案(PPT课件)第4章 8088的总线操作和时序.ppt
- 吉林大学:《微机原理及汇编语言》课程电子教案(PPT课件)第5章 半导体存储器.ppt
- 吉林大学:《微机原理及汇编语言》课程电子教案(PPT课件)第6章 输入和输出.ppt
- 吉林大学:《微机原理及汇编语言》课程电子教案(PPT课件)第7章 中断.ppt
- 吉林大学:《微机原理及汇编语言》课程电子教案(PPT课件)第9章 串行通信及接口电路.ppt
- 吉林大学:《微机原理及汇编语言》课程电子教案(PPT课件)第8章 并行接口芯片.ppt
- 吉林大学:《计算机网络基础》课程电子教案(PPT课件)第二章 物理层.ppt
- 吉林大学:《计算机网络基础》课程电子教案(PPT课件)第三章 数据链路层.ppt
- 吉林大学:《计算机网络基础》课程电子教案(PPT课件)第四章 网络层.ppt
- 吉林大学:《计算机网络基础》课程电子教案(PPT课件)第五章 局域网.ppt
- 吉林大学:《计算机网络基础》课程电子教案(PPT课件)第六章 传输层.ppt
- 吉林大学:《计算机网络基础》课程电子教案(PPT课件)第七章 应用层.ppt
- 吉林大学:《计算机网络基础》课程电子教案(PPT课件)第八章 网络互联.ppt
- 吉林大学:《计算机网络基础》课程电子教案(PPT课件)第一章 概论(负责人:刘衍珩).ppt
- 上海海洋大学:信息学院2011年版课程教学大纲汇编(上册).pdf
- 上海海洋大学:信息学院2011年版课程教学大纲汇编(下册).pdf
- 上海海洋大学:信息学院计算机科学与技术专业2018版课程教学大纲汇编.pdf
- 上海海洋大学:信息学院软件工程专业2018版课程教学大纲汇编.pdf
- 上海海洋大学:信息学院空间信息与数字技术专业2018版课程教学大纲汇编.pdf
- 上海海洋大学:信息学院信息与计算科学专业2018版课程教学大纲汇编.pdf