第三次分支与循环程序设计.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三次分支与循环程序设计

汇编语言程序设计实验 实验六 分支程序设计 实验目的 进一步熟悉MCS-51指令系统,了解汇编语言程序设计的基本结构。 掌握分支结构程序设计的方法。 学会用条件转移指令、CJNE、JMP及其配合使用来编写二分支、三分支和多分支程序。 实验内容 二分支的条件转移程序 设变量X存放于R0,函数值Y存放在R1,其中X、Y均为二进制数。试按照下式的要求给Y赋值: Y= 1 X0 0 X=0 -1 X0 程序框图如图3-5所示: : 三、实验步骤 根据实验内容和参考程序流程图,编出相应的分支结构程序。 输入程序,汇编成功; 用F4(执行到光标处)、F7(跟踪执行)、F8(单步执行)或断点运行等方式调试程序; 观察程序的流程,记录运行结果。 四、思考题 CJNE指令对CY 有影响吗?用CJNE 和JC/JNC指令配合应注意什么? 在用JMP 指令前,若变址(255怎么办? 2.用什么指令可以实现多分支之间的隔离? 五、实验报告要求 写出题目运行结果。 六、参考程序清单 1、二分支的条件转移程序 用二分支结构程序实现: ORG 0000H AJMP 0050H ORG 0050H MAIN: MOV A,R0 JZ LOAD JNB ACC.7,GO MOV A,#0FFH SJMP LOAD GO: MOV A,#01H LOAD: MOV R1,A SJMP $ END 2)用三分支结构程序实现: ORG 0000H AJMP 0050H ORG 0050H MAIN: MOV A,R0 JNZ COMP MOV R1,#00H SJMP MP3 COMP: CJNE R0,#80H,MP1 MOV R1,#0FFH LJMP MP3 MP1: JC MP2 MOV R1,#0FFH LJMP MP3 MP2: MOV R1,#01H MP3: SJMP $ END 实验七 循环程序设计 一、实验目的 进一步熟悉MCS-51指令系统,了解汇编语言程序设计的基本结构。掌握循环结构程序设计的方法,弄清单重及多重循环控制过程。 掌握典型算法:冒泡排序法。 实验内容 设计循环程序:冒泡法排序。 具体要求:设单片机8031外部RAM从3600H单元开始存放10个无符号数,试编写程序能使它们按从大到小的顺序排列(最大数存放在3600H单元)。 实验步骤 输入预先编好的程序,汇编成功; 用自动单步方式执行程序,观察循环计数器的变化情况。 用断点运行方式调试排序程序,记录排序过程。 参考流程图 程序流程图如图3-7所示。 五、循环结构程序参考清单: 冒泡法排序法参考程序清单: ORG 0000H AJMP 0050H ORG 0050H MAIN: MOV PSW,#00H MOV P2,#36H MOV R2,#10-1 LPP0: MOV R0,#00H MOV R1,#01H MOV 03H,R2 CLR 7FH LPP1: MOVX A,@R0 MOV 30H,A MOVX A,@R1 CJNE A,30H,LPP2 SJMP LL1 LPP2: JC LL1 MOVX @R0,A XCH A,30H MOVX @R1,A SETB 7FH LL1: INC R0 INC R1 DJNZ R3,LPP1 JNB 7FH,LPP3 DJNZ R2,LPP0 LPP3: SJMP $ END 六、思考题 1、若用DJNZ或CJNE指令来控制循环,编写程序有什么不同? 2、如何将排序程序修改为只用一个指针? 3、将无符号数排序程序修改为带符号数排序。

文档评论(0)

youshen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档