<del id="dhfrq"></del>

    1. <tr id="dhfrq"></tr>
      成人午夜激情在线观看,国产精品一线天粉嫩av,99精品国产综合久久久久五月天 ,一卡2卡三卡4卡免费网站,国产高清在线男人的天堂,五月天国产成人AV免费观看,67194熟妇在线观看线路,成人无码潮喷在线观看
      現(xiàn)在位置:范文先生網(wǎng)>理工論文>計算機論文>也談硬盤參數(shù)測試t2gg

      也談硬盤參數(shù)測試t2gg

      時間:2023-02-20 22:50:23 計算機論文 我要投稿
      • 相關推薦

      也談硬盤參數(shù)測試t2gg

        《計算機世界月刊》1995年第八期上刊登了李宇先生的一篇文章,介紹了測試PC機軟硬盤參數(shù)的方法。文中介紹的讀取硬盤參數(shù)的方法是通過讀取并分析硬盤主引導記錄Masterboot record來取得硬盤信息的。此方法適用范圍比較廣。事實上由于現(xiàn)在很多PC都使用IDE型的硬盤,因此,我們也可以通過直接編程IDE控制器的方法獲得硬盤參數(shù)。下面簡單介紹一下這個方法,并給出一個匯編程序供大家參考。
      IDE(Integrated Drive Electronics)有時也被稱為ATAPI型控制器。此種控制器速度快,集 成度高,在PC機中應用廣泛。我們可以通過一些IDE控制命令來完成硬盤的讀/寫/校驗等各種操作。本文僅介紹其中的硬盤測試命令--0ECH。表1列出了IDE控制器的端口寄存器分配及功能,其中"主狀態(tài)寄存器"(1F7H)的各位定義如表2。
      表1 IDE端口寄存器地址及功能表2
      "硬盤控制寄存器"(3F6H)各位定義如表3。
      表3
      輸出IDE控制命令可采用下列步驟:
      (1)向端口3F6H寫入控制字節(jié),建立相應的硬盤控制方式;
      (2)檢驗控制器和驅(qū)動器的狀態(tài)(通過檢測端口1F7H的B7、B6兩位),若控制器空閑且驅(qū)動器就緒,即可輸出命令;
      (3)完整地輸出7B長的命令塊,依次寫入端口1F1H-1F7H,不論是否需要,端口1F1H-1F6H對應的前6B參數(shù)必須輸出,端口1F7H輸出命令碼0ECH;
      (4)檢測端口1F7H的B7、B3位,若控制器空閑且B3置1,表示操作結束,即可讀取結果;
      (5)通過端口1F0H獨取100H字至緩沖區(qū);
      (6)再次讀取端口1F7H,判斷B0位是否為0,若B0=0,表示命令成功,否則表示命令失敗,轉至錯誤處理;
      (7)通過表4所示的偏移量,讀取我們所需的信息并轉換成可顯示的信息。
      表4
      源程序如下。
      .MODEL SMALL
      .286
      .DATA
      copydb 'IDE hard drive identify program 1.0',0dh,0ah
      db 'Copyright (c) 1995 by LiChunsheng',0dh,0ah
      db 'All rights reserved.'
      db 0dh,0ah,0ah,'Model Number......'
      iofm dw 14h dup(2020h)
      db 0dh,0ah,'Firmware Revision....'
      dw 4 dup(2020h)
      db 0dh,0ah,'Serial number......'
      dw 0ah dup(2020h)
      db 0ah
      db 0dh,0ah,'Cylinders......'
      nofcdb 5 dup(20h)
      db 0dh,0ah,'Heads......'
      db 5 dup(20h)
      db 0dh,0ah,'Sectors per track...'
      db 5 dup(20h)
      db 0dh,0ah,'Bytes per track....'
      db 5 dup(20h)
      db 0dh,0ah,'Bytes per sector....'
      db 5 dup(20h)
      db 0dh,0ah,'Buffer size(KB).....'
      db 5 dup(20h)
      db 0dh,0ah,'ECC bytes......'
      db 5 dup(20h)
      db 0dh,0ah,'Drive capacity......'
      db 5 dup(20h)
      db 'MB',24h
      addrdb 2,6,12,8,10,42,44
      addr1dw 36h,14h,2eh,04h,14h,0ah
      cmddb 0,0,0,0,0,0,0ech
      hdinfodw 100h dup(?)
      t-o-msg db 'Time out of range!!!',0dh,0ah,24h
      errmsg db 'Error!!!',0dh,0ah,24h
      .CODE
      dec160PROC
      push di
      push dx
      push cx
      push ax
      mov al,20h
      std
      cmp dx,9999
      ja dloop
      stosb
      cmp dx,999
      ja dloop
      stosb
      cmp dx,99
      ja dloop
      stosb
      cmp dx,9
      ja dloop
      stosb
      dloop:mov ax,dx
      mov dx,0
      mov cx,10
      div cx
      xchg ax,dx
      add al,30h
      stosb
      cmp dx,0
      jnz dloop
      pop ax
      pop cx
      pop dx
      pop di
      cld
      ret
      dec160endp
      mainPROC
      mov ax,@DATA
      mov ds,ax
      mov es,ax
      mloop1:
      mov cx,0
      mov dx,1f7h
      mloop2:in al,dx
      and al,11000000b
      cmp al,01000000b
      jz d-rdy
      loop mloop2
      jmp time-out
      d-rdy:mov al,0
      mov dx,3f6h
      out dx,al
      mov si,offset cmd
      mov al,byte ptr
      and al,1
      mov cl,4
      shl al,cl
      or al,0a0h
      mov byte ptr,al
      mov dx,1f1h
      mov cx,7
      mloop3:
      lodsb
      out dx,al
      inc dx
      loop mloop3
      dec dx
      xor cx,cx
      mloop4:
      in al,dx
      and al,10001000b
      cmp al,00001000b
      jz readdata
      loop mloop4
      jmp time-out
      readdata:
      cli
      cld
      mov dx,1f0h
      mov di,offset hdinfo
      mov cx,100h
      repz insw
      sti
      mov dx,1f7h
      in al,dx
      and al,71h
      xor al,50h
      jnz errend
      mov si,offset addr
      mov di,offset

      nofc
      add di,4
      mov bh,0
      mov cx,7
      mloop6:
      mov bl,byte ptr
      mov dx,word ptr
      call dec160
      inc si
      add di,28
      loop mloop6
      mov ax,1
      mov si,offset addr
      mov cx,3
      mloop7:
      mov bl,byte ptr
      mul word ptr
      inc si
      loop mloop7
      mov bx,2048
      div bx
      mov dx,ax
      call dec160
      mov bx,offset hdinfo
      mov si,offset addr1
      mov di,offset iofm
      mov cx,3
      mloop8:
      push cx
      push bx
      add bx,
      mov cx,
      add si,4
      mloop9:mov ax,word ptr
      xchg ah,a1
      stosb
      mov al,ah
      stosb
      add bx,2
      loop mloop9
      pop bx
      pop cx
      add di,23
      loop mloop8
      mov dx,offset copy
      jmp endproc
      time-out:
      mov dx,offset t-o-msg
      jmp endproc
      errend:
      mov dx,offset errmsg
      endproc:
      mov ah,09h
      int 21h
      mov ah,4ch
      int 21h
      mainendp
      end main


      【也談硬盤參數(shù)測試t2gg】相關文章:

      如何測試軟硬盤驅(qū)動器參數(shù)08-06

      也談責任08-17

      也談讀經(jīng)08-16

      也談參與08-17

      也談“終端促銷”08-06

      也談“終端促銷”08-06

      也談估算教學08-05

      也談語文積累08-20

      也談“學雷鋒”08-06

      主站蜘蛛池模板: 亚洲欧洲色图片网站| 人人做人人澡人人人爽| 激情综合网激情激情五月天| 4399理论片午午伦夜理片| 精品乱码一区二区三四五区| 91久久偷偷做嫩草影院免费看| 国产精品内射在线免费看| 欧洲免费一区二区三区视频| 久久精品国产国产精品四凭| 精品久久精品午夜精品久久 | 人妻系列无码专区免费| 日本成熟少妇喷浆视频| 色综合色综合色综合频道| 一区二区中文字幕av| 理论片午午伦夜理片久久| 线观看的国产成人av天堂| 老色鬼永久精品网站| 精品无码国产日韩制服丝袜| 福利视频一区二区在线| 久久美女夜夜骚骚免费视频| 福利一区二区不卡国产| 亚洲国产成人精品av区按摩| 东北女人毛多水多牲交视频| 色就色偷拍综合一二三区| 中文字幕少妇人妻精品| 日韩中文字幕高清有码| 亚洲一区二区日韩综合久久| 香港日本三级亚洲三级| 884aa四虎影成人精品| 国产精品午夜福利合集| 吉川爱美一区二区三区视频| 91精品乱码一区二区三区| 天天澡日日澡狠狠欧美老妇| 在线观看国产成人av天堂| 色窝窝免费播放视频在线| 久久亚洲精品11p| 综合久久av一区二区三区| 国产美女MM131爽爽爽| 久久人妻国产精品| www久久只有这里有精品| 乱人伦人妻中文字幕不卡|