实验:分支程序实验和循环程序实验
实验二 分支结构程序设计实验

实验二 分支结构程序设计实验1、实验目的和要求:掌握汇编语言分支程序的设计方法;2、实验内容:编程序求分段函数Y 的值。
已知变量X 为16位带符号数, 分段函数的值要求 保存到字单元Y 中。
函数定义如下:1 (当X>0)Y = 0 (当x=0)—1 (当X<0)3、实验仪器与器材:计算机及EMU8086汇编软件等。
4、实验原理:分支结构的程序设计方法的关键在于构造合适的分支条件和分析程序流程,根据不同的程序流程选择适当的分支语句。
分支结构适合于带有逻辑或关系比较等条件判断的计算,设计这类程序时往往都要先绘制其程序流程图,然后根据程序流程写出源程序,这样做把程序设计分析与语言分开,使得问题简单化,易于理解。
程序流程图是根据解题分析所绘制的程序执行流程图。
5、实验过程与测试数据(含电路图/程序流程框图):6、实验分析:自己分析7、实验体会:自己总结实验参考程序:DATA SEGMENTX DW -128Y DW ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA START: MOV AX,DATAMOV DS,AXMOV AX,XCMP AX,0JG ISPNJZ ISZNMOV Y,-1JMP FINISHISPN: MOV Y,1JMP FINISHISZN: MOV Y,0FINISH: MOV AH,4CHINT 21HCODE ENDSEND START思考题:把程序修改成如下的分段函数的值—1 (当X>=0)Y=1 (当X<0)。
华南理工大学微机与接口实验报告(四实验,题目原理流程图代码截图完整版)

微机原理实验报告班 级:2012级电子科学与技术卓工班级电子科学与技术卓工班姓 名: 黄中一黄中一 学 号: 201236460273序 号:评阅分数:评阅分数:实验一一、实验目的1、学会如何建立汇编源文件ASM2、学会调用MASM 宏汇编程序对源文件进行汇编,获得目标程序宏汇编程序对源文件进行汇编,获得目标程序 OBJ 及LST 列表文件列表文件3、学会调用LINK 连接程序汇编后的目标文件OBJ 连接成可执行的文件连接成可执行的文件EXE 4、学会使用DEBUG 调试程序把可执行文件装入内存并调试运行,用D 命令显示目标程序,用U 命令对可执行文件反汇编,用G 命令运行调试。
命令运行调试。
二、实验设备装有MASM 软件的IBM PC 机三、实验内容1、汇编程序对源程序进行编译,生成扩展名为OBJ 的目标文件;连接程序是将目标程序和库文件进行连接、定位,生成扩展名为EXE 的可执行文件;调试程序是对目标文件进行调试,验证它的正确性。
是对目标文件进行调试,验证它的正确性。
2、DEBUG 程序各种命令的使用方法程序各种命令的使用方法功能功能命令格式命令格式 使用说明使用说明显示内存单元内容显示内存单元内容D 地址地址从指定地址开始显示40H 个字节或80H 个字节个字节 修改内存单元内容修改内存单元内容 E 地址地址先显示地址和单元内容等待输入修改的内容输入修改的内容检查和修改寄检查和修改寄存器的内容存器的内容R 显示全部寄存器和标志位及下条指令单元十六进制数码和反汇编格式和反汇编格式反汇编反汇编U 地址地址从指定地址开始反汇编16个或32个字节个字节 汇编汇编 A 地址地址从指定地址直接输入语句并从指定指定汇编装入内存从指定指定汇编装入内存跟踪跟踪 T =地址=地址 从指定地址开始逐条跟踪指令运行运行 G =地址=地址无断点,执行正在调试的指令执行正在调试的指令 退出退出Q退出DEBUG 返回DOS3、实验过程①、在edit 环境,写字板,记事本等中输入源程序。
分支程序实验实验报告

一、实验目的1. 理解分支程序的概念和作用。
2. 掌握C语言中if语句、switch语句的使用方法。
3. 能够根据实际需求,合理运用分支程序解决问题。
二、实验环境1. 操作系统:Windows 102. 编译器:Visual Studio 20193. 语言:C语言三、实验内容1. 使用if语句实现一个简单的分支程序。
2. 使用switch语句实现一个多分支程序。
3. 结合if语句和switch语句,编写一个综合性的分支程序。
四、实验步骤1. 使用if语句实现一个简单的分支程序(1)创建一个新的C语言项目,命名为“分支程序实验”。
(2)在主函数中,定义一个变量score用于存储用户输入的分数。
(3)使用scanf函数获取用户输入的分数。
(4)使用if语句判断分数所在的范围,并输出相应的评价。
(5)编译并运行程序,验证分支程序是否正确实现。
2. 使用switch语句实现一个多分支程序(1)在主函数中,定义一个变量num用于存储用户输入的数字。
(2)使用scanf函数获取用户输入的数字。
(3)使用switch语句根据用户输入的数字输出相应的结果。
(4)编译并运行程序,验证多分支程序是否正确实现。
3. 结合if语句和switch语句,编写一个综合性的分支程序(1)在主函数中,定义两个变量num和score。
(2)使用scanf函数分别获取用户输入的数字和分数。
(3)使用if语句判断数字是否在1到7之间,并使用switch语句根据分数输出相应的评价。
(4)编译并运行程序,验证综合性分支程序是否正确实现。
五、实验结果与分析1. 使用if语句实现简单的分支程序当用户输入分数为85时,程序输出“优秀”;输入分数为70时,程序输出“良好”;输入分数为60时,程序输出“及格”;输入分数低于60时,程序输出“不及格”。
2. 使用switch语句实现多分支程序当用户输入数字1时,程序输出“一”;输入数字2时,程序输出“二”;以此类推,直到输入数字7时,程序输出“七”。
实验二C语言中的分支语句程序设计实验

实验二 C语言中的分支语句程序设计一、实验目的:1.掌握C语言的基本语法;2.掌握C语言的表达式运算及标准库函数的调用方法;3.掌握C语言的基本输入输出语句;4.掌握字符类型、整型和浮点型数据的输入输出及表达式计算方法;5.掌握if语句和switch语句的用法;6.掌握分支程序结构的设计思想;二、实验内容(一)分析程序,用程序验证下面各个表达式的值1、当整型变量a,b,c的值分别为3,4,5时,以下各语句执行后a,b,c的值为多少? (1) if(a>c) {a=b; b=c; c=a;}else {a=c; c=b; b=a;}执行后a,b,c的值为,,(2) if(a<c) a=c;else a=b; c=b; b=a;执行后a,b,c的值为,,(3) if(a!=c) ;else a=c; c=b; b=a;执行后a,b,c的值为,,2、若整数x分别等于95、87、100、43、66、79,57,则以下程序段运行后屏幕显示是什么?switch(x/10){ case 6:case 7: printf("Pass\n"); break;case 8: printf("Good\n"); break;case 9:case 10: printf("V eryGood\n"); break;case 5 : printf("Between Pass and Fail\n");default: printf("Fail\n");}x等于95时,程序段运行后屏幕上显示。
x等于87时,程序段运行后屏幕上显示。
x等于100时,程序段运行后屏幕上显示。
x等于43时,程序段运行后屏幕上显示。
x等于66时,程序段运行后屏幕上显示。
x等于79时,程序段运行后屏幕上显示。
x等于57时,程序段运行后屏幕上显示。
分支程序设计实验实验报告

分支程序设计实验实验报告————————————————————————————————作者:————————————————————————————————日期:ﻩ实验二分支程序设计实验实验报告实验名称:分支程序设计实验指导教师罗志祥专业班级光信1006 姓名张博学号U201013339 联系方式一、任务要求:熟练掌握K eil C环境下汇编语言程序的调试方法,加深对汇编语言指令、机器码、寻址方式等基本内容的理解,掌握分支程序和简单程序的设计与调试方法,了解并行IO 口的使用。
1. 设有8bits 符号数X 存于外部R AM 单元,按以下方式计算后的结果Y 也存于外部RAM 单元,请按要求编写程序。
240/2204020X X Y X X XX ⎧≥⎪=<<⎨⎪≤⎩当当当2. 利用51系列单片机设计一个24小时制电子时钟,电子时钟的时、分、秒数值分别通过P 0、P 1、P2端口输出(以压缩B CD 码的形式)。
P3.0为低电平时开始计时,为高电平时停止计时。
提高部分(选做):a . 实现4位十进制加、减1计数,千位、百位由P1口输出;十位、个位由P 2口输出。
利用P3.7状态选择加、减计数方式。
b. 利用P3口低四位状态控制开始和停止计数,控制方式自定。
二、设计思路:1.分支函数程序设计:首先将X 赋给累加器A ,与40比较大小,将大于或等于40的执行乘方操作;小于40的再与20做比较,大于20的执行取除法操作,小于或等于20的执行取反操作。
最后将计算结果Y 存于片外的RAM 上。
2.电子时钟程序设计思路:首先用循环程序的嵌套实现一个1s 的延时,同时让记秒的端口P2同步加一,到60后清零;再让此循环执行60次实现1min 的延时,同时让P1同步加一,到60后清零;再让分钟的循环执行24次,实现1hour 的延时,同时让P 0同步加一。
至此循环,即可实现24小时的时钟功能。
(注:本计算机的晶振频率为12MHz)3.4位十进制加、减1计数程序思路:低位的个位和十位赋给一个寄存器,而将高位即百位千位赋给另外一个寄存器,通过循环程序使低位数循环100次即向高位进位或借位,高位循环100次后即回归初始状态,同时设计两个子函数分别执行加一、减一操作。
分支与循环结构程序设计实验(精)

内容2:数据从40H存储单元开始存放有30个无 符号数,找出最大数送R7。 MOV R0,#40H ;数据块首地址送地址指针R0 MOV R2,#30 ;循环次数送R2 MOV A,@R0 ;取第一个数,作为最大数暂存A里 LOOP:INC R0 ;为取下一个数 MOV B,@R0 ;取下一个数暂存B里 CJNE A, B, $+3;比较后产生CY标志位, $+3为下 一条指令的地址 JNC NEXT ;没有借位标志,跳转到NEXT。 MOV A, @R0 ;最大数送A NEXT: DJNZ R2,LOOP ;循环次数结束? MOV R7,A ;存最大数 SJMP $
3、实验设备与仪器
PC机、Wave软硬件仿真软件。
分支与循环结构程序设计实验 4、实验步骤 实际操作注意之处
1)打开电脑电源。 2)启动计算机,打开伟福仿真软件。首先进行仿真器的 设置,打开仿真器设置窗口,在仿真器标签里选择使用 伟福软件模拟器,进入软件仿真环境。 3)用单步、设置断点、全速三种执行程序的方法调试程 序,观察相关内容数据的变化。
分支与循环结构程序设计实验
内容3:ORG 0000H MOV A,R2 JZ NEXT2 JNB ACC.7,NEXT1 MOV A,#0FFH SJMP NEXT2 NEXT1:MOV A,#01 NEXT2:MOV R3,A SJMP $
分支与循环结构程序设计实验
6、实验报告要求
1)实验报告要求有实验目的、要求、设备或仪器、程序设计、 步骤、数据分析。数据分析填在报告本的原始数据栏。 2)画出实验要求1)2)程序设计流程图、写出程序清单并有简 要注释。 3)写出实验过程中所遇到的问题与解决的办法。
ห้องสมุดไป่ตู้
顺序分支循环实验报告

顺序分支循环实验报告实验目的本实验旨在通过编写程序,实践顺序、分支和循环这三种常见的程序控制结构,并加深对这些概念的理解。
实验设备与环境本实验使用的设备为一台运行Windows操作系统的个人电脑,所需开发工具为Python编程语言。
实验过程与结果顺序结构首先,我们编写了一个简单的程序,用于计算并打印两个数的和。
具体代码如下所示:pythona = 5b = 3c = a + bprint("两个数的和为:", c)运行以上代码后,我们可以在控制台上看到输出结果“两个数的和为:8”,说明程序能够顺利地计算出两个数的和并将结果打印出来。
这是因为程序按照代码的书写顺序,依次执行了定义变量、进行计算和打印输出这三个步骤。
分支结构接下来,我们编写了一个程序,用于判断一个数是否为正数。
具体代码如下所示:pythonnum = -20if num > 0:print("这是一个正数")else:print("这不是一个正数")运行以上代码后,我们可以在控制台上看到输出结果“这不是一个正数”,说明程序能够根据num的值,使用if语句进行条件判断,并根据判断结果执行相应的代码块。
循环结构最后,我们编写了一个程序,用于实现1到10的整数相加,并计算它们的平均值。
具体代码如下所示:pythontotal = 0count = 0while count < 10:count += 1total += countaverage = total / countprint("1到10的整数相加的结果为:", total)print("1到10的整数的平均值为:", average)运行以上代码后,我们可以在控制台上看到输出结果“1到10的整数相加的结果为:55”和“1到10的整数的平均值为:5.5”,说明程序能够使用while循环结构依次累加1到10的整数,并根据计算结果进行打印输出。
c语言程序设计实验指导答案

太原理工大学现代科技学院C语言程序设计课程实验报告专业班级学号姓名指导教师焦雄5.#include <stdio.h> void main(){int a=10,n=5;a+=a;printf("%d\n",a);a=10,a-=2;printf("%d\n",a);a=10,a*=2+3;printf("%d\n",a);a=10,a/=a+a;printf("%d\n",a);a=10,a%=(n%=2);printf("%d\n",a);a=10,a+=a-=a*=a;printf("%d\n",a); }遇到的问题和解决方法心得体会实验三简单程序、分支程序和循环程序设计实验名称实验目的和要求1.理解C语言程序的基本结构和实现基本结构的语句;2.熟练应用赋值、输入和输出语句;3.理解并掌握关系运算符、逻辑运算符及其表达式的使用;4.熟练掌握if语句、switch语句、while语句、do—while语句和for语句的用法;实验内容1.输入并运行第3章例3-3、例3-6中的程序,通过输出结果理解对应的格式说明。
2.输入并运行第3章例3-8、例3-10中的程序,注意输入数据的格式。
3.已知圆柱半径r=1.5,圆柱高h=3,编程求圆周长,圆面积和圆柱体积。
4.输入一百分制成绩,输出成绩等级A、B、C、D、E。
90分以上为A,80~89为B,70~79分为C,60~69分为D,60分以下为E。
要求程序能处理错误的输入数据。
5.利用公式:π/4=1-1/3+1/5-1/7+……,求π的近似值,直到最后一项的绝对值小于10-6为止。
(fabs(t)表示t的绝对值,1e-6=1*10-6)。
6.求100-200间所有素数。
7.输出三角形的九九乘法口诀表。
8.打印水仙花数。
水仙花数是指一个3位数,其各位数字立方和等于该数本身。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二分支程序实验和循环程序实验
山东大学
【上篇】分支程序实验
一、实验内容:
1、编写一个程序,显示AL寄存器中的两位十六进制数
二、程序流程图:
三、实验过程:
1、用记事本编写源程序,并命名为shang.asm,转换成.asm文件。
2.在dos系统中进行编译:
3、用link.exe进行连接:
4、运行程序,看到al寄存器中的两位16进制数是3E。
【下篇】循环程序实验
一、实验内容:
1、编写一个程序,判别键盘上输入的字符;若是1-9字符,则显示之;若为A-Z或a-z
字符,均显示'c';若是回车字符<CR>(其ASCII码为0DH),则自动结束程序,若为其它字符则不显示,循环等待新的字符输入。
二、程序流程图:
三、实验过程:
1、用记事本编写源程序,命名为xia.asm。
2、在dos系统中进行编译:
3、用link.exe进行连接:
4.运行程序,分别输入“0”,“A”,“a”,“;”和回车进行验证:。