实验四 循环程序设计实验
一.实验目的
1. 加深对循环结构的理解。
2. 掌握循环结构程序设计的方法。 3. 熟练掌握调试循环程序的方法。
二.实验设备
TDN86/88教学实验系统一台
三.实验内容及步骤
1. 编制程序
计算式子1+2+3+?+99+100的结果。
2. 求某数据区内负数的个数
设数据区的第一单元存放区内单元数据的个数,从第二单元开始存放数据,在区内最后一个单元存放结果。为统计数据区内负数的个数,需要逐个判断区内的每一个数据,然后将所有数据中凡是符号位为1的数据的个数累加起来,即得区内所包含负数的个数。
实验步骤:
(1)输入程序并检查无误,经汇编、连接后装入系统。 (2)E3000↙输入数据如下:
3000=06(数据个数) 3001=12 88 82 90 22 33
(3)G=0000:2000↙,运行实验程序。 (4)D=3007↙,显示结果03。
四.思考题
修改程序2,使其能分别求出数据区中正数、零和负数的个数。
实验五 排序程序设计实验
一.实验目的
1. 掌握分支、循环、子程序调用等基本的程序结构。 2. 学习综合程序的设计、编制及调试。
二.实验设备
TDN86/88教学实验系统一台
三.实验内容及步骤
1. 在数据区中存放着一组数,数据的个数就是数据缓冲区的长度,要求用气泡法对该数据
区中数据按递增关系排序。 设计思想:
a. 从最后一个数(或第一个数)开始,依次把相邻的两个数进行比较,即第N个数与第N
-1个数比较,第N-1个数与第N-2个数比较等等;若第N-1个数大于第N个数,则两者交换,否则不交换,直到N个数的相邻两个数都比较完为止。此时,N个数中的最小数将被排在N个数的最前列。
b. 对剩下的N-1个数重复上步,找到N-1个数中的最小数。 c. 重复第二步,直到N个数全部排序好为止。
实验步骤:
(1)输入程序并检查无误,经汇编、连接后装入系统。
(2)用E3000↙在3000-3009H数据区中任意放入10个无符号数。 (3)G=0000:2000↙,运行实验程序。 (4)用D=3000↙检查排序结果。
(5)反复修改数据区中的数,运行程序并观察结果,以验证程序的正确性。
2. 学生成绩名次表
将分数为1-100之间的30个成绩存入首址为3000H的单元中,3000H+i表示学号为i的学生成绩。编写程序能在3100H开始的区域排出名次表,3100H+i为学号i的学生名次。
实验步骤:
(1)输入程序并检查无误,经汇编、连接后装入系统。 (2)将30个成绩存入首址为3000H的单元中。 (3)调试并运行实验程序。
(4)检查3100H开始的区域中的名次表的正确性。
四.思考题
1. 请指出程序1中哪部分属于外循环,哪部分属于内循环? 2. 程序中对SI、CX压栈和弹栈的意义何在?
3. 修改程序2,使其能将3100H开始的区域中的名次表显示出来。
实验六 中断特性及8259应用编程实验
一.实验目的
1. 2. 3. 4. 5.
认识TDN86/88系统的中断特性。 掌握8259中断控制器的工作原理。 掌握8259可编程控制器的应用编程。 学习掌握8259级连方式的使用方法。
学习在接口实验单元上构造连接实验电路的方法。
二.实验设备
1. TDN86/88教学实验系统一台。 2. 排线、导线若干。
三.实验内容及步骤
1. 8259应用实验(1)
图6-1 实验(1)线路
按图6-1所示实验线路编写程序,使每次响应外部中断IRQ7时,显示字符“7”,中断10次后,程序退出。
实验步骤:
(1)按图6-1连接实验线路。
(2)输入程序并检查无误,经汇编、连接后装入系统。 (3)G=0000:2000运行实验程序。
(4)重复按KK2微动开关,显示屏上应用“7”来响应,直到按10次后,系统处于停机状态,用CTRL+BREAK返回监控。
2. 8259应用实验(2)
相关推荐: