99精品久久这里只有精品,三上悠亚免费一区二区在线,91精品福利一区二区,爱a久久片,无国产精品白浆免费视,中文字幕欧美一区,爽妇网国产精品,国产一级做a爱免费观看,午夜一级在线,国产精品偷伦视频免费手机播放

    <del id="eyo20"><dfn id="eyo20"></dfn></del>
  • <small id="eyo20"><abbr id="eyo20"></abbr></small>
      <strike id="eyo20"><samp id="eyo20"></samp></strike>
    • 首頁 > 文章中心 > 正文

      硬盤參數(shù)測(cè)試

      前言:本站為你精心整理了硬盤參數(shù)測(cè)試范文,希望能為你的創(chuàng)作提供參考價(jià)值,我們的客服老師可以幫助你提供個(gè)性化的參考范文,歡迎咨詢。

      硬盤參數(shù)測(cè)試

      《計(jì)算機(jī)世界月刊》1995年第八期上刊登了李宇先生的一篇文章,介紹了測(cè)試PC機(jī)軟硬盤參數(shù)的方法。文中介紹的讀取硬盤參數(shù)的方法是通過讀取并分析硬盤主引導(dǎo)記錄Masterbootrecord來取得硬盤信息的。此方法適用范圍比較廣。事實(shí)上由于現(xiàn)在很多PC都使用IDE型的硬盤,因此,我們也可以通過直接編程IDE控制器的方法獲得硬盤參數(shù)。下面簡單介紹一下這個(gè)方法,并給出一個(gè)匯編程序供大家參考。

      IDE(IntegratedDriveElectronics)有時(shí)也被稱為ATAPI型控制器。此種控制器速度快,集成度高,在PC機(jī)中應(yīng)用廣泛。我們可以通過一些IDE控制命令來完成硬盤的讀/寫/校驗(yàn)等各種操作。本文僅介紹其中的硬盤測(cè)試命令--0ECH。表1列出了IDE控制器的端口寄存器分配及功能,其中"主狀態(tài)寄存器"(1F7H)的各位定義如表2。

      表1IDE端口寄存器地址及功能表2

      "硬盤控制寄存器"(3F6H)各位定義如表3。

      表3

      輸出IDE控制命令可采用下列步驟:

      (1)向端口3F6H寫入控制字節(jié),建立相應(yīng)的硬盤控制方式;

      (2)檢驗(yàn)控制器和驅(qū)動(dòng)器的狀態(tài)(通過檢測(cè)端口1F7H的B7、B6兩位),若控制器空閑且驅(qū)動(dòng)器就緒,即可輸出命令;

      (3)完整地輸出7B長的命令塊,依次寫入端口1F1H-1F7H,不論是否需要,端口1F1H-1F6H對(duì)應(yīng)的前6B參數(shù)必須輸出,端口1F7H輸出命令碼0ECH;

      (4)檢測(cè)端口1F7H的B7、B3位,若控制器空閑且B3置1,表示操作結(jié)束,即可讀取結(jié)果;

      (5)通過端口1F0H獨(dú)取100H字至緩沖區(qū);

      (6)再次讀取端口1F7H,判斷B0位是否為0,若B0=0,表示命令成功,否則表示命令失敗,轉(zhuǎn)至錯(cuò)誤處理;

      (7)通過表4所示的偏移量,讀取我們所需的信息并轉(zhuǎn)換成可顯示的信息。

      表4

      源程序如下。

      .MODELSMALL

      .286

      .DATA

      copydb''''IDEharddriveidentifyprogram1.0'''',0dh,0ah

      db''''Copyright(c)1995byLiChunsheng'''',0dh,0ah

      db''''Allrightsreserved.''''

      db0dh,0ah,0ah,''''ModelNumber......''''

      iofmdw14hdup(2020h)

      db0dh,0ah,''''FirmwareRevision....''''

      dw4dup(2020h)

      db0dh,0ah,''''Serialnumber......''''

      dw0ahdup(2020h)

      db0ah

      db0dh,0ah,''''Cylinders......''''

      nofcdb5dup(20h)

      db0dh,0ah,''''Heads......''''

      db5dup(20h)

      db0dh,0ah,''''Sectorspertrack...''''

      db5dup(20h)

      db0dh,0ah,''''Bytespertrack....''''

      db5dup(20h)

      db0dh,0ah,''''Bytespersector....''''

      db5dup(20h)

      db0dh,0ah,''''Buffersize(KB).....''''

      db5dup(20h)

      db0dh,0ah,''''ECCbytes......''''

      db5dup(20h)

      db0dh,0ah,''''Drivecapacity......''''

      db5dup(20h)

      db''''MB'''',24h

      addrdb2,6,12,8,10,42,44

      addr1dw36h,14h,2eh,04h,14h,0ah

      cmddb0,0,0,0,0,0,0ech

      hdinfodw100hdup(?)

      t-o-msgdb''''Timeoutofrange!!!'''',0dh,0ah,24h

      errmsgdb''''Error!!!'''',0dh,0ah,24h

      .CODE

      dec160PROC

      pushdi

      pushdx

      pushcx

      pushax

      moval,20h

      std

      cmpdx,9999

      jadloop

      stosb

      cmpdx,999

      jadloop

      stosb

      cmpdx,99

      jadloop

      stosb

      cmpdx,9

      jadloop

      stosb

      dloop:movax,dx

      movdx,0

      movcx,10

      divcx

      xchgax,dx

      addal,30h

      stosb

      cmpdx,0

      jnzdloop

      popax

      popcx

      popdx

      popdi

      cld

      ret

      dec160endp

      mainPROC

      movax,@DATA

      movds,ax

      moves,ax

      mloop1:

      movcx,0

      movdx,1f7h

      mloop2:inal,dx

      andal,11000000b

      cmpal,01000000b

      jzd-rdy

      loopmloop2

      jmptime-out

      d-rdy:moval,0

      movdx,3f6h

      outdx,al

      movsi,offsetcmd

      moval,byteptr

      andal,1

      movcl,4

      shlal,cl

      oral,0a0h

      movbyteptr,al

      movdx,1f1h

      movcx,7

      mloop3:

      lodsb

      outdx,al

      incdx

      loopmloop3

      decdx

      xorcx,cx

      mloop4:

      inal,dx

      andal,10001000b

      cmpal,00001000b

      jzreaddata

      loopmloop4

      jmptime-out

      readdata:

      cli

      cld

      movdx,1f0h

      movdi,offsethdinfo

      movcx,100h

      repzinsw

      sti

      movdx,1f7h

      inal,dx

      andal,71h

      xoral,50h

      jnzerrend

      movsi,offsetaddr

      movdi,offsetnofc

      adddi,4

      movbh,0

      movcx,7

      mloop6:

      movbl,byteptr

      movdx,wordptr

      calldec160

      incsi

      adddi,28

      loopmloop6

      movax,1

      movsi,offsetaddr

      movcx,3

      mloop7:

      movbl,byteptr

      mulwordptr

      incsi

      loopmloop7

      movbx,2048

      divbx

      movdx,ax

      calldec160

      movbx,offsethdinfo

      movsi,offsetaddr1

      movdi,offsetiofm

      movcx,3

      mloop8:

      pushcx

      pushbx

      addbx,

      movcx,

      addsi,4

      mloop9:movax,wordptr

      xchgah,a1

      stosb

      moval,ah

      stosb

      addbx,2

      loopmloop9

      popbx

      popcx

      adddi,23

      loopmloop8

      movdx,offsetcopy

      jmpendproc

      time-out:

      movdx,offsett-o-msg

      jmpendproc

      errend:

      movdx,offseterrmsg

      endproc:

      movah,09h

      int21h

      movah,4ch

      int21h

      mainendp

      endmainHY6YVASD1Q

      天堂av一区二区在线| 亚洲欧美精品伊人久久 | 国产一区二区丰满熟女人妻| 国产亚洲精品视频在线| 亚洲天堂成人av在线观看| 无码人妻av免费一区二区三区| 一本大道香蕉最新在线视频| 看全色黄大黄大色免费久久 | 亚洲国产高清在线一区二区三区| 亚洲av人妖一区二区三区| 亚洲精品国产av成拍| 国产办公室秘书无码精品99| 久久人人妻人人做人人爽| 国产精品麻豆A啊在线观看| 精品国产香蕉伊思人在线又爽又黄| 蜜桃在线观看免费高清完整版 | 午夜熟女插插xx免费视频| 越猛烈欧美xx00动态图| 成人精品国产亚洲欧洲| 亚洲午夜经典一区二区日韩| 国产精品久久久久久一区二区三区| 久久久久99精品国产片| 国产三级黄色的在线观看| 97超碰精品成人国产| 国产亚洲真人做受在线观看| 亚洲AV永久青草无码性色av| 精品一区二区三区老熟女少妇| 特黄 做受又硬又粗又大视频| 又色又污又爽又黄的网站| 亚洲AV无码一区二区三区精神| 日本一区二区三级在线| 丰满多毛的大隂户毛茸茸 | 亚洲色精品aⅴ一区区三区| 国产AV无码专区亚洲AV桃花庵| 三个黑人插一个女的视频| 97人人模人人爽人人喊网| 色94色欧美sute亚洲线路二| 亚洲综合久久久中文字幕| 亚洲 另类 小说 国产精品| 麻豆国产人妻欲求不满谁演的 | 这里只有久久精品|