Rapport mini projet
Mini Projet n°2
Préparé par : *********
Objectif :
Combiner les langages C et assembleur pour développer une application.
Méthodes :
En fait, la meilleure chose à faire pour pouvoir utiliser à la fois l'assembleur et le langage C (ou tout autre langage évolué), c'est de créer des fonctions en asm, de les assembler en tant que fichier objet, d'écrire des fichiers en-têtes (extension .h) pour déclarer vos fonctions au compilateur, puis de linker vos fichiers objets à votre exécutable final. Il existe une autre solution: l'assembleur "inline". Dans ce cas, l'asm et le C sont dans le même fichier source. Mais l'inconvénient, c'est que chaque compilateur établit une syntaxe différente pour le code asm. Et surtout, le compilateur n'est pas prévu pour écrire de l'assembleur, donc la gestion des erreurs est limitée. De plus, la syntaxe est souvent très lourde et complexe.
Projet :
Pour ce mini projet, on est censé écrire un programme de calcul du jour (dans l’année) correspondant à une date donnée…
Le programme principal sera écrit en C….
La saisie de la date est soit récupérer directement du système, soit taper par clavier, et dans les deux cas la saisie est faite par un code assembleur…
Sachez que :
A propos de la saisie de la date par clavier, on n’a pas pu tester la validité de la date dans la partie assembleur car C ne comprend pas l’instruction ‘jump’…
Pour voir si l’année est bissextile ou non, on a choisi de diviser l’année par 4 et d’affecter le résultat à une variable ‘s’. Si la partie entière de ‘s’ est égale à elle-même, c’est à dire, si le reste de la division est égale à 0, alors l’année est divisible par 4, ou encore elle est bissextile.
C ne travaille pas avec des sous registres.. or le résultat des fonctions 01h et 2ah est parfois mis dans des sous registres, tel que par exemple dh. Le problème consiste à mettre le contenu de dh dans un registre…