正在加载图片...
三、实验内容 1.在DOS下编程得到PCI9054的总线号、设备号和功能号,并获得其使用资源的信息 重点从配置空间中获得实验板的基地址和PC19052寄存器的基地址 参考程序如下 STACK SEGMENT PARA STACK DW 128H DUP(O STACK ENDS DATA SEGMENT NOFOUND DB NOT FOUND! ODH, 0AH,'S IO DB ODH, 0AH,'I0 ADDRESS IS: S DATA ENDS CODE SEGMENT ASSUME CS: CODE. SS: STACK. DS: DATA START: MOV AX. DATA MOV DS. AX MOV AH, OBlH MOV AL. 2 MOV CX. 9050H 设备ID MOV DX 10B5H 索引号为0 INT IAH 查找设备 CMP AH, 0 JZ GOT MOV DX. OFFSET NOFOUND MOV AH. 9 INT 21H JMP GOUT GOT 显示 PCI BI0S调用中的B参数 CALL DISP MOV DL, OAH MOV AH. 2 INT 21H MOV DL. ODH INT 21H MOV DI 0 LOOPl: MOV AX. 0B109H BX寄存器保持前面的值,循环读取配置空间 INT 1AH MOV AX. CX 显示配置空间内容 CALL DISP MOV DL MOV AH. 238 三、实验内容 1. 在 DOS 下编程得到 PCI9054 的总线号、设备号和功能号,并获得其使用资源的信息。 重点从配置空间中获得实验板的基地址和 PCI9052 寄存器的基地址。 参考程序如下: STACK SEGMENT PARA STACK DW 128H DUP(0) STACK ENDS DATA SEGMENT NOFOUND DB 'NOT FOUND!', 0DH, 0AH, '$' IO DB 0DH, 0AH, 'IO ADDRESS IS: $' DATA ENDS CODE SEGMENT ASSUME CS:CODE, SS:STACK, DS:DATA START: MOV AX, DATA MOV DS, AX MOV AH, 0B1H MOV AL, 2 MOV CX, 9050H ; 设备 ID MOV DX, 10B5H ; 厂商 ID MOV SI, 0 ; 索引号为 0 INT 1AH ; 查找设备 CMP AH, 0 JZ GOT MOV DX, OFFSET NOFOUND MOV AH, 9 INT 21H JMP GOUT GOT: MOV AX, BX ; 显示 PCI BIOS 调用中的 BX 参数 CALL DISP MOV DL, 0AH MOV AH, 2 INT 21H MOV DL, 0DH INT 21H MOV DI, 0 LOOP1: MOV AX, 0B109H ; BX 寄存器保持前面的值,循环读取配置空间 INT 1AH MOV AX, CX ; 显示配置空间内容 CALL DISP MOV DL, ' ' MOV AH, 2
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有