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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? bios.asm

?? 一個80x86 BIOS 的匯編源代碼.
?? ASM
?? 第 1 頁 / 共 5 頁
字號:
        MOV     DX,3D8h                         ; Load Color Graphic port
        OUT     DX,AL                           ;  ...no video display
        MOV     DX,3B8h                         ; Load Monochrome port
        INC     AL                              ;  ...no video display
        OUT     DX,AL                           ;  ...write it out
        MOV     AL,10011001b                    ; Program 8255 PIA chip
        OUT     63h,AL                          ;  ...Ports A & C, inputs
        MOV     AL,10100101b                    ; Set (non)turbo mode
        OUT     61h,AL                          ;  ...on main board

        MOV     AL,01010100b                    ; ic 8253 inits memory refresh
        OUT     43h,AL                          ;  ...chan 1 pulses ic 8237 to
        MOV     AL,12h                          ;  ...dma every 12h clock ticks
        OUT     41h,AL                          ;  ...64K done in 1 millisecond
        MOV     AL,01000000b                    ; Latch value 12h in 8253 clock
        OUT     43h,AL                          ;  ...chip channel 1 counter

IC8237: MOV     AL,0                            ; Do some initialization
        OUT     81h,AL                          ;  ...dma page reg, chan 2
        OUT     82h,AL                          ;  ...dma page reg, chan 3
        OUT     83h,AL                          ;  ...dma page reg, chan 0,1
        OUT     0Dh,AL                          ; Stop DMA on 8237 chip
        MOV     AL,01011000b                    ; Refresh auto-init dummy read
        OUT     0Bh,AL                          ;   ...on channel 0 of DMA chip
        MOV     AL,01000001b                    ; Block verify
        OUT     0Bh,AL                          ;   ...on channel 1 of DMA chip
        MOV     AL,01000010b                    ; Block verify
        OUT     0Bh,AL                          ;   ...on channel 2 of DMA chip
        MOV     AL,01000011b                    ; Block verify
        OUT     0Bh,AL                          ;   ...on channel 3 of DMA chip
        MOV     AL,0FFh                         ; Refresh byte count
        OUT     1,AL                            ;   ...send lo order
        OUT     1,AL                            ;   ...send hi order
        MOV     AL,0                            ; Initialize 8237 command reg
        OUT     8,AL                            ;   ...with zero
        OUT     0Ah,AL                          ; Enable DMA on all channels
        MOV     AL,00110110b                    ; Set up 8253 timer chip
        OUT     43h,AL                          ;   ...chan 0 is time of day
        MOV     AL,0                            ; Request a divide by
        OUT     40h,AL                          ;   ...65536 decimal
        OUT     40h,AL                          ;   ...0000h or 18.2 tick/sec
        MOV     DX,213h                         ; Expansion unit port
        MOV     AL,1                            ;  ...enable it
        OUT     DX,AL                           ;  ...do the enable
        MOV     AX,40h                          ; Get bios impure segment
        MOV     DS,AX                           ;  ...into DS register
        MOV     SI,DS:72h                       ; Save reset flag in SI reg
        XOR     AX,AX                           ;  ...cause memory check
        MOV     BP,AX                           ;  ...will clobber the flag
        MOV     BX,AX                           ; Start at segment 0000h
        MOV     DX,55AAh                        ;  ...get pattern
        CLD                                     ; Strings auto-increment

MEMSIZ: XOR     DI,DI                           ; Location XXXX:0
        MOV     ES,BX                           ;  ...load segment
        MOV     ES:[DI],DX                      ;  ...write pattern
        CMP     DX,ES:[DI]                      ;  ...compare
        JNZ     MEM_ND                          ;  ...failed, memory end
        MOV     CX,2000h                        ; Else zero 16 kilobytes
        REPZ    STOSW                           ;  ...with instruction
        ADD     BH,4                            ;  ...get next 16K bytes
ifdef   MAX_MEMORY
        CMP     BH,MAX_MEMORY SHR 2             ; Found max legal user ram?
else
        CMP     BH,0A0h                         ; Found max legal IBM ram?
endif
        JNZ     MEMSIZ                          ;  ...no, then check more

MEM_ND: MOV     DS:72h,SI                       ; Save pointer
        XOR     AX,AX
        MOV     ES,AX                           ; ES = vector segment
        MOV     AX,80h
        MOV     SS,AX                           ; Set up temporary stack at
        MOV     SP,100h                         ;  0080:0100 for memory check
        PUSH    BP
        PUSH    BX
        MOV     BP,2
        CALL    MEMTST                          ; Memory check ES:0 - ES:0400
        POP     AX
        MOV     CL,6
        SHR     AX,CL
        MOV     DS:13h,AX
        POP     AX
        JNB     MEM_01
        OR      AL,ER_MEM                       ; Show vector area bad

MEM_01: MOV     DS:15h,AL                       ; Save IPL error code
        XOR     AX,AX
        PUSH    AX
        PUSH    AX
        PUSH    AX
        PUSH    AX
        PUSH    AX
        MOV     AX,30h                          ; Set up IBM-compatible stack
        MOV     SS,AX                           ;  ...segment 0030h
        MOV     SP,100h                         ;  ...offset  0100h
        PUSH    DS
        MOV     BX,0E000h                       ; Check BIOS eprom
        PUSH    CS
        POP     DS                              ;  ...at F000:E000
        MOV     AH,1
        CALL    CHKSUM                          ;  ...for valid checksum
        POP     DS                              ;  ...restore impure<-DS
        JZ      IC8259
        OR      Byte ptr DS:15h,ER_BIOS         ; Checksum error BIOS eprom

IC8259: CLI                                     ; Init interrupt controller
        MOV     AL,13h
        OUT     20h,AL
        MOV     AL,8
        OUT     21h,AL
        MOV     AL,9
        OUT     21h,AL
        MOV     AL,0FFh
        OUT     21h,AL
        PUSH    DS
        XOR     AX,AX                           ; 8 nonsense vectors begin table
        MOV     ES,AX                           ;  ...at segment 0000h
        PUSH    CS
        POP     DS
        MOV     CX,8                            ; Vectors 00h - 07h unused
        XOR     DI,DI                           ;  ...we start at vec 00h

LO_VEC: MOV     AX,offset IGNORE                ; Nonsense interrupt from RSX
        STOSW
        MOV     AX,CS                           ;  ...bios ROM segment
        STOSW
        LOOP    LO_VEC

        MOV     SI,offset VECTORS               ; SI --> Vector address table
        MOV     CX,18h                          ;  ... vectors 08h - 1Fh busy

HI_VEC: MOVSW                                   ; Get INTERRUPT bios ROM offset
        MOV     AX,CS
        STOSW                                   ;  ...INTERRUPT bios ROM segment
        LOOP    HI_VEC

        MOV     AX,0F600h                       ; AX --> Rom basic segment
        MOV     DS,AX                           ; DS -->  "    "     "
        XOR     BX,BX                           ; BX  =  Rom basic offset
        MOV     AH,4                            ; Four basic roms to check

        MOV     BP,SP                           ; Save the stack pointer
        PUSH    CS                              ;  ...push code segment
        MOV     DX,offset SKIP                  ; Save the code offset
        PUSH    DX                              ;  ...for RAM_PATCH subroutine
        MOV     DX,0EA90h                       ; Mov DX,'NOP,JMP_FAR'
        PUSH    DX                              ;  ...save it on stack
        MOV     DX,0178Bh                       ; Mov DX,'MOV DX,[BX]'
        PUSH    DX                              ;  ...save it on stack
        PUSH    SS                              ; Save stack segment
        MOV     DX,SP                           ;  ...get the stack offset
        ADD     DX,02h                          ;  ...calculate xfer addr.
        PUSH    DX                              ;  ...save it on the stack
;
        RETF                                    ; Test for BASIC rom
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;       MOV     DX,[BX]                         ; Executes off the stack ;
;       JMPF    0F000h,SKIP                     ;       ...in RAM space  ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
SKIP:   MOV     SP,BP                           ; Restore the stack pointer
        CMP     DL,DH                           ;  ...compare 1st and 2nd byte
        JE      kosher                          ;  ...perfection.  No piracy

B_ROM:  CALL    CHKSUM                          ; Scan for BASIC roms
        JNZ     kosher                          ;  ...bad basic rom
        DEC     AH                              ; Continue
        JNZ     B_ROM                           ;  ...yes, more

        POP     DS                              ; Else valid  basic
        MOV     DI,60h                          ;  ...install basic

        XOR     AX,AX                           ;  ...zero  BASIC interrupt
        STOSW                                   ;  ...offset
        MOV     AX,0F600h                       ;  ...F600h BASIC interrupt
        STOSW                                   ;  ...segment

        PUSH    DS
kosher: POP     DS                              ; Setup special low vectors
        MOV     Word ptr ES:8,offset int_2      ;  ...NMI interrupt
        MOV     Word ptr ES:14h,offset int_5    ;  ...print screen interrupt
        MOV     Word ptr ES:7Ch,0               ; No special graphics chars.
        MOV     Word ptr ES:7Eh,0               ;  ...so zero vector 1Fh
        MOV     DX,61h
        IN      AL,DX                           ; Read machine flags
        OR      AL,00110000b                    ;  ...clear old parity error
        OUT     DX,AL                           ; Write them back to reset
        AND     AL,11001111b                    ;  ...enable parity
        OUT     DX,AL                           ; Write back, parity enabled
        MOV     AL,80h                          ;  ...allow NMI interrupts
        OUT     0A0h,AL
        MOV     AX,0000000000110000b            ; Assume monochrome video
        MOV     DS:10h,AX                       ;  ...card has been installed
        INT     10h                             ;  ...initialize if present
        MOV     AX,0000000000100000b            ; Assume color/graphics video
        MOV     DS:10h,AX                       ;  ...card has been installed
        INT     10h                             ;  ...initialize if present
        IN      AL,62h                          ; Get memory size (64K bytes)
        AND     AL,00001111b                    ;  ...in bits 2,3 lo nibble
        MOV     AH,AL                           ; Save memory size nibble
        MOV     AL,10101101b
        OUT     61h,AL
        IN      AL,62h                          ; Get no. of floppies (0-3)
        MOV     CL,4                            ;  ...and init. video mode
        SHL     AL,CL                           ;  ...shift in hi nibble
        OR      AL,AH
        MOV     AH,0
        MOV     DS:10h,AX                       ; Start building Equipment Flag
        AND     AL,00110000b                    ;  ...if video card, mode set
        JNZ     LE232                           ;  ...found video interface
        MOV     AX,offset DUMMY                 ; No hardware, DUMMY: becomes
        MOV     ES:40h,AX                       ;  ...INT_10 video service
        JMP     short   LE235

LE232:  CALL    V_INIT                          ; Setup video

LE235:  MOV     AL,00001000b                    ; Read low switches
        OUT     61h,AL
        MOV     CX,2956h

WAIT_1: LOOP    WAIT_1
        MOV     AL,11001000b                    ; Keyboard acknowledge
        OUT     61h,AL                          ;  ...send the request
        XOR     AL,10000000b                    ; Toggle to enable
        OUT     61h,AL                          ;  ...send key enable
        MOV     AX,1Eh                          ; Offset to buffer start
        MOV     DS:1Ah,AX                       ; Buffer head pointer
        MOV     DS:1Ch,AX                       ; Buffer tail pointer
        MOV     DS:80h,AX                       ; Buffer start
        ADD     AX,20h                          ;  ...size
        MOV     DS:82h,AX                       ; Buffer end
        JMP     short   V_CONT

FAO:    MOV     DL,AL                           ; Formatted ascii output

FAO_1:  MOV     AX,BX                           ; Get position for
        CALL    LOCATE                          ;  ...cursor routine
        PUSH    SI                              ; Get string address
        CALL    PRINT                           ;  ...print string
        MOV     AX,ES:[BP+0]                    ; Get port # to print
        CALL    BIGNUM                          ;  ...four digits
        POP     SI                              ; Restore string address
        INC     BP                              ;  ...Address of port
        INC     BP                              ;  ...is two bytes long
        INC     BH                              ;  ...down one line
        DEC     DL                              ; Decrement device count
        JNZ     FAO_1                           ; ...back for more
        RET

K_BYTE: CLC                                     ; Say no error
        MOV     AL,DL                           ;  ...size "checked"

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
最新日韩av在线| 日本一区二区三区在线观看| 欧美国产乱子伦| 播五月开心婷婷综合| 亚洲天堂中文字幕| 欧美日韩国产首页在线观看| 日韩激情视频在线观看| 日韩网站在线看片你懂的| 狠狠色2019综合网| 日韩毛片一二三区| 欧美一区中文字幕| 国产精品一区二区在线观看不卡| 中文字幕中文字幕一区| 欧美男同性恋视频网站| 成人精品免费看| 日韩主播视频在线| 国产精品五月天| 欧美videofree性高清杂交| 成人午夜激情片| 蜜桃精品视频在线观看| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 欧美亚一区二区| 不卡一区在线观看| 91福利在线播放| 亚洲综合999| 国产精品久久久久影院亚瑟| 欧美日韩在线直播| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 91香蕉视频在线| 国产福利精品一区| 日本一不卡视频| 五月激情六月综合| 亚洲国产日韩一级| 亚洲欧美另类图片小说| 亚洲人亚洲人成电影网站色| 久久午夜色播影院免费高清| 欧美剧情电影在线观看完整版免费励志电影| 成人小视频在线观看| 成人污污视频在线观看| 国产成人欧美日韩在线电影| 岛国av在线一区| 91网页版在线| 在线视频国内自拍亚洲视频| 欧美日韩电影在线播放| 69久久99精品久久久久婷婷| 精品毛片乱码1区2区3区| 久久综合中文字幕| 亚洲欧美福利一区二区| 亚洲一区二区三区自拍| 久久超碰97人人做人人爱| 九九视频精品免费| av成人老司机| 日韩欧美综合一区| 中文字幕日韩欧美一区二区三区| 依依成人精品视频| 国产永久精品大片wwwapp| av色综合久久天堂av综合| 91精品在线观看入口| 国产精品乱码一区二三区小蝌蚪| 欧美卡1卡2卡| 久久综合久久综合九色| 亚洲一区二区三区在线播放| 精品影视av免费| 在线不卡中文字幕| 国产精品不卡一区| 国产91在线观看| 精品少妇一区二区三区在线播放| 国产欧美日韩综合| 韩日精品视频一区| 在线不卡免费av| 亚洲成人三级小说| 在线视频综合导航| 亚洲精品久久7777| k8久久久一区二区三区| 中文无字幕一区二区三区| 久久99国产精品久久99果冻传媒| 欧美人体做爰大胆视频| 亚洲美女免费视频| 在线视频欧美区| 亚洲精品成人在线| 欧美无人高清视频在线观看| 亚洲乱码日产精品bd| 欧美三级日韩三级国产三级| 亚洲综合小说图片| 欧美一区二区三区在线电影| 日本成人超碰在线观看| 精品久久国产字幕高潮| 国产精品综合在线视频| 懂色av一区二区在线播放| 欧美色图免费看| 日本亚洲电影天堂| 精品国产乱码久久久久久影片| 青青草97国产精品免费观看| 久久午夜羞羞影院免费观看| 成人免费毛片嘿嘿连载视频| 亚洲一区二区三区中文字幕 | 欧美tk—视频vk| av动漫一区二区| 美女www一区二区| 国产在线国偷精品免费看| 日本久久电影网| 国产激情一区二区三区四区 | 韩国女主播一区| 亚洲人成伊人成综合网小说| 欧美一区二区三区播放老司机| 国产成人精品亚洲777人妖| 午夜a成v人精品| 亚洲六月丁香色婷婷综合久久| 91超碰这里只有精品国产| 91美女片黄在线观看91美女| 国产一区二区三区综合| 91 com成人网| 欧美日韩一级黄| 99久久综合色| 99久久久久久| 本田岬高潮一区二区三区| 精品无人码麻豆乱码1区2区 | 精品视频一区三区九区| av欧美精品.com| 色综合天天综合网国产成人综合天| 国产在线一区二区| 日本vs亚洲vs韩国一区三区二区 | 国产日产欧美一区二区视频| 日韩欧美黄色影院| 久久综合999| 国产视频一区在线观看| 国产精品午夜在线观看| 国产精品人妖ts系列视频| 中文字幕日本不卡| 亚洲激情在线激情| 日本最新不卡在线| 国产精品亚洲人在线观看| 成人午夜视频在线| 91福利在线看| 久久嫩草精品久久久精品一| 色婷婷一区二区| 久久机这里只有精品| 精品一二三四在线| 成人avav影音| 666欧美在线视频| 亚洲欧美在线观看| 美脚の诱脚舐め脚责91| 色一情一乱一乱一91av| 欧美v亚洲v综合ⅴ国产v| 亚洲精品美腿丝袜| 国产麻豆视频精品| 欧美一卡在线观看| 亚洲欧美色一区| 成人午夜激情影院| 成人动漫精品一区二区| 日韩视频免费观看高清完整版在线观看 | 九九九精品视频| 337p亚洲精品色噜噜噜| 国产精品另类一区| 丁香激情综合五月| 精品88久久久久88久久久| 亚洲成人黄色影院| 91久久精品一区二区三| 亚洲人一二三区| 色老汉av一区二区三区| 国产精品美女久久久久久久久 | 国产日产亚洲精品系列| 老司机一区二区| 久久久精品免费免费| 国产一区二区三区av电影| 欧美第一区第二区| 国产v综合v亚洲欧| 91免费版在线| 一区二区三区四区高清精品免费观看| 国产mv日韩mv欧美| 最新不卡av在线| 精品视频一区三区九区| 亚洲另类色综合网站| 91视频com| 亚洲国产精品尤物yw在线观看| 欧美日韩亚洲不卡| 国产做a爰片久久毛片 | 亚洲成人动漫av| 6080日韩午夜伦伦午夜伦| 91行情网站电视在线观看高清版| 91精品福利视频| 午夜精品久久久久久| 欧美α欧美αv大片| 99r国产精品| 久久97超碰国产精品超碰| 国产精品久久久久aaaa樱花| 欧美亚洲动漫精品| 懂色av一区二区三区免费看| 亚洲国产一区二区视频| 国产精品乱码人人做人人爱| 欧美日韩国产影片| 成人性生交大片免费| 亚洲图片欧美色图| 自拍偷拍国产亚洲| 久久久777精品电影网影网 | 日韩一二三区视频| 欧美岛国在线观看| 国产精品久久免费看| 欧美一区二区黄色| 欧美美女一区二区在线观看|