计算机硬件技术基础实验报告
计算机硬件技术基础实验日志认识集成操作软件DDATA SEGMENT
MSRDB "HELLO,WORLD!$"
LENEQU $- MSR
DDATAENDS
EXDA SEGMENT
MSDDB LEN DUP(?)
EXDA ENDS
MYSTACK SEGMENT STACK
DW 20 DUP(?)
MYSTACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DDATA,ES:EXDA
START:MOV AX,DDATA
MOV DS,AX
MOV AX,EXDA
MOV ES,AX
MOVSI,OFFSET MSR
MOV DI,OFFSET MSD
MOV CX,LEN
MOVBX,0
NEXT: MOV AL,MSR[BX]
MOV ES:MSD[BX],AL
INCBX
LOOP NEXT
PUSH ES
POP DS
MOV DX,OFFSET MSD
MOV AH,9
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
试验运行结果:
5.心得体会
记得自己第一次上这个实验的时候,找了很久没找到这个教室,害我耽搁了好多时间,等我找到教室进来的时候,同学们都已经开始忙着实验了,当时我满头雾水,我都不知道他们到底在干什么,后来经过我虚心的向旁边的同学请教,终于搞懂了一些基本的操作,自己在那里捣腾了半天,最好还是多亏了老师的指点,谢谢老师对我的耐心讲解,我终于在最后完成了这个实验,当时心里非常有成就感,觉得这个挺有趣的,也让自己在以后的实验中更轻松更有激情。
计算机硬件技术基础实验日志
5.心得体会
实验中,由于有了第一次实验作为基础,这次试验感觉还是蛮顺利的,做起来也得心应手,整个实验中,基本上没遇到什么太大的问题,不过也有少许不是很明白的地方请教了同学,也算是圆满完成I/O程序设计相关的任务,对微机编程有进一步的了解,提高自己多相关知识的认识和掌握程度。
计算机硬件技术基础实验日志_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空间(即BASE 0)。所以PCI各控制寄存器的地址定义为:
BASE 0的首地址0B800H + 各控制寄存器的偏移地址,而I/O部分实验使用的是PCI总线扩展卡申请的第三个I/O空间(即BASE 2)。各I/O接口芯片的端口地址定义为: BASE 2的首地址0C000H + 各端口的偏移地址
2)实验说明及处理流程
本实验使用实验装置提供的中断请求信号IRQ,利用KK1的负脉冲作为中断源,每按一次KK1,在中断处理中完成字符“7”的显示。使用实验装置提供的IRQ信号,除了要操作PC机的8259寄存器,还需要操作TD-PIT-PCI总线扩展卡上的控制寄存器“INTCSR”和“IMB4”,才可以实现中断的初始化、清除等。
PCI_BIOS.EXE实验装置获取的系统配置资源,确定控制寄存器INTCSR(偏移38H~ 3BH)和IMB4寄存器(偏移1FH)的端口地址:BASE 0的首地址0B800H + 各控制寄存器的偏移地址及中断号IRQ9。
初始化PCI中断
初始化INTCSR:向INTCSR的端口写入003F1F00H,即0B838H写00H,0B839H写1FH,0B83AH写3FH,0B83BH写00H。
初始化