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 283 - 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  Chapitre 9 Programmer en langage-machine Page 277  pour re'aliser la comparaison : la constante #100000h doit donc  e^trecharge'e dans le champ W de C. Plusieurs solutions sont possibles :  * Charger la valeur  a`  l'aide d 'une instruction LCHEX(LCHEX #0000000000100000h) qui est assez longue ;  * Mettre C champ W  a`  ze'ro (par C=0 W) et charger#100000h (LCHEX #100000h) ;  * Mettre C champ W a` ze'ro (par C=0 W), mettre P  a` 5 (parP= 5) et charger 1 (LCHEX #1h) ce qui aura pour effet de  charger 1 dans le quartet 5 de C, d 'ou` la valeur#000000000100000h dans C champ W, puis remettre P a` ze'ro ;  * Mettre C champ W  a` ze'ro (par C=0 W) , mettre 1 dans Pet e'changer le quartet 5 de C avec P (par CPEX 5) ce qui  aura aussi pour effet de remettre P  a`  ze'ro. C 'est cettesolution que nous allons utiliser, car elle est tre`s courte ;  * De nombreuses autres solutions existent bien s u^r(incre'menter C champ P avec P=5 ...). Le choix de telle  ou telle autre instruction n'est apre`s tout qu'une affaire destyle et d'optimisation...  Nous pouvons alors comparer C et A sur les champs W :  * Si C est supe'rieur a` A, tout va bien, nous pouvons utiliserla valeur de A. Puisque le champ W de A vaut moins que  #0000000000100000h, la partie 'int e'ressante' de A setrouve dans A champ A ;  * Sinon, nous devons utiliser #FFFFFh. L a` encore nousavons plusieurs solutions pour cr e'er cette valeur  (de'cre'menter C champ W ...). Nous retiendrons lasolution d 'un chargement direct (LAHEX), histoire de varier les instructions utilise'es. Notre programme s'e'crit alors :  CON(5) PROL_PRGM Prologue programmeCON(5) #1884Dh Mise a` ze'ro No cmde CON(5) #18AB2h Ve'rif. nbr objets (1)CON(5) #18FB2h Ve'rif type CON(5) #0405Dh Adresse <0000Bh>CON(5) PROL_CODE  Prologue du code de'but CON(5) (fin)-(de'but) Sa longueurA=DAT1 A Lecture adresse de l'entier  D1=D1+ 5 ; On enle`ve l'entier de laD=D+1 A ; pile GOSBVL SAVE_REG On sauve les registresD1=A
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 :