




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机硬件技术基础课实验日志实验时间:第7周第5-6节指导教师:邹洋学生姓名:姚树秘学号:08490121班级:04308011.实验题目:认识TDDEBUG集成操作软件2.实验目的:a熟悉汇编程序的开发过程。b认识Tddebug集成操作软件。c掌握在Tddebug集成环境中编辑、编译、连接汇编语言程序方法。d掌握INT21H软件中断来调用DOS内部子程序的方法3.实验步骤及说明:a运行Tddebug软件,选择Edit菜单编写实验程序b使用Compile菜单中的Compile和Link对实验程序进行汇编、连接,生成执行文件。c使用Rmrun菜单中的Run运行程序,观察运行结果。d使用Rmrun菜单中的Debug调试程序,查看程序段、数据段、附加段装入内存后的分配情况。单步执行数据传送指令后,观察各寄存器及数据区的内容。过程如下:按F7单步执行,在代码区中有一个三角,表示正在执行的指令。每一条指令的执行一定会使目标寄存器和状态寄存器发生变化,从相关窗口看结果。检查内存数据区的内容,关键是找出用户程序的数据段和附加段:方法1:在CPU窗口按Tab键使内存数据显示区成为活动区,按Ctrl+G键,输入:“DS或ES寄存器的值:偏移地址”,即可显示用户指定的数据区方法2:选择菜单View|Dump,弹出内存数据显示窗口。3)查看执行结果:按Alt+F5,切换到用户窗口。e更改数据区中的数据,考察、调试程序的正确性。4.实验源代码和运行结果通过上机实验我熟悉了TDDEBUG软件的一些操作和命令,并成功运行了示例程序,代码和结果如下:DDATASEGMENTMSR DB"HELLO,WORLD!$"LEN EQU$-MSRDDATA ENDSEXDASEGMENTMSD DBLENDUP(?)EXDA ENDSMYSTACKSEGMENTSTACKDW20DUP(?)MYSTACK ENDSCODESEGMENTASSUMECS:CODE,DS:DDATA,ES:EXDASTART: MOVAX,DDATAMOVDS,AX MOV AX,EXDAMOVES,AX MOV SI,OFFSETMSR MOV DI,OFFSETMSD MOV CX,LEN MOV BX,0NEXT:MOVAL,MSR[BX] MOV ES:MSD[BX],AL INC BX LOOP NEXT PUSH ESPOPDSMOV DX,OFFSETMSD MOV AH,9INT21HMOV AH,4CHINT21HCODE ENDSENDSTART试验运行结果:5.心得体会记得自己第一次上这个实验的时候,找了很久没找到这个教室,害我耽搁了好多时间,等我找到教室进来的时候,同学们都已经开始忙着实验了,当时我满头雾水,我都不知道他们到底在干什么,后来经过我虚心的向旁边的同学请教,终于搞懂了一些基本的操作,自己在那里捣腾了半天,最好还是多亏了老师的指点,谢谢老师对我的耐心讲解,我终于在最后完成了这个实验,当时心里非常有成就感,觉得这个挺有趣的,也让自己在以后的实验中更轻松更有激情。计算机硬件技术基础课实验日志实验时间:第8周第5-6节指导教师:邹洋学生姓名:姚树秘学号:08490121班级:0430801实验题目:I/O程序设计实验目的:a理解软中断的调用方法及中断过程。b掌握INT21H软件中断来调用DOS系统I/O子程序的方法。c掌握将存储在内存单元中的数据在屏幕上显示的方法。d掌握从键盘输入信息到内存的方法。3.实验步骤及相关介绍:a将指定数据区中一个字节的数据以十六进制数形式显示在屏幕上。设计思路:首先将该数以十六进制数形式分解,然后将每一位分别转换为ASCII码送屏幕显示。其中0H~9H之间的数加30H,即可得0H~9H的ASCII码,而AH~FH的ASCII码,则需再加7H。参考程序流程如图2-1所示。b编程由键盘输入任意一个字符,将该字符的ASCII码值显示在屏幕上。c从键盘输入两个1位十进制数,计算二者之和,并将结果显示在屏幕上。d编程由键盘输入任意一位数,将该数以二进制数形式显示在屏幕上,例:5=00000101B流程图如下:图2-1一个字节数以十六进制数形式显示处理流程图2-1一个字节数以十六进制数形式显示处理流程4.实验源代码和运行结果a.十进制转换成十六进制DATA SEGMENT USE16MES DB 'Showaashex:',0AH,0DH,'$'SD DB26DATA ENDSCODE SEGMENT USE16 ASSUME CS:CODE,DS:DATASTART: MOVAX,DATA MOV DS,AX MOV DX,OFFSETMES;显示提示信息 MOV AH,09H INT 21H MOV SI,OFFSETSD MOV AL,DS:[SI] AND AL,0F0H ;取高4位 SHR AL,4 CMP AL,0AH ;是否是A以上的数 JB C2 ADD AL,07H C2: ADD AL,30H MOV DL,AL ;显示字符 MOV AH,02H INT 21H MOV AL,DS:[SI] AND AL,0FH ;取低4位 CMP AL,0AH JB C3 ADD AL,07HC3: ADD AL,30H MOV DL,AL ;显示字符 MOV AH,02H INT 21H MOV AX,4C00H ;返回DOS INT 21HCODE ENDS END START试验运行结果:十进制26转换成十六进制的显示结果如下5.心得体会 实验中,由于有了第一次实验作为基础,这次试验感觉还是蛮顺利的,做起来也得心应手,整个实验中,基本上没遇到什么太大的问题,不过也有少许不是很明白的地方请教了同学,也算是圆满完成I/O程序设计相关的任务,对微机编程有进一步的了解,提高自己多相关知识的认识和掌握程度。计算机硬件技术基础课实验日志实验时间:第10周第5-6节指导教师:邹洋学生姓名:姚树秘学号:08490121班级:04308011.实验题目:PCI总线中断应用2.实验目的a掌握使用PCI中断的方法。b了解操作PCI设备I/O端口的方法。c进一步掌握8259中断控制器的工作原理、编程方法以及PC机如何通过8259A实现对外部可屏蔽硬件中断源的管理。d进一步掌握中断服务程序的设计方法。3.实验步骤及相关介绍:编写一实验程序,利用实验装置提供的中断源,完成每按动一次脉冲开关,产生一次中断,向显示器输出字符“7”。修改示例程序,控制中断响应次数为10次,即当第11次以后按动脉冲开关,屏幕上不再显示“7”。实验原理如下: 1)TD-PIT-B实验系统编程信息简要说明(1).本实验的接口电路是在PD-PIT-B实验装置上搭接完成,而PC机作为主机控制该实验装置。二者之间通过PCI总线扩展卡及转接逻辑在PD-PIT-B实验装置上提供了一个仿真ISA的总线接口,用户可以基于该接口对常用接口芯片进行应用编程。TD-PIT-B实验系统的硬件环境,参见附录。(2).要利用仿真ISA的总线接口资源,扩展接口电路,首先必须掌握实验装置获取的系统配置资源,即PCI总线资源配置的有关内容。执行PCI_BIOS.EXE,获取实验用PCI总线扩展卡分配的地址空间及中断请求线。假设执行PCI_BIOS.EXE后屏幕显示:从以上获取的信息可知道,本实验用的PCI总线扩展卡申请了:4个I/O空间(最后一位为1来表示),其首地址分别是:0B800H,0BC00H,0C000H,0C400H。一个存储器空间(最后一位为0来表示),其首地址是:5000000H。一个中断请求IRQ9(3).确定TD-PIT-B实验装置中各接口电路所使用的端口地址本系统中PCI配置空间的首地址是PCI总线扩展卡申请的第一个I/O空间(即BASE0)。所以PCI各控制寄存器的地址定义为:BASE0的首地址0B800H+各控制寄存器的偏移地址,而I/O部分实验使用的是PCI总线扩展卡申请的第三个I/O空间(即BASE2)。各I/O接口芯片的端口地址定义为:BASE2的首地址0C000H+各端口的偏移地址2)实验说明及处理流程本实验使用实验装置提供的中断请求信号IRQ,利用KK1的负脉冲作为中断源,每按一次KK1,在中断处理中完成字符“7”的显示。使用实验装置提供的IRQ信号,除了要操作PC机的8259寄存器,还需要操作TD-PIT-PCI总线扩展卡上的控制寄存器“INTCSR”和“IMB4”,才可以实现中断的初始化、清除等。PCI_BIOS.EXE实验装置获取的系统配置资源,确定控制寄存器INTCSR(偏移38H~3BH)和IMB4寄存器(偏移1FH)的端口地址:BASE0的首地址0B800H+各控制寄存器的偏移地址及中断号IRQ9。初始化PCI中断初始化INTCSR:向INTCSR的端口写入003F1F初始化中断向量:在修改中断入口地址时,建议先保存原来的入口地址。查表7-1获得IRQ9对应的中断向量号为71H,中断入口地址即为01C4H,并将该地址保存,替换为用户自己的中断服务程序入口地址。设置PC机8259中断屏蔽寄存器,对应位为0,允许中断。21H中设置0~7号屏蔽位,A1H中设置8~15号屏蔽位。同样保存原先的屏蔽位。IRQ9号中断须将A1H中的位1置0。清除实验用中断的中断源清PCI板卡的中断标志:对IMB4寄存器的第3字节(IMB_BYTE3)做一读操作,端口地址为0B81FH,然后向INTCSR第2字节(0B83AH)写入3FH。清PC机8259中断标志:设置8259的OCW2,复位中断标志。(IRQ9中断向A0H写入61H,向20H写入62H。)退出程序返回DOS时恢复系统的初始化的设置:首先将保存的屏蔽命令字恢复到屏蔽寄存器中,中断服务程序入口的段地址和偏移地址恢复到中断向量表中,然后返回DOS。流程图如下4.实验源代码和运行结果INTCSR_BYTE0EQU9038HINTCSR_BYTE1EQU9039HINTCSR_BYTE2EQU903AHINTCSR_BYTE3EQU903BHIMB4_BYTE3EQU901FHDATASEGMENTCSBAKDW?IPBAKDW?MKBAKDB?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:CLIMOV AX,DATAMOV DS,AXMOV DX,INTCSR_BYTE0MOV AL,00HOUT DXMOV DX,INTCSR_BYTE1MOV AL,1FHOUT DXMOV DX,INTCSR_BYTE2MOV AL,3FHOUT DXMOV DX,INTCSR_BYTE3MOV AL,00HOUT DXMOV AX,0000HMOV ES,AXMOVDI,01C4H;INT73H,01CCH=73HMOV AX,ES:[DI]MOV IPBAK,AX;IPMOV AX,OFFSETMYINTCLDSTOSWMOV AX,ES:[DI];CSMOV CSBAK,AXMOV AX,SEGMYINTSTOSWIN AL,0A1HMOV MKBAKANDAL,0FDHOUT 0A1H,ALSTIA1:NOPCALL BREAKJMP A1MYINT:PUSH DS PUSH AX PUSH DXMOV DX,IMB4_BYTE3IN AL,DXMOV DX,INTCSR_BYTE2MOV AL,3FHOUT DXMOVAL,61HOUT 0A0H,ALMOV AL,62HOUT 20H,ALMOV AH,0EHMOV AL,37HINT 10H POP DX POP AXPOP DSIRETBREAKPROCNEARPUSH DSMOV AH,06HMOV DL,0FFHINT 21HJE RETURNPOP DSCLIMOV AL,MKBAKOUT 0A1H,ALMOV AX,0000HMOV ES,AXMOVDI,01C4HMOV AX,IPBAKCLDSTOSWMOV AX,CSBAKSTOSWMOVDX,INTCSR_BYTE1MOVAL,00HOUTDXSTIMOVAX,4C00HINT21HRETURN:POPDSRETBREAKENDPCODEENDSENDSTART实验运行结果:在程序中点击运行,屏幕上午任何显示,打开试验箱电源,屏幕上显示一个7,然后按KK1按钮,屏幕上又显示一个7,然后没按一次KK1,屏幕上就会显示一个7,关闭电源也会显示一个7。5.心得体会 前几次实验虽然也遇到一些问题,但是感觉还不是很难,不过这个实验对我们的要求也就更高了,除了开始的时候认真听老师讲解一些要修改的地方,和一些修改方法,后面还要求要在DOS系统下调试,怪不得我搞了很久都不知道是怎么回事,还好最后也被我慢慢搞出来了,也算圆满完成任务了,也让自己更有成就感了,学到的东西也更多,更有动力。计算机硬件技术基础课实验日志实验时间:第11周第5-6节指导教师:邹洋学生姓名:姚树秘学号:08490121班级:04308011.实验题目:8254定时/计数器应用2.实验目的:a掌握8254的工作方式及应用编程。b掌握8254的典型应用电路的接法。c学习8254在PC系统中的典型应用方法。3.实验步骤及相关介绍:计数应用实验:编写程序,应用8254的计数功能,用开关模拟计数。使每当按动开关KK1五次后,产生中断,并在屏幕上显示一个字符“M”。实验原理如下: 8254是Intel公司生产的可编程间隔定时器。是8253的改进型,比8253具有更优良的性能。8254具有以下基本功能:(1)有3个独立的16位计数通道;(2)每个计数器可按二进制或十进制(BCD)计数;(3)每个计数器可编程工作在6种不同工作方式;(4)每个计数器允许的最高计数频率为10MNZ(8253为2MHZ);(5)有读回命令(8253没有),可以读出当前计数单元的内容和状态寄存器内容;13-1 13-1图13-1是8254的内部结构框图和管脚图。它是由与CPU的接口、内部控制电路和三个计数器组成。三个独立的计数器,每个计数器的结构完全相同,如图13-2。计数初值寄存器数据总线3个引角:GATEi——门控信号输入端计数初值寄存器CLKi——计数脉冲输入端OUTi——信号输出端16位减1计数器GATEiOUTi16位减1计数器输出锁存器CLKi输出锁存器图13-2计数器结构示意图图13-2计数器结构示意图4.实验源代码和运行结果MY8254_COUNT0EQU9840HMY8254_COUNT1EQU9841HMY8254_COUNT2EQU9842HMY8254_MODEEQU9843HINTCSR_BYTE0EQU9038HINTCSR_BYTE1EQU9039HINTCSR_BYTE2EQU903AHINTCSR_BYTE3EQU903BHIMB4_BYTE3EQU901FHDATASEGMENTCSBAKDW?IPBAKDW?MKBAKDB?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:CLIMOVAX,DATAMOVDS,AXMOVDX,INTCSR_BYTE0MOVAL,00HOUTDXMOVDX,INTCSR_BYTE1MOVAL,1FHOUTDXMOVDX,INTCSR_BYTE2MOVAL,3FHOUTDXMOVDX,INTCSR_BYTE3MOVAL,00HOUTDXMOVAX,0000HMOVES,AXMOVDI,01C4HMOVAX,ES:[DI]MOVIPBAK,AXMOVAX,OFFSETMYINTCLDSTOSWMOVAX,ES:[DI]MOVCSBAK,AXMOVAX,SEGMYINTSTOSWINAL,0A1HMOVMKBAK,ALANDAL,0FDHOUT0A1H,ALSTIMOVDX,MY8254_MODEMOVAL,17HOUTDX,MOVDX,MY8254_COUNT0MOVAL,5OUTDXA1:NOPCALLBREAKJMPA1MYINT:PUSHDSPUSHAXPUSHDXMOVDX,IMB4_BYTE3INAL,DXMOVDX,INTCSR_BYTE2MOVAL,3FH
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- ××中学档案管理规范制度
- 股东权益出资证明书正规版(7篇)
- 实习表现及工作成果认证证明书(5篇)
- 2025年安徽省事业单位招聘考试教师信息技术学科专业知识试卷
- 2025年场(厂)内专用机动车辆维修人员考试试卷(汽车维修行业市场潜力分析与挖掘策略)
- 知识产权转让协议要点报告书
- 2025年电子商务师(中级)职业技能鉴定模拟试题库及答案
- 2025年美容师职业技能鉴定试卷-高级案例分析
- 2025年江苏省事业单位招聘考试综合类专业能力测试试卷(审计类)-审计实务与案例分析
- 2025年无店铺零售服务项目提案报告
- 雨季行车安全培训
- 广西南宁市英语小升初试卷及解答参考(2024-2025学年)
- 2016年北京市中考真题数学试题(解析版)
- 智能客服培训手册
- 个人雇护工签订协议书范本范本
- 山东省潍坊市2024-2025学年高二生物下学期期末考试试题
- 2024年苏教版四年级数学上册全册教案
- 初++中数学设计学校田径运动会比赛场地+课件++人教版七年级数学上册
- 《卫星导航系统》全套教学课件
- 2023-2024学年山东省菏泽市东明县八年级(下)期末数学试卷(含答案)
- 江西省新余市2023-2024学年七年级下学期期末数学试题
评论
0/150
提交评论