





						  Directive Summary



		 B.1  Introduction

		 Directives  give  the	assembler  directions	and
		 information   about   input   and  output,  memory
		 organization, conditional  assembly,  listing	and
		 cross-reference  control,  and	definitions.  There
		 are the following directives:

		 .186	   ELSE				    IFDIF     PROC
		 .286c	   END				    IFE	      PUBLIC
		 .286p	   ENDIF			    IFIDN     .RADIX
		 .287	   ENDP				    IFNB      RECORD
		 .8086	   ENDS				    IFNDEF    .SALL
		 .8087	   EQU				    INCLUDE   SEGMENT
		 =	   EVEN				    LABEL     .SFCOND
		 ASSUME	   EXTRN			    .LALL     STRUC
		 COMMENT   GROUP			    .LFCOND   SUBTTL
		 .CREF	   IF				    .LIST     .TFCOND
		 DB	   IF1				    NAME      TITLE
		 DD	   IF2				    ORG	      .XALL
		 DQ	   IFB				    %OUT      .XCREF
		 DT	   IFDEF			    PAGE      .XLIST
		 DW

		 Any combination of upper and lowercase	letters	can
		 be  used  when	 giving	directive names	in a source
		 file.

		 The following is  a  complete	list  of  directive
		 syntax	and function.

		      .186	Enables	    assembly	 of	186
				instructions.

		      .286c	Enables	assembly of 286	unprotected
				instructions.

		      .286p	Enables	assembly of  286  protected
				instructions.



								B-1



















	      XENIX Macro Assembler Reference Manual



		   .287	     Enables	 assembly     of     287
			     instructions.

		   .8086     Enables	assembly     of	    8086
			     instructions     while    disabling
			     assembly	 of    186    and    286
			     instructions.

		   .8087     Enables	assembly     of	    8087
			     instructions     while    disabling
			     assembly of 287 instructions.

		   name	 =  expression
			     Assigns  the   numeric   value   of
			     expression	to name.

		   ASSUME  seg-reg : seg-name ,,,
			     Selects the given segment	register
			     seg-reg  to  be the default segment
			     register for  all	symbols	 in  the
			     named  segment  or	 group.	 If seg-
			     name is  NOTHING,	no  register  is
			     selected.

		   COMMENT delim  text	delim
			     Treats all	text between  the  given
			     pair   of	delimiters  delim  as  a
			     comment.

		   .CREF     Restores listing of symbols in  the
			     cross-reference listing file.

		   [ name ]  DB	  initial-value	,,,
			     Allocates and initializes a byte (8
			     bits)  of storage for each	initial-
			     value.

		   [ name ]  DW	  initial-value	,,,
			     Allocates and initializes a word (2
			     bytes)  of	 storage  for each given



	      B-2


















						  Directive Summary



				initial-value.

		      [	name ]	DD   initial-value ,,,
				Allocates   and	   initializes	  a
				doubleword (4 bytes) of	storage	for
				each given initial-value.

		      [	name ]	DQ   initial-value ,,,
				Allocates   and	   initializes	  a
				quadword  (8  bytes) of	storage	for
				each given initial-value.

		      [	name ]	DT   initial-value ,,,
				Allocates and initializes 10  bytes
				of  storage for	each given initial-
				value.

		      ELSE	Marks the beginning of an alternate
				block within a conditional block.

		      END [ expression ]
				Marks the end  of  the	module	and
				optionally  sets  the program entry
				point to expression.

		      ENDIF	Terminates a conditional block.

		      name  EQU	 expression
				Assigns	the expression to the given
				name.

		      name    ENDMarks	the  end  of  a	  procedure
				definition.

		      name  ENDSMarks  the  end	 of  a	segment	 or
				structure type definition.

		      EVEN	If   necessary,	  increments	the
				location  counter  to an even value
				and generates one  NOP	instruction



								B-3


















	      XENIX Macro Assembler Reference Manual



			     (90h)

		   EXTRN  name : type ,,,
			     Defines   an   external   variable,
			     label,  or	 symbol	 named	name and
			     whose type	is type.

		   name	 GROUP	seg-name ,,,
			     Associates	a group	name  name  with
			     one or more segments.

		   IF  expresGrants assembly if	 the  expression
			     is	non-zero (true).

		   IF1	     Grants assembly on	pass 1 only.

		   IF2	     Grants assembly on	pass 2 only.

		   IFB < arg  Grants  assembly	if  the	 arg  is
			     blank.

		   IFDEF   namGrants  assembly	if  name  is   a
			     previously	defined	label, variable,
			     or	symbol.

		   IFDIF < arg1	>, <  arg2 >
			     Grants assembly  if  the  arguments
			     are different.

		   IFE	expreGrants assembly if	 the  expression
			     is	0 (false).

		   IFIDN < arg1	>, < arg2 >
			     Grants assembly  if  the  arguments
			     are identical.

		   IFNB	< argGrants assembly if	the arg	 is  not
			     blank.

		   IFNDEF   name



	      B-4


















						  Directive Summary



				Grants assembly	if name	has not	yet
				been defined.

		      INCLUDE  filename
				Inserts	source code from the source
				file  given  by	 filename  into	the
				current	   source    file    during
				assembly.

		      name   LABEL   type
				Creates	a new variable or label	 by
				assigning   the	  current  location
				counter	value and the given type to
				name.

		      .LALL	Lists all statements in	a macro.

		      .LFCOND	Restores the listing of	conditional
				blocks.

		      .LIST	Restores listing of  statements	 in
				the program listing.

		      NAME  module-name
				Sets the name of the current module
				to module-name.

		      ORG  expression
				Sets  the   location   counter	 to
				expression.

		      %OUT   textDisplays  text	  at   the   user's
				terminal.

		      name   PROC   type
				Marks the beginning of a  procedure
				definition.

		      PUBLIC  name ,,,
				Makes  the  variable,	label,	 or



								B-5


















	      XENIX Macro Assembler Reference Manual



			     absolute	symbol	 given	by  name
			     available to all other  modules  in
			     the program.

		   .RADIX  expression
			     Sets the input radix for numbers in
			     the source	file to	expression.

		   recordname  RECORD  fieldname : width [=  exp
			     ] ,,,
			     Defines an	record type for	a 8-  or
			     16-bit  record that contains one or
			     more fields.

		   .SALL     Suppresses	 listing  of  all  macro
			     expansions.

		   name	 SEGMTN	align  combine	' class	'
			     Marks the beginning  of  a	 program
			     segment   named   name  and  having
			     segment attributes	align,	combine,
			     and class.

		   .SFCOND   Suppresses	   listing    of     any
			     subsequent	conditional blocks whose
			     IF	condition is false.

		   name	  STRUMarks  the  beginning  of	 a  type
			     definition	for a structure.

		   PAGE	 length	, width
			     Sets the line length and  character
			     width of the program listing.

		   PAGE	+    Increments	section	page numbering.

		   PAGE	     Generates	a  page	 break	in   the
			     listing.

		   SUBTTL texDefines the listing subtitle.



	      B-6


















						  Directive Summary



		      .TFCOND	Sets the default mode  for  listing
				of conditional blocks.

		      TITLE  texDefines	the program listing title.

		      .XALL	Lists only those  macro	 statements
				that generate code or data.

		      .XCREF  name ,,,
				Suppresses the listing	of  symbols
				in   the   cross-reference  listing
				file.

		      .XLIST	Suppresses  listing  of	 subsequent
				source	 lines	 to   the   program
				listing.


























								B-7























	      Appendix B


	      Directive	Summary
	      __________________________________________________



	      B.1  Introduction	 B-1















































