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

📄 oemiotbl.as_

📁 <BIOS研发技术剖析>书的源代码,包括完整的BIOS汇编语言源程序.
💻 AS_
📖 第 1 页 / 共 5 页
字号:
        db      009h,     000h          ; CR 9
        db      00Ah,     000h          ; CR A
RegisterInitTableEnd:

REGINITCOUNT = (RegisterInitTableEnd - RegisterInitTableStart) / 2

ENDIF
IF MKF_WIN787IF
        public  REGINITCOUNT
        public  RegisterInitTableStart
        public  RegisterInitTableEnd
RegisterInitTableStart:
;                        Power
;             Register  On Value
;             --------  --------
        db      000h,     0F0h          ; CR 0 
        db      001h,     03Fh          ; CR 1
        db      002h,     000h          ; CR 2
        db      003h,     060h          ; CR 3
        db      004h,     000h          ; CR 4
        db      005h,     008h          ; CR 5
        db      006h,     000h          ; CR 6
        db      007h,     005h          ; CR 7 
        db      008h,     000h          ; CR 8
        db      009h,     000h          ; CR 9
        db      00Ah,     000h          ; CR A
        db      00Dh,     002h          ; CR D
        db      010h,     000h          ; CR 10
        db      011h,     000h          ; CR 11
        db      012h,     000h          ; CR 12
        db      013h,     000h          ; CR 13
        db      014h,     000h          ; CR 14
        db      015h,     000h          ; CR 15
RegisterInitTableEnd:

REGINITCOUNT = (RegisterInitTableEnd - RegisterInitTableStart) / 2

ENDIF
IF MKF_WIN877
        public  REGINITCOUNT
        public  RegisterInitTableStart
        public  RegisterInitTableEnd
RegisterInitTableStart:
;                        Power
;             Register  On Value
;             --------  --------
        db      000h,     000h          ; CR 0
        db      001h,     000h          ; CR 1
        db      002h,     000h          ; CR 2
        db      003h,     060h          ; CR 3
        db      004h,     000h          ; CR 4
        db      005h,     008h          ; CR 5
        db      006h,     000h          ; CR 6
        db      007h,     000h          ; CR 7
        db      008h,     000h          ; CR 8
        db      009h,     000h          ; CR 9
        db      00Ah,     000h          ; CR A
        db      00Dh,     0A3h          ; CR D
        db      010h,     000h          ; CR 10
        db      011h,     000h          ; CR 11
        db      012h,     000h          ; CR 12
        db      013h,     000h          ; CR 13
        db      014h,     000h          ; CR 14
        db      015h,     000h          ; CR 15
        db      016h,     002h          ; CR 16
        db      017h,     000h          ; CR 17
        db      01Eh,     000h          ; CR 1E
        db      020h,     000h          ; CR 20
        db      021h,     000h          ; CR 21
        db      022h,     000h          ; CR 22
        db      023h,     000h          ; CR 23
        db      024h,     000h          ; CR 24
        db      025h,     000h          ; CR 25
;       db      026h,     000h          ; CR 26
;       db      027h,     000h          ; CR 27
;       db      028h,     000h          ; CR 28
;       db      029h,     000h          ; CR 29
RegisterInitTableEnd:

REGINITCOUNT = (RegisterInitTableEnd - RegisterInitTableStart) / 2

ENDIF

IF MKF_WIN977
        public  REGINITCOUNT
        public  RegisterInitTableStart
        public  RegisterInitTableEnd
RegisterInitTableStart:
;                        Power
;             Register  On Value
;             --------  --------
        db      024h,   0A4h            ; make sure KBC/RTC active

        db      007h,   000h            ; disable Floopy controller
        db      030h,   000h            ;

        db      007h,   001h            ; disable Parallel port
        db      030h,   000h            ;

        db      007h,   002h            ; disable serial port A
        db      030h,   000h            ;

        db      007h,   003h            ; disable serial port B
        db      030h,   000h            ;

        db      007h,   006h            ; disable Ir port
        db      030h,   000h            ;
RegisterInitTableEnd:

REGINITCOUNT = (RegisterInitTableEnd - RegisterInitTableStart) / 2
ENDIF

;---------------------------------------;
;              IRQ Routing              ;
;---------------------------------------;

IoIrqRoutingTable:
IF MKF_ALI5113
;       Set IRQ value to 5/7/FF for IRQ5/IRQ7/Not Used

;            ALI5113
;            Pin No.    IRQ     
;           --------  --------  
        db    039h,     007h    ; Pin 39 is IRQ7
        db    094h,     005h    ; Pin 94 is IRQ5
        db    024h,     0FFh    ; Pin 24 is not used
ENDIF
IF MKF_ALI5119
;       Set IRQ value to 5/7 for IRQ5/IRQ7

;            ALI5119
;            Pin No.    IRQ     
;           --------  --------  
        db    039h,     007h    ; Pin 39 is IRQ7
        db    094h,     005h    ; Pin 94 is IRQ5
ENDIF
IF MKF_GM803C
;       GM803C IRQ Pins:        IRQ_A = 01h
;                               IRQ_B = 02h
;                               IRQ_C = 03h
;                               IRQ_D = 04h
;                               IRQ_E = 05h
;                               IRQ_F = 06h
;                               IRQ_H = 08h
;                               None  = 00h

        db      03h, 03h                ;IRQ3 connected to IRQ_C
        db      04h, 04h                ;IRQ4 connected to IRQ_D
        db      05h, 05h                ;IRQ5 connected to IRQ_E
        db      06h, 06h                ;IRQ6 connected to IRQ_F
        db      07h, 08h                ;IRQ7 connected to IRQ_H
        db      08h, 00h                ;No IRQ
ENDIF
IF MKF_SMC665IR
;       Set IRQ value to 5/7 for IRQ5/IRQ7

;           SMC665IR
;            Pin No.    IRQ     
;           --------  --------  
        db    039h,     007h    ; Pin 39 is IRQ7
        db    094h,     005h    ; Pin 94 is IRQ5
ENDIF
IF MKF_SMC669
;       SMC669 IRQ Pins:        IRQ_A = 01h
;                               IRQ_B = 02h
;                               IRQ_C = 03h
;                               IRQ_D = 04h
;                               IRQ_E = 05h
;                               IRQ_F = 06h
;                               IRQ_G = 07h
;                               IRQ_H = 08h
;                               None  = 00h

;              System    SMC669
;               IRQ       IRQ
;             --------  --------
        db      03h,      03h           ;IRQ3 connected to IRQ_C
        db      04h,      04h           ;IRQ4 connected to IRQ_D
        db      05h,      05h           ;IRQ5 connected to IRQ_E
        db      06h,      06h           ;IRQ6 connected to IRQ_F
        db      07h,      07h           ;IRQ7 connected to IRQ_G
        db      08h,      00h           ;No IRQ
ENDIF
IF MKF_WIN877
;       WIN877 IRQ Pins:        IRQ_A = 01h
;                               IRQ_B = 02h
;                               IRQ_C = 03h
;                               IRQ_D = 04h
;                               IRQ_E = 05h
;                               IRQ_F = 06h
;                               IRQ_G = 07h
;                               IRQ_H = 08h
;                               None  = 00h

;              System    WIN877
;               IRQ       IRQ
;             --------  --------
        db      03h,      03h           ;IRQ3 connected to IRQ_C
        db      04h,      04h           ;IRQ4 connected to IRQ_D
        db      05h,      01h           ;IRQ5 connected to IRQ_A
        db      06h,      06h           ;IRQ6 connected to IRQ_F
        db      07h,      05h           ;IRQ7 connected to IRQ_E
        db      08h,      00h           ;No IRQ
ENDIF


;---------------------------------------;
;              DMA Routing              ;
;---------------------------------------;

IoDmaRoutingTable:
IF MKF_ALI5113
;       Set DRQ value to 1/3 for DRQ1/DRQ3

;            ALI5113
;            Pin No.    DRQ     
;           --------  --------  
        db    098h,     001h    ; Pin 98 is DRQ1
        db    023h,     003h    ; Pin 23 is DRQ3
ENDIF
IF MKF_NAT306
;       NAT306 PDRQ Pins:       PDRQ0 = 00h
;                               PDRQ1 = 01h
;                               None  = FFh

;              System   Nat306
;               DRQ     DRQ pin
;             --------  --------
        db      00h,      0ffh          ;System DRQ0 not connected to any Nat306 PDRQ pin
        db      01h,      000h          ;System DRQ1 connected to Nat306 PDRQ0 pin
        db      02h,      0ffh          ;System DRQ2 not connected to any Nat306 PDRQ pin
        db      03h,      001h          ;System DRQ3 connected to Nat306 PDRQ1 pin
        db      04h                     ;No DMA, dummy value
ENDIF
IF MKF_NAT336
;       NAT336 DRQ Pins:        DRQ0 = 01h
;                               DRQ1 = 02h
;                               DRQ2 = 03h
;                               None = 00h

;             System    Nat336
;               DRQ     DRQ pin
;             ------    -------
        db      00h,      01h           ;System DRQ0 connected to Nat336 DRQ0
        db      01h,      02h           ;System DRQ1 connected to Nat336 DRQ1
        db      02h,      03h           ;System DRQ2 connected to Nat336 DRQ2
        db      03h,      00h           ;System DRQ3 not connected to Nat336
        db      04h,      00h           ;No DMA, dummy value
ENDIF
IF MKF_GM803C
;       GM803C DMA Pins:        DMA_A = 01h
;                               DMA_B = 02h
;                               DMA_C = 03h
;                               None  = 00h

        db      00h, 00h                ;DRQ0 not connected
        db      01h, 01h                ;DRQ1 connected to DRQ_A
        db      02h, 02h                ;DRQ2 connected to DRQ_B
        db      03h, 03h                ;DRQ3 connected to DRQ_C
        db      04h, 00h                ;No DRQ
ENDIF
IF MKF_SMC669
;       SMC669 DMA Pins:        DMA_A = 01h
;                               DMA_B = 02h
;                               DMA_C = 03h
;                               None  = 00h

;             System    SMC669
;               DRQ     DRQ pin
;             ------    -------
        db      00h,      00h           ;DRQ0 not connected
        db      01h,      01h           ;DRQ1 connected to DRQ_A
        db      02h,      02h           ;DRQ2 connected to DRQ_B
        db      03h,      03h           ;DRQ3 connected to DRQ_C
        db      04h,      00h           ;No DRQ
ENDIF
IF MKF_SMC68X
;       SMC68X DMA Pins:        DMA_A = 00h
;                               DMA_B = 01h
;                               DMA_C = 02h
;                               None  = 04h

;             System    SMC68X
;               DRQ     DMA pin
;             ------    -------
        db      00h,      00h           ;System DRQ0 connected to SMC68X DMA_A
        db      01h,      01h           ;System DRQ1 connected to SMC68X DMA_B
        db      02h,      02h           ;System DRQ2 connected to SMC68X DMA_C
        db      03h,      04h           ;System DRQ3 not connected to SMC68X
        db      04h,      04h           ;No DRQ
ENDIF
IF MKF_WIN877
;       WIN877 DMA Pins:        DMA_A = 01h
;                               DMA_B = 02h
;                               DMA_C = 03h
;                               None  = 00h

;             System    WIN877
;               DRQ     DRQ pin
;             ------    -------
        db      00h,      00h           ;DRQ0 not connected
        db      01h,      01h           ;DRQ1 connected to DRQ_A
        db      02h,      02h           ;DRQ2 connected to DRQ_B
        db      03h,      03h           ;DRQ3 connected to DRQ_C
        db      04h,      00h           ;No DRQ
ENDIF

ENDIF
;*****************************************************************;
;*****************************************************************;
;**                                                             **;
;**      (C)Copyright 1985-1997, American Megatrends, Inc.      **;
;**                                                             **;
;**                     All Rights Reserved.                    **;
;**                                                             **;
;**           6145-F Northbelt Pkwy, Norcross, GA 30071         **;
;**                                                             **;
;**                     Phone (770)-246-8600                    **;
;**                                                             **;
;*****************************************************************;
;*****************************************************************;
_text    ends
         end

⌨️ 快捷键说明

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