Osservazioni su codificazione di programma:
Nella codificazione di programma data più presto, stiamo continuando basicamente effettuare le seguenti mansioni per gradi:
- il dinfo indica alla struttura del diskinfo_t che contiene le informazioni dei parametri richiesti tramite il funzionamento realizzato dalla funzione del _bios_disk.
- Poichè stiamo andando redigere le informazioni sul primo settore del disc quindi la posizione del settore sarà come segue:
Parametro |
Che cosa significa |
dinfo.drive = 0x00 |
Indica l'azionamento 0 che è azionamento di dischetto (a:) |
dinfo.head = 0 |
Indica al numero capo 0 |
dinfo.track = 0 |
Indica alla pista 0 |
dinfo.sector = 1 |
Primo settore del disco magnetico che è settore 1 |
dinfo.sector = 1 |
Il numero di settori da considerare per scrive il funzionamento = 1 |
dinfo.buffer = dbuf |
I dati attenuano per il funzionamento |
- Aprire la lima in cui le informazioni di immagine del caricamento del sistema di 512 byte di un disco magnetico fresco sono state memorizzate dal programma precedente. Il nome di archivio ed il percorso è immagazzinato nel fname di allineamento di carattere.
- Inizializzare il sistema di disc usando l'interruzione 13H (funzione 00h) dove regs.h.ah = 0x00 indica alla funzione 00 H e regs.h.dl = 0x00 è usato per la a: floscio. E int86 (0x13, ®s, ®s) invoca il servizio 13 INTERNI H. di interruzione di MS-DOS.
- il _bios_disk (_DISK_WRITE, &dinfo) redige le informazioni del caricamento del sistema dalla lima specificata al primo settore (specificato) del dischetto.
- La condizione restituita è memorizzata nel risultato che è usato per visualizzare il messaggio per il funzionamento riuscito o per visualizzare un messaggio di errore sullo schermo se qualunque errore accade.
Facciamolo con il singolo programma
Spero, ora voi ho capito il concetto dietro tale tipo di recupero di dati dal dischetto. Dopo che questo li lasci immaginare un singolo programma che fornisce stessi risultati che abbiamo ottenuto con l'aiuto dei due programmi discussi precedentemente.
Stavamo facendo le seguenti mansioni con i programmi recentemente discussi:
- Memorizzare le informazioni del caricamento del sistema da un buon dischetto ad una lima
- Incollare queste informazioni al primo settore del disco magnetico attualmente illeggibile
La lima che stavamo usando immagazzinare l'immagine del caricamento del sistema stava funzionando come ponticello intermedio per collegare i funzionamenti di entrambi il programma. Ma se definiamo queste informazioni nella nostra codificazione di programma in se del caricamento del sistema, non dobbiamo generare una lima come pure non dobbiamo leggere le informazioni del caricamento del sistema del disco magnetico dalla lima.
Nel nostro programma seguente stiamo dicendo al nostro programma circa che cosa deve scrivere nel primo settore del dischetto illeggibile e possiamo così evitare due programmi differenti per fare la stessa operazione e possiamo recuperare i nostri dati come prima dal nuovo singolo programma.
Il programma diventa così semplice con meno codificazione e possiamo ridurre la probabilità del caso della lima colto, errori della creazione o scriviamo. Stiamo facendo le seguenti quattro mansioni importanti in questo programma:
Non ritenere il programma difficile scrivere e capire si veda le informazioni esadecimali di 512 byte di dbuf [512]. Più successivamente, discuteremo il senso facile redigere queste informazioni per la vostra codificazione di programma. |
- Definire le informazioni record del caricamento del sistema del DOS nel sistema esadecimale da scrivere nel primo settore del disco magnetico attualmente illeggibile.
- Ripristinare il sistema di disc per inizializzare il dischetto (13H INTERNO, funzione 00H).
- Scrivere l'annotazione del caricamento del sistema del DOS al primo settore del disco magnetico
- Controllare per vedere se c'è il completamento riuscito del funzionamento e dell'errore, se accaduto.
|