
	GNU HP tools short description !

  o  How to install GNU HP tools !?

	- unpack gtools*.zip completely
	- read Makefile and make changes for your host OS
	- read conf*.h files and make changes that suits you
	- type 'make all', 'make install' and there you go ..

  o  New opcodes description -

	LASTR	\ASCII\		Load ASCII constant into A. The order of
				characters is the reverse of LAASC.

	LCSTR	\ASCII\		Load ASCII constant into C. The order of
				characters is the reverse of LCASC.

   	CSTRING	\ASCII..\	Generate ASCII characters, append zero byte
				to the end. Each character is stored with the
				least significant nibble at the lowest
				address. The first character is placed at the
				lowest address. This corresponds to the way
				strings are in C programming language.
				[40 characters maximum]

	ASC(m)	\ASCII\		Generate ASCII characters. Each character is
				stored with the least significant nibble at
				the lowest address. The character count is
				stored at the lowest address in a m-nibble
				field, after which comes the first character.
				[max 40 characters or the max allowed by m]
				[1 _ m _ 5]

	ASCM(m)	\ASCII\		Generate ASCII characters. Each character is
				stored with the least significant nibble at
				the lowest address. The character count
				decremented by one is stored at the lowest
				address in a m-nibble field, after which
				comes the first character.
				[max 40 characters or max allowed by m]
				[1 _ m _ 5]

	HEX(m)	hhhhhhh		Generate hexadecimal nibbles. The number of
				nibbles is stored at the lowest address,
				followed by the first nibble. [80 nibbles max]

	HEXM(m)	hhhhhhh		Generate hexadecimal nibbles. The number of
				nibbles decremented by one is stored at the
				lowest address, followed by the first nibble.
				[80 nibbles max]

	NIBBIN	bbbbbbb		Generate binary data. The first bits are
				stored at the lowest address, the end is
				padded with zeros so that the last nibble
				will be fully used. [80 bits max]

	NIBGRB	bbbbbbb		Generate binary data for a grob representation.
				The first bits are stored at the lowest
				address, the end is padded with zeros so that
				the last nibble will be fully used. The order
				of bits in each nibble is the reverse of that
				in the binary number. [80 bits max]

	ABASE	expr		Set data allocation counter to expr.

symbol	ALLOC	expr		Assign the value of the allocation counter to
				symbol, then increase the counter by the
				value of expr. If symbol is already defined
				ALLOC generates an error.

symbol	FOR	start end step	Generate assembly lines in loop,
symbol	NEXT			very similar to MACRO keyword.
				$$ - '$' sign
				$< - name
				$0 - line number
				$1 - loop value
				$E - end value
				$S - step value


         - new factors in expressions:

		%bbbbbbb	Binary number.

   Label Generation:

   Special symbols are allocated for position dependant label generation
   as follows:

	--	refers to the previoys	-- label
	-	refers to the previous	-  label
	+	refers to the next	+  label
	++	refers to the next	++ label

   The label generators are useful for example in iterated structures or
   when you don't want to assing a specific name. Overuse is not
   recommended though, it can easily make the source code hard to read.
   Recommended usage:

      - Skipping a small number of instructions

		ST=0	5	Assume A<>C
		?A#C	A
		GOYES	+
		ST=1	5	Flag A = C
	+	GOTO	Blah

      - Simple loops with only the loop branch.

	-	A=A+C	A	Add C[A] to A[A] B[A] times
		B=B-1	A
		GONC	-

      - Iterated data structures

		REL(5)	++	Link to next data slot
		<data slot 1>
	++	REL(5)	++	Link to next data slot
		<data slot 2>
	++	..

