Escolar Documentos
Profissional Documentos
Cultura Documentos
; H-"
. I
rl -t!
■ 'T rt- :-Ti;] |: i I rr;
;:Ti-H m-rH
I :■}•
-r - - -i-
ifi
• ! f . -.f--i. -4-^
- I-I 1-
I HA
I
AT
:.r-;
-t •: t ' -i
i c.^^-^VVAwC-' HSO
-!-! ! ! ;•
,.4 _ . i. ♦
I- I- i
..L-J._ -i-'-ll
f.r'-tr. -I...
4-.- .-h; -H -4-t-
i- t;
"• n
i
1-- -f-r
• 1 M"
.[iHEUi-;
•^t-
._L.4._.
t|:ii.l4.m
-f-'H"4^ r Ttttit-il'T
-i.
tt -+ff -f-
-t-
smiT -i.-i.
4X..
--f
-X
-r
1- • -+- t- -;*■
_:Li.' -I-,
.tr
4-i-
xix
:lt -U- -t-f-VX
> (
11: TX ±
4—» -f,. Tm - l-j. x.U- -. -Sh
-i_ .
f-t ;-^ ■.
. - -1. i. .
: : H-- til- ._ - 1- ..
Layers : ^ :
'1
(t) 11/50
Ccrpi'oJ (^r^^
ijet rMSStlnrv
Li
F^RTH LW6-UAG-6'
FORTW SVMTA^:
a se<^oeMce or Wotds,
^epara'fe^ by spaces
possiW^pf +er»«lK«+ed by a Carn'aje Re'K>rn
@
A Word r^av cor4'aiw aw^ ASCXr cUorac'f'C'^5
eKccp"b spaces, Carriaae Re+wrn, or
Back Space ( wbi'd* erase; prev/o«/s ckarac+er
tK+cred excep+ Carn'aoe Reb'r*).
t/iaV ^ueiaess *
Words are dis-KHeoi'sUe^ -froa* all o'Hter; by
leno+K C I'ti aotaber o-f cUarac+ers^
aad -Rnf 31 eVarecfcrs.
xi.i((ri
"BY.ecurr^Aj
Appl'cafiOM
Layers
U
EXECOTIH6- « FORTH VJORO
II
@ 113 OK
r
*1^+0
prir+ o<A ftnd e»»'5eord
**os+ avai'loWe wt'xAbtr
S+ack t»seftgc;
Kiurxbers e,M+cred «*"€ pwsUed ow+o a sfack.
OK +0p 0"f k
0 3 OK
1 OK
@ 1 OK
0 STACK CKPT/
n
lz.1
-loo . 0 -100 OK
-1 li. 0 655^ 5 OK
OK
321(>7 • © 327&7
-3Z7fe8 OK
3X1(0$ •®
32768 OK
3Zl(o8
-i OK
G5535 •©
(,553 5 t».0 65S35 OK
L2,2
^ ^perav\ds
_7
a 14
1 L
M
(5
L9
W 3
7 """a ^ •@ *•*
3 a^j3 . © 1 OK
Nofaf'iohaf con ;
ARITHHeric. dPERArdRSJ °
«4«jer (r»«je
+
— nl wZ """ (wI-hO
*
/ nuMerA^-ev JeAown'na+A/'
M(?P mwkerftfoiT' ~ irtiAAm^Ar
/tiBrO wuiwerafor deHoiMiVAl^ — reiw. two+.
MINUS h -n
ABS Pi — I «1
!♦ 1- 2-
MA)^ — sreo+eir^
f^lN — siM«|l€ir
wl AplZ M3 ^VA+'eMf A-p
(32Wf m+emc^wle proa.;6f)
m3
VMOD *"
lb bi'4- iMti'txed ivlejer(r««^e O +• 45,S35)
AND
X^R
®
Q)
"AC OOTT (?S) * /* ooof 9s ooooz
ooooz
OOOT • /* OOT S ooooz
ooooz %s
ppx.«^ 9j9
COM/m /n f^«fW9Jo >|.i$odM09 avjj.
AC 1' Oi * T- O
AC U («) • XVW -t' LI
AO t • ^9V £-
AC £' ^ • snwiW £
:sjol\.vji'9^o ^ ?a|<)iMox3
97
32, bi+
Ea^U -1-4kes 2 «+«c)( cells
e) -— wl4ftu> mI^i'^Ii
EMHflna'.
pisp|«y: 0«
^xav^ples
il.3 P- ©
Y2-,
(fAM^e -2j 147^ 4*8*5^ 646 4©
Z> 147, 46 3^ b4 7 )
04 dl d2 — d(«Jl+<'^'>
PMrMt;s .<1
■J
rs
H+'^ J ---
lA/ j vt —
M/M©0
^ ^ ... J(f<iu<4.; «re.M.
gj nj__
d 71, n V ^2.
®
AS.l(^i
FO-RTH C^F[P\LBR
Devices
B)(renslbla
T yt fey Active
L(c>
M t F^RTH u)oris
The c©l(ec+on 0+
Dea di'c-h'owar/.
: 8» i* ; 7 8* . @ Sb OK
( % IPO */ ; 2"° 5 % ■ @ 10
{M fi)
USING- A FORTH
COMPILER
14»bif ^TACK lAAHtAOLAriaM OPBAAT^AS
PROP
PUP !)
m
^ cr^
SWAP ')
^VEK 2
JH
C
R©T
C
@
16
3 SQUARE . © ^ OK
^VtABOUC CdAlSTAMrS
ejcaiMPles
de'Pi'»»i*'f>'gwS usea^e
2IP @ .^ H30 OK
TBM 3 + X r @ OK
X @ . © 13 OK
a X +! @ OK
7
X •
© 15 OK
-5 X 0 OK
X 7
•
0 10 OK
2/
Hi
examples
L(o HEX . © 10
7FFF PECIM/\L . @ 32767 OK
40 3 * 7 + Db>P • HEX . ® <27 7F CfH
c££)
cn
WK«+ is
BASE ?
dCTAL BASE ?
binary base ?
: ?6ASF BASF @
POP PECIMAL .
BASF f 5
usea^e.
PECIMAL ?8ASF © 10 OK
HEX ?0ASF @ is OK
Bia/ARY ?BASF 2 OK
Houu VARIABLES u/ork
VariAlsle.yvamfi — o<ldrets
examples
BASE . © 102^+
X • © 7^20 dK
EIP • 7130 OK
itddress o^erni-ors
address @ coM^fentS
v«|oe address •
exftwples _
BASE . @
loz<! 4. (? .@ 10 OK
B ioi^d- i @ OK
TEM . © 11 OK
lou>
address
MERE' —- tfdlJIress of
4«p of di^efroMorp OICTIOMARY
Sfock
—j
addre^3
LIS
A
DICTiaMARV ALUOCATIOM
low;
address
HERE* — AdIJIress of
4op of di'cfroMorp oictiomary
VARIABLE- X
dofa cell
higVt
oddVesi
'Ir
m
Clb
DICTiaMARY ALUdCATIOM
lour
address
HERE* — aJJress cf
+op o4 JlfcHcMary OICTIOAIaRY
Sinck
X
VARIABLF X Viecid
^daffl cell
• Bytes
10 ALLOT dat-ft
I
address
DICTiaMARV ALLdCATIOM
lour
acldresi
HERE* — Address oi
OICTiaNARY
4op o4 Jlfch'pttary
Sirick
X
VARIABLF X Inead
do+a cell
• Bytes
iO ALLOT dftt-a
i hijli
30O s 3oo
IIS
4
DICTIOMARV ALUdCATIOM
|ou» I
atddrs
I^SRE' — Address ci
dictionary
4op 0^ dUH^A^ff
S^ct*>
VARIABLE" X
da+ar^ cell
Bytes
iO ALLOT ^0 dat-a
-i
hiaW
a<l4rt
30O ) 3oo
\
FeR&er x
Exfttwple
^
Address pseu^e vortoble
arrays
Dc-PiwiM ^ variable array
O VARlABtfi* ^TABLe 6 ALLOT (si^ 4-cclUi
rwi+iali^mg -Hve arra/
1 'table ! (ls+ «®'')
a. 'table + I (EkJ • >
3 'TABLE 4 4 f ( BrJ )
4 'TABLE b 4 I (4tL •• )
AccessiVa cells of +Ue array
'TA8LF <§) .©
•TABfcE > ♦ @> . © 3
To siiap/iVy cell selecfi'cin ar^i f-e improve
reada b I li'+y^ Je-fine
I TABLE ( 5<^Lscrif4 mfdr^of-cefl )
2* ^table 4 ;
•fKen
o TABLE G . 1 (is+ cell)
% TAB LB ^ 3 (3r^ceiO
LVt
1 table @ . © 1 «k ( ut cell)
X table ® ^ 1 «k ( ted)
1 VARIABLE 'TABLE 2^ 3, 4- 5
( si«e is 4- cells) j
"cowpDes' fcp sj-c r.k
Valoc iM+o di'c+jCriary
u
Lit
STRUCTURED PKO^R^HhlNO-
successive Ke^-iwe^Me•^^'
kierAirfrKicA I deco»«iipesi+i«M a prol^lem
+op-Jouvn sfarf «T en+iVe
«Pph'CS"h'oi*'s ^HC^I0M
bottom-up s+«r+ «f primi+iwe^
tu^^omeMfAl operott'ons
lVis+i''UiAaKf ®fp
/«*v
HI
fi Kct
^2
S+ruc+ureJ pr^i/i'des a CL
S6l€<.flO W
eMtf
se-lct f-|0 M
D-CHARTS
lOM*.
fes+
Use p«r+
loop'.
+es"l-
^\ (oep ^ed f
-U
( •Piwi'sUeJ )
or
(,alwAy<)
loop bo^/
C wevev' }
It
FC?RTrt coiwpiMci'' cc¥k+to\
SELECTI0M
volue XF 4es+
frwe p«r+
BL6E "true p«r
exQtu^le'
de'P'w^'Kaid
TEST IP TRUE
11
ELSE FALSE "
THElJ j
usea
1 TEST TRJ^e OK
O FAtse OK
e>
-15 trkc ok.
0< n JO if rs zo
{ 1. if n < o
wi nZ — f O If »*i ^ mZ
i 1 if «1 s hZ
— wl mZ f O If »»i s wZ
\#0 »'f Mi ^ kZ
4 3 « TEST FAtSF OK
-4 -3 < resr^ TRt^s o-K
A AO > TESTK^ FALSF
©
i-ii
A/esfMj TF s+rvcfores <K
Ci IF
Si
c2> TF
sz
ELS^
Ci TF
S3
THFM
rHEA/
THFAt
Lib
a
D© LO&?S
loop h»dy
4
hody
LO(^P
I
i»c fl&d'?
/
•pc/Mc"hdr\: /
NOTB:
4 o c&our @ o i 2 3 dK
O 4- C&ONT @ ^ OK
-16 -ZO C&o*fr -20 -11 -ig -J7 OK
10 o 2*coonr @ O i * >- 8 OK
<1 O <5 2 4. 6 8 OK
: io-cowr Dd r . -io .
XNC'C&ONT 0&
X. OUP
1*(.d<PP
PROP •
ISO THC'CCUA/r (Cft O 1 2 5 4. OK
2 5 O THC-C&ONT ^ o z 4 ©K
-3 -10 5 TMC'C&ONT ^5 2-1-4. -7 OK
Lti
\ -frCOOH T 0&
r , r OS XF
LE-AUE
THBN
L&&? j
5 I iC&OHT 11 3 4- OK
5 -3 ^CdfONT -3 -2 -1 O OK
now-JiesfructiVc s+«ick prin+
wi-fk fop f® fk« r/jlif
•for F&ATH
dA-t-4 |0W7
s+<itk
SP^ value oP SP
^ aiifeff c'P
© top
SO @ >
S+Clclc *•
#
.S
SP@ 2 - 50 (p 2 -
DO T e . "X Tt-O^P
us^ae
12 3 .S 12 3 <»K
Jes+ructi v€ s+ftck priii+
uJlHi fop fo
"for f\'^ F(^TH
da+O |OU7
s+<ick
SP(S> — v«l»/c of SP addi^
top
*aress o'f
"h'P s-fac-k c£4(
SO @ -
sWk dol^^f :
.5 DEPTH JF
SP0 2 - 50 ^ 2 -
PO T G . -1
ELSE / E»Mpfy " THEA/
12 3 .S (cr) 12 3 Ok
:f\C\^ C^"'
2_ t )
Lie
loops f' I
BEC-XN
loop boJy loop bo^y
V UHTIL
•PcwcKo h*.
loop bo^y 15 ft(u;ays ejcecofcci
; halves BC6-(M
0(;p , 2/ ( OOF O-
UNTIU pR^P •
OK
lb HALVES © 16 6 4. :2- J-
/.34
COMil^ronal (oops
loop A COM^'"iTiOl^ /&»M0 i'm5
\J^
BEfi-lM 4vo
id^y
l6"f parl" loop bo4y par+
\f UJHJLE
2n\J p*irf loop boJiy
Repeat
i
•Fwwchoht
isf p«r+ loop bo^y alu^Ays ekccM ^nce
u>HtLE
ex T")^ loop V ^ O (^|sc)
( Te^ br^KcK +©
o+Keru/fse, csecu+e par'^
•jUiM {jkakc-U 4o BEtf'lN
FORTH EPITOR
r Appl>cafi'oM c
Lay e rs
HEX
TEXT HERE C/L 1+ BLANKS TORD HERE PAD C/L 1+ OvDVE ;
LINE DUP FFFO AND 17 ?ERROR SCR @ (LINE) DROP ;
-MDVE LINE C/L (3dVE UPDATE ;
P 1 TEXT PAD 1+ SWAP -'MOVE ;
DECIMAL
screen-number LIST
SCR # 149
0 ( String MATCH for editor PM-WPR-80APR25 )
1 : (MATCH) ( address-3, address-2, count-1 )
2 ( leave boolean matched^non—zero, nope«zero )
3 -DUP IF OVER + SWAP ( neither address may be zero I )
4 DO DUP C@ FORTH I C0 -
5 IF 0= LEAVE ELSE.' 1+ THEN LOOP
6 ELSE DROP 0« THEN ;
7 : MATCH ( cursor address-4, bytes left-3, string address-2, )
8( string count-1, — boolean—2, cursor movement-1 )
9 >R >R 2DUP R> R> 2SWAP OVER + SWAP
10 ( caddr-6, bleft-5, $addr-4, $len-3, caddr+bleft-2, caddr-1 )
11 DO '2DUP FORTH I SWAP (MATCH)
12 IF''^2DR0P BBBP FORTH I SWAP - 0 SWAP 0 0 LEAVE
13 ( caddr hlSt $addr $len or else 0 offset 0 0 )
14 THEN/^OP 2DR0P ( caddr-2, bleft-1, or 0-2, offset~l )
15 SWA]^/^- SWAP ;
OK
*LAG —— addr n 88
Leave address of start of current line in a disk buffer*
Also leave n, the * characters following the current
cursor position.
88
Lofi>'s
-MOVE addr line'
Move C/L characters from addr to 1 ine' of the current i j \i^
screen on the disk.
CLEAR screen' —
Erase the designated screen with blanks.
COPY source' dost'
Copy contents of screen from source' to dest' .
D line' 89
Copy lino' of current screen to FAD. Delete it by
copying lower lines up one line and erase line 15.
line' 89
Erase line' of current screen with blanks.
r>
line' 09 /
Copy line' of current screen to PAD.
lino' 91
Insert the contents of PAD after line' of current screen.
Lines below line' are moved down one line) the contents
on line 15 Is lost.
90
Relist the current screen then the current line followed by
the current line number. Uses the contents of SCR .
M n 90
Move the cursor by the signed niuuber or characters.
Print the current line followed by its line number.
REK line*
Print the current screen down to line' . Replace lines
with entered text until a null line is entered (ie, (CR) only)
then print the remainder of the screen.
1ine' — 91
Put text following P in 1 ine' of current screen.
> r +- Previous contents of this line is lost.
«J 'i5 ^
^ C---\ , i ■ -'itpi- L— -V
I v.. Jb P jovjs ^
Jft/p p.ru^'r v) t-
^'3
— R line* 91
Copy line PAD to current screen at line* .
— S line* 89
Spread lines of tlic current screen. line* becomes blankt
the previous contents of this line is moved down one line
as are lower lines. Line 15 is lost.
— T 1 ine* 90
Hake line* the current line of the current screen.
Hove the cursor to the bcg^lnulus of this line, copy it
to PAD , then print the line followed by its line nxunber.
TEJfT delim 87
Hove text from TIB to PAD until dellm character
is encountered.
^ TOP 91
Hove cursor to the beg^lnnlng of the current screen.
— WHERE in blk* 83
List the screen corresponding to blk* aud type the line
where in is pointing ( the contents of IN ) Inside the
screen. Used after a compilation error from mass storage
<1e, a LOAD ).
.t • *.
B.O.I
sroRA6-E
ApplicafiOM
Layers
Devices
EX fChs/b/«
X M +er Acxi v«
.sr)
6.1
r.l
MASS ST&RAG-F"
CL geiaera I i m+er -Pa. ce
Single de^i
floppy ^ Pfoj
•lar^
^iwckesicr
Q+a.pc
256 K y>yi^S 51ZK b/fes lOM by+es
o
21AM hy+es
10 sol.. 3Z 7&7
Z50.. 74-1 7SC .. 10 500
blocks O .. 2+1
to a device
+0 a pro^ra»v\
logical vwapp pkys I'cal
proca&i block
block ^
^ Cynit. j (r^ks/o ^
B1
DISK ACCESS
disk
bw-ffcrs
m¥"
fW
a.
DISK ACCESS
tik# BL&CK
disk
buffers
(g)
»2
b
DISK ACCESS
tik# 3L&CK — <^ddir "t" ,0/W^
disk
bwf-fcrs
f^locl^^-
Y->^
btk#
BZ
c
DISK ACCESS
kik# BL(9CK —
disk
bu-f-fcrS
bik#
UPPATe
eJ/C^Cc4"e 4^ f tfil
vs
w
DISK ACCESS
n \00
dish
bw^^ers
loo
too read
pfer •formfid
1 loo
3oo
DISK AC.CFSS
BL&C k
disk
buffers
loo
20O
300
bl e«.k
4v
B4-
y
DISK ACCESS
^01 BL^CK add/'
disk
buffers
read
re^oethd
block
(uri-le opJa+d
block
65
r.l
disk
Bo+fe« «« ""
scree^i^ i.IS7"
screen -f^rmiKef
{or devisee >
(A
streew# Z.<>AO m-terpre+s p caMpi'lei screen
A ft I , i .
.j)jf
ioi (pr^
*
L&AP-
Rcwi 9cv.^ 3 w ^ XMlspx " V^-r^o
s.l
STRIN& OP£RATI(^A/S
Appl» cafi'on
Layers
DevJc
O
STRXM(^ HAMDL/M6-
X^vpuf
Co)f\ \lQ.r^\OY\
N otn^rt'c s-friv\2 ^ biKeiry
C o p/ 9
Forvv\«ifm^
Cotv\parii<?t^
<5oFpu+
STRIMC- input
u 0
57
b
riB
TIB0
hull py-1- Wy
aN. '
d rc.+ t'owa ry
I'mJvO
50 I^qJ -fj
Hh' lYOf^V
/
k^a>RD'5
\ •.
. .•.:--'8
U
S2
C
/v»c.ssftg£ bu-T-Te-i^
TIB^^
k-^eRD 5
btJ-P-fer
^ c,;e,
B L Vo/?Z)
e)
d
•fi'3
rise^
--■ t rtuU py^'»y(cn) i(^
I
1 tekt
d i'c.+ I'owa ry
!
(PP}^ Iv'C^RD fj
btJ •?«?€, r
PAO^ hilYU'^
^ext llwQ.'fe'feD'b
./■
':jI^
ew ?w
^ KH/^f jCsLt^Y!^
p ^ ju^Ui^ tksdi4i^ uo/^p
'A?]
53
-fi'j
^ #ty+e5 HOVE-
•PrairurtiA^ I Q b C^ X
-PiVst »
4t-AJ<lr ^ be d % •%
Rev»A©ve "frftilma
'C.
Si
rt.
I UTf^OT
•ft'*
clvd/rA.c-1-e^s +0
v| our "f-e-rwMVaf /uf^
( or c< cc»^ liwe.)
-
<>r^
\aJOW
u/rif£ 5"fr!ng
udJiQue-fi^i
C^ ■ .-^
uS«-
yt^e wnt
6011'^
cj>a(!?^''
?7
7
u ,"0\<"c^
If
i
Sir
^3
STRIHG C0NyBR510H
Cn/fOTa ^ sc rxj^c—
x/
7 II 1^5
L.^^ ,,,
AJ.
I K
^'(1
X
6^
yi
f.'-( ■>"
'-7^
S7
A2'b
12 rewftiVtft-t^
AO
4^
11 i re»w.<iVJer |2
lo
= O iVil i
io
- T/Pf
^ 1 t ur^
Ty/'t;
:4^-5 Q-^OfjnL- ^
r
o
Scr.yr ^
J>^ OSBK ^AS(^
adclv 4oi5
F^RTR
sliftred /
<li'c+)OM«r/ /
V ciyl>a^^^ic. <-
(Tev
^i<V^ -
ds-lrQ
50 (^)(j0/i
O
m(ife£ac;}e
bt,» Her
\
USeR 4. \
\ $+aclx
\
UiC r
V?iriVilles
&?ERAT(frR
l-\GCid C
f toHcv^
DISK laS Byi€S
bUFFERS 7
UCaciCr
\ bui-fcr
addresses \
\ f-j'
\ •Van
liC U ri C
U \
\ boHer
\ •H r I
(S)
M2.
a.
picriawARV
prfivi'oo^i
de-f)'wi'*heKi
No we Ffeld
Link Fisld
in.
Co^s F I'eld
T\
Parft we.4-er
F {eld
U
M2..f
b
A-9
Dicfi'ond»ry
For no
: Z-^ DUP + 5
picriawARy
Mf
>
1/
r\
b.-k5 6 ^
prevfoo^
de i"h CM
0;+
Link Field
Code Field addr r^un ;
addr cl VUP
Parft we4-er
F ield oddr cF +
I oddr 5^
U DP ■3»-
r.i
r^xr XNTBRPRBTATId/^
V .
Appll
Layer's
U-
:7>.
f'?
T^Xr J-/V TF/? PRSTA TIOAJ ,!»5
IN-
WeRO di>cfi"onarv
HUH 8SR
Ward's
XI
c
T£KT ZN TBR P TA TIOM
kw^er
WC?RD
<d»cfi6Marv
da+«i
sfftck
1■ c ^
Ward's
12
A
XNTERPRST
n*;mber
eyror
EtPcurs'
(T.v^vr^-
Ic
T'e+urn
k
ft's
T£'X T XNTB^ ms'TB'R \
COH?T\.BK
INTERPRET
eriroir
FXFCCTF
LIT
Te+Urr*
X2
^3
0 IM i ;
OUIT IA ')
vr^
0 -forevfii^
1
RPi L y^ti" P.F fo feiMp'fy ^
CP QUFRV
XhlTBRPRET"
0>^"
, \f R. Ii' A
•(-W :.1«P!5^
C.l
FORTH C6HPILBR
A p p!I C af j'0 M
L<xyers
Devices
E %te.nsThla
JTn f eh acxi'va
c.x
U5JN(t compiling-
Time,
Scit/ence: f 1,)
® ®
'A*
tfl^+ihr*h'on ^ IxT
exi5f*)ig
CctHPf ler dcriV
c>tecute
JiC+iVhar/
'Ah^r*y (atoAI d€-Pfw/'hon word
cMo ^
output
dowp I* 1 Mj
r*orm«l tA*ord s * «0~pileJ
b/ s+ori«j €<*<2Ji (^^e -fy'eU aJJress^
I'w -Hte n€)«+ cell o-P iUe ^fcHaM^ry.
&;cftvwpUv
VOCABULARY FILES
cle-ft'M&s a Mflw-it« (Ajard^.
r
c3
rl
•f-eri«m4^€S COMpi ^
bc^iiAS •|-fx+' pre+rtfi^^M ^ ^
Us^4 'fv
S-hirj- a^4 coMpih'n^^
Hxy A ho be oscJ Compf Is
or)Hi¥^e.h^c cukJ oHiC/i^
u/fV^iiK €i ; 4e:AH
iv{^ t M 1, 1^ /WbDirr^ ^ I
U 1^ Cnatv |.w.aJL
r
cs
r±
^'•9
TTrc cempi o'P '/aloes'-
a. Ivl^fa/ IS a. Mw»»ter;*c cUaracial/' s-hri'na
et.ample: 123
U/htfe /»fl-erpr€.-kvi^j a, h'-h/irttl tS
h) lamary Odht o/^J posked ay\ko fUe
Jd4n s-hack.
de-p
is coi^ptlej US
•Cre
r»«rM4 cam piTi
(AhJ o-Kt&r cei^piU '■h'mC ep^aij'ans ) •
TAifi €'/-fresst'ev\ i024 l(t /
^ coi^s-ht-^i" va he. fke
: s(ow i024 It / —- j
IMlIf j7€T"fi>r»H fit€ di'Vl'Jc wjUfi^ tt<.« de"A'M
/s executed 4Md ^>'1/ +nke op iO byMs o-P
Jtch'crtary sf^ce.
• « •
aJid r V»ii<*ary vaIv^ • •
LIT 64
C7
1^1
4?a
/i-f i'i»\+®^^pre4A+i'o M - +i'wv.e.j
9
- ^ DUP
pushes "Kie pti^AmeHy -fi'eld ttAJr^ss o-f puP
ot\+w •H^€ s-fack.
USin^ f'ke
: ^OR-POP ^ DUP ?
/^esul+s 11^ c-f- DUP beiMj
coiHpvicJ* lUUc^H fy DR^Oc^P Ti
^ e>cecu+€4^ -fUe -fi'eld ^ddrsss
o-f* DUP li p^skcd S'hick*
T^VCN^ ^
w^-dc-ferrcdi
© d TcKon ar <xMrtss ccJ^e A'eU
COM PILE
© ^dAt c-f c^Ai r c -P
<{rc+('»W4ry »f t
CmPXLB
Literal state @ tf
: ¥&n.^eT — [ ^ LtTSRAk, — j
This is p^r-periled fcy LCOMPXLEJ
lolxich 'fiff^C€S COWpf fd»'/?*©« d^P -fkc
'ofi ^ r-f
wtfr<l rr XHHFDXAT6.
: Fe^6-Bt — tcaMPriB] T ■— i
rLTXa/)-
C1i
ri
CONTROL STRUCTUReSt
Tke. cctiirof ^h^civres TF TTiSTJ j BF^/a/ UNTIL ^
a// ofhe^s 4Ke -Hajo hro.¥\ol\
Uiic^ndi*4iona I kr«ncln:
adJlr c-f
dichcn^ ry BRANCH
bnthch
address
4(i6 -^^16
iV^4€ir prc'l-er^ br^ncl^
^9
al hra v%cl\ *
addv* c4 bmptch
0BRANCH addrtss
here IMMFDrAYt
BES-lM-HERE
• ••
... jp SI 52 THEM 53 » ••
rF-HERE
OBRANCH
Ci3
rl
■ft'3
B^XAmple,: 2 b/fe »^eU+iVe yraytcU Addresses ^ b
• • •
b^g-im Si 0= U^JTIL S2 • • •
OMTIL-HEAS"
BE&iaJ-HERE
BH£AE-
Si o= OBRANCM S2 • ••
uHene"
••• IF SI 52 THEM 53 • «t
THeM-HERE
tf-heRE
aT sau
•• • obaamch TH6AS- Si S3
rFH6AE
cn
rl
IF-here
08RANCH
BSS-ffl-HERE
Si
C14
ri
fis
ELSE COMPILE BftAAlCH He-RE" O 5 ab
••• TF SI 62 THeN S3 •
ZeiSB-ffERB
xp-HEfte lELSe-ttERE
o
%•
OBRANCH si BMNCH
XFHgAe
while-HERE
esC'lH-HERE
Si 0branch
CK-
rl
^9
ELSE COMPILE BR/iA/CH HERE O 5 abc
TP SI £45 r S2 THeN 53 ■
TU&i-HmS
ZSISB-HSAS'
TF-HERE
2ReP-HERF
iRS?-HEfeH
wHlLE-rtERE
jtr B'HERB -
Si 0branch afttP-HSRB- Si BRANCH S3
u;>HERe 1 Rep-HERE
ci5
/o^
C17
rl
-fig
(Jii. secuKi-fy ^ofJs ih vjtf'J %:
COmpi/iHA S«curif^ acMoYi
vjord
fexEC Icsp
?csp
BBS-IM
UNTIL i ? P^IIRS
IF 2
ELSE 2 ?p/^rxs 2
THBhi 2 ? pAX/e5
D©
\ Lt^P ] fPAXAS
I +L©-e-p 3
BE6-IN
WHILE
APPRBSS TMTBRP/lBreR
Appl>
Lay e i^s
Pe Vie e
12las /
€r d-e
(2)
■ -i- .
f-
t'
I . 1 ;
'
-.
!
j
'
!
' ,
H V-fT^"^ n^clr^^
: 1. i- ,.
st«f> C0( cr
! ^ - -^--^
f^se^ ^ eXliij
'. mA^ V^ LAjrt^
;r^
V
t t. i i j .
r4
A
^3
1
oy
V +
J- X
) ) )
A/£Xr F^RTH'i Address X^h-her^re'fer-
«r
O)
iv\ a cli m €
Cod C
ecV
\
,a.nj
y Vo >A
,v^ rc+ory* jowf NExr
\.. s+ftc k (1) IP 0 0 w / xr
q/^
(2) a IP ^-!
(3^ W @ (5> PC J
'/^"
\
0<\
" ^ fc.
j </l +x (9 A
i+ j>i t- (X")
(5) d)( (9 di (^) >13W+S
I
<^049JI
J.X3W
3 P®'
aw't^OovM
« Mn«4
0
:Moj
c c <L
A"}
p,
sP
QJ
9)
i■ O
o
• •»
Of
b
Ul
*2
a.
€
■>
s:
o
•z
3k
<0
M-
o
•2:
—i 3t ^
h
«l v»
w
J
lU
><►
lu
©
/ J OtAO I4.?|p
©>
E*ECUTiJa/ ©f wrxT
ifviacUivie
code
jomf NBxr
5
S.
o iruyi: ^UtMp NEXT
H
o immsj rovk*
juwP NEXT
JOMP NEKT
do+o
^+«icK e^^ac k
-t t
) BtBCOTlihl of d*- NFXT
i^acUiiifi
co4e
pup
i^uM
:
i.
o
o thMl
-H
o IHTERPMJ
reTurw
6+ac k
iCa/>
IS"
e
»- (u
US
eC 5
cC
IS
G
JE±
Itf
'Z
m
•>
/J 14-7 IP tf
<lic+i'©vi«» ry
H
SX
XS
macliine
<odd
jtMpNEXr
i.
c
s*
o s jwwp NEW
o iRTERPRgT iron 5
junP WBXT
jONf NEXT
reTorw dlo+«
Stac K
14«
xS)©'
.Mi
j;-a
Iff
k
V
^'1
s b
15 «» tti
*2
V9
II a.
m
* -n
lu
*
<0
<4-
"a:
. i
o
lU
lu
KJt OtAO
20.
If
A
Ktj
Itt
"Z
o.
€
">
•
JC
o-h
-«in
M-
o
"3:
••
a
•>c. * s . lo
u
h C< o
_r
j
lU
ry ^
lu
/z/
wP <1^ <1^ ojLAAjeo>e^
'j'-Ccn^e. ii\t?*-j)ta^et- .J^PA'>CflL y}d■'j
C4jy^
Oo
ccw, tfwLXi-l/
FoK.rH 'Uo
h'
L/'
j
- ^ d.ecLc/i^^cx,
^J>Jt
_ |wva^ ^
I V j^' \wA«^
OV <P^ tU_J;fvU^
f , \ .oC'Km
2-2.
^ 6i<',
m
n
VI\(\l/^LC ifSTAKT
\J' ^ i ^'fW?
j ^od> ^ j>o X X ^e?M£-/vr / toof/^
•• .^flRA>' o Xo Cp. 1 . 5mr^ Z I Lc^f)
(•^x) I
0 /[^Jf^XLABlET ,
(9hja«
^fvyl T /\N^A'Mf^E ^•
i/Wa^ia^le^ (^ XLBA^x)rr !j
^7- I
tg)
p- - ^Z %
-ffyyp
ST/tT£- @. <
/^-Ajp Qyi~r
<r
U/tt^/ "rw^/
y/yCA-zJlM. 3
Caj V-c»v
^5" J^ZTT-^V/*^^ l\J^Q. f^ 0*^
aJtfi^xsr' •ft
foW
ff
j p^s J'Oif'/ o^iUy tz!
_ ^W\ ^W5^T M U/tO-^ KajC H\ A^e/«14_^ /
^ ^3"'^ A4<*X^
f
4
U/
6il/fv 3
C 9 Tr/
f^hySl -£frcv>v^
0
& X )
;3"
c
r
'■^h^ (k^P(P(^ APP 'm&
5 / l^L5i^ A
F
S3
:7z<
U'tp!^ r
L_ f=Lu$H ^ O X>0
BUfFE^ L-^ofj.
v.l
FORTH VOCABULARies
A p p ii c af rc n
Lay e rs
Devic
f xfens/
./27
V.2
A
•fij
f{elj
R»RTH
F<H^TH
V.2
ab
■f<4
i scop^ lay v^tfs+r/c+i'n^
d{cHof\ar^ se^rrcUes +«? at suU^e+ o-P +<<€
drc4i*0Kary- TUr^ Jutr£+ Ki^y i>e a jcidCrd/
4-rce S'frucivre..
fteU
RSRTH
Xf
ASM
■PVeU
u
F©-RrH
APPLICATI6M
F<?-RTH
X
assembler tPIT^R
APPLICATIOM
V,3
•fi'9
fibvi y^e^ofre ments:
-ft^9
F^RTH ifviple Hr(j^u€:
FdRTH
PHFrNrrr5A/5
CONTBtT CURRENT
;VeM 1
VoCAif^Unts fo fc€ y/ocA \»o(a ry
^ searcUcA u)Uer6
h€jc+
u;fll be
b
•ft'9
•Pi'g-FdRTM irnplemeMfa-H'oM +ect»Hi'at.;€ •.
O
F<?RTH
P^FTNTTI&t^S
6 '
F(^RTH
CONTSXr CURRENT
/JcHh-fftS i cr AiOft ASSEHBIEK
VooilfoU ries to fee vocfi. bcp/d ry
^ SearcUeA u)U^rt Hit
h€|C+
tufll ht,
ASSBMBLER
pbfimjtwns
i"r^
^53
vz
rl
VOCABULARY
VdcABULARV AS^BfAZlSfl
VOCABUUARV EDITOR
Usi*\3 voco^utories
^ Voca b<;lary-. v\aiHe s+ores -ho hameJ vocahohry
ih C&AiTBXT.
idc MVife 5 voc^ boUi^y sob irt^.
\ajI\{cI\ »>iay fee Sftse^i/^nffy
seArcUed.
C^TEXr
— pu"f neuj
de^-iWh*©*^
I v\ fI*rs+
C(9-MrB)cr
VocAbi;lar/
SeArcU
CU RRgMT
N/OCA buUl^y
fVs-h
Vi
CO/^TEKT voeabuUnes. b
>3:
V4-
b
Cd-MTSXT
^ CURRENT
veCA WoU i^y
: STUB NdF
V5
b
r2
^ OEFlNmOH^
C^^ITGXT
^ tuRREMT V0e4<>tfl<irt^J
+p 4sse.w bit** as*v*
PSRTM
cdwrexT
4 cuRRewr
vtfC4bc;i4r!)^
M AC NBJJ-N&f NBuj-M&P
f VOC Cij(«7r)(T © ^-
WTA Xj>. '
D.|
OBFrNrN& \a/^RPS
^ of^ )f\OvJ \-o M/ri'Vfi (K c^nifi 1^1^ it\ "2.5 u/ards j
AppllCafi'on
Layetrs
U5rNO DBFINI14& \IORt>S
/■(■ma
de-P
d^Tihr'h'w
1
eyecufe
1 wor^i
exi's+iMj scotrcje.
camp Tier 1
i /
f
uJcyf^At eyec.(;f£
d^^ + '^>^^^y
d€"P W0V^4
^ u+ p t; T
(S)
Pi
rl
0€F1MIN6- VdRDS
ay^e e;c^cu+ej^
dic+!W4 r/.
Pre dc.-fiKed de-fi'wiVj cAJoy^ds I
C(^A/3r/^A/ 7"
VARlAS^f*
iy5F/?
V^cA6t^iA/?y
C<SrpS'
^'9
JC(90E asses^hl^
5
P3
n
•Pijj
o-f a hiah-l^vcl Ji-fi'hi'hffit of A.
u^oY^d: VAftlA8L£'
©
wiemtdr
3 variable
crtAfio¥\ ~
dicHovyary ^— Z Wy4€S
/
h-P A-P «-P v^loe a^- X
©
/^vnfilter
3 X 1
6.X€^+l(?W- X ? (CR) 3
f{(p
©
d€*Pmiv^A
VARIABLE
u;oj^
Creeitibw-
<BUILDS D©^es> '4.n w
fi'v»Re
YVni
/?
©use
3 LTMf C@
ve+unis /tJJirest e-f
vmam ber
u/ord
SabscrYpi-' seiecied L/fe.
: CVECT(?R
/© i ©
(y dfctl" OMA P LINE"
2_r<\ \^G<yfxn.
n-f i-f e-f ws,e ^ ^ -f
i)\i;^l^Uf f.\^
Z (yt<?
. V'^CTof^ •^gv.HuP^ MbS>
J-f 1 )^T^5
PS
rl
FTLL-LIhie oh
PAThlT-LJMB A 6 C 0 E ok
\/ai''i*<i+i*dHS ew Cy ECT^R:
: 8LAWKfeALL<»T ( asH,y+€s — )
HERE over BLAMKS
Allot :
&
Dfe
r2
^'3
Chick suhscr/'pf" oyt iaeh referstKC
io all im€.m u/oirJs
P<^S>
TuefJ
«-P\ H
\>oe&>
I- j^'
Ly
CWeCT&R <8urLP5 THBRE , ALL&T
pe-e5> @ + :
LVS-
P'?
rl
•^*3
Vir+udl Array : i'm 'I'Ue I'oMO ry^
dla'fa OH HtdS-S sforodd
s-far+
bicdk#
subscnpi*
b/e^F
B/BUF
byf-es subscn>t MdD
BLacK
P&E5'> @ SU^AP
BLOCK UPDATE
P8
tl
•ft'l
D€+««»«^ ufcrJ : CASS": 6xecoii'cy\
vecfor
Pe"Pm€ cas€,s
Us de-frhinq MorJ
©
Source
CASE: ANIMAL oper iPer ifbt 3P£T
dsfmiVoi*!
©) K>OBS> Su^AP a* +• @
execute :
c-P
©
rcswlf
animal oper iPer ZPrr 3PE7- ;3
Jlf
Devices
E ^re,ir\S i b Iq
V,---
I '2-361 SO SHtEIS SSOUAtE
■2<uV '2'3'3 100 SHEETS S SOUAIE
A 41.369 300 SHEETS S SOUAII
tA 2: 70
G-
(^
2 c_ . c ip* o
ro
t g> "S £ O 00
e tk
r» rs Ci-
o -s ns
(p m Qa
n r o
Vo d
S- vA
Ci n C
rb o
-j^ -f s P 3
A ii t £
o
v» o
o r> I -5
lA <; -s
Jft TT ft-
o 5
r ^ vn r\
d- n c. rN
I vA
£ ■"D TT CP
gi — ♦ cs^ 7r fb p P
fb P
UA o '— <<» o vo o "5
C_Ck
g~ d- A
<. VP 2r-
n> 3 c c ip -x-
c
«» Q — 3
o Sv X*
Cs- ft A 5
5 C
I 5 -N
5 Si
Q_ X X 0> -hk
O
3-
ft
E VA d- fN
i/» O -0 VP (*^
fN' n n> •3 lA
;si X I 3
•d Vn 3 Xk_
c-a r\
d:> m
O' s
5 <1- Ai
;r* s> £ p" I £- z
<C_D \A
5 cJi
;b tx>
~x (S- IP
CA
CL. yr 0 r*
Q r«> d:
dr <Vi:
nl
<T»
lA p>
£ 7^
to £
a O
3"
r r
r> 0
rv 7C-
o fb
§ n 3 IP
5__ V^^ (^
lA
t 1
n *0
&
c •%*
ib
n» i/>
d: i £
Ci ft
X
iA n>
:t
X (p
<ja
r I
OSE/K&S:
CO'DB !
lU
/
'»**"
Asss^w^Utr vuor<ls;
i. opeyftvU Jh. s+roe+i"on s :
I perA VM VVi rC
c>
-5 5
Hi jx-
l/>
C
o
to H
5
O o o ~ CP Ql-
< O c_&
US m rt»
II V A H-
cS>
rs a
o
2.
H 5
*n
to
O 22
TT3 r*3
Ci c if'
< o
£Jb £J>
I
"S I C
•< -TQ
^ ±. cr o
a
C3_ A
-Ti ±2
a s>
<L_a
uo
CA
c-a csi
{*»
l/>
A m -o
r- lO
CA fs to c lA ^
i/» -o
(T7 "1 H a
r5- tA r\
(>0 C 40
(0
^ vA K> m
lA
J s
ni "V ^ iP
I
m s Z2
2
—f
3:
m
21
Ny
43.3BI SO SHEETS i SQUARE
•S- 42 303 100 SHEETS S SQUARE
) > 43.309 300 SHEETS S SQUARE )
n/jtrton/JH.
H
4r-
&
4* o
-1?
(«>
H CJ> 5
t/>
c
5 z
r-- •%
5 r 1 m
$1 \A I'X §
-0 X
CX) z.' *«
-t I
c.
S'
r %
r
Va >•
>
c. I («>
r»
?
r*,
5 rs
rb ^- £
t fe-
c ? •'
-o c. Y
-t-
ir>
tn
-o 5 S:^
o rsr- H
In
V X
H S
r
7:
5U s
si
To
5^ bl
~+-
I
c X
n /T- trt
•i
i h
K
V)
n) H
O
O
o 'm
T5
•X)
r:
■~V3
i>
3 — ! Vf|
0 ( Solutions Multiexit )oop structure )
1
2 » (-BRANCH HERE - #
3 i ->BRANCH HERE OVER - SWAP } f
4
5 $ COMMENCE HERE 0 i IMMEDIATE
6 i StWHILE COMPILE OBRANCH HERE 0 » f IMMEDIATE
7 i CYCLE COMPILE BRANCH 0 #
a BEGIN -DUP WHILE ->BRANCH 7STACK REPEAT
9 -2 ALLOT (-BRANCH f IMMEDIATE
10
11 t MULTI-TEST COMMENCE DUP » 1 - DUP &WHILE
12 DUP ♦ 1 - DUP &WHILE DUP 1 - DUP Si WHILE
13 CR CYCLE DROP
14
10 MULTI-TEST 10 9 8
7 6 5
4 3 2
1 OK
9 MULTI-TEST 987
6 5 4
3 2 1 OK
6 MULTI-TEST 654
3 2 1 OK
2 MULTI-TEST 2 1 OK
46 EffiPt^' Stack
6
7 SEQ-TEST COMMENCE DUP 1 - DUP SilF
8 DUP » 1 - DUP &IF DUP 1 - DUP SilF
9 DUP ♦ FIN DROP i
10
11
12
13
14
15
OK
10 SEQ-TEST 10 8 7 OK
4 SEQ-TEST 4 3 1 OK
3 SEQ-TEST 3 2 OK
2 SEQ-TEST 2 1 OK
1 SEQ-TEST 1 OK
0 SEQ-TEST 0-1 -2 -3 OK
46 Empt^ Stack
/ —
dcLe
IPj Z^hZS
5^rV fc4?c^+ ' cf\-
^Txj\ic-^iA<
^r e c,
.pl^-ALUT
/6 &-i:)£D.
fA._ U\/w K
/ !«.
lv><t
*5:-^
: <BU|t_I'S , l:>o^sy
fr«s» C^.
t^'r ^
.=vi^
C*AA-
@) 5"(^/V
\ ®)
/
r -'
-
fUJ^
K -p I p"o|^Tf-/
"C^
iXJ:
'V-L/wHr^^ C''"^
c-^ /J[^© .Oou;> fK
2>oj^cW-
/!o5i
vvJ'cr' .A/wu)"^ ^0£5>
V y