diff --git a/WORDS.TXT b/WORDS.TXT
new file mode 100644
index 0000000..8c4d638
--- /dev/null
+++ b/WORDS.TXT
@@ -0,0 +1,257 @@
+					   DOS FORTH WORD REFERENCE
+
+
+CONTENTS
+
+1.	[STACK MANIPULATION]
+2.	[ARITHMETIC]
+3.	[DICTIONARY/MEMORY ACCESS]
+4.	[STRING MANIPULATION & INPUT]
+5.	[CONTROL FLOW & EXECUTION]
+6.	[VARIABLES]
+
+
+
+						  STACK MANIPULATION
+
+DUP ( A -- A A )
+
+2DUP ( A B -- A B A B )
+
+DROP ( A -- )
+
+SWAP ( A B -- B A )
+
+
+
+							  ARITHMETIC
+
++ ( A B -- A+B )
+
+- (A B -- A-B )
+
++1 (A -- A+1 )
+
++2 (A -- A+2 )
+
+
+
+					   DICTIONARY/MEMORY ACCESS
+
+FIND ( ADDRESS LENGTH -- ENTRY )
+
+	Search through the dictionary for a word with the given
+	name. Address and name together make up a string.
+
+	ENTRY = address of the matching dictionary entry if one was found,
+	0 otherwise.
+
+
+>CFA ( BASE -- ADDRESS )
+
+	ADDRESS = the address of the codeword for the dictionary entry
+	starting at BASE.
+
+	SEE ALSO <README.TXT> Fig. 1: Dictionary entry
+
+
+>DFA ( BASE -- ADDRESS )
+
+	ADDRESS = the address of the first byte in the body of the
+	dictionary entry, i.e. the first byte after the codeword.
+
+	SEE ALSO >CFA, <README.TXT> Fig. 1: Dictionary entry
+
+
+@ ( ADDRESS -- VALUE )
+
+	VALUE = the cell at ADDRESS.
+
+
+! ( ADDRESS VALUE -- )
+
+	Sets the cell at ADDRESS to VALUE.
+
+
+C@ ( ADDRESS -- CHAR )
+
+	CHAR = the byte at ADDRESS.
+
+
+CREATE ( ADDR LENGTH -- )
+
+	Creates a new dictionary entry with the name specified by ADDR and
+	LENGTH. HERE and LATEST are updated accordingly.
+
+
+, ( VALUE -- )
+
+	Stores the cell VALUE at HERE, adds 2 to HERE (word size).
+
+	This does the same thing as
+	VALUE HERE @ ! HERE 2+ HERE !
+
+
+[ ( -- )
+
+	Switches to interpret mode. I.e. sets STATE to 0.
+
+
+] ( -- )
+
+	Switches to compile mode. I.e. sets STATE to 1.
+
+
+IMMEDIATE ( -- )
+
+	Toggles if the most recently defined word (the dictionary entry
+	pointed to by LATEST) is immediate.
+
+
+HIDDEN ( ENTRY -- )
+
+	Toggles if the dictionary entry starting at ENTRY is hidden.
+
+
+HIDE WORD ( -- )
+
+	Looks up WORD and toggles if it is hidden.
+
+	This could be defined as
+	: HIDE WORD FIND HIDDEN ;
+
+
+' WORD ( -- CFA )
+
+	Looks up WORD in the dictionary and returns its CFA. ' reads WORD
+	at runtime.
+
+
+					 STRING MANIPULATION & INPUT
+
+KEY ( -- CHAR )
+
+	Reads one character from the input. KEY blocks until a key press
+	if no input data is buffered.
+
+	CHAR = the character read.
+
+
+EMIT ( CHAR -- )
+
+	Writes the lower byte of CHAR as an ASCII character to standard
+	output.
+
+
+CR ( -- )
+
+	Write a carriage return followed by a line feed ('\r\n') to
+	standard output.
+
+
+TYPE ( ADDR LENGTH -- )
+
+	Writes the string starting at ADDR with length LENGTH to standard
+	output. The string does not need to be terminated with anything
+	and may contain any byte values.
+
+
+WORD ( -- ADDR LENGTH )
+
+	Reads a word from the input. Calls KEY internally.
+
+	ADDR = the address of the internal buffer holding the word. This
+	is overridden every time WORD is called, so copy the string if you
+	need it.
+
+	LENGTH = the length in bytes of the parsed word. The buffer holds
+	at most 32 bytes.
+
+
+NUMBER ( ADDR LENGTH -- NUMBER UNPARSED )
+
+	Parses the string specified by ADDR and LENGTH as a base-10
+	integer.
+
+	NUMBER = the parsed number, or 0 if one could not be parsed.
+
+	UNPARSED = the number of bytes in the string that could not be
+	parsed. I.e. 0 if everything parsed successfully, LENGTH if
+	nothing could be parsed.
+
+
+. ( NUMBER -- )
+
+	Write NUMBER as a base-10 integer to standard output.
+
+	For example: 123 .
+	123 ok
+
+
+LITSTRING LENGTH BYTES... ( -- ADDR LENGTH )
+
+	Compiles to a literal string. You should rarely have to use this
+	manually.
+
+	LENGTH = the length of the string in bytes. 1 cell wide.
+
+	BYTES = the actual string, padded at the end to 2 bytes (1 cell).
+
+	ADDR = the address of the string.
+
+	LENGTH = the length of the string.
+
+
+
+					   CONTROL FLOW & EXECUTION
+
+BRANCH BYTES ( -- )
+
+	Branches BYTES bytes forwards or backwards, depending on the
+	sign. BRANCH 0 does nothing, BRANCH 2 skips the following word,
+	BRANCH -4 causes an infinite loop.
+
+
+0BRANCH BYTES ( PREDICATE -- )
+
+	Identical to BRANCH if PREDICATE is 0. Otherwise 0BRANCH does
+	nothing.
+
+
+EXECUTE ( CFA -- )
+
+	Transfers execution to the word defined by CFA. This can be used
+	with '.
+
+	SEE ALSO '
+
+	For example, ' DUP EXECUTE is identical to DUP
+
+
+BYE ( -- )
+
+	Quit FORTH.
+
+
+
+							  VARIABLES
+
+STATE
+
+	The current interpreter state.
+
+	0 = Interpret
+	1 = Compile
+
+
+HERE
+
+	The address of the first free byte of the dictionary. This is
+	where newly compiled words are added.
+
+
+LATEST
+
+	The address of the dictionary for the most recently added word.
+
+	SEE ALSO <README.TXT> Fig. 1: Dictionary entry
