Logiciel de Base

Un article de Ensiwiki.

Aller à : Navigation, Rechercher
Spécifique EnsimagCette page est maintenue par les enseignants et utilisée par les élèves de la matière concernée. Vos contributions sont les bienvenues, mais merci d'en discuter avant de faire des modifications non-triviales de la page, pour être sûr de ne pas perturber le déroulement du cours.

  Première Année    Informatique 

Sommaire

  • 1 Equipe pédagogique
  • 2 Supports de cours
    • 2.1 Séance 1
    • 2.2 Séance 2
    • 2.3 Séance 3
    • 2.4 Séance 4
    • 2.5 Séance 5
  • 3 TPs en temps libre
    • 3.1 TPL1 : pratique du langage C
    • 3.2 TPL2 : implantation de tris en C et assembleur
    • 3.3 La fraude
  • 4 Archive des examens (avec correction)
  • 5 Documentations intéressantes
    • 5.1 Quelques liens pour aller plus loin
      • 5.1.1 Assembleur
      • 5.1.2 Autre

Equipe pédagogique

N'hésitez pas à contacter vos enseignants de CTD si vous avez des questions.

Groupe 1 (vendredi 14h) : Christophe Rippert

Groupe 2 (lundi 11h15) : Matthieu Moy

Groupe 3 (lundi 9h45) : Guy Mazaré

Groupe 4 (jeudi 8h15) : Christophe Rippert

Groupe 5 (jeudi 9h45) : Franck Hetroy

Groupe 6 (vendredi 15h30) : Olivier Muller

Supports de cours

Séance 1

Des transparents d'introduction au cours sont disponibles. On donne aussi le code des exemples utilisés en classe.

Séance 2

On fournit des transparents sur la chaine de compilation, ainsi que le code des exemples utilisés en classe.

Séance 3

Cette séance se fait en salle machine. Les manipulations à effectuer sont décrites sur cette page.

Séance 4

Des transparents d'introduction à l'assembleur sont disponibles.

Séance 5

Cette séance se fait en salle machine. Les manipulations à effectuer sont décrites sur cette page.

TPs en temps libre

Ces TP peuvent être réalisé en binôme ou monôme (mais le fait d'être seul n'entrainera pas de bonus dans la notation).

La page Erreurs fréquentes en assembleur contient des informations pouvant vous aider à mettre au point vos TP.

Les dates de rendu de TP sont fermes : il n'y aura aucune extension accordée et tout retard sera sanctionné par un malus sur la note. Les sujets des TP vous sont donnés longtemps avant la date de rendu afin de vous permettre d'organiser au mieux votre travail dans les différentes matières.

TPL1 : pratique du langage C

Le sujet en PDF détaille tout ce que vous devez savoir pour réaliser ce TP. Vous complèterez le fichier tp1.c contenu dans cette archive ZIP.

Le TP doit être rendu sur Teide au plus tard le vendredi 5 mars à 18h00.

La correction du TPL1 est disponible pour vous aider à faire le TPL2.

TPL2 : implantation de tris en C et assembleur

Le sujet précise le travail à réaliser. On fourni les fichiers de départ dans une archive ZIP.

Le TP doit être rendu sur Teide au plus tard le vendredi 5 mai à 18h00.

Ce TP comporte une partie en C qui peut être implantée immédiatement, et une partie en assembleur que vous pourrez réaliser après la séance 9 (vous pouvez réfléchir à l'algorithme avant mais vous aurez besoin de savoir appeler des fonctions en assembleur pour réaliser la traduction demandée). Il est vivement recommandé de ne pas attendre la fin du semestre pour commencer ce TP qui est significativement plus long que le premier.

La fraude

La fraude est sévèrement sanctionnée à l'Ensimag. La Charte des projets et TP précise ce que vous ne pouvez pas faire pendant les TP : en résumé, nous vous encourageons à discuter de vos problèmes et solutions avec vos camarades, mais il est formellement interdit de copier du code (même une petite fonction simple). En cas de code dupliqué, les enseignants ne chercheront pas à savoir qui a fourni le code et qui l'a copié : toutes les équipes seront sanctionnées.

Archive des examens (avec correction)

Examen de mai 2009

Documentations intéressantes

  • Makefile : Apprendre à écrire et utiliser un Makefile, ou cette autre introduction aux Makefiles.
  • Catégorie:Assembleur : les articles d'EnsiWiki qui parlent d'assembleur.
  • Portail:C : les articles d'EnsiWiki sur le langage C (plus particulièrement, pour les débutants qui ne connaissent que l'Ada, De l'Ada au C décrit quelques pièges à éviter).
  • Intel Code Table : un récapitulatif des instructions utiles sur une feuille recto-verso. Attention, ce document utilise la syntaxe Intel, l'ordre des opérandes est inversé par rapport à la syntaxe GNU que nous utilisons.
  • Polycopié : programmation en assembleur GNU sur des microprocesseurs de la gamme Intel (distribué en cours, ne pas imprimer)
  • Feuille recto-verso résumant les commandes de base de GDB

Quelques liens pour aller plus loin

Ces documentations ne sont nécessaires ni pour faire les TP, ni pour l'examen, mais peuvent être utiles à ceux qui veulent aller plus loin, ou bien s'amuser un peu.

Assembleur

  • x86 Assembly : Un livre en ligne sur l'assembleur Intel.
  • Documentation de référence Intel (jeu d'instruction, conventions de liaison, ...)
  • IA-32 Software Developer Manuals La doc officielle Intel sur leurs procos, complète (mais assez peu explicite sur les questions de performances). Ce qui vous intéresse, ce sont les IA-32 Software Developer Manuals à proprement parler, volume 1 à 3. Commencez par le 1, c'est une bonne introduction à l'architecture x86 (voyez par vous-même comment c'est trop crade du dedans), le 2 est une référence et le 3 n'est probablement utile qu'à ceux qui savent déjà pourquoi, ou à ceux qui ont toujours rêver de faire leur propre ptit OS / noyau.
  • Software optimization : Une des (La ?) références, sur l'optimisation bas niveau, plus particulièrement l'ASM sur Pentium-compatible, et à jour. Pas du tout pour les débutants, mais une bonne lecture pour le programmeur averti. Notamment, l'auteur a des opinions que ne partagent pas tout le monde (p.ex. que l'on devrait faire de grosses routines au lieu de subdiviser, et ne faire des sous-fonctions que lorsque strictement nécessaire).

Autre

  • Manuel de GNU Make (en anglais)
  • Manuel de GDB (debugger)
  • "Big endian" et "Little endian" .
  • Executable and Linkable Format (ELF)
  • CoreWar : un jeu à base d'assembleur, 100% Geek !

(n'hésitez pas à ajouter d'autres liens intéressants)

Récupérée de « http://ensiwiki.ensimag.fr/index.php/Logiciel_de_Base »
Catégories : Assembleur | Première Année | Informatique | Logiciel de Base
Affichages
  • Page
  • Discussion
  • Voir le texte source
  • Historique
Outils personnels
  •  
  • Identification
Actualité
  • Lexique franco-anglais
  • Stage Unix de rentrée
  • Projet Architecture
  • TER
  • Log. de Base
Navigation
 
  • Accueil
  • FAQ
  • Mode d'emploi
  • Droit d'auteur
  • Modifications récentes
  • Une page au hasard
Boîte à outils
  • Pages liées
  • Suivi des liens
  • Importer un fichier
  • Pages spéciales
  • Version imprimable
  • Lien historique
  • Principaux contributeurs
Powered by MediaWiki
Attribution-Share Alike 3.0 Unported
  • Dernière modification de cette page le 10 mars 2010 à 14:00.
  • Cette page a été consultée 7 773 fois.
  • Contenu disponible sous Attribution-Share Alike 3.0 Unported.
  • Politique de confidentialité
  • À propos de Ensiwiki
  • Avertissements