《计算机综合实践实验报告.doc》由会员分享,可在线阅读,更多相关《计算机综合实践实验报告.doc(11页珍藏版)》请在三一办公上搜索。
1、四川大学网络教育学院实践课程报告实践课程 计算机综合实践 校外学习中心 东莞奥鹏 专 业 电气工程及其自动化 层 次 专升本 年 级 二年级 学生姓名 李超 学 号 201002663252 2011年 7 月 10 日四川大学网络教育学院实验报告实验名称: 调试程序-DEBUG、 设计汇编语言程序 、可编程定时 器/计数器8253实验学习中心 东莞奥鹏 姓 名 李超 学 号 201002663252 实验内容:用汇编语言编写一个简单的加法运算程序,并调试;字符串 统计程序设计,双字乘法程序设计;改变定时器2的计数值来改变声音频率,通过编程来获得声调(频率)和节奏(延时长短),使计算机演奏出乐
2、曲来。实验一 调试程序-DEBUG实验重点:掌握汇编语言,可以调试简单的程序实验目的:让学生熟悉程序的输入和调试环境 实验学时:2学时实验难点:如何进行程序的调试:DEBUG实验内容:用汇编语言编写一个简单的加法运算程序,并调试 1.进入DEBUG状态,开机进入DOS状态。CDEBUG屏幕显示:-“-”为已进入DEBUG状态,在该提示符下可键入DEBUG命令。下划线部分为用户键入的字符或命令2键入程序并汇编用DEBUG的A命令送入程序:-A 100MOV AL,33MOV DL,35ADD DL,ALSUB DL,30MOV AH,2INT 213。执行程序-G4反汇编可以用反汇编U命令将键入
3、的程序调出,并且可以得到每条汇编指令的机器码。-u起始地址 终止地址5退出DEBUG返回DOS状态-Q6显示内存命令D-D 0100-D 起始地址 终止地址7修改存储单元命令E-E 地址8检查和修改寄存器内容命令R格式:a. Rc. R寄存器名功能:a.显示CPU内部所有寄存器的内容和全部标志位的状态。b.显示和修改一个指定寄存器的内容和标志位的状态。9追踪与显示命令T格式:a. T=地址或 T地址b. T=地址条数10命名命令N格式:N文件名11读盘命令L12.写盘命令W写出实验结论(写出上机结果及现象)实验二 设计汇编语言程序1、实验目的掌握循环指令的使用方法;掌握实现单重、多重循环程序设
4、计、编写、调试和运行的方法。2、实验内容1、内存地址WORD_ARRAY处存放着个有符号字数组,其中第个字为数组的长度,从第二个字开始顺序存放着数组元素。编写程序求数组中正数、零和负数的个数。流程图如图4所示。附图 4数据段可定义如下:DATA_SEG SEGMENTWORD_ARRAY DW 4,1,2,3,0;数组P_COUNTDW 0;正数计数单元Z_OUNTDW 0;零计数单元N_OUNTDW 0;负数计数单元DATA_SEG ENDS(2)建立学生名次表要求:以GRADE为首地址的10个字的数组中保存了学生的成绩,其中GRADE+i保存学号为I+1的学生的成绩。要求建立个10个字的R
5、ANK数组,并根据GRADE中的学生成绩将学生名次填人RANK数组中,其中RANK+I的内容是学号为I+1学生的名次(提示:个学生的名次等于成绩高于该学生的人数加1)。分析:本题可以用双重循环结构来实现。内层对应于每个学生的名次计算,外层则解决所有学生的名次计算。由于数组的长度是确定的,因此内、外层均可用计数值来控制循环的结束。在设计多重循环结构时,必须注意内层循环结束后的重新初始化问题。由于本题所用寄存器较多,现将寄存器的分配情况说明如下:AX 存放当前被测学生的成绩;BX 存放当前被测学生的相对地址指针;CX 内循环计数值;DX 当前被测学生的名次计数值;SI 内循环测试时的地址指针;DI
6、 外循环计数值。根据以上考虑,画出程序流程图如附图5所示。这里必须使用DEBUG来查看程序的运行结果,可以看出程序的结束时,RANK数组已存放了学生的名次。数据段可定义如下:DATAREA SEGMENTGRADE DW 88,75,95,63 DW 98,78,87,73,90,60RANK DW 10 DUP (?)DATAREA ENDS(3)求字符串长要求:对STRN地址起的串字符进行统计,求其串长。串尾以*号结束。分析:本例为求字符串的长度。因此应查找字符串尾字符*,以确定字符串长。在逐字符查找过程中,就可以统计字符串长。因此这是个循环次数不定的循环程序。本题也是先判断后处理的循环程
7、序。如果开始,就遇到个*字符,则循环程序将次统计也不进行就退出循环程序。其流程如附图6所示。部分源程序:MOV SI,OFFSET STRNMOVDL,0;字符计数器 LP:MOVAL,SICMPAL,*;判是*?JEDONE;是,结束 INCDLINCSIJMPLPDONE:MOV AH,02H;显示字符数INT21HEND3、实验步骤参考流程图完善实验内容源程序,再依照实验二的步骤进行操作4、实验思考题结合实验内容2思考多重循环在每次通过外层循环再次进入内层循环时初始条件如何设置?实验三 可编程定时器/计数器8253实验一.实验要求 编程将8253定时器0设定为方式3,定时器1设定在方式2
8、,定时器2设定在方式2,定时器0输出作为定时器1的输入,定时器1的输出作为定时器2的输入,定时器2的输出接在一个LED上,运行后可观察到该LED在不停闪烁。二.实验目的了解8253定时器的硬件连接方法及时序关系。掌握8253的各种模式编程及原理。三.实验电路及连线GATE0GATE2连至电源+5V,将模块中的频率插孔(153.6K HZ)用线连至CLK0,OUT0用线连至CLK1,OUT1用线连至CLK2,OUT2用线连至一个发光管(L1),CS8253片选孔用线连至译码处228H孔。四.实验说明8253的工作频率为02M HZ,所以输入的CLK频率必须在2MHZ以下。实验板上从模块的频率插孔(153.6K HZ)引至定时器0输入。五.实验程序框图