汇编语言程序设计 第4章 8086 8088汇编语言(格式)
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1
《汇编语言程序设计》 汇编语言程序设计》
课前思考
• (1) 建立并运行一个汇编语言程序有几个操作步骤? 建立并运行一个汇编语言程序有几个操作步骤? 指令和伪指令的区别是什么? (2) 指令和伪指令的区别是什么? 在汇编语言程序中, (3) 在汇编语言程序中,段定义伪指令和数据定义伪指 令起什么作用? 令起什么作用? 变量和标号的类型属性分别有哪几种? (4) 变量和标号的类型属性分别有哪几种? 什么是表达式?表达式的优先级顺序是如何排列的? (5) 什么是表达式?表达式的优先级顺序是如何排列的? 汇编语言的上机过程是什么? (6) 汇编语言的上机过程是什么? (7) 汇编语言源程序一般由几个段组成? 汇编语言源程序一般由几个段组成? 汇编程序和连接程序的输入、输出文件有哪些? (8) 汇编程序和连接程序的输入、输出文件有哪些?它 们的作用是什么? 们的作用是什么?
2010-11-17
汇编语言( 第4章 8086/8088汇编语言(格式) 章 汇编语言 格式)
8
《汇编语言程序设计》 汇编语言程序设计》
第4章 8086/8088汇编语言(格式) 8086/8088汇编语言 格式) 汇编语言(
4.1 汇编语言和汇编程序的基本概念 4.2 汇编语言源程序书写格式 4.3 伪指令语句 4.4 8086/8088汇编语言程序格式 8086/8088汇编语言程序格式 4.5 汇编语言的上机过程
《汇编语言程序设计》 汇编语言程序设计》
8086/8088和ARM核 8086/8088和ARM核 汇编语言程序设计
第4章 8086/8088汇编语言(格式) 8086/8088汇编语言 格式) 汇编语言(
2010-ቤተ መጻሕፍቲ ባይዱ1-17
汇编语言( 第4章 8086/8088汇编语言(格式) 章 汇编语言 格式)
连接程序
. EXE 文件
Edit 等
MASM
LINK
在计算机上运行汇编语言程序的步骤是: 在计算机上运行汇编语言程序的步骤是: •用编辑程序(任何一种文本编辑程序)建立ASM文件; 用编辑程序(任何一种文本编辑程序)建立ASM文件; 用编辑程序 ASM文件 •用MASM程序把ASM文件转换成OBJ文件; 用MASM程序把ASM文件转换成OBJ文件; 程序把ASM文件转换成OBJ文件 •用LINK程序把OBJ文件转换成EXE文件; 用LINK程序把OBJ文件转换成EXE文件; 程序把OBJ文件转换成EXE文件 •用DOS命令直接键入文件名就可执行该程序; 用DOS命令直接键入文件名就可执行该程序; 命令直接键入文件名就可执行该程序
2010-11-17
汇编语言( 第4章 8086/8088汇编语言(格式) 章 汇编语言 格式)
2
《汇编语言程序设计》 汇编语言程序设计》 • 教学目的 教学目的:了解编辑程序、汇编程序、连接程序的功能及其输入、输 出文件的类型;了解汇编语言源程序的格式; 熟练掌握并运用段 定义伪指令和数据定义及存储器分配伪指令;熟悉数值表达式的书写 规范;上机编程时学会使用DEBUG调试程序。 • 教学重点 教学重点:本章介绍了汇编语言程序的完整段和简化段格式。在学习 本章及后续各章的内容时,可利用汇编语言程序的框架,通过上机来 验证和理解各种指令和伪指令的格式、功能及作用。 • 教学难点:段定义伪指令、数据定义及存储器分配伪指令及其它伪指 教学难点 令;数据类型属性和代码属性及其在编程中的应用;数值表达式的表 示及其应用。 • 教学方法及手段 教学方法及手段:课堂讲授、小结讲评、上机实验 • 课外作业 课外作业:⑶P81 一、3,4,7,9 • 学时分配 5+2 (实验一汇编语言运行环境及方法、简单程序设计) 学时分配: • 教学内容 教学内容:汇编程序功能、伪指令、 汇编语言程序格式 、汇编语言 程序的上机过程。
2010-11-17
汇编语言( 第4章 8086/8088汇编语言(格式) 章 汇编语言 格式)
4
《汇编语言程序设计》 汇编语言程序设计》
4.1汇编语言和汇编程序的基本概念 4.1汇编语言和汇编程序的基本概念
4.1.1 汇编语言
汇编语言是一种面向CPU指令系统的程序设计语言, 汇编语言是一种面向CPU指令系统的程序设计语言,它 CPU指令系统的程序设计语言 采用指令系统的助记符来表示操作码和操作数, 采用指令系统的助记符来表示操作码和操作数,用符号地址 表示操作数地址,因而易记、易读、易修改, 表示操作数地址,因而易记、易读、易修改,给编程带来很 大方便。 大方便。 用汇编语言编写的程序能够直接利用硬件系统的特性, 用汇编语言编写的程序能够直接利用硬件系统的特性, 直接对位、字节、字寄存器、存储单元、I/O端口等进行处 直接对位、字节、字寄存器、存储单元、I/O端口等进行处 同时也能直接使用CPU CPU指令系统和指令系统提供的各种 理,同时也能直接使用CPU指令系统和指令系统提供的各种 寻址方式编制出高质量的程序, 寻址方式编制出高质量的程序,这种程序不但占用内存空间 少,而且执行速度快 。
2010-11-17
汇编语言( 第4章 8086/8088汇编语言(格式) 章 汇编语言 格式)
10
《汇编语言程序设计》 汇编语言程序设计》
第4章 8086/8088汇编语言(格式) 8086/8088汇编语言 格式) 汇编语言(
4.1 汇编语言和汇编程序的基本概念 4.2 汇编语言源程序书写格式 4.3 伪指令语句 4.4 8086/8088汇编语言程序格式 8086/8088汇编语言程序格式 4.5 汇编语言的上机过程
2010-11-17
汇编语言( 第4章 8086/8088汇编语言(格式) 章 汇编语言 格式)
7
《汇编语言程序设计》 汇编语言程序设计》
4.1汇编语言和汇编程序的基本概念 4.1汇编语言和汇编程序的基本概念
4.1.2 汇编程序
汇编程序的主要功能: 汇编程序的主要功能:
(1) 检查源程序,给出出错信息。 检查源程序,给出出错信息。 (2)产生目标文件(.obj)和列表文件 产生目标文件 和列表文件(.lst)。 。 和列表文件 (3)展开宏指令。 展开宏指令。
2010-11-17
汇编语言( 第4章 8086/8088汇编语言(格式) 章 汇编语言 格式)
5
《汇编语言程序设计》 汇编语言程序设计》
4.1汇编语言和汇编程序的基本概念 4.1汇编语言和汇编程序的基本概念
4.1.2 汇编程序
用汇编语言编写的源程序在输入计算机后, 用汇编语言编写的源程序在输入计算机后,需要将 其翻译成目标程序,计算机才能执行相应指令, 其翻译成目标程序,计算机才能执行相应指令,这个翻 译过程称为汇编,完成汇编任务的程序称为汇编程序。 译过程称为汇编,完成汇编任务的程序称为汇编程序。 汇编程序有基本汇编 汇编程序有基本汇编ASM(Assembler)和宏汇编 基本汇编 ( ) MASM(MacroAssembler)两种。 MASM(MacroAssembler)两种。 汇编程序以汇编语言源程序文件作为输入 汇编程序以汇编语言源程序文件作为输入,并由它 汇编语言源程序文件作为输入, 产生两种输出文件:目标程序文件和源程序列表文件。 输出文件 产生两种输出文件:目标程序文件和源程序列表文件。
2010-11-17
汇编语言( 第4章 8086/8088汇编语言(格式) 章 汇编语言 格式)
9
《汇编语言程序设计》 汇编语言程序设计》
4.2 汇编语言源程序书写格式 4.2.1 汇编语言源程序的分段结构
●数据段 ●堆栈段 ●代码段
4.2.2 汇编语言源程序的语句类型
●指令语句 ●伪指令语句 ●宏指令语句
DATA_BYTE →
0AH 04H 10H -
DATA_WORD →
例: DATA_BYTE DB 10,4,10H,? DATA_WORD DW 100,100H,-5,?
64H 00H 00H 01H FBH FFH -
2010-11-17
汇编语言( 第4章 8086/8088汇编语言(格式) 章 汇编语言 格式)
2010-11-17
汇编语言( 第4章 8086/8088汇编语言(格式) 章 汇编语言 格式)
3
《汇编语言程序设计》 汇编语言程序设计》
第4章 8086/8088汇编语言(格式) 8086/8088汇编语言 格式) 汇编语言(
4.1 汇编语言和汇编程序的基本概念 4.2 汇编语言源程序书写格式 4.3 伪指令语句 4.4 8086/8088汇编语言程序格式 8086/8088汇编语言程序格式 4.5 汇编语言的上机过程
2010-11-17
汇编语言( 第4章 8086/8088汇编语言(格式) 章 汇编语言 格式)
6
《汇编语言程序设计》 汇编语言程序设计》
4.1汇编语言和汇编程序的基本概念 4.1汇编语言和汇编程序的基本概念
4.1.2 汇编程序
汇编语言程序的建立和汇编过程
. ASM 文件
汇编程序
编辑程序
. OBJ 文件
4.3.1数据定义及存储器分配伪指令 4.3.1数据定义及存储器分配伪指令
表达式根据不同的伪操作有不同的形式: 表达式根据不同的伪操作有不同的形式: DD伪指令 表达式可以是以下4种形式: DD伪指令:表达式可以是以下4种形式: 伪指令: ⑴除了是双字数据外与DB伪指令的⑴、⑵同; 除了是双字数据外与DB伪指令的⑴ DB伪指令的 ⑵地址表达式(此时分别将偏移地址和段地址存放到存储 地址表达式( 偏移地址对应低地址); 器 中,偏移地址对应低地址); ⑶一个到四个字符组成的串常量; 一个到四个字符组成的串常量; ⑷以上3种形式的任意组合。 以上3种形式的任意组合。
13
《汇编语言程序设计》 汇编语言程序设计》
4.3伪指令语句 4.3伪指令语句
4.3.1数据定义及存储器分配伪指令 4.3.1数据定义及存储器分配伪指令
2010-11-17
汇编语言( 第4章 8086/8088汇编语言(格式) 章 汇编语言 格式)
14
《汇编语言程序设计》 汇编语言程序设计》
4.3伪指令语句 4.3伪指令语句
2010-11-17
汇编语言( 第4章 8086/8088汇编语言(格式) 章 汇编语言 格式)
11
《汇编语言程序设计》 汇编语言程序设计》
4.3 伪指令语句
4.3.1数据定义及存储器分配伪指令 4.3.1数据定义及存储器分配伪指令
[变量 助记符 表达式 [ ,表达式 … ] [ ; 注释 变量] 表达式, 注释] 变量 表达式 助记符: 助记符:DB DW DD DF DQ DT
元标号 01H
23H 01H 09H 00H 0CH 00H 00H 10H DEF
4.3.1数据定义及存储器分配伪指令 4.3.1数据定义及存储器分配伪指令 举例
1000H:0015H 1000H:0016H 1000H:0017H ARRAY :0018H :0019H :001AH :001BH :001CH :001DH :001EH :001FH 00H 01H 23H 存储单 MESSAGE 1000H:0000H 1000H:0001H 1000H:0002H :0003H :0004H :0005H 43H ’H’ 45H ‘E’ 4CH ‘L’ 4CH ‘L’ 4FH ‘O’ 41H ‘A’ 42H ‘B’ 42H ‘B’ 41H ‘A’ 0DH 00 34H 00 00H 01H -
12
《汇编语言程序设计》 汇编语言程序设计》
4.3伪指令语句 4.3伪指令语句
4.3.1数据定义及存储器分配伪指令 4.3.1数据定义及存储器分配伪指令
表达式根据不同的伪操作有不同的形式: 表达式根据不同的伪操作有不同的形式:
2010-11-17
汇编语言( 第4章 8086/8088汇编语言(格式) 章 汇编语言 格式)
2010-11-17
汇编语言( 第4章 8086/8088汇编语言(格式) 章 汇编语言 格式)
15
《汇编语言程序设计》 汇编语言程序设计》
4.3伪指令语句 4.3伪指令语句
数据段段地址为1000H 例:数据段段地址为 MESSAGE DB ‘HELLO’ DB ‘AB’ DW ‘AB’ ABC DEF DB 13,?, 0 DW ?,52,?