HP Forums
Registres Alpha (41cx) - Printable Version

+- HP Forums (https://www.hpmuseum.org/forum)
+-- Forum: HP Software Libraries (/forum-10.html)
+--- Forum: HP-41C Software Library (/forum-11.html)
+--- Thread: Registres Alpha (41cx) (/thread-7384.html)



Registres Alpha (41cx) - Tyann - 12-07-2016 11:56 AM

Bonjour

Voici un programme qui simule plusieurs registres Alpha dans un fichier,
SIZA céer le fichier de X (entier) registres et renvoie dans X le nombre de registres xmémoire consommés,
ASTOA copie le registre Alpha dans le registre n° X,
ARCLA copie le registre n° X dans le registre Alpha,
A<> échange le registre Alpha avec le registre n° X
A=? test l'égalité entre le registre Alpha et le registre n° X, renvoie 1 si =, 0 sinon dans X.
CLRA supprime les registres et détruit le fichier.
Les registres commencent à 1, le registre 0 est utilisé pour les échanges et les tests mais peut-être utilisé si besoin.
Le n° du registre Alpha à utiliser doit être mis dans X (entier).
Le fichier nommé XALPHA est le fichier en cours et doit le rester pour que les instructions fonctionnent.
ASTOA,ARCLA et A<> préservent la pile.
A=? préserve Alpha.

Hello

Here is a program that simulates several Alpha registers in a file,
SIZA céer the file of X (integer) registers and returns in X the number of registers xmemory consumed,
ASTOA copies the register Alpha in register No. X,
ARCLA copies the register X in the Alpha register,
A <> exchanges register Alpha with register n ° X
A =? Test the equality between the register Alpha and the register n° X, returns 1 if =, 0 otherwise in X.
CLRA deletes the registers and destroys the file.
Registers start at 1, register 0 is used for exchanges and tests but can be used if needed.
The number of the Alpha register to be used must be set to X (integer).
The file named XALPHA is the current file and must remain so for instructions to work.
ASTOA, ARCLA and A <> preserve the stack.
A =? Preserves Alpha.

Code:

01    LBL "SIZA"
02    "XALPHA"
03    1
04    +
05    STO Y
06    3,7
07    *
08    INT
09    1
10    +
11    CRFLAS
12    " "
13    LBL 00
14    APPREC
15    DSE Y
16    GTO 00
17    CLA
18    RTN
19    LBL "ASTOA"
20    SEEKPT
21    DELREC
22    INSREC
23    RTN
24    LBL "ARCLA"
25    SEEKPT
26    GETREC
27    RTN
28    LBL "A<>"
29    X<>L
30    CLX
31    SEEKPT
32    DELREC
33    INSREC
34    X<>L
35    SEEKPT
36    GETREC
37    DELREC
38    X<>L
39    SEEKPT
40    INSREC
41    X<>L
42    SIGN
43    SEEKPT
44    GETREC
45    DELREC
46    X<>L
47    SF 25
48    SEEKPT
49    FC?C 25
50    APPREC
51    INSREC
52    X<>L
53    CLX
54    SEEKPT
55    GETREC
56    X<>L
57    RTN
58    LBL "A=?"
59    STO L
60    SEEKPT
61    POSFL
62    X≠Y?
63    GTO 02
64    ALENG
65    X<>Y
66    CLX
67    XEQ "ASTOA"
68    X<>L
69    XEQ "ARCLA"
70    X<>Y
71    ALENG
72    X<>L
73    XEQ "ARCLA"
74    X<>L
75    X≠Y?
76    GTO 01
77    -
78    CLX
79    1
80    RTN
81    LBL 01
82    RDN
83    LBL 02
84    CLX
85    RTN
86    LBL "CLRA"
87    "XALPHA"
88    PURFL
89    CLA
90    END
214 octets.


RE: Registres Alpha (41cx) - morex - 12-04-2018 06:55 PM

Nice program and idea!

Regards.


RE: Registres Alpha (41cx) - grsbanks - 12-04-2018 07:06 PM

Idée géniale Smile

J'ai fait un truc semblable dont le but était de préserver le registre alpha et la pile dans… une pile LIFO en mémoire etendue. Il faudra que je retrouve le programme car je n'ai aucune idée de ce que j'en ai fait Smile

------------

Great idea!

I did something similar designed to save the alpha register and the stack in... a LIFO stack in X-Mem. I'll have to dig it out from wherever it is - I have no idea what I've done with it.