分支程序资料_第1页
分支程序资料_第2页
分支程序资料_第3页
分支程序资料_第4页
分支程序资料_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验二分支程序,查表程序编写实验一、实验目的1.掌握跳转指令2.掌握子程序调用指令3.掌握查表程序运用二、实验设备单片机IDE集成开发软件三、实验要求验证“实验原理”一节中给出的实例程序,熟悉各种跳转指令、子程序调用指令,以及查表程序编写方法。四、实验原理作为软件实验,可以在没有硬件及仿真仪的情况下,利用集成开发环境进行。1.跳转指令控制转移的指令包括无条件转移指令和有条件跳转指令。(1)长跳转指令LJMPaddr16长跳转,把16位(2个字节)的地址送入PC中。〔2〕绝对转移指令AJMPaddr11在存储空间2kB内转移。与PC当前值高5位共同组成16位目标地址。(3)短跳转指令SJMPrel8位补码表示的地址。可以在-128到127之间跳转。(4)间接跳转指令JMP@A+DPTR这是一条很有用的散转指令。跳转地址在程序运行时动态决定。(5)累加器判零转移指令JZrel,JNZrel,JZrel,累加器为0转移,JNZrel,累加器不为0转移。(6)比较转移指令,CJNE<目的字节>,<源字节>,rel。CJNEA,#data,relCJNEA,direct,relCJNE@Ri,#data,relCJNERn,#data,rel(8)循环转移指令DJNZRn,rel。首先Rn减1,然后判断是否是零,不是则跳转。DJNZdirect,rel。首先直接地址中的数据减1,然后判断是否是零,不是则跳转。(9)位控制转移指令JCrel,若Cy=1,则(PC)<--(PC)+2+rel若Cy=0,则(PC)<--(PC)+2JNCrel若Cy=0,则(PC)<--(PC)+2+rel若Cy=1,则(PC)<--(PC)+2JBbit,rel;若(bit)=1,则(PC)<--(PC)+3+rel若(bit)=0,则(PC)<--(PC)+3JNBbit,rel若(bit)=0,则(PC)<--(PC)+3+rel若(bit)=1,则(PC)<--(PC)+3JBCbit,rel;若(bit)=1,则(PC)<--(PC)+3若(bit)=0,则(PC)<--(PC)+3+rel,(bit)02.子程序调用和返回指令。把重复使用的程序段编写为一个子程序,通过主程序调用它。这样不断减少编程工作量,而且减少程序所占存储空间。1)长调用指令LCALLaddr16;(PC)(PC)+3(SP)(SP)+1,((SP))(PC)7~0(SP)(SP)+1,((SP))(PC)15~8(PC)addr16除了PC要断点保护,注意其他寄存器不能冲突。2)绝对调用指令ACALLaddr11;(PC)(PC)+2(SP)(SP)+1,((SP))(PC)7~0(SP)(SP)+1,((SP))(PC)15~8(PC)addr113)返回指令RET:子程序返回指令,RETI:中断程序返回指令;当RET或RETI被执行时,系统通过以下步骤恢复了PC指针:(PC)15~8((SP)),(SP)(SP)-1(PC)7~0((SP)),(SP)(SP)-1利用以上转移指令,我们编写分支程序,查表程序,子程序。3.应用实例1)分支程序包括无条件转移和条件转移指令。根据不同的条件,条件分支程序执行不同的程序段。MCS-51中直接用来判断分支条件的指令有JZ、JNZ、CJNE、JC、JNC、JB、JNB等。正确合理地运用条件转移指令是编写条件分支程序的关键。[例27-1]设变量X存放于R2,函数值y存放在R3。试按照下式的要求给y赋值:1X>0y=0X=0-1X<0五、实验步骤1、分别编写简单分支程序,及子程序调用程序,然后在开发环境中编译运行。2、编写查表程序。然后在开发环境中编译运行。六、实验报告1、给出各个程序的清单,要求有注释。2、MCS-51系列单片机有那些跳转

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论