Übersetzungen dieser Seite:

Notizen zu Leo Brodie: Programmieren in Forth

von W.Allinger

Leo Brodies Buch „Programmieren in Forth“ Carl Hanser Verlag bezieht sich auf den FORTH-79 Standard. Die amerikanische Original-Ausgabe ist inzwischen in der 2.Auflage erschienen, die an einigen Stellen ueberarbeitet und auf den FORTH-83 Standard umgestellt wurde .

Die deutsche Auflage wurde bisher nicht ueberarbeitet.

Hier nun einige ( ich hoffe vollstaendige ?! ) Bemerkungen zu den Aenderungen bzw. Abweichungen.

\s brodie1.seq Notizen zu Leo Brodie von W.Allinger ALL0492   17.04.92   17:58 


Seite: 

 81     ? STACK muss ?STACK lauten, 

        in FORTH-83 macht es einen ABORT" Stack underflow" falls 
        der Stack unterschritten wurde, oder garnichts! 

        So in etwa eine moegliche Definition: 

        : ?STACK  ( -- )   DEPTH 0< ABORT" Stack underflow"  ; 

 82     ?STACK ( -- )      ABORT falls stack underflow 

 89     I I' J haben in FORTH-83 andere ?abweichende? Funktion 
        also hier alles entfernen, statt dessen: 

        R@      ( -- n )   kopiert TOP of return Stack nach 
                           Parameter Stack, return Stack wird 
                           nicht veraendert. 

 90     I -> R@ aendern s.o. 

100     I -> R@ aendern s.o. 

116     LEAVE springt in FORTH-83 sofort!!! hinter LOOP bzw +LOOP 
        und es kann mehrfach innerhalb einer Schleife stehen! 

        LEAVE   ( -- )  setzt sofort hinter LOOP bzw. +LOOP fort. 

128     FORTH-79:       : NOT   0=     ; 
        FORTH-83:       : NOT   -1 XOR ; 

        d.h. in FORTH-83 wird bitweise complementiert!!! 
        es wird also das logische NOT bitweise ausgefuehrt, 
        genauso wie AND OR XOR bitweise arbeiten. 
        FORTH-79 ist da inkonsequent, AND OR XOR arbeiten mit 
        dem Wort, NOT komplementiert zwischen TRUE und FALSE!!!! 

143     FORTH-83 nennt U/MOD konsequent UM/MOD ! 
        /LOOP gibt's nicht mehr, da FORTH-83 mit unsigned numbers 
        arbeitet, anstatt wie FORTH-79 mit signed numbers. 
        In FORTH-79 gabs immer Klimmzuege wenn man LOOPs ... 
        mit mehr als 15bit grossen Zahlen bearbeiten wollte! 

178     FORTH-83  ' liefert CFA 
        FORTH-79  ' liefert PFA 

        d.h. in FORTH-83 muss das Beispiel 

                38 ' GRENZE >BODY ! 

        lauten. 

183     FORTH-83  ' liefert CFA 

195     H ist DP in FORTH-83 
..204 

211     FORTH-83 

        SAVE-BUFFERS arbeitet wie FLUSH, loescht UPDATED flag aber 
        haelt den Blockbuffer assigned, so dass nicht wieder von 
        der Platte geladen werden muss. 

215     >TYPE nicht FORTH-83 

219     FORTH-83   <CMOVE umgetauft in CMOVE> 
..220 

225 
..234   TEXT und -TEXT gibt's nicht in FORTH-83 

233     MOVE*8) ist wohl ein Dreckfuehler, in FORTH-83 gibt es MOVE 

234     FORTH-83   <CMOVE heisst CMOVE> 
        >TYPE*6) Tippfehler, muss >TYPE heissen, gibt's nicht in FORTH-83 

292     MINUS heisst in FORTH-83 NEGATE !!!! 

        17apr92 W.Allinger 
projects/notiz1.txt · Zuletzt geändert: 2010/12/29 18:12 (Externe Bearbeitung)
 
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: CC Attribution-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki