已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
17:45,第4章 汇编语言程序设计及知识,4.1 编程的步骤、方法和技巧 4.2 汇编语言源程序的编辑和汇编,17:45,4.1 编程的步骤、方法和技巧,4.1.1 编程的步骤 4.1.2 编程的方法和技巧 4.1.3 汇编语言程序的基本结构,17:45,编程的步骤,一、分析问题 二、确定算法 三、画程序流程图 四、编写程序,17:45,用8051汇编语言编写的源程序行(一条语句)包括四个部分,也叫四个字段: 标号:操作码操作数;注释 每个字段之间要用分隔符分隔,而每个字段内部不能使用分隔符。可以用作分隔符的符号:空格“ ”、冒号“:”、逗号“,”、分号“;”等。,17:45,标号,标号是用户定义的符号地址。 一条指令的标号是该条指令的符号名字,标号的值是汇编这条指令时指令的地址。 标号由以英文字母开始的18个字母或数字组成,以冒号“:”结尾。 标号可以由赋值伪指令赋值,如果没有赋值,汇编程序把存放该指令目标码第一字节的存储单元的地址赋给该标号,所以,标号又叫指令标号。,17:45,操作数,汇编语言指令可能要求或不要求操作数,所以这一字段可能有也可能没有。 若有两个操作数,操作数之间用逗号“,”分开。 操作数包括:工作寄存器、特殊功能寄存器、标号名、常数、$、表达式,17:45,汇编语言程序的基本结构,一、顺序结构 二、分支结构 三、循环结构,17:45,一、顺序结构,顺序程序是最简单的程序结构,即顺序结构。 程序按顺序一条一条地执行指令。,17:45,顺序结构举例,例1 双字节乘法子程序。 (R4) (R3)(R2)=(R4) 28+ (R3) (R2) =(R4) (R2) 28+ (R3) (R2),MOV A,R2;乘数 MOV B,R3;被乘数 MUL AB; (R3) (R2) MOV R5,A;乘积的低八位 MOV R6,B;乘积的高八位 MOV A,R2 MOV A,R4 MUL AB; (R4) (R2),ADD A,R6 MOV R6 ,A MOV A,B ADDC A,#00H MOV R7,A;乘积的高位 RET,17:45,顺序结构举例,例2 将片内RAM 21H和20H单元中的3位压缩存放的8421BCD码转换成二进制数,其结果存放于21H和20H中。 转换方法:二进制数=(百位) 64H+ (十位) 0AH+ (个位),17:45,ORG 0100H MOV SP,#60H START:PUSH 20H PUSH 20H;保护十位和个位 MOV A,21H;百位A ANL A,#0FH MOV B,#64H MUL AB MOV 21H,B;高八位 MOV 20H,A;低八位 POP ACC;恢复十、个位 ANL A,#0F0H;取十位 SWAP A MOV B,#0A0H MUL AB ADD A,20H;低8位加低8位,MOV 20H,A;保存低8位 MOV A,B;高8位A ADDC A,21H;高8位加高8位 MOV 21H,A;保存高8位 POP ACC ANL A,#0F0H;取个位 ADD A,20H;低8位加个位 MOV 20H,A;保存低8位 MOV A,21H;高8位A ADDC A,#00H;高8位带进位加 MOV 21H,A;保存高8位 SJMP $,17:45,二、分支结构,程序分支是通过条件转移指令实现的,即根据条件对程序的执行进行判断、满足条件则进行程序转移,不满足条件就顺序执行程序。 分支程序又分为单分支和多分支结构。 在8051指令系统中,通过条件判断实现单分支程序转移的指令有:JZ、JNZ、CJNE、DJNZ等。此外还有以位状态作为条件进行程序分支的指令,如JC、JNC、JB、JNB、JBC等。,17:45,单分支结构流程,17:45,多分支结构流程,17:45,散转指令,转向0分支,转向1分支,转向n-1分支,转向n分支,K=0,K=1,K=n-1,K=n,多分支结构流程,17:45,例:片内RAM ONE和TWO两个单元中存有两个无符号数,将两个数中的小者存入RES单元。,分支结构程序举例,ORG 1000H ONE DATA 22H ; 定义ONE TWO DATA 23H ;定义TWO RES DATA 30H ;定义RES MOV A,ONE START:CJNE A,TWO,BIG;ATWO,CY=1,否则CY=0 SJMP STORE BIG: JC STORE MOV A,TWO STORE:MOV RES,A SJMP $,17:45,例、设变量x存放于R2,函数值y存放于R3。求下列分段函数的值:,分支结构程序举例,17:45,17:45,例: 128种分支转移程序。 功能:根据入口条件转移到128个目的地址。 入口:(R3)=转移目的地址的序号00H7FH。 出口:转移到相应子程序入口。,说明:此程序要求128个转移目的地址(ROUT00 ROUT7FH)必须驻留在与绝对转移指令AJMP相同的一个2KB存储区内。,分支结构程序举例,17:45,循环结构,先处理 后判断,先判断 后处理,17:45,循环结构,例:片内RAM的BLOCK单元开始有一个无符号数据块,其长度存于LEN单元中,试求其最大值。,START: LEN DATA 20H MAX DATA 21H BLOCK DATA 22H CLR A MOV R2,LEN;数据长度 MOV R1,#BLOCK;地址指针 LOOP : CLR C SUBB A,R1 JNC NEXT MOV A,R1 SJMP NEXT1,NEXT: ADD A,R1 NEXT1: INC R1 DJNZ R2,LOOP MOV MAX,A,17:45,循环结构,例:在内部RAM的20H2FH连续16个单元中存放单字节无符号数。求16个无符号数之和,并将其和存放在31H、30H中。用R0作加数指针,R7作循环次数计数器。,17:45,17:45,例:软件延时 每条指令的指令周期是确定的,因此,当单片机的时钟确定后可以准确的计算出程序执行所需时间。 1、单重循环延时 DELAY: MOV R2,# data;预置循环控制常数,1 DELAY1:DJNZ R2,DELAY1;2个机器周期 RET;2个机器周期,循环结构,17:45,循环结构,2、双重循环延时 TIME:MOV R1,#0FAH;1 L1: MOV R0,#0FFH;1 W1: DJNZ R0,W1;2 DJNZ R1,L1;2 NOP;1 NOP;1 RET;2,17:45,例:设计一个软件延时子程序,延时时间为10ms。设晶振频率为6MHz,一个机器周期为2us。,循环结构,17:45,作业:设单片机晶振频率6M,编写一段程序,大约延时1秒钟。,17:45,子程序的调用与返回,17:45,主程序与子程序参数传递方法,1、通过寄存器传递数据 通过寄存器R0R7或者累加器来传送。即在调用寄存器之前把数据送入寄存器或者累加器。调用以后就用这些寄存器或者累加器中的数据来进行操作。子程序执行后,结果仍由寄存器或累加器送回。 2、传递数据地址 数据存放在存储器中,参数传递时只通过R0、R1、DPTR传递数据所存放的地址 3、通过堆栈传递参数 在调用前先把要传送的参数压入堆栈,进入子程序后,再将压入堆栈的参数弹出到工作寄存器或其他内存单元。 4、通过位地址传送参数,17:45,子程序程序设计举例,例:用程序实现c=a2+b2。设a存放在21H单元,b存放在22H单元,结果c存放在20H单元。,ORG 100
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 10《马诗》教案-2023-2024学年统编版六年级语文下册
- 【《S电缆公司的营运能力杜邦分析及优化设计(数据论文)》5100字】
- 习作:我学会了-(教学设计)2023-2024学年统编版语文四年级下册
- 国学教案讨论
- 2024年四年级品德与社会上册 第二单元 做健康文明生活的小主人 第7课《我有自己的好主意》教案 粤教版
- 学习初级心理学思想品德教学设计
- 营养食品投资组合管理与风险分散
- 2024-2025学年小学生积极心理品质的教学设计
- 平面向量的实际背景及基本概念教案 人教版
- 山东省郯城第三中学初中信息技术 第十课 BBS论坛教案
- GB/T 43781-2024信息技术系统间远程通信和信息交换视联网系统要求
- 公路法知识培训课件
- (高清版)DZT 0331-2020 地热资源评价方法及估算规程
- 四季酒店客房培训资料
- 留任干部计划书
- 企业流程管理制度(标准版)
- 校园欺凌隐患排查记录表台账范例
- 中小学教师职业道德规范及解读样本
- 模板工程 模板拆除方案及拆除方法
- 卫生管理运筹学课件
- 企业培训复盘总结
评论
0/150
提交评论