单片机培训四汇编语言程序设计课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《单片机培训四汇编语言程序设计课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 培训 汇编语言 程序设计 课件
- 资源描述:
-
1、第第4章章 汇编语言程序设计汇编语言程序设计周剑峰周剑峰1汇编语言简介汇编语言格式 计算机所能执行的每条指令都对应一组二进制代码。计算机所能执行的每条指令都对应一组二进制代码。为了容易理解和记忆计为了容易理解和记忆计算机的指令算机的指令,人们用一些英语的单词和字符以及数字作为助记符来描述每一条指令人们用一些英语的单词和字符以及数字作为助记符来描述每一条指令的功能。的功能。用助记符描述的指令系统用助记符描述的指令系统,称为机器的汇编语言系统称为机器的汇编语言系统,简称汇编语言。简称汇编语言。汇汇编语言也是面向机器的编语言也是面向机器的,每种计算机系统也都有它自己的汇编语言每种计算机系统也都有它自
2、己的汇编语言,用汇编语言编用汇编语言编写的程序写的程序,称为汇编语言源程序或汇编源程序。称为汇编语言源程序或汇编源程序。由25个英文字母组成的助记符至少一个空格用“,”隔开,操作个数可为无,1,2,3 由操作助记符和操作数字段组成汇编指令指能汇编成机器语言代码的指令。格式:操作码 操作数1,操作数2,操作数32汇编伪指令 伪指令:伪指令:汇编时不产生机器语言代码的指令,仅提供汇编控制信息。汇编时不产生机器语言代码的指令,仅提供汇编控制信息。一、定位伪指令一、定位伪指令 ORG m m:一般为十六进制数。:一般为十六进制数。m指出在该指出在该伪指令后的伪指令后的指令指令的汇编地址的汇编地址,即,
3、即生成的机器指生成的机器指令起始存贮器地址令起始存贮器地址。显然,当使用多条显然,当使用多条ORG m伪指令时,伪指令时,应注意其后生成的机器指令存放地址应注意其后生成的机器指令存放地址不应重叠不应重叠。例如例如:ORG 0START:SJMP MAIN ORG 0BH LJMP PTFO ORG 40H MAIN:3v二、定义字节伪指令v 标号:DB X1、X2 Xn例如例如:ORG 1000HDB 0AAH SR-DATA:DB25,25H DZX-DATA:DBMCS-51经汇编后,从地址经汇编后,从地址1000H处存贮器的内容为:处存贮器的内容为:(1000H)=AAH(1001H)=
4、19H(1002H)=25H(1003H)=4DH(1004H)=43H(1005H)=53H(1006H)=2DH(1007H)=35H(1008H)=31H4三、字定义伪指令三、字定义伪指令 标号:标号:DW Y1、Y2 Yn 通知汇编程序从当前通知汇编程序从当前ROM地址开始地址开始,保留存贮单元保留存贮单元,并存入并存入DW后面的数后面的数据。存放时高据。存放时高8位在前位在前,低低8位在后。位在后。例如:例如:ORG 1000H DW1234HSR_DATA:DW56H,2000经汇编后,从地址经汇编后,从地址1000H处存贮器的内容为:处存贮器的内容为:(1000H)=12H(10
5、01H)=34H(1002H)=00H(1003H)=56H(1004H)=07H(1005H)=D0H5v四、四、EQU EQU 赋值伪指令赋值伪指令 字符名称字符名称 EQU EQU 项(数或汇编符号)项(数或汇编符号)EQUEQU伪指令是伪指令是把把“项项”赋给赋给“字符名称字符名称”,注意这里的,注意这里的“字符名称字符名称”不同于标号(其后没有冒号),但它是必须的。不同于标号(其后没有冒号),但它是必须的。用用EQUEQU赋过值的符号名可以用作赋过值的符号名可以用作数据地址、代码地址、位地址或数据地址、代码地址、位地址或是一个立即数是一个立即数。例如例如:AAEQUR1MOVA,AA
6、 D10EQU10ADD_Y EQU07ABHMOVA,D10LCALLADD_Y6v五、五、DS定义存贮空间伪指令定义存贮空间伪指令 DS 表达式表达式 在汇编时,从指定地址开始在汇编时,从指定地址开始保留保留DSDS之后之后“表达式表达式”的值的值所规定的存贮单元。所规定的存贮单元。例如:例如:ORG 1000HDS07HDB20H,20 DW12H 经汇编后,从地址经汇编后,从地址1000H开始保留开始保留7个单元,然后从个单元,然后从1007H处存贮器的内容为:处存贮器的内容为:(1007H)=20H(1008H)=14H(1009H)=00H(100AH)=12H7v六、六、DATA
7、数据地址赋值伪指令数据地址赋值伪指令 字符名称字符名称 DATA 表达式表达式 这里的这里的“字符名称字符名称”与标号不同(其后没有冒号),但它是与标号不同(其后没有冒号),但它是必必须的须的,其功能是把,其功能是把“表达式表达式”的值赋给左边的的值赋给左边的“字符名称字符名称”。DATA伪指令与伪指令与EQU伪指令的主要区别是:伪指令的主要区别是:EQU定义的定义的“字符名称字符名称”必须必须先定义后使用先定义后使用,而,而DATA定义的定义的“字符名称字符名称”没有这种限制,故没有这种限制,故DATA伪指令通常用在源程序的开头或末尾。伪指令通常用在源程序的开头或末尾。例例如如:ORG010
8、0H AA DATA 35H DPTRA DATA0AA00H MOVA,AA ;(35H)A MOVDPTR,#DPTRA ;0AA00H DPTR8v七、七、BIT定义位地址符号伪指令定义位地址符号伪指令 字符名称字符名称 BIT 位位地址地址 这里的这里的“字符名称字符名称”与标号不同(其后没有冒号),但它与标号不同(其后没有冒号),但它是必须的,其功能是把是必须的,其功能是把BITBIT之后的之后的“位地址位地址”值赋给值赋给“字符名字符名称称”。例如例如:P11BITP1.1A2BIT02HMOVC,P11MOVA2,C八、汇编结束伪指令八、汇编结束伪指令 ENDEND指出汇编结束,
9、其后即使还有指令,汇编程指出汇编结束,其后即使还有指令,汇编程序也不作处理。序也不作处理。9汇编语言程序设计汇编语言程序设计方法 程序设计步骤程序设计步骤根据设计任务要求,采用汇编语言编制程序的过程。根据设计任务要求,采用汇编语言编制程序的过程。应用程序设计步骤:应用程序设计步骤:1.拟定任务书拟定任务书 2.建立数学模型建立数学模型 3.建立算法建立算法 4.绘制程序流程图绘制程序流程图 5.编制汇编语言源程序编制汇编语言源程序 6.上机调试上机调试 注意:注意:汇编调试汇编调试需要多次试验,需要多次试验,往往调试占整个往往调试占整个任务的大部分时任务的大部分时间间10程序设计要求及基本方法
10、程序设计要求及基本方法可靠性高可靠性高、可读性好可读性好、效率高、效率高、占用存储容量小占用存储容量小和和执执行速度快行速度快 汇编程序结构设计的基本方法:汇编程序结构设计的基本方法:汇编程序结构设计的基本要求:汇编程序结构设计的基本要求:1.1.顺序程序的设计顺序程序的设计 2.2.分支程序设计分支程序设计 3.3.循环程序设计循环程序设计 4.4.子程序设计子程序设计5.5.查表程序设计查表程序设计6.6.散转程序设计散转程序设计11一、顺序程序 顺序程序是最简单的程序结构,在顺序程序中没有顺序程序是最简单的程序结构,在顺序程序中没有任何的转移指令,以下是一个典型的例子。任何的转移指令,以
11、下是一个典型的例子。例例1:字节(双字)加法。将内部:字节(双字)加法。将内部RAM 30H开始的开始的4个单元中存放的个单元中存放的4字节十六进制数和内部字节十六进制数和内部RAM 40H单元开始的单元开始的4个单元中存放的个单元中存放的4字节十字节十六进制数相加,结果存放到六进制数相加,结果存放到40H开始的单元中。开始的单元中。(如如0a0ab234fh存放在存放在片内片内RAM30h开始的开始的4个单元如图所示个单元如图所示)30H31H33H32H加数加数 1 存放处存放处4FH23HABHA0H12题意分析示意图题意分析示意图 (1)题意分析。题意分析。题目的要求如图所示。30H3
12、1H33H32H加数加数 1 存放处存放处4FH23HABHA0H43H42H41H40H 7BH 56H 80H E8H加数加数 2 存放处存放处43H42H41H40HCAH79H2BH89H相加结果存放处相加结果存放处A0AB234FE880567B892B79CA113 ORG 0200HMOV A,30HADD A,40HMOV 40H,A;最低字节加法并送结果最低字节加法并送结果MOV A,31HADDC A,41HMOV 41H,A;第二字节加法并送结果第二字节加法并送结果(2)汇编语言源程序。汇编语言源程序。按照双字节加法的思路,实现按照双字节加法的思路,实现4字节加法的源程序
展开阅读全文