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

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

?? ide.asm.bak

?? bios開發培訓涉及例子。可以給大家參考。請在dos下運行。用masm6.0編譯。
?? BAK
字號:
;========= IDE test =================
;=========== time: 2008.08.20 
;writed by vincent_wu

;  ====  output strings
PRINTSTR    MACRO X
	LEA	DX,X
	MOV	AH,09H
	INT	21H
	    ENDM

.model small
.586
.stack 	 100 

.data   	
        no1             equ     512
        no2             equ     256	
	pri_cntl        equ     03f6h
	sec_cntl        equ     0376h
	pri_dev         equ     1f6h
	pri_cmdsta      equ     1f7h
	sec_dev         equ     176h
	sec_cmdsta      equ     177h
	pri_data        equ     1f0h
	sec_data        equ     170h
	
	IdenData        dw      256 dup(0)
	FirSecData      dw      256 dup(0)
	
	
	
	
	;show the choose info
	EnterS	DB	10,13,'$'
	ChooseMenu      db      'press 1 to choose ATA or press 2 to choose ATAPI$'
	serialinfo      db      'Serial number:  $'
	Modelinfo       db      'Model number:  $'
	secsize         db      'Sector size:  $'
	info_ide        db      'show the first sector of HD: $'
	info_audio      db      'begin to listen music ~~~~~~~~~~$'
	error1          db      'No HD found!!!$'
	error2          db      'No CD-ROM found!!!$'
	memusting       db      'choose: 1.ata, 2.atapi, 3.exit $'
	reinput         db      'your input is error, please input again!!!$'
	space1          db      '$'
.code
.startup

                printstr        memusting
                printstr        enters
input1:         mov     ah,07h
                int     21h
                cmp     al,'1'
                jz      ata
                cmp     al,'2'
                jz      atapi
                cmp     al,'3'
                jz      exit3
                printstr        reinput
                printstr        enters
                jmp     input1
                
ata:            
                call    checkIDE
                ;============ read first sector ==========================
                call    readfirstsector
                call    showfirstsector
                ;============== check the cd-rom ==================
                jmp     input1
atapi:          call    checkATAPI
                jmp     input1
exit3:          nop
                
.exit   

checkIDE        proc    far     public
                
                push    dx
                push    ax
                push    si
                push    di
                
                lea     si,IdenData             ;
                lea     di,FirSecData           ;

pri_master:     mov     dx,pri_cntl     ;
                mov     al,04h          ;reset channel
                out     dx,al
                out     0ebh,al
                mov     al,00h
                out     dx,al           ;reset complete
                mov     dx,pri_dev
                mov     al,0a0h         ;master
                out     dx,al
                mov     dx,pri_cmdsta
                in      al,dx
                test    al,40h          ;test bit6 = 1
                jz      exit1
                call    storeidendata
                call    showiden                
                pop     di
                pop     si
                pop     ax
                pop     dx
                ret

exit1:          printstr        error1 
                printstr        enters
                pop     di
                pop     si
                pop     ax
                pop     dx
                ret
checkIDE        endp   

storeidendata   proc    far     public
                
                push    cx
                push    bx
                                
                mov     dx,pri_cmdsta
@@:             in      al,dx
                test    al,88h           ;device busy and data req?
                jnz      @b

                mov     al,0ech
                out     dx,al           ;identify cmd
@@:             in      al,dx
                test    al,08h          ;data req?
                jz      @b
                
                ;start transfor data
                mov     cx,no2          ;256
                mov     dx,pri_data
                mov     bx,0
@@:             in      ax,dx
                mov     [si+bx],ax
                add     bx,2
                loop    @b
                
                pop    bx
                pop    cx
                ret
storeidendata  endp

readfirstsector proc    far     public

                push    bx
                push    cx
                push    di
                
                lea     di,firsecdata
                mov     bx,0
                
                mov     dx,pri_cntl     ;
                mov     al,04h          ;reset channel
                out     dx,al
                out     0ebh,al
                mov     al,00h
                out     dx,al           ;reset complete
                mov     dx,pri_dev
                mov     al,0a0h         ;master
                out     dx,al

@@:	        mov	dx,1f7h
	        in	al,dx
	        cmp	al,50h
	        jnz	@b

	        mov	dx,1f2h
	        mov	al,1	;READ	1	SECTOR	
	        out	dx,al
	        inc	dx
	        mov	al,0
	        out	dx,al	;1f3
	        inc	dx
	        out	dx,al	;1f4
	        inc	dx
	        out	dx,al	;1f5
	        inc	dx
	        mov	al,0e0h
	        out	dx,al	;1f6
	        inc	dx
	        mov	al,20h
	        out	dx,al	;1f7
	        in	al,dx			;ready
	
@@:	        mov	dx,1f7h
	        in	al,dx
	        cmp	al,58h
	        jnz	@b

          ;read data   
                mov     cx,no2    
                mov     dx,pri_data                
@@:             in      ax,dx
                mov     [di+bx],ax
                add     bx,2
                loop    @b
                
                pop     di
                pop     cx
                pop     bx                        
                ret                
readfirstsector endp                
                
showfirstsector proc    far     public

                push    si
                push    cx
    
                printstr        enters
                printstr        info_ide
                printstr        enters
                lea     si,FirSecData
                mov     cx,no2
@@:             mov     al,[si]
                call    show_al
                inc     si
                mov     al,[si]
                call    show_al
                inc     si
                printstr        space1
                loop    @b
                printstr        enters
                pop     cx
                pop     si
                ret            


showfirstsector endp


showiden        proc    far     public

                push    bx
                push    cx
                PRINTSTR        serialinfo
                mov     cx,10      
                mov     bx,20
@@:             mov     dl,[si+bx+1]
                mov     ah,2
                int     21h
                mov     dl,[si+bx]
                mov     ah,2
                int     21h
                add     bx,2
                loop    @b
                PRINTSTR        EnterS
                PRINTSTR        Modelinfo
                mov     cx,20
                mov     bx,54
@@:             mov     dl,[si+bx+1]
                mov     ah,2
                int     21h
                mov     dl,[si+bx]
                mov     ah,2
                int     21h
                add     bx,2
                loop    @b   
                PRINTSTR        EnterS
                PRINTSTR        Secsize
                mov     al,[si+123]
                call    show_al
                mov     al,[si+122]
                call    show_al
                mov     al,[si+121]
                call    show_al
                mov     al,[si+120]
                call    show_al                              
                PRINTSTR        Enters                
                pop     cx
                pop     bx
showiden        endp

show_al         proc    far     public

                push    ax
                push    dx
                mov     dh,al
                and     al,0f0h
                shr     al,4
                add     al,30h
                cmp     al,3ah
                jb      doing
                add     al,7
doing:          mov     dl,al
                mov     ah,2
                int     21h                                   
	
	        mov     al,dh
                and     al,0fh
                add     al,30h
                cmp     al,3ah
                jb      doing1
                add     al,7
doing1:         mov     dl,al
                mov     ah,2
                int     21h  	
                pop     dx
                pop     ax
                ret
show_al		endp

checkATAPI      proc    far     public

                mov     dx,pri_cntl     ;
                mov     al,04h          ;reset channel
                out     dx,al
                out     0ebh,al
                mov     al,00h
                out     dx,al           ;reset complete
                mov     dx,pri_dev
                mov     al,0b0h         ;slave for cd - rom
                out     dx,al
                mov     dx,1f5h
                in      al,dx
                cmp     al,0ebh
                jnz     exit2
                mov     dx,1f4h
                in      al,dx
                cmp     al,14h
                jnz     exit2
                printstr        enters
                printstr        info_audio
                call    TestUnitRdy 
                call    PlayAudio
                ret
exit2:          printstr        enters
                printstr        error2
                ret                
checkATAPI      endp

TestUnitRdy     proc    far     public

                mov     dx,pri_cntl     ;
                mov     al,04h          ;reset channel
                out     dx,al
                out     0ebh,al
                mov     al,00h
                out     dx,al           ;reset complete
                mov     dx,pri_dev
                mov     al,0b0h         ;slave for cd - rom
                out     dx,al
resend1:
                mov     dx,1f7h
@@:             in      al,dx
                test    al,88h           ;busy and data?
                jnz      @b


                mov     dx,1f7h
                mov     al,0a0h
                out     dx,al
               
@@:             in      al,dx           ;wait for data req
                test    al,08h
                jz      @b     

                
    ;============  test ===============
                mov     ax,0abcdh
                out     80h,ax
                mov     dx,1f0h
                mov     ax,00
                out     dx,ax
                out     dx,ax
                out     dx,ax
                out     dx,ax
                out     dx,ax
                out     dx,ax

                mov     dx,1f7h
                in      al,dx
                test    al,01h          ;check error???
                jnz     resend1

                mov     dx,1f7h
@@:             in      al,dx
                test    al,84h           ;busy and data?
                jnz      @b

                
resend2:                
                mov     dx,1f7h         ;second send 
                mov     al,0a0h
                out     dx,al
                
@@:             in      al,dx
                test    al,08h
                jz      @b                
         ;===============================test 
                mov     ax,1234h
                out     80h,ax
                
                
                mov     dx,1f0h
                mov     ax,0045h
                out     dx,ax              
                mov     ax,0ffffh
                out     dx,ax
                mov     ax,0ffffh
                out     dx,ax
                mov     ax,0ff00h
                out     dx,ax
                mov     ax,00ffh
                out     dx,ax
                mov     ax,0000h
                out     dx,ax

                mov     dx,1f7h
                in      al,dx
                test    al,01h          ;check error???
                jnz     resend2                

                ret
TestUnitRdy     endp

PlayAudio       proc    far     public

                ret
PlayAudio       endp
end 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本韩国欧美在线| 久久久久久一二三区| 日韩一区二区三区视频在线观看| 国产亚洲精品福利| 亚洲一本大道在线| 国产成人av电影在线播放| 欧美专区在线观看一区| 久久精品视频免费观看| 亚洲福利一区二区| 色综合久久综合网97色综合| 久久嫩草精品久久久精品一| 亚洲国产一区二区三区 | 亚洲激情自拍偷拍| 精品一区二区三区av| 在线观看一区二区视频| 国产精品久久久久久久久免费相片| 日本vs亚洲vs韩国一区三区| 欧美影视一区在线| 亚洲色图视频网站| 成人免费福利片| 久久你懂得1024| 久久99久久99精品免视看婷婷 | 欧美丰满高潮xxxx喷水动漫| 亚洲日本va午夜在线影院| 国产成人午夜片在线观看高清观看| 欧美一级午夜免费电影| 视频在线观看一区| 91精品国产欧美一区二区成人| 一区二区三区欧美日| 色94色欧美sute亚洲线路一ni| 国产精品天美传媒沈樵| 国产成人鲁色资源国产91色综| 久久久美女毛片| 国产精品综合一区二区| 久久先锋影音av鲁色资源| 久久66热偷产精品| 国产亚洲综合色| 高清不卡一区二区| 国产精品久久久久7777按摩| 国产成人精品亚洲午夜麻豆| 国产欧美精品日韩区二区麻豆天美| 国产精品一区二区黑丝| 亚洲国产精品高清| 91色porny在线视频| 一级女性全黄久久生活片免费| 欧美制服丝袜第一页| 亚洲成人激情自拍| 日韩一级在线观看| 国产一区二区三区免费看| 国产午夜精品一区二区三区视频 | 精品久久久久久久久久久久久久久 | 亚洲欧美日韩精品久久久久| 色诱视频网站一区| 亚洲18色成人| 精品国产制服丝袜高跟| 国产成都精品91一区二区三| 1024精品合集| 欧美日高清视频| 国内成人免费视频| 日韩一区在线看| 欧美精品一级二级三级| 国产尤物一区二区| 亚洲人成精品久久久久久| 欧美日韩和欧美的一区二区| 久久99久久久欧美国产| 国产精品女主播av| 欧美区一区二区三区| 国产一区二区三区精品视频| 亚洲天堂a在线| 日韩视频在线你懂得| 成人黄色国产精品网站大全在线免费观看| 中文字幕一区二区在线播放 | 成人免费视频视频在线观看免费| 亚洲欧洲av另类| 91麻豆精品国产无毒不卡在线观看| 国内精品伊人久久久久av一坑| 亚洲欧美在线观看| 欧美大片日本大片免费观看| 99re视频这里只有精品| 美腿丝袜在线亚洲一区| 中文字幕一区二区三区色视频| 91精品国产综合久久精品 | 国产精一区二区三区| 亚洲影院久久精品| 国产欧美一区二区在线| 欧美一区二区免费| 在线视频中文字幕一区二区| 国产精品99久| 日本成人在线不卡视频| 亚洲日本成人在线观看| 欧美极品aⅴ影院| 日韩欧美国产不卡| 欧美日韩国产经典色站一区二区三区| 国产另类ts人妖一区二区| 日本欧美加勒比视频| 亚洲精品国产一区二区三区四区在线| 日韩精品一区二区三区三区免费| 色网综合在线观看| 不卡欧美aaaaa| 福利电影一区二区三区| 老司机精品视频在线| 日韩国产精品久久| 午夜视频久久久久久| 一区二区三区四区乱视频| 国产精品免费丝袜| 欧美激情综合五月色丁香| 久久免费视频色| 久久人人超碰精品| 久久综合狠狠综合久久综合88| 日韩一卡二卡三卡四卡| 8v天堂国产在线一区二区| 欧美日韩精品系列| 欧美日韩国产一级二级| 欧美日韩电影一区| 欧美伦理电影网| 91精品国产综合久久精品图片| 5566中文字幕一区二区电影| 欧美精品一二三区| 欧美一级久久久| 日韩欧美国产麻豆| 久久精品欧美日韩精品| 国产日本欧洲亚洲| 国产精品久久久久久亚洲毛片| 综合色天天鬼久久鬼色| 亚洲人123区| 亚洲超碰精品一区二区| 三级亚洲高清视频| 精品无人区卡一卡二卡三乱码免费卡| 九色综合国产一区二区三区| 国产一区二区三区四| 成人午夜免费视频| 色综合久久九月婷婷色综合| 在线观看不卡一区| 欧美精品日韩一本| 精品国产一区二区国模嫣然| 日本一区二区视频在线| 亚洲欧美日韩在线| 日韩国产欧美三级| 国产成人精品三级| 日本精品免费观看高清观看| 欧美区一区二区三区| 久久先锋资源网| 亚洲美女在线国产| 日产欧产美韩系列久久99| 国产精品一品二品| 色婷婷精品久久二区二区蜜臂av| 欧美日韩一级黄| 久久久久高清精品| 亚洲天堂av一区| 美女视频黄 久久| 波多野结衣在线一区| 欧美精品久久一区| 国产欧美一区二区精品性色超碰| 亚洲日本在线观看| 激情小说亚洲一区| 色婷婷亚洲综合| 亚洲精品在线一区二区| 一级做a爱片久久| 丁香天五香天堂综合| 777色狠狠一区二区三区| 欧美激情在线一区二区| 日韩激情中文字幕| 色综合色综合色综合色综合色综合| 欧美日本韩国一区| 亚洲欧美日韩久久| 国产乱码字幕精品高清av | 成人免费视频免费观看| 欧美一区二区精品在线| 一区二区三区91| 成人小视频在线观看| 欧美一区二区私人影院日本| 亚洲特黄一级片| 国产成人精品三级| 日韩一区二区麻豆国产| 亚洲国产一区在线观看| 波多野结衣欧美| 国产亚洲欧美日韩在线一区| 日韩制服丝袜av| 欧美主播一区二区三区美女| 国产精品久久久久久久久免费樱桃| 久久激情五月激情| 欧美电影一区二区三区| 一区二区三区在线视频免费观看| 国产电影精品久久禁18| 日韩欧美的一区二区| 午夜久久久影院| 欧美三级视频在线观看| 一区二区三区四区不卡在线| 暴力调教一区二区三区| 久久精品人人做人人爽人人| 九九视频精品免费| 91精品国产综合久久福利| 三级欧美韩日大片在线看| 欧美在线你懂得| 午夜视频在线观看一区| 欧美日韩中文字幕一区二区| 亚洲一区在线免费观看| 91久久精品日日躁夜夜躁欧美| 亚洲欧美在线另类| 色香色香欲天天天影视综合网|