Αυτό που πρέπει να κάνετε είναι ακριβώς να ληφθεί μια φρέσκια και νέα δισκέτα για να κάνει την εικόνα DBR του και να αντιγράψει την παραγωγή αυτού του προγράμματος από το αρχείο προορισμού που διευκρινίζεται και να κολλήσει αυτό το στοιχείο στο πρόγραμμά σας. Κάνετε μερικών που σχηματοποιούν αν είναι απαραίτητο. Δείτε πώς λειτουργεί:
/* Πρόγραμμα για να γίνει η εικόνα μποτών της δισκέτας στο χαρακτήρα ΔΕΚΑΕΞΑΔΙΚΟΥ */
#include <bios.h>
#include <stdio.h>
int main(void)
{
struct diskinfo_t dinfo;
union REGS regs;
int result,i;
int count=0;
char fname[80];
static char dbuf[512];
FILE *fp;
dinfo.drive = 0x00; /*αριθμός κίνησης για το Α:*/
dinfo.head = 0; /* επικεφαλής αριθμός δίσκων */
dinfo.track = 0; /*αριθμός διαδρομής */
dinfo.sector = 1; /* αριθμός τομέα */
dinfo.nsectors = 1; /* αρίθμηση τομέα */
dinfo.buffer = dbuf; /* απομονωτής στοιχείων*/
clrscr();
gotoxy(10,3);cprintf("Εισάγετε το όνομα αρχείων και την πορεία για να αποθηκεύσετε την εικόνα μποτών στο σύστημα ΔΕΚΑΕΞΑΔΙΚΟΥ");
gotoxy(5,5);
gets(fname);
fp=fopen(fname,"wb");
if((fp=fopen(fname,"wb"))==NULL)
{
highvideo();
gotoxy(10,10);cprintf("Το αρχείο δεν θα μπορούσε να δημιουργηθεί");
getch();
exit(0);
}
/// Μονογράψτε το σύστημα δίσκων \\\
for(i=0; i<3; i++)
{
regs.h.ah = 0x00; /* Σύστημα δίσκων αναστοιχειοθέτησης */
regs.h.dl = 0x00; /* Δισκέτα α:*/
int86(0x13, ®s, ®s);
}
gotoxy(10,9); cprintf("Προσπάθεια να διαβάσει από την κίνηση δισκετών:\n");
result = _bios_disk(_DISK_READ, &dinfo);
if ((result & 0xff00) == 0)
{
gotoxy(10,14);
cprintf("Δίσκος που διαβάζεται από την κίνηση δισκετών: επιτυχής.\n");
while(count<512)
{
fprintf(fp,"0x%X, ",dbuf[count] & 0xff );
count++;
}
fclose(fp);
}
else
{
gotoxy(10,14);
cprintf("Μην μπορέστε να διαβάσετε να οδηγήσει το Α, status = 0x%02x\n",
result);
}
return 0;
}
|