Livre Le Langage Assembleur - Maîtrisez Le Code Des Processeurs De ...

  • Livres & vidéos
    • Système et réseau
      • Poste de travail
        • Windows
        • Linux
        • Client léger
      • Serveur
        • Windows
        • Linux
        • Unix
        • Scripting
        • Serveurs web et services
      • Réseau
        • Notions fondamentales
        • Supervision
        • Protocoles
        • Services réseau
        • Cisco
      • Sécurité informatique
      • Virtualisation et Cloud
      • Organisation du SI
      • Certification
        • Certification Technique
          • Certification Linux
          • Certification Cisco
    • Développement d'applications
      • Pour les makers
      • Pour les CMS et les réseaux sociaux
      • Pour les terminaux mobiles
      • Pour le Cloud
      • Langages
        • Abap
        • C et C++
        • C#
        • HTML et XHTML
        • Java
        • Javascript
        • PHP
        • Python
        • R
        • VBA et VSTO
        • WinDev
        • Autres langages
      • Méthode et normes
      • Tests et qualité
      • Etats - Rapports
      • Intelligence Artificielle
    • Data
      • Base de données
        • Microsoft
        • Open Source
        • Oracle
        • Langage et méthode
      • Business Intelligence
        • Business Objects
        • Microsoft
      • Gestion de projet
      • Messagerie et Communication
      • Plateforme collaborative
      • Intégration de données
    • Gestion - Droit - Entreprise - IA
      • Droit de l'informatique
      • Efficacité professionnelle
      • E-Marketing
      • Environnement de travail collaboratif
      • Gestion de l'entreprise
      • Gestion de projets
      • Gouvernance du SI
      • Solutions d'entreprise
      • Business Intelligence
      • Intelligence Artificielle
    • Bureautique
      • Initiation informatique
      • Windows et réseau familial
      • Mac
      • Suite bureautique
        • Microsoft Office
        • LibreOffice
        • Dans le Cloud
      • Word / Traitement de texte
      • Excel / Tableur
      • PréAO / PowerPoint
      • Messagerie / Outlook
      • Bases de données
      • PAO
      • Macros et VBA
      • Gestion de projet
    • Graphisme, 3D, Animation, CAO
      • 3D
      • Animation
      • CAO et DAO
      • Dessin vectoriel
      • Diagrammes, Schémas et SIG
      • PAO
      • Retouche d'images et photos
    • Web et E-Marketing
      • CMS
      • E-marketing
      • Conception web
      • Objets connectés
  • Formations en ligne
    • Formations en ligne en autonomie, avec exercices
      • Excel
      • PowerPoint
      • Word
      • Access
      • Outlook
      • Microsoft 365
      • Pack Office
      • Python
      • Java
    • Formations en ligne animées en direct par un expert
      • Excel
      • Word
      • PowerPoint
      • Outlook
      • Power BI
    • Cours et formations vidéo
      • Intelligence artificielle
      • Technique
      • Bureautique
      • Entreprise
      • Graphisme - CAO/DAO
      • Web & webmarketing
  • Bibliothèque numérique
  • Espace Professionnels
    • Technique
      • Support de Cours
        • Débutant à Confirmé
        • Confirmé à Expert
        • Par thématique
      • TP, exercices et corrigés
        • Débutant à Confirmé
      • Certification
        • Coupons de certification
      • Livre
        • Mise en pratique
        • Métiers
        • Autres
      • Dépliant
    • PAO - Web - CAO/DAO
      • Support de Cours PAO
      • Support de Cours Web
      • Livre CAO/DAO
      • Aide-mémoire
    • Bureautique
      • Certification
        • Coupons de certification
      • Exercices et corrigés
      • Support de Cours Français
        • Par niveau, par thème
        • De Référence
      • Aide-mémoire
      • Approche métier
      • Support Français / Anglais
        • Support de cours
      • Support Anglais
        • Support de cours
      • Support Néerlandais / Anglais
        • Support de cours
      • Support Néerlandais
        • Support de cours
      • Support Allemand
    • Entreprise
      • E-marketing
      • Gestion
    • Supports Numériques
      • Technique
        • Support Débutant à Confirmé
        • Support Confirmé à Expert
      • PAO - Web
        • Support de cours PAO
        • Support de cours Web
      • Bureautique
        • Support de référence
        • Mise en pratique
      • Entreprise
        • E-marketing
        • Gestion
    • Certifications
  • Meilleures ventes
  • Nouveautés
  • Prochaines parutions
  • ENI Blog
  • Devenez Auteur
Contactez-nous sur WhatsApp Lun-Ven : 9h30 à 12h30 et 14h à 17h30 Présentation Ce livre sur le langage assembleur s'adresse à tout développeur soucieux d’utiliser ce langage et de disposer d’une documentation pertinente et directe sur le langage des processeurs de la famille X86, au cœur de (presque) tous les PC du monde. Programmer en langage machine permet de s'affranchir de certaines limitations dues aux langages de haut niveau et peut être un loisir tout autant qu'un travail au sein d'une entreprise ; l'assembleur permet de développer des applications vraiment très légères, rapides et concises. Le livre propose en trois parties une méthode pour comprendre, apprendre et pratiquer l'assembleur. La première partie, après un rappel sur les connaissances nécessaires à une bonne compréhension du livre, décrit l’aspect théorique du langage. La seconde partie, purement technique, contient la documentation du matériel, des tableaux à propos des structures système, les données relatives aux périphériques et les listes d'instructions. La dernière partie du livre couvre l'aspect pratique, avec des exemples sur la mise en œuvre des techniques et fonctionnalités de l'assembleur, pour vous familiariser avec ce langage. L’objectif de l’auteur est de rendre le lecteur autonome pour qu’il puisse, à la fin de cette lecture, programmer en assembleur et progresser petit à petit vers la réalisation de programmes complexes et performants. Les chapitres du livre : Avant-propos – Notions de base – Interface avec le programmeur – Processeur x86 – Ressources matérielles – Jeux d’instructions – Programmation – Annexe : Extension du jeu d’instructions

Caractéristiques

  • Livre (broché) - 17 x 21 cm
  • ISBN : 978-2-7460-0650-6
  • EAN : 9782746065086
  • Ref. ENI : EPLANAS

Caractéristiques

  • HTML
  • ISBN : 978-2-7460-0668-1
  • EAN : 9782746066861
  • Ref. ENI : LNEPLANAS

Téléchargements

  • Des fichiers complémentaires (15,4 Ko)
  • Webographie
Table des matières Avant-propos
  1. Avant-propos
Notions de base
  1. Numération binaire et hexadécimale
    1. 1. Le binaire et les données
    2. 2. Les bases de numération
      1. a. Représentation binaire, base 2
      2. b. Représentation octale, base 8
      3. c. Représentation décimale, base 10
      4. d. Représentation hexadécimale, base 16
      5. e. La représentation BCD, base 16 limitée à 10 valeurs
      6. f. La représentation ASCII
    3. 3. Les données signées
  2. Registres, mémoires et variables
    1. 1. La donnée et le matériel
      1. a. Le bus
      2. b. La mémoire
    2. 2. Les adresses
    3. 3. Opérations logiques
  3. Les diagrammes fonctionnels et les tables
  4. Les mathématiques et l'esprit
  5. Notions propres à l'assembleur
Interface avec le programmeur
  1. Le langage assembleur
  2. Règles d'écriture
    1. 1. Syntaxe d’une ligne de code FASM
      1. a. Une instruction par ligne
      2. b. Étiquettes
      3. c. Opérandes
      4. d. Chaînes
      5. e. Expressions numériques
      6. f. Adresses
    2. 2. Le projet assembleur
      1. a. Créer un fichier .ASM
      2. b. Créer un fichier .INC
      3. c. Organiser les répertoires de la source
      4. d. Créer des sauvegardes
      5. e. Choix des noms d’étiquettes
    3. 3. Le compilateur
      1. a. FASM
      2. b. Les listings
      3. c. Paramètres de la ligne de commande
    4. 4. L’éditeur de texte
      1. a. Fasmw.exe
      2. b. Fasmd.exe
      3. c. Raccourcis-clavier des IDE FASM
    5. 5. Les désassembleurs
    6. 6. Les débogueurs
    7. 7. Les émulateurs
      1. a. Émuler un PC
      2. b. Émuler le DOS
    8. 8. L’éditeur hexadécimal
    9. 9. La documentation et Internet
Processeur x86
  1. Le CPU
    1. 1. Les instructions vues depuis le CPU
    2. 2. L’exécution
  2. Les modes du CPU
    1. 1. Le mode réel
    2. 2. Le mode protégé
    3. 3. Le mode SMM
    4. 4. Le mode 64 bits
  3. Les registres x86
    1. 1. Registres à usage général (GPR)
    2. 2. Registres d’index
    3. 3. Registres de pointeurs
    4. 4. Registres de segments
      1. a. Histoire des segments
      2. b. Les registres de segments en pratique
    5. 5. Registre de drapeaux
      1. a. Codes de conditions
    6. 6. Registres de gestion du processeur
      1. a. Registres de gestion de la mémoire
      2. b. Registres de contrôle du processeur (Control Registers)
      3. c. Registres de debug (Debug Registers)
      4. d. Registre de compteur
  4. Les extensions
    1. 1. FPU
      1. a. Les nombres flottants
      2. b. La pile FPU
    2. 2. Extensions SIMD
      1. a. Extension MMX
      2. b. Extension SSE
      3. c. Extension AVX
      4. d. Extension 64 bits
  5. La mémoire
    1. 1. Plan général
    2. 2. Mémoire en mode réel 16 bits
    3. 3. Mémoire en mode protégé 32 bits
    4. 4. Mémoire en mode 64 bits
    5. 5. Bus d’adresses et agencement des données
      1. a. Règles d’accès générales
      2. b. Zones de mémoire réservées
      3. c. Accès par les segments
      4. d. Alignement des données
    6. 6. Structures système x86
      1. a. Table des Vecteurs d’Interruptions (IVT)
      2. b. Table de Descripteurs Globale (GDT)
      3. c. Table de Descripteurs Locale (LDT)
      4. d. Table de Descripteurs d’Interruptions (IDT)
      5. e. Tables de pages (pagination)
      6. f. Segment d’état des tâches (TSS)
      7. g. I/O BitMap, plan de permission d’accès
  6. Les ports
Ressources matérielles
  1. Le clavier
    1. 1. Contrôleur clavier
      1. a. Un peu d’histoire
      2. b. Les ports du clavier
      3. c. Commandes et messages
    2. 2. Les scancodes
    3. 3. Utilisation du clavier
  2. Le contrôleur VGA
    1. 1. La géométrie de l’écran
    2. 2. Modes VGA standard
    3. 3. Palette VGA
    4. 4. Mode texte
    5. 5. Mémoire vidéo VGA
      1. a. Vsync
    6. 6. Norme VESA
      1. a. Conclusion VGA / VESA
  3. La souris
    1. 1. Fonctionnement
      1. a. Trame PS/2
      2. b. Extensions PS/2
      3. c. Commandes souris PS/2
      4. d. Trame de la souris série
    2. 2. Utilisation de la souris
      1. a. Souris DOS
      2. b. La souris sous Windows
  4. Le PIT (Timer)
    1. 1. Ports du timer
    2. 2. Programmation
    3. 3. Timer 2 et haut-parleur système
    4. 4. Le timer en pratique
  5. L'horloge temps réel
    1. 1. NMI et CMOS
  6. Le contrôleur d'interruptions programmable (PIC)
    1. 1. ICW
    2. 2. OCWs
    3. 3. IRR/ISR
    4. 4. Conclusion
  7. Le contrôleur de disques durs
    1. 1. Géométrie des disques durs
      1. a. CHS
      2. b. LBA
    2. 2. Accès par le BIOS (INT 13h)
      1. a. Fonctions INT 13h normales
      2. b. Fonctions INT 13h étendues
    3. 3. Accès en PIO
    4. 4. Conclusion
  8. Les ports de communications
    1. 1. Port parallèle
      1. a. Interface matérielle du port LPT
      2. b. Registres du port LPT
      3. c. Utilisation
      4. d. Conclusion
    2. 2. Port série
      1. a. Interface matérielle du port COM
      2. b. Interface logicielle
      3. c. Utilisation
  9. Ressources matérielles non standard
Jeux d'instructions
  1. Historique
  2. Base 16 bits
  3. Jeux d'instructions généraux
    1. 1. Jeux d’instructions 32 bits en 2011
      1. a. Instructions décimales
      2. b. Instructions arithmétiques
      3. c. Instructions de mouvements de données
      4. d. Instructions logiques
      5. e. Instructions de contrôle du processeur
      6. f. Instructions de branchements
      7. g. Instructions conditionnelles
      8. h. Instructions sur les chaînes
  4. Les instructions 32 bits en pratique
    1. 1. Mov et les affectations
    2. 2. Opérations sur les pointeurs
    3. 3. Instructions de branchements
      1. a. Instructions de sauts
      2. b. Instructions d’appels
    4. 4. Jeux d’instructions système
      1. a. Gestion de la mémoire
      2. b. Segmentation en mode protégé
      3. c. Pagination
      4. d. Gestion du processeur
    5. 5. Extension du CPU 64 bits
      1. a. Jeu d’instructions 64 bits
Programmation
  1. Premier programme
    1. 1. Programme .COM
    2. 2. Programme .EXE DOS
    3. 3. Programme EXE win32
    4. 4. Programme Linux
  2. Construction autour des données
    1. 1. Structurer les données
    2. 2. Gestion des données en fichiers
    3. 3. Les variables
      1. a. Entiers
      2. b. Données empaquetées
      3. c. Virgule fixe
      4. d. Virgule flottante
      5. e. BCD
  3. Formats de fichiers
    1. 1. Texte et ASCII
    2. 2. Images (pixels)
    3. 3. Sons (signaux)
    4. 4. Flux de communication
  4. Les fonctions
    1. 1. Créer la fonction
      1. a. Factorisation du code
      2. b. Découpage du code
      3. c. Hiérarchiser le code
    2. 2. Gérer la fonction en fichier séparé
      1. a. Permettre le partage avec d’autres sources
      2. b. Prévoir une éventuelle évolution
    3. 3. Gérer les paramètres d’une fonction
      1. a. Gestion par les registres
      2. b. Gestion par la mémoire
      3. c. Gestion par la pile
    4. 4. Les pointeurs de fonctions
      1. a. Pointeurs locaux
      2. b. Pointeurs globaux
      3. c. Pointeurs de N niveaux
    5. 5. Les conventions d’appels de haut niveau
      1. a. Cdecl
      2. b. Syscall
      3. c. Fastcall
      4. d. Pascal
      5. e. Stdcall
  5. Programmation d'applications
    1. 1. BOOT/BIOS
      1. a. Le BOOT
      2. b. Le Boot-loader
      3. c. Les tables de partitions
      4. d. Le mode réel
      5. e. Le mode protégé
      6. f. Revenir au mode réel
      7. g. Les autres modes non documentés
  6. Optimisation du code (et des données)
    1. 1. Optimisation de code
      1. a. Pipelines
    2. 2. Optimisation de données
  7. Conclusion
Annexe - Extensions du jeu d'instructions
  1. Généralités
  2. Extension X87
    1. 1. Jeu d’instructions FPU
      1. a. Instructions de mouvement de données
      2. b. Instructions de mouvement conditionnel de données
      3. c. Instructions de chargement de constantes
      4. d. Instructions arithmétiques primitives
      5. e. Instructions de comparaison
      6. f. Instructions trigonométriques
      7. g. Instructions exponentielles et logarithmiques
      8. h. Instructions de contrôle
      9. i. Méthode de programmation FPU
  3. Extensions SIMD
    1. 1. MMX
      1. a. Instructions de mouvement de données
      2. b. Instructions arithmétiques
      3. c. Instructions de comparaison
      4. d. Instructions logiques
      5. e. Instructions de conversion
      6. f. Instructions d’empaquetage
      7. g. Instructions de décalages logiques
      8. h. Instruction de gestion EMMS
    2. 2. SSE1
      1. a. Instructions de mouvement de données
      2. b. Instructions arithmétiques
      3. c. Instructions logiques
      4. d. Instructions de comparaison
      5. e. Instructions de distribution et empaquetage de données
      6. f. Instructions de conversion
      7. g. Instructions SIMD sur les entiers 64 bits
      8. h. Instructions avec contrôle du cache
    3. 3. SSE2
      1. a. Instructions de mouvement de données
      2. b. Instructions arithmétiques
      3. c. Instructions logiques
      4. d. Instructions de comparaison
      5. e. Instructions de distribution et empaquetage de données
      6. f. Instructions de conversion
      7. g. Instructions SIMD sur les entiers 64 et 128 bits
      8. h. Instructions avec contrôle du cache
    4. 4. SSE3
      1. a. Instruction d’optimisation du chargement de données 128 bits non alignée
      2. b. Instructions d’amélioration des chargements et copies
      3. c. Instructions d’additions et soustractions empaquetées
      4. d. Instructions d’additions et soustractions horizontales
    5. 5. SSSE3
      1. a. Instructions SSSE3
    6. 6. SSE4
      1. a. Instructions SSE4.1
      2. b. Instructions SSE4.2
      3. c. Instructions SSE4a (AMD)
    7. 7. 3Dnow!
      1. a. Instructions AMD 3Dnow!
    8. 8. Autres jeux
Auteur

Olivier CAUET

En savoir plus

Nos nouveautés

voir plus Access (versions 2024 et Microsoft 365)  Access (versions 2024 et Microsoft 365) - Apprenez les langages HTML5, CSS3 et JavaScript pour créer votre premier site web (5e édition)  Apprenez les langages HTML5, CSS3 et JavaScript pour créer votre premier site web (5e édition) - Débuter avec PowerShell (2e édition)  Débuter avec PowerShell (2e édition) - Golang Les fondamentaux du langage de Google Golang - Les fondamentaux du langage de Google Le deep learning avec TensorFlow/Keras 42 programmes Python pour passer de la théorie à la pratique Le deep learning avec TensorFlow/Keras - 42 programmes Python pour passer de la théorie à la pratique Macros et Langage VBA sous Excel (2e édition) L’intégrale Macros et Langage VBA sous Excel (2e édition) - L’intégrale Python Coffret de 2 livres : Implémentation pour la Data Science et le Machine Learning Python - Coffret de 2 livres : Implémentation pour la Data Science et le Machine Learning Réussir avec l’IA de Microsoft Stratégies et outils pour Copilot Studio, Microsoft Foundry et des IA non génératives Réussir avec l’IA de Microsoft - Stratégies et outils pour Copilot Studio, Microsoft Foundry et des IA non génératives Windows Server 2022 Coffret de 2 livres : Administration avancée et Stratégies de groupe Windows Server 2022 - Coffret de 2 livres : Administration avancée et Stratégies de groupe Déployer Microsoft Intune Du tenant à l’enregistrement des appareils Déployer Microsoft Intune - Du tenant à l’enregistrement des appareils Microsoft Intune Configurer, mettre à jour et sécuriser les appareils Microsoft Intune - Configurer, mettre à jour et sécuriser les appareils Formation en ligne - Word 2021 Créer son premier document Formation en ligne - Word 2021 - Créer son premier document

Tag » Apprendre L'assembleur X86