Accueil > Réalisations > Publications > Ouvrages > Ouvrages sur la HP48 g/gx > Voyage au centre de la HP48 g/gx - Lire le ligne en ligne

Voyage au centre de la HP48 g/gx - Lire le ligne en ligne

jeudi 14 juin 2007, par Paul Courbis

Si vous ne voulez pas télécharger l’ensemble de l’ouvrage, vous pouvez le lire en ligne ici...

Si vous désirez une version papier, un « reprint » est disponible via Amazon !

Voyage48g - page 281 - Courbis, acteur de l'Internet depuis 1988
Section prcdente : Programmer en langage-machine Page prcdente Sommaire Page suivante Section suivante : Avertissement

Programmer en langage-machine

(c) Courbis www.courbis.fr   Fichiers pdf disponibles sur http://www.courbis.comRedistribution/mirroring strictement interdits  Version 3.05  http:  //ww  w.co  urbis  .com  Chapitre 9 Programmer en langage-machine Page 275  Notre programme est donc devenu :  CON(5) PROL_CODE  Prologue du codede'but CON(5) (fin)-(de'but) Sa longueur A=DAT1 A Lecture adresse de l'entierD1=D1+ 5 ; On enle`ve l'entier de la D=D+1 A ; pileGOSBVL SAVE_REG On sauve les registres D1=AD1=D1+ #Ah On saute prologue et taille A=DAT1 W On charge la valeur dans A GOSBVL LOAD_REG Re'cupe'ration des registresA=DAT0 A Retour au RPL D0=D0+ 5PC=(A) fin Remarque : nous avons utilis e' la pseudo-op e'ration CON (voir lechapitre 3) pour int e'grer le prologue et la longueur de notre objet code dans le listing assembleur...  d) Ve'rifier les arguments Jusque-la` notre programme ne fait rien de plus qu'un DROP. Il neve'rifie pas non plus la pr e'sence et le type de l 'objet au niveau 1 de la pile ce qui peut poser de graves probl e`mes si un entier n 'est paspre'sent (le proble`me ne vient pas tellement d 'une erreur de type qui conduirait  a` utiliser une valeur fausse, mais de l 'absence de toutobjet qui conduirait a` corrompre la structure de pile).  Nous allons donc utiliser un peu de programmation en externals(voir la fin du chapitre 4 et l'annexe 5). Nous devons en effet :  * Mettre  a`  ze'ro le num e'ro de commande pour que lesmessages d 'erreurs soient correctement affich e's  (puisque notre programme ne fait pas partie d 'unelibrairie. Voir l'annexe 5 pour plus de d e'tails). Ceci se fait par appel a` l'external #1884Dh ;  * Ve'rifier le nombre d'arguments sur la pile (ici 1 seul). Cecise fait par appel  a`  l'external #18AB2h (voir l 'annexe 5  pour plus de de'tails) ;  * Ve'rifier le type de l 'objet. Ceci se fait gr a^ce  a`  l'external#18FB2h avec comme masque de type le System Integer  <0000Bh> (voir l 'annexe 5). Un tel entier est pr e'sent enme'moire morte a` l'adresse #0405Dh. On pourrait aussi le coder directement en 11920 B0000 (voir le paragraphe Idu chapitre 4).
Section prcdente : Programmer en langage-machine Page prcdente Sommaire Page suivante Section suivante : Avertissement
© Courbis 1988-2010
Tous droits réservés
Permalien
Faire un don avec Paypal Le livre est entièrement gratuit mais vous pouvez
avec Paypal pour participer aux frais d'hébergement de ce site... Merci !

Un message, un commentaire ?

modération a priori

Ce forum est modéré a priori : votre contribution n’apparaîtra qu’après avoir été validée par un administrateur du site.

Qui êtes-vous ?
Votre message

Pour créer des paragraphes, laissez simplement des lignes vides.

Les spams donneront systématiquement lieu à dépôt de plainte. Les messages peu aimables ou comportant trop de fautes d'orthographe seront purement et simplement supprimés sans publication.
ipv6 ready ipv6 test
Suivre ce site :
Recommander cette page :
Bookmark and Share
Traduire :