SDWE 12-13 Nov : Quelle est votre instruction LMS préférée ?

Ici, on fait dans le petit, le LCD qui déchire sa race, on y cause même calculatrices quand on est en manque !

Modérateur : Politburo

Répondre
Avatar de l’utilisateur
Hobiecat
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3397
Inscription : 06 sept. 2011 14:57
Localisation : Normandie

SDWE 12-13 Nov : Quelle est votre instruction LMS préférée ?

Message par Hobiecat » 12 nov. 2016 09:20

Pour ce premier Sujet du Week-End, je vous propose de présenter votre instruction LMS préférée: c'est votre "chouchou", vous la collez à tours de bras dans tous les programmes, même dans un MPO de 10 pas, vous arrivez à la placer deux fois.

Présentez-nous cette instruction, pourquoi elle vous plaît, pourquoi vous la mettez à toutes les sauces ?

PS : bien entendu, comme dans les MPO, toutes les marques sont autorisées, il n'y a pas de favoritisme ! ;)
Dernière édition par Hobiecat le 12 nov. 2016 09:29, édité 1 fois.

Avatar de l’utilisateur
Hobiecat
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3397
Inscription : 06 sept. 2011 14:57
Localisation : Normandie

Re: SDWE 12-13 Nov : Quelle est votre instruction LMS préfér

Message par Hobiecat » 12 nov. 2016 09:27

Allez, j'inaugure ! :mrgreen:

Mon instruction préférée est certainement x<>y qui permet de triturer les paramètres de fonction que ce soit dans ou hors programme, en échangeant les deux registres sur les HP. C'est forcément utile dans les MPO, mais aussi dans les autres programmes, pour remettre les paramètres dans l'ordre.

Avatar de l’utilisateur
zpalm
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 2498
Inscription : 03 mai 2008 15:33
Localisation : Grenoble

Re: SDWE 12-13 Nov : Quelle est votre instruction LMS préfér

Message par zpalm » 12 nov. 2016 10:10

Depuis que je l'ai découverte sur la WP 34S, mon instruction LMS préférée est: <>

Une instruction tellement simple et si utile que l'on se demande comment on a pu vivre toutes ces années sans elle, et pourquoi donc ne la trouve t'on sur aucune HP !

C'est l'instruction idéale pour les MPO, celle qui permet de gratter les derniers pas qui vont faire la différence.

Imaginez, une seule instruction pour réorganiser la pile à sa convenance ! À elle seule elle ringardise complètement le mythique Logigraphe du non moins mythique "Programmer HP-41":

Image

Pour reprendre l'exemple donné dans le livre, le passage de dcba à cdab nécessite 6 instructions: RDN, RDN, X<>Y, RDN, RDN,X<>Y que l'on peut remplacer sur la WP 34S par une seule <>YXTZ.

Et en plus elle ne se limite pas à la permutation des registres de la pile mais elle permet aussi leur duplication, si l'on reprend l'exemple ci dessus on peut passer de dcba à cddb par <>YXXZ.

Vive le stack shuffle, vive <> !!!

Tipoucet
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3767
Inscription : 10 janv. 2009 14:47

Re: SDWE 12-13 Nov : Quelle est votre instruction LMS préfér

Message par Tipoucet » 12 nov. 2016 10:37

La fonction log, car elle permet de deviner la longueur d'un nombre :D

edit : mais ce n'est pas spécifiquement LMS j'en conviens
Dernière édition par Tipoucet le 12 nov. 2016 11:16, édité 1 fois.
Dominique

Avatar de l’utilisateur
badaze
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 7462
Inscription : 12 févr. 2007 19:36
Localisation : Pas très loin de Lyon
Contact :

Re: SDWE 12-13 Nov : Quelle est votre instruction LMS préfér

Message par badaze » 12 nov. 2016 10:51

Mon instruction préférée est NOP qui ne fait rien.
De ce fait on pourrait douter de son utilité car à quoi cela peut-il servir de ne rien faire puisque l'informatique est l'automatisation du faire ?
C'est vrai, je ne l'utilise pas tous les jours mais sa présence ma rassure car quand je programme et que je ne sais pas encore vers quel branchement je vais aller et bien je mets un NOP que je remplacerai plus tard. Si je veux tester une partie de programme sans pour autant avoir la bonne condition je mets un NOP.

Code : Tout sélectionner

x>=t
GTO 1
... reste du programme

Code : Tout sélectionner

x>=t
NOP
... reste du programme
Au final NOP est presqu'une instruction philosophique car la vraie liberté ce n'est pas de pouvoir faire mais de pouvoir ne pas faire !
Tout est bon dans le pocket.
Moi j'aime tout.... Casio, HP, Sharp, TI et les autres sauf que les TI semblent ne pas m'aimer :(
http://www.emmella.fr
Mes Casio - HP - Sharp - TI
Homme invisible.

Avatar de l’utilisateur
gege
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 7180
Inscription : 31 janv. 2008 15:24
Localisation : Banlieue Paârisienne
Contact :

Re: SDWE 12-13 Nov : Quelle est votre instruction LMS préfér

Message par gege » 12 nov. 2016 14:27

Bonjour,
Excellent :lol:

Mon instruction préférée est bien sûr GOTO !
Bien que méprisée, vilipendée, ostracisée, dénigrée, rabaissée, elle est présente sur TOUTES les machines SAUF les HP RPL / PPL, où son absence se fait sentir tel un nuage sombre pesant sur l'humeur du programmeur...
Cette instruction existe en Pascal (eh oui), en C, C++, et à peu près tous les langages utilisables.
Non, on ne parle pas de Prolog.

Cette instruction est ultra puissante, comment pourrait-on imaginer une programmation dans laquelle le déroulement d'un programme serait forcément linéaire ??? 8O

Le THEN du Basic sous-entend GOTO, mais ce dernier doit être inclus si on a plusieurs instructions :
IF A<10 THEN 200
IF B=4 THEN C=12:GOTO 1010

En LMS les tests sont parfois des instructions sans adresse, GOTO est nécessaire, exemple sur HP34C :
if x=y
GTO 1
Sur d'autres modèles l'adresse est dans le if, exemple TI59 :
x>=t 498 (saute au pas 498 si x supérieur ou égal à t), qui donne en mémoire 77 04 98


Le GOTO est au RETURN ce que la boucle est à la récursion : un cousin certes moins sophistiqué, mais bien plus puissant.
Tous les programmes qui devraient être récursifs mais ne peuvent l'être car dépassant le nombre maximal d'adresses de sous-programmes, sont réalisables avec GOTO.
Donc GOTO > RETURN !
N'oublions pas qu'au final dès le niveau de l'interpréteur, ou au pire au niveau du microprocesseur, TOUT est GOTO !


Si vous voulez temporairement brancher ou débrancher un truc dans votre programme, il suffit d'un ou deux GOTO qui sautent ou se branchent sur un bout de code séparé qui ne salit pas votre beau code...


Dans le programme suivant :
10 A=1:GOSUB 20:END
20 A=2:GOSUB 40:RETURN
30 A=4:END
40 A=3:RETURN

La ligne 20 est avantageusement remplacée par :
20 A=2:GOTO 40

L'utilité la plus indiscutable de GOTO est dans le traitement des erreurs.
Inutile de lever des drapeaux qu'on va ensuite tester dans toutes les sections suivantes du programme, Bing ! on saute directement au bloc de traitement d'erreurs, en général situé à la fin.


Enfin dernière utilité du GOTO, la plus optionnelle donc indispensable, il permet de rendre votre code incompréhensible si vous le voulez (normalement GOTO bien utilisé rend un programme plus clair...).
Exemple :

Code : Tout sélectionner

10 A=12:B=6
20 PRINT 1;:IF A<3 THEN B=B+A:A=31-A:GOTO 40
30 PRINT 2;:IF 7<B THEN A=A-B:B=B-3:GOTO 50
40 PRINT 3;:IF B<20 THEN B=B+A:A=A-10:GOTO 20
50 PRINT 4;:IF 5<A THEN A=B-A:B=A-B:GOTO 30
60 PRINT "->";A;B
Qu'est-ce qui est imprimé à la fin ? :wink:

Seul GOTO peut rendre heureux le vrai programmeur !

Une dernière question : combien y a-t-il de GOTO dans ce message ? :wink:
G.E.

Avatar de l’utilisateur
badaze
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 7462
Inscription : 12 févr. 2007 19:36
Localisation : Pas très loin de Lyon
Contact :

Re: SDWE 12-13 Nov : Quelle est votre instruction LMS préfér

Message par badaze » 12 nov. 2016 14:45

Euh .... 42 ?

Non ! 19 !
Tout est bon dans le pocket.
Moi j'aime tout.... Casio, HP, Sharp, TI et les autres sauf que les TI semblent ne pas m'aimer :(
http://www.emmella.fr
Mes Casio - HP - Sharp - TI
Homme invisible.

Avatar de l’utilisateur
Miskatonic91
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 495
Inscription : 27 août 2016 17:28
Localisation : Valdemarnie

Re: SDWE 12-13 Nov : Quelle est votre instruction LMS préfér

Message par Miskatonic91 » 12 nov. 2016 14:59

Les instructions de la TI-57 détournées de leur but premier et qui permettent d'économiser des pas de programmes.
Ex: la fonction statistique mean (x surmonté d'un trait) qui ne prend qu'un pas, et qui remplace RCL 1 / RCL 0 = (4 pas).
Sur la TI-66, le gain est encore plus conséquent: 1 pas contre 6! (RCL 01 / RCL 03 =)

L'autre instruction que j'aime beaucoup, c'est Dsz. Je la trouve mystérieuse dans son appellation, pleine de mystères et de chausse-trappes... (faut dire, avec tous ces sauts... :mrgreen: ). Sur la TI-57, elle permet surtout de décrémenter le registre 0 d'un seul pas de programme... même si on ne l'utilise pas, au final, pour sauter... :wink:

EDIT: rendons à César... C'est en lisant les MPOs de leglatin pour TI-57 que j'ai découvert ces trucs...
Un peu de tout, mais toujours de bon goût :wink:

caloubugs
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 438
Inscription : 05 juin 2014 22:23
Localisation : Dans le Gâtinais avec les abeilles, près de Fontainebleau

Re: SDWE 12-13 Nov : Quelle est votre instruction LMS préfér

Message par caloubugs » 12 nov. 2016 15:59

gege, c'est le Schopenhauer du Basic... (parce qu'utiliser des Goto avec du C ou du Pascal, faut quand même en vouloir).

De mon côté, mon instruction favorite sera le complément du goto, celle sans qui certaines machines auront bien du mal à démarrer le moindre programme : LBL.
C'est surtout histoire d'en trouver une autre...

J'aime bien aussi la x<>y, les flags (SF, F?) et une mention particulière à DSZ.

J'attends celui qui proposera la fonction gamma en dehors du calcul de la loi de Student...
RetroGeek, mais pas que...
HP : 15C, 41CV, 48GX, 71B, 75C Canon X-07 Sharp PC 1403H, PC1500A, PC1600, PC-G850V Texas : CC40, 66, 74, 95, 92 Casio : PB-700, PB-1000, Z-1GR Psion 5mx, mais pas que...

Avatar de l’utilisateur
Miskatonic91
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 495
Inscription : 27 août 2016 17:28
Localisation : Valdemarnie

Re: SDWE 12-13 Nov : Quelle est votre instruction LMS préfér

Message par Miskatonic91 » 12 nov. 2016 16:19

caloubugs a écrit : J'aime bien aussi la x<>y, les flags (SF, F?)
Moi-aussi, j'ai toujours eu une attirance pour les instructions SF et CF en LMS HP:
SF = Science-Fiction (la littérature de SF, une vieille passion...)
CF = Compact Flash (c'est ce que je mets dans mon reflex Nikon :mrgreen: et maintenant dans mon Psion series 5)
Un peu de tout, mais toujours de bon goût :wink:

Avatar de l’utilisateur
badaze
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 7462
Inscription : 12 févr. 2007 19:36
Localisation : Pas très loin de Lyon
Contact :

Re: SDWE 12-13 Nov : Quelle est votre instruction LMS préfér

Message par badaze » 12 nov. 2016 16:22

caloubugs a écrit :gege, c'est le Schopenhauer du Basic... (parce qu'utiliser des Goto avec du C ou du Pascal, faut quand même en vouloir)
...
Le GOTO c'est comme l'alcool. C'est à consommer avec modération. A la fac j'avais un prof qui ne voulait pas voir de GOTO (nous programmions en Pascal) et un autre qui n'avait rien contre du moment que c'était pour la bonne cause.
Tout est bon dans le pocket.
Moi j'aime tout.... Casio, HP, Sharp, TI et les autres sauf que les TI semblent ne pas m'aimer :(
http://www.emmella.fr
Mes Casio - HP - Sharp - TI
Homme invisible.

kenneth
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 680
Inscription : 22 sept. 2010 13:48
Localisation : France PdD

Re: SDWE 12-13 Nov : Quelle est votre instruction LMS préfér

Message par kenneth » 12 nov. 2016 16:53

Perso j aime bien:

NOP:

Ca ne fait rien mais j en mets un peu partout, comme ca je peut rafistoler mon code.
En plus sur il existerait plusieurs sortes de "NOP" avec la SHARP PC1403 comme quoi le "rien" peut se décliner sous plusieurs formes.

JMP():

Le saut absolu indirect: Je ne m'en sert jamais mais je la trouve anecdotique avec son bug des câbleurs du 6502A qui la rend partiellement inutile...

Avatar de l’utilisateur
pir2
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4594
Inscription : 31 oct. 2006 16:08
Localisation : 67310 Westhoffen
Contact :

Re: SDWE 12-13 Nov : Quelle est votre instruction LMS préfér

Message par pir2 » 12 nov. 2016 18:44

X=>=t, X<>=Y0, IF et tout ce qui fait qu'un programme ne soit pas une suite linéaire d'instruction, qu'on les complète avec des GTO, GOTO ou des SBR, XEQ, GOSUB.
La base de la programmation :)

En fait, mon instruction LMS préférée est le X<>t de la TI-57, instruction préalable à tout test sur cette machine, puisque c'est cette instruction qui avait éveillé ma curiosité pour la programmation il y a plus de 35 ans :)

Une autre, plus anecdotiquement: le 7P<>S du lecteur de cartes de la HP-41, pour émuler une fonction de la HP-67, échange des registres primaires et secondaires.
Je ne l'ai utilisée efficacement qu'une seule fois, pour un MPO justement (mais je ne sais plus lequel).
Dernière édition par pir2 le 12 nov. 2016 19:12, édité 1 fois.
Image
Image

tyann
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 756
Inscription : 06 oct. 2012 14:37

Re: SDWE 12-13 Nov : Quelle est votre instruction LMS préfér

Message par tyann » 12 nov. 2016 19:06

Bonsoir
Si les langages modernes sont sans conteste plus simples et plus puissants
que nos vieux LMS.
Il y a quand même quelque chose qui me manque, ce sont les opérations directes
en mémoire qu'on ne retrouve plus.
Ecrire

Code : Tout sélectionner

INC A
au lieu de

Code : Tout sélectionner

A=A+1
Donc les ST+, ST- etc... avec INC me plaisent beaucoup.
Mais puisqu'il faut en choisir une, j'ai un faible pour le test Y/N de la Ti-95.
On mets un message dans le registre ALPHA puis

Code : Tout sélectionner

Y/N instruction 1 instruction 2....
Le programme s'arrête, affiche le message YES au-dessus de F1 et NO pour F2
vous répondez F1 (yes) et instruction 1 est exécutée, vous répondez F2 (no) et elle est ignorée par le programme
qui passe à instruction 2.
C'est simple et hyper pratique.
Ti(s) 60, 62 Galaxy, 66, 67 Galaxy, 68, 74 Basical 80, 81, 82, 83+, 83 CE, 84+SE, 85, 86, 89, 89 titanium, 92, 95 Procalc, v200, nSpire cx
Hp(s) 41CX, 28S, 48g, 50g, 39gII, Prime G1 et G2,
Casio(s) fx 602P, 702P, 4000P, 4500P, 6000G, 6900G, 7700G, 8500g, PB-700, CG-20, Graph 95 sd
Psion(s)II LZ64, siena, s3a, s3mx, s5mx.
Sharp(s) pc-1350, 1403, 1500A, El 5120, 9200, 9600

Canon X-07

caloubugs
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 438
Inscription : 05 juin 2014 22:23
Localisation : Dans le Gâtinais avec les abeilles, près de Fontainebleau

Re: SDWE 12-13 Nov : Quelle est votre instruction LMS préfér

Message par caloubugs » 12 nov. 2016 19:12

tyann a écrit : Mais puisqu'il faut en choisir une, j'ai un faible pour le test Y/N de la Ti-95.
On mets un message dans le registre ALPHA puis

Code : Tout sélectionner

Y/N instruction 1 instruction 2....
Le programme s'arrête, affiche le message YES au-dessus de F1 et NO pour F2
vous répondez F1 (yes) et instruction 1 est exécutée, vous répondez F2 (no) et elle est ignorée par le programme
qui passe à instruction 2.
C'est simple et hyper pratique.
Faut vraiment que j'améliore mes connaissance sur cette machine, manifestement :roll:
RetroGeek, mais pas que...
HP : 15C, 41CV, 48GX, 71B, 75C Canon X-07 Sharp PC 1403H, PC1500A, PC1600, PC-G850V Texas : CC40, 66, 74, 95, 92 Casio : PB-700, PB-1000, Z-1GR Psion 5mx, mais pas que...

Répondre

Revenir vers « Tous les Pockets »