CODING ★ AS: SI TU M'AIMAIS ★

Assembleur ACPC n°17
Tu me ferais des nouilles ! Petit clin d'œil à Coluche pour les sages au passage. Comme nous l'avions (ça plane) prévu, Il nous faudra plus de deux pages pour voir le petit train siffler sur nos écrans préfères. Surtout qu'il n'y a pas que cela à faire. Alors, à cheval pour de nouvelles aventures.

Un petit train, un petit train, c'est vite dit, j'aurais mieux fait de me couper une patte le jour où j'ai sorti ce truc. La prochaine fois, je tournerai plusieurs fois la main au-dessus du clavier avant d'écrire des bêtises.. Bref, c'est pas aujourd'hui qu'on le verra fumer, ce truc, mais on y viendra, c'est sur.

Avant tout, je voudrais que nous revenions sur le mois dernier, ou la place était encore trop menue. Le plot que nous vous avons offert gracieusement fonctionne sans tests, c'est-à-dire qu'il faut impérativement arriver dans la routine avec une abscisse inférieure a 160 et une ordonnée inférieure a 200, strictement. Le point de coordonnées 0,0 est situe en haut et a gauche de l'écran, quand l'offset est nul (après un mode, par exemple). Nous avons vu l'art et la manière d'afficher un point a l'écran dans tous les modes, mais it va de soi que l'affichage d'un dessin plus volumineux est chose tout a fait différente.

Pour ce mois-ci, comme ce sont les vacances, on nous a demande de faire un petit récapitulatif. Pas simple, surtout qu'on n'a pas vu grand-chose depuis le début des initiations. Le mélange des connaissances est pour le moment assez sombre et gélatineux dans nos esprits troubles par tant de dépaysement, mais bientôt viendra le moment ou le déclic se produira et ou tout deviendra clair en un instant.

MODE D'EMPLOI

Avant tout, je tiens a préciser quelques petites choses. Cette initiation a l'assembleur s'adresse a ceux qui ont déjà mis le pied dans le plat. En effet, programmer en assembleur nécessite avant tout une démarche intérieure de recherche de perfectionnement. Il est triste de voir que, pour cent programmeurs a qui on demandera de créer la même routine, cent programmes différents seront génères. Parfois. la même logique sera appliquée. mais des différences existeront toujours dans la réalisation des programmes.

Tout ceci pour dire que le seul secret de la programmation en assembleur, une fois que l'on connaît les instructions disponibles, est de trouver des algorithmes performants et simples, pour se rapprocher le plus près possible du mode de travail d'un micro processeur. Dans ce cas, pour s'éviter de longues heures de recherche dans des livres sans fin, la priorité est accordée a la connaissance parfaite des mnémoniques disponibles.

C'est pour cela que les premiers numéros de cette initiation ont été consacres a tous les codes et mnémoniques que l'on rencontre sur Z80, selon la norme préconisée par Zilog, bien entendu. Zilog est la société qui a développé le Z80 sur la base du 8080. Si les assemb1eurs sont bien faits, ils possèdent aussi ce que l'on appelle des directives d'assemblage. Ces directives sont des mnémoniques qui ne seront pas transformes en code machine, mais qui influenceront directement l'assembleur dans son mode de travail. Pour programmer en assembleur, il n'est pas nécessaire de le connaître par cour, mais. si c'est le cas, bien des travaux se trouvent simplifies par de subtiles utilisations de directives. La programmation en assembleur est déjà bien assez laborieuse. et c'est dans une optique de simplification optimale que les assemb1eurs ont été conçus. Ils effectuent des calculs, convertissent automatiquement des étiquettes en adresses ou en déplacements signes, permettent de faire des allocations mémoires rapides, et offrent aux programmeurs la possibilité de déplacer . du code par 1e simple changement de l'adresse d'implantation. Imaginez vous avoir besoin de calculer des adresses relatives ou impliqués, en plus de la conversion en codes des mnémoniques. C'est simple sur des microprocesseurs tel que le 6502, qui dispose d'un jeu d'instructions réduit, mais sur un Z80...

Il nous a aussi fallu connaître la structure interne du Z80, ce qui n' est malheureusement pas inné chez un possesseur de CPC. Pour poursuivre nos investigations dans le passe de cette rubrique (ordre du big chef en ben), vint le moment ou nous avions, d'un coup d'aile, découvert les différentes parties distinctes de la mémoire : l'écran, l'espace réserve au Basic, les vecteurs, le kernel... Ce dernier est d'ailleurs le centre nerveux de notre cher CPC et, sans lui, rien ne pourrait réagir comme c'est le cas actuellement. Nous reviendrons bientôt sur ce petit bon homme qui gère tant bien que mal (plutôt bien d'ailleurs) tout l'environnement monstrueusement développe autour du petit Z80.

Pour attaquer en pleine face l'assembleur. nous avons ensuite étudie la structure de la mémoire écran du CPC. C'est, en fait, le but initial de ces pages. En effet, faire des MCS demos n'est pas chose facile, mais c'est faisable, la preuve. Nous ne vous promettons pas de vous faire de telles demos, car cela nécessite bien du travail et que je suis un peu fainéant beaucoup. Mais ce qui est sur, c'est que vous aurez tous les outils permet tant de réaliser de telles prouesses. Voici une petite liste de tout ce qui a déjà été aborde dans le cadre de cette initiation.. .

THIS THING IS LISTING ISN'T IT

Dites-le avec l'accent rosbif et vous verrez, je vous jure, c'est plus facile a dire avec des fleurs. Bon, passons aux choses sérieuses. La voici, ladite liste.

  • Du Cent Pour Cent numéro 3 au numéro 5 : c'est quoi t'est-ce qu'un assembleur et a quoi c'est est-ce que cela sert-il (ouf !) ?
  • Du numéro 6 au numéro 10 : les mnémoniques, c'est pratique, c'est chic, et cela peut programmer gros.
  • Le numéro 11 est consacre au premier message déroulant (scrolling horizontal) en assembleur. Simple mais toujours sympathique.
  • Le numéro 12 vous montre comment gérer facilement la modification et/ou l'affichage d'un score si besoin est dans vos petits programmes nécessitant cette manipulation.
  • Le numéro 13 montre comment se multiplier en quatre pour multiplier huit bits par huit autres, ce qui assure de belles nuits blanches a Miss X
  • Le numéro 14 sert a vous offrir quelques vecteurs systemes que nous
  • avons puises dans des livres tel que Clefs pour CPC ou encore 1a Bible du 6128...
  • Le numéro 15 vous montre comment programmer simplement un plot en mode 2 et 1.
  • Le numéro 16 est consacre, a lui seul, au plot en mode 0, ce qui n' est pas une mince affaire a faire.
  • Le numéro 17, pour ceux qui ne l'auraient pas remarque, c'est celui que vous étés en train de lire (warf !
  • warf ! warf !... mort de rire !).

FIN BATEAU: JE RAME

Encore et toujours un au revoir suivant un bonjour. C'est la loi de la vie. Le matin, on se lever et on s'habille tout en sachant pertinemment que le soir on se déshabillera pour se coucher. Ce genre de choses me laisse rêveur et me donne envie de rester au lit, ou je retourne sans plus attendre. A bon dormeur, salut...

Sined le peinard, ACPC n°17, p99-101

Page précédente : Bidouilles ACPC n°16 - Bidouilles bizarres

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Coding » Assembleur ACPC n°22 - Le CLS le plus rapide sur CPC - Part II
» Coding » Assembleur ACPC n°31 - La femme au scroll infame
» Coding » Assembleur ACPC n°23 - Il cours, il cours l'assembleur
» Coding » Assembleur ACPC n°46 - La multiplication et la division
» Coding » Assembleur ACPC n°20 - Convertion numerique
» Coding » ASM 48: Quand Elmar fait des siennes
Je participe au site:

» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 239 millisecondes et consultée 1626 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.