亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? i8255x.inc

?? MenuetOS是一個(gè)用匯編開(kāi)發(fā)的32/64位PC操作系統(tǒng)
?? INC
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;                                                                 ;;
;;  I8255X.INC                                                     ;;
;;                                                                 ;;
;;  Ethernet driver for Menuet OS                                  ;;
;;                                                                 ;;
;;  Version 0.3  11 August 2003                                    ;;
;;                                                                 ;;
;;  This driver is based on the eepro100 driver from               ;;
;;  the etherboot 5.0.6 project. The copyright statement is        ;;
;;                                                                 ;;
;;          GNU GENERAL PUBLIC LICENSE                             ;;
;;             Version 2, June 1991                                ;;
;;                                                                 ;;
;;  remaining parts Copyright 2002 Mike Hibbett,                   ;;
;;   mikeh@oceanfree.net                                           ;;
;;                                                                 ;;
;;  See file COPYING for details                                   ;;
;;                                                                 ;;
;;                                                                 ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

   
;********************************************************************
;   Interface
;      I8255x_reset
;      I8255x_probe
;      I8255x_poll
;      I8255x_transmit
;
;      These functions are referenced in ethernet.inc
;
;********************************************************************


rxfd_status             equ  eth_data_start
rxfd_command            equ  eth_data_start + 2
rxfd_link               equ  eth_data_start + 4
rxfd_rx_buf_addr        equ  eth_data_start + 8
rxfd_count              equ  eth_data_start + 12
rxfd_size               equ  eth_data_start + 14
rxfd_packet             equ  eth_data_start + 16



   
eeprom_data:  times 16  dd 0  

align 4

lstats:
tx_good_frames: dd 0
tx_coll16_errs:  dd 0
tx_late_colls: dd 0
tx_underruns: dd 0
tx_lost_carrier: dd 0
tx_deferred: dd 0
tx_one_colls: dd 0
tx_multi_colls: dd 0
tx_total_colls: dd 0
rx_good_frames: dd 0
rx_crc_errs: dd 0
rx_align_errs: dd 0
rx_resource_errs: dd 0
rx_overrun_errs: dd 0
rx_colls_errs: dd 0
rx_runt_errs: dd 0
done_marker: dd 0

align 4

confcmd:
confcmd_status:         dw    0
confcmd_command:        dw    0
confcmd_link:           dd    0
confcmd_data:           db    22, 0x08, 0, 0, 0, 0x80, 0x32, 0x03, 1
                        db    0, 0x2e, 0, 0x60, 0, 0xf2, 0x48, 0, 0x40, 0xf2 
                        db    0x80, 0x3f, 0x05

align 4

txfd:
txfd_status:            dw   0
txfd_command:           dw   0
txfd_link:              dd   0
txfd_tx_desc_addr:      dd   0
txfd_count:             dd   0
txfd_tx_buf_addr0:      dd   0
txfd_tx_buf_size0:      dd   0
txfd_tx_buf_addr1:      dd   0
txfd_tx_buf_size1:      dd   0

align 4

hdr:
hdr_dst_addr:           times 6 db 0
hdr_src_addr:           times 6 db 0
hdr_type:               dw   0

   
   
;***************************************************************************
;   Function
;      wait_for_cmd_done
;
;   Description
;       waits for the hardware to complete a command
;       port address in edx
;                          
;       al destroyed 
;***************************************************************************
wait_for_cmd_done:
   in       al, dx
   cmp      al, 0
   jne      wait_for_cmd_done
   ret
   


;***************************************************************************
;   Function
;      mdio_read
;
;   Description
;       This probably reads a register in the "physical media interface chip"
;         Phy_id in ebx
;         location in ecx
;
;       Data returned in eax                 
;       
;***************************************************************************
mdio_read:
   mov      edx, [io_addr]
   add      edx, 16         ; SCBCtrlMDI
   
   mov      eax, 0x08000000
   shl      ecx, 16
   or       eax, ecx
   shl      ebx, 21
   or       eax, ebx
   
   out      dx, eax
   
mrlp:
   call     delay_us
   in       eax, dx
   mov      ecx, eax
   and      ecx, 0x10000000
   jz       mrlp
   
   and      eax, 0xffff
   ret



;***************************************************************************
;   Function
;      mdio_write
;
;   Description
;       This probably writes a register in the "physical media interface chip"
;         Phy_id in ebx
;         location in ecx
;         data in edx
;       Data returned in eax                 
;       
;***************************************************************************
mdio_write:
   mov      eax, 0x04000000
   shl      ecx, 16
   or       eax, ecx
   shl      ebx, 21
   or       eax, ebx
   or       eax, edx

   mov      edx, [io_addr]
   add      edx, 16         ; SCBCtrlMDI
   out      dx, eax
   
mwlp:
   call     delay_us
   in       eax, dx
   mov      ecx, eax
   and      ecx, 0x10000000
   jz       mwlp
   
   and      eax, 0xffff
   ret



;/***********************************************************************/
;/*                       I82557 related defines                        */
;/***********************************************************************/

; Serial EEPROM section.
;   A "bit" grungy, but we work our way through bit-by-bit :->. 
;  EEPROM_Ctrl bits. 
EE_SHIFT_CLK    equ   0x01    ; EEPROM shift clock. 
EE_CS           equ   0x02    ; EEPROM chip select. 
EE_DATA_WRITE   equ   0x04    ; EEPROM chip data in. 
EE_DATA_READ    equ   0x08    ; EEPROM chip data out. 
EE_WRITE_0      equ   0x4802
EE_WRITE_1      equ   0x4806
EE_ENB          equ   0x4802


; The EEPROM commands include the alway-set leading bit. 
EE_READ_CMD     equ   6

; The SCB accepts the following controls for the Tx and Rx units: 
CU_START       equ   0x0010
CU_RESUME      equ   0x0020
CU_STATSADDR   equ   0x0040
CU_SHOWSTATS   equ   0x0050   ; Dump statistics counters. 
CU_CMD_BASE    equ   0x0060   ; Base address to add to add CU commands. 
CU_DUMPSTATS   equ   0x0070   ; Dump then reset stats counters. 

RX_START       equ   0x0001
RX_RESUME      equ   0x0002
RX_ABORT       equ   0x0004
RX_ADDR_LOAD   equ   0x0006
RX_RESUMENR    equ   0x0007
INT_MASK       equ   0x0100
DRVR_INT       equ   0x0200   ; Driver generated interrupt.


;***************************************************************************
;   Function
;      do_eeprom_cmd
;
;   Description
;       writes a cmd to the ethernet cards eeprom, by bit bashing
;       cmd in ebx
;       cmd length in ecx
;       return in eax
;***************************************************************************
do_eeprom_cmd:
   mov      edx, [io_addr]    ; We only require the value in dx
   add      dx, 14            ; the value SCBeeprom
   
   mov      ax, EE_ENB
   out      dx, ax
   call     delay_us

   mov      ax, 0x4803        ; EE_ENB | EE_SHIFT_CLK    
   out      dx, ax
   call     delay_us

    ; dx holds ee_addr
    ; ecx holds count
    ; eax holds cmd
   xor      edi, edi          ; this will be the receive data

dec_001:
   mov      esi, 1

   dec      ecx
   shl      esi, cl
   inc      ecx   
   and      esi, ebx
   mov      eax, EE_WRITE_0   ; I am assuming this doesnt affect the flags..
   cmp      esi,0
   jz       dec_002
   mov      eax, EE_WRITE_1

dec_002:
   out      dx, ax
   call     delay_us
   
   or       ax, EE_SHIFT_CLK
   out      dx, ax
   call     delay_us
   
   shl      edi,1
   
   in       ax, dx
   and      ax, EE_DATA_READ
   cmp      ax,0
   jz       dec_003
   inc      edi
   
dec_003:
   loop     dec_001   
   
   mov      ax, EE_ENB
   out      dx, ax
   call     delay_us

   mov      ax, 0x4800
   out      dx, ax
   call     delay_us

   mov      eax, edi
   
   ret
   
   
   
;***************************************************************************
;   Function
;      I8255x_reset
;   Description
;      Place the chip (ie, the ethernet card) into a virgin state
;      No inputs
;      All registers destroyed
;
;***************************************************************************
I8255x_reset:
   ret
   
   
   
;***************************************************************************
;   Function
;      I8255x_probe
;   Description
;      Searches for an ethernet card, enables it and clears the rx buffer
;      If a card was found, it enables the ethernet -> TCPIP link
;
;***************************************************************************
I8255x_probe:
   mov      eax, [io_addr]

   mov      ebx, [pci_bus]
   mov      ecx, [pci_dev]
   mov      edx, 0x04      ; PCI_COMMAND
   call     pcibios_read_config_word
   
   or       ax, 0x05
   mov      ebx, [pci_bus]
   mov      ecx, [pci_dev]
   mov      edx, 0x04      ; PCI_COMMAND
   call     pcibios_write_config_word

   mov      ebx, 0x6000000
   mov      ecx, 27
   call     do_eeprom_cmd
   and      eax, 0xffe0000
   cmp      eax, 0xffe0000
   je       bige
                   
   mov      ebx, 0x1800000
   mov      ecx, 0x40
   jmp      doread
   
bige:
   mov      ebx, 0x6000000
   mov      ecx, 0x100
   
doread:
   ; do-eeprom-cmd will destroy all registers
   ; we have eesize in ecx
   ; read_cmd in ebx
   
   ; Ignore full eeprom - just load the mac address
   mov      ecx, 0
   
drlp:   
   push     ecx      ; save count
   push     ebx
   mov      eax, ecx
   shl      eax, 16
   or       ebx, eax
   mov      ecx, 27
   call     do_eeprom_cmd

   pop      ebx
   pop      ecx

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产不卡视频一区| 欧美综合视频在线观看| 亚洲精品亚洲人成人网| 欧美一区二区成人6969| av在线这里只有精品| 青青青伊人色综合久久| 中文字幕一区免费在线观看| 日韩欧美在线123| 91猫先生在线| 国产一区二区三区精品欧美日韩一区二区三区| 中文字幕在线不卡| 久久久精品免费网站| 欧美亚洲综合一区| 成人动漫一区二区| 国产综合色视频| 丝袜美腿亚洲一区二区图片| 亚洲欧洲无码一区二区三区| 久久久久99精品一区| 67194成人在线观看| 日本乱人伦一区| 成人av免费观看| 韩国成人精品a∨在线观看| 婷婷久久综合九色综合绿巨人| 亚洲国产成人午夜在线一区| 精品国产乱码久久久久久浪潮| 在线观看视频欧美| www.成人网.com| 成人性生交大片免费看视频在线 | 欧美精品一区二区三区久久久 | 91美女精品福利| 成人在线综合网站| 国产精品88888| 蓝色福利精品导航| 蜜桃视频在线观看一区二区| 午夜精品久久久久久久99水蜜桃| 亚洲色欲色欲www在线观看| 欧美激情一区在线| 国产精品视频免费看| 国产日韩视频一区二区三区| 精品国产乱码久久久久久久久| 在线播放一区二区三区| 欧美日韩国产成人在线免费| 精品污污网站免费看| 欧美亚洲综合在线| 欧美四级电影网| 欧美日本韩国一区二区三区视频| 欧美三级视频在线| 欧美日韩久久久久久| 欧美日韩精品免费| 欧美一级夜夜爽| 精品久久久久久久久久久久久久久 | 亚洲激情成人在线| 亚洲综合999| 午夜精品国产更新| 免费在线视频一区| 国内偷窥港台综合视频在线播放| 另类欧美日韩国产在线| 国产在线一区二区| 成人毛片在线观看| 91浏览器入口在线观看| 欧美日韩国产影片| 日韩女优视频免费观看| 国产亚洲污的网站| 国产精品每日更新在线播放网址 | 在线亚洲免费视频| 91精品麻豆日日躁夜夜躁| 日韩欧美高清dvd碟片| 久久久一区二区三区捆绑**| 国产精品国产三级国产有无不卡 | 午夜av区久久| 五月婷婷激情综合| 极品少妇一区二区三区精品视频| 国产精品系列在线播放| 99久久精品一区| 欧美日韩精品欧美日韩精品| 日韩一区二区电影网| 欧美国产精品中文字幕| 亚洲在线观看免费| 久久精品av麻豆的观看方式| 成人一区二区三区视频在线观看| 色综合中文字幕国产| 91精品国产色综合久久ai换脸| 精品国产一区二区精华| 亚洲欧美日韩电影| 精品亚洲aⅴ乱码一区二区三区| 成人免费观看男女羞羞视频| 欧美三级韩国三级日本三斤| 久久综合色之久久综合| 亚洲在线成人精品| 国产大陆a不卡| 欧美卡1卡2卡| 国产精品短视频| 日韩经典一区二区| 波多野结衣亚洲| 欧美狂野另类xxxxoooo| 国产精品视频麻豆| 青青青爽久久午夜综合久久午夜| 成人av电影在线播放| 欧美一区二区三区视频免费播放| 国产精品久久久久一区二区三区| 免费欧美日韩国产三级电影| 99re在线视频这里只有精品| 精品久久久久久久一区二区蜜臀| 一区二区成人在线视频| 风流少妇一区二区| 日韩三级中文字幕| 亚洲国产视频一区| 99综合影院在线| www久久精品| 午夜激情久久久| 色综合一区二区| 国产三级欧美三级日产三级99| 丝袜亚洲另类丝袜在线| 91久久线看在观草草青青 | 亚洲线精品一区二区三区| 国产激情一区二区三区| 91精品国产综合久久久久久久久久| 亚洲天堂网中文字| 国产乱码字幕精品高清av | 色婷婷精品久久二区二区蜜臀av| 久久久久久亚洲综合影院红桃| 日韩制服丝袜av| 欧美日韩三级一区| 亚洲精品欧美激情| 91在线无精精品入口| 欧美国产乱子伦| 国产91精品久久久久久久网曝门| 精品久久人人做人人爱| 美日韩一区二区| 日韩午夜精品电影| 石原莉奈在线亚洲三区| 欧美三级蜜桃2在线观看| 樱花草国产18久久久久| 色婷婷久久综合| 亚洲毛片av在线| 色8久久精品久久久久久蜜| 亚洲欧洲制服丝袜| 色婷婷精品大视频在线蜜桃视频| 国产精品国产馆在线真实露脸 | 色综合一区二区三区| 国产精品国产馆在线真实露脸| 丁香激情综合国产| 国产欧美综合色| www.日韩av| 一区二区三区四区精品在线视频 | 91福利精品视频| 一级日本不卡的影视| 欧美亚州韩日在线看免费版国语版| 一区二区三区视频在线观看| 欧美中文字幕亚洲一区二区va在线 | 欧美激情在线一区二区三区| 成人综合在线观看| 亚洲日本在线看| 在线精品视频免费播放| 天天综合天天综合色| 日韩一区二区电影网| 国产精品自在欧美一区| 国产精品美女久久久久久久久 | 亚洲高清免费在线| 91精品国产一区二区| 蜜臀精品一区二区三区在线观看| 精品三级在线观看| 成人小视频免费在线观看| 亚洲欧美国产毛片在线| 亚洲欧美国产高清| 欧美日韩视频在线观看一区二区三区 | 精品久久久久久久久久久久久久久| 国产真实乱偷精品视频免| 亚洲国产高清不卡| 欧美丝袜丝nylons| 久草中文综合在线| 中文字幕在线观看不卡| 欧美日韩国产一二三| 国产一区二区三区免费| 亚洲美女屁股眼交3| 日韩一区二区视频| 成人午夜电影久久影院| 亚洲一区二区三区精品在线| 欧美不卡在线视频| 91蜜桃视频在线| 精品一区二区三区香蕉蜜桃| 国产精品福利一区二区| 欧美伦理电影网| 懂色av一区二区三区免费看| 亚洲成人av资源| 国产午夜精品一区二区三区四区| 在线免费观看成人短视频| 韩国v欧美v亚洲v日本v| 亚洲综合在线免费观看| 久久色在线视频| 欧美午夜片在线看| 国产成人小视频| 日韩国产欧美在线播放| 国产精品国产三级国产普通话蜜臀| 欧美久久免费观看| 91免费视频网| 日韩欧美二区三区| 欧美在线|欧美| 国产福利一区在线| 日本中文在线一区|