Sto provando a leggere il Master Boot Record, nel primo settore dell'HD.
Sia Win che Linux, si proteggono non lasciandomi leggere il disco con l'int 13:
Win: "Accesso negato"
Linux: "Segmentation Fault (core dumped)"
Il codice è:
Cosa ho sbagliato? E come posso risolvere?codice:#include <stdio.h> unsigned char *MBR[512]; int main() { *MBR = (unsigned char *) 0x6000; asm ("PUSHA\n"); asm ("PUSH %ES"); asm ("MOV %CS, %AX\n"); asm ("MOV %AX, %ES\n"); asm ("MOV %AX, 2\n"); asm ("MOV %CX, 1\n"); asm ("MOV %DH, 0\n"); asm ("MOV %DL, 0x80\n"); asm ("MOV %BX, 0x6000\n"); asm ("INT $0x13\n"); asm ("POP %ES"); asm ("POPA\n"); unsigned int i; for (i = 0; i < 512; i++) { printf("%x ", MBR[i]); } return 0; }
Grazie![]()

Rispondi quotando