单片机原理及应用设计 教学课件 作者 白林峰 李国厚 主编 孔晓红 副主编第4章 汇编语言程序设计.ppt

单片机原理及应用设计 教学课件 作者 白林峰 李国厚 主编 孔晓红 副主编第4章 汇编语言程序设计.ppt

ID:50166292

大小:156.50 KB

页数:20页

时间:2020-03-09

单片机原理及应用设计 教学课件 作者 白林峰 李国厚 主编 孔晓红 副主编第4章 汇编语言程序设计.ppt_第1页
单片机原理及应用设计 教学课件 作者 白林峰 李国厚 主编 孔晓红 副主编第4章 汇编语言程序设计.ppt_第2页
单片机原理及应用设计 教学课件 作者 白林峰 李国厚 主编 孔晓红 副主编第4章 汇编语言程序设计.ppt_第3页
单片机原理及应用设计 教学课件 作者 白林峰 李国厚 主编 孔晓红 副主编第4章 汇编语言程序设计.ppt_第4页
单片机原理及应用设计 教学课件 作者 白林峰 李国厚 主编 孔晓红 副主编第4章 汇编语言程序设计.ppt_第5页
资源描述:

《单片机原理及应用设计 教学课件 作者 白林峰 李国厚 主编 孔晓红 副主编第4章 汇编语言程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第4章汇编语言程序设计单片机系统一般都有相应的汇编语言。用汇编语言编写的程序称为源程序,要经过汇编才能被单片机识别和执行。高级语言是以面向过程而独立于计算机的通用语言。汇编语言与高级语言相比,具有节省内存和CPU资源、程序执行速度快、直接处理系统的软件和硬件资源、能准确地掌握程序的执行时间、适用于实时控制等优点,在实际设计中应用得比较普遍。一、汇编语言概述1汇编语言格式汇编语言源程序由汇编指令构成,汇编指令用助记符号表示,一条指令写成一行,由4个部分组成,每一部分称为一个字段,能够被汇编程序识别,格式如下:[标号:][操作码][操作数];[注释](1)标号标号是指令的符号地址。

2、在程序汇编时,标号被赋以指令在ROM中的实际存储地址值。用符号地址便于查询、修改及转移指令的书写。标号由字母开头,后跟字母或数字,以冒号结束。标号的最大允许长度由汇编程序确定。操作码助记符、寄存器名以及伪指令都不能用做标号,以免混淆。标号是任选的,并不是每条指令或数据都要标号,只有在需要时才设标号,如转移指令所要跳转的指令前面一般要设标号。一旦使用了某标号定义地址单元,在程序的其他地方就不能随意修改这个定义,也不能重复定义。(2)操作码操作码是指令的助记符,用来表示指令的性质。对于一条指令,这个字段是必不可少的。操作码规定了指令所要执行的操作,汇编程序接受这种符号后,就将它转换

3、成对应的机器代码。操作码后面至少要有一个空格,使它与操作数分开。(3)操作数操作数和操作码一起确定指令要执行的具体操作,给出参加运算或其它操作的数据或数据的地址。操作数是语句中最复杂的部分,其个数和形式随指令而异,可以表示为工作寄存器名、特殊功能寄存器名、标号名、常数、表达式等。这一字段也可以没有。如果有两个或3个操作数,操作数之间应以逗号隔开。立即数或地址必须以数字开头,若十六进制数以字母开头,则必须在前面加“0”,以便与标号相区别。(4)注释注释字段不是汇编语言的功能部分,而是对指令加入的文字说明,汇编程序不予处理。注释也不产生任何目标代码,可与程序一起存盘或打印。在实际的

4、程序设计中,注释一般说明一段程序在做什么,而不说指令在做什么,而且力求简单,不需要每条都加上注释,一般只在程序关键的地方加上注释。注释部分必须以冒号“:”开头,若一行写不完,换行时也必须以分号开始。若一行的开始就是分号,表示此行全部都是注释。2伪指令在利用汇编语言进行编写程序时,除了使用其指令系统规定的指令外,还要用到一些伪指令。伪指令与指令的作用不同,指令指示计算机完成某种操作,在汇编过程中要生成可执行的目标代码。而伪指令则不同,它并不生成可执行的目标代码,只是对汇编过程进行特定的处理或提供某些汇编信息。(1)定位伪指令ORG格式[标号:]ORG地址表达式ORG(Origin

5、)也称为起始伪指令,用于指出随后指令的汇编地址,即生成的机器码在存储器中存放的起始地址,地址表达式是十进制数或十六进制数,在一个汇编语言源程序中,可以有多条起始指令。例如:ORG0050HSTART:MOVA,#20H(2)定义字节DB格式:[标号:]DB字节数据表DB(DefineByte)伪指令用来确定在程序中存放到存储器中的数据表,其中数据表中的数据都是以字节为单位,可以是一个或多个字节数据、字符串或表达式。它表示将字节数据表中的数据按从左到右的顺序依次存放在指定的存储单元中,一个数据占用一个存储单元。例如:ORG0060HTAB:DB7AH,39H(3)定义字DW格式:

6、[标号:]DW字数据表DW(DefineWord)伪指令的功能与DB伪指令类似,也是给数据表中的数据分配存储单元。所不同的是DB伪指令定义的数据为字节,而DW伪指令定义的数据以字为单位,即两个字节。一个字数据占用两个连续的存储单元,先将高8位数据存入低地址单元,后将低8位数据存入高地址单元。例如:ORG2000HDATA:DW1234H,5678H(4)定义存储区伪指令DS格式:[标号:]DS表达式DS(DefineStorage)伪指令用来定义从指定的地址开始,需要保留多少个存储单元作为备用的空间,并均填充零值。例如:ORG80HBUF:DS30H(5)赋值伪指令赋值伪指令E

7、QU或=的格式为:符号名EQU表达式,或:符号名=表达式EQU(Equate)伪指令表示将表达式的值或特定的某个汇编符号定义一个指定的符号名。一旦由EQU或=伪指令定义过的符号名,就可以在本程序段中的任意位置上引用。二、汇编语言程序设计按结构化程序设计思想,任何复杂程序都可由顺序结构、分支结构和循环结构3种常用结构组成,如图4-1所示。图4-1(1)顺序结构程序顺序结构程序属于简单的程序结构,是指一种无分支、无循环、无跳转的程序结构。其执行流程是按照指令在程序存储器中存放的先后顺序进行的,编

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。