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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? nruntime.asm

?? AMI 主板的BIOS源碼。
?? ASM
?? 第 1 頁 / 共 5 頁
字號:
        page    ,132
        title   RUNTIME HOOKS (NO PORTING NEEDED IN GENERAL)
;---------------------------------------------------------------;
; NOTE: Do not destroy EBP,SS,DS,ES,FS,GS unless otherwise specified.
;---------------------------------------------------------------;
;*****************************************************************;
;*****************************************************************;
;**                                                             **;
;**     (C)Copyright 1985-1996, American Megatrends Inc.        **;
;**                                                             **;
;**                     All Rights Reserved.                    **;
;**                                                             **;
;**             6145-F, Northbelt Parkway, Norcross,            **;
;**                                                             **;
;**             Georgia - 30071, USA. Phone-(770)-246-8600.     **;
;**                                                             **;
;*****************************************************************;
;*****************************************************************;
;---------------------------------------;
        extrn   ide_prim_base_addr:word
        extrn   ide_sec_base_addr:word
        extrn   ide_prim_irq    :byte
        extrn   ide_sec_irq     :byte
        extrn   misc_info       :byte
;---------------------------------------;
        extrn   check_cmos_data:near
        extrn   proc_shutdown:near
        extrn   cmos_data_in_x:near
        extrn   cmos_data_out_x:near
        extrn   cmos_data_in:near
        extrn   cmos_data_out:near

        extrn   enable_l1_cache_wt:near
        extrn   enable_l1_cache_wb:near
        extrn   disable_l1_cache:near
        extrn   enable_l2_cache_wt:near
        extrn   enable_l2_cache_wb:near
        extrn   disable_l2_cache:near
        extrn   low_speed:near
        extrn   high_speed:near
;---------------------------------------;
        include mbiosmac.mac
        include mbiosequ.equ
        include cf.equ
        include silent.equ
        include makeflag.equ
        include setupequ.ext
;---------------------------------------;
cgroup  group   _text
_text   segment word    public  'CODE'
        assume  cs:cgroup
.486p
;---------------------------------------;
        public  _NRUNTIMEX_STARTS
_NRUNTIMEX_STARTS       label   byte            ; marks start of module
;-----------------------------------------------------------------------;
;                       SET_SCRATCH_SEGMENT_SETUP                       ;
;-----------------------------------------------------------------------;
;  this routine is called from hot key setup. this routine returns the  ;
;  segment value (of length at least 32k) which can be used as scratch  ;
;  ram during setup.                                                    ;
;  input :                                                              ;
;       ds      0040h                                                   ;
;       stack   available                                               ;
;  output:                                                              ;
;       nc      scratch segment found                                   ;
;               ax  scratch segment                                     ;
;       cy      scratch segment not found                               ;
;  register usage..do not destroy any register except AX                ;
;                                                                       ;
;  SUGGESTED USE:                                                       ;
;  * this routine is supposed to look for any ram which can be used as  ;
;  scratch ram. use of shadow ram is suggested. if shadow is currently  ;
;  enabled then first disable the shadow and then make that segment R/W ;
;  and return the value of segment. the segment will be restored in     ;
;  RESTORE_SCRATCH_SEGMENT_SETUP routine.                               ;
;-----------------------------------------------------------------------;
        public  set_scratch_segment_setup
set_scratch_segment_setup       proc    near
        stc
        ret
set_scratch_segment_setup       endp
;-----------------------------------------------------------------------;
;                       RESTORE_SCRATCH_SEGMENT_SETUP                   ;
;-----------------------------------------------------------------------;
;  this routine is called from hot key setup. this routine restores the ;
;  segment value which is used as scratch ram during setup.             ;
;  input :                                                              ;
;       ax      scratch segment to be restored                          ;
;       stack   available                                               ;
;  output:                                                              ;
;       nc      scratch segment restored                                ;
;       cy      scratch segment not restored                            ;
;  register usage..do not destroy any register except AX                ;
;                                                                       ;
;  SUGGESTED USE:                                                       ;
;  * this routine is supposed to restore the contents of segment which  ;
;  was returned as scratch ram by SET_SCRATCH_SEGMENT_SETUP. if shadow  ;
;  was originally enabled then enable the shadow properly before return.;
;  make sure the shadow ram is write-protected before return.           ;
;-----------------------------------------------------------------------;
        public  restore_scratch_segment_setup
restore_scratch_segment_setup   proc    near
        stc
        ret
restore_scratch_segment_setup   endp
;-----------------------------------------------------------------------;
;                       FORCE_NO_OF_SECTORS                             ;
;-----------------------------------------------------------------------;
; check point           : 91                                            ;
; this routine is called from hard_disk_setup during POST. this routine ;
; will force the number of sectors which can be xferred at a time to a  ;
; working value. this routines is needed because some hard disk does not;
; work with the value it returned from identify drive command.          ;
; input :                                                               ;
;       AL      #of sectors that can be xferred at a time as obtained   ;
;               from identify drive command                             ;
;       SS      0030H                                                   ;
;       DS      0040H                                                   ;
;       ES      0000H                                                   ;
;       stack   available                                               ;
; output:                                                               ;
;       AL      #of sectors that can be xferred at a time               ;
; register usage : can not destroy any register except AL               ;
;-----------------------------------------------------------------------;
        public  force_no_of_sectors
force_no_of_sectors     proc    near
;  if it is > 8, force it to 8..
;;      cmp     al,08h
;;      jbe     setm_04
;;      mov     al,08h
;;setm_04:
        ret
force_no_of_sectors     endp
;-----------------------------------------------------------------------;
;                       PROGRAM_HD_STANDBY                              ;
;-----------------------------------------------------------------------;
; Check point   : 91                                                    ;
; this routine is called from hard_disk_setup during POST. this programs;
; hard disk standby timer value.                                        ;
; input :                                                               ;
;       AL      timer value in unit of 5 sec                            ;
;       SS      0030H                                                   ;
;       DS      0040H                                                   ;
;       ES      0000H                                                   ;
;       stack   available                                               ;
; output:                                                               ;
;       none                                                            ;
; register usage : can destroy any register except EBP, DS, ES          ;
; NOTE :                                                                ;
; The ATA Spec defines the following power down commands that may be    ;
; issued to the hard disk to set its power consumption mode:            ;
;       SET 1   SET 2                                                   ;
;       -----   -----                                                   ;
;        98h     e5h    Check Power Mode - If drive is in, going to, or ;
;                       recovering from standby mode, Sector Count Reg. ;
;                       is returned with 00h.  If drive is in idle mode,;
;                       return ffh in the Sector Count Reg.             ;
;        97h     e3h    Idle - Place drive in idle mode. If Sector Count;
;                       Reg is nonzero, start automatic power down      ;
;                       timer, if applicable.                           ;
;        95h     e1h    Idle Immediate - Drive immediately enters the   ;
;                       idle power state.                               ;
;        96h     e2h    Standby - Place drive in standby mode.  If Sec- ;
;                       tor Reg is nonzero, start automatic power down  ;
;                       timer, if applicable.                           ;
;        94h     e0h    Standby Immediate - Drive immediately enters the;
;                       standby power state.                            ;
;        99h     e6h    Set Sleep Mode - Place drive in sleep mode.     ;
;-----------------------------------------------------------------------;
        public  program_hd_standby
        extrn   set_standby_multiple:near
program_hd_standby      proc    near
        mov     ah,0e3h                 ; idle w/timer command (set 2)
        pusha                           ; Don't know what set_standby_multiple
                                        ; destroys, so saving all regs.
        call    set_standby_multiple
        popa                            ; Restore all regs.
        jnc     short hd_standby_programmend
        mov     ah,097h                 ; idle w/timer command (set 1)
        call    set_standby_multiple
hd_standby_programmend:
        ret
program_hd_standby      endp
;-----------------------------------------------------------------------;
;                       IDE_PRIM_IRQ_EXTRA                              ;
;-----------------------------------------------------------------------;
; This routine is called from hardware interrupt ISR for primary hard   ;
; disk controller. This routine can implement anything extra to be done ;
; in IRQ ISR. For example, for PCI BIOS the routine may have to read the;
; hard disk status register to clear the interrupt.                     ;
; input :                                                               ;
;       DS                      0040H                                   ;
;       CS:IDE_PRIM_BASE_ADDR   I/O base addr of primary controller     ;
; output:                                                               ;
;       none                                                            ;
; register usage : do not destory any register except AX                ;
;-----------------------------------------------------------------------;
        public  ide_prim_irq_extra
ide_prim_irq_extra      proc    near
        push    dx
        mov     dx,cgroup:ide_prim_base_addr; get I/O base address
        add     dx,07h                  ; status register
        in      al,dx
        pop     dx
        ret
ide_prim_irq_extra      endp
;-----------------------------------------------------------------------;
;                       IDE_SEC_IRQ_EXTRA                               ;
;-----------------------------------------------------------------------;
; This routine is called from hardware interrupt ISR for secondary hard ;
; disk controller. This routine can implement anything extra to be done ;
; in IRQ ISR. For example, for PCI BIOS the routine may have to read the;
; hard disk status register to clear the interrupt.                     ;
; input :                                                               ;
;       DS                      0040H                                   ;
;       CS:IDE_SEC_BASE_ADDR    I/O base addr of secondary controller   ;
; output:                                                               ;
;       none                                                            ;
; register usage : do not destory any register except AX                ;
;-----------------------------------------------------------------------;
        public  ide_sec_irq_extra
ide_sec_irq_extra       proc    near
        push    dx
        mov     dx,cgroup:ide_sec_base_addr; get I/O base address
        add     dx,07h                  ; status register
        in      al,dx
        pop     dx
        ret
ide_sec_irq_extra       endp
;-----------------------------------------------------------------------;
;                               V_TIMER_TICK                            ;
;                               TIMER_TICK                              ;
;-----------------------------------------------------------------------;
; This routine is hardware INT-8 during diagnostics mode. CPU can be in ;
; real or virtual mode, (DS = 40) always. This routine will get control ;
; if diagnostics switch is on and you may do any LED blinking or other  ;
; way of reporting that system is alive.                                ;
; input :                                                               ;
;       DS      0040H                                                   ;
; register usage : save all registers and flag                          ;
; use IRET to return to caller (remember this is INT-8 ISR)             ;
;-----------------------------------------------------------------------;
        public  v_timer_tick            ; INT-8 in virtual mode, diag sw on
        public  timer_tick              ; INT-8 in real mode, diag switch on
v_timer_tick:

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲免费观看高清完整版在线观看 | 7777女厕盗摄久久久| 日韩一区二区免费在线电影| 国产精品麻豆视频| 日韩专区在线视频| 99久久久国产精品| 欧美岛国在线观看| 无吗不卡中文字幕| eeuss国产一区二区三区| 日韩一区二区三区在线视频| 国产精品无人区| 美女视频黄 久久| 欧美亚洲动漫另类| 久久久99久久精品欧美| 日韩精品一二三| 色天使色偷偷av一区二区| 国产精品全国免费观看高清 | 蜜桃久久久久久| 色婷婷香蕉在线一区二区| 久久丝袜美腿综合| 麻豆成人久久精品二区三区小说| 91精品国产综合久久精品| 日韩黄色片在线观看| 99久久综合狠狠综合久久| 国产视频911| 看电影不卡的网站| 日韩一级高清毛片| 男女性色大片免费观看一区二区 | 午夜视频一区二区| 在线视频亚洲一区| 亚洲综合丁香婷婷六月香| 91在线视频观看| 亚洲欧洲av色图| www.日韩在线| 亚洲欧美日韩小说| 欧美中文字幕一区二区三区| 一区二区三区久久| 欧美日韩精品一区视频| 天天综合天天综合色| 91精品国产综合久久精品app| 亚洲精品日日夜夜| 欧美色综合天天久久综合精品| 亚洲成人黄色影院| 制服丝袜成人动漫| 韩国av一区二区三区| 国产色产综合色产在线视频| 成人精品国产免费网站| 亚洲精品中文字幕在线观看| 欧美在线观看18| 日韩av一级片| 久久久久久一二三区| www.日韩大片| 亚洲成人av电影在线| 欧美成人精品二区三区99精品| 国产一区二区三区免费看| 国产精品黄色在线观看| 在线一区二区三区做爰视频网站| 五月天激情综合| 久久蜜桃一区二区| 91免费国产在线| 午夜成人免费电影| 国产网红主播福利一区二区| 欧美日韩国产在线观看| 同产精品九九九| 欧美videofree性高清杂交| 欧美一区二区三区思思人| 亚洲高清免费观看| 91色婷婷久久久久合中文| 亚洲欧美二区三区| 7777女厕盗摄久久久| 国产成人鲁色资源国产91色综| 亚洲精品国产无天堂网2021| 欧美高清视频在线高清观看mv色露露十八 | 不卡av电影在线播放| 天天综合天天综合色| 国产精品素人视频| 欧美日韩久久久一区| 国产成人午夜精品5599| 亚洲午夜电影在线| 久久久精品天堂| 欧美日韩精品一区二区在线播放| 国产成人一区二区精品非洲| 丝袜国产日韩另类美女| 中文字幕亚洲一区二区va在线| 91精品欧美一区二区三区综合在 | 精品少妇一区二区三区视频免付费| 国产99久久久国产精品| 亚洲第一av色| 国产精品美女视频| 精品国产精品网麻豆系列| 91久久奴性调教| 大白屁股一区二区视频| 六月婷婷色综合| 亚洲高清中文字幕| 亚洲精品视频免费看| 欧美国产一区视频在线观看| 久久这里只有精品首页| 91精品国产综合久久久久久| 91麻豆蜜桃一区二区三区| 国产精品一二三| 久久99热国产| 青青草精品视频| 婷婷国产v国产偷v亚洲高清| 亚洲高清在线视频| 亚洲综合成人在线| 一区二区理论电影在线观看| 国产精品视频一二| 国产欧美日韩精品在线| 久久综合色综合88| 日韩欧美中文一区二区| 91麻豆精品国产自产在线 | 亚洲第一av色| 亚洲福利一区二区三区| 一区二区三区四区视频精品免费| 亚洲欧洲国产日韩| 1区2区3区精品视频| 国产精品久久久久精k8| 国产精品午夜电影| 国产精品无遮挡| 亚洲天堂福利av| 亚洲激情在线激情| 亚洲精品国产视频| 亚洲国产cao| 免费视频一区二区| 精品一区二区影视| 国产精品资源在线看| 顶级嫩模精品视频在线看| 成人免费观看视频| 91免费版在线| 欧美色手机在线观看| 欧美日韩精品一区二区三区蜜桃 | 久久国产精品99精品国产| 精品一区二区三区影院在线午夜| 久久精品理论片| 国产高清久久久| 成人禁用看黄a在线| 在线精品视频小说1| 69av一区二区三区| 久久在线免费观看| 中文字幕视频一区| 亚洲电影欧美电影有声小说| 激情综合色播激情啊| av电影天堂一区二区在线| 欧美性xxxxxxxx| 26uuu久久综合| 亚洲男女一区二区三区| 日韩成人免费电影| 国产盗摄精品一区二区三区在线| 91麻豆精品在线观看| 欧美大片在线观看一区| 国产精品国产三级国产专播品爱网| 一区二区三区四区不卡视频 | 欧美一二三区精品| 国产亚洲成年网址在线观看| 亚洲美女电影在线| 久久99精品国产| 91免费视频网| 精品国产污网站| 亚洲一区二区视频在线| 国产一区二区三区久久悠悠色av| 色综合天天性综合| 亚洲乱码国产乱码精品精小说 | 久久丁香综合五月国产三级网站| 成人一级视频在线观看| 欧美另类z0zxhd电影| 国产精品久久国产精麻豆99网站| 亚洲午夜免费电影| 国产盗摄一区二区| 欧美日韩国产bt| 国产精品天美传媒沈樵| 麻豆精品视频在线观看视频| 91麻豆国产在线观看| 26uuu欧美日本| 性感美女久久精品| 99精品1区2区| 久久精品人人做人人爽人人| 午夜激情综合网| 9i看片成人免费高清| www国产精品av| 亚洲图片有声小说| 99国产精品视频免费观看| 精品国产一区二区亚洲人成毛片| 亚洲自拍偷拍图区| 97精品电影院| 国产欧美日韩三级| 国产真实乱偷精品视频免| 欧美精品一二三| 亚洲线精品一区二区三区| 97久久精品人人做人人爽| 国产清纯在线一区二区www| 美女一区二区三区在线观看| 欧美美女bb生活片| 亚洲成人综合网站| 一本色道**综合亚洲精品蜜桃冫| 国产精品国产三级国产aⅴ中文| 国产成人精品三级麻豆| 久久久久国产精品厨房| 国产高清在线观看免费不卡| 久久久精品黄色| 国产成人亚洲综合a∨婷婷图片|