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

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

?? loader2.asm

?? 開放源碼的編譯器open watcom 1.6.0版的源代碼
?? ASM
字號:
                .286p
code            segment 'CODE'
assume          cs:code, ds:code

;
; QNX Boot loader. This is on block one of the QNX partition. The PC/AT
; BIOS reads this block into 7000h and transfers control to it.
;
; N.B. Actually, it's loaded at 0:7C00 [bac]
;
BOOT_SEG =      7000h   ; The segment where the following offsets apply
BOOT_OFF =      0FE00h  ; Where we move the loader

BIOS_TIMER =    46ch    ; Where the BIOS keeps the tick count (18/sec).

FBLK_SIZE =     512     ; Number bytes in a disk block

stk             =       0fa00h  ; stack (grows down)
block2          =       0fa00h  ; Where we read QNX partition block 2
xtnt_1st_blk    =       20      ; structure offsets of directory entry on disk.
xtnt_1st_nblks  =       24
xtnt_blk        =       28
xtnt_cnt        =       48

xtnttab         =       0fc00h  ; Where we read the extent table

                org     0fff0h
load_seg        dw      ?       ; 0BAh, 0BEh --> "BABE"
bootsrc         db      ?       ; Boot source 'F'/'H'=floppy/hard
sctr_base       db      ?       ; Sector base
boffset         dw      ?, ?    ; Block offset of QNX partition (4 byte long)
nheads          dw      ?       ; Number of heads
nsctr_trk       db      ?       ; Sectors per track
ncyl            dw      ?       ; Number of cylinders
nsctr_cyl       dw      ?
;hdsignature    dw      ?       ; 055h, AAEh  (For hard disk bootable partition)

;
; Copy boot program up to top 512 bytes of a 64K segment
; then transfer control to boot
;
        org     100h

start:  call restart    ; The call will push our return addr
restart:cli
ip:     pop si          ; Recover return address
        sub si,3        ; Size of the call instruction
        push cs
        pop ds
        mov ax,BOOT_SEG
        mov es,ax
        mov di,BOOT_OFF ; Where we want to go
        mov cx,FBLK_SIZE/2
        rep movsw
        db 0eah         ; jmp seg:off
        dw offset boot-start+BOOT_OFF
        dw BOOT_SEG
;       push es
;       mov ax,offset boot-start+BOOT_OFF
;       push ax
;       retf

boot:
;
; Trap timer interrupts while booting
;
;       xor ax,ax
;       mov ds,ax
;       mov word ptr ds:70h,offset dummy-start+BOOT_OFF
;       mov word ptr ds:72h,cs
        mov ax,es
        mov ds,ax
        mov ss,ax
        mov sp,stk

        sti

        mov ax,nheads
        mul nsctr_trk
        mov nsctr_cyl,ax

        mov ax,2                ; We want to read the second block
        cwd
        mov di,1
        mov bx,block2
        call read_blk           ; Read block 2 (starts at 1) of QNX parition

;
; The .boot    entry is the 3rd group of 64.
; The .altboot entry is the 4th group of 64.
;
        mov si,2*64             ; Offset of dir entry for .altboot (4th entry)
        cmp word ptr xtnt_cnt[bx+si+64],0
        jz xtnt                 ; If no data use .boot instead

;
; Tell 'em .altboot is available and
; give 'em some time to choose it
;
        push si
        mov si,offset msg-start+BOOT_OFF
prt:    lodsb
        call putc
        cmp al,'.'              ; cmp al == '.'
        jne prt
        pop si

        mov cx,2*18             ; 2 seconds.
waitkey:
;       push cx
        mov ah,1
        int 16h
;       pop cx
        jnz iskey
        push es
        xor dx,dx
        mov es,dx
        mov dx,word ptr es:BIOS_TIMER
bloop:  cmp dx,word ptr es:BIOS_TIMER
        je bloop
        pop es
        loop waitkey
        jmp short xtnt
iskey:  mov ah,0
        int 16h
        cmp al,1bh
        jne xtnt

alt:    or bootsrc,' '          ; .altboot requested
        add si,64

xtnt:   mov cx,xtnt_cnt[bx+si]
        cmp cx,1
        je l0                   ; Skip if no extent block
        push bx
        mov ax,xtnt_blk[bx+si]
        mov dx,xtnt_blk[bx+si+2]
        mov di,1
        mov bx,xtnttab
        call read_blk
        pop bx

l0:     lea si,xtnt_1st_blk[bx+si]
        mov di,xtnttab+8
        mov ax,[si]
        movsw           ; Move xtnt_1st_blk
        mov dx,[si]
        movsw
        movsw           ; Move xtnt_1st_cnt
        movsw

        mov di,1
        call read_blk           ; Read block 2 (starts at 1) of QNX parition
        mov si,60h              ; Default is segment 60.
        cmp word ptr es:[bx+4],'DD'     ; Signature present?
        jne lp0
        mov si,es:[bx+10]       ; Get load segment (signature is present).
lp0:    mov load_seg,si
        mov es,si
        mov si,xtnttab+8

lp1:    mov ax,[si]
        mov dx,[si+2]
lp2:    mov di,[si+4]           ; [si+6] better be zero
        cmp di,128
        jbe lp3
        mov di,128
lp3:    xor bx,bx
        call read_blk           ; Read block
        add ax,di               ; Increment block number
        adc dx,0
        sub [si+4],di           ; Decrement number of blocks
        shl di,5                ; log2(512/16)
        mov bx,es
        add bx,di
        mov es,bx               ; Bump load segment
        cmp word ptr [si+4],0
        jnz lp2                 ; Continue while more blocks to read
        add si,8
        loop lp1

;
; Start up process manager
;
system_up:
        mov al,0ffh             ; Disallow any further hardware interrupts
        out 21h,al
        cli

        mov bl,bootsrc
        mov ax,load_seg
;       or ax,ax                ; This will be zero for an old image
;       je oldimage
        mov es,ax
        mov byte ptr es:0ch,bl  ; New images patch the cs:000c of proc
;       jmp short startos
;oldimage:
;       mov ax,60h              ; Old images patch the bootsrc at 60:00ff
;       mov es,ax
;       mov byte ptr es:0ffh,bl
;       add ax,20h              ; Old images start execution at 80:0000
startos:
        push ax
        xor ax,ax
        push ax
        retf                    ; Start the OS

;dummy: iret

;
; Read di blocks at dx,ax into es:bx
;
read_blk:
        push ax
        push bx
        push cx
        push dx
;       call spin
        sub ax,1
        sbb dx,0
        add ax,boffset
        adc dx,boffset+2
        div nsctr_cyl           ; ax = track, dx = remainder
        cmp ax,1024
        ja badcyl
        mov ch,al
        mov cl,ah
        ror cl,2                ; Top 2 bits of track in cl
        mov ax,dx
        cwd
        idiv nsctr_trk
        mov dh,al
        or cl,ah
        add cl,sctr_base
        xor dl,dl
        mov al,bootsrc
        or al,20h               ; Force lower case
        cmp al,'h'
        jne tryagain            ; Read from floppy disk 1
        mov dl,80h              ; Read from hard disk 1
tryagain:
        mov ax,di
        mov ah,2                ; Read some blocks
        int 13h
        jnc no_err
        xor ah,ah               ; Reset disk
        int 13h
        mov al,'?'              ; Inform user of bad block by printing '?'
        call putc
        jmp tryagain
badcyl: mov al,'C'              ; Inform user of cylinder>1023 by prnting 'C'
        call putc
cloop:  jmp cloop
no_err: pop dx
        pop cx
        pop bx
        pop ax
        ret

;
; We arrive with the block in DX,AX so we will use some bits in AX
; to flash the user that something is happening.
;
;spin:  push ax
;       push bx
;       push cx
;       and al,3
;       add al,18h
;       mov ah,10
;       xor bx,bx
;       mov cx,1
;       int 10h
;       pop cx
;       pop bx
;       pop ax
;       ret

putc:   push ax
        push bx
;       push cx
        push si
        mov bx,7
        mov ah,14
        int 10h
        pop si
;       pop cx
        pop bx
        pop ax
        ret

                org     02d0h
msg             db      "Press Esc to boot alternate OS.", 0

code            ends
                end     start

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一级高清片| 有坂深雪av一区二区精品| 韩国欧美国产一区| 欧美精品tushy高清| 国产精品久久久久国产精品日日 | 在线观看区一区二| 欧美日韩小视频| 4438成人网| 一区二区三区国产精品| 在线精品视频一区二区| 成人av网站大全| 91欧美一区二区| 一区二区三区成人在线视频| 国产精品小仙女| 欧美日本不卡视频| 国产欧美日韩三级| 天堂在线亚洲视频| 老汉av免费一区二区三区| 91在线观看成人| 久久久精品国产免大香伊| 亚洲色图欧美激情| 国产成人一级电影| 欧美亚洲动漫制服丝袜| 国产日产欧美精品一区二区三区| 亚洲综合在线免费观看| 国产精品123区| 欧美电影一区二区三区| 亚洲精品日日夜夜| 成人精品国产福利| 精品日韩一区二区| 蜜臀久久久99精品久久久久久| 91国在线观看| 亚洲日本韩国一区| 成人免费视频app| 国产精品成人免费精品自在线观看| 国产永久精品大片wwwapp| 91麻豆精品国产91久久久使用方法| 国产精品视频在线看| av电影天堂一区二区在线 | 美女网站一区二区| 91激情在线视频| 亚洲欧美另类图片小说| 99视频精品全部免费在线| 国产午夜一区二区三区| 成人午夜视频在线| 综合av第一页| 色94色欧美sute亚洲线路一久 | 精品美女在线播放| 国产乱一区二区| 国产日韩欧美a| 99久久夜色精品国产网站| 国产精品久久二区二区| 99精品在线观看视频| 亚洲色图欧洲色图| 91精品欧美福利在线观看| 精品一区二区日韩| 国产调教视频一区| 97久久超碰精品国产| 香蕉成人啪国产精品视频综合网| 欧美人与性动xxxx| 欧美aaaaaa午夜精品| 精品国产91洋老外米糕| 国产成人免费视频精品含羞草妖精| 日韩美女主播在线视频一区二区三区 | 欧美日韩五月天| 欧美一区二区视频在线观看2020 | 欧美一区二区在线免费播放| 91精品国产综合久久蜜臀| 欧美嫩在线观看| 国产精品丝袜在线| 中文字幕一区二区三区视频| 亚洲欧洲精品一区二区精品久久久| 国产精品久久久久久久岛一牛影视| 一区二区三区中文免费| 日本伊人午夜精品| 国产福利视频一区二区三区| 久久精品视频免费观看| 成人免费视频一区二区| 色综合久久久久| 日韩精品一区二区三区蜜臀 | 亚洲一级在线观看| 日韩午夜激情电影| 丰满岳乱妇一区二区三区 | 欧美高清dvd| 蜜臀av性久久久久蜜臀aⅴ四虎| 久久久久久久久久久久电影| 99精品视频一区| 国产成人午夜视频| 五月天精品一区二区三区| 国产亚洲制服色| 欧美日韩大陆一区二区| 国产福利一区在线| 成人午夜激情在线| 亚洲欧洲国产专区| 91浏览器在线视频| 亚洲一区二区视频在线观看| 国产久卡久卡久卡久卡视频精品| 国产婷婷精品av在线| 国产一区二区三区最好精华液| 精品国产免费人成在线观看| 在线欧美日韩国产| 欧美成人伊人久久综合网| 成人欧美一区二区三区在线播放| 夜色激情一区二区| 自拍偷在线精品自拍偷无码专区| 国产亚洲欧美在线| 亚洲成人黄色小说| 欧美三级在线播放| 国产乱码一区二区三区| 韩国av一区二区| 日本亚洲一区二区| 蜜臀av性久久久久蜜臀aⅴ流畅| 婷婷六月综合亚洲| 蜜臀精品一区二区三区在线观看| 日韩电影免费一区| 日本欧美久久久久免费播放网| 亚洲高清在线视频| 丝袜亚洲另类欧美综合| 天天影视涩香欲综合网| 日韩高清在线电影| 蜜桃久久久久久久| 国产精品一区二区在线播放 | 色综合一个色综合| 91福利国产精品| 欧美人与性动xxxx| www国产精品av| 亚洲伦理在线免费看| 亚洲国产高清不卡| 久久成人麻豆午夜电影| 极品少妇一区二区| 精品国产免费一区二区三区四区 | 亚洲最快最全在线视频| wwwwww.欧美系列| 欧美日韩精品欧美日韩精品| 不卡av电影在线播放| 色婷婷综合久久久中文字幕| 久久久久久一二三区| 色综合视频一区二区三区高清| 99久久99久久精品免费观看| 色狠狠桃花综合| 精品久久五月天| 中文字幕在线一区免费| 亚洲国产激情av| 亚洲v日本v欧美v久久精品| 日韩一区二区三区免费观看| 欧美一区二区精品久久911| 91精品国产一区二区三区| 91精品国产一区二区| 久久精品亚洲麻豆av一区二区| 国产亚洲一本大道中文在线| 国产精品福利一区二区| 首页国产欧美久久| 成人综合日日夜夜| 欧美变态tickling挠脚心| 久久免费偷拍视频| 亚洲免费伊人电影| 免费不卡在线视频| 欧美在线播放高清精品| 精品成人a区在线观看| 日本一区二区高清| 奇米777欧美一区二区| 91国偷自产一区二区三区观看 | 99久久精品情趣| 成人成人成人在线视频| www.爱久久.com| 色综合久久中文字幕综合网 | 一区二区三区欧美亚洲| 日韩精品自拍偷拍| 欧美日韩日本视频| 亚洲444eee在线观看| 久久成人羞羞网站| 欧美视频一区二区三区| 中文无字幕一区二区三区| 青青青伊人色综合久久| 色综合天天综合网国产成人综合天| 91精品国产高清一区二区三区蜜臀| 中文字幕在线观看不卡| 紧缚奴在线一区二区三区| 欧美日韩色一区| 一区二区三区视频在线观看| 在线视频中文字幕一区二区| 国产一区二区三区最好精华液 | 日韩激情中文字幕| 93久久精品日日躁夜夜躁欧美| 久久久五月婷婷| 精品伊人久久久久7777人| 欧美高清视频不卡网| 午夜精品福利一区二区三区蜜桃| 99精品国产视频| 色呦呦网站一区| 国产精品一区二区三区99| 中文字幕一区二区在线观看 | 麻豆精品蜜桃视频网站| 7878成人国产在线观看| 亚洲精品视频在线观看免费| 色呦呦一区二区三区| 中文字幕欧美一| 91麻豆精品在线观看| 亚洲视频在线一区二区| av影院午夜一区|