第7讲51单片机汇编语言程序设计

第7讲51单片机汇编语言程序设计

ID:14093893

大小:89.50 KB

页数:9页

时间:2018-07-26

第7讲51单片机汇编语言程序设计_第1页
第7讲51单片机汇编语言程序设计_第2页
第7讲51单片机汇编语言程序设计_第3页
第7讲51单片机汇编语言程序设计_第4页
第7讲51单片机汇编语言程序设计_第5页
资源描述:

《第7讲51单片机汇编语言程序设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、标题:第四部分汇编语言程序设计教学目标与要求:1、理解源程序、目标代码、编辑、汇编等含义2、了解汇编过程3、掌握伪指令的使用4、掌握顺序结构、分支结构及循环结构程序的编写方法授课时数:8学时教学重点:伪指令的使用教学内容及过程:一、程序设计概念1、汇编程序设计步骤:分析题意;资源分配;程序流程图编写程序调试程序2、程序编写规则:结构清晰,易读、易于移植占用存储空间少;运行时间短;程序的编制、调试及排错所需时间短;3、汇编程序功能汇编指令与机器码指令有一一对应的关系。汇编程序是一种翻译程序,将源程序翻译成

2、目标程序。4、汇编程序的汇编过程9汇编有两种方法:手工汇编、机器汇编。1、手工汇编:第一次汇编:确定地址,翻译成各条机器码,字符标号原样写出;第二次汇编:标号代真,将字符标号用所计算出的具体地址值或偏移量代换。 源程序地址目标程序 第一次汇编第二次汇编 ORG1000H START:MOVR0,BUFFER-11000A82FA82F MOVR2,#00H10027A007A00 MOVA,@R01004E6E6 MOVR3,A1005FBFB INCR310060B0B SJMPNEXT100780N

3、EXT8005 LOOP;INCR010090808  CJNE@R0,#44H,NEXT100AB644NEXTB64401  INCR2100D0A0A NEXT:DJNZR3,LOOP100EDBLOOPDBF9 MOVRESULT,R210108A2A8A2A  SJMP$101280FE80FE BUFFERDATA30H    RESULTDATA2AH     END   2、机器汇编两次扫描过程。第一次扫描:检查语法错误,确定符号名字;建立使用的全部符号名字表;每一符号名字后跟一对应值(

4、地址或数)。第二次扫描:是在第一次扫描基础上,将符号地址转换成真地址(代真);利用操作码表将助记符转换成相应的目标码。二、伪指令伪指令是告诉汇编程序,如何汇编源程序的指令。伪指令既不控制机器的操作,也不能被汇编成机器代码,故称为伪指令。1、起始地址伪指令ORGORGaddr16用于规定目标程序段或数据块的起始地址,设置在程序开始处。2、汇编结束伪指令9END告诉汇编程序,对源程序的汇编到此结束。一个程序中只出现一次,在末尾。3、赋值伪指令EQU告诉汇编程序,将汇编语句操作数的值赋予本语句的标号。格式:标

5、号名称EQU数值或汇编符号“标号名称”在源程序中可以作数值使用,也可以作数据地址、位地址使用。先定义后使用,放在程序开头。4、定义字节伪指令DB告诉汇编程序从指定的地址单元开始,定义若干字节存储单元并赋初值。格式:[标号:]DB字节数据或字节数据表5、定义字伪指令DW从指定地址开始,定义若干个16个位数据,高八位存入低地址;低八位存入高地址。例、ORG1000HPIOI:DW7654H,40H、12、‘AB’6、数据地址赋值伪指令DATA将表达式指定的数据地址赋予规定的字符名称格式:字符名称DATA表达

6、式注:该指令与EQU指令相似,只是,可先使用后定义,放于程序开头、结尾均可。7、定义空间伪指令DS从指定地址开始,保留由表达式指定的若干字节空间作为备用空间。格式:[标号:]DS表达式例2、ORG1000HDS0AHDB71H,11H,11H;从100BH开始存放71H、11H、11H。注:DB、DW、DS只能用于程序存储器;而不能用于数据存储器。8、位地址赋值伪指令BIT将位地址赋予规定的字符名称。格式:字符名称BIT位地址例3、X1BITP12相当于X1EQU92H三、汇编程序的基本结构1、顺序程序

7、举例例1、设在外RAM的60H单元存有1个字节代码,要求将其分解成两个4位字段,高4位存入原单元的低4位,其低4位存入61H单元的低4位,且要求这两个单元的高4位均为0,试编制完整程序。解:字节分解:9核心指令MODE:ANLORL1000HMODE:MOVR0,#60HMOVXA,@R0MOVB,AANLA,#0F0HSWAPAMOVX@R0,AANLB,#0FHMOVA,BINCR0MOVX@R0,AEND2、分支结构与分支程序设计结构:根据不同的条件,进行相应的处理。通常用条件转移指令形成简单分支

8、结构。如:判(A)=Z或NZ,转移判(CY)=1或0,转移判(bit)=1或0,转移CJNE比较不相等转移例3、设a存放在累加器A中,b存放在寄存器B中,要求按下式计算Y值,并将结果Y存于累加器A中,试编写程序。解:本题关键是判a是正数,还是负数;由ACC7便知。9BR:MINUS:DONE:ORG1000HJBACC7,MINUSCLRCSUBBA,BSJMPDONEADDA,BSJMP$END例4、设有两个16位无符号数NA,NB分别存

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

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

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