第4章 汇编语言程序设计.ppt





《第4章 汇编语言程序设计.ppt》由会员分享,可在线阅读,更多相关《第4章 汇编语言程序设计.ppt(51页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第四章 汇编语言程序设计,4-1 程序设计语言4-2 汇编语言源程序格式4-3 伪指令4-4 汇编语言程序设计基础,4-1 程序设计语言,计算机程序设计语言是指计算机能够理解和执行的语言。 程序设计语言的种类很多,归纳起来有三种: 机器语言、汇编语言和高级语言。 编程时采用哪种语言由程序设计语言的特点和适用场合决定。 机器语言、汇编语言和高级语言比较一览表,返回,4-1 程序设计语言,计算机程序设计语言是指计算机能够理解和执行的语言。 程序设计语言的种类很多,归纳起来有三种: 机器语言、汇编语言和高级语言。 编程时采用哪种语言由程序设计语言的特点和适用场合决定。,特点:用机器码书写程序。缺点:
2、不易被人们识别和读写。难写、难读、难交流 。优点:计算机可以直接识别和执行。适用场合:无。,返回,74H02H24H05H80HFEH,4-1 程序设计语言,计算机程序设计语言是指计算机能够理解和执行的语言。 程序设计语言的种类很多,归纳起来有三种: 机器语言、汇编语言和高级语言。 编程时采用哪种语言由程序设计语言的特点和适用场合决定。,特点:用符号书写指令(用助记符表示操作码,特殊符号表 示操作数)。 缺点:机器不能直接识别;程序员必须了解机器的结构和指 令系统,不易推广和普及;不能移植,不具备通用性。优点:易为人们识别、记忆和读写。适用场合:实时控制系统 。,返回,MOV A,#02HAD
3、D A,#05HSJMP $,4-1 程序设计语言,计算机程序设计语言是指计算机能够理解和执行的语言。 程序设计语言的种类很多,归纳起来有三种: 机器语言、汇编语言和高级语言。 编程时采用哪种语言由程序设计语言的特点和适用场合决定。,特点:用以英语为基础的语句编程。缺点:机器不能直接识别;执行时间长。优点:易于推广和交流;不依赖于机器,具有通用性。适用场合:科学运算和数据处理 。,返回,机器语言、汇编语言和高级语言比较一览表,1、高级语言程序转换为机器语言程序的过程称为编译过程,通过编译程序实现。2、汇编语言源程序转换为机器语言目的程序的过程称为汇编过程,通过手工查表 或汇编程序实现。3、用汇
4、编程序将汇编语言源程序转换为机器语言时,汇编语言源程序的格式 必须正确,程序员还要了解伪指令。,返回,4-2 汇编语言源程序格式,汇编语言源程序格式如下:1、汇编语言源程序由一条一条汇编语句组成。2、每条汇编语句独占一行,以CRLF结束。3、典型的汇编语句由四部分组成: 标号:操作码 操作数;注释,返回,汇编语言源程序是用汇编语言编写的用户程序。,指令系统中的指令,习题,4-2 汇编语言源程序格式,汇编语言源程序格式如下:1、汇编语言源程序由一条一条汇编语句组成。2、每条汇编语句独占一行,以CRLF结束。3、典型的汇编语句由四部分组成: 标号:操作码 操作数;注释,返回,汇编语言源程序是用汇编
5、语言编写的用户程序。,1、标号是指指令的符号地址。2、一般情况下可以省略,只用在转移的目的指令前。3、它必须符合以下规定:由8个或8个以内的字母、数字构成,第一个必须是字母。同一程序内,不能有相同的标号。不能用助记符、寄存器名和特殊符号等作标号。标号必须以冒号结束。,4-2 汇编语言源程序格式,汇编语言源程序格式如下:1、汇编语言源程序由一条一条汇编语句组成。2、每条汇编语句独占一行,以CRLF结束。3、典型的汇编语句由四部分组成: 标号:操作码 操作数;注释,返回,汇编语言源程序是用汇编语言编写的用户程序。,1、操作码说明语句的功能。2、它是汇编语句中必不可少的部分。,4-2 汇编语言源程序
6、格式,汇编语言源程序格式如下:1、汇编语言源程序由一条一条汇编语句组成。2、每条汇编语句独占一行,以CRLF结束。3、典型的汇编语句由四部分组成: 标号:操作码 操作数;注释,返回,汇编语言源程序是用汇编语言编写的用户程序。,1、操作数说明操作的对象。2、操作数有二种表示方法: 数本身和数所在地方。3、操作数存在与否由指令决定:1个、2个、3个或没有。 如果有2个或3个,则各个操作数之间用逗号隔开。,参与运算的数可以用D、B、H、或ASCII码、表达式来表示。,1、内RAM:其地址可以用B、H、D、已定义的符号、含有+、-号的表达式表示。2、SFR:用特殊功能寄存器名 表示。3、工作寄存器:用
7、工作寄存器名表示。4、外RAM:用dptr表示,4-2 汇编语言源程序格式,汇编语言源程序格式如下:1、汇编语言源程序由一条一条汇编语句组成。2、每条汇编语句独占一行,以CRLF结束。3、典型的汇编语句由四部分组成: 标号:操作码 操作数;注释,返回,汇编语言源程序是用汇编语言编写的用户程序。,1、注释用于说明语句的功能,增加程序的可读性。、可有可无,如果有,则必须以分号开头,以CR-LF结束,若一行不够,可以另起一行,新行必须以分号开头。,习题与思考:,、程序设计语言有几种?分别适用于何种场合?、汇编程序与汇编语言源程序的区别?、汇编语言程序中为什么要用标号?它代表什么意义?下列字符能否做标
8、号: LOOP 123 ACC P OV ADD1 DEC JNZ,返回,4- 伪指令,一、伪指令与指令的区别: 伪指令由汇编程序识别,用来对汇编过程进行某种控制,或者对符号、标号赋值。在汇编过程中, 伪指令不产生可执行的目标代码;而指令由CPU执行,在汇编过程中,产生可执行的目标代码,完成对数据的运算与处理。二、常用的伪指令:ORG END EQU DATA DB DW DS,返回,习题,4- 伪指令,一、伪指令与指令的区别: 伪指令由汇编程序识别,用来对汇编过程进行某种控制,或者对符号、标号赋值。在汇编过程中, 伪指令不产生可执行的目标代码;而指令由CPU执行,在汇编过程中,产生可执行的目
9、标代码,完成对数据的运算与处理。二、常用的伪指令:ORG END EQU DATA DB DW DS,返回,ORG(汇编起始命令)功能: 规定下面的目标程序的起始地址。格式: 标号: ORG 16位地址。说明:1、括号内是选项,可以没有。2、一般在一个汇编语言源程序的开始,都用一条ORG伪指令来规定程序存放的起始位置,故称为汇编起始命令。3、在一个源程序中,可以多次使用ORG指令,以规定不同的程序段的起始位置。所规定的地址应该是从小到大,而且不允许有重叠,即不同的程序段之间不能有重叠。一个源程序若不用ORG指令开始,则从0000H开始存放目标码。,ORG 2000HSTART: MOV A,#
10、64H ,4- 伪指令,一、伪指令与指令的区别: 伪指令由汇编程序识别,用来对汇编过程进行某种控制,或者对符号、标号赋值。在汇编过程中, 伪指令不产生可执行的目标代码;而指令由CPU执行,在汇编过程中,产生可执行的目标代码,完成对数据的运算与处理。二、常用的伪指令:ORG END EQU DATA DB DW DS,返回,END(汇编结束命令)功能:汇编到此结束。格式:标号: END说明:1、END是汇编语言源程序的结束标志, 在END以后所写的指令,汇编程序都不予处理。2、一个源程序只能有一个END命令。在同时包含有主程序和子程 序的源程序中,也只能有一个END命令。,ORG 2000HST
11、ART: MOV A,#64H END INC DPTR ,4- 伪指令,一、伪指令与指令的区别: 伪指令由汇编程序识别,用来对汇编过程进行某种控制,或者对符号、标号赋值。在汇编过程中, 伪指令不产生可执行的目标代码;而指令由CPU执行,在汇编过程中,产生可执行的目标代码,完成对数据的运算与处理。二、常用的伪指令:ORG END EQU DATA DB DW DS,返回,EQU(等值命令) 功能:将一个数或者特定的汇编符号 赋予规定的字符名称。 格式:字符名称 EQU 数或汇编符号说明:1、注意这里使用的是“字符名称”而不是标号,而且也不用“:”来作分隔符,若加上“:”,反而被汇编程序认为是一
12、种错误。 2、用EQU指令赋值以后的字符名称可以用作数据地址、代码地址、位地址或者直接当作一个立即数使用。因此,给字符名称所赋的值可以是8位数也可以是16位二进制数。3、使用EQU伪指令时必须先赋值,后使用,而不能先使用,后赋值。 对于有的汇编程序来讲,用EQU伪指令赋值的字符名称不能在表 达式中运算。 例如,不能这样使用:MOV A,A10+1,1、 AA EQU R1 MOV A , AA2、 Al0 EQU 10H DELY EQU 07EBH MOV A,#A10 LCALL DELY,4- 伪指令,一、伪指令与指令的区别: 伪指令由汇编程序识别,用来对汇编过程进行某种控制,或者对符号
13、、标号赋值。在汇编过程中, 伪指令不产生可执行的目标代码;而指令由CPU执行,在汇编过程中,产生可执行的目标代码,完成对数据的运算与处理。二、常用的伪指令:ORG END EQU DATA DB DW DS,返回,DATA(数据地址赋值命令)功能:将数据地址或代码地址赋予 规定的字符名称。 格式: 字符名称 DATA 表达式DATA伪指令的功能和EQU有些相似,使用时要注意它们的差别:1、EQU伪指令定义的符号必须先定义后使用,而DATA伪指令定义的符号可以先使用后定义。2、用EQU伪指令可以把一个汇编符号赋给一个字符名称,而DATA伪指令则不能。 3、DATA伪指令可将一个表达式的值赋给一个
14、字符名称,所定义的 字符名称也可以出现在表达式中,而用EQU定义的字符,则不能这 样使用。4、DATA伪指令常在程序中用来定义数据地址。,MOV A,TAB TAB DATA 30H,4- 伪指令,一、伪指令与指令的区别: 伪指令由汇编程序识别,用来对汇编过程进行某种控制,或者对符号、标号赋值。在汇编过程中, 伪指令不产生可执行的目标代码;而指令由CPU执行,在汇编过程中,产生可执行的目标代码,完成对数据的运算与处理。二、常用的伪指令:ORG END EQU DATA DB DW DS,返回,DB(定义字节指令)功能:从指定的地址单元开始,定义若干个8位内存单元的内容。格式: 标号: DB 8
15、位二进制数表说明:1、这个伪指令是在程序存贮器的某一部分存入一组规定好的8位二进制数,或者是将一个数据表格存入程序存贮器。它在汇编以后,将影响程序存贮器的内容。2、8位二进制数表可以写成二进制、十进制、十六进制或“ASCII码”、表达式。,例1,例2,例3,2000H :DB45H,73,5,ATAB :DB 101B以上伪指令经汇编以后,将对2000H开始的若干ROM单元赋值:,返回,例1,2000H,2001H,2002H,2003H,2004H,ROM,45H,49H,35H,41H,05H,ORG2000H LOOP EQU 10TAB: DB45H,73,“5”,-4,LOOP,LO
16、OP+2以上伪指令经汇编以后,相关单元的内容如何变化?,例2,2005H,2000H,2001H,2002H,2003H,2004H,ROM,45H,49H,35H,FCH,0AH,0CH,返回,将09的平方表存入1000H开始的ROM单元中解: ORG 1000HTAB : DB 0,1,4,9, 16 DB 25,36,49,64,81,例3,19H,1005H,00H,1000H,01H,1001H,04H,1002H,09H,1003H,10H,1004H,ROM,51H,1009H,24H,1006H,31H,1007H,40H,1008H,返回,4- 伪指令,一、伪指令与指令的区别
17、: 伪指令由汇编程序识别,用来对汇编过程进行某种控制,或者对符号、标号赋值。在汇编过程中, 伪指令不产生可执行的目标代码;而指令由CPU执行,在汇编过程中,产生可执行的目标代码,完成对数据的运算与处理。二、常用的伪指令:ORG END EQU DATA DB DW DS,返回,DW(定义字命令)功能:从指定地址开始,定义若干个16位数据。格式: 标号 DW 16位数据表说明: 1、每个16位数要占R0M的两个单元,在MCS-51系统中,16位二进制数的高8位先存入(低地址字节),低8位后存人(高地址字节)。这和MCS-51指令中的16位数据存放的方式一致。 2、 8位二进制数表可以写成二进制、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编 语言程序设计

限制150内