Environment
===========
- pentium compatible processor
- 32bit ring3 code
- pseudo-flat mode: DS = ES = SS
- all data pointers above or equal 10000h
- TODO how with CS (always use cs:prefix, far pointers... ?)

Rules
=====
- multi-OS, code can be compiled for any OS under any OS (like all FASM code)
- modular
- await as few user defined things as possible (except for module settings)
- 8.3 filenames, "/" as directory separator, all names lowcase

Procedures
==========
- all procedures are near
- arguments pushed in reverse order
- all arguments are dword-sized
- preserved: EBX, ECX, EDX, ESP, EBP, ESI, EDI, DF
- return value is stored in EAX, and/or ZF, OF, SF, PF
- error is returned in CF, CF=1 means error and nothing else is returned 
  (all returned values are meaningless)
TODO error number

Modules
=======
	Init
	----
	- initializes module. Must be called before any other func.
	- other functions of module must always check if module is initialized,
	  before oing anything else. TODO common error number / string
	- if module is already initialized then this call is ignored (just
	  returns without error)
	- in every module that has platform-dependant part, Init and Uninit
	  must be in platform-dependant part (even when not actually required
	  by code)

	Uninit
	------
	- uninitializes module TODO
	- if module is not initialized, this call is ignored (just returns
	  without error)
	- in every module that has platform-dependant part, Init and Uninit
	  must be in platform-dependant part (even when not actually required
	  by code)
	TODO

File Layout
===========
rules.txt			- this file
TODO.txt			- TODO file
whatsnew.txt			- what's new file
fasmlib/			- sources
	module.inc		- common (OS-independent) part of module
	...
	win32/			- OS-dependant files
		module.inc	- optinal OS-dependant part of module
		...
	...
doc/
	module.txt		- descritpion of user-interface of module
	...
	win32/			- for each supported OS
		module.txt	- OS implementation details on module
		...
	...

Suggested module including order
================================
0	fasmlib (must be first)
1	mem
2	str
3	file, stream, process
4	others
