Deutsch English Français Italiano |
<tipae8$5pt$1@gioia.aioe.org> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!news.mixmin.net!aioe.org!ehPmoIe1VPaiJg2plNRepQ.user.46.165.242.91.POSTED!not-for-mail From: Arachide <houten.van@orange.fr> Newsgroups: fr.comp.sys.atari Subject: =?UTF-8?Q?Re=3a_FORTH_s=27=c3=a9toffe_en_Maths?= Date: Wed, 19 Oct 2022 18:59:54 +0200 Organization: Aioe.org NNTP Server Message-ID: <tipae8$5pt$1@gioia.aioe.org> References: <tih82e$1637$1@gioia.aioe.org> <JtD5DXvL7NDvvWKyJU07lj22UOo@jntp> <tilrv3$ahc$1@gioia.aioe.org> <JQCVKMMzTg9ybkeZOfHWcjYYaIA@jntp> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Info: gioia.aioe.org; logging-data="5949"; posting-host="ehPmoIe1VPaiJg2plNRepQ.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org"; User-Agent: Thunderbird 680x0 for Windows powered by Atari X-Notice: Filtered by postfilter v. 0.9.2 Content-Language: fr Bytes: 2279 Lines: 43 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.