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 278 - 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  Page 272 Programmer en langage-machine Chapitre 9  * A=DAT0 A se code par les trois quartets 142 ;  * D0=D0+ 5 se code 164 ;  * PC=(A) se code 808C.  D'ou` le listing du programme : 142 164 808C. Il convient maintenant de placer ces codes dans l 'objet adapte' :l'objet  `code'. Pour cela on rajoute son prologue (CCD20) et sa longueur hors prologue : 5 (longueur de la longueur) + 10 (3 codespour A=DAT0 A, 3 pour D0=D0+ 5 et 4 pour PC=(A)). On obtient donc finalement la suite de codes :  CCD20 F0000 142 164 808C  Pour des raisons de lisibilit e', tous les listings de codes serontrepre'sente's par groupes de cinq quartets :  CCD20 F0000 14216 4808C La derni e`re  e'tape est de cr e'er l 'objet correspondant au listing.Nous allons utiliser le programme GASS que nous venons d'e'tudier.  Il faut :  * Entrer les codes de l 'objet sous la forme d 'une chai^ne decaracte`res sans espace ni retour chariot ;  * La chai^ne e'tant au niveau 1 de la pile, on ex e'cute alorsGASS ;  * Le r e'sultat obtenu (affich e' sous la forme de  code) estl'objet correspondant aux codes entr e's. On peut alors le  stocker dans une variable (comme un programmenormal) ou l'e'valuer directement (par   [EVAL]) ce qui aurapour seul effet de le faire dispara i^tre (puisqu 'il ne fait  rien)... b) Un autre programme ne faisant rien ! Compliquons  a` pr e'sent notre exemple. Nous avons vu que laHP48 utilisait un certain nombre de registres qu 'il convenait de sauver en de'but de programme et de restaurer en fin (juste avant lase'quence A=DAT0 A, D0=D0+ 5, PC=(A)). Pour effectuer cette sauvegarde nous avons deux solutions :  * La faire 'a` la main' en utilisant les registres R0, R1...  * Utiliser les routines en m e'moire morte qui s 'occupent defaire cette sauvegarde en des emplacements bien pr e'cis  de la Ram r e'serve'e. Cette seconde solution estassure'ment la meilleure puisque certaines autres routines
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 :