	List of Code  Examples	7

1	Introduction to Esp	9

	1.1	What is Esp?		11

	1.2	Should I Use Esp?		12

	1.3	Roadmap to the Esp Book		13

2	Esp Basics	15

	2.1	The Purpose of Esp		17

	2.2	Esp Ground Rules		17

		2.2.1	GEOS is a Multitasking Environment		18

		2.2.2	Upward and Downward Compatibility		19

		2.2.3	Flags		20

	2.3	Differences from MASM		21

		2.3.1	Data Types		21

		2.3.2	Symbols and Labels		32

		2.3.3	Segments and dgroup		32

		2.3.4	Miscellaneous Enhancements		39

	2.4	Defining Classes		51

		2.4.1	Defining a Class		51

		2.4.2	Creating a Class's Class Structure		53

		2.4.3	Defining your Process Class		55

	2.5	Error-Checking Code		55

3	Routine Writing	59

	3.1	GEOS Conventions		61

		3.1.1	Parameters and Local Variables		63

		3.1.2	The "uses" Directive		66

		3.1.3	.enter and .leave		66

		3.1.4	Inheriting a Stack Frame		69

	3.2	LMem Heaps and Chunks		70

	3.3	Objects and Classes		73

		3.3.1	Object Structure		74

		3.3.2	Messages		77

4	The UI Compiler	93

	4.1	UIC Overview		95

	4.2	Declaring Classes		97

		4.2.1	Declaring Fields		98

		4.2.2	Changing a Default Value		100

	4.3	Creating Objects and Chunks		102

		4.3.1	Setting Up a Resource		102

		4.3.2	Creating Objects		103

		4.3.3	Creating Chunks		105

		4.3.4	Creating VisMonikers		107
