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...

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 :