Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Assembleur sur HP41

3 réponses
Avatar
Arachide
Coucou,

Je bricole avec l'assembleur sur la HP41CX, un vrai plaisir!
J'ai mis à jour ma page avec les outils utilisés:

http://gtello.pagesperso-orange.fr/hp41_f.htm#mcode

Guillaume.

3 réponses

Avatar
Sébastien Kirche
Bonjour Guillaume,
Le 31 juillet 2016 à 11:30, Arachide a tapoté :
Je bricole avec l'assembleur sur la HP41CX, un vrai plaisir!

Tu pourrais décrire brièvement le processeur et ce que tu lui trouves de
bien ? Histoire de se faire une idée par rapport aux autres processeurs,
comme la famille x86 que je connais plutôt bien, le Z80 que je
redécouvre et le 68000 que j'ai un tout petit peu pratiqué et qui était
bien lui aussi.
Je pourrais chercher les caractéristiques, mais c'est toujours mieux
d'avoir une synthèse par quelqu'un qui pratique.
--
Sébastien Kirche
Avatar
Jean-Marc DURO
Le 01/08/2016 à 14:45, S�bastien Kirche a écrit :
Bonjour Guillaume,
Le 31 juillet 2016 à 11:30, Arachide a tapoté :
Je bricole avec l'assembleur sur la HP41CX, un vrai plaisir!

Tu pourrais décrire brièvement le processeur et ce que tu lui trouves de
bien ? Histoire de se faire une idée par rapport aux autres processeurs,
comme la famille x86 que je connais plutôt bien, le Z80 que je
redécouvre et le 68000 que j'ai un tout petit peu pratiqué et qui était
bien lui aussi.
Je pourrais chercher les caractéristiques, mais c'est toujours mieux
d'avoir une synthèse par quelqu'un qui pratique.

Le processeur est décrit ici:
http://www.hpmuseum.org/techcpu.htm
Il y a un magazine scanné en français sur la programmation ici (1983):
http://www.archives.hp41.eu/jpc/numero-1/jpc-1.pdf
Avatar
Arachide
Le 01/08/2016 à 14:45, S�bastien Kirche a écrit :
Bonjour Guillaume,
Le 31 juillet 2016 à 11:30, Arachide a tapoté :
Je bricole avec l'assembleur sur la HP41CX, un vrai plaisir!

Tu pourrais décrire brièvement le processeur et ce que tu lui trouves de
bien ? Histoire de se faire une idée par rapport aux autres processeurs,
comme la famille x86 que je connais plutôt bien, le Z80 que je
redécouvre et le 68000 que j'ai un tout petit peu pratiqué et qui était
bien lui aussi.
Je pourrais chercher les caractéristiques, mais c'est toujours mieux
d'avoir une synthèse par quelqu'un qui pratique.

En gros, le CPU est orienté "calcul scientifique".
Les registres permettent de stocker exactement un nombre réel sur 56
bits en BCD.
Deux nibbles pour les signes mantisse et exposant
Deux nibbles pour l'exposant (00-99)
10 nibbles pour la mantisse.
Un registre central est appelé "C", il permet de dialoguer avec la
mémoire (récupérer un réel, le stocker), il dialogue aussi avec les
autres registres temporaires A, B M et N
Les instructions du processeur permettent de travailler sur 56 bits, ou
seulement la mantisse, ou le signe ou l'exposant. (arithmétique,
comparaison, etc...).
Ce CPU peut aussi travailler en hexadécimal, faire de la logique (OR,
AND, additions et soustractions binaires, mais c'est moins fourni de ce
côté là.
Un seul bit de condition existe "Carry", il sert à tout.
Le processeur dialogue avec des périphériques (la RAM en est un, les
extensions HP-IL aussi, le circuit d'horloge aussi), il exécute ses
instructions uniquement depuis la ROM qui est directement connectée à
son bus d'adresse. Ce qui fait que pour programmer en assembleur, il
faut un module embarquant de la RAM sur ce qui devrait être de la ROM.
Chaque instruction est un mot de 10 bits.
la calculatrice peut adresse 64k mots de 10 bits, ça fait déjà pas mal
pour l'époque dans une calculatrice!
Côté vitesse, c'est plus de 6000 instructions par seconde! largement de
quoi donner envie de travailler dessus par rapport à la programmation
standard en RPN.
Guillaume.