Accueil > Réalisations > Publications > Ouvrages > Ouvrage sur la HP28 c/s > Voyage au centre de la HP28 c/s : lire le livre en ligne

Voyage au centre de la HP28 c/s : lire le livre en ligne

mardi 27 juin 2006, 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 !

Voyage28 - page 068 - Courbis, acteur de l'Internet depuis 1988
Section prcdente : L Page prcdente Sommaire Page suivante Section suivante : Comment en découvrir plus ?

L'accès au langage-machine

(c) Courbis www.courbis.fr   Page 64  L - On passe ensuite au doublet suivant par 2 STEP. Apre`s avoir use' de ce programme sur la liste des codes (par exemple '76C2009F20' qui est l'objet programme vide), on obtient la chai^necontenant la liste des codes. Il faut a` pre'sent se `de'barrasser' des  guillemets pour obtenir l'objet lui-me^me. La me'thode la plus simpleconsiste a` cre'er non pas l'objet lui-me^me, mais une liste contenant l'objet, puis a` placer cette liste dans la pile en utilisant SYSEVAL et a` effectuerla se'quence 1 GET pour obtenir l'objet.  Cependant il faut connai^tre l'adresse du contenu de la chai^ne pourfaire ceci; mais le calcul de cette adresse est simple si on stocke celleci en de'but de menu USER (sur les 28s: en de'but de menu USERprincipal, c'est a` dire en de'but de menu HOME).  En effet si on stocke l'objet de cette manie`re, la Ram se pre'sente ainsi:           prologue chai^ne longueur chai^ne   chai^ne                fin  de  Ram  La valeur de L est 2 fois la longueur de la chai^ne (chaque caracte`reoccupe 2 quartets). Le programme ASS se transforme donc ainsi (ce nouveau programme sera appele' LASS comme List-ASS pour ledistinguer du pre'ce'dent)  LASS  << '69A20' SWAP + '09F20' + -> LM   << HEX '' 1 LM SIZE     FOR X '#' LM X DUP2 1 + DUP SUB         3 ROLLD DUP SUB + + STR-> CHR +     2 STEP `LM.C' DUP PURGE STO #fin.de.RAM     LM.C SIZE 2 * - SYSEVAL 1 GET 1 ->LIST     LIST-> DROP `LM.C' PURGE >> >>  On ajoute '69A20' en de'but d'objet et '09F20' en fin pour placer l'objet a` cre'er dans une liste. La chai^ne re'sultat est place'e dans LM.C en de'but de menu USER (pour ce faire, on commence par purger la variable). On calcule ensuite l' adresse du SYSEVAL par #fin.de.RAM LM.C SIZE 2 *. La liste est ensuite amene'e dans la pile gra^ce au SYSEVAL. Enfin on extrait l'objet gra^ce a` la se'quence 1 GET, on oblige le calculateur a` recre'er l'objet gra^ce a` 1 ->LIST LIST-> DROP et on de'truit LM.C devenue inutile (`LM.C' PURGE).  V28 #2 (C) 2001 www.courbis.com 8/03/2001, 12:4464
Section prcdente : L Page prcdente Sommaire Page suivante Section suivante : Comment en découvrir plus ?
© 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.
ipv6 ready ipv6 test
Suivre ce site :
Recommander cette page :
Bookmark and Share
Traduire :