/* * *** Listing 1-2 *** * * Programme pour calculer la somme checksum sur 16 bits d'un flux d'octets * depuis un fichier spécifié. Récupère les octets un par un en * assembleur, via des appels directs au DOS. */ #include #include main(int argc, char *argv[]) { int Handle; unsigned char Byte; unsigned int Checksum; int ReadLength; if ( argc != 2 ) { printf("syntaxe : nom_du_fichier\n"); exit(1); } if ( (Handle = open(argv[1], O_RDONLY | O_BINARY)) == -1 ) { printf("ne peut pas ouvrir le fichier: %s\n", argv[1]); exit(1); } if ( !ChecksumFile(Handle, &Checksum) ) { printf("Erreur de lecture du fichier %s\n", argv[1]); exit(1); } /* Reporte le résultat*/ printf("La somme est: %u\n", Checksum); exit(0); }