Mactab mods--

added by Bill Hollier to try to cope with archaic machines like PDP-8
& CM-202...

in header section

instr	<n>
	- the (minimum) size of an instruction (in bytes)

bind
	- bind the starts of instructions to instruction boundries

addr	<n>
	- the size of a machine address (in bits)

added by Peter Lamb to as an aid to debugging d-files and
interpreting other people's d-files

comments in d-files  -  lines ignored after the first occurence of
	the defined constant COMCHAR.. currently ';'

white space in opcode formats - ' ' and '\t' are ignored in opcode
	formats

mactab listings --

	-h header
	-hheader	use the header given to head the listing
			instead of the 'mac' title or the d-file
			name

	-l		give a listing of the groups of opcodes
			which are legal for groups of arg pictures.
			(If that sounds like double-dutch, have a
			look at a listing)

	-n		give nroff pretties to a -l listing

	-f		for each instruction in all its legal formats
			print a picture of the code generated -

			0 or 1	bits produced by 'o', 'n' or 'v' formats
			a - m   bits generated by args a - m, as is
			A - M   bits generated by args a - m, PC relative
			____	Underlined -- bit-field swapped first half
				underlined, last half plain.


	(-n implies -l, -f implies -l)

mods added by prl to make mactab work for 8086's

'q' format code -- pc relative like 'p', BUT where the pc FOLLOWS the
		bytes as they are fetched!!!  Is there no end to the
		proliferation of addressing modes??

-- mod for general niceness
	Magic number in r-files -- MWORDR in mac.h if you don't like
	my choice. I got sick of mac dumping core and other random
	behavior when it got fed a garbage r-file

-- suggestion(minor)  - allow definition of the m.out magic no. in
the d-file header section.

-- I am at the moment working towards relocatable mac - i got
sick of reassembling my 8086 i/o routines over and over and over........


		Peter Lamb
		Comp. Sci. Dept.
		Melb. Uni.
		14 Sept 1979
label classes:

a new section that binds label names to class names

class
classname	label1,label2,label3
otherclass	label4,label5
%

then a arg pic may appear with a class name in it

	classname,expr		{ 0 0 0 0
	otherclass,expr		{ 0 1 2 3

any label of the given class may appear as an arg in the expression
