Introassembleur Initiation à l'assembleur Cii Assembleur Ciii Table des matières Introduction Architecture du Pentium Historique Registres d ? entiers Registres de virgule ottante Registres MMX Registres SIMD Le registre EFLAGS Autres registres Outils de
Initiation à l'assembleur Cii Assembleur Ciii Table des matières Introduction Architecture du Pentium Historique Registres d ? entiers Registres de virgule ottante Registres MMX Registres SIMD Le registre EFLAGS Autres registres Outils de programmation Masm Déboguage Types de données Entiers Virgule ottante MMX SIMD Rangement des données en mémoire Temps d ? exécution des instructions Structures de contrôle Principales structures de contrôle Branchements Modes d ? adressage Instructions de base Directives de base Un premier exemple addition de deux nombres Un deuxième exemple conversion majuscules-minuscules Un troisième exemple recherche du maximum Entrées-sorties en mode console Cha? nes de caractères Comparaison de cha? nes Recherche d ? une cha? ne dans une autre Transposée d ? une matrice Instructions arithmétiques Addition Assembleur Civ Soustraction Multiplication Division Décalages et rotations Racine carrée par la méthode de Newton Conversions Conversion décimal à binaire Conversion binaire à décimal Conversion binaire à cha? ne hexadécimale La pile Empilement et dépilement Sous- programmes Blocs de pile Récursivité Tables de sauts Interruptions Interruptions logicielles Interruptions matérielles Directives d ? assemblage et macros Directives d ? assemblage Directives d ? assemblage conditionnel Macros Directives pour structures de contrôle et programmation structurée La librairie MASM Corrigé des exercices Assembleur C Introduction Pour mieux comprendre la structure interne d'un ordinateur nous aborderons la langage d'assemblage d'un processeur contemporain le Pentium III d'Intel Le but du cours n'est donc pas de faire de vous des programmeurs en assembleur Qu'est-ce que l'assembleur ou le langage d'assemblage Pour obtenir une réponse à cette question nous vous recommandons de lire à ce stade-ci le chapitre du volume de Zanella et Ligier Nous utilisons pour ce cours l'assembleur Masm de Microsoft disponible gratuitement sur le Web à l'adresse suivante http www pbq com au home hutch masm htm Comme débogueur nous recommandons le Enhanced Debugger d'Intel également disponible gratuitement à l'adresse suivante http developer intel com vtune compilers cpp demo htm Il est fourni avec le compilateur C C que vous pouvez utiliser avec Visual Studio de Microsoft si le c ?ur vous en dit Vous pouvez également faire de l'assembleur dans le cadre d'un compilateur C C comme dans Visual C C de Microsoft Dans ce cas vous créez une fonction en C ou en C puis vous y insérez la commande asm Vous pouvez ensuite insérer entre les accolades autant d'instructions assembleur que vous désirez Il faut donc déclarer la fonction comme si c'était une fonction C puis faire la déclaration en question comme suit long maFonction long x asm mov eax x somme add eax place la valeur de x dans le registre eax additionne à eax le résultat est le contenu de eax Cette fonction peut ensuite être appelée par un programme principal void main long resultat resultat maFonction C Vous remarquerez en passant la structure d'une instruction assembleur Elle est constituée d'un opcode par exemple mov add etc et d'opérandes par exemple eax x ou L'opérande de gauche est appelé opérande destination et c'est là que le résultat de l'instruction
Documents similaires










-
30
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Aucune attribution requise- Détails
- Publié le Mar 02, 2021
- Catégorie Industry / Industr...
- Langue French
- Taille du fichier 270kB