Abort
Cara Mudah Membangun Usaha Tour & Travel Fungsi Menghentikan eksekusi program secara tak normal. Sintaks #include <stdlib.h>void... [Selanjutnya...]
Ditulis oleh Benidiktus Sihotang Senin, 01 Agustus 2011 18:12
Referensi - Bahasa Pemrograman C dan C++
Fungsi
Memberikan layanan disk drive BIOS.
Sintaks
#include
unsigned _bios_disk(unsigned cmd, struct diskinfo_t *dinfo);
Rincian
_bios_disk menggunakan interrupt 0x13 untuk melakukan operasi disk langsung ke BIOS. Argumen cmd menentukan operasi yang dilakukan, dan info menunjuk ke struktur diskinfo_t yang berisi parameter lain yang dibutuhkan oleh operasi ini. Struktur diskinfo_t yang didefinisikan dalam bios.h memiliki format seperti ini:
struct diskinfo_t {
unsigned drive, head, track, sector, nsectors;
void far *buffer;
};
Drive merupakan bilangan yang menentukan disk drive mana yang dipakai: 0 untuk disk drive floppy (disket) pertama, 1 untuk disk drive floppy (disket) kedua, 2 untuk yang ketiga, dst. Untuk hard disk drive, nilai drive 0x80 menunjuk drive pertama, 0x81 menunjuk drive kedua, dst. Parameter lain dalam struktur diskinfo_t bisa dibutuhkan bisa tidak bergantung pada nilai cmd. Nilai-nilai cmd yang mungkin adalah:
_DISK_RESET
Me-reset sistem disk, memerintahkan pengendali drive untuk mengerjakan "hard reset". Semua parameter diskinfo_t diabaikan.
_DISK_STATUS
Me-return status operasi disk yang terakhir. Semua parameter diskinfo_t diabaikan._DISK_READ
Membaca satu atau lebih sektor disk ke dalam memori. Sektor awal yang dibaca diberikan oleh head, track, dan sector. Jumlah sektor diberikan oleh nsectors. Data tersebut dibaca, 512 byte per sektor, ke dalam buffer. Jika operasi berhasil, byte atas dari nilai return akan 0 dan byte bawah akan berisi jumlah sektor. Jika terjadi error, byte atas dari nilai return akan memiliki nilai seperti berikut ini:
| 0x01 | Bad command |
| 0x02 | Tanda alamat tak ditemukan |
| 0x03 | Upaya menulis ke disk yang write protected |
| 0x04 | Sektor tak ditemukan |
| 0x05 | Reset gagal (hard disk) |
| 0x06 | Disk berubah sejak operasi terakhir |
| 0x07 | Aktivitas parameter drive gagal |
| 0x08 | Akses memori langsung mengalami overrun |
| 0x09 | Upaya melakukan DMA melewati batas 64 K |
| 0x0A | Ditemukan bad sector |
| 0x0B | Ditemukan bad track |
| 0x0C | Unsupported track |
| 0x10 | Bad CRC/ECC pada pembacaan disk |
| 0x11 | Pembetulan CRC/ECC error data |
| 0x20 | Pengendalian gagal |
| 0x40 | Operasi pencarian gagal |
| 0x80 | Attachment gagal merespon |
| 0xAA | Drive belum siap (hanya hard disk) |
| 0xBB | Terjadi error undefined (hanya hard disk) |
| 0xCC | Terjadi kesalahan penulis |
| 0xE0 | Error status |
| 0xFF | Operasi 'sense' gagal |
0x11 bukan merupakan error karena datanya benar. Nilai tersebut di-return untuk memberikan kesempatan pada aplikasi dalam mengambil keputusan sendiri.
_DISK_WRITE
Menulis satu atau lebih sektor disk dari memori. Sektor awal yang ditulisi diberikan oleh head, track dan sector. Jumlah sektor diberikan oleh nsectors. Data dituliskan dari buffer, 512 byte per sektor. Lihatlah keterangan pada _DISK_READ untuk nilai return.
_DISK_VERIFY
Memeriksa satu atau lebih sektor. Sektor awal diberikan oleh head, track, dan sector. Jumlah sektor diberikan oleh nsectors. Lihatlah keterangan pada _DISK_READ untuk nilai return.
_DISK_FORMAT
Mem-format sebuah track. Track ditentukan oleh head dan track. Sedangkan buffer menunjuk ke tabel header sektor yang akan ditulisi dengan nama track.
Nilai return
_bios_disk me-return nilai AX yang diatur oleh panggilan BIOS INT 0x13.
Portabilitas
Dapat digunakan di C++.







![]() | Hari ini | 111 |
![]() | Kemarin | 1459 |
![]() | Minggu ini | 7594 |
![]() | Bulan ini | 27593 |
![]() | Total sejak 10-01-2010 | 935356 |
Anda dapat nonton TV Online Live Streaming (TV One, Tranc TV, Indosiar, Trans 7, AN TV, DAAI TV, dan Spacetoon) dengan Klik ini NONTON TV ONLINE.
Pasang iklan barang/produk Anda pada 1.320 lebih website iklan baris secara otomatis dengan Software Autosubmit.
Cara Mudah Membangun Usaha Tour & Travel Fungsi Menghentikan eksekusi program secara tak normal. Sintaks #include <stdlib.h>void... [Selanjutnya...]
Cara Mudah Membangun Usaha Tour & Travel Fungsi Mereturn nilai absolut dari sebuah integer. Sintaks Versi riil:#include <math.h>int abs(int... [Selanjutnya...]
Cara Mudah Membangun Usaha Tour & Travel Fungsi Membaca sektor di disk absolut. Sintaks #include <dos.h>int absread(int drive, int nsects,... [Selanjutnya...]
Cara Mudah Membangun Usaha Tour & Travel Fungsi Menulis sektor disk absolut. Sintaks #include <dos.h>int abswrite(int drive, int nsects,... [Selanjutnya...]
Cara Mudah Membangun Usaha Tour & Travel Fungsi Menentukan apakah sebuah file dapat diakses. Sintaks #include <io.h>int access(const char... [Selanjutnya...]
Cara Mudah Membangun Usaha Tour & Travel Fungsi Menghitung arcus kosinus. Sintaks Versi riil:#include <math.h>double acos(double x);long... [Selanjutnya...]
Jika Anda menyukai ideelok.com, maka tunjukkanlah apresiasi Anda dengan sedikit sumbangan melalui :
Terima kasih atas sumbangannya.