Sujet : Re: FORTH s'étoffe en Maths
De : houten.van (at) *nospam* orange.fr (Arachide)
Groupes : fr.comp.sys.atariDate : 19. Oct 2022, 18:59:54
Autres entêtes
Organisation : Aioe.org NNTP Server
Message-ID : <tipae8$5pt$1@gioia.aioe.org>
References : 1 2 3 4
User-Agent : Thunderbird 680x0 for Windows powered by Atari
Le 18/10/2022 à 22:40, OL a écrit :
C'est assez terrible ce language et le @ il sert à quoi ? dire que l'on va faire une opération avec ce qu'il y a devant et ce qu'il y a derrière, c'est une vraie torture ! Je suppose qu'il y a un intérêt sinon qui pourrait écrire ainsi ? A côté l'assembleur semble presque simple!
Merci en tous les cas pour les explications
Olivier
En fait le choix du FORTH est l'extrême simplicité de l'interpréteur (il tait à l'origine destiné aux petits systèmes embarqués de pilotage d'engins par exemple). Donc un interpréteur utilisant peut de mémoire était le top.
Chaque valeur est déposée sur la pile et chaque opération agit sur le sommet de la pile. Il n'y a pas d'interpréteur d'expression mathématique, de précédence d'opérateurs, rien de tout ça. L'addition prendra toujours les deux valeurs du sommet et remplace par la somme.
Le signe @ a la même fonction que l'étoile en C. Elle permet de passer d'un pointeur (qui est une adresse) au contenu pointé. Ici, @ ramène le LONG pointé à l'adresse.
Donc:
x @
ramène la valeur longue pointée par x (une variable est une adresse finalement).
x @ 4 +
renvoie 4 + la valeur de x
mais:
x 4 + @
renvoie le LONG se trouvant à 4 octets après x.
Guillaume.