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 è:
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;
}
Cosa ho sbagliato? E come posso risolvere?

Grazie