⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pci16.inc

📁 MenuetOS是一个用汇编开发的32/64位PC操作系统
💻 INC
字号:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;                                                           ;;
;;  PCI16.INC                                                ;;
;;                                                           ;;
;;  16 bit PCI driver code                                   ;;
;;  Version 0.2  December 21st, 2002                         ;;
;;  Author: Victor Prodan, victorprodan@yahoo.com            ;;
;;                                                           ;;
;;  See file COPYING for details                             ;;
;;                                                           ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

init_pci_16:

    pushad

    xor ax,ax
    mov es,ax
    mov byte [es:0x9020],1 ;default mechanism:1
    mov ax,0xb101
    int 0x1a
    or ah,ah
    jnz pci16skip

    mov [es:0x9021],cl ;last PCI bus in system
    mov [es:0x9022],bx
    mov [es:0x9024],edi

; we have a PCI BIOS, so check which configuration mechanism(s)
; it supports
; AL = PCI hardware characteristics (bit0 => mechanism1, bit1 => mechanism2)

    test al,1
    jnz pci16skip
    test al,2
    jz pci16skip
    mov byte [es:0x9020],2 ; if (al&3)==2 => mechanism 2

pci16skip:

    mov ax,0x1000
    mov es,ax

    popad

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -