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 282 - Courbis, acteur de l'Internet depuis 1988
Section précédente : Programmer en langage-machine Page précédente 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  Page 276 Programmer en langage-machine Chapitre 9  Nous pouvons alors appeler notre programme sans risquepuisque la pre'sence et le type de l'e'le'ment sont ve'rifie's. Notre programme est alors :  CON(5) PROL_PRGM Prologue programmeCON(5) #1884Dh Mise a` ze'ro No cmde CON(5) #18AB2h Ve'rif. du nombre d'objets (un seul) CON(5) #18FB2h Ve'rif typeCON(5) #0405Dh Adresse <0000Bh> 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 CON(5) EPILOGUE Fin objet prgm  e) Poser un objet sur la pile A pr e'sent notre programme est 'blind e'' mais il ne fait toujoursque peu de choses (un DROP si et seulement si l 'objet au niveau 1 est un entier). Nous allons rester dans le domaine des chosessimples et faire une action simple : remettre l 'entier dans la pile, mais sous la forme d 'un entier syst e`me. Un probl e`me se pose  a`nous : le domaine de valeurs d 'un entier syst e`me est de #0h  a` #FFFFFh alors qu'un entier va de #0h  a` #FFFFFFFFFFFFFFFFh...Nous allons donc tester la valeur r e'cupe're'e dans le champ W de A et :  * Si elle est inf e'rieure ou  e'gale  a` #FFFFFh on l 'utiliseratelle quelle ;  * Sinon, on utilisera #FFFFFh a` sa place. Pour cela, nous allons comparer la valeur de A champ W  a` laconstante #100000h. Or il n 'existe aucune instruction permettant de comparer de mani e`re directe un registre  a` une valeur non nulle :nous devons charger la valeur #100000h dans un registre. Nous allons charger la constante dans C et utiliser l 'instruction ?C>A W
Section précédente : Programmer en langage-machine Page précédente 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 !

Messages

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. Aucune obligation de publication ne pourra être opposée au webmaster, sauf éventuel droit de réponse dûment justifié.
ipv6 ready ipv6 test
Suivre ce site :
Recommander cette page :
Bookmark and Share
Traduire :