单片机汇编语言程序设计.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《单片机汇编语言程序设计.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 汇编语言 程序设计
- 资源描述:
-
1、单片机汇编语言程序设计1.1 1.1 源程序的编辑与汇编源程序的编辑与汇编1.1.源程序的编辑源程序的编辑 源程序的编写要依据源程序的编写要依据80C5180C51汇编语言的基本规则,特别要用好常用汇编语言的基本规则,特别要用好常用的汇编命令(即伪指令),例如:的汇编命令(即伪指令),例如:ORG 0040HORG 0040HMOV AMOV A,#7FH#7FHMOV R1MOV R1,#44H#44HENDEND 这里的这里的ORGORG和和ENDEND是两条伪指令,其作用是告诉汇编程序此汇编源程是两条伪指令,其作用是告诉汇编程序此汇编源程序的起止位置。编辑好的源程序应以序的起止位置。编辑
2、好的源程序应以.ASM.ASM扩展名存盘,以备汇编程序调扩展名存盘,以备汇编程序调用。用。单片机汇编语言程序设计单片机汇编语言程序设计2.2.源程序的汇编源程序的汇编 将汇编语言源程序转换为单片机能执行的机器码形式的目标程序,将汇编语言源程序转换为单片机能执行的机器码形式的目标程序,这个过程叫汇编。汇编常用的方法有两种:一是手工汇编,二是机器这个过程叫汇编。汇编常用的方法有两种:一是手工汇编,二是机器汇编。汇编。手工汇编时,把程序用助记符指令写出后,通过手工方式查指令手工汇编时,把程序用助记符指令写出后,通过手工方式查指令编码表,逐个把助记符指令翻译成机器码,然后把得到的机器码程序编码表,逐个
3、把助记符指令翻译成机器码,然后把得到的机器码程序(以十六进制形式)输入到单片机开发机中,并进行调试。由于手工(以十六进制形式)输入到单片机开发机中,并进行调试。由于手工汇编是按绝对地址进行定位的,所以,对于偏移量的计算和程序的修汇编是按绝对地址进行定位的,所以,对于偏移量的计算和程序的修改非常不便。通常只有程序较小或开发条件有限制时才使用。改非常不便。通常只有程序较小或开发条件有限制时才使用。机器汇编是在常用的个人计算机上,使用交叉汇编程序将汇编语机器汇编是在常用的个人计算机上,使用交叉汇编程序将汇编语言源程序转换为机器码形式的目标程序。言源程序转换为机器码形式的目标程序。1.2 1.2 伪指
4、令伪指令 伪指令在形式上是一条指令,但它并不译成机器语言,只是为汇编伪指令在形式上是一条指令,但它并不译成机器语言,只是为汇编时提供必须的控制信息命令。时提供必须的控制信息命令。1.1.汇编起始伪指令汇编起始伪指令ORGORG基本格式:基本格式:标号:标号:ORG 16ORG 16位地址位地址 功能:规定程序块或数据块存放的起始地址。在一个汇编语言程序功能:规定程序块或数据块存放的起始地址。在一个汇编语言程序中,可以多次定义中,可以多次定义ORGORG伪指令,但要求给定的地址由小到大安排,各段之伪指令,但要求给定的地址由小到大安排,各段之间地址不能重叠。间地址不能重叠。2.2.汇编结束伪指令汇
5、编结束伪指令ENDEND基本格式:基本格式:标号:标号:ENDEND表达式表达式 功能:结束汇编。汇编程序遇到功能:结束汇编。汇编程序遇到ENDEND伪指令后即结束汇编。处于伪指令后即结束汇编。处于ENDEND之后的程序,汇编程序不予以处理。之后的程序,汇编程序不予以处理。例如:例如:ORG 2000HORG 2000HSTARTSTART:MOV AMOV A,#00H#00H END START END START ;标号;标号STARTSTART开始的程序段结束开始的程序段结束3.3.等值指令等值指令EQUEQU基本格式:基本格式:字符名称字符名称 EQU EQU 项项 这里使用的这里使
6、用的“字符名称字符名称”不是标号,不能用不是标号,不能用“:”来隔分隔符;其来隔分隔符;其中的中的“项项”可以是一个数值,也可以是一个已经有定义的名字或可以求可以是一个数值,也可以是一个已经有定义的名字或可以求值的表达式。该指令的功能是将一个数或特定的汇编符号赋予规定的字值的表达式。该指令的功能是将一个数或特定的汇编符号赋予规定的字符名称。用符名称。用EQUEQU指令赋值的字符名称可以用做数据地址、代码地址、位地指令赋值的字符名称可以用做数据地址、代码地址、位地址或直接当做一个立即数使用。因此,给字符名称所赋的值可以是址或直接当做一个立即数使用。因此,给字符名称所赋的值可以是8 8位二位二进制
7、数,也可以是进制数,也可以是1616位二进制数。位二进制数。4.4.定义字节指令定义字节指令DBDB 基本格式:基本格式:标号:标号:DB 8DB 8位二进制数表位二进制数表 DBDB命令是从指定的地址单元开始,定义若干个命令是从指定的地址单元开始,定义若干个8 8位内存单元的位内存单元的内容。该命令主要是在程序存储器的某一部分存入一组内容。该命令主要是在程序存储器的某一部分存入一组8 8位二进制位二进制数,或者是将一个数据表格存入程序存储器。这个伪指令在汇编以数,或者是将一个数据表格存入程序存储器。这个伪指令在汇编以后,将影响程序存储器的内容。后,将影响程序存储器的内容。5.5.定义字命令定
8、义字命令DWDW 指令格式:指令格式:标号:标号:DW 16DW 16位二进制数表位二进制数表 说明:说明:DWDW伪指令是定义字的伪指令,即从指定的地址单元开始,定伪指令是定义字的伪指令,即从指定的地址单元开始,定义若干个义若干个1616位二进制数据,每个字占用两个单元,先存高位二进制数据,每个字占用两个单元,先存高8 8位,再存低位,再存低8 8位。用法同位。用法同DBDB伪指令。伪指令。6.6.定义空间指令定义空间指令DSDS指令格式:指令格式:标号:标号:DS DS 说明:说明:DSDS伪指令是定义存储区,即从标伪指令是定义存储区,即从标号指定的单元开始保留表达式所代表的号指定的单元开
9、始保留表达式所代表的存储单元数。存储单元数。【例】【例】ORG 2000HORG 2000H DS 04H DS 04H MOV A,#02H MOV A,#02H RET RET 地址地址ROMROM2000H2000H2001H2001H2002H2002H2003H2003H2004H2004H74742005H2005H02022006H2006H2222保留保留单元单元7.7.位地址赋值指令位地址赋值指令BITBIT 基本格式:基本格式:标号:标号:BIT BIT 位地址位地址 功能:将位地址赋给本语句的标号。经赋值的标号可以代替指令中功能:将位地址赋给本语句的标号。经赋值的标号可以
展开阅读全文