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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? how to read and write to a hard drive.htm

?? 硬盤ide和fat文件系統(tǒng)開(kāi)發(fā)詳解
?? HTM
字號(hào):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0047)http://home.teleport.com/~brainy/diskaccess.htm -->
<HTML><HEAD><TITLE>How to Read and Write to a Hard Drive</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="MSHTML 6.00.2800.1276" name=GENERATOR></HEAD>
<BODY>
<P align=center><STRONG><U><BIG>How to Read and Write to a Hard 
Drive</BIG></U></STRONG><BR>Written by Jack Dobiash</P>
<P align=center><EM>Updated May 8th, 1999</EM></P>
<P align=left>&nbsp;</P>
<P align=left><EM>&nbsp;&nbsp; </EM>Since I've been getting several questions 
regarding how to access the data on a Hard Drive, I figured I'd write up this 
little starter. &nbsp; I don't plan on showing every detail, since each 
programming language has a different way to implement it, but it should at least 
point you in the right direction. &nbsp; Basically all these instructions 
pertain to using the Software Interrupts that are built into DOS v5.0 and above, 
including Windows '95 and '98 (Although I don't use any that require me to be 
inside of the GUI environment).&nbsp; Note that this may not be (and probably 
isn't) the only way to do this, but it is the method that I am using.&nbsp; If 
you have a different operating system than something Microsoft based, while the 
Interrupts may be different, the method to doing it is still probably 
similar.</P>
<P align=left>&nbsp;</P>
<P align=left><U><STRONG>Int 13h Extensions</STRONG></U></P>
<P align=left>&nbsp;&nbsp;&nbsp; Right off the bat I have to talk about the Int 
13h Extensions.&nbsp; Basically Interrupt 13h is the one that I use for all of 
the disk accessing.&nbsp; The problem is that the original disk accessing 
commands of Int 13h don't have the capability of reaching beyond the 8GB barrier 
which some of you have probably heard of.&nbsp; The limit stems from the fact 
that they only allow a maximum of 1024 cylinders, 256 heads, and 63 sectors per 
track, which if you multiply those all together and then by 512 (number of bytes 
in each sector), you get the 8GB (Actually it's a tad below 8GB, but pretty darn 
close).&nbsp; Anyway, newer computers have BIOS's that have Int 13h Extensions 
in them, which are new routines that can reach beyond the barrier. &nbsp; Older 
computers which don't have this addition can have a Disk Overlay Manager (like 
OnTrack or EZ-Drive) load up right at the start which will add in routines and 
make the whole drive accessible.&nbsp; There were also other barriers too (the 
504MB limit, the 2048MB limit) but those were for other reasons.</P>
<P align=left>&nbsp;&nbsp;&nbsp; Basically the first thing you want to do is 
check to see if the computer has the capability to use the Int 13h 
Extensions.&nbsp; If it does, you can then just use those routines from that 
point on, otherwise you'll need to use the older ones.&nbsp; The Interrupt to 
check for the extensions is <U><EM><STRONG>Int 13h, section 
AH=41h</STRONG></EM></U>.&nbsp; If the Carry Flag is NOT set, then the computer 
has the extensions.</P>
<P align=left>&nbsp;&nbsp;&nbsp; Note: Here is a <A 
href="http://www.teleport.com/~brainy/interrupts.htm">link</A> to all of the 
interrupts I'm going to talk about on this page, with information on what to 
plug into the Registers to make them work.&nbsp; Since talking about the details 
of how to use each interrupt would take to long, I'll just say which ones to use 
and you can refer to the <A 
href="http://www.teleport.com/~brainy/interrupts.htm">Interrupts Page</A> on how 
to use them.</P>
<P align=left>&nbsp;&nbsp;&nbsp; So from now on I'll make two references on how 
to do things.&nbsp; One with the extensions, and one without.</P>
<P align=left>&nbsp;</P>
<P align=left><U><STRONG>Drive Parameters</STRONG></U></P>
<P align=left>&nbsp;&nbsp;&nbsp; First thing that needs to be done is to get the 
parameters of the drive (How many Cylinders, Head, Sectors, Total # of Sectors, 
etc). &nbsp;&nbsp; </P>
<P align=left>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Extensions Method : 
<EM><U><STRONG>Use Int 13h, section AH=48h.</STRONG></U></EM> 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Non-Extensions Method : 
<STRONG><EM><U>Use Int 13h, section AH=08h.</U></EM></STRONG> </P>
<P align=left>&nbsp;&nbsp;&nbsp; The Non-Extensions Method won't give you the 
Total # of Sectors in the drive, so if you need to know you'll have to calculate 
it.&nbsp; Also, the values you get from the Extensions Method are the TOTAL 
amount of them, so if it says you have 128 heads, it means you have to use 127 
as the Max Value, since Heads and Cylinders are 0 based values.&nbsp; The number 
of sectors will be correct as is, since it is a 1 based value.</P>
<P align=left>&nbsp;</P>
<P align=left><U><STRONG>CHS &lt;--&gt; LBA Translations</STRONG></U></P>
<P align=left>&nbsp;&nbsp;&nbsp; If you can use Extensions, than basically you 
won't need to use anything but LBA (Logical Block Addressing) Mode.&nbsp; In 
this mode you can just reference the drive sector by sector, with 0 being the 
MBR, and on up.&nbsp; No need to keep track of what Cylinder or Head or Sector 
you are on that way.&nbsp; If you can't use the extensions, then you'll need 
routines to convert an LBA value into a CHS value in order to use the reading 
and writing routines.&nbsp; It's still a good idea to reference everything in 
LBA, and to only use CHS when doing the actual reading and writing. &nbsp; For 
example, if I want to access the 16000th sector through the 17000th sector of a 
hard drive, instead of having to keep track of CHS values during the count, you 
just use LBA, and send that number to the read/write routine, which at that 
point the LBA gets turned into CHS to be used in the interrupt.&nbsp; It's must 
easier than having to keep track of incrementing H when S is full and 
incrementing C when H is full.</P>
<P align=left>&nbsp;&nbsp;&nbsp; Anyway, onto the math.&nbsp; To Convert a CHS 
value to a LBA value, you use this math formula:</P>
<P align=left>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
LBA = (Sector - 1) + (Head * Total Sectors) + (Cylinder * (Total&nbsp; Heads + 
1) * Total Sectors)</P>
<P align=left>Total Sectors and Total Heads were values obtained from the Drive 
Parameters.</P>
<P align=left>&nbsp;&nbsp;&nbsp; To Convert an LBA value back to CHS, you use 
these math formulas:</P>
<P align=left>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
Sector &nbsp; = ((LBA <STRONG>Mod</STRONG> Total Sectors) 
+1)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
CylHead = (LBA <STRONG>Div</STRONG> Total 
Sectors)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
Head = (CylHead <STRONG>Mod</STRONG> (Total Heads + 
1))<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
Cylinder = (CylHead <STRONG>Div</STRONG> (Total Heads + 1))</P>
<BLOCKQUOTE>
  <P align=left>Basically what you are seeing here is how I did it in Pascal 
  without some of the syntax.&nbsp; <STRONG>MOD</STRONG> is a way to obtain the 
  remainder of the math, instead of the quotient.&nbsp; You'll need to figure 
  out what your languages equivalent syntax is.&nbsp; Also, CYLHEAD is just a 
  temporary variable I used to hold information which was then used to figure 
  out the # of Heads and Cylinders.</P></BLOCKQUOTE>
<P align=left>&nbsp;</P>
<P align=left><BR><U><STRONG>Reading and Writing to the Drive</STRONG></U></P>
<P>&nbsp;&nbsp;&nbsp; <EM>Reading Routines</EM></P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Extensions Method : 
<EM><U><STRONG>Use Int13h, section 
AH=42h</STRONG></U></EM><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
Non-Extensions Method : <U><EM><STRONG>Use Int13h, section 
AH=02h</STRONG></EM></U></P>
<P>&nbsp;&nbsp;&nbsp; <EM>Writing Routines</EM></P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Extensions Method : 
<U><EM><STRONG>Use Int13h, section 
AH=43h</STRONG></EM></U><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
Non-Extensions Method : <U><EM><STRONG>Use Int13h, section 
AH=03h</STRONG></EM></U></P>
<P>&nbsp;</P>
<P><STRONG><EM><U>Editing the Drive</U></EM></STRONG></P>
<P>&nbsp;&nbsp;&nbsp; I've also gotten some questions regarding how to directly 
edit your drive.&nbsp; In response I've decided to release my own little <A 
href="http://www.teleport.com/~brainy/DDD14.ZIP">Disk Doctor</A> program.&nbsp; 
Basically it allows you to go through the sectors of your hard drive and make 
byte by byte changes. &nbsp; Of course this is a <U>USE AT YOUR OWN RISK</U> 
program, but I use it at work and it helps me to figure out what has happened to 
a hard drive.</P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp; Well, that's about it!&nbsp; Check out the <A 
href="http://www.teleport.com/~brainy/interrupts.htm">Interrupts</A> Page for a 
listing of all the Interrupts shown in this document.</P>
<P align=center><A href="http://www.teleport.com/~brainy">Home</A> <A 
href="http://www.teleport.com/~brainy/rps.html">Reference Point Software</A> <A 
href="http://www.teleport.com/~brainy/fat32.htm">FAT32 Structure Information</A> 
<A href="http://www.teleport.com/~brainy/fat16.htm">FAT16 Structure 
Information</A> Disk Access Information<BR><A 
href="http://www.teleport.com/~brainy/bio.html">About Me</A> <A 
href="http://www.teleport.com/~brainy/links.html">Links</A> <A 
href="http://www.teleport.com/~brainy/dobiash.html">Dobiash?</A></P></BODY></HTML>

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩国产bt| 成人av综合一区| 欧美一区二区三区人| 美女一区二区视频| 精品88久久久久88久久久| 国产一区在线观看麻豆| 中文字幕av在线一区二区三区| 国产成人午夜精品影院观看视频| 国产欧美精品区一区二区三区 | 欧美精选在线播放| 水蜜桃久久夜色精品一区的特点| 欧美电视剧免费全集观看| 九九九精品视频| 国产精品每日更新在线播放网址 | 中文字幕日本乱码精品影院| 色哟哟欧美精品| 奇米影视7777精品一区二区| 久久一区二区三区四区| 国产不卡一区视频| 亚洲综合免费观看高清完整版在线| 欧美精品久久一区| 国产呦萝稀缺另类资源| 亚洲视频一区二区在线| 欧美日韩一级视频| 国产成人精品www牛牛影视| 日韩伦理av电影| 日韩一级大片在线| 成人黄色网址在线观看| 午夜视频一区在线观看| 国产拍揄自揄精品视频麻豆| 色天天综合久久久久综合片| 日本aⅴ精品一区二区三区 | 亚洲卡通欧美制服中文| 欧美一区二区日韩| 99久久久国产精品免费蜜臀| 奇米亚洲午夜久久精品| 亚洲私人影院在线观看| 日韩欧美你懂的| 91丨porny丨首页| 激情小说欧美图片| 樱花影视一区二区| 国产视频一区二区三区在线观看| 欧美久久一区二区| 国产一区二区免费在线| 一区二区欧美国产| 国产欧美一区二区三区鸳鸯浴| 在线日韩av片| 成人免费看的视频| 精品一区免费av| 午夜精品久久久| 亚洲日穴在线视频| 久久久99久久| 精品久久久久久久久久久久久久久 | 97成人超碰视| 国产一区二区三区久久久| 午夜精品成人在线视频| 亚洲视频一二三区| 中文字幕av在线一区二区三区| 精品国产一区二区在线观看| 69堂精品视频| 欧美性色aⅴ视频一区日韩精品| 成人激情免费电影网址| 激情综合色播五月| 免费成人美女在线观看| 午夜av一区二区| 亚洲摸摸操操av| 亚洲欧洲另类国产综合| 欧美国产日韩一二三区| 国产视频在线观看一区二区三区 | www.66久久| 丰满少妇在线播放bd日韩电影| 久久精品国产99| 日本成人在线电影网| 亚洲午夜在线观看视频在线| 亚洲美女淫视频| 亚洲视频一区在线| 亚洲人成亚洲人成在线观看图片 | 国产精品欧美极品| 国产日韩三级在线| 欧美国产一区二区在线观看| 国产日产欧美一区二区三区| 国产欧美一区二区精品性色超碰 | 自拍偷在线精品自拍偷无码专区| 中文乱码免费一区二区| 国产精品三级av在线播放| 国产日韩精品一区二区三区| 中国色在线观看另类| 亚洲欧美自拍偷拍色图| 综合久久久久久久| 亚洲国产日韩av| 天堂一区二区在线| 毛片一区二区三区| 国产91清纯白嫩初高中在线观看| 成人av免费观看| 91福利区一区二区三区| 4438x成人网最大色成网站| 日韩亚洲欧美一区| 久久精品综合网| 亚洲色图欧洲色图婷婷| 性久久久久久久久| 久久精品国产秦先生| 成人午夜激情在线| 在线亚洲人成电影网站色www| 欧美日韩一区二区在线观看 | 欧美体内she精视频| 69堂成人精品免费视频| 久久噜噜亚洲综合| 国产精品国产三级国产有无不卡| 亚洲一区二区在线免费观看视频| 麻豆91在线看| 成人黄色国产精品网站大全在线免费观看 | 亚洲国产精品一区二区久久恐怖片| 日韩精品三区四区| 国产sm精品调教视频网站| 91久久精品国产91性色tv| 日韩欧美成人激情| 亚洲女与黑人做爰| 国产最新精品精品你懂的| 色婷婷亚洲一区二区三区| 日韩欧美亚洲一区二区| 亚洲人吸女人奶水| 激情五月激情综合网| 在线观看亚洲专区| 国产午夜亚洲精品不卡| 亚洲小说春色综合另类电影| 国产精品12区| 欧美一区二区精品久久911| 欧美国产综合一区二区| 蜜臀国产一区二区三区在线播放| 99v久久综合狠狠综合久久| 欧美一区二区三区在线观看 | 国产视频亚洲色图| 五月天激情综合网| 91影院在线免费观看| 精品国产麻豆免费人成网站| 一区二区三区四区不卡视频| 国产精品一区二区在线观看不卡 | 日韩欧美高清在线| 自拍偷在线精品自拍偷无码专区 | 久久久久久久久久久久久女国产乱 | 欧美在线free| 国产女人aaa级久久久级 | 一卡二卡三卡日韩欧美| 国产一区二区女| 日韩欧美亚洲另类制服综合在线| 亚洲夂夂婷婷色拍ww47| 成人精品视频一区二区三区尤物| 日韩欧美一区二区三区在线| 亚洲成年人影院| 91麻豆国产在线观看| 国产精品少妇自拍| 国产在线视频一区二区三区| 欧美一区二区三区免费大片| 亚洲第一久久影院| 色综合久久综合中文综合网| 中文字幕欧美日韩一区| 国产成人综合网站| 久久久无码精品亚洲日韩按摩| 免费欧美日韩国产三级电影| 欧美日韩视频在线观看一区二区三区| 专区另类欧美日韩| 91香蕉视频mp4| 国产精品久久777777| 国产成人综合亚洲91猫咪| 2024国产精品| 黄色日韩三级电影| 久久久91精品国产一区二区精品| 免费观看91视频大全| 日韩欧美卡一卡二| 精品一区二区三区欧美| 欧美大片一区二区| 国产一区二区伦理片| 久久久国产一区二区三区四区小说| 国产麻豆精品一区二区| 国产天堂亚洲国产碰碰| www.亚洲免费av| 欧美一区二区三区免费视频| 日韩毛片高清在线播放| 99精品1区2区| 国产精品久久久久久久蜜臀| 成人午夜电影久久影院| 最新高清无码专区| 日本精品一区二区三区高清 | 老司机精品视频一区二区三区| 在线综合亚洲欧美在线视频| 青青草原综合久久大伊人精品优势| 日韩欧美综合在线| 国产一区二区美女| 中文字幕一区二区三区在线播放| 日本黄色一区二区| 婷婷国产v国产偷v亚洲高清| 日韩欧美国产综合在线一区二区三区| 麻豆成人久久精品二区三区红| 国产欧美一区二区三区沐欲| 一本一道综合狠狠老| 无吗不卡中文字幕| 久久女同互慰一区二区三区| 91在线视频观看| 日韩精品国产欧美| 日本一区二区三区四区在线视频|