Livres


J'ai écrit un livre sur la programmation en langage d'assemblage SPARC qui a évolué au fil du temps. Il est utilisé dans un cours de programmation systèmes (IFT 209).

R. St-Denis. L'architecture du processeur SPARC et sa programmation en langage d'assemblage. Éditions GGC, 2011, ISBN 978-2-89444-262-3.

Erreurs et corrections de cette édition :

  • Page 13, ligne 2 de l'exemple 1.13 : [12][22],[30]2 devient [12][22],[30]4
  • Page 57, ligne 1 de l'exemple 3.4 : d'une adresse devient de la donnée d'un mot à l'adresse adr
  • Page 70, lignes 44 à 47 du programme : ldsw devient lduw (4 fois)
  • Page 71, ligne 8 du programme : %d devient %u
  • Page 105, ligne 19 : complément à deux devient complément à 2
  • Page 135, ligne 14 : jpm devient jmp
  • Cliquez ici pour télécharger les corrections du chapitre 10

Ce livre s'adresse principalement aux étudiantes et étudiants du niveau collégial ou universitaire qui désirent acquérir des connaissances dans le domaine de la programmation en langage d'assemblage. Il présente les sujets suivants : les systèmes de numération, l'architecture des ordinateurs, les types élémentaires de données, l'accès aux données, les structures de contrôle, le passage des paramètres, la communication avec des sous-programmes écrits dans un langage évolué et l'utilisation de macro-instructions.

Les sujets abordés dans ce livre sont illustrés à partir de l'architecture du processeur SPARC. Ce processeur est suffisamment simple pour introduire un type de programmation jugée parfois archaïque, mais combien souvent utile pour étudier, par des expériences de programmation élémentaires, les principales notions en architecture des ordinateurs et pour comprendre les dessous des langages de programmation évolués.

Liste des chapitres

  1. Les systèmes de numération
  2. Quelques notions d'architecture
  3. L'accès aux données
  4. Un tour rapide
  5. Les nombres entiers
  6. Les tableaux
  7. Les instructions de contrôle
  8. Les booléens
  9. Les caractères
  10. Les sous-programmes
  11. Les nombres en virgule flottante
  12. Les macro-instructions
Liste des annexes
  1. Le langage d'assemblage
  2. Les pseudo-instructions
  3. Les instructions machine
  4. Les instructions synthétiques
  5. Les commandes Solaris


R. St-Denis. La programmation en langage d'assemblage SPARC. Éditions GGC, 1998, 2001, ISBN 2-89444-076-6.

Erreurs et corrections de l'impression 2001 :

  • Page 20, ligne 7 : , devient ;
  • Page 64, ligne 1 : assumons devient supposons
  • Page 71, ligne 14 : Le registre de sortie devient le registre d'entrée
  • Page 78, ligne 15 : assume devient suppose
  • Page 89, dernière ligne : 0000 devient 10000
  • Page 90, ligne 17 : 0010 devient 00010
  • Page 90, dernière ligne : 0011 devient 00011
  • Page 90, dernière ligne : 0010 devient 00010
  • Page 109, ligne 9 du programme : nombres devient nombre
  • Page 109, ligne 10 du programme : nombres devient nombre
  • Page 178, ligne 12 : ,(10,5,-50,49) devient (10,5,50,49)
  • Page 179, ligne 9, Tab. 11.1 : ,0...u devient ,0u...u
  • Page 194, ligne 24 : setuw devient sethi
  • Verso du livre, ligne 4 : les systèmes de numérotation devient les systèmes de numération
  • Verso du livre, ligne 13 : pogrammation devient programmation

Erreurs et corrections de l'impression 1998 :

  • Page 14, dernière ligne : 2S,2927 devient 2J,2927
  • Page 20, ligne 7 : , devient ;
  • Page 21, ligne 9 : chargementd'une donnée devient chargement d'une donnée
  • Page 28, remplacer la dernière phrase par : La machine virtuelle JAVA est un exemple d'une machine à pile.
  • Page 64, ligne 1 : assumons devient supposons
  • Page 71, ligne 14 : Le registre de sortie devient le registre d'entrée
  • Page 78, ligne 15 : assume devient suppose
  • Page 89, dernière ligne : 0000 devient 10000
  • Page 90, ligne 17 : 0010 devient 00010
  • Page 90, dernière ligne : 0011 devient 00011
  • Page 90, dernière ligne : 0010 devient 00010
  • Page 109, ligne 9 du programme : nombres devient nombre
  • Page 109, ligne 10 du programme : nombres devient nombre
  • Page 127, ligne 3 du bas : case devient case ou switch
  • Page 157, ligne 2 : suavegarde devient sauvegarde
  • Page 162, la note de bas de page devient : Attention, les sujets et les applications présentés dans ce qui suit sont basés sur une version 32 bits du système d'exploitation Solaris. En particulier, le programme de la figure 10.17 doit être adapté en fonction des règles en usage pour la version 64 bits de Solaris afin de profiter de toute la puissance de UltraSPARC.
  • Page 173, ligne 20 : Donc e - l devient Donc | e - l |
  • Page 178, ligne 12 : ,(10,5,-50,49) devient (10,5,50,49)
  • Page 179, ligne 9, Tab. 11.1 : ,0...u devient ,0u...u
  • Page 181, tableau 11.4, ligne 5 : fcc2 devient fcc1
  • Page 186, ligne 23 : lduw[%l0],%o4 devient lduw[%l0+4],%o4
  • Page 191, remplacer le titre du chapitre par : Les macro-instructions
  • Page 194, ligne 24 : setuw devient sethi
  • Page 197, ligne 12 : {g,G,i,I,l.L,o,O} devient {g,G,i,I,l,L,o,O}
  • Page 201, ligne 6 du bas : défini. devient défini,
  • Page 202, figure 12.2, ajouter les instructions suivantes après la ligne 6 :
    #ifndef V9
    wr %g0,%g0,%y
    nop
    #endif
  • Page 205, ligne 9 : de chaque partie devient des parties
  • Page 219, section C.2 : regrs devient regrd
  • (8 fois)
  • Page 220, section C.2 : fregrs devient fregrd
  • (6 fois)
  • Page 245, remplacer le titre de l'annexe par : Les commandes Solaris
  • Page 246, le dernier paragraphe devient : Le paramètre xarch permet de spécifier la version cible de l'architecture SPARC utilisée par le processeur. La valeur v8plus est conforme à la version 9 de l'architecture SPARC, mais le programme est exécuté comme s'il s'agissait d'une version 32 bits du système d'exploitation Solaris. Par défaut, la valeur est v8.
  • Verso du livre, ligne 4 : les systèmes de numérotation devient les systèmes de numération
  • Verso du livre, ligne 13 : pogrammation devient programmation