Le logo HP Invent est propriete de Hewlett-Packard. Le site HP-Network n'a rien a voir avec la societe Hewlett-Packard

 


Francais : version originale
Translate this page in American/English

HOME

NEWS
TEST
Progs
Jeux
AIDE
Debutants
Docs
Programmer Gruges
Nouvelles HPs
La HP 49G +
Les Modèles
CONTACT

Forum
Team
Liens

HP 40G
 

Jeux
Graphismes
Sources

Library
Astuces

PROJETS

HP Worms
Treize II
Street Fighter
QVGDM
Counter S.
YODA
SebOS

Hardware
Download
Interviews
Galerie d'art

 




 

- RPL et L'ASM -

Marier le RPL système et l'assembleur

Tout programmeur averti sait comment lancer un programme en assembleur depuis un programme en RPL système, il suffit d'inclure le code assembleur dans la structure en RPL système.

Mais comment exécuter une tâche pourtant simple grâce à un programme en RPL au cours du déroulement d'un code en assembleur ?

Le problème s'est posé pour la réalisation d' Icq HP (cf icqhp.multimania.com) et j'ai le plaisir de livrer ici le fruit de mes réflexions...

La routine dont le source suit s'insère dans votre source assembleur à un moment où les registres sont soit rétablis (routine LOAD en 067D2), soit encore inchangés (début du programme).
Elle utilise 15 quartets en #80539 inutilisés par la HP49G car anciennement affectés à la gestion des cartes mémoire dans la HP48G(X).
L'exécution du programme évalue l'objet dont les quartets sont inclus après le caractère $ puis poursuit au label *Suite.

Registres utilisés:
A champ A, C champ A, 1 étage de RSTK
...mais le RPL modifie potentiellement tous les registres (y compris R0,R1,R2,R3 et R4).
En fait, lorsque la HP49 parvient au label *Suite, seul D0 est nécessairement conservé depuis le label Exe.RPL.

*Exe.RPL
LC 80543
CD0EX
DAT0=C A
GOSUB SkipObj
$Quartets_de_l'objet
*SkipObj
D0= 80539
LC 8053E
DAT0=C A
D0+5
A=PC
GOINC Back
A+C A
DAT0=A A
D0-5
C=RSTK
A=C A
PC=(A)
*Back
D0= 80543
C=DAT0 A
D0=C
*Suite
@

Cette routine (utile) est freeware, vous êtes libre de l'utiliser, la modifier et de la distribuer en toute liberté !

Yoann Désir

08/07/01

hp49g.multimania.com


Retour a Programmer

HOME

 


Warning: main(../../interface/copyright.html) [function.main]: failed to open stream: No such file or directory in /homez.11/hpnetwor/www/programmer3/docs/hp49/asm/rplasm/rplasm.php on line 136

Warning: main() [function.include]: Failed opening '../../interface/copyright.html' for inclusion (include_path='.:/usr/local/lib/php') in /homez.11/hpnetwor/www/programmer3/docs/hp49/asm/rplasm/rplasm.php on line 136