网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 论文模板 > 计算机论文 > 正文

循环结构的程序设计方法(一)

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/10/03

网学网为广大网友收集整理了,循环结构的程序设计方法(一),希望对大家有所帮助!

实验报告撰写要求
 实验操作是理论联系实际的重要环节,实验报告必须在科学实验的基础上进行,实验报告的撰写是知识系统化的吸收和升华的过程,实验报告应该体现完整性、规范性、正确性、有效性。现将撰写实验报告的有关内容说明如下:
 1.实验名称
 2.实验目的
 本次实验所涉及并要求掌握的知识点。
 3.实验内容与实验步骤
 实验内容、原理、原理图分析及具体实验步骤。
 4.实验环境
 实验所使用的器件、仪器设备名称及规格。
 5.设计实验数据表格
 6.实验过程与分析
详细记录在实验过程中发生的故障和问题,并进行故障分析,说明故障排除的过程及方法。
根据具体实验,记录、整理相应数据表格、绘制曲线、波形图等,并进行误差分析。
 7.实验结果总结
对实验结果进行分析,完成思考题目,总结实验的心得体会,并提出实验的改进意见。
 注:1.前5项必须在做实验之前完成,并由指导教师签字后才能做实验。
 2.对于学生自拟实验题目、参与科研、创新实验等形式实验项目的实验报告可采用论文、实验总结报告等形式完成。
3.此封皮标准页面为16K

实验名称:
循环结构的程序设计方法
实验目的:
1.掌握循环结构的程序设计方法;
 2.通过循环结构的程序设计,加深理解程序设计的步骤,掌握较复杂应用的设计方法。
实验环境:
PC计算机   MPLAB编程环境
实验原理 :
实验一:编程实现两个16位二进制数的乘法运算(用部分积右移的方法)
 本实验通过运用部分积右移法进行两个十六位数的乘法运算。
 部分积右移:首先,将两个待乘数据放入寄存器A和B。然后将乘数B所在的寄存器按位右移,使最后一位移入状态寄存器的进位标志位。接下来,判断进位标志位是否为1,如果为1,那么将被乘数与结果相加(初始值为零),并将结果右移一位,为下一次相加做准备;反之,如果进位标志是0,那么,部分积不与任何值相加,但是仍然要向右移动一位,为下面的加法做准备。这样,利用循环程序,共循环16次,使乘数所有位都进入过状态寄存器标志位,这样,就将结果值进行了16次右移,并在特定的位置加上了原数据,得到了最后的结果,结果由于是32位的,所以放入两个寄存器所组成的单元之中,在本实验里,放入了C和D寄存器。
实验二:(选作)编程实现两个16位二进制数的乘法运算(用被乘数左移的方法)
 本实验通过运用被乘数左移法进行两个十六位数的乘法运算。
 被乘数左移:首先,将两个待乘数据放入寄存器AB和C。由于在运算过程中需要移动被乘数AB共16次,AB本身又是一个16位的数据,那么,AB应该有四个寄存器组成,即AB为一个32位的寄存器(由AH AL BH BL构成,其中,B存放高八位,A存放低八位)。然后将乘数B所在的寄存器按位右移,使最后一位移入状态寄存器的进位标志位。接下来,判断进位标志位是否为1,如果为1,那么将被乘数与结果相加(初始值为零),并将被乘数左移一位,为下一次相加做准备;反之,如果进位标志是0,那么,被乘数不与结果值相加,但是仍然要向左移动一位,为下面的加法做准备。这样,利用循环程序,共循环16次,使乘数所有位都进入过状态寄存器标志位,这样,就将被乘数进行了16次左移,并在特定的位置加到了结果值数据上,得到了最后的结果,结果由于是32位的,所以放入两个寄存器所组成的单元之中,在本实验里,放入了D(低八位)和E(高八位)寄存器。
 
 但是,不论应用那种方法,都有不足之处,那就是,如果计算的数值结果超过了32位,也就是在进行最后一次加法运算时,产生了溢出,那么,结果将产生错误。也就是说,这两个程序都不可能完成所有16位的数据的乘法运算。
实验程序:
实验一:
     AL EQU 10
     AH EQU 11
     BL EQU 12
     BH EQU 13
     CL EQU 14
     CH EQU 15
     DL EQU 16
     DH EQU 17
     COUNTER EQU 18
     STATU EQU 3
     CARRY EQU 0

     ORG 1FFH
     GOTO MAIN
     ORG 0H

MULT RRF    BH
     RRF    BL
     BTFSC  STATU,CARRY
     CALL   ADD
     RRF    CH
     RRF    CL
     RRF    DH
     RRF    DL
     DECFSZ COUNTER
     GOTO   MULT
     RETLW 0
    
ADD  MOVF  AL,0
     ADDWF  CL
     BTFSC   STATU,CARRY
     INCF    CH
     MOVF   AH,0
     ADDWF  CH
     RETLW 0
    
SETU MOVLW 13H
     MOVWF AL
&

网学推荐

免费论文

原创论文

设为首页 | 加入收藏 | 论文首页 |原创论文 | 论文专题 | 设计下载 | 网学软件 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师