Home

V4N6 - Forth

image

Contents

1. C2 C4 N1 P4 T3 WI Cross Compilers C2 F3 13 M6 N1 P4 Products Various A5 C2 F3 I5 S8 W2 TANNE 26 6c erni aaa C2 F3 13 P4 W1 FORTH System Vendors Arphabetica The following vendors offer FORTH systems applications or con sultation FIG makes no judgement on any product and takes no responsibility for the accuracy of this list We encourage readers to C 1 CMOSOFT FOREM Systems P O Box 44037 1 AB Computers Sylmar CA 91342 252 Bethlehem Pike 2 COMSOL Ltd Colmar PA 18915 Treway House 215 822 7727 Hanworth Lane 2 Acropolis Chertsey Surrey 17453 Via Valencia England KT16 9LA San Lorenzo CA 94580 3 Consumer Computers 415 276 6050 8907 La Mesa Blvd 4 Applied Analytics Inc La Mesa CA 92041 8910 Brookridge Dr 300 714 698 8088 Upper Marlboro MD 20870 4 Creative Solutions Inc 5 Aristotelian Logicians 4801 Randolph Rd 2631 E Pinchot Ave Rockville MD 20852 Phoenix AZ 85016 5 Capstone Computing Inc 7 Abstract Systems etc 5640 Southwyck Blvd 2E RFD Lower Prospect Hill Toledo OH 43614 Chester MA 01011 419 866 5503 8 Armadillo Int Software E P O Box 7661 1 Emperical Research Group Austin TX 78712 P O Box 1176 512 459 7325 Milton WA 98354 B 206 631 4855 1 Blue Sky Products 2 Engineering Logic 729 E Willow 1252 13th Ave Signal Hill CA 90806 Sacramento CA 95822 Fantasia Systems Inc Frank Hogg Laboratory
2. PREV PAGE and PAGE EDIT function keys you may skip or browse thru memory including the running operating system a full page at a time and change any memory location to any value desired The system consisting of the full screen editor along with the fig FORTH model and many additional fig FORTH screens is delivered on TWO diskettes The first disk read able by CP M or Cromemco CDOS contains the 8080 FIG source listing and an enhanced version in ZILOG Z80 mnemonics with FORTH COM files for Z80 amp 8080 processors and a special one for Cromemco 3102 terminals The second disk contains FORTH readable screens including the exten sive full screen editor for disk and memory This disk also has I O port dump and traditional formated mem ory dump words plus many items pub lished in FORTH Dimensions includ ing a FORTH TRACE utility a model database handler an 8080 ASSEMBLER and a recursive decom piler This entire work is placed in the public domain in the manner and spirit of the work upon which it is based Copies may be distributed when proper notices are included The cs 99 22 two disks and a copy of the fig FORTH Installation Manual are 65 Contact Dennis Wilson Aristo telian Logicians 2631 East Pinchot Avenue Phoenix AZ 85016 602 956 7678 CP M is a copyright of Digital Research Inc CDOS is a copyright of Cromemco Inc ZILOG is a copyright of ZILOG Inc FORTH COM
3. Start Your Own FIG Chapter What is a FIG Chapter There are two kinds of FIG chap ters local and special interest Local chapters are centered in a city or re gion Special interest chapters may be non geographical they focus on an in terest area such as an application e g robotics telecommunication or on FORTH for a particular computer All chapters must provide a contact point and some form of regular pub lic access usually meetings Non geographical chapters will normally provide other forms of access such as a newsletter or telecommunications instead of meetings Why Have a FIG Chapter A chapter lets you share informa tion with other FORTH users in your geographical or application area In addition FIG provides several specific benefits A FIG will list your chapter in FORTH Dimensions so that others can find your group B FORTH Dimensions will give priority to publishing chapter news which can help you make professional contacts in the areas of your particular interests C FIG will occasionally supply material such as meeting handouts or tapes which can serve as a discussion topic at local meetings D FIG will supply its publications at bulk rates local chapters can sell them to raise money and to provide immediate local access to the material E Chapters can apply to FIG for one time funding for activities How to Start a FIG Chapter To be recognized as a chapter a
4. Data Box e A comprehensive set of data base management tools e Professionally written manual with complete installation guide tutorial glossary and application examples e 64 screens of fully commented structured FORTH 79 standard code fig FORTH compatible e Records and files stored in FORTH screen blocks fully compatible with any FORTH system easily adapted to any block size e Free format records can be as large or small as you wish mixed record sizes in the same file with NO wasted space no fixed length fields e Store ANY kind of data no data types e ideal for relational data bases e Keep you files on the same disk as your programs e Full protection of files and dictionaries from overwriting e Simpie to use easy to impement on your FORTH system 29 95 All documentation and source screens Add 5 00 for MicroMotion Apple compatible disk source screens only Pathway Projections 8408 18th Ave West 8203 Everett WA 98204 Guarantee If you don t agree this is quality worthwhile software for you return it in 30 days and we ll refund your check No questions no copy protection we trust you Volume IV No 6 DEVELOPMENT TOOLS Develop FORTH code for any target No downloading No trial PROM burning 8080 2Z80 system on your current 8080 Z80 This port addressed RAM on your S 100 host or Cromemco CDOS based system is the ROM of your target
5. FORTH DIMENSIONS VOLUME IV NUMBER 6 2 50 E INSIDE 5 TEACHING FORTH j FORTH as a Teaching Language Albert S Woodhull Ph D 5 Teaching FORTH ona VAX Vernor Vinge 8 FEATURES Algebraic Expression Evaluation in FORTH Michael Stolowitz 14 DEPARTMENTS Leners oc cr get caret ee ee caesar KR a 3 T E ee ee Robert L Smith 12 A Techniques Tutorial Meta Compiling Henry Laxen 19 New Products Reviews 0 ccc ccc ec eee eee eee eee eee e eens 22 2 leo sia cesses ouen Meats a eee eee seers ees 25 FIG Chopte INOW Sica snes te edie nw dees R eee eee RRR 29 i Standards Corner TEACHING FORTH AA LEARE ERP V LLIN DEEL IA AOAC PDA N tan ate URE EER WBA MEA Sn eA ste at IES Fara RE Ee bol 8080 Z80 FIG FORTH for CP M amp CDOS systems FULL SCREEN EDITOR for DISK amp MEMORY 50 saves you keying the FIG FORTH model and many published FIG FORTH screens onto diskette and debugging them You receive TWO diskettes see below for formats available The first disk is readable by Digital Research CP M or Cromemco CDOS and contains 8080 source keyed from the published listings of the FORTH INTEREST GROUP FIG plus a translated enhanced version in ZILOG Z80 mnemonics This disk also contains executable FORTH COM files for Z80 amp 8080 processors and a special one f
6. Shaw Labs Ltd P O Box 3471 Hayward CA 94540 415 276 6050 Sierra Computer Co 617 Mark NE Albuquerque NM 87123 Sirius Systems 7 28 Oak Ridge Highway Knoxville TN 37921 615 693 6583 Software Farm The P O Box 2304 Reston VA 22090 Software Federation 44 University Drive Arlington Hts IL 60004 312 259 1355 Software Works The 1032 Elwell Ct 210 Palo Alto CA 94303 415 960 1800 Supersoft Associates P O Box 1628 Champaign IL 61820 217 359 2112 Satellite Software Systems 288 West Center Orem UT 84057 801 224 8554 Spectrum Data Systems 5667 Phelps Luck Dr Columbia MD 21045 301 992 5635 11 Stearns Hoyt Electronics 4131 E Cannon Dr Phoenix AZ 85028 602 996 1717 T 1 Talbot Microsystems 1927 Curtis Ave Redondo Beach CA 90278 2 Technical Products Co P O Box 12983 Gainsville FL 32604 904 372 8439 3 Timin Engineering Co 6044 Erlanger St San Diego CA 92122 714 455 9008 4 Transportable Software P O Box 1049 Hightstown NJ 08520 609 448 4175 1 Valpar International 3801 E 34th St Tucson AZ 85713 800 528 7070 1 Ward Systems Group 8013 Meadowview Dr Frederick MD 21701 2 Worldwide Software 2555 Buena Vista Ave Berkeley CA 94708 415 644 2850 1 Zimmer Tom 292 Falcato Dr Milpitas CA 95035 Boards amp Machines Only See System Vendor Chart for others Controlex Corp 16005 Sherman Way Van Nuys CA 91406 213
7. FACER 1 2 3 or 4 64K of RAM and CPU 68K x 7 4 4 a URL i a COMPLETE FORTH OPERATING SYSTEM 200 FEATURES an assembler full screen editor CP M file transfer utility time of day date stamping shadow screen printing utility and line editor fully compatible with STARTING FORTH by Leo Brodie as well as many other useful extensions All CompuPro products meet the most demanding mechanical and electrical standards and are backed with one of the best warranties in the business 1 year limited warranty on all BOARD LEVEL products 2 year limited warranty with exchange program for products qualified under our Certified System Component pro gram Call CompuPro at 415 562 0636 for additional information or to order P a ge r NN a a s S s a 3 K a a SO S OE ELD ELE LIE TEE ETE GESTED LY TEI TD COMPLETE 68K SYSTEM 8995 INCLUDES ENCLOSURE 2 DESK TOP 8 MHz CPU 68K SYSTEM SUPPORT 1 INTERFACER 4 256K BYTES OF 16 BIT MEMORY 1 5 MBYTES OF M DRIVE H DISK 1 CONTROLLER DISK ENCLOSURE WITH 2 QUME DRIVES 2 4 MBYTES e ALL CABLES e mapFORTH amp CP M 68K CP M is a registered trademark of Digital Research AUTHORIZED SYSTEMS CENTERS offer complete installation and implementation of our CPU 68K SYSTEM Call 415 562 0636 and ask us for the name of the SYSTEMS CENTER nearest you Price shown does not include dealer installation and support Services B a a I TET a A a a a a a CompuPro division
8. IUS Cap n Software keep us informed on availability of the products and services listed Vendors may send additions and corrections to the Editor and must include a copy of sales literature or advertising 3 Inner Access 517K Marine View Belmont CA 94002 415 591 8295 1059 The Alameda Belmont CA 94002 415 593 5700 FORTH Inc 4 Insoft 2309 Pacific Coast Highway 10175 S W Barbur Blvd Hermosa Beach CA 90254 Suite 202B 213 372 8493 Portland OR 97219 FORTHWare 503 244 4181 5 Interactive Computer Systems Inc 6403 Di Marco Rd Tampa FL 33614 639 Crossridge Terrace Orinda CA 94563 130 Midtown Plaza Syracuse NY 13210 315 474 7856 J FSS 1 JPS Microsystems Inc P O Box 8403 361 Steelcase Rd W Austin TX 78712 Markham Ontario 12 477 2207 Canada L3R 3V8 416 475 2383 IDPC Company P O Box 11594 K Philadelphia PA 19116 215 676 3235 emt Kukulies Christoph Ing Buro Datentec Heinrichsallee 35 Aachen 5100 West Germany 281 Arlington Ave Berkeley CA 94704 415 525 9452 ve ae FORTH Dimensions Volume V No 6 FORTH System Vendors Laboratory Microsystems 4147 Beethoven St Los Angeles CA 90066 213 306 7412 2 Laboratory Software Systems Inc 3634 Mandeville Canyon Los Angeles CA 90049 213 472 6995 3 Lynx 3301 Ocean Park 301 Santa Monica CA 90405 213 450 2466 4 Lyons George 280 Henderson St Jersey City NJ 07302 2
9. morphosis metathesis 2 after beyond higher metaphysics Meta Compiling in FORTH com bines attributes of both of the above definitions It occurs on a higher level from ordinary compiling and involves a change from one environ ment to another In one sentence Meta Compiling in FORTH is a pro cess in which FORTH code is com piled in one environment and executed in another The environment in which the code is compiled is called the HOST system The environment in which the code compiled by the Meta Compiler will finally execute is called the TARGET system One of the main difficulties encountered in Meta Com piling is the confusion that naturally arises out of the interactions between the different environments Many words in the Meta Compiler have to tally different meanings depending on the context in which they are used In the first part of this exposition we will look in detail at one of the central issues of Meta Compiling namely that Meta Compiling of storage allocation We will leave the issue of context for the next article Think of a Meta Compiler as a ma chine in which FORTH Source Code is cranked in and Target Object Code is cranked out In any software project one of the main resource allocation problems is how to allocate memory The same is true in Meta Compiling and this article will address the issue of memory allocation for Meta Com pilers The problem then is to con struct a mapping
10. tions test gear in my job Some of the ideas will save me at least 2K of ROM space Keep up the good work E J McKernan IV Datalog Emporia Kansas Volume IV No 6 lt i FORTH as a Teaching Language Albert S Woodhull Ph D Hampshire College Amherst Massachusetts 01002 At Hampshire College we take a pause between the regular semesters for a January Term During Janu ary the expectation is that students and faculty will engage in intensive ac tivities of the sort that are difficult to manage during the regular semester This year with help from my col league Bill Marsh I undertook to in troduce a number of undergraduates to the FORTH language I think FORTH has some features that could make it very useful as a teaching tool but there are drawbacks as well I will describe below the course and some of my conclusions regarding the pos sibilities for FORTH as a teaching language The course was called Building a Small Compiler and was publicized as being about the techniques used in implementation of high level lan guages I proposed a goal of complet ing as a cooperative project a cross compiler to allow high level develop ment of programs to be run on smaller systems The description listed famil larity with at least one computer lan guage as a prerequisite A varied assortment of students ap peared at the first class The entry level programming courses at Hamp
11. CREATE SWAP ne IMMEDIATE 3 DOES gt 2 BEGIN DUP LEV gt NOT WHILE 4 gt R DR OP gt R gt R gt REPEAT gt OP 5 6 VOCABULARY ALGEBRAIC IMMEDIATE ALGEBRAIC DEFINITIONS 7 8 7 INFIX 7 INFIX 9 6 INFIX 6 INFIX 10 5 INFIX gt gt 5 INFIX lt lt 5 INFIX 11 4 INFIX NOT NOT 12 3 INFIX AND AND 13 2 INFIX OR OR 14 15 gt SCR 68 0 ALGEBRAIC 30NOV82MCS l 4 CR 1 gt OP IMMEDIATE 2 3 38 FORTH BEGIN 1 LEV lt WHILE OP gt REPEAT 4 L LEV IF 4 OP 5 ELSE 1 ABORT Missing THEN IMMEDIATE 6 7 FORTH DEFINITIONS 8 9 Alf 0 OP COMPILE ALGEBRAIC IMMEDIATE EXIT 10 ll Examples Af At B C D A JA 12 13 or EPXR A A B C D A JA 14 15 OBWRO CONY ANGIELSKI is Polish for Reverse English Continued el r eee se FORTH Dimensions 15 Volume IV No 6 INTRODUCING CONTROL TECH CT 16 32 68000 BASED NETWORK WORK STATION FEATURES e 68000 6 mhz CPU e 128K BYTES RAM e 32K BYTES EPROM e RS232C SERIAL PORT 110 9600 BAUD JUMPER SELECTABLE e CENTRONICS PARALLEL PRINTER PORT e 6840 TRIPLE 16 BIT TIMER e 7 LEVELS OF AUTO VECTORED INTERRUPTS e 358 KBAUD NETWORK PORT e 16K BYTE NETWORK FIRMWARE FOR MONITOR DEBUG ASSEMBLY DISASSEMBLY e 16K BYTE FIRMWARE NETWORK BASED 68000 FORTH BY CONTROL TECH INTRODUCTORY PRICE 1695 00 CONTROL TECH FORTH for the 68000 CPU is similar to FIG forth for 8 bit computers but uses 32
12. Hardware Engineer Andi Marinenko Customer Support Boe FORTH Dimensions 28 Project Engineer PEOPLEWARE SYSTEMS INC 612 831 0827 TWX 910 576 1735 Fred Olson Applications Engineer _ Gary Winkler Hardware Firmware Design Engineer Volume IV No 6 prin FIG Chapter News Potomac Chapter At the December 7th meeting we heard how Ted Beach using just a baker s dozen of FORTH words has created a simple minded disk directory system that anyone can install in their FORTH environment The word DIR will list out the entire directory of screens on a FORTH disk while FREE will print out the number of unused screens available on the disk One of the most powerful features of the directory system is a redefini tion of the FORTH word tick The new tick performs exactly as the stan dard tick but will also search all avail able disk drive directories for the word before issuing an error message If tick finds the word on any disk it will load the associated screen s for you Ted demonstrated the system on the Radio Shack Color Computer At the January 4th meeting Steven Knowles discussed FORTH in As tronomy Steve is an astronomer who for many years has used FORTH on minicomputers Steve described his work with FORTH for data collecting and shared his recollections and ideas about FORTH Las Vegas Chapter The third formal meeting of the Las Vegas FIG was hel
13. by Laxen amp Harris for CP M 22s22sassa akak ksssra a kana 95 00 Z 80 Machine Tests Memory disk console and printer tests with all source code in standard Zilog mMnemonics ssssnnnsnansnnnnnnnnini 50 00 All software distributed on eight inch single density soft sectored diskettes except PC FORTH on 5 inch soft sectored single sided double density diskettes Micropolis and North Star disk formats available at 10 00 additional charge Prices include shipping by UPS or first class mail within USA and Canada Overseas orders add US 10 00 per package for air mail California residents add appropriate sales tax Purchase orders accepted at our discretion No credit card orders Laboratory Microsystems Inc 4147 Beethoven Street Los Angeles CA 90066 213 306 7412 Z 80 is a registered trademark of Zilog Inc CPIM is a registered trademark of Digital Research Inc Augusta is a trademark of Computer Linguistics IBM is a registered trademark of International Business Machines Corp PC FORTH and PC GEN are trademarks of Laboratory Microsystems FORTH Dimensions 13 Volume IV No 6 in FORTH Michael Stolowitz Editor s Note The approach that Mr Stolowitz takes here resembles that used by Charles Moore in his BASIC compiler FORTH Dimensions III 6 p 175 although the two approaches were developed independently We asked Mr Stolowitz to refer back to Mr Moore s implementation for com pa
14. group must have 1 a contact person 2 regular public access usually by meetings which are open to the public and 3 at least five members of FIG If you don t know five mem bers in your area FIG can help you contact them If you want to start a chapter send a request for a FIG Chapter Kit to the Chapter Coor dinator FORTH Interest Group P O Box 1105 San Carlos CA 94070 FEATURES 79 Standard system gives source portability Professionally written tutorial amp user manual Screen editor with user definable controls Macro assembler with toca labels Virtual memory Both 13 amp 16 sector format Multiple disk drives Double number Standard amp String extensions Upper lower case keyboard input LO Res graphics 80 column display capability Z 80 CP M Ver 2 x amp Northstar also available Affordable Low cost enhancement option Hi Res turtie graphics Floating point mathematics Powerful package with own manual 50 functions in all AM9511 compatible FORTH 79 V 2 requires 48K amp 1 disk drive ENHANCEMENT PACKAGE FOR V 2 Floating point amp Hi Res turtle graphics COMBINATION PACKAGE CA res add 6 tax COD accepted MicroMotion 12077 Wilshire Blvd 506 L A CA 90025 213 821 4340 Specify APPLE CP M or Northstar Dealer inquiries invited Ver 2 For your APPLE II II The complete professional software system that meets ALL provisions of the FORTH 79 Standard adopted
15. into disk addresses Consider the following 10 CONSTANT TARGET BLOCK THERE target addr host addr 1024 MOD TARGET BLOCK BLOCK We first divide by 1024 bytes per block and get back a quotient and a remainder The quotient is the block number and the remainder is the byte index into that block All we have to do is add in the beginning block num ber TARGET BLOCK and call our friend BLOCK to perform the map ping of a block number into a buffer address Finally we add in the byte index into the returned address and we are done Or are we There are two bugs in the above code as it relates to Meta Compiling See if you can find what they are The first bug will probably not bite you but when it does it will produce very dramatic results and it will be ob vious how to fix it The problem is that when dealing with addresses you should be very careful what kind of arithmetic you perform Addresses are unsigned quantities while division and multiplication deal with signed quantities The above code works fine as long as the Target address is less than 32K As soon as it is larger MOD returns a signed quotient and remainder and we will be passing BLOCK a very strange block number I will leave it to you to rewrite THERE to avoid this 32K problem The second bug is far more subtle and in fact does not lie in the word THERE at all You don t discover this one until you have crashed many many times Rec
16. 35804 m 205 533 9405 EE Toll Free 800 558 8088 FORTH Dimensions 32 Volume IV No 6 U S ARIZONA Phoenix Chapter Dennis L Wilson Samaritan Health Services 2121 E Magnolia Phoenix AZ 602 257 6875 CALIFORNIA Los Angeles Chapter Monthly 4th Sat 11 a m Allstate Savings 8800 So Sepulveda Boulevard Los Angeles Phillip Wasson 213 649 1428 Northern California Chapter Monthly 4th Sat 1 p m FORML Workshop at 10 a m Palo Alto area Contact FIG Hotline 415 962 8653 Orange County Chapter Monthly 4th Wed 12 noon Fullerton Savings 18020 Brookhurst Fountain Valley 714 523 4202 San Diego Chapter Weekly Thurs 12 noon Call Guy Kelly 714 268 3100 ext 4784 MASSACHUSETTS Boston Chapter Monthly Ist Wed 7 p m Mitre Corp Cafeteria Bedford MA Bob Demrow 617 688 5661 after 5 p m e MICHIGAN Detroit Chapter Call Dean Vieau 313 493 5105 o MINNESOTA MNFIG Chapter Monthly 1st Mon MNFIG 1156 Lincoln Avenue St Paul MN 55105 Call Mark Abbot days 612 854 8776 or Fred Olson 612 588 9532 FIG Chapters o MISSOURI St Louis Chapter Call David Doudna 314 867 4482 e NEVADA Las Vegas Chapter Suite 900 101 Convention Center Drive Las Vegas NV 89109 702 737 5670 NEW JERSEY New Jersey Chapter Call George Lyons 201 451 2905 eves NEW YORK New York Chapter Call Tom Jung 212 746 4602 oe OKLAHOMA Tulsa Chapter Monthl
17. 780 8877 Datricon 7911 NE 33rd Dr 200 Portland OR 97211 503 284 8277 Golden River Corp 7315 Reddfield Ct Falls Church CA 22043 Application Packages Only See System Vendor Chart for others Curry Associates P O Box 11324 Palo Alto CA 94306 415 322 1463 InnoSys 2150 Shattuck Ave Berkeley CA 94704 415 843 8114 Consultation amp Training Only See System Vendor Chart for others Boulton Dave 581 Oakridge Dr Redwood City CA 94062 Brodie Leo 9720 Baden Ave Chatsworth CA 91311 213 998 8302 Eastgate Systems Inc P O Box 1307 Cambridge MA 02238 Girton George 1753 Franklin Santa Monica CA 90404 213 829 1074 Go FORTH 504 Lakemead Way Redwood City CA 94062 415 366 6124 Harris Kim R Forthright Enterprises P O Box 50911 Palo Alto CA 94303 415 858 0933 Laxen Henry H 1259 Cornell Ave Berkeley CA 94706 415 525 8582 McIntosh Norman 2908 California Ave 3 San Francisco CA 94115 415 563 1246 Metalogic Corp 4325 Miraleste Dr Rancho Palos Verdes CA 90274 213 519 7013 Petri Martin B 15508 Lull St Van Nuys CA 91406 213 908 0160 Redding Co P O Box 498 Georgetown CT 06829 203 938 9381 Schleisiek Klaus Eppendorfer Landstr 16 D 2000 Hamburg 20 West Germany 040 480 8154 Schrenk Dr Walter Postfach 904 7500 Karistruhe 41 West Germany Software Engineering 317 W 39th Terrace Kansas City MO 64111 816 531 5950 Technology Manageme
18. 79 146 Point 100 IBM PC or 8086 100 Z80 or 8086 100 I MVP FORTH Meta Compiler for CP M Programmer s kit Use for applicatons on CP M based computer Includes public domain source 150 O MVP FORTH Fast Floating Point for APPLE Programmer s Kit Includes 9511 math chip on board with disk and documentation 400 O MVP FORTH Programming Aids for CP M IBM or APPLE Programmer s Kit Extremely useful tool for decompiling callfinding and translating 150 O0 MVP FORTH by ECS Software for IBM PC or ATARI 400 800 Standalone with screen editor License required Upgradeable 100 L MVP FORTH by ECS Software for IBM PC or ATARI 400 800 Enhanced with color animation multitasking sound utilities and unlimited run time license 175 O MVP FORTH Professional Application Development System PADS for CP M iBM PC or APPLE A three level integrated system with complete documentation Complete system for IBM CP M or APPLE Includes 3 below 400 E MVP FORTH PADS enhanced virtual system 150 O MVP FORTH PADS Programming Aids 150 CI MVP FORTH PADS Meta Compiler 150 amp x MVP FORTH operates under a variety of CPU s computers and operating systems CP M disks can be supplied 8 SS SD 3740 format or 51 4 for Osborne Northstar Micro Decisions Kaypro or H89 Z89 Specify your computer and operating system x x FORTH MANUALS GUIDES amp DOCUMENTS ALL ABOUT FORTH by _ 1982 Rochester FORTH Haydon See
19. C T instead of the second See if you can implement T in an analogous way What we have really done is imple ment a disk resident virtual memory system It turns out to be very useful in many applications not just Meta Compilation Any time you need a very large array that will not fit in memory the same technique will work Next time we will look deeper into the Meta Compiling process and address the issue of how to actually generate the Target Image Code now that we have a place to put it Until then good luck and may the FORTH be with you Henry Laxen is Chief Software Engineer for Universal Research 150 North Hill Drive 10 Brisbane CA 94005 specializing in the develop ment of portable computers FORTH Dimensions New Product Announcements A FULL SCREEN EDITOR for DISK and MEMORY PLUS 8080 Z80 fig FORTH for CP M and CDOS Systems The full screen editor allows use of terminals that transmit and receive ESCAPE sequences Reverse video blinking and half intensity are also used but provisions are made for ter minals lacking these features All control characters show as and any character higher than 7E HEX shows as You may change these defaults if you prefer This editor also has the unique abil ity to VIEW AND MODIFY MEM ORY using all the full screen edit func tions except SLINE INSERT and LINE DELETE which are disk related Using the NEXT PAGE
20. D1 El Kl 08008 EE ETE P4 8080 85 luskossbaaas Kat uk A5 Cl C2 F4 I5 L1 L3 M3 M6 R1 T3 TBO BI kaa Kl TRR A A3 A5 C2 F4 13 LI M2 M3 M5 N1 T3 180000 skor aba lr 13 8086 88 C2 F2 F3 LI L3 M6 0000 2 27 GV 0ra ka r Eni E2 L3 Operating Systems CR Mire id ie Sat oe uaa A3 A5 C2 F3 13 L3 M1 M2 M6 T3 CP MB6 52332 reres bes C2 Computers Alpha Micro P3 S3 Apple 23 24 44 seid wig se Ra A4 F4 12 14 J1 L4 M2 M6 02 03 Alan cece eiuseteta chs edt M6 P2 Qi V1 FORTH System Vendors by Category Cromemceo A5 M2 M6 DEC PDP LSI 11 C2 F3 L2 S3 Heath 89 M2 M6 Hewlett Packard 85 Hewlett Packard 9826 36 C4 IBM PC A8 C2 F3 L1 M5 M6 Q2 S9 w2 IBM Other L3 W1 Kaypro II Xerox 820 M2 Micropolis A2 M2 S2 North Star 2212 s kka dnes I5 M2 Pi S7 NOV banar a scenes C5 Ohio Scientific A6 B1 C3 Ol S6 T2 OsbOmme 133000 3 kb S k kEka r M2 Pet SWTPC Al A6 Bl C3 Ol S6 T2 TS Poly Morphic Systems A7 TRS 801 H III I5 M2 M5 M6 S4 S5 S10 TRS 80 Color A3 A8 F5 M4 S11 Tl Vector Graphics M2 Other Products Services Applications P4 Boards Machine F3 M3 P4 R2 Consultation
21. Defining Words e Simulations Database Systems OCT 4 8 NOV 8 12 NOV 15 19 OCT 11 15 JAN 3 7 FEB 7 11 FEB 14 18 JAN 10 14 395 Incl Text 495 Incl Text 495 Incl Text Instructors LEO BRODIE GARY FEIERBACH and PAUL THOMAS For further information please send for our complete FORTH Workshop Catalog Inner Access Corporation P O BOX 888 BELMONT CALIFORNIA 94002 415 591 8295 FORTH Dimensions 18 Volume IV No 6 Techniques Tutorial Henry Laxen Meta Compiling is an often heard term in FORTH and yet most people approach it with fear and anxiety This is unfortunate since it is really not that difficult and it is extremely powerful Many purposes have been attributed to Meta Compiling such as generating new FORTH systems creating a custom application cross compiling code for a different target machine removing the names headers from the code and generating ROMable code All of these are different benefits of the Meta Compiling process but they may or may not be the only way to accomplish the task For example FIG allowed people to create new FORTH systems by supplying assembly language list ings of FORTH which people could enter into their computer and assem ble with their assembler No Meta Compiler ever entered the picture Before exploring Meta Compiling in detail let s first look at the dictionary definition of the word META META a prefix meaning I changed transposed meta
22. Godbout Electronics Oakland Airport CA 94614 oA A A AA VA egg ng yey th pg ioc yg ee A PT TL A A aan FORTH Dimensions 1 Volume IV No 6 LL AL LLALL A A AA oA Ao eo oA oA eed oof oa eof i Perkel Software Systems presents MARX FORTH V1 4 150 For the ATARI RADIO SHACK NORTH STAR DOS CPM POLYMORPHIC Marx Forth is not just another warmed over Fig Forth This 79 83 standard Forth has been completely rewritten to include advanced coding techniques not available in most systems AA ABLAAAA A AA AAA A A AAADAAAA A LAAPALASAAPDDDL LSD LDL LOD Marx Forth package includes e Complete source code Screen editor X e Double number word set N e Forth style macro assembler SD A A A aA A Ao e Standard Marx Forth extension word set Extensions include Case e Arguments Results e Printer control e Cursor control e File system e Disk directories e String word set e Recursion Internal advancements include e Links in front of names Fast math e No names on internal words e Super fast compiler New 83 standard circular DO LOOP DO LOOP executes O times if arguments are equal e LEAVE leaves immediately Multiple WHILEs a Vocabulary trees without vocabulary links Compiler security e 1 byte relative branches for canditionals e Smart CMOVE e Machine code where it counts All Marx Forths are compatible and most code written on one system will run on any other with no
23. HH Mail registration to Rochester Forth Conference LLLI EEE ae 70 Elmwood Avenue wee HER Rochester New York 14611 co PT rT TAAA SFR a ee Ua a ee l n r FORTH Dimensions 21 Volume IVY No 6 Meta Compiling Continued quite simple namely we must con struct and out of C and Cl which only operate on byte addresses not word address At this point we get into a small mess because many microcomputers are byte swapped meaning that for a 16 bit word the low order 8 bit half is stored first The 8080 and 6502 are prime examples of byte swapping ma chines The newer 68000 computer is an example of a nonbyte swapping machine Anyway to construct and out of C and C we must be aware of the byte swapping Let s suppose we are on a byte swapped machine and let s take a look at how to imple ment I will leave the implementa tion of as an exercise Consider T target addr value DUP C T addr low SWAP 1 C T low high 256 w hilo Notice that only C T is used so our rule of useage is not violated This is rather slow on most machines because of the multiply but it will certainly work What would be nicer is to define a CODE word say FLIP which ex changes the high and low halves of a 16 bit word Then we could replace the 256 phrase with FLIP and it would be much faster If the machine were not byte swapped then we would place the FLIP or the 256 after the first
24. O X BIT ON BIT OFF BIT BIT TOGGLE TDH250CT82 l BIT index lt name gt 1 0 1 on 0 off 2 ca SWAP 2 AND 0 0 3 4 BIT ON index lt name gt set index bit on 5 DUP gt R C SWAP 2 OR R gt C 6 7 BIT OFF index lt name gt turn index bit off 8 DUP gt R C SWAP 2 255 XOR AND R gt C 9 10 BIT TOGGLE index lt name gt toggle index bit 11 2DUP BIT IF BIT OFF ELSE BIT ON THEN 12 S H 13 P BIT yields the bit status BIT ON sets the bit BIT OFF 14 sets the bit off BIT TOGGLE toggle the bit Use the form 15 index lt name gt BITXxxxxx Victor FORTH By Timothy Huang 30 September 1982 FORTH Dimensions 25 Volume IV No 6 Technotes Continued Circular Lists 120 LIST C L Stephens 0 CIRCULAR LIST WORDS CLS 30 9 81 COMSOL Ltd l CODE C W POP H POP W LDAX L ADD W STAX NEXT JMP 2 Editor s Note The following technote 3 CTOP ae rae o bottom BS NXTBOT 2 next bottom was originally published in England as sai 2054 start of list Computer Solution Ltd s poly 6 ENOL DUP C OVER l C l SWAP STOL end of list T B 7 FORTH Note 19 As such it contains 8 LIST SWAP 2 C changes the list count a few references to a multiprogram 9 2SPACE DUP 1 C SWAP 2 C how many left in med system These references ma 10 S fi y be ll CLIST CREATE 2DUP SWAP 256 creates a l
25. a cross assembler that can assemble code that will execute in an environment other than FORTH If the significance of what has just been discussed has escaped you don t feel bad It escaped me the first six times also Don t be fooled by the simplicity of the implementation The mere fact that we can assemble or compile code in a different memory area than the one we are executing out of is very powerful It is one of the cornerstones of the Meta Compiling process It now only remains to define the mapping word THERE which takes a Target address and returns a Host ad dress The simplest approach if you have enough user memory is to sim Continued FORTH Dimensions 19 Volume IV No 6 Meta Compiling Continued ply define THERE as a constant offset as follows 20000 CONSTANT TARGET OFFSET THERE TARGET OFFSET You can t get much simpler than that However there are times when mem ory is tight or the application program is just too large to fit What do you do then In most other programming lan guages you either give up or start the entire application over from scratch We in FORTH have the luxury of redefining a few words and the rest of the application will never know the difference Let s take a look at how we can provide a mapping from Target to Host addresses without taking up any room in the Host dictionary The an swer is Of course to use BLOCK as a means of mapping memory addresses
26. add 6 tax COD amp dealer inquiries welcome 12077 Wilshire Blvd 506 L A CA 90025 213 821 4340 Specify APPLE CP M or Northstar Dealer inquiries invited FORTH Dimensions 31 Vorume lY Neo 4 FORTH 32 _ The language for the IBM PC hy use a language which limits your program size to 64K Now you can program using the entire IBM PC memory with the FORTH 32 segment sensing language The FORTH 32 DEVELOPMENT SYSTEM features intermixed 16 and 32 bit addressing modes with FORTH 79 compatibility DOS interface full screen editor assembler decompiler graphics CASE verb and debug User controlled I0 with communications to three parallel and two serial ports Complete video monitor joy stick sound and light pen interface Learn to program in FORTH 32 in an afternoon with our 400 page self teaching manual Brochure available 150 The QUEST PACKAGE BUILDER UTILITY transforms user developed programs into copy protected marketable software packages by building on disk a condensed executable image with only those FORTH verbs needed 50 The QUEST floating point and math library provides single and double precision Software version 50 8087 version 50 FORTH 32 AND QUEST ARE TRADEMARKS OF QUEST RESEARCH IBM IS A REGISTERED TRADEMARK OF IBM CORPORATION lt a E aa a ee EE Quest Research Inc P O Box 2553 Huntsville AL
27. an instructional FORTH on it The Software For several years I have been using John S James implementation of fig FORTH 5 on a small LSI 11 system The nucleus of this public domain system is written in MACRO 11 as sembler language and can be reas sembled to run standalone under RT 11 or under RSX 11 Reassem bling the nucleus is easy though the only modification I had made in the past was to vector the definitions of words like KEY EMIT QUIT CREATE Once the James system was in my VAX account it was easy to get it run ning there If every student s file con tained a copy of the nucleus then this version could be used for instruction There would be inconveniences how ever 1 the disk allocation for each student would be greater than is nor mally given to students 2 the fig FORTH dialect is different from that of my text 3 system modifications would be difficult for me to make during the semester Therefore I rewrote the nucleus to allow two sets of screens one in a file called TEACHER DAT and the other in STUDENT DAT TEACHER DAT and the runnable nucleus FORTH EXE reside in the instructor s account and can be read run by the students Each student has his own STUDENT DAT The names of these files are invisible to users Screens 1 through 70 are really TEACHER DAT and screens 71 through 140 are STUDENT DAT The system behaves like a standalone FORTH with two disk drives but where
28. example 27 BIT ARRAY TEST will reserve and initialize to zero 4 bytes 32 bits TEST bit array even though the last 5 bits in the array s last byte are insignificant Also at execu tion time time 3 there is no range check It is supposed to be the pro grammer s responsibility to know what he she is doing Screen 118 provides four bit mani pulation words The only comment that I would like to add here is the name of these words BIT ON BIT OFF and BIT TOGGLE are perhaps not as good as ON OFF and TOGGLE You really should read Mr Henry Laxen s article FORTH Di mensions Vol 4 4 Good naming principles are an essential part of good FORTH Continued SCR 116 TDH250CT82 0 2 1 2 27 n 2 n raise to 2 s n th power 3 DUP O IF DROP 1 4 ELSE 1 SWAP 0 DO 2 LOOP THEN 5 eS 6 P 2 will yield a number which is the n th power of 2 7 8 SCR 117 0 BIT ARRAY TDH250CT82 1 2 BIT ARRAY defining word 3 lt BUILDS number of bits reserved and initial 4 8 MOD SWAP IF 1 ELSE O THEN 5 HERE OVER ERASE ALLOT 6 DOES gt index of bit offset addr 7 SWAP 8 MOD ROT 3 8 S 9 P BIT ARRAY defines a family of bit arrays At the bit 10 array creation time time 2 it takes the form 11 number of bit wanted BIT ARRAY lt name gt 12 At the execution time use the lt name gt bit array 13 time 3 it takes the form 14 index lt name gt index of bit offset addr 15 SCR 118
29. in which the Target Image can reside and to find a con venient way of manipulating that Tar get Image Instead of reinventing the wheel let s do it the way FORTH does it FORTH has a set of words that read and write memory as well as al locate and initialize space in the dic tionary Presumably we will need the same functions in the Target Image This difference is that while the ordi nary FORTH words that read and write memory namely and oper ate on addresses our new read and write memory words will have to oper ate on Target addresses What we need is a word which will map Target ad dresses into Host addresses Let s call this word THERE and it must behave as follows target address THERE host address Using THERE we can define the read and write memory words as T THERE LT THERE We append the T suffix to indicate that we are fetching and storing into Target address We can define C T and CT in a similar way Next we want to implement something analo gous to a dictionary in the Target Sys tem The amount of space that has been allocated in an ordinary FORTH system is held in a variable called DP We can analogously define a vari able called DP T to hold the amount of space allocated in the Target Sys tem Armed with that definition we can define the dictionary words as follows r HERE T DP V ALLOT T DP V T HERE T T 2 ALLOTT Why is there an ordinary in
30. inter mediate result D A on the top of the data stack At this point the causes the rest of the operator stack to be flushed The and are executed in the sequence in which they are re moved producing the same execution sequence as the RPN expression It should be clear from the above example that the complexity of the ex pressions which may be evaluated is limited only by the depths of the oper ator and data stacks While the preceding discussion re fers to the evaluation of an expres sion the actual calculation need not be performed at the same time as the translation to RPN The resulting RPN sequence of operators and oper ands could be recorded for later execu tion This process is of course com pilation and permits rapid evaluation of the expression for different com Continued FORTH Dimensions Volume IV No 6 SEBS NII N 7 am 8 SE T Algebraic Expression Evaluation in FORTH Continued SCR 66 0 ALGEBRAIC 30NOV82MCS 1 CREATE OP 44 ALLOT 2 3 PINTERP pfa CFA STATE IF ELSE EXECUTE THEN 4 5 OPP addr OP DUP 6 7 gt OP pfa lev 4 OP OPP 2 8 9 OP gt OPP 20 4 OP DROP INTERP 10 11 LEV lev OPP 12 13 JA BEGIN LEV WHILE OP gt REPEAT 14 COMPILE FORTH IMMEDIATE 15 gt SCR 67 O ALGEBRAIC 30NOV82MCS l INFIX lev old rpn op new infix op 2
31. of how the FORTH virtual machine works and of what would be required to implement a FORTH system on a new target machine The three class weeks which con stitute the January Term proved to be too short a time for carrying through on the cross compiler project I orig inally proposed I knew this was likely to be the case even before the course began but I was not displeased with what did develop In particular I found it very interesting to gain a per spective on the usefulness of FORTH as an educational tool I have taught assembly language programming before and I appreciate assembly language from a teacher s point of view as much for its impor tance in helping people to understand what the underlying machine is doing as for its usefulness in increasing speed or decreasing memory requirements I think FORTH can serve a similar pur pose in teaching computer scientists but the goal can be reached more quickly given that as I find is usually true the students already have done some high level programming FORTH has some other educational advantages as well Because it has a direct interpretation capability pro gram modules can be debugged much more easily than in a compile only language like Pascal Yet FORTH is also a compiler and in a course for ad vanced students such as I have de scribed FORTH can be used to gain an insight into the compilation process it Continued FORTH Dimensions
32. one of the drives is read only By reassembling the nucleus the instructor can change the characteristics of the system for every one By editing screens 1 through 70 TEACHER DAT the instructor can deliver announcements and software to the students In particular the in structor can install a FORTH front end that will tailor the system to the dialect he wishes to teach My method of operation was a little more compli cated I did almost all program development on an LSI 11 system and then used a terminal emulator to up load debugged materials to TEACH ER DAT in my VAX account This permitted me to use a screen editor and other fast terminal tools It also reduced the amount of time TEACH ER DAT was opened to the instructor this was important during the semest er because the students are locked out of TEACHER DAT when the instructor is messing around there I decided early on that I wanted to use Starting FORTH 1 as my text Let me sing some praises Of all the in troductory FORTH books I ve seen Brodie s is the only one that gets all the way through CREATE DOES gt and the compiler words The explanations and examples are extra ordinarily clear Differences between dialects are carefully noted Brodie skillfully treads the line between say ing too much and becoming imple mentation specific and not saying enough and becoming vacuous And with the praise some brick bats The lack of an index is a conti
33. shire have been taught in either APL or Pascal and there was an expert pro grammer with little experience in the Other language representing each There were also a student with con siderable experience in several lan guages an intermediate Pascal stu dent and students who had learned FORTRAN and BASIC outside of Hampshire College A few of the par ticipants had some microcomputer as sembly language experience none had ever before used FORTH I started out with an exploration of the techniques used by microcomputer implementations of BASIC and Pascal in scanning for keywords and parsing expressions The initial assignments were simple exercises simulating these processes which students were expec ted to complete using the languages with which they were already most familiar Individual presentations of solutions in each of these four lan guages gave me a chance to evaluate the starting levels of the students and provided them all with practice in ex plaining and translating algorithms We moved on fairly quickly to an examination of various ways of repre senting expressions and the relation ships between string and tree represen tations These equivalent representa tions became a theme later as I went into tracing the flow of control during program execution but initially the goal was just to introduce postfix notation At this point studerffs were assigned a few exercises to familiarize themselves with the syste
34. the argument that FORTH code is un readable to the uninitiated This buff er is flexible and moveable starting above the dictionary like PAD and ending just below DOS itself or wher ever you tell it to end In William Graves FORTH II for the Apple II programs are saved through DOS with the command DWARITE and returned to the buffer with the command DREAD You com pile an application with the command LOAD nothing on the stack which LOADs the entire buffer Alternately you can load directly from the disk with the command DLOAD Standard DOS commands are prefaced with the word DOS i e DOS CATALOG What could be simpler You can insert a file into another file thus allowing you to save small files of standard ap plications as you now do screens that would be useful in many programs or you can DLOAD a file directly from another file a file can even DLOAD itself These structures do not sully or defile FORTH or turn it into some thing it Was Never Meant To Be Rather these file systems are just another example of the tremendous versatility and extensibility of FORTH I think it would not be out of line for the Standards Committee to look into adding words like those above to a future release of FORTH not as a replacement to blocks but as an alter native It would make FORTH very little less dependent than it now is just as certain words KEY EMIT 7TERMINAL etc must change from insta
35. word gt which loads 27 the next block suffers from the disad vantage of consuming six bytes of return stack each time it is used It also distributes the loading information across a range of blocks making changes difficult The preferred mechanism consists of an initial Load Block which acts as a directory to the application and as a central point for substitutions How ever this block if it uses LOAD will have to be extensively edited if moved to another system in which those blocks are already in use The word RLOAD takes a value from the stack adds it to the number of the block in which the RLOAD is situated and then loads the resulting block RLOAD BLK LOAD This allows load blocks such as 1 RLOAD 2 RLOAD Device drivers 3 RLOAD 4 RLOAD Control programs 5 RLOAD Test programs An additional benefit of this word is that it allows position independent documentation A description of the package can be in terms of the relative block numbers with a minor change to the program listing words allowing them to print relative rather than ab solute block numbers This is a very useful technique I ve also seen the name LOAD which I think came from Kim Harris Al though I speak out against abbrevia tions I have a word in my own system called FH for from here which performs BLK but not LOAD The syntax therefore is 1FH LOAD 2 FH LOAD as in one from here load I fac
36. workings of a Forth system Stu dents should have some experience with one other computer language Knowledge of assembly language is not required Using FORTH Effectively 5 Day Advanced Class Date June 27 July 1 1983 Cost 150 including 3 quarter hours of academic credit Daily hands on exercises including a meta compilation workshop Outline I Forth system internals II Program development techniques For people who want an in depth under standing of the generation and internal operation of Forth systems Students should have mastered an introductory Forth course or have 6 months experience with Forth have mastered Starting Forth and have knowledge of some assembly lan guage and operating system principles Registration Send check or money order to Office of Continuing Education Humboldt State University Arcata CA 95521 Include the course title s and the number of people registering Enrollment will be filled on a first received first served basis Your payment will be returned if a course is full You will receive a registration pac ket with additional information Direct questions to the above office their phone is 707 826 3711 Ask for Claire Duffey FORTH Dimensions Technotes Continued These words assume a multi task system and will wait if there is no space or no entry respectively In single task systems or emergency over rides SPACE can be used to stop lockouts In a multi tas
37. 01 451 2905 1 M amp B Design 820 Sweetbay Dr Sunnyvale CA 94086 2 MicroMotion 12077 Wilshire Bivd 506 Los Angeles CA 90025 213 821 4340 3 Microsystems Inc 2500 E Foothill Blvd 102 Pasadena CA 91107 213 577 1477 4 Micro Works The P O Box 1110 Del Mar CA 92014 714 942 2400 5 Miller Microcomputer 61 Lake Shore Rd Natick MA 01760 617 653 6136 6 Mountain View Press P O Box 4656 Mountain View CA 94040 415 961 4103 1 Nautilus Systems P O Box 1098 Santa Cruz CA 95061 408 475 7461 1 OSI Software amp Hardware 3336 Avondale Court Windsor Ontario Canada N9E 1X6 519 969 2500 2 Offete Enterprises 1306 S B St San Mateo CA 94402 3 On Going Ideas RD 1 Box 810 Starksboro VT 05487 802 453 4442 1 Perkel Software Systems 1636 N Sherman Springfield MO 65803 2 ta r ar L LA 10 Pink Noise Studios P O Box 785 Crockett CA 94525 415 787 1534 Professional Mgmt Services 724 Arastradero Rd 109 Palo Alto CA 94306 408 252 2218 Peopleware Systems Inc 5190 West 76th St Minneapolis MN 55435 612 831 0872 Quality Software 6660 Reseda Blivd 105 Reseda CA 91335 Quest Research Inc P O Box 2553 Huntsville AL 35804 800 558 8088 Rockwell International Microelectronics Devices P O Box 3669 Anaheim CA 92803 714 632 2862 Saturn Software Ltd P O Box 397 New Westminister BC V3L 4Y7 Canada
38. 10 Color Video Graphics Card 119918 8K FORTH graphics firmware 256x192 pixels 15 color graphic RS 170 video output 16K video RAM ability to GENLOCK to external video JEDEC Stan dard socket for additional firmware PWS9010 STD BUS Card Cage 6 Slots mother board integral power supply 5 volts at 6 amps 12 volts at 1 amp on off and cir cuit breaker switch CUSTOM MADE BOARDS We will custom make boards to your exact application if none of the aforementioned boards meet your needs CONSULTING Our FORTH Team people are ex perts in FORTH based application develooment and are excited to be able to share their special knowledge with you on a person al basis We re racing into tomorrow to give you PWS2020 Interface Card 2 16 bit 1 0 ports Compatible with industry standard optical isolation boards a new family of control system prod ucts today Our innovative FORTH team continues to introduce versatile pow erful and unique firmware with impor tant advantages low cost system Watch for new products to come in 1983 5190 West 76th Street Minneapolis MN 55435 development interactive FORTH lan guage to speed software creation EE PROM nonvolatile memory and STD BUS interfacing Look through our new FORTH firmware we know you ll discov er an application for your current or future projects For samples docu mentation or consultation call one Of our FORTH team Mike Oran
39. AP 1 LIST 12 13 BLIST DUP WENTRY ADDRESS OF NEXT BOTTOM 14 DUP NXTBOT CIRCLE 15 2DUP NXTBOT 1 LIST SLOT 1 n bytes 0 CIRCULAR LIST WORD TESTS CLS 29 9 81 1 10 4 CLIST LOG 2 LOG ILIST SLOT M n bytes 3 VARIABLE LOCAL 2 ALLOT 4 DL CR LOG l C DUP 3 SPACES LOG C DUP 3 SPACES The words TLIST and BLIST 5 LOG 2 leaves number of entries for dump 6 CR LOG SPACE 3 SPACES LOG CTOP 3 SPACES LOG NXTBOT add entries at the top of the list 7 CR LOG STOL SWAP DUMP TLIST and BLIST remove entries 8 FILL 4 0 DO 2DUP I C LOOP 2DROP n all 3 9 V T LOG TLIST FILL In all cases the words return the ad D Vb E t FILE dress of the first byte in the slot allo ll SHOW LOCAL 4 MOVE moves the data to a local buffer cated or to be released The user must A Pe P c LOOP V T L T H then move the required data into or 14 V B LOG BLIST SHOW from the slot 15 Continued FORTH Dimensions 26 Volume IV No 6 FORTH Classes at Humboldt State University Eureka California by Kim Harris People Computers And FORTH Programming 5 Day Introductory Class Date June 20 24 1983 Cost 100 including 3 quarter hours of academic credit Daily hands on exercises Outline I The Forth development system II Developing applications For people who want enough knowledge and experience with Forth to write applica tion programs and understand some of the internal
40. E proFORTH MULTITASKING DIVERSIFIED STAFF M o e DESIGN STUDIES COST ANALYSIS 0 o MICROSYSTEMS INC 213 577 1471 2500 E FOOTHILL BLVD SUITE 102 PASADENA CALIFORNIA 91107 FORTH Dimensions Volume IV No 6 THE FORTH SOURCE MVP FORTH A Public Domain Product MVP Forth is fig FORTH updated to the FORTH 79 Standard Required Word Set The source is public domain Included are an editor FORTH assembler tools and utilities making it compatible with the instructional book Starting FORTH Except for hardware dependencies ali high level FORTH is transportable between all systems Modifications and exten sions can be simplified through the use of MVP FORTH Programming Aids and Meta and Cross Compilers MVP FORTH Books A Series O Volume 1 All about FORTH by Haydon MVP FORTH glossary with cross references to fig FORTH Starting FORTH and FORTH 79 Standard 279 Ed 25 O Volume 2 MVP FORTH Assembly Source Code Includes CP M IBM PC and APPLE listing for kernal 20 C Volume 3 MVP FORTH Math amp Floating Point Extensions by Koopman 25 MORE COMING MVP FORTH Software A Transportable FORTH MVP FORTH Programmer s Kit including disk documen tation Volumes 1 amp 2 of MVP FORTH Series All About FORTH 2 9 Ed amp Assembly Source Code and Starting FORTH Specify CP M IBM PC TRS 80 1 or 3 TRS Color Computer or APPLE 150 C MVP FORTH Cross Compiler for CP
41. FORTH the student types 1 LOAD and the Starting FORTH front end together with the editor is loaded Thereafter the environment is almost identical to that described in Brodie s book There are big structural differences however The underlying architecture things like vocabulary linkage and the layout of the bottom of the stack is still fig FORTH These differen ces are rarely noticed in high level pro gramming and did not cause much confusion even when we got to the later chapters Occasionally the VAX intrudes on the illusion that the system is single user FORTH When the VAX is heav ily crowded disk access becomes much slower than on a single user sys tem If the student s program crashes his system it s necessary to get out of FORTH unlock STUDENT DAT come back and repeat the 1 LOAD step I could have reduced this inconvenience by making ZAP revers ible and by precompiling the front end The only PDP 11 specific prob lem I noticed was the necessity of keeping HERE even The Students Some say FORTH can be taught as a first language to persons with no computer background I believe that with a friendly front end FORTH could compete with languages like Logo for elementary school applica tions I understand that such projects are afoot 9 However if the goal is to learn FORTH to write serious ap plications then the students must be fairly sophisticated The prerequisite for my course was ass
42. H only 0 eee ee eee 100 00 Color graphics PC FORTH only s2ssassssanaaa a a akanansannaa a 100 00 Data base management ssnsvnssnsskakaakasasaakakakakkaaan a 200 00 Symbolic Interactive Debugger PC FORTH only s s ssssssrak rana 100 00 Cross Reference ti M ss 253 ba a eked S ikan eiea en ok ar iao Ae eae 25 00 Curry FORTH Programming Aids 2snsnsnsarasnansonanananinne asa 150 00 PC GEN custom character sets IBM PC only 6 0c c eee eee eee ees 50 00 Nautilus Cross Compiler allows you to expand or modify the FORTH nucleus recompile on a host computer for a different target computer generate headerless code and generate ROMable code with initialized variables Supports forward referencing to any word or label Produces load map list of unresolved symbols and executable image in RAM or disk file No license fee for applications created with the Cross Compiler Prerequisite one of the application development systems above for your host computer Hosts Z 80 CP M 2 2 or MP M 8086 88 CP M 86 IBM PC PC DOS or CP M 86 Targets Z 80 8080 8086 88 IBM PC 6502 LSI 11 68000 1802 2 8 Cross Compiler for one host and one target 0 cece ee te eee ees 300 00 Each additional tarde 1425 sisu a llk H RI S Nl ewes K RA R A RRR 100 00 AUGUSTA from Computer Linguistics for CP M 2 2 211222 liann eee eee 90 00 LEARNING FORTH
43. M FORTH COMM is a software package of high level FORTH routines which transfer information to and from FORTH systems while insuring the integrity of data The features in cluded in the package are o Pre installed drivers for IBM PC Apple Comm Card CP M e Two levels of capability Level 1 Transmit FORTH text screens with handshaking Level 2 Transmit FORTH text or raw binary screens with error detec tion and retransmission e Routines for both sending and receiving Programs will not hang during data transfer e Dumb terminal program included e Remote operation can be achieved with the dumb terminal program These routines have proven to be very reliable under a wide variety of conditions Extra care has been taken to minimize the number of control characters to avoid interference with operating system codes For example the check word and screen sequence number are sent as a string of 4 ASCII hex digits Idle time is minimized by having the sending routine fetch the next screen to be transmitted while the receiving routine is storing the last screen on disk FORTH COMM includes all source code manual and program disk post paid for 75 Specify one of the following disk formats FORTH 79 and fig FORTH with 1024 byte buffers 8 CP M FORTH screens and file of FORTH screens e 5 PC DOS FORTH screens and file of FORTH screens e 5 Apple 3 3 FORTH screens Contact Ren Curry Curry Ass
44. M Programmer s Kit Can also generate headerless code for ROM or target CPU 300 FORTH DISKS FORTH with editor assembler and manual APPLE by M M 100 NOVA by CCI 100 O APPLE by Kuntze 90 TRS 80 by N S 90 J ATARI valFORTH 60 O Z80 by L M 50 J CP M by M M 100 C 8086 88 by L M 100 J HP 85 by Lange 90 C VIC FORTH byHES VIC20 2 IBM PC by L M 100 cartridge 60 Enhanced FORTH with F Floating Point G Graphics T Tutorial S Stand Alone M Math Chip Support MT Multi Tasking X Other Extras 79 FORTH 79 APPLE by M M F G amp 79 140 ATARI by PNS F G amp X 90 O Extensions for L M IBM Z80 and 8086 E Software Floating aoe Apple GraFORTH by O 8087 Support Insoft 75 IBM PC PolyFORTH by FI F G S M MT amp X 300 O 9511 Support LJ O Color Graphics O Multi Tasking FORTH by IBM PC 100 S L CP M X amp 79 395 C Data Base O TRS 80It or fli by M M S Management 200 Requires LM FORTH disk specify IBM Z80 or 8086 F X amp 79 130 O TUTORIAL by L amp H 8 CP M includes Starting FORTH 95 CROSS COMPILERS Allow extending modifying and compiling for speed and memory savings can also produce ROMable code Requires FORTH disk O CP M 300 O IBM 300 Q TRS 80 1 300 O Z80 300 O Northstar 300 D Apple Il ll 300 CJ 80860 300 C fig FORTH Programming Aids for decompiling callfinding CP M by M M F amp
45. ORTH 83 does not necessarily mean compatibility That would be nice but it doesn t stand up in the real world As EFUG pointed out to the Standards Committee peo ple do but apparently not in the U S implement FORTH on other than machines that address 8 bit bytes A casual glance at FORTH 79 or the draft FORTH 83 however shows that a Standard System is effective ly impossible on a machine that has Other than 8 bit addressing granular ity The FORTH community must realize that standards should serve primarily as a medium of exchange The very nature of FORTH and its applications dictate this This has always been a sore point with me When I was exposed to FORTH ini tially it was a word addressing sys tem I liked it better that way Laxen s article on choosing names Both he and Brodie missed an im portant point This is especially true if you look at the source for the QTF Editor where flags are being set and cleared all over the place Beyond 1 CONSTANT T RUE 0 CONSTANT F ALSE They missed ON TSWAP OFFF SWAP Which gives ESCAPE ESC ON Which makes much more sense than ESCAPE T ESC Early in 1982 I needed a microas sembler for a project at work Not 4 having seen Mr Cholmondeley s work III 4 I repeated a lot of it My ex perience however indicates that a FORTH based microassembler is the only thing that makes sense for this sort of work if you haven t
46. Oct 1980 Compare the many advanced features of FORTH 79 with the FORTH you are now using or plan to buy FORTH 79 FORTH 79 Version 2 For Z 80 CP M 1 4 amp 2 x amp NorthStar DOS Users The complete professional software system that meets ALL provisions of the FORTH 79 Standard adopted Oct 1980 Compare the many advanced features of FORTH 79 with the FORTH you are now using or plan to buy OURS OTHERS YES FEATURES OURS OTHERS 200 PG 79 Standard system gives source portability YES YES Professionally written tutorial amp user manual 200 PG YES Screen editor with user definable controls YES YES Macro assembler with local labels YES YES Virtual memory YES YES BDOS BIOS amp cunsole control functions CP M YES YES FORTH screen files use standard resident YES file format YES YES Double number Standard amp String extensions YES YES Upper lower case keyboard input YES YES APPLE It II version also available YES 99 95 Affordable 99 95 YES Low cost enhancement options YES Floating point mathematics YES Tutorial reference manual 50 functions AM9511 compatible format Hi Res turtle graphics NoStar Adv only YES s 99 95 FORTH 79 V 2 requires CP M Ver 2 x 99 95 ENHANCEMENT PACKAGE FOR V 2 49 95 Floating point 49 95 139 95 COMBINATION PACKAGE Base amp Floating point 139 95 MicroMotion advantage users add 49 95 for Hi Res CA res
47. REATE DOES gt and the compiler words were covered in detail I found the compiler words a tricky topic Things would have been a lot trickier if I had had to explain the smart versions of words like and After teaching this course I am definitely an opponent of smart words I finished the semester with recur sion FORTH assemblers job pros pects and a survey of further sources of information When I teach the course again I ex pect to be able to cover more material In addition to the few topics I skip ped in Starting FORTH I hope to cover compiler security local vari ables 7 and a few ideas from metacompilation The Programs Of course programming is one of the most important parts of a lan guage course I made three formal as signments The first was to write a for matted dumper word that showed both octal and ASCII representations of memory This word was used throughout the rest of the course The second project was to write a vocabu lary for studying Conway s Life 2 I supplied the design for this pro ject I believe instructor enforced designs are a good practice where the students don t have design experience The application included a two dimensional wrap around array for the universe of Life words for dis play and time stepping and words for the definition and placement of new Life creatures in the universe It was a good example of how FORTH can be e
48. Volume V No 6 FOR TRS 80 MODEL OR Ill IBM PERSONAL COMPUTER The MMSFORTH System Compare e The speed compactness and extensibility of the MMSFORTH total software environment optimized for the popular IBM PC and TRS 80 Models 1 and 3 e An integrated system of sophisticated application pro grams word processing data base management communi cations general ledger and more all with powerful capa bilities surprising speed and ease of use e With source code for custom modifications by you or MMS e The famous MMS support in cluding detailed manuals and examples telephone tips additional programs and inexpensive program updates User Groups worldwide the MMSFORTH Newsletter Forth related books work shops and professional consulting IM FORTH A World of Difference e Personal licensing for TRS 80 129 95 for MMSFORTH or 3 4TH User System with FORTHWRITE DATA HANDLER and FORTHCOM for 399 95 e Personal licensing for IBM PC 249 95 for MMSFORTH or enhanced 3 4TH User System with FORTHWRITE DATAHANDLER PLUS and FORTHCOM for 549 95 e Corporate Site License Exten sions from 1 000 If you recognize the difference and want to profit from it ask us or your dealer about the world of MMSFORTH MILLER MICROCOMPUTER SERVICES 61 Lake Shore Road Natick MA 01760 617 653 6136 FORTH as a Teaching Language Continued self With most high level la
49. above 25 Proc 25 C FORTH Encyclopedia by C A FORTH Primer 25 Derick amp Baker A complete Threaded interpretive programmer s manual to fig Languages 21 FORTH with FORTH 79 references Flow charted 219 LAN TORTI User MAN ae Ed 25 H APPLE User s Manual MicroMotion 20 H L FORTH Encyclopedia C METAFORTH by Cassady C And So FORTH by Huang Meta compiler in B00 college level text C Systems Guide to fig o FORTH Programming by FORTH se C FORTH on the ATARI by E O Caltech FORTH Manual 12 Floegel g O Invitation to FORTH 20 O Starting FORTH by Brodie H POP 11 User Man 20 Best instructional manual O CP M User s Manual available soft cover 18 MicroMotion 20 C Starting FORTH hard FORTH 79 Standard 15 cover 22 D FORTH 79 Standard CO 1980 FORML Proc 25 Conversion 10 1981 FORML Proc 2 Vol 40 D Tiny Pascal fig FORTH 10 O 1982 FORML Proc 25 O NOVA fig FORTH CC 15 D 1981 Rochester FORTH C Installation Manual Proc 25 fig FORTH 15 Source Listings of fig FORTH for specific CPU s and computers The Installation Manua is required for implementation Each 15 O 1802 DO 6502 L 6800 D AlphaMicro DJ 8080 O 8086 88 C 9900 D APPLE il D PACE O 6809 O NOVA D PDP 11 LSI 11 O 68000 D Eclipse E VAX O Z80 and translating Specify CP M IBM PC 8086 Z80 or Ordering Information Check Money Order payable to MOUNTAIN VIEW PRESS Apple 150 INC VISA MasterCard or COD s accepted No b
50. ack I believe that this efficient use of the 8087 architecture makes FORTH an unbeatable number Continued FORTH Dimensions Published by FORTH Interest Group Volume IV No 6 March April 1983 Editorial Leo Brodie Publisher Roy C Martens Typesetting Production LARC Computing Inc FORTH Dimensions solicits editorial material comments and letters No re sponsibility is assumed for accuracy of material submitted Unless noted other wise material published by the FORTH Interest Group is in the public domain Such material may be reproduced with credit given to the author and the FORTH Interest Group Subscription to FORTH Dimensions is free with membership in the FORTH Interest Group at 15 00 per year 27 00 foreign air For membership change of address and or to submit material the address is FORTH Inter est Group P O Box 1105 San Carlos CA 94070 FORTH Dimensions 3 Volume IV No 6 Letters Continued cruncher Consider the following ex ecution times that I measured SWAP 23 microsec x 47 microsec FSWAP 14 microsec Fm 24 microsec The floating point numbers are 64 bit 80 internal to the 8087 Besides being fast by storing floating point numbers on a stack that is separate from the stack on which integers are stored a major programming incon venience is avoided i e there are no operations between the two numerical types so putting both on the same stack requires e
51. all the definition of T and T was T THERE Q I T THERE Well 1023 out of 1024 times this will work just fine You see if we call THERE with a Target address that is congruent to 1023 modulo 1024 then THERE will return the address of the last byte in a block buffer Since and act on 2 byte 16 bit entities the wrong results will be read or written Rule of usage for THERE is that it takes a Target Byte Address and re turns a Host Byte Address Only a single byte address is returned There is no guarantee that Target Address 1 maps into Host Address 1 That is a false assumption on the user s part Anyway how do we fix it It really is Continued Proceedings of the Rochester Forth Applications Conferences The Institute for Applied Forth Research Inc now has available the first two in a series of conference proceedings on Forth and its application Many of these papers especially in the areas of floating point data structures and relational data bases have been cited by other authors The 1982 Rochester Forth Conference on Data Bases and Process Control includes papers on data bases process control machine independence project management data structures and mathematics Working group reports cover Forth techniques file management virtual machines and memory mapping Applications range from music synthesis to the real time control of a satellite data base and a manager s view of Forth in
52. ar guments This code implements the al gorithm described previously The ex ecution address and precedence for the operator are pushed onto the operator stack with operators of lower prece dence being popped first The opera tors created by INFIX are kept in a separate vocabulary so that they might have names which would otherwise conflict with standard FORTH words This vocabulary has been named ALGEBRAIC The definitions for and are also segregated from the FORTH diction ary because these delimiters are com monly used for comments The new simply pushes a dummy operator with a precedence of 1 to distinguish it from an empty stack which has a precedence of 0 onto the operator stack The dumps the stack until it finds the level 1 operator or issues an error message if there is not one to be found The final two definitions are placed in the FORTH vocabulary The first is A which is used to enter algebraic mode It selects the ALGEBRAIC vocabulary and clear the operator stack The second word is JA This word is used to exit algebraic and to reselect the FORTH vocabulary but first it performs the end of expres sion function by dumping any opera tors remaining on the operator stack Two factors allow all of the above code to work in either execution or compilation modes First the words created by INFIX and the parentheses operators are all IMMEDIATE words meaning that they execute even though the sy
53. arge system from students who want to learn about computers As equip ment becomes more affordable faculty members are obtaining their own com puters for personal work and colleges are considering buying self contained systems instead of buying or renting time sharing terminals Most experienced teachers of com puter languages agree that the BASIC which comes with small computers is not a good language for teaching pro gramming Some languages like APL do not adapt well to the micro computer Pascal seems to be making the transition and in fact next year the introductory Pascal course at Hamp shire College will use a new microcom puter laboratory across the hall from the old terminal room Those of us who are familiar with the advantages of FORTH and its particular ability to make efficient use of limited machine resources Ought to be giving some consideration to the question of how FORTH might fit into the college curriculum Very little has been writ ten on the use of FORTH as a teaching tool and I would like to encourage others who have experience in teach ing FORTH in undergraduate colleges to share their observations Albert S Woodhull Ph D is an As sistant Professor at the School of Natural Science Hampshire College Volume IV No 6 FORTH PROGRAMMING AIDS is a software package containing high level FORTH routines that allow you to write more efficient programs in less development time It i
54. bit addresses It is sup plied in 2 2764 EPROMS but is copied into RAM on system boot up CONTROL TECH FORTH NET WORK transfers Forth screens between one or more disk bas ed host computers and any number of work stations at 358 kbaud A network protocol is used to verify data integrity and prevent network collisions Boards are available to inter face the network with Ohio Scientific and S 100 systems Another bus independent board plugs into a DIP socket to replace any 6850 ACIA aux illiary serial port required Host network software is in high level FIG Forth except for a short network driver routine Contact us with your specific requirements CONTROL TECH DISTRIBUTORS INC 5625 Lawton Drive Sarasota FL 33583 813 924 1417 FORTH Dimensions Algebraic Expression Evaluation in FORTH Continued binations of variables without return ing to the original expression The Implementation An implementation of the above al gorithm is given in the appendix The program begins with the definition of a data structure in this case an opera tor stack The word OP is defined to return the address of a block of RAM allocated for this purpose The stack is used to store double word four byte entities consisting of operator precedence pairs The dou ble word at the base of the stack is used for the top of stack pointer and contains the byte offset from the base of the stack to the top element a zero value indi
55. cating stack empty The other half of the pointer double word contains a precedence of zero The word gt OP pronounced to op is the stack push operation It ex pects an operator and precedence level on the data stack bumps the operator stack pointer by four and stores the double word at the new TOS location gt OP uses a primitive OPP op pointer fetch to obtain the absolute location of TOS in memory OP gt pronounced from op is the stack pop operation The precedence level is discarded at this point since it is not required in RPN OP gt is state smart because it uses the conditional interpretation word INTERP which looks at the system variable STATE to determine if the system is currently in terpreting or compiling If compiling it compiles the operator s execution address in the dictionary If interpret ing it executes the operator immed lately The word INFIX does the bulk of the work INFIX is given a precedence level the name of an existing RPN operator and the name to be given to the new corresponding infix operator It looks up the execution address of the existing word and then creates the new word placing both the execution address and precedence level in its pa rameter field When any of the words created by INFIX are invoked the code following the word DOES gt will be executed using the execution address and precedence from the particular words parameter field as
56. d Monday 8 No vember 1982 at 7 P M Valley Bank Center 101 Convention Center Drive Suite 900 The main subject of this meeting was coding forms There were free handouts of introductory FORTH lit erature and many FORTH tutorial books and articles were available for browsing Also featured was a demon stration of MVP FORTH on the IBM Personal Computer Australia Chapter Lance Collins Secretary The Australian Fig Chapter meets in Melbourne at the home of the secre tary on the first Friday of each month We have been going since mid 1981 and have a core membership of about 10 We have welcomed about 30 visi JOIN THE APPLICATION MIGRATION tors in 1982 We find it difficult to hold new members as there is little serious FORTH activity here and we are sometimes embarassed by the question But what real applications are you running in FORTH Fortun ately this is changing and 1983 looks most promising for FORTH in Australia The availability of FORTH books and software is limited here and the Chapter has established a comprehen sive library of FORTH books for the use of our members We also make available FORTH software and the secretary is an agent for Mountain View Press We have a catalog we send to enquirers which describes mainly commercial books and software as we have not yet found the resources to classify and package the mass of pub lic domain FORTH items we are accumulating By the time thi
57. d groups objected strongly to the mono addressing scheme presented Many objections were the result of implementation problems The compilation address is more fundamental than the parameter field address and in many implemen tations it is very easy to convert a com pilation address to a parameter field 12 address while the inverse is very dif ficult Even with indirect threaded code some of the new approaches put the compilation addresses usually with the heads in one address space and the parameters in another address space Token code systems generally completely separate the com pilation addresses and the parameter fields Direct threaded code systems directly compiled and JSR systems may have a variable separation be tween the two addresses Indeed for some classes of words in some systems the parameter field address has no meaning at all Within the context of the rest of the proposed standard the main use of the parameter field as determined from say or FIND is as a secondary refer ence to DOES gt words The subteam on addressing took into account the above facts and objections and suggested to the team as a whole that the fundamental address is the com pilation address This is the address to be returned by FIND and This is the address to be used by EXECUTE When the parameter field is needed a conversion word named BODY is to be used This perfor
58. e wrote most of the ROM for the Sinclair Spectrum or Timex 2000 Richard Aitwasser Richard gained his honors degree in Engineering at Trinity College Cambridge England He joined Sinclair in September 1980 and was instrumental in the research that Jed to the development of the Spectrum or Timex 2000 Recentiy these two experts started their own company and developed the Jupiter Ace range of hardware which is based on the exciting new language for micro computers FORTH For the FORTH enthusiast The Jupiter Ace closely follows the FORTH 79 standard with extensions for fioating point sound and cassette It has a unique and remarkable editor that allows you to list and alter words that have been previously compiled into the dictionary This avoids the need to store screens of source allowing the dic tionary itself to be saved on cassette Comprehensive error checking removes the worry of accidentally crashing your programs The Jupiter Ace also features a full size moving key keyboard high resolution graphics sound floating point arithmetic and 3K of RAM Expandable to 51K Order Form Product Price Qty Total Send To ere oe Computer Distribution Assoc Jupiter Ace 150 56 South 3rd Street 16K Ram Pack 50 Oxford Penna 19363 48K Ram Pack 125 Par Ser Interface 100 Credit Card No gt P Dale Shipping and Handling 4 95 Signature FD Iv 6 Total Order FORTH Dimensions 30 a Volume IV No 6
59. embler language CPU irrelevant This was not be cause I used much assembler in the course but because of the background which knowing assembler implies Teaching FORTH in depth involves number systems pointers data struc tures and binding times Without previous exposure to such things the average student would have a very hard time If I had been sufficiently expert as a FORTH teacher and if the course had been three hours per week instead of two it might have been possible to teach the same range of topics with somewhat weaker pre requisites About 24 students attended regular ly throughout the semester Only two students had FORTH on their own systems They were welcome to do the assignments on those systems The general level of competence was high I suspect that my requiring assembler language was responsible for this The Topics The course was to consist of 15 lec tures each 100 minutes long This time there were only 14 lectures one day was lost when the campus was un expectedly closed It was easy to proceed directly through Starting FORTH The first eight chapters were covered at the rate of one or two per lecture I skipped the details of fixed point scaling and mixed length arithmetic The pace slowed dramatically when we reached Chapter 9 which took four lectures I discussed vectored ex ecution at length New features were illustrated with improvements that the students could make to their
60. eprints of FORTH articles 8 80 to 4 81 5 10 FIG T shirts Small _ Medium _Jtarge _ X Large 10 12 Poster August 1980 BYTE cover 16 x 22 3 5 FORTH Programmer s Reference Card If ordered separately FREE send a stamped addressed envelope Jor Dobb s Journal Two FORTH Issues 9 81 amp 9 82 7 10 eee eee eee eee fo a NAME MAIL STOP APT OO ORGANIZATION CC PHONE Je a ic aa eed ADDRESS Rea ea a IE Tee EE re ey nS toe Er eee eS ree CIT Yo o OO OSTATE S ZIP COUNT RY nr VISA MASTERCARD a Expiration Date _ Minimum of 15 00 on charge cards Make check or money order in US Funds on US bank payable to FIG All prices include postage No purchase orders without check California residents add sales tax 1 83 ORDER PHONE NUMBER 415 962 8653 FORTH INTEREST GROUP PO BOX 1105 SAN CARLOS CA 94070 FORTH INTEREST GROUP BULK RATE P O Box 1105 U S POSTAGE San Carlos CA 94070 seat Mt View CA PLEASE ADVISE CORRESPONDENT OF YOUR CURRENT MAILSTATION SUBSCRIPTION
61. etworking Encryption Full Sources Available Contact Transportable Software Inc P O Box 1049 Hightstown NJ 08520 Aig FORTH and FORTH 79 are trademarks of Forth Interest Group DEC PDP 11 RSX 11M RT 11 are trademarks of gita Equipment Co IBM PC PC DOS are trademarks of International Business Machines Co CP M 86 is a acera of Digital Research Co TRS 80 TRSDOS are trademarks of Tandy Co FORTH Dimensions 10 Teaching FORTH on a VAX Continued FORTH 79 Handy Reference for these exams This many quizzes may seem excessive but there were two good effects We only met once a week and it was very easy for students to get behind The quizzes helped them stay current Furthermore the quizzes amounted to short programming as signments although of the virtual kind Far more than with convention al languages it is possible in FORTH to ask short questions whose answers do something significant For in stance on an early quiz I asked the students to write words to translate Morse code into readable text I didn t ask that they handle the Morse code dot This is a project that would involve a main program and various peipheral complications in conventional languages In FORTH it is trivial The Bottom Line Fifteen of the 24 students became adequate to good FORTH program mers and at least 20 learned a signifi cant amount about FORTH The time shared approach is attractive un less y
62. got AMD s System 29 or such I had to write about 256 x 40 of microcode and had access to a Z 80 CP M system and 8080 fig FORTH Despite some has sels over having to say SMUDGE after CREATE I was able to produce as sembly listings and PROM dumps in Intellec format for the PROM blaster in about 24 hours work which in cluded coding up the microassembler from scratch The performange brought frowns of dismay from the PASCAL and C freaks around the shop Glenn A Toennes DECOM Systems Inc San Marcos California Thanks for your thoughts Regard ing the flag setting words Laxen spec ifically recommended your proposed definitions in his article except he called them SET and RESET As for me in this particular application I find T 7ESC to be quite readable and also more symetric with 27ESC The real problem is FORTH s use of and Editor Kansas Canvass Dear FIG I would like to locate some FIG members in the Eastern Kansas area According to your FIG chapter listing from Vol IV No 4 there is only one chapter in Kansas and it is a special in terest group Nova Group If you would publish this letter maybe a few members in my area would like to start a chapter It sure would be nice to talk with someone else interested in FORTH As far as I know I m the only FIG member east of Wichita Also Vol IV No 4 was quite inter esting I received the issue just as I was developing a piece of telecommunica
63. illing or unpaid PO s California M M MicroMotion ese bape sp tax S Hre spite in asian oon Sahib aed que in US funds on US bank include for handling and shipping by Air or each iter F I FORTH Inc M M S Miller Microcomputer Services under 25 10 for each item between 25 and 99 and 20 for each item over h ates ar tid ris Aa Brea p e 100 Minimum order 10 All prices and products subject to change or withdrawal M Laboratory Microsystems S L Shaw Lads without notice Single system and or single user license agreement required on Jupiter Ace Computer Z80 FORTH micro code 150 MOUNTAIN VIEW PRESS INC DEALER amp AUTHOR INQUIRIES INVITED PO BOX 4656 MOUNTAIN VIEW CA 94040 415 961 4103 Key to vendors FORTH Dimensions 24 Volume IV No 6 UU Bee i 1 ni 220 Technotes BUF BUG David Cromley Cheyenne Wyoming I have found a bug in FLUSH fig FORTH Rel I Nov 1980 I suggest for SCR 92 line 4 LIMIT 1 No of BUFFS 1 The present definition fails when PREV points to the buffer after USE and this PREV buffer has been updated 1 42 3 4 For example 4 4 USE PREV Presently FLUSH will call BUFFER 4 times USE will be for these four times 1 3 4 and 1 Buffer 2 will be missed Yes this is a design error In the in terest of trying to keep the most re cently referenced block in RAM buff er it may occasionally not be correctly FLUSHED The culpri
64. ince this is what most FORTH systems have arithmetic operators for in no way does any of the above code de pend on that fact The operands could just as well have been double words or floating point words which fetched themselves to a floating point stack in an arithmetic chip The only require ments are that the operands be self fetching to some stack and that the RPN operators be appropriate for the data types and stack used The gener ality of the above code and the range of applications possible through changing only those words created by INFIX takes some time to appreciate In summary a relatively minor ex tension to FORTH s compiler has been presented for the compilation of algebraic expressions A mechanism is provided for the definition of infix operators in terms of their RPN equiv alents and a precedence The resulting code consists entirely of RPN opera tors previously existing in the system so that none of the compiler exten sions are required for execution The techniques are easily extended to in clude additional operations or data types While this system provides a convenient tool for many kinds of ap plications the user is cautioned against permanently isolating the natural arithmetic of his machine After all algebraic has been described as OBWRO CONY ANGIELSKI which is of course Polish for Reverse English Michael Stolowitz is a Consulting Engineer based in Danville Calif ornia 17
65. industrial process control The Forth programming style used in non Forth environments is also covered The Proceedings is 317 pages with over 40 papers The 1981 Rochester Forth Standards Conference contains papers commenting upon the 79 Standard Some of these papers were precursors to the Forth 83 proposed standard Additional sections describe implementing Forth data structures vocabularies and applications The working group reports discuss Forth techniques file systems floating point virtual machines and multitasking The Proceedings is 378 pages with over 50 papers These Proceedings may be purchased for 25 apiece which includes shipping or 35 overseas which covers handling and shipping by Air from Mountain View Press Inc P O Box 4656 Mountain View CA 94040 415 961 4103 Ordering information Check Money Order payable to MOUNTAIN VIEW PRESS INC VISA MasterCard or COD s accepted No billing orunpaid PO s California residents add sales tax Foreign orders pay in US funds on US bank FORTH e imensions 20 Volume IV No 6 TIN AIA III Ill Ps PS TT PTT TT FP TTT PTT TT TT TTT TIT Li tT TT Jl TT TT l l li TUT Td l l lil l PrP ET TE rT TTE TT ili i aE rr ee Hh 1983 ROCHESTER FORTH APPLICATIONS CONFERENCE aad TT REE June 7 through June 11 1983 H T University of Rochester u ana oan Rochester New York H aaa ENE H The third Rochester Forth Applications Conference will be sponsored by the Institu
66. ist omitiea 12 HERE 2 must be change to THERE for target compile 13 o 5 ALLOT reserves space DOES gt 14 Circular lists are a very convenient 15 91 LOAD 92 LOAD mechanism and once implemented can be used to generate stacks or FIFO buffers The programs specified here 121 LIST are designed to set up and manipulate sire aus Seven IRCULAR LIST WORDS any number of circular lists Each list l ILIST 0 OVER 2 C DUP STOL SWAP 2DUP NXTBOT CTOP may have up to 255 entries or slots 2 initialise the list 3 as each slot may be up to 255 bytes 4 WSPACE wait for space in the list ong 5 BEGIN DUP SPACE NOT IF PAUSE AGAIN DROP The word CLIST creates a named 6 i eines pee tte list with the following structure and Da s en Re eae te Ks et 8 BEGIN DUP 2 C NOT ILIST initializes it 9 IF PAUSE AGAIN DROP 10 RAM in Host or ROM in Target ll CIRCLE OVER C 2DUP SWAP ENOL gt 12 IF DROP DUP STOL THEN SWAP R 13 HEADER Not in Target Systems 14 CIRCLE OVER C 2DUP SWAP STOL lt 15 IF DROP DUP ENOL THEN SWAP SLOT SIZE n 1 byte NUMBER OF SLOTS 1 byte pee BST 0 CIRCULAR LIST WORDS CLS 18 9 81 ADDRESS OF LIST l TLIST DUP WSPACE 2 DUP CTOP CIRCLE 3 2DUP CTOP 1 LIST 4 5 TLIST DUP WENTRY RAM in Both Host and Target A Dup B1ob 6 DUF RETRCLE 7 CTOP SWAP l LIST NUMBER OF ENTRIES M 9 BLIST DUP WSPACE 10 DUP NEXTBOT 2DUP CIRCLE ADDRESS OF CURRENT TOP 11 NXTBOT SW
67. k system it is Impor tant that a slot once allocated or re leased should be filled or emptied before the task executes a PAUSE MS or I O as other tasks might otherwise overwrite the areas Block 123 is a demonstration pro gram that manipulates a list called LOG which has 10 entries with 4 bytes per entry DL displays the whole contents of this list May not be used multi tasking FILL and SHOW are used to fill the slots and display their contents respectively V T and V B take a value off the stack and put it into each of the bytes allocated to a slot requested at the top and bottom of the list V T and V B take a slot off the top or bottom of the list and prints its contents A typical application of these words is to have a terminal task driving a slow device such as a printer taking its data from the top of a circular list Any tasks that wish to output mes sages to the printer may either add their lines to the bottom of the list or in a emergency may add them to the top of the list gt RUN LOG TTY ACTIVATE BEGIN CR LOG FILE TLIST 64 TRAILING TYPE 0 END And in the other tasks this puts a local buffer into the list BUFFER LOG FILE BLIST 64 CMOVE RLOAD Program Package Load C L Stephens COMSOL Chertsey England A problem frequently encountered when producing program packages is the need to move blocks to different areas of the disk in order to avoid con flicts with blocks already occupied The FORTH
68. le and 80 single for the duration of the conference A list of nearby motels is also available However T AE those people staying on campus will find a car unnecessary as there will be a shuttle to the airport and the EVE TT train station Campus parking permits are available for 75 day The University Health Service facilities are TT H also available for a single fee of 4 at registration H o For more information please contact Diane Ranocchia ome na Institute for Applied Forth Research Inc aan HH 70 Elmwood Avenue H TT Rochester New York 14611 FT TER i aan HR A ERE H FFU ae san ape REGISTRATION FORM H am TT Please return by May 15 1983 aga IER JNE TEA T Name mnm te Telephone H LET Address nu l eee FET IEE ann Ti Ti EES TT Are you planning on giving a 10 20 minute talk nan aan poster S mae RNE TER TT demonstration eE HAE 4 If you are we should have your 200 word abstract by April 15 a TT Rn HH Registration fee 300 150 for students EOE eee H aoe TT University housing yes no EBE H single 80 double 58 KR E H To stay over the night of the 11th add 15 l ee aan BER Tr TT if you chose double who is your roommate TY Roomates will be assigned if not indicated an EBE Ena Amount enclosed Please make checks payable to the Rochester Forth Conference ae TL ETA H There is a vegetarian meal option Check if desired c HH L
69. lect disk format below soft sectored only ssssssssssnnnnninnann a 50 65 O 8 SSSD for CP M Single Side Single Density Cromemco CDOS formats Single Side S D Density O 8 SSSD O 8 SSDD O 5 SSSD D 5 SSDD Cromemco CDOS formats Double Side S D Density O 8 DSSD O 8 DSDD D 5 DSSD D 5 DSDD Other formats are being considered tell us your needs O Printed Z80 Assembly listing w xref Zilog mnemonics s s ssacsac vsi 15 18 J Printed 8080 Assembly listing ccc cc ccc cc cere eee tee eee eeeeeeeeens 15 18 TOTAL Price includes postage No purchase orders without check Arizona residents add sales tax Make check or money order in US Funds on US bank payable to Dennis Wilson c o Aristotelian Logicians 2631 East Pinchot Avenue Phoenix AZ 85016 602 956 7678 FORTH Dimensions 2 Volume v ec 6 Letters Yes on Operating Systems Dear FIG On the subject of operating systems and FORTH I must admit that I much prefer Dr Delwood s or Mr Arkley s approach of using the operat ing system that you are currently run ning in rather than creating an entire new one in FORTH They are right operating systems are designed to manipulate files let them This solves several problems that have arisen in that FORTH would no longer need to have an entire and separate disk all to itself nor would it necessarily be cut Off from the wea
70. llation to installation so to would these words need to change FORTH will never really gain ac ceptance in the Real World if you have to tell people they have a choice they can either use FORTH with their hard disk or everything else in the world Please keep up the excellent work The only complaint I have is that FORTH Dimensions comes out far too infrequently to suit me Nick Francesco Rochester New York While I personally prefer native FORTH directly controlling disk and other systems I agree that running un der an operating system can be useful I definitely agree to the need for stan dardization but this is unlikely to come from the Standards Team for a good long while Just to clear up what sounds misleading a FORTH that runs as its own operating system does not run in some other operating sys tem it replaces it Similarly it doesn t need an entire and separate disk all to itself Editor More Dear FIG After having received volume IV of FORTH Dimensions we would like to purchase the three previous volumes This is an excellent publication Richard Beers Alpha Computer Services Virgin Islands No Point in Fixed Thinking Dear FIG There exists a hardware trend which is possibly making the Philosophy of Fixed Point obsolete I recently purchased from FORTH Inc Polyforth 2 with 8087 support for my IBM PC Polyforth uses the 8087 register stack as an extra FORTH st
71. lth of utilities that have been developed in almost any operating system Why should the user have to worry about and remember which screens contain which things Everyone I know has a sequence of blocks off somewhere that are set aside for a listing and description of what is where on this disk What is the difference between having to list that block and just typing DIR or CATALOG This is already being done to some extent There are versions of FORTH that set aside a file under CP M that contains all the screens thus allowing FORTH to co exist on a standard CP M disk though not to interact with other things on that disk ver sions of FORTH that contain screens for saving and retrieving files under the operating system of that particular machine etc The lack of a block oriented file is in my opinion not a big problem The standard block structure is nice for many things but a real pain for others There is no reason that it could not co exist peacefully with the oper ating system s file structure Then you could use whichever one best suited your needs at the time Applications are created as standard DOS files which are read into a buffer area for editing One of the primary benefits of this is that you are not limited to an artificial IK range for a definition so you can spread it out as much as you like indenting and commenting to your heart s content The resulting readability lays to rest forever
72. lton Ontario L8S 4K1 416 525 9140 ext 2065 Quebec Chapter Call Gilles Paillard 418 871 1960 or 418 643 2561 e ENGLAND English Chapter FORTH Interest Group 38 Worsley Road Frimley Camberley Surrey GU16 5AU England JAPAN Japanese Chapter Masa Tasaki Baba Building 8F 3 23 8 Nishi Shimbashi Minato ku Tokyo 105 Japan NETHERLANDS HCC FORTH Interest Group Chapter F J Meijer Digicos Aart V D Neerweg 31 Ouderkerk A D Amstel The Netherlands WEST GERMANY West German Chapter Klaus Schleisiek FIG Deutschland Postfach 202264 D 2000 Hamburg 20 West Germany SPECIAL GROUPS Apple Corps FORTH Users Chapter Twice Monthly Ist amp 3rd Tues 7 30 pm 1515 Sloat Boulevard 2 San Francisco CA Call Robert Dudley Ackerman 415 626 6295 Detroit Atari FORTH Monthly Ist Wed Call Tom Chrapkiewicz 313 524 2100 or 313 772 8291 Nova Group Chapter Contact Mr Francis Saint 2218 Lulu Witchita KS 67211 316 261 6280 days MMSFORTH Users Chapter Monthly 3rd Wed 7 p m Cochituate MA Dick Miller 617 653 6136 FORTH Dimensions Volume IV No 6 3 Codes refer to alphabetical listing e g Al signifies AB Computers etc Processors TOO 2 ona aie A ante E C1 C2 F3 F6 L3 6502 AIM KIM SYM R1 R2 S1 BB00 352 aaa teeta veers C2 F3 F5 K1 L3 M6 Tl 680 hhh ahaa ie Reese P4 6809 E E E EAE EET C2 F3 L3 M6 S11 Tl 68000 al B hace C2 C4
73. modifications Also available the Marx Forth target compiler This allows your program to be compiled into a stand alone object file that doesn t need Forth in the system to run N B A A an at L L LLL LLL AAA A A I oo oA AAA A AAA SA AIA AAD Soo SSS SSS SSS DL PDD SL LLLP DPD DPE The Marx Forth application software development N system is available ta software houses This package in N cludes Marx Forth for all systems we support including N the target compilers This allows software to be devel N oped for many computer systems simultaneously as well as having the most powerful compiler available These applications can be target compiled to run on all N computers for which Marx Forth is available and mar N keted without the end user ever knowing it was written in Forth Call for details Marx Forth model license is available for Forth ven dors who want to improve their product or implement Marx Forth for another machine Cail for marketing incentives COMING SOON Marx Forth for the IBM PC and N Apple and Marx Multi tasking Forth for the larger systems AAAAAAAAAAAAAAAAAAASAAAASAPAAPLAASLAAPALDDSDLLDLDLLDDLSLDDLALDDDD Perkel Software Systems 1452 NORTH CLAY SPRINGFIELD MO 65802 417 862 9830 or 417 883 3709 Consulting Services available LIS AAS AS AAA LLL ALAS SS SSIS LDLA AD DAD DD DD DIDDDD DDD PLA A A aA A A eA of A FORTH Dimensions FORTH Standards Corner Compilation Addresses and Parame
74. ms available three S 100 CP M systems of different hardware configurations An ex panded version of 8080 fig FORTH with a screen editor designed for stu dent use was available All students had Brodie s Starting FORTH text and after this orientation all showed themselves able to learn the language on their own although some formal presentation of the control structures BEGIN UNTIL and BEGIN WHILE REPEAT was necessary for those without Pascal experience With the cross compiler project as the focus I shifted the emphasis to ward gaining an understanding of how FORTH works internally For the less sophisticated students the necessary explanations of stacks and linked lists constituted an introduction to the general idea of data structures It seemed to me there was a nice kind of symbiosis in the way the developing understanding of the linked list idea reinforced and was reinforced by the FORTH concept of vocabularies I pushed this particularly as one of the easier ways to a cross compiling sys tem is to change the order of the dic tionary links The last part of the month was de voted mostly to investigation of how FORTH s inner interpreter worked Exercises included writing in FORTH routines that could decom pile the address lists into which FORTH definitions are compiled and which could trace the flow of execu tion of FORTH words These exer cises were aimed at development of an understanding
75. ms the same action as the fig FORTH word PFA After much debate the team decided to accept the recommendation of the subteam Under the proposed stan dard the programmer has access only to the parameter field of variables and DOES gt type words The use of BODY for any other type of word does not seem to be useful as part of a Standard Program Editor s Note Robert Smith is the current Secretary of the FORTH Standards Team and was a member of the original FORTH Implementation Team for FIG He is employed by ESL Inc in Sunnyvale California Volume IV No 6 Z 809 and 8086 FORTH PC FORTH for IBM Personal Computer available now FORTH Application Development Systems include interpreter compiler with virtual memory management assembler full screen editor decompiler demonstration programs utilities and 130 page manual Standard random access disk files used for screen storage Extensions provided for access to all operating system functions Z 80 FORTH for CP M 2 2 Or MP M ccc cee tee tte eee teenies 50 00 8086 FORTH for CP M 86 6 64 b6 adds e ieee Gee bee gta CE RR ARAN ie R R 100 00 PC FORTH for IBM Personal Computer 00 cece eee eee eee tee 100 00 Extension Packages for FORTH systems Software floating DOIN wise iad bea eae eer eee dee det yds Hie eas 100 00 Intel 8087 support PC FORTH 8086 FORTH only 0 00 cece ee eee ees 100 00 AMD 9511 support Z 80 8086 FORT
76. nguages the operation of the compiler or inter preter are not accessible to the user nor can one count on similar prin ciples of operation in different im plementations In FORTH it is very easy to follow the transformations that take place after a new definition is entered from the keyboard Rules about declaration of variables take on new meaning when they can be shown to be necessary for the proper com pilation of definitions that refer to the variables Comparisons with other languages particularly Pascal can be made that point up clearly which rules are necessary because of machine restraints i e variable declaration before use and which rules go beyond what the machine requires for the sake of imposing discipline on the pro grammer i e Pascals requirement that all variables be declared at the beginning FORTH has its problems as a teach ing language as well Its extreme flexi bility makes it possible to do almost anything desired in FORTH but this can cause confusion As an example it seemed essential for my purposes to be able to define a word recursively and it is rather easy to do this by toggling the smudge bit in a dictionary header at compile time I found the use of the and words which allow for execu tion while a definition is being com piled one of the most difficult things for students to grasp Another feature of FORTH that seems to cause fre quent errors is the difference in the be havi
77. nt Inc 714 835 9512 FORTH Dimensions 35 Volume IV No 6 RENEW YOUR FORTH INTEREST GROUP MAIL ORDER FOREIGN USA AIR _ Membership in FORTH Interest Group and 15 27 Volume V of FORTH DIMENSIONS Back Volumes of FORTH DIMENSIONS Price per each 15 18 Ci Hn iu civ _ fig F ORTH Installation Manual containing the language model 15 18 of fig F ORTH a complete glossary memory map and installation instructions _ Assembly Language Source Listings of fig FORTH for specific CPU s and machines The above manual is required for installation Check appropriate box es Price per each 15 18 11802 _ 6502 6800 16809 vax _ z80 _ 8080 _18086 8088 _ 9900 CJAPPLE II ECLIPSE PACE L_ NOVA JPDP 11 68000 _JALPHA MICRO C Starting FORTH by Brodie BEST book on FORTH Paperback 18 22 Starting FORTH by Brodie Hard Cover 22 27 PROCEE DINGS 1980 FORML FORTH Modification Lab Conference 25 35 JPROCEEDINGS 1981 FORML Conference Both Volumes 40 55 C Volume 1 Language Structure 25 35 _ Volume II Systems and Applications 25 35 L PROCEEDINGS 1982 FORML Conference 25 35 PROCEEDINGS 1981 FORTH Univ of Rochester Conference 25 35 _ PROCEEDINGS 1982 FORTH Univ of Rochester Conference 25 35 _ FORTH 79 Standard a publication of the FORTH Standards Team 15 18 _ Kitt Peak Primer by Stevens An in depth self study primer 25 35 JBYTE Magazine R
78. nu ing inconvenience It is very difficult to discover the level of deferral of the system and user variables described on pages 236 240 Once I had decided to use Starting FORTH the question was whether to follow its dialect or FORTH 79 Shortly before the semester began saw James article 6 describing pro posed changes in the Standard These changes where almost all in the direc tion of the Starting FORTH dialect So with a more or less clear con science I decided to go with the dia lect of the text I wrote twelve screens on TEACH ER DAT to redefine fig FORTH words whose meanings are different in Starting FORTH and to add words that exist in Starting FORTH but not in FIG I also installed the forgiving FORGET 8 and defined a word ZAP to make unfindable many of the FIG words that don t exist in Starting FORTH I did not ZAP those utility words such as NFA which would exist in some form on any development system Writing this front end was routine but only because of the information in Haydon 4 and Ting 12 The next step was to install Daniel s version of the FORTH Inc line editor 3 slightly revised for Starting FORTH on TEACHER DAT Continued FORTH Dimensions Volume IV No 6 Teaching FORTH on a VAX Continued Given this environment a typical student work session begins with log ging on the VAX and typing the com mand FORTH Once in
79. oci ates P O Box 11324 Palo Alto CA 94306 415 322 1463 Volume IV No 6 Call For Papers Sth FORML Conference November 23 25 1983 Asilomar Conference Center Pacific Grove California U S A The Sth Annual FORML FORTH Modification Labora tory Conference will be held November 23 25 1983 at the Asilomar Conference Center Pacific Grove California U S A FORML is a forum for sharing and discussing new proposals intended to benefit FORTH It is not intended for beginning or casual FORTH programmers Registration includes a comfortable room meals confer ence attendance and notebooks containing the papers submit ted Attendees who are also contributors to the conference will receive first priority A limited number of guests family or friends not attending the conference can be accomodated Topics presented should focus on guiding the evolution of FORTH Compliance to a standard FORTH is recommended but not required The following list suggests topics for presen tations Hardware FORTH Implementations FORTH engines architecture instruction sets single chip integra tion p c board processors microprogramming coprocessors hardware stack add ons ROM chip projects proFORTH COMPILER 8080 8085 Z80 VERSIONS FORTH 79 SUPERSET Large Address Space Environments 32 bit addressing segmentation memory mapping extended ad dressing bank switching Multiprogramming Architectures Approaches mul
80. or Cromemco 3102 terminals The 2nd disk contains FORTH readable screens including an extensive FULL SCREEN EDITOR FOR DISK amp MEMORY This editor is a powerful FORTH software development tool featuring detailed terminal profile descriptions with full cursor function full and partial LINE HOLD LINE REPLACE and LINE OVERLAY functions plus line insert delete character insert delete HEX character display update and drive track sector display The EDITOR may also be used to VIEW AND MODIFY MEMORY a feature not available on any other full screen editor we know of This disk also has formatted memory and I O port dump words and many items published in FORTH DIMENSIONS including a FORTH TRACE utility a model data base handler an 8080 ASSEMBLER and a recursive decompiler The disks are packaged in a ring binder along with a complete listing of the FULL SCREEN EDITOR and a copy of the FIG FORTH INSTALLATION MANUAL the language model of FIG FORTH a complete glossary memory map installation instructions and the FIG line editor listing and instructions This entire work is placed in the public domain in the manner and spirit of the work upon which it is based Copies may be distributed when proper notices are included USA Foreign OFIG FORTH amp Full Screen EDITOR package AIR Minimum system requirements 80x24 video screen w cursor addressability 8080 or Z80 or compatible cpu CP M or compatible operating system w 32K or more user RAM Se
81. or of VARIABLE and CONSTANT words which return in one case the address of the variable and in the other the value of the constant My conclusions at this point are based on a very small sample of stu dents in a specialized teaching situa tion but I am very much interested in the possibilities of a language like FORTH for use as a teaching tool I think at this point I would not offer a FORTH course as an introduction to programming but I might change my opinion on this point if I had available a good package of utility words that would make it easy for students to do extensive numerical computations I am seriously considering offering a course in FORTH as a second com puter language Particularly at a lib eral arts college like Hampshire I could see a course of this sort serving a valuable role for science and other stu dents who want to go farther than just learning to program but who stop short of becoming computer science majors FORTH is above all a small system language and teaching about com puters has until now been based on large systems and the languages writ ten for them For example as I men tioned above APL and Pascal have been used through time sharing on the University of Massachusetts CYBER for almost all the introduc tory language teaching at Hampshire College The arrangements for this are under a great deal of strain however The microcomputer revolution has generated enormous pressure on the l
82. ou or your students have plenty of standalone FORTH systems Acknowledgment The discussions and presentations at the weekly meetings of the San Diego FIG have been very valuable to me Bibliography 1 L Brodie Starting FORTH Prentice Hall 1981 2 Various authors Byte December 1978 3 S Daniel The FORTH Inc Line Edi tor FORTH Dimensions vol 3 nr 3 80 4 G Haydon All about FORTH Mountain View Press 1982 J James PDP 11 FORTH User s Guide January 1980 This document is copyright but the software it describes is public domain 6 J James FORTH 83 Preview FORTH Dimensions vol 4 nr 1 p 29 7 R Jekel Local Variables for FORTH 1980 FORML Conference p 59 8 D Kilbridge Forgiving FORGET FORTH Dimensions vol 2 nr 6 p 154 9 G Stevenson private communication Oc tober 1982 10 K Suralis Principles for a CODE less FORTH Machine 1981 FORML Pro ceedings vol 1 p 5 11 M Swaine Life in FORTH Simple Sample Program Infoworld 11 October 1982 p 33 12 C Ting Systems Guide to fig FORTH Ist ed Offete Enterprises 1981 a Volume IV No 6 CPU 68K A T 695 CSC 850 SPECIFICATIONS The CPU 68K operates at 8 MHz assembled and tested A T and 10 MHz for the Certified System Component CSC version of the board FORTH HARDWARE REQUIREMENTS CompuPro s DISK 1 floppy disk controller INTER
83. recedence operators to be pushed The effect of a is to dump the operator stack down to and including the most recent floor Unless the entire expression had been enclosed in parentheses there will be one or more operators remain ing on the stack when the end of the expression is reached This is because there is no way of anticipating the presence or absence of additional operators A signal is required the Algebraic Expression Evaluation key on an algebraic calculator to dump the balance of the operators from the stack completing the transla tion Let s evaluate the expression in the example using this algorithm The A operand would pass through to the data stack The would be pushed onto the operator stack since there is no operator there with a higher prece dence The B operand would then go to the data stack At this point the is encountered which has the same prece dence as the which is already on the stack The is removed and executed leaving A B on the data stack and the is pushed onto the operator stack The C goes to the data stack The has a higher precedence than the so it may be pushed onto the opera tor stack Now we come to the so a floor is placed on top of the and the The D goes to the data stack and the is pushed on top of the floor The final A goes to the data stack Now comes the which causes the to be dumped and executed and the floor to be removed The produces the
84. rison He notes that Mr Moore s approach is somewhat simpler since his algebraic parser only had to work in compile mode and operators could be maintained on the data stack Mr Stolowitz s parser runs interpretively as well therefore it requires an addi tional operator stack Description of the Algorithm Almost all systems which handle al gebraic expressions do so by first con verting the infix notation to postfix notation for evaluation Since postfix or RPN arithmetic is built into FORTH only a process for conver sion of the notations is required Before jumping into the algorithm in detail let s consider an example A B C D A a The algebraic rules tell us that the expression in the parentheses must be evaluated before the multiplication may be performed The multiplication must precede the subtraction The ad dition and subtraction operators have the same precedence so that the al gebraic result is independent of the order in which they are performed On real machines with round off errors it is probably best to execute them in some consistent fashion in order to obtain reproducible results We will use left to right evaluation in the fol lowing discussion Let s now examine an RPN statement of the same expres sion AB CDA There are several significant items to note First the operands appear in exactly the same order in both the in fix and postfix versions of the expres
85. s also useful for maintaining existing FORTH programs The FPA package includes four modules FORTH PROGRAMMING AIDS enables you to m Minimize memory require ments for target systems by finding only those words used in the target application 8 Tailor existing words includ ing nucleus words to specific needs by decompiling the word to disk editing and recompiling m Build on previous work by extracting debugged FORTH routines including constants and variables from RAM to disk m Patch changes into existing compiled words in seconds FORTH PROGRAMMING AIDS comes with complete source code and a 50 page indexed manual fig FORTH model D Send more information O Master Charge D Visa Name Company Street City State Zip O FORTH 79 STANDARD specify system O Manual alone credit toward program purchase from Curry Associates TRANSLATOR provides a one to one translation of FORTH run time code CALLFINDER finds calling words i e calls to a specific word The DECOMPILER alone is worth a second look This is a true decompiler which converts the FORTH words in RAM into compilable structured FORTH source code including program NFALFFA INTERPRET BEGIN FIND Forth Procramminc Alps DECOMPILER generates structured FORTH source code from RAM and inserts program control words e g IF ELSE SUBROUTINE DECOMPILER finds called words e words called by a specific
86. s is published there may be a Sydney group under way Contact Peter Tregeagle 02 524 7490 for details PRODUCE MACHINE TRANSPORTABLE CODE GENERATE ROMABLE HEADERLESS CODE FORWARD REFERENCING ALLOWED PUT FORTH ON OTHER COMPUTERS PRODUCE EXECUTABLE IMAGE IN RAM OR ON DISK PRODUCE ADDRESS MAP OF APPLICATION NO LICENSE FEE OR ROYALTIES ON APPLICATIONS fig FORTH CROSS COMPILERS by NAUTILUS SYSTEMS Apple Atari TRS 80 Model I Zenith and Northstar fig FORTH CROSS COMPILER by LABORATORY MICROSYSTEMS CP M 80 CP M 86 IBM P C and 68000 requires LAB FORTH at additional cost 79 Standard Systems by MOUNTAIN VIEW PRESS CP M 80 300 00 tax and 5 00 shipping and handling Apple is a trademark of Apple Computer Inc Atari is a trademark of Atari Computer TRS 80 is a trademark of Tandy Corp Zenith is a trademark of Zenith Radio Corporation Northstar is a trademark of Northstar Computers IBM is a trademark of International Business Machines Inc Nautilus Systems P O Box 1098 SANTA CRUZ CA 95061 FORTH Dimensions 29 Volume IV No 6 DESIGNED BY EXPERTS IN THE FIELD OF MICRO COMPUTERS RICHARD ALTWASSER AND STEVEN VICKERS Steven Vickers Steven gained his degree in Math at King s College Cambridge England and his Ph D in Algebra at Leeds University His first assignment after school was to create the Sinclair ZX 81 or Timex 1000 8K ROM and to write the ZX 81 manual Subse quently h
87. sion As the operands are encountered in a left to right scan of the expression each will push its value onto the data stack The next thing to note is that the appearance of each of the opera tors from the algebraic expression has been delayed until a point in the RPN expression where all of the required operands will be available on the stack This allows the operators to be immediate 1 e they execute as soon as they are encountered in the RPN ex pression The final point to note is that it is possible to obtain an RPN ex pression with the above properties without the use of parentheses The algorithm for infix to postfix conversion uses an additional stack on which to hold operators while they are being delayed as described above The algorithm is simply to place each oper ator on the operator stack as it is en countered in a left to right scan of the algebraic expression however an operator may not be pushed on top of another which has a precedence equal to or greater than its own If neces sary Operators are removed until the new one may be pushed Operators removed from the stack are output by the algorithm Since there is no change in their sequence the algorithm passes operands directly to the output When a is encountered a special operator called a floor is placed on the stack The floor while having a very low precedence may be placed on top of whatever is already there The floor will allow additional low p
88. stem might be compiling like compiler directives in other systems Thus all of the operator stack activity will occur as the expression is scanned independent of the state of the ma chine 7INTERP will take care of the state difference as the operators come off of the stack by compiling or ex ecuting as appropriate The other factor allowing state in dependence is that the operands used are all self fetching at run time Oper Continued Volume IV No 6 LEAST EXPENSIVE FORTH SYSTEM AVAILABLE MULTI FORTH for the SINCLAIR ZX 81 TIMEX SINCLAIR 1000 BY TREE SYSTEMS Compiler Directive not Interpretive Compilers DO LOOP IF ELSE THEN etc need not be put in a definition to run Single user Multi tasking Event Scheduling 32 Bit clock 2 yrs e Schedule with AT IN EVERY commands e maximum resolution 1 60th second Task Options e LOCK UNLOCK START STOP e Tasks can dynamically reschedule themselves e Up to 10 tasks scheduled at one time e Tasks can be linked to run in the background e Each task has its own 32 bit clock e Task execute according to priority e Wait execution in 31 deep event que Unique Editor e User defined split screens e Complete visual editor e Run editor while execution screen is running program e Cursor oriented e Delete lines e Delete characters e Store line in pad e insert line from pad e Automatic character insert e Compile Lines Technical Information e extremel
89. system 8080 Z80 METAFORTH WORD BYTE CROSS COMPILER WIDE ROM SIMULATOR e Produces code that may be downloaded to any Z80 or e Simulates 16K bytes of memory 8K bytes for 2708 and 2758 8080 processor e Simulates 2708 2758 2516 2716 2532 2732 2564 includes 8080 and 280 assemblers and 2764 PROMS Can produce code without headers and link words for up to e The simulated memory may be either byte or 16 bit 30 space savings word organized Can produce ROMable code e No S 100 memory is needed to hold ROM data e 79 Standard FORTH e Driver program verifies simulated PROM contents Price 450 Price 495 each CONSULTING SERVICES Inner Access provides you with Custom Software Design We have supplied many clients with both Systems and Application Software tailored to their specific needs Contact us for your special programming requirements FORTH WORKSHOPS ONE WEEK WORKSHOPS ENROLLMENT LIMITED TO 8 STUDENTS FORTH Advanced FORTH Advanced FORTH Fundamentals Applications Systems e Program Design e FORTH Tools e FORTH Internals e Program Documentation e Engineering Applications e Assemblers and Editors e FORTH Architecture e Floating Point e Other Compilers e FORTH Arithmetic e Communications e Cross Compilation Theory e Control Structures e Sorting amp Searching e Romability Multitasking e Input Output e Project Accounting System Timesharing e The Vocabulary Mechanism e Process Control e File Systems e Meta
90. systems For instance I showed how to develop the LOCATE facility page 245 and how QUIT could be revectored to give diagnostics with each OK The nesting and unnesting diagrams were discussed and elaborated on One of the few places where I used assem bler language was to demonstrate the implementation of these features in James FORTH I did the FIG implementation of vo cabularies in detail In fact I probably went too far with this though it did give me a chance to discuss sealed vocabularies An added topic was a comparison of Direct Threaded Indirect Thread ed Token Threaded and Subroutine Threaded code This led to a discus sion of the hardware implementation of FORTH 10 This lecture would probably have been unintelligible if the class didn t have an assembler language background Chapter 10 took two lectures After going through the text material I showed how FORTH could accom plish Pascal like read and write state ments I don t think the power of FORTH s I O constructs is immedi ately obvious By showing how easily standard I O from another language could be accomplished in FORTH I hoped to give the class a starting point for appreciating that power In addi tion to presenting the usual virtual memory approach to disk I demon strated that vectoring the I O primi tives could be used to make the disk look like a terminal device Chapter 11 took another two or three lectures Both C
91. t is BUF and it s used in BLOCK and BUFFER Your solution is one of several now in use Most vendors who follow the FIG Model have corrected this and several other problems carry problems in Us and UI expanding buffer size to 1024 bytes and Y register range in ENCLOSE These updates point out the advantage of software products with vendor support additional test ing and review The self installed FIG system has had remarkable accep tance but it cannot supplant the broader resources of commercial offerings Bill Ragsdale Bit Array and Manipulations Timothy Huang Bit manipulation is one of the most useful techniques in microcomputer programming particularily for hard ware controls and graphics for which FORTH is especially good However when I looked back through all the FORTH Dimensions issues I failed to find any such program published Well here is one that I wrote a couple of months ago The main program is in Screen 117 with comments a la Henry Laxen You should not have any problem under standing or using it The only suppor tive word is 2 which is defined in high level in Screen 116 This word can be and should be re written in low level because it is quite useful and time critical The only comment that should be added to the defining word BIT ARRAY is that at compiling time time 2 if the lt number__of__bits gt cannot be evenly divided by 8 then it will reserve up to the next byte For
92. te for Applied Forth HH Research Inc and hosted by the University of Rochester s Laboratory for Laser Energetics This year s EBE EEE conference has a format similar to that of previous Rochester conferences with invited speakers focusing on HH an area of particular interest This year s topic is robotics which embraces many areas including mechanical HT Ene and electrical engineering vision artificial intelligence computer networking and automated manufacturing O a Six invited lecturers will address the use of Forth in factory automation the design of a useful robotic control 777 language teaching robotics and Forth and expert systems which provide direction to autonomous robots HH TT The series will cover the evolution of Forth from telescope control through the precision multi axis camera FHT HH controllers used in Hollywood to state of the art robotics and applied artificial intelligence research H HH o In addition to one day of invited lecturers there will be three days of oral presentations posters and ane i demonstrations as well as working groups on specific topics of interest All sessions will be held inthe Wilson PYT H Commons at the University of Rochester He TT TT T The registration fee of 300 covers all sessions activities meals and the 1983 Conference Proceedings H 44 Students may register for 150 Attendees have the option of student dormitory housing at the rate of 58 TT san doub
93. ter Fields Robert L Smith At the last meeting of the FORTH Standards Team probably no subject generated more heated debate than the questions relating to compilation ad dresses parameter field addresses and which one should be used by EXECUTE or returned from FIND and tick In FORTH 79 returned a parameter field address and FIND returned a compilation address The main use for the compilation address was for use with EXECUTE and possibly with COMPILE The parame ter field returned by could only be used with constants and variables The parameter field of a DOES gt word could only be obtained from the ex ecution of the word which was created by the CREATE DOES gt pair Under FORTH 79 there is no way to obtain the parameter field address of a word from its compilation address or vice versa However many implementa tions of FORTH use simple indirect threaded code in which the parameter field address is two bytes greater than the compilation address In such sys tems the user may use only the param eter field for example and the system converts internally to compilation ad dresses when needed This presents a certain simplicity to the user This scheme is one form of mono addressing and was provisionally accepted by the Standards Team at the Washington D C meeting This was incorporated in the first draft A of the proposed FORTH 83 Standard After distribution of Draft A a number of people an
94. the definition of HERE T and a T in the definition of T Why have we gone through such an elaborate ritual Let s take a quick look at what we can do with these words Perhaps you recall how FORTH Assemblers work If not wait for a future issue and I will discuss them in this column The main idea behind FORTH Assemblers is that you define a set of FORTH words whose names are op codes for your particular machine When these words are executed they assemble their machine language binary op code into the dictionary along with whatever parameters are required For example the jump instruction on the 8080 is a hex C3 followed by the 16 bit address of where to jump to The JMP word in the FORTH Assembler is thus de fined as JMP C3C The C assembles the op code into the dictionary and the assembles the address that must have been left on the stack Notice that the compiled code is inline in the dictionary Now using the T definitions we defined above we can now assemble code which will execute from a different address than where it was assembled The corresponding definition for jump would be JMP C3C T T This would assemble the op code in the next available location in the Tar get System not in the Host System Furthermore it will jump to the speci fied Target address when it is execut ed not to the Host address What we have done is turned a FORTH Assem bler that can assemble inline code words into
95. tiuser multitasking interrupt handling memory management task control intertask communication and coor dination UNIX like pipes Nucleus Variations Virtual machine threaded code techniques virtual execution relocation Operating System Environments Native architectures device drivers guest of other operating sys tems file system interfaces System Generation Techniques Defining words compiler writing systems metacompilation varia tions Program Development Methodologies Problem analysis techniques design criteria style coding stan dards tools team programming documentation training quality control and evaluation Applications Process control real time techniques robotics scientific calcula tions matrix operations simulation business applications file systems relational data base systems other languages Abstracts for presentations should be no longer than 100 words and must be received by September 6 1983 To obtain registration information and an author s kit please write to FORML P O Box 51351 Palo Alto CA 94303 U S A SUPPORTS DEVELOPMENT FOR DEDICATED APPLICATIONS INTERACTIVELY TEST HEADERLESS CODE IN PLACE COMPILATION OF ROMABLE TARGET CODE MULTIPLE PURGABLE DICTIONARIES AVAILABLE NOW FOR TEKTRONIX DEVELOPMENT SYSTEMS 2250 ICROPROCESSOR BASED PRODUCT DESIGN SOFTWARE ENGINEERING ELECTRONICS AND PRINTED CIRCUIT DESIGN PROTOTYPE FABRICATION AND TEST REAL TIME ASSEMBLY LANGUAG
96. tored out LOAD because there are other things you may want to do like type text strings from disk In any case note that the argument may be positive or negative Finally gt doesn t have to keep anything extra on the return stack be cause it doesn t have to re invoke LOAD It merely must go ZERO gt IN 1BLK to jump the interpreter pointers to the top of the next block Leo Brodie Volume IV No 6 PWS1010 8 Bit CPU Card 6801 8K FORTH Firmware 6K EEPROM 2K RAM 16 TTL 1 0 RS 232C programma ble timer 2K monitor 8K FORTH firmware includes edi tor assembler high level interrupt linkage and communications protocol PWS1080 16 Bit CPU Card 68008 16K FORTH Firmware 2K Or 8K EEPROM 8K RAM RS 232C 4 pro grammabie timers Non multiplexed memory expansion and waitstate gener ator 16K FORTH firmware includes moni tor editor assembler high level interrupt linkage and communica tions protocol PWS2010 Interface Card 8K extended FORTH firmware 2 16 bit I O ports compatible with industry standard optical isolation boards battery back up calendar and clock 2 28 pin JEDEC standard memory sock ets for 2K or 8K CMOS NMOS or EPROM memories software readable 8 bit switch Firm ware options P FORTH Stan dard Utilities P FORTH PLC with Ladder Diagrams or P FORTH Multi Tasking PWS2030 Expansion Memory Board JEDEC standard memory sockets Maximum of 64K EEPROM EPROM or RAM PWS30
97. ume IV No 6 Teaching FORTH on a VAX by Vernor Vinge Department of Math Sciences San Diego State University San Diego California 92182 During the Fall semester of 1982 I taught an introduction to FORTH at San Diego State University In this ar ticle I discuss the programming en vironment I devised and the resulting course The Hardware Ideally FORTH should be taught to students who each have their own FORTH system on their own com puter all in communication with the instructor s system This ideal will be achievable in the future but for the moment any FORTH course at SDSU will have to run on very crowded University equipment If the ideal is impossible it might seem that the best alternative would be to supply the class with a lab of FORTH systems At SDSU we have about 50 Apples for instructional labs but there is no way for the instructor s system to com municate with these machines I re garded such communication as espe cially important in this course since much of my software was untested I decided to teach the course with the University s timesharing VAX This machine communicates at 300 baud with terminals scattered across cam pus It can also be reached by phone from off campus It supports many courses in all departments and at all levels When used in compatibility mode the VAX is a fast and accurate emulator of a PDP 11 running the RSX 11 operating system This made it easy to install
98. word to all nesting levels control words such as IF ELSE THEN BEGIN etc If you ask FPA to DECOMPILE the nucleus word INTERPRET you get the following output displayed on your terminal within 3 seconds 4796 4810 IF STATE 2 lt IF CFA ELSE CFA EXECUTE THEN PSTACE EILSE HERE NUMBER DFL 1 IF CCOMPILEJ DLITERAL ELSE DROF CCOMFPILE LITERAL THEN THEN AGAIN 3 You can decompile one word or a range of words at one time even the whole FORTH system This decompiled output may be sent by FPA options to the console printer or disk System Requirements FORTH nucleus based on the fig FORTH model or 79 STANDARD a minimum of 3K bytes and a recommended 13K bytes of free dictionary space For more information call Ren Curry 415 322 1463 or Tom Wempe 408 378 2811 Yes send me a copy of FORTH PROGRAMMING AIDS including all source code and the 50 page manual Calif residents add 6 5 tax Foreign air shipments add 15 150 150 25 Account Number _ _ lt _ Send to Curry Associates P O Box 11324 Palo Alto CA 94306 FORTH Dimensions 7 TSTACE DECOMPILE is useful for look ing up words or for obtaining variations of words by decom piling to disk editing and recompiling Exp Date indicate disk format Q 8 ss sd fig FORTH screens O 8 ss sd CP M 2 2 file O Apple 3 3 O PC FORTH O Other 415 322 1463 or 408 378 2811 Vol
99. xcessive stack manipulation Clearly in view of the above results a fixed point philosophy is already completely inappropriate with an 8087 equipped machine Now the question arises whether in ten years or so most microcomputers will be equipped with similar numeric processors If so and no floating point FORTH standards are in vogue at that time FORTH will remain an unpopular number crunch ing language in spite of its potential superiority in this regard I therefore recommend that you fixed point phi losophers revise your thinking Steven A Ruzinsky Cicero Illinois Potpourri Dear FIG First off I must compliment Leo Brodie on his superb QTF application IV 3 and IV 4 upon which I am composing this Those new members Renew Your Subscription To FORTH Dimensions Use The Envelope FORTH Dimensions who haven t got those back issues and don t possess a word processor must find them Your life may depend on it if you ever have to write anything someday The week it took to translate Brodie s code into FORTH 77 for my homebrew word addressing machine was damn well worth it Don Colburn s letter IV 4 was ex cellent One thing he missed tho As I have pointed out in Guy Kelly s group The San Diego FIG Chapter people who promulgate standards should call them alleged standards as in TEEE 488 Alleged Standard The existence of FORTH standards ala FORTH 79 or F
100. xtended to provide a special purpose language The Infoworld version of Life in FORTH 11 came out the week I made this assignment and made an interesting contrast with what I was asking the class to do The third assignment was an anthology of short projects with defining and compiling words In addition to real programming we had a 25 minute quiz at the end of each lecture I provided them with a Starting FORTH version of the Continued FORTH Dimensions 9 Volume IV No 6 TRANSPORTABLE SOFTWARE fig FORTH and FORTH 79 Model Systems for DEC PDP 11 RSX 11M e Multi User Multi Tasking Re entrant Resident Library Shared Commons RSX 11M Directive Support RT 11 e Compatible with RSX 11M System e RT 11 Programmed Request Support IBM PC PC DOS CP M 86 e ROM BIOS Support e Stand Alone TRS 80 TRSDOS e ROM Support e Stand Alone Data Base Support Data Language including e Base Relative Variables e Advanced String Package e Many Classes of Arrays Key File Support e Hashed Search e Binary Search Additional features Input and Output Forms Support Screen Editors Execute Variable Support Extended Memory Support Additional Control Structures Trace Support with Stack Snapshot Decompiling Text Formatting Time and Date Support Double Integer Support Floating Point Support Transportable System Development Consulting Services Systems Analysis and Design Communications N
101. y 3rd Tues 7 30 p m The Computer Store 4343 South Peoria Tulsa OK Call Bob Giles 918 599 9304 or Art Gorski 918 743 0113 e OHIO Dayton Chapter Monthly 2nd Tues Datalink Computer Center 4920 Airway Road Dayton OH 45431 Call Gary Granger 513 849 1483 o OREGON Portland Chapter Call Timothy Huang 9529 Northeast Gertz Circle Portland OR 97211 503 289 9135 o PENNSYLVANIA Philadelphia Chapter Continental Data Systems l Bala Plaza Suite 212 Bala Cynwid PA 91004 Call Barry Greebel o TEXAS Austin Chapter Call John Hastings 512 327 5864 Dallas Ft Worth Chapter Monthly 4th Thurs 7 p m Software Automation 1005 Business Parkway Richardson TX Call Marvin Elder 214 231 9142 or Bill Drissel 214 264 9680 e UTAH Salt Lake City Chapter Call Bill Haygood 801 942 8000 e VERMONT Vermont Fig Chapter Monthly 3rd Mon 7 30 p m Vergennes Union High School Room 210 Monkton Road Vergennes VT 05491 Contact Hal Clark RD 1 Box 810 Starksboro VT 05487 802 877 2911 days 802 453 4442 eves VIRGINIA Potomac Chapter Monthly Ist Tues 7 p m Lee Center Lee Highway at Lexington St Arlington VA Call Joel Shprentz 703 437 9218 eves FOREIGN e AUSTRALIA Australia Chapter Contact Lance Collins 65 Martin Road Glen Iris Victoria 3146 03 292600 CANADA Southern Ontario Chapter Contact Dr N Solntseff Unit for Computer Science McMaster University Hami
102. y fast run 30000 0 DO LOOP in 1 second real time 32 bit clock with user defined periods high priority task runs constantly for detection of stack underflow has separate character stack user stack and processor stack RESIDENT ON 64K EPROM HOUSED INSIDE YOUR 2ZX 81 SWITCH BE TWEEN BASIC AND FORTH RE QUIRES only 2K RAM TO OPERATE Works with 16K and 64K RAM modules Turns the SINCLAIR into excellent real time controller e home environment controller tem perature zones time zones e real time data acquisition of analog and digital signals e even use it to control your model railroad e has DELAY Variables and CLAMP Variables as in most real time control languages Complete instruction booklet describ ing the language and applications EPROM Extension Complete System including Sinclair Prices include shipping Free information available Write to Tree Systems Suite 233 3645 28th St S E Grand Rapids Mi 49508 616 949 8506 FORTH Dimensions Algebraic Expression Evaluation in FORTH Continued ands of this type include literals and constants Both may be compiled and return values when executed This is not a restriction as constants may be conveniently used as variables There are many references in the literature on TO VARIABLES A final significant observation must be made in regard to the operands While it was convenient to think of the operands as sixteen bit integers s

Download Pdf Manuals

image

Related Search

Related Contents

WRIST TYPE DIGITAL BLOOD PRESSURE MONITOR Model WS-820  CorelDRAW Graphics Suite X4 Reviewer`s  AQUI - Celdom  Precision Health Scale UC-321PL  Sapiens LED - Manual (ESP)  CrossWords Administrator`s Guide  50S16 Malleo Sprint light  

Copyright © All rights reserved.
Failed to retrieve file