1、2、按照设计任务要求能够顺利地完成任务,得出结果,按时提交较完整的、符合要求的实验报告,可评定为良好。3、按照设计要求完成了硬件线路的连接或软件的编程与调试,基本完成了任务要求,提交符合要求的实验报告,可评为中等。4、基本完成实验目标,但不够完善,可能有若干小的缺陷,在帮助下能够完成实验,提交实验报告,可评为及格。5、不能完成指定的要求和任务,未提交实验报告的,评为不及格。五 提交报告的时间 16周的上实验课时间第二部分实验设备简介QTH-2008PCI-C 开发板是启东市微机应用研究所开发设计的高性能的PCI总线开发平台,采用了PLX公司的PCI9052芯片作为PCI的接口芯片,PCI90X
2、X系列PCI接口芯片其低成本、高性能的特点是举世公认的。一 硬件说明硬件包括两大部分:PCI接口卡一块,QTH-2008PCI-C实验机。PCI接口卡主要由PCI9052、93C46、XILINX CPLD 9536组成。PCI9052是PLX公司的PCI90XX系列芯片中的一款从模式桥芯片(其硬件与PCI9050相兼容),93CS46(EERPOM)用于存放PCI9052初始化设置信息,在开发板上还提供了一个ISA总线扩展插座,可提供8位和16位的总线宽度。可与PLX公司的开发软件PlxMon联合使用,用户可重新定义总线宽度,IO、MEMORY地址空间,中断方式等。CPLD中集成了相当简单的
3、逻辑,便于用户重新设计和升级,板上留有烧写CPLD的插座。与QTH-2008PCI-C实验仪相连可实现硬件接口实验,包括8255、8253、8259等常用芯片的实验。二 软件说明本实验的驱动所采用的软件有三种,分别是Microsoft 的Visual C+ 6.0、VTOOLSD。所用的驱动程序调试工具是DriverMonitor。使用这些软件,可以在短期内快速准确的构成驱动程序的框架,便于驱动的编写。同时调试工具能准确的地了解驱动的运行情况,对驱动进行跟踪,便于修改。第三部分实验简介实验一 系统认知一、 实验目的:学习掌握利用QTH-2008PCI连机软件调试汇编程序。二、 实验内容:程序
4、1:在数据段中定义5个数,求这5个数的和,并将结果存放到AX寄存器中(或内存SUM中)。程序2:从键盘接受任意字符,若是小写则转换为大写输出,否则原样输出。 三、 程序清单:DATAS SEGMENT BUF DB 3 , 4, 5, 6, 7 SUM DB 2 DUP(?)DATAS ENDSCODES SEGMENT ASSUME DS:DATAS, CS:CODESSTART: MOV AX, DATAS MOV DS, AX ; MOV SI, 0 MOV CX, 5 MOV AX, 0 CLCAGAIN: ADD AL, BUFSI ADC AH, 0 INC SI LOOP AGA
5、IN ; MOV SUM ,AX MOV AX, 4C00H ; INT 21H CODES ENDS END START;- ASSUME CS: NOP MOV AH,01H INT 21H ; 从键盘接收任意字符放在ALPRINT: MOV DL,AL MOV AH,02H INT 21H ; 将DL中ASCII码输出至屏幕 JMP STARTCODES ENDS END START四、 实验要求:1、 利用实验箱开发软件调试程序。 编辑(EDIT)、宏汇编(MASM)、链接(LINK)、调试执行(Debug)2、 分析功能。分析说明例子程序的功能:完成什么功能?执行结果是什么?并对源程
6、序进行标注以及画出源程序流程框图。3、 调试执行。 (具体可参看“Debug命令介绍”文件)利用DEBUG调试命令进行调试,要求用到:U(反汇编),R(显示寄存器的内容),R(修改寄存器的内容),D(显示内存单元),E(修改内存单元)命令。T(单步执行),G(设断点执行)和G(连须执行)。记录下每执行一条T命令 后的运行结果,写在实验报告“调试步骤及结果分析”中。4、 上级操作要熟练。五、 思考:1、 软件调试“四部曲“是什么?2、 执行程序有哪三种方法?3、 该程序完成什么功能?如何察看原始数据?如何显示最终结果?4、 MOV AX ,DATAS和MOV DS,AX指令执行完后,在DS里送了
7、个什么东西?具体值是多少?5、 最后两条指令MOV AX,4C00H和INT 21H的功能是什么?6、 如何看内存结果单元?六、 特别注意:1、 保存文件:A、 文件 新建在右边的工作区里输入编辑源程序。比如,先输入数据段。B、 文件 另存为 在D盘建立目录test 在文件名框输入test1.asm 回车。(不要用汉字,要用西文字母)C、 继续输入编辑源程序。第B步特别重要。比如编辑、宏汇编、链接都做了,那么EXE文件就应该生成了。进入Debug后,一反汇编,却不是你的程序。就是这个原因。因为开发工具有记忆功能。看一看左边的项目栏,就知道原来还是别人的项目。2、 工具栏图标:工具栏没有调试用的
8、五个图标,怎么办?查看 工具栏 调试工具 这样就可以了。3、 评价依据:A、 上课前点名+下课前签到。B、 老师来检查你的操作运行:U+R+R+D+E+T+GC、 回答三个问题。实验二 分支程序设计掌握分支程序设计的方法。程序1:符号函数SGN(X)的实现。从键盘输入一个数字(0-9),并在屏幕显示它。如非数字,则显示字母E。 DATAS SEGMENT XVAR DW 3A2BH SGN DW ? DATAS ENDS CODES SEGMENT ASSUME CS:CODES, DS:DATAS START: MOV DS, AX MOV AX, XVAR CMP AX, 0 ; JGE
9、NEXT1 MINUS: MOV AX, 0FFFFH ; JMP DONE NEXT1: JG NEXT2 ZERO: MOV AX, 0 ; NEXT2: MOV AX,1 ;- DONE: MOV SGN, AX MOV AX,4C00H INT 21H END START 给变量X一个负数、0或正数,看运算结果。;-4、 利用实验箱连机软件调试程序。5、 对源程序进行标注,并画出流程图。6、 利用DEBUG调试方法进行调试,要求用到,U(反汇编),T(单步),G(断点执行),G(连须执行), D(显示内存单元),E(修改内存单元)命令,R(显示寄存器的内容)。记录下每执行一条T命令后的
10、运行结果,写在实验报告“调试步骤及结果分析”中。7、 用Turbo Debugger界面,进行程序的调试。8、 编写程序2的代码,并调试出结果。五、思考:1、 XVAR是多少位数?2、 MOV AX, XVAR指令中的源操作数和目的操作数分别是什么寻址方式?可以到Debug中找到这条指令,并分析之。3、 本程序里有几个条件转移指令?实现了几个分支?4、 每个分支后为什么必须有一条无条件转移指令?5、 如何察看原始数据?如何显示计算结果?6、 根据数据段具体数据,从CMP AX, 0 指令开始,指出往下执行哪五条指令?实验三 循环程序设计掌握循环程序设计的方法。在数据段以NUMBER为首地址,存
11、放有10个无符号数,求其最大数放到MAX单元中。数据段的十个数:01H,11H,22H,33H,44H,55H,66H,77H,88H,99H两个多字节二进制数分别存放在数据段NUMB1和NUMB2为首地址的存储单元中。求其和,相加的结果存放在以SUM为首址的单元中。 (教材P )NUMBER DB 01H,11H,22H,33H,44H,55H,66H,77H,88H,99H MAX DB ? ASSUME CS:CODES,DS: MOV AX, DATAS MOV DS, AX ; LEA SI, NUMBER LEA DI, MAX MOV CX, 10- MOV AL, SI INC
12、 SI DEC CX CMP AL,SI JA NEXT MOV AL,SINEXT: INC SI LOOP AGAINRESULT: NOP MOV DI, AL ;存结果 MOV DL, AL ADD DL, 30H MOV AH, 02H INT 21H ; MOV AX, 4C00H ; INT 21H CODES ENDS END START并对源程序进行标注。求出结果,并记录。4、 程序调试通过后,进行变化。1、 循环程序的3+1结构是什么?2、 初始化都做哪些工作?3、 改成求无符号数最小值,如何实现?结果是多少?改成求带符号数最大值、最小值呢?4、初始化指令段能够被执行几次?
13、善后存结果段呢?5、程序2有三组数据,用那几个寄存器做数据指针?实验四 基本IO口扩展实验一 实验目的了解TTL芯片扩展简单I/O口的方法,掌握数据输入输出程序编制的方法。二 实验内容说明74LS244是一种三态输出的8总线缓冲驱动器,无锁存功能,当G为低电平时,Ai信号传送到Yi,当为高电平时,Yi处于禁止高阻状态。74LS273是一种8D触发器,当CLR为高电平且CLK端电平正跳变时,D0D7端数据被锁存到8D触发器中。本实验利用74LS244作为输入口,读取开关状态,并将此状态通过74LS273驱动发光二极管显示出来。三 实验原理图四 实验步骤 做硬件实验特别注意:不允许带电插拔! 带电
14、插线或者拔线会造成烧芯片、烧板子的严重后果。1、 必须确保在试验箱没有插扁平电缆和没有插电源线的情况下,才能进行连线。2、 线连好后,首先要关掉主机。并在试验箱没有接电源线的情况下去连接扁平电缆。3、 硬件测试没有通过。仍然是先关掉主机,再关掉试验箱电源。在认真检查无误以后,才能改线。这是实验4和以后的硬件实验必须遵守的三原则。切记!(1) 实验连线: 74LS 244的CSISA总线接口模块的IOY0。Y7Y0开关K8K1。 74LS 273的CSISA总线接口模块的IOY2。Q7Q0发光二极管L8L1。 该模块的WR、RD分别连到ISA总线接口模块的IOWR、IORD。 该模块的数据线(A
15、D0AD7)、地址线(A0A7)分别连到ISA总线接口模块的数据(LAD0LAD7)、地址线(LA0LA7)。(2) 运行程序:IO.ASM(3) 拨动开关,观察发光二极管的变化。 扩展I/O口连线图五 源程序 IO.ASMCODES SEGMENT ASSUME CS: CODES MOV DX, 分配给74LS244的端口地址 IN AL,DX MOV DX, 分配给74LS273的端口地址 OUT DX,AL JMP STARTEXIT: MOV AX,4C00H INT 21H CODES ENDS六 实验要求1. 希望达到开关拨上、对应灯亮,开关拨下、对应灯灭的效果,应怎样修改软件。
16、2. 实验报告中要求对源程序进行注释。七 关于端口地址的获得1、获得的方法方法1:控制面板 系统 硬件 设备管理器 QTH-2008PCI实验仪 双击QTH-2008PCI-C 资源 输入/输出范围 第二组I/O地址。方法2:在开发环境下,WINXP实验程序目录获取PNP设备配置资源第二组I/O地址。(比如C400H)2、说明: 则 IOY0代表的端口地址为=C400H 同时 IOY2代表的端口地址为=C440H。其余类推。例:第二组 输入/输出范围 为 C400C4FF,意味IOY0的地址从0C400H开始,对应0C400H0C41FH。以此类推:IOY2的地址从0C440H开始,对应0C440H0C45FH。3、硬件测试: 硬件连接好了以后,可以利用开发软件自带的程序测试硬件连好没有。方法见下图。4、自己软件: 一旦硬件测试没有通过,立刻想起硬件实验三原则。 若硬件测试通过了,使用自己编写的软件继续调试。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1