프로그램의 코딩은 다음 주어졌다:
/* 두번째 하드 디스크 (0x81)에 첫번째 하드 디스크 (0x80)의 심상을 만드는 프로그램 */
#include<stdio.h>
#include<dos.h>
#include<conio.h>
/* INT 13H 연장, 기능 수 0x48를 사용하는 getdrivegeometry 기능 이 사용된 구조.*/
struct geometry
{
unsigned int size ; /* (완충기의 외침) 크기 */
unsigned int flags ; /* 정보 플래그 */
unsigned long cyl ; /* 드라이브에 육체적인 실린더의 수*/
unsigned long heads ;/* 드라이브에 육체적인 머리의 수 */
unsigned long spt ; /* 대위 당 육체적인 분야의 수 */
unsigned long sectors[2] ; /* 드라이브에 분야의 총계 */
unsigned int bps ; /*분야 당 바이트*/
} ;
/*디스크 주소 소포 체재의 구조, 기능, readabsolutesectors 및 writeabsolutesectors에 의해 사용되기 위하여 */
struct diskaddrpacket
{
char packetsize ; /* 소포, 일반적으로 10H의 크기 */
char reserved ; /* 보류하는 (0개) */
int blockcount ; /* 옮길 것이다 구획의 수 */
char far *bufferaddress ; /* 완충기를 옮기는 주소 */
unsigned long blocknumber[2] ; /* 절대 블럭 수 시작 */
} ;
|