Metropoli BBS
VIEWER: flow.guide MODE: TEXT (LATIN1)
@Database "AmigaFlight Flow Control Instructions"
@$VER: AmigaFlight® Flow Guide 1.2 (17.02.94)
@Author Andrew Duffy & Chris Morris
@(c) 1992-1994, XCNT Productions

@Index "AmigaFlight:Help/Assembly/Assembly.guide/AssemblyIndex"}

@Tab=8

@Node Main "AmigaFlight® Help: Flow Control Instructions"
@Toc "AmigaFlight:Help/Assembly/Assembly.guide/InstructSet"
Flow Control Instructions
=========================

Flow Control operations are accomplished using a series of conditional and
unconditional branch  instructions  and  return instructions, included  in
these instructions are the conditional setting instructions.


	Unconditional jump and branch instructions
	------------------------------------------
	@{"BRA <label>     " LINK "BRA"}  Branch Always
	@{"JMP <ea>        " LINK "JMP"}  Jump

	Conditional branch instructions
	-------------------------------
	@{"BCC <label>     " LINK "BCC"}  Branch if Carry Clear
	@{"BCS <label>     " LINK "BCS"}  Branch if Carry Set
	@{"BEQ <label>     " LINK "BEQ"}  Branch if Equal
	@{"BGE <label>     " LINK "BGE"}  Branch if Greater or Equal
	@{"BGT <label>     " LINK "BGT"}  Branch if Greater
	@{"BHI <label>     " LINK "BHI"}  Branch if High
	@{"BLE <label>     " LINK "BLE"}  Branch if Less or Equal
	@{"BLS <label>     " LINK "BLS"}  Branch if Low or Same
	@{"BLT <label>     " LINK "BLT"}  Branch if Less
	@{"BMI <label>     " LINK "BMI"}  Branch if Minus
	@{"BNE <label>     " LINK "BNE"}  Branch if Not Equal
	@{"BPL <label>     " LINK "BPL"}  Branch if Plus
	@{"BVS <label>     " LINK "BVS"}  Branch if Overflow
	@{"BVC <label>     " LINK "BVC"}  Branch if No Overflow

	Test condition, decrement and branch instructions
	-------------------------------------------------
	@{"DBT <label>     " LINK "DBT"}  No operation (condition always true)
	@{"DBF <label>     " LINK "DBF"}  Decr. and Branch Always unless Count = -1
	@{"DBHI <label>    " LINK "DBHI"}  Decr. and Branch until High or Count = -1
	@{"DBLS <label>    " LINK "DBLS"}  Decr. and Branch until Low or Same or Count = -1
	@{"DBCC <label>    " LINK "DBCC"}  Decr. and Branch until Carry Clear or Count = -1
	@{"DBCS <label>    " LINK "DBCS"}  Decr. and Branch until Carry Set or Count = -1
	@{"DBNE <label>    " LINK "DBNE"}  Decr. and Branch until Not Equal or Count = -1
	@{"DBEQ <label>    " LINK "DBEQ"}  Decr. and Branch until Equal or Count = -1
	@{"DBVC <label>    " LINK "DBVC"}  Decr. and Branch until No Overflow or Count = -1
	@{"DBVS <label>    " LINK "DBVS"}  Decr. and Branch until Overflow or Count = -1
	@{"DBPL <label>    " LINK "DBPL"}  Decr. and Branch until Plus or Count = -1
	@{"DBMI <label>    " LINK "DBMI"}  Decr. and Branch until Minus or Count = -1
	@{"DBGE <label>    " LINK "DBGE"}  Decr. and Branch until Greater or Equal or Count = -1
	@{"DBLT <label>    " LINK "DBLT"}  Decr. and Branch until Less or Count = -1
	@{"DBGT <label>    " LINK "DBGT"}  Decr. and Branch until Greater or Count = -1
	@{"DBLE <label>    " LINK "DBLE"}  Decr. and Branch until Less or Equal or Count = -1
	@{"DBRA <label>    " LINK "DBRA"}  Decr. and Branch Always unless Count = -1

	Conditional setting instructions
	--------------------------------
	@{"SCC <ea>        " LINK "SCC"}  Set if Carry Clear
	@{"SCS <ea>        " LINK "SCS"}  Set if Carry Set
	@{"SEQ <ea>        " LINK "SEQ"}  Set if Equal
	@{"SF <ea>         " LINK "SF"}  Set Never
	@{"SGE <ea>        " LINK "SGE"}  Set if Greater or Equal
	@{"SGT <ea>        " LINK "SGT"}  Set if Greater
	@{"SHI <ea>        " LINK "SHI"}  Set if High
	@{"SLE <ea>        " LINK "SLE"}  Set if Less or Equal
	@{"SLS <ea>        " LINK "SLS"}  Set if Lower or Same
	@{"SLT <ea>        " LINK "SLT"}  Set if Less
	@{"SMI <ea>        " LINK "SMI"}  Set if Minus
	@{"SNE <ea>        " LINK "SNE"}  Set if Not Equal
	@{"SPL <ea>        " LINK "SPL"}  Set if Plus
	@{"ST <ea>         " LINK "ST"}  Set Always
	@{"SVC <ea>        " LINK "SVC"}  Set if No Overflow
	@{"SVS <ea>        " LINK "SVS"}  Set if Overflow

	Subroutine call instructions
	----------------------------
	@{"BSR <label>     " LINK "BSR"}  Branch to Subroutine
	@{"JSR <ea>        " LINK "JSR"}  Jump to Subroutine

	Return instructions
	-------------------
	@{"RTE             " LINK "AmigaFlight:Help/Assembly/SysControl.guide/RTE"}  Return from Exception (Privileged)
	@{"RTR             " LINK "RTR"}  Return and Restore Condition Codes
	@{"RTS             " LINK "RTS"}  Return from Subroutine
@EndNode

@Node BCC "AmigaFlight® Help: Branch if Carry Clear"
BCC	Branch if Carry Clear
=============================

	Continue program execution at  the specified label,  if the 'Carry
	Clear' condition is met. The .S version of this instruction forces
	an  8-bit  displacement  to  be  generated.  This  means  that the
	relative offset of  the  label must be in the range of -128 to 127
	bytes in distance from the current program counter. The .L version
	of this instruction forces an 16-bit displacement to be generated.
	This means  that  the relative offset of  the label must be in the
	range  of -32768 to  32767  bytes  in distance  from  the  current
	program counter. The current  program counter is defined to be the
	current  instruction  location plus two. If the BCC instruction is
	used,  the  assembler  automatically  decides  which  of  the  two
	displacements is most appropriate, and generates that instruction.
	This is sometimes known as automatic branch shortening. 

	Branch if C = 0


Assembler Syntax
----------------
	BCC{.[S/L]}	<label>


Data Size
---------
	Byte, Word


Sataus Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected



Instruction Size and Cycles to Execute
--------------------------------------
	Size...		   Byte		Word
			   #   p	#   p
	Branch Taken	   2  10	4  10
	Branch Not Taken   2   8	4  12

	# = no. of instruction bytes
	p = no. of instruction clock periods
@EndNode

@Node BCS "AmigaFlight® Help: Branch if Carry Set"
BCS	Branch if Carry Set
===========================

	Continue  program  execution at the specified label, if the 'Carry
	Set' condition  is met. The .S version  of this instruction forces
	an 8-bit  displacement  to  be  generated.  This  means  that  the
	relative offset  of the label must be  in the range of -128 to 127
	bytes in distance from the current program counter. The .L version
	of  this instruction  forces  the an  16-bit  displacement  to  be
	generated. This  means  that the relative offset of the label must
	be  in  the  range of -32768 to 32767  bytes  in distance from the
	current program counter. The current program counter is defined to
	be  the  current  instruction  location  plus  two.  If  the   BCS
	instruction is used, the assembler  automatically decides which of
	the  two  displacements is  most  appropriate, and  generates that
	instruction.  This  is  sometimes  known   as   automatic   branch
	shortening. 

	Branch if C = 1


Assembler Syntax
----------------
	BCS{.[S/L]}	<label>


Data Size
---------
	Byte, Word


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected



Instruction Size and Cycles to Execute
--------------------------------------
	Size...		   Byte		Word
			   #   p	#   p
	Branch Taken	   2  10	4  10
	Branch Not Taken   2   8	4  12

	# = no. of instruction bytes
	p = no. of instruction clock periods
@Endnode

@Node BGE "AmigaFlight® Help: Branch if Greater or Equal"
BGE	Branch if Greater or Equal
==================================

	Continue program execution at the specified label, if the 'Greater
	or  Equal' condition  is met. The .S  version  of this instruction
	forces an 8-bit displacement to be generated. This means that  the
	relative offset of the label must be in  the range  of -128 to 127
	bytes in distance from the current program counter. The .L version
	of  this  instruction forces  the an  16-bit  displacement  to  be
	generated. This  means that the relative  offset of the label must
	be  in  the  range of -32768  to 32767 bytes  in distance from the
	current program counter. The current program counter is defined to
	be  the  current  instruction   location  plus  two.  If  the  BGE
	instruction is used, the assembler automatically decides which  of
	the  two  displacements  is  most appropriate, and  generates that
	instruction.  This  is  sometimes  known   as   automatic   branch
	shortening. 

	Branch if N.V+N'.V' = 1

	where . = Boolean AND
	      + = Boolean OR
	      ' = Complement


Assembler Syntax
----------------
	BGE{.[S/L]}	<label>


Data Size
---------
	Byte, Word


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected



Instruction Size and Cycles to Execute
--------------------------------------
	Size...		   Byte		Word
			   #   p	#   p
	Branch Taken	   2  10	4  10
	Branch Not Taken   2   8	4  12

	# = no. of instruction bytes
	p = no. of instruction clock periods
@EndNode

@Node BGT "AmigaFlight® Help: Branch if Greater"
BGT	Branch if Greater
=========================

	Continue program execution at the specified label, if the 'Greater
	than' condition  is met. The .S version of this instruction forces
	an  8-bit  displacement  to  be  generated.  This  means  that the
	relative offset of the label must be in  the range  of -128 to 127
	bytes in distance from the current program counter. The .L version
	of this instruction forces an 16-bit displacement to be generated.
	This means  that  the relative offset of  the label must be in the
	range  of  -32768  to  32767  bytes in distance  from  the current
	program counter. The current program counter is defined to be  the
	current  instruction location  plus two. If the BGT instruction is
	used,  the  assembler  automatically  decides  which  of  the  two
	displacements is most appropriate, and generates that instruction.
	This is sometimes known as automatic branch shortening. 

	Branch if N.V.Z'+N'.V'.Z' = 1

	where . = Boolean AND
	      + = Boolean OR
	      ' = Complement


Assembler Syntax
----------------
	BGT{.[S/L]}	<label>


Data Size
---------
	Byte, Word


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected


Instruction Size and Cycles to Execute
--------------------------------------
	Size...		   Byte		Word
			   #   p	#   p
	Branch Taken	   2  10	4  10
	Branch Not Taken   2   8	4  12

	# = no. of instruction bytes
	p = no. of instruction clock periods
@EndNode

@Node BHI "AmigaFlight® Help: Branch if High"
BHI	Branch if High
======================

	Continue program execution at the  specified label,  if the 'High'
	condition  is  met. The .S version of  this  instruction forces an
	8-bit displacement to be generated. This means  that  the relative
	offset of the label must be  in the range  of -128 to 127 bytes in
	distance  from the current program counter. The .L version of this
	instruction  forces an  16-bit  displacement to be generated. This
	means that the  relative  offset of the label must be in the range
	of -32768 to 32767  bytes in  distance  from  the  current program
	counter. The current  program counter is defined to be the current
	instruction location plus two. If the BHI instruction is used, the
	assembler automatically decides which of the  two displacements is
	most   appropriate,  and   generates  that  instruction.  This  is
	sometimes known as automatic branch shortening. 

	Branch if C'.Z' = 1

	where . = Boolean AND
	      ' = Complement


Assembler Syntax
----------------
	BHI{.[S/L]}	<label>


Data Size
---------
	Byte, Word


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected


Instruction Size and Cycles to Execute
--------------------------------------
	Size...		   Byte		Word
			   #   p	#   p
	Branch Taken	   2  10	4  10
	Branch Not Taken   2   8	4  12

	# = no. of instruction bytes
	p = no. of instruction clock periods
@EndNode

@Node BLE "AmigaFlight® Help: Branch if Less or Equal"
BLE	Branch if Less or Equal
===============================

	Continue  program  execution  at the specified label, if the 'Less
	or  Equal'  condition  is met. The .S version of  this instruction
	forces an 8-bit  displacement to be generated. This means that the
	relative offset of the label must be  in the range  of -128 to 127
	bytes  in  distance  from   the  current  program  counter. The .L
	version  of  this instruction forces  an 16-bit displacement to be
	generated. This  means  that the relative offset of the label must
	be  in  the  range  of -32768  to 32767 bytes in distance from the
	current program counter. The current program counter is defined to
	be  the  current   instruction  location  plus  two.  If  the  BLE
	instruction is used, the  assembler automatically decides which of
	the  two  displacements  is  most  appropriate, and generates that
	instruction.   This   is  sometimes   known  as  automatic  branch
	shortening. 

	Branch if Z+N.V'+N'.V = 1

	where . = Boolean AND
	      + = Boolean OR
	      ' = Complement


Assembler Syntax
----------------
	BLE{.[S/L]}	<label>


Data Size
---------
	Byte, Word


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected


Instruction Size and Cycles to Execute
--------------------------------------
	Size...		   Byte		Word
			   #   p	#   p
	Branch Taken	   2  10	4  10
	Branch Not Taken   2   8	4  12

	# = no. of instruction bytes
	p = no. of instruction clock periods
@EndNode

@Node BLS "AmigaFlight® Help: Branch if Low or Same"
BLS	Branch if Low or Same
=============================

	Continue program execution at  the specified label, if the 'Low or
	Same'  condition is met. The .S version of this instruction forces
	an  8-bit  displacement  to  be  generated.  This  means  that the
	relative offset of the label must  be in the range  of -128 to 127
	bytes in distance from the current program counter. The .L version
	of this instruction forces an 16-bit displacement to be generated.
	This means  that  the relative offset of the  label must be in the
	range  of  -32768  to  32767 bytes  in  distance  from the current
	program counter. The current program counter is defined to be  the
	current  instruction location plus two. If the BLS  instruction is
	used,  the  assembler  automatically  decides  which  of  the  two 
	displacements is most appropriate, and generates that instruction.
	This is sometimes known as automatic branch shortening. 

	Branch if C + Z = 1

	where + = Boolean OR


Assembler Syntax
----------------
	BLS{.[S/L]}	<label>


Data Size
---------
	Byte, Word


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected


Instruction Size and Cycles to Execute
--------------------------------------
	Size...		   Byte		Word
			   #   p	#   p
	Branch Taken	   2  10	4  10
	Branch Not Taken   2   8	4  12

	# = no. of instruction bytes
	p = no. of instruction clock periods
@EndNode

@Node BLT "AmigaFlight® Help: Branch if Less"
BLT	Branch if Less
======================

	Continue program execution at  the specified label,  if the 'Less'
	condition  is  met. The .S  version of  this instruction forces an
	8-bit  displacement to be generated. This  means that the relative
	offset of  the label  must be in the range of -128 to 127 bytes in
	distance from the  current program counter. The .L version of this
	instruction  forces  an 16-bit displacement to be  generated. This
	means  that the  relative offset of the label must be in the range
	of  -32768 to 32767  bytes in  distance  from the  current program
	counter. The current program counter  is defined to be the current
	instruction location plus two. If the BLT instruction is used, the
	assembler automatically decides which  of the two displacements is
	most   appropriate,  and   generates  that  instruction.  This  is
	sometimes known as automatic branch shortening.

	Branch if N.V'+N'.V = 1

	where . = Boolean AND
	      + = Boolean OR
	      ' = Complement


Assembler Syntax
----------------
	BLT{.[S/L]}	<label>


Data Size
---------
	Byte, Word


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected


Instruction Size and Cycles to Execute
--------------------------------------
	Size...		   Byte		Word
			   #   p	#   p
	Branch Taken	   2  10	4  10
	Branch Not Taken   2   8	4  12

	# = no. of instruction bytes
	p = no. of instruction clock periods
@EndNode

@Node BMI "AmigaFlight® Help: Branch if Minus"
BMI	Branch if Minus
=======================

	Continue program execution at  the specified label, if the 'Minus'
	condition  is  met. The .S  version of  this instruction forces an
	8-bit  displacement to be generated. This means  that the relative
	offset of the label must be  in the range  of -128 to 127 bytes in
	distance from the current program counter. The .L version  of this
	instruction  forces  an 16-bit  displacement to be generated. This
	means  that the relative offset of the  label must be in the range
	of -32768 to 32767  bytes in   distance  from the  current program
	counter. The current program counter is defined to be the  current
	instruction location plus two. If the BMI instruction is used, the
	assembler automatically decides which  of  the  two  displacements
	is  most  appropriate,  and  generates that  instruction. This  is
	sometimes known as automatic branch shortening.

	Branch if N = 1


Assembler Syntax
----------------
	BMI{.[S/L]}	<label>


Data Size
---------
	Byte, Word


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected


Instruction Size and Cycles to Execute
--------------------------------------
	Size...		   Byte		Word
			   #   p	#   p
	Branch Taken	   2  10	4  10
	Branch Not Taken   2   8	4  12

	# = no. of instruction bytes
	p = no. of instruction clock periods
@EndNode

@Node BNE "AmigaFlight® Help: Branch if Not Equal"
BNE	Branch if Not Equal
===========================

	Continue  program  execution  at the  specified label, if the 'Not
	Equal' condition  is  met.  The .S  version  of  this  instruction
	forces an  8-bit displacement to be generated. This means that the
	relative offset of the  label must be in the range  of -128 to 127
	bytes in distance from the current program counter. The .L version
	of this instruction forces an 16-bit displacement to be generated.
	This  means  that the  relative offset of the label must be in the
	range  of  -32768  to  32767  bytes  in  distance from the current
	program counter. The current program counter  is defined to be the
	current  instruction location  plus two. If the BNE instruction is
	used,  the  assembler  automatically  decides  which  of  the  two
	displacements is most appropriate, and generates that instruction.
	This is sometimes known as automatic branch shortening.

	Branch if Z = 0


Assembler Syntax
----------------
	BNE{.[S/L]}	<label>


Data Size
---------
	Byte, Word


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected


Instruction Size and Cycles to Execute
--------------------------------------
	Size...		   Byte		Word
			   #   p	#   p
	Branch Taken	   2  10	4  10
	Branch Not Taken   2   8	4  12

	# = no. of instruction bytes
	p = no. of instruction clock periods
@EndNode

@Node BEQ "AmigaFlight® Help: Branch if Equal"
BEQ	Branch if Equal
=======================

	Continue program execution at  the specified label, if the 'Equal'
	condition  is  met. The .S  version of this instruction  forces an
	8-bit displacement to be generated. This  means  that the relative
	offset of the label must be  in the range  of -128 to 127 bytes in
	distance from the  current program counter. The .L version of this
	instruction  forces  an 16-bit  displacement to be generated. This
	means that the  relative offset of  the label must be in the range
	of -32768 to 32767 bytes in   distance  from the  current  program
	counter. The current program counter is defined to be the  current
	instruction location plus two. If the BEQ instruction is used, the
	assembler automatically decides  which  of  the  two displacements
	is  most  appropriate,  and  generates that  instruction. This  is
	sometimes known as automatic branch shortening.

	Branch if Z = 1


Assembler Syntax
----------------
	BEQ{.[S/L]}	<label>


Data Size
---------
	Byte, Word


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected


Instruction Size and Cycles to Execute
--------------------------------------
	Size...		   Byte		Word
			   #   p	#   p
	Branch Taken	   2  10	4  10
	Branch Not Taken   2   8	4  12

	# = no. of instruction bytes
	p = no. of instruction clock periods
@EndNode

@Node BPL "AmigaFlight® Help: Branch if Plus"
BPL	Branch if Plus
======================

	Continue program execution at  the  specified label, if the 'Plus'
	condition  is met. The .S  version of  this  instruction forces an
	8-bit  displacement to be generated. This means that  the relative
	offset of the label must be in the range of -128  to 127 bytes  in
	distance from the current program counter. The .L version  of this
	instruction  forces  an 16-bit  displacement to be generated. This
	means that the  relative offset of the label must be  in the range
	of -32768 to 32767 bytes  in  distance  from  the  current program
	counter. The current program counter is defined to be the  current
	instruction location plus two. If the BPL instruction is used, the
	assembler automatically decides which  of  the  two  displacements
	is  most  appropriate,  and  generates  that  instruction. This is
	sometimes known as automatic branch shortening.

	Branch if N = 0


Assembler Syntax
----------------
	BPL{.[S/L]}	<label>


Data Size
---------
	Byte, Word


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected


Instruction Size and Cycles to Execute
--------------------------------------
	Size...		   Byte		Word
			   #   p	#   p
	Branch Taken	   2  10	4  10
	Branch Not Taken   2   8	4  12

	# = no. of instruction bytes
	p = no. of instruction clock periods
@EndNode

@Node BVS "AmigaFlight® Help: Branch if Overflow"
BVS	Branch if Overflow
==========================

	Continue  program  execution  at  the   specified  label,  if  the
	'Overflow'  condition  is met. The .S version of this  instruction
	forces an 8-bit  displacement to be generated. This means that the
	relative offset of the  label must be  in the range of -128 to 127
	bytes in distance from the current program counter. The .L version
	of this instruction forces an 16-bit displacement to be generated.
	This  means that the  relative offset of  the label must be in the
	range  of -32768 to 32767  bytes  in  distance  from  the  current
	program counter. The current  program counter is defined to be the
	current  instruction  location plus two. If the BVS instruction is
	used,  the  assembler  automatically  decides  which  of  the  two
	displacements is most appropriate, and generates that instruction.
	This is sometimes known as automatic branch shortening.

	Branch if V = 1


Assembler Syntax
----------------
	BVS{.[S/L]}	<label>


Data Size
---------
	Byte, Word


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected


Instruction Size and Cycles to Execute
--------------------------------------
	Size...		   Byte		Word
			   #   p	#   p
	Branch Taken	   2  10	4  10
	Branch Not Taken   2   8	4  12

	# = no. of instruction bytes
	p = no. of instruction clock periods
@EndNode

@Node BVC "AmigaFlight® Help: Branch if No Overflow"
BVC	Branch if No Overflow
=============================

	Continue program execution at  the  specified  label, if  the  'No
	Overflow' condition  is  met. The .S  version of  this instruction
	forces an 8-bit displacement to be generated. This means  that the
	relative offset of the label must be  in the range  of -128 to 127
	bytes in distance from the current program counter. The .L version
	of this instruction forces an 16-bit displacement to be generated.
	This means  that  the relative offset of  the label must be in the
	range  of -32768 to 32767  bytes  in  distance  from  the  current
	program counter. The current program counter is defined to be  the
	current instruction location plus two. If  the BVC  instruction is
	used,  the  assembler  automatically  decides  which  of  the  two
	displacements is most appropriate, and generates that instruction.
	This is sometimes known as automatic branch shortening. 

	Branch if V = 0


Assembler Syntax
----------------
	BVC{.[S/L]}	<label>


Data Size
---------
	Byte, Word


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected


Instruction Size and Cycles to Execute
--------------------------------------
	Size...		   Byte		Word
			   #   p	#   p
	Branch Taken	   2  10	4  10
	Branch Not Taken   2   8	4  12

	# = no. of instruction bytes
	p = no. of instruction clock periods
@EndNode

@Node BRA "AmigaFlight® Help: Branch Always"
BRA	Branch Always
=====================

	Continue program execution at the specified label. The .S  version
	of this instruction  forces an 8-bit displacement to be generated.
	This means  that  the relative offset of  the label must be in the
	range of -128 to 127 bytes  in distance from the  current  program
	counter.  The .L  version  of this  instruction  forces  an 16-bit
	displacement to be generated. This means that  the relative offset
	of  the  label  must  be in the range  of -32768 to 32767 bytes in
	distance  from  the current  program  counter. The current program
	counter is  defined to  be the  current  instruction location plus
	two. If the BRA instruction is used, the assembler   automatically
	decides which  of  the two displacements is most appropriate,  and
	generates  that instruction. This  is sometimes known as automatic
	branch shortening.


Assembler Syntax
----------------
	BRA{.[S/L]}	<label>


Data Size
---------
	Byte, Word


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected


Instruction Size and Cycles to Execute
--------------------------------------
	Size...		Byte		Word
			#   p		#   p
			2  10   	4  10

	# = no. of instruction bytes
	p = no. of instruction clock periods
@EndNode

@Node BSR "AmigaFlight® Help: Branch to Subroutine"
BSR	Branch to Subroutine
============================

	The  long word  address of  the instruction  immediately following
	this instruction  is  pushed on the  stack, and  program execution
	continues  at  the  specified  label.  The  .S  version  of   this
	instruction  forces an 8-bit  displacement to be  generated.  This
	means that the relative offset of the label must be  in  the range
	of -128 to 127 bytes in distance from the current program counter.
	The .L version of  this instruction forces an 16-bit  displacement
	to be generated. This means that  the relative offset of the label
	must be in the range of -32768 to 32767 bytes in distance from the
	current program counter. The current program counter is defined to
	be  the  current  instruction   location  plus  two.  If  the  BSR
	instruction is used, the assembler automatically decides which  of
	the  two displacements  is  most appropriate, and  generates  that
	instruction.  This  is  sometimes  known   as   automatic   branch
	shortening. 


Assembler Syntax
----------------
	BSR{.[S/L]}	<label>


Data Size
---------
	Byte, Word


Status Flags
------------	
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected


Instruction Size and Cycles to Execute
--------------------------------------
	Size		Byte		Word
			#   p		#   p
			2  18		4  18

	# = no. of instruction bytes
	p = no. of instruction clock periods
@EndNode

@Node DBT "AmigaFlight® Help: No operation (condition always true)"
DBT	No operation (condition always true)
============================================

	If  the  specified condition is false,  decrement  the destination
	data register, and then compare the destination  register with -1.
	If the data  register doesn't equal -1, continue processing at the
	specified label. If either of the  conditions fail, then  continue
	instruction execution with  the next instruction. This instruction
	uses a 16-bit displacement as a  label offset. This means that the
	relative offset of the label  must be  in  the  range of -32768 to
	32767 bytes in distance from the current program counter.
	This instruction provides a primitive looping construct similar to
	the REPEAT UNTIL looping  construct of Pascal/ADA/Basic/C etc. The
	DBcc  instruction may be thought  of as a REPEAT loop UNTIL either
	the  condition  becomes  true,  or the loop  counter goes below 0.
	This, of  course, is  assuming that  the destination data register
	was  initially set to a positive value. (This instruction uses the
	bottom  16  bits  of  the  destination  data  register  for a loop
	counter, 0 to 65535.)


Assembler Syntax
----------------
	DBT	Dn,<label>


Data Size
---------
	Word


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected


Instruction Size and Cycles to Execute
--------------------------------------
	Condition	Counter		Branch		#   p
	true		na		No		4  12

	# = no. of instruction bytes
	p = no. of instruction clock periods
@EndNode

@Node DBF "AmigaFlight® Help: Decrement and Branch Always unless Count = -1"
DBF	Decrement and Branch Always unless Count = -1
=====================================================

	If  the  specified condition is false,  decrement  the destination
	data register, and then compare the destination  register with -1.
	If the data  register doesn't equal -1, continue processing at the
	specified label. If either of the  conditions fail, then  continue
	instruction execution with  the next instruction. This instruction
	uses a 16-bit displacement as a  label offset. This means that the
	relative offset of the label  must be  in  the  range of -32768 to
	32767 bytes in distance from the current program counter.
	This instruction provides a primitive looping construct similar to
	the REPEAT UNTIL looping  construct of Pascal/ADA/Basic/C etc. The
	DBcc  instruction may be thought  of as a REPEAT loop UNTIL either
	the  condition  becomes  true,  or the loop  counter goes below 0.
	This, of  course, is  assuming that  the destination data register
	was  initially set to a positive value. (This instruction uses the
	bottom  16  bits  of  the  destination  data  register  for a loop
	counter, 0 to 65535.)

	Decrement data register Dn (low order word) and Branch if result
	not -1


Assembler Syntax
----------------
	DBF	Dn,<label>


Data Size
---------
	Word


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected


Instruction Size and Cycles to Execute
--------------------------------------
	Condition	Counter		Branch		#   p
	false		<>-1		Yes		4  10
	false		= -1		No		4  14

	# = no. of instruction bytes
	p = no. of instruction clock periods
@EndNode

@Node DBHI "AmigaFlight® Help: Decrement and Branch until High or Count = -1"
DBHI	Decrement and Branch until High or Count = -1
=====================================================

	If  the  specified condition is false,  decrement  the destination
	data register, and then compare the destination  register with -1.
	If the data  register doesn't equal -1, continue processing at the
	specified label. If either of the  conditions fail, then  continue
	instruction execution with  the next instruction. This instruction
	uses a 16-bit displacement as a  label offset. This means that the
	relative offset of the label  must be  in  the  range of -32768 to
	32767 bytes in distance from the current program counter.
	This instruction provides a primitive looping construct similar to
	the REPEAT UNTIL looping  construct of Pascal/ADA/Basic/C etc. The
	DBcc  instruction may be thought  of as a REPEAT loop UNTIL either
	the  condition  becomes  true,  or the loop  counter goes below 0.
	This, of  course, is  assuming that  the destination data register
	was  initially set to a positive value. (This instruction uses the
	bottom  16  bits  of  the  destination  data  register  for a loop
	counter, 0 to 65535.)

	If C'.Z' = 0 then Decrement data register Dn (low order word) and
	Branch if result not -1

	where . = Boolean AND
	      ' = Complement


Assembler Syntax
----------------
	DBHI	Dn,<label>


Data Size
---------
	Word


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected


Instruction Size and Cycles to Execute
--------------------------------------
	Condition	Counter		Branch		#   p
	false		<>-1		Yes		4  10
	true		na		No		4  12
	false		= -1		No		4  14

	# = no. of instruction bytes
	p = no. of instruction clock periods
@EndNode

@Node DBLS "AmigaFlight® Help: Decrement and Branch until Low or Same or Count = -1"
DBLS	Decrement and Branch until Low or Same or Count = -1
============================================================

	If  the  specified condition is false,  decrement  the destination
	data register, and then compare the destination  register with -1.
	If the data  register doesn't equal -1, continue processing at the
	specified label. If either of the  conditions fail, then  continue
	instruction execution with  the next instruction. This instruction
	uses a 16-bit displacement as a  label offset. This means that the
	relative offset of the label  must be  in  the  range of -32768 to
	32767 bytes in distance from the current program counter.
	This instruction provides a primitive looping construct similar to
	the REPEAT UNTIL looping  construct of Pascal/ADA/Basic/C etc. The
	DBcc  instruction may be thought  of as a REPEAT loop UNTIL either
	the  condition  becomes  true,  or the loop  counter goes below 0.
	This, of  course, is  assuming that  the destination data register
	was  initially set to a positive value. (This instruction uses the
	bottom  16  bits  of  the  destination  data  register  for a loop
	counter, 0 to 65535.)

	If C+Z = 0 then Decrement data register Dn (low order word) and
	Branch if result not -1

	where + = Boolean OR
      

Assembler Syntax
----------------
	DBLS	Dn,<label>


Data Size
---------
	Word


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected


Instruction Size and Cycles to Execute
--------------------------------------
	Condition	Counter		Branch		#   p
	false		<>-1		Yes		4  10
	true		na		No		4  12
	false		= -1		No		4  14

	# = no. of instruction bytes
	p = no. of instruction clock periods
@EndNode

@Node DBCC "AmigaFlight® Help: Decrement and Branch until Carry Clear or Count = -1"
DBCC	Decrement and Branch until Carry Clear or Count = -1
============================================================

	If  the  specified condition is false,  decrement  the destination
	data register, and then compare the destination  register with -1.
	If the data  register doesn't equal -1, continue processing at the
	specified label. If either of the  conditions fail, then  continue
	instruction execution with  the next instruction. This instruction
	uses a 16-bit displacement as a  label offset. This means that the
	relative offset of the label  must be  in  the  range of -32768 to
	32767 bytes in distance from the current program counter.
	This instruction provides a primitive looping construct similar to
	the REPEAT UNTIL looping  construct of Pascal/ADA/Basic/C etc. The
	DBcc  instruction may be thought  of as a REPEAT loop UNTIL either
	the  condition  becomes  true,  or the loop  counter goes below 0.
	This, of  course, is  assuming that  the destination data register
	was  initially set to a positive value. (This instruction uses the
	bottom  16  bits  of  the  destination  data  register  for a loop
	counter, 0 to 65535.)

	If C = 1 then Decrement data register Dn (low order word) and
	Branch if result not -1


Assembler Syntax
----------------
	DBCC	Dn,<label>


Data Size
---------
	Word


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected


Instruction Size and Cycles to Execute
--------------------------------------
	Condition	Counter		Branch		#   p
	false		<>-1		Yes		4  10
	true		na		No		4  12
	false		= -1		No		4  14

	# = no. of instruction bytes
	p = no. of instruction clock periods
@EndNode

@Node DBCS "AmigaFlight® Help: Decrement and Branch until Carry Set or Count = -1"
DBCS	Decrement and Branch until Carry Set or Count = -1
==========================================================

	If  the  specified condition is false,  decrement  the destination
	data register, and then compare the destination  register with -1.
	If the data  register doesn't equal -1, continue processing at the
	specified label. If either of the  conditions fail, then  continue
	instruction execution with  the next instruction. This instruction
	uses a 16-bit displacement as a  label offset. This means that the
	relative offset of the label  must be  in  the  range of -32768 to
	32767 bytes in distance from the current program counter.
	This instruction provides a primitive looping construct similar to
	the REPEAT UNTIL looping  construct of Pascal/ADA/Basic/C etc. The
	DBcc  instruction may be thought  of as a REPEAT loop UNTIL either
	the  condition  becomes  true,  or the loop  counter goes below 0.
	This, of  course, is  assuming that  the destination data register
	was  initially set to a positive value. (This instruction uses the
	bottom  16  bits  of  the  destination  data  register  for a loop
	counter, 0 to 65535.)

	If C = 0 then Decrement data register Dn (low order word) and
	Branch if result not -1


Assembler Syntax
----------------
	DBCS	Dn,<label>


Data Size
---------
	Word


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected


Instruction Size and Cycles to Execute
--------------------------------------
	Condition	Counter		Branch		#   p
	false		<>-1		Yes		4  10
	true		na		No		4  12
	false		= -1		No		4  14

	# = no. of instruction bytes
	p = no. of instruction clock periods
@EndNode

@Node DBNE "AmigaFlight® Help: Decrement and Branch until Not Equal or Count = -1"
DBNE	Decrement and Branch until Not Equal or Count = -1
==========================================================

	If  the  specified condition is false,  decrement  the destination
	data register, and then compare the destination  register with -1.
	If the data  register doesn't equal -1, continue processing at the
	specified label. If either of the  conditions fail, then  continue
	instruction execution with  the next instruction. This instruction
	uses a 16-bit displacement as a  label offset. This means that the
	relative offset of the label  must be  in  the  range of -32768 to
	32767 bytes in distance from the current program counter.
	This instruction provides a primitive looping construct similar to
	the REPEAT UNTIL looping  construct of Pascal/ADA/Basic/C etc. The
	DBcc  instruction may be thought  of as a REPEAT loop UNTIL either
	the  condition  becomes  true,  or the loop  counter goes below 0.
	This, of  course, is  assuming that  the destination data register
	was  initially set to a positive value. (This instruction uses the
	bottom  16  bits  of  the  destination  data  register  for a loop
	counter, 0 to 65535.)

	If Z = 1 then Decrement data register Dn (low order word) and
	Branch if result not -1


Assembler Syntax
----------------
	DBNE	Dn,<label>


Data Size
---------
	Word


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected


Instruction Size and Cycles to Execute
--------------------------------------
	Condition	Counter		Branch		#   p
	false		<>-1		Yes		4  10
	true		na		No		4  12
	false		= -1		No		4  14

	# = no. of instruction bytes
	p = no. of instruction clock periods
@EndNode

@Node DBEQ "AmigaFlight® Help: Decrement and Branch until Equal or Count = -1"
DBEQ	Decrement and Branch until Equal or Count = -1
======================================================

	If  the  specified condition is false,  decrement  the destination
	data register, and then compare the destination  register with -1.
	If the data  register doesn't equal -1, continue processing at the
	specified label. If either of the  conditions fail, then  continue
	instruction execution with  the next instruction. This instruction
	uses a 16-bit displacement as a  label offset. This means that the
	relative offset of the label  must be  in  the  range of -32768 to
	32767 bytes in distance from the current program counter.
	This instruction provides a primitive looping construct similar to
	the REPEAT UNTIL looping  construct of Pascal/ADA/Basic/C etc. The
	DBcc  instruction may be thought  of as a REPEAT loop UNTIL either
	the  condition  becomes  true,  or the loop  counter goes below 0.
	This, of  course, is  assuming that  the destination data register
	was  initially set to a positive value. (This instruction uses the
	bottom  16  bits  of  the  destination  data  register  for a loop
	counter, 0 to 65535.)

	If Z = 0 then Decrement data register Dn (low order word) and
	Branch if result not -1


Assembler Syntax
----------------
	DBEQ	Dn,<label>


Data Size
---------
	Word


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected


Instruction Size and Cycles to Execute
--------------------------------------
	Condition	Counter		Branch		#   p
	false		<>-1		Yes		4  10
	true		na		No		4  12
	false		= -1		No		4  14

	# = no. of instruction bytes
	p = no. of instruction clock periods
@EndNode

@Node DBVC "AmigaFlight® Help: Decrement and Branch until No Overflow or Count = -1"
DBVC	Decrement and Branch until No Overflow or Count = -1
============================================================

	If  the  specified condition is false,  decrement  the destination
	data register, and then compare the destination  register with -1.
	If the data  register doesn't equal -1, continue processing at the
	specified label. If either of the  conditions fail, then  continue
	instruction execution with  the next instruction. This instruction
	uses a 16-bit displacement as a  label offset. This means that the
	relative offset of the label  must be  in  the  range of -32768 to
	32767 bytes in distance from the current program counter.
	This instruction provides a primitive looping construct similar to
	the REPEAT UNTIL looping  construct of Pascal/ADA/Basic/C etc. The
	DBcc  instruction may be thought  of as a REPEAT loop UNTIL either
	the  condition  becomes  true,  or the loop  counter goes below 0.
	This, of  course, is  assuming that  the destination data register
	was  initially set to a positive value. (This instruction uses the
	bottom  16  bits  of  the  destination  data  register  for a loop
	counter, 0 to 65535.)

	If V = 1 then Decrement data register Dn (low order word) and
	Branch if result not -1


Assembler Syntax
----------------
	DBVC	Dn,<label>


Data Size
---------
	Word


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected


Instruction Size and Cycles to Execute
--------------------------------------
	Condition	Counter		Branch		#   p
	false		<>-1		Yes		4  10
	true		na		No		4  12
	false		= -1		No		4  14

	# = no. of instruction bytes
	p = no. of instruction clock periods
@EndNode

@Node DBVS "AmigaFlight® Help: Decrement and Branch until Overflow or Count = -1"
DBVS	Decrement and Branch until Overflow or Count = -1
=========================================================

	If  the  specified condition is false,  decrement  the destination
	data register, and then compare the destination  register with -1.
	If the data  register doesn't equal -1, continue processing at the
	specified label. If either of the  conditions fail, then  continue
	instruction execution with  the next instruction. This instruction
	uses a 16-bit displacement as a  label offset. This means that the
	relative offset of the label  must be  in  the  range of -32768 to
	32767 bytes in distance from the current program counter.
	This instruction provides a primitive looping construct similar to
	the REPEAT UNTIL looping  construct of Pascal/ADA/Basic/C etc. The
	DBcc  instruction may be thought  of as a REPEAT loop UNTIL either
	the  condition  becomes  true,  or the loop  counter goes below 0.
	This, of  course, is  assuming that  the destination data register
	was  initially set to a positive value. (This instruction uses the
	bottom  16  bits  of  the  destination  data  register  for a loop
	counter, 0 to 65535.)

	If V = 0 then Decrement data register Dn (low order word) and
	Branch if result not -1


Assembler Syntax
----------------
	DBVS	Dn,<label>


Data Size
---------
	Word


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected


Instruction Size and Cycles to Execute
--------------------------------------
	Condition	Counter		Branch		#   p
	false		<>-1		Yes		4  10
	true		na		No		4  12
	false		= -1		No		4  14

	# = no. of instruction bytes
	p = no. of instruction clock periods
@EndNode

@Node DBPL "AmigaFlight® Help: Decrement and Branch until Plus or Count = -1"
DBPL	Decrement and Branch until Plus or Count = -1
=====================================================

	If  the  specified condition is false,  decrement  the destination
	data register, and then compare the destination  register with -1.
	If the data  register doesn't equal -1, continue processing at the
	specified label. If either of the  conditions fail, then  continue
	instruction execution with  the next instruction. This instruction
	uses a 16-bit displacement as a  label offset. This means that the
	relative offset of the label  must be  in  the  range of -32768 to
	32767 bytes in distance from the current program counter.
	This instruction provides a primitive looping construct similar to
	the REPEAT UNTIL looping  construct of Pascal/ADA/Basic/C etc. The
	DBcc  instruction may be thought  of as a REPEAT loop UNTIL either
	the  condition  becomes  true,  or the loop  counter goes below 0.
	This, of  course, is  assuming that  the destination data register
	was  initially set to a positive value. (This instruction uses the
	bottom  16  bits  of  the  destination  data  register  for a loop
	counter, 0 to 65535.)

	If N = 1 then Decrement data register Dn (low order word) and
	Branch if result not -1

	where . = Boolean AND
	      + = Boolean OR
	      ' = Complement


Assembler Syntax
----------------
	DBPL	Dn,<label>


Data Size
---------
	Word


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected


Instruction Size and Cycles to Execute
--------------------------------------
	Condition	Counter		Branch		#   p
	false		<>-1		Yes		4  10
	true		na		No		4  12
	false		= -1		No		4  14

	# = no. of instruction bytes
	p = no. of instruction clock periods
@EndNode

@Node DBMI "AmigaFlight® Help: Decrement and Branch until Minus or Count = -1"
DBMI	Decrement and Branch until Minus or Count = -1
======================================================

	If  the  specified condition is false,  decrement  the destination
	data register, and then compare the destination  register with -1.
	If the data  register doesn't equal -1, continue processing at the
	specified label. If either of the  conditions fail, then  continue
	instruction execution with  the next instruction. This instruction
	uses a 16-bit displacement as a  label offset. This means that the
	relative offset of the label  must be  in  the  range of -32768 to
	32767 bytes in distance from the current program counter.
	This instruction provides a primitive looping construct similar to
	the REPEAT UNTIL looping  construct of Pascal/ADA/Basic/C etc. The
	DBcc  instruction may be thought  of as a REPEAT loop UNTIL either
	the  condition  becomes  true,  or the loop  counter goes below 0.
	This, of  course, is  assuming that  the destination data register
	was  initially set to a positive value. (This instruction uses the
	bottom  16  bits  of  the  destination  data  register  for a loop
	counter, 0 to 65535.)

	If N = 0 then Decrement data register Dn (low order word) and
	Branch if result not -1


Assembler Syntax
----------------
	DBMI	Dn,<label>


Data Size
---------
	Word


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected


Instruction Size and Cycles to Execute
--------------------------------------
	Condition	Counter		Branch		#   p
	false		<>-1		Yes		4  10
	true		na		No		4  12
	false		= -1		No		4  14

	# = no. of instruction bytes
	p = no. of instruction clock periods
@Endnode

@Node DBGE "AmigaFlight® Help: Decrement and Branch until Greater or Equal or Count = -1"
DBGE	Decrement and Branch until Greater or Equal or Count = -1
=================================================================

	If  the  specified condition is false,  decrement  the destination
	data register, and then compare the destination  register with -1.
	If the data  register doesn't equal -1, continue processing at the
	specified label. If either of the  conditions fail, then  continue
	instruction execution with  the next instruction. This instruction
	uses a 16-bit displacement as a  label offset. This means that the
	relative offset of the label  must be  in  the  range of -32768 to
	32767 bytes in distance from the current program counter.
	This instruction provides a primitive looping construct similar to
	the REPEAT UNTIL looping  construct of Pascal/ADA/Basic/C etc. The
	DBcc  instruction may be thought  of as a REPEAT loop UNTIL either
	the  condition  becomes  true,  or the loop  counter goes below 0.
	This, of  course, is  assuming that  the destination data register
	was  initially set to a positive value. (This instruction uses the
	bottom  16  bits  of  the  destination  data  register  for a loop
	counter, 0 to 65535.)

	If N.V+N'.V' = 0 then Decrement data register Dn (low order word)
	and Branch if result not -1

	where . = Boolean AND
	      + = Boolean OR
	      ' = Complement


Assembler Syntax
----------------
	DBGE	Dn,<label>


Data Size
---------
	Word


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected


Instruction Size and Cycles to Execute
--------------------------------------
	Condition	Counter		Branch		#   p
	false		<>-1		Yes		4  10
	true		na		No		4  12
	false		= -1		No		4  14


	# = no. of instruction bytes
	p = no. of instruction clock periods
@EndNode

@Node DBLT "AmigaFlight® Help: Decrement and Branch until Less or Count = -1"
DBLT	Decrement and Branch until Less or Count = -1
=====================================================

	If  the  specified condition is false,  decrement  the destination
	data register, and then compare the destination  register with -1.
	If the data  register doesn't equal -1, continue processing at the
	specified label. If either of the  conditions fail, then  continue
	instruction execution with  the next instruction. This instruction
	uses a 16-bit displacement as a  label offset. This means that the
	relative offset of the label  must be  in  the  range of -32768 to
	32767 bytes in distance from the current program counter.
	This instruction provides a primitive looping construct similar to
	the REPEAT UNTIL looping  construct of Pascal/ADA/Basic/C etc. The
	DBcc  instruction may be thought  of as a REPEAT loop UNTIL either
	the  condition  becomes  true,  or the loop  counter goes below 0.
	This, of  course, is  assuming that  the destination data register
	was  initially set to a positive value. (This instruction uses the
	bottom  16  bits  of  the  destination  data  register  for a loop
	counter, 0 to 65535.)

	If N.V'+N'.V = 0 then Decrement data register Dn (low order word)
	and Branch if result not -1

	where . = Boolean AND
	      + = Boolean OR
	      ' = Complement


Assembler Syntax
----------------
	DBLT	Dn,<label>


Data Size
---------
	Word


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected


Instruction Size and Cycles to Execute
--------------------------------------
	Condition	Counter		Branch		#   p
	false		<>-1		Yes		4  10
	true		na		No		4  12
	false		= -1		No		4  14

	# = no. of instruction bytes
	p = no. of instruction clock periods
@EndNode

@Node DBGT "AmigaFlight® Help: Decrement and Branch until Greater or Count = -1"
DBGT	Decrement and Branch until Greater or Count = -1
========================================================

	If  the  specified condition is false,  decrement  the destination
	data register, and then compare the destination  register with -1.
	If the data  register doesn't equal -1, continue processing at the
	specified label. If either of the  conditions fail, then  continue
	instruction execution with  the next instruction. This instruction
	uses a 16-bit displacement as a  label offset. This means that the
	relative offset of the label  must be  in  the  range of -32768 to
	32767 bytes in distance from the current program counter.
	This instruction provides a primitive looping construct similar to
	the REPEAT UNTIL looping  construct of Pascal/ADA/Basic/C etc. The
	DBcc  instruction may be thought  of as a REPEAT loop UNTIL either
	the  condition  becomes  true,  or the loop  counter goes below 0.
	This, of  course, is  assuming that  the destination data register
	was  initially set to a positive value. (This instruction uses the
	bottom  16  bits  of  the  destination  data  register  for a loop
	counter, 0 to 65535.)

	If N.V.Z'+N'.V'.Z' = 0 then Decrement data register Dn (low order
	word) and Branch if result not -1

	where . = Boolean AND
	      + = Boolean OR
	      ' = Complement


Assembler Syntax
----------------
	DBGT	Dn,<label>


Data Size
---------
	Word


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected


Instruction Size and Cycles to Execute
--------------------------------------
	Condition	Counter		Branch		#   p
	false		<>-1		Yes		4  10
	true		na		No		4  12
	false		= -1		No		4  14

	# = no. of instruction bytes
	p = no. of instruction clock periods
@EndNode

@Node DBLE "AmigaFlight® Help: Decrement and Branch until Less or Equal or Count = -1"
DBLE	Decrement and Branch until Less or Equal or Count = -1
==============================================================

	If  the  specified condition is false,  decrement  the destination
	data register, and then compare the destination  register with -1.
	If the data  register doesn't equal -1, continue processing at the
	specified label. If either of the  conditions fail, then  continue
	instruction execution with  the next instruction. This instruction
	uses a 16-bit displacement as a  label offset. This means that the
	relative offset of the label  must be  in  the  range of -32768 to
	32767 bytes in distance from the current program counter.
	This instruction provides a primitive looping construct similar to
	the REPEAT UNTIL looping  construct of Pascal/ADA/Basic/C etc. The
	DBcc  instruction may be thought  of as a REPEAT loop UNTIL either
	the  condition  becomes  true,  or the loop  counter goes below 0.
	This, of  course, is  assuming that  the destination data register
	was  initially set to a positive value. (This instruction uses the
	bottom  16  bits  of  the  destination  data  register  for a loop
	counter, 0 to 65535.)

	If Z+N.V'+N'.V = 0 then Decrement data register Dn (low order
	word) and Branch if result not -1

	where . = Boolean AND
	      + = Boolean OR
	      ' = Complement


Assembler Syntax
----------------
	DBLE	Dn,<label>


Data Size
---------
	Word


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected


Instruction Size and Cycles to Execute
--------------------------------------
	Condition	Counter		Branch		#   p
	false		<>-1		Yes		4  10
	true		na		No		4  12
	false		= -1		No		4  14

	# = no. of instruction bytes
	p = no. of instruction clock periods
@EndNode

@Node DBRA "AmigaFlight® Help: Decrement and Branch Always unless Count = -1"
DBRA	Decrement and Branch Always unless Count = -1 (Same as DBF)
===================================================================

	If  the  specified condition is false,  decrement  the destination
	data register, and then compare the destination  register with -1.
	If the data  register doesn't equal -1, continue processing at the
	specified label. If either of the  conditions fail, then  continue
	instruction execution with  the next instruction. This instruction
	uses a 16-bit displacement as a  label offset. This means that the
	relative offset of the label  must be  in  the  range of -32768 to
	32767 bytes in distance from the current program counter.
	This instruction provides a primitive looping construct similar to
	the REPEAT UNTIL looping  construct of Pascal/ADA/Basic/C etc. The
	DBcc  instruction may be thought  of as a REPEAT loop UNTIL either
	the  condition  becomes  true,  or the loop  counter goes below 0.
	This, of  course, is  assuming that  the destination data register
	was  initially set to a positive value. (This instruction uses the
	bottom  16  bits  of  the  destination  data  register  for a loop
	counter, 0 to 65535.)

	Decrement data register Dn (low order word) and Branch if result
	not -1


Assembler Syntax
----------------
	DBRA	Dn,<label>


Data Size
---------
	Word


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected


Instruction Size and Cycles to Execute
--------------------------------------
	Condition	Counter		Branch		#   p
	false		<>-1		Yes		4  10
	false		= -1		No		4  14

	# = no. of instruction bytes
	p = no. of instruction clock periods
@EndNode

@Node JMP "AmigaFlight® Help: Jump"
JUMP	Jump
============

	Continue program execution at  the new  address  specified  by the
	instruction.

	Destination -> PC


Assembler Syntax
----------------
	JMP	<ea>

	<ea> - control


Addressing Modes
----------------
	Mode				     Source  Destination
	
	Data Register Direct			-	-
	Address Register Direct			-	-
	Address Register Indirect		-	*
	Postincrement Register Indirect		-	-
	Predecrement Register Indirect		-	-
	Register Indirect with Offset		-	*
	Register Indirect with Index		-	*
	Absolute Short				-	*
	Absolute Long				-	*
	P.C. Relative with Offset		-	*
	P.C. Relative with Index		-	*
	Immediate				-	-


Data Size
---------
	Unsized


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected


Instruction Size and Cycles to Execute
--------------------------------------
	<ea>		#	p  
	(An)		2	8 
	d16(An)		4	10
	d8(An,Ri)	4	14
	Abs short	4	10
	Abs long	6	12
	d16(PC)		4	10
	d8(PC,Ri)	4	14

	# = no. of program bytes
	p = no. of instruction clock periods
@EndNode

@Node JSR "AmigaFlight® Help: Jump to Subroutine"
JSR	Jump to Subroutine
==========================

	Push   the  long-word  address  of  the  instruction   immediately
	following the JSR instruction onto the  stack, and  then  continue
	program execution at the new adress specified by the instruction.

	PC -> SP@- : Destination -> PC


Assembler Syntax
----------------
	JSR	<ea>

	<ea> - control


Addressing Modes
----------------
	Mode				     Source  Destination
	
	Data Register Direct			-	-
	Address Register Direct			-	-
	Address Register Indirect		-	*
	Postincrement Register Indirect		-	-
	Predecrement Register Indirect		-	-
	Register Indirect with Offset		-	*
	Register Indirect with Index		-	*
	Absolute Short				-	*
	Absolute Long				-	*
	P.C. Relative with Offset		-	*
	P.C. Relative with Index		-	*
	Immediate				-	-


Data Size
---------
	Unsized


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected


Instruction Size and Cycles to Execute
--------------------------------------
	<ea>		#	 p  
	(An)		2	16 
	d16(An)		4	18
	d8(An,Ri)	4	22
	Abs short	4	18
	Abs long	6	20
	d16(PC)		4	18
	d8(PC,Ri)	4	22

	# = no. of program bytes
	p = no. of instruction clock periods
@EndNode

@Node RTR "AmigaFlight® Help: Return and Restore Condition Codes"
RTR	Return and Restore Condition Codes
==========================================

	Load the condition code and a new  program counter from the stack.
	Proceed with execution at the new program counter address.

	SP@+ -> CC : SP@+ -> PC


Assembler Syntax
----------------
	RTR


Data Size
---------
	Unsized


Status Flags
------------
	Set according to word on stack


Instruction Size and Cycles to Execute
--------------------------------------
			#	p
	Unsized		2	20

	# = no. of program bytes
	p = no. of instruction clock periods
@EndNode

@Node RTS "AmigaFlight® Help: Return from Subroutine"
RTS	Return from Subroutine
==============================

	Load a new program counter from the top of the stack, and  proceed
	with execution at this new address.

	SP@+ -> PC


Assembler Syntax
----------------
	RTS


Data Size
---------
	Unsized


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected


Instruction Size and Cycles to Execute
--------------------------------------
			#	p
	Unsized		2	16

	##= no. of program bytes
	p = no. of instruction clock periods
@EndNode

@Node SCC "AmigaFlight® Help: Set if Carry Clear"
SCC	Set if Carry Clear
==========================

	Set  the specified  byte  address to  0xFF  if  the 'Carry  Clear'
	condition is met, or to 0x00 if the condition is not met.

	If C = 0 then 1's -> destn else 0's -> destn


Assembler Syntax
----------------
	SCC	<ea>

	<ea> - data alterable


Addressing Modes
----------------
	Mode				     Source  Destination
	
	Data Register Direct			-	*
	Address Register Direct			-	-
	Address Register Indirect		-	*
	Postincrement Register Indirect		-	*
	Predecrement Register Indirect		-	*
	Register Indirect with Offset		-	*
	Register Indirect with Index		-	*
	Absolute Short				-	*
	Absolute Long				-	*
	P.C. Relative with Offset		-	-
	P.C. Relative with Index		-	-
	Immediate				-	-


Data Size
---------
	Byte


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected


Instruction Size and Cycles to Execute
--------------------------------------
			True		False
	<ea>		#     p		#     p
	Dn		2     6		2     4
	(An)		2    13		2    13
	(An)+		2    13		2    13
	-(An)		2    15		2    15
	d16(An)		4    17		4    17
	d8(An,Ri)	4    19		4    19
	Abs short	4    17		4    17
	Abs long	6    21		6    21

	# = no. of program bytes
	p = no. of instruction clock periods
@EndNode

@Node SCS "AmigaFlight® Help: Set if Carry Set"
SCS	Set if Carry Set
========================

	Set  the  specified  byte  address  to  0xFF  if  the 'Carry  Set'
	condition is met, or to 0x00 if the condition is not met.

	If C = 1 then 1's -> destn else 0's -> destn


Assembler Syntax
----------------
	SCS	<ea>

	<ea> - data alterable


Addressing Modes
----------------
	Mode				     Source  Destination
	
	Data Register Direct			-	*
	Address Register Direct			-	-
	Address Register Indirect		-	*
	Postincrement Register Indirect		-	*
	Predecrement Register Indirect		-	*
	Register Indirect with Offset		-	*
	Register Indirect with Index		-	*
	Absolute Short				-	*
	Absolute Long				-	*
	P.C. Relative with Offset		-	-
	P.C. Relative with Index		-	-
	Immediate				-	-


Data Size
---------
	Byte


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected


Instruction Size and Cycles to Execute
--------------------------------------
			True		 False
	<ea>		#     p		#     p
	Dn		2     6		2     4
	(An)		2    13		2    13
	(An)+		2    13		2    13
	-(An)		2    15		2    15
	d16(An)		4    17		4    17
	d8(An,Ri)	4    19		4    19
	Abs short	4    17		4    17
	Abs long	6    21		6    21

	# = no. of program bytes
	p = no. of instruction clock periods
@Endnode

@Node SEQ "AmigaFlight® Help: Set if Equal"
SEQ	Set if Equal
====================

	Set the specified byte address to 0xFF if the 'Equal' condition is
	met, or to 0x00 if the condition is not met.

	If Z = 1 then 1's -> destn else 0's -> destn


Assembler Syntax
----------------
	SEQ	<ea>

	<ea> - data alterable


Addressing Modes
----------------
	Mode				     Source  Destination
	
	Data Register Direct			-	*
	Address Register Direct			-	-
	Address Register Indirect		-	*
	Postincrement Register Indirect		-	*
	Predecrement Register Indirect		-	*
	Register Indirect with Offset		-	*
	Register Indirect with Index		-	*
	Absolute Short				-	*
	Absolute Long				-	*
	P.C. Relative with Offset		-	-
	P.C. Relative with Index		-	-
	Immediate				-	-


Data Size
---------
	Byte


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected


Instruction Size and Cycles to Execute
--------------------------------------
			True        False
	<ea>		#     p     #     p
	Dn		2     6     2     4
	(An)		2    13     2    13
	(An)+		2    13     2    13
	-(An)		2    15     2    15
	d16(An)		4    17     4    17
	d8(An,Ri)	4    19     4    19
	Abs short	4    17     4    17
	Abs long	6    21     6    21

	# = no. of program bytes
	p = no. of instruction clock periods
@Endnode

@Node SF "AmigaFlight® Help: Set Never"
SF	Set Never
=================

	Set  the  specified  byte  address  to  0xFF  if  the 'Set  Never'
	condition is met, or to 0x00 if the condition is not met.

	0's -> destn always


Assembler Syntax
----------------
	SF	<ea>

	<ea> - data alterable


Addressing Modes
----------------
	Mode				     Source  Destination
	
	Data Register Direct			-	*
	Address Register Direct			-	-
	Address Register Indirect		-	*
	Postincrement Register Indirect		-	*
	Predecrement Register Indirect		-	*
	Register Indirect with Offset		-	*
	Register Indirect with Index		-	*
	Absolute Short				-	*
	Absolute Long				-	*
	P.C. Relative with Offset		-	-
	P.C. Relative with Index		-	-
	Immediate				-	-


Data Size
---------
	Byte


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected


Instruction Size and Cycles to Execute
--------------------------------------
	<ea>		#	p
	Dn		2	4
	(An)		2	13
	(An)+		2	13
	-(An)		2	15
	d16(An)		4	17
	d8(An,Ri)	4	19
	Abs short	4	17
	Abs long	6	21

	# = no. of program bytes
	p = no. of instruction clock periods
@EndNode


@Node SGE "AmigaFlight® Help: Set if Greater or Equal"
SGE	Set if Greater of Equal
===============================

	Set the specified byte address to 0xFF  if  the 'Greater or Equal'
	condition is met, or to 0x00 if the condition is not met.

	If N.V+N'.V' = 1 then 1's -> destn else 0's -> destn
	where . = Boolean AND
	      + = Boolean OR
	      ' = Complement


Assembler Syntax
----------------
	SGE	<ea>

	<ea> - data alterable


Addressing Modes
----------------
	Mode				     Source  Destination
	
	Data Register Direct			-	*
	Address Register Direct			-	-
	Address Register Indirect		-	*
	Postincrement Register Indirect		-	*
	Predecrement Register Indirect		-	*
	Register Indirect with Offset		-	*
	Register Indirect with Index		-	*
	Absolute Short				-	*
	Absolute Long				-	*
	P.C. Relative with Offset		-	-
	P.C. Relative with Index		-	-
	Immediate				-	-


Data Size
---------
	Byte


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected


Instruction Size and Cycles to Execute
--------------------------------------
			True		False
	<ea>		#     p		#     p
	Dn		2     6		2     4
	(An)		2    13		2    13
	(An)+		2    13		2    13
	-(An)		2    15		2    15
	d16(An)		4    17		4    17
	d8(An,Ri)	4    19		4    19
	Abs short	4    17		4    17
	Abs long	6    21		6    21

	# = no. of program bytes
	p = no. of instruction clock periods
@EndNode

@Node SGT "AmigaFlight® Help: Set if Greater"
SGT	Set if Greater
======================

	Set the specified byte  address to 0xFF if the 'Greater' condition
	is met, or to 0x00 if the condition is not met.

	If N.V.Z'+N'.V'.Z' = 1 then 1's -> destn else 0's -> destn
	where . = Boolean AND
	      + = Boolean OR
	      ' = Complement


Assembler Syntax
----------------
	SGT	<ea>

	<ea> - data alterable


Addressing Modes
----------------
	Mode				     Source  Destination
	
	Data Register Direct			-	*
	Address Register Direct			-	-
	Address Register Indirect		-	*
	Postincrement Register Indirect		-	*
	Predecrement Register Indirect		-	*
	Register Indirect with Offset		-	*
	Register Indirect with Index		-	*
	Absolute Short				-	*
	Absolute Long				-	*
	P.C. Relative with Offset		-	-
	P.C. Relative with Index		-	-
	Immediate				-	-


Data Size
---------
	Byte


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected


Instruction Size and Cycles to Execute
--------------------------------------
			True		False
	<ea>		#     p		#     p
	Dn		2     6		2     4
	(An)		2    13		2    13
	(An)+		2    13		2    13
	-(An)		2    15		2    15
	d16(An)		4    17		4    17
	d8(An,Ri)	4    19		4    19
	Abs short	4    17		4    17
	Abs long	6    21		6    21

	# = no. of program bytes
	p = no. of instruction clock periods
@EndNode

@Node SHI "AmigaFlight® Help: Set if High"
SHI	Set if High
===================

	Set the specified byte  address to 0xFF if the 'High' condition is
	met, or to 0x00 if the condition is not met.

	If C'.Z' = 1 then 1's -> destn else 0's -> destn
	where . = Boolean AND
	      ' = Complement


Assembler Syntax
----------------
	SHI	<ea>

	<ea> - data alterable


Addressing Modes
----------------
	Mode				     Source  Destination
	
	Data Register Direct			-	*
	Address Register Direct			-	-
	Address Register Indirect		-	*
	Postincrement Register Indirect		-	*
	Predecrement Register Indirect		-	*
	Register Indirect with Offset		-	*
	Register Indirect with Index		-	*
	Absolute Short				-	*
	Absolute Long				-	*
	P.C. Relative with Offset		-	-
	P.C. Relative with Index		-	-
	Immediate				-	-


Data Size
---------
	Byte


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected


Instruction Size and Cycles to Execute
--------------------------------------
			True		False
	<ea>         #     p     #     p
	Dn           2     6     2     4
	(An)         2    13     2    13
	(An)+        2    13     2    13
	-(An)        2    15     2    15
	d16(An)      4    17     4    17
	d8(An,Ri)    4    19     4    19
	Abs short    4    17     4    17
	Abs long     6    21     6    21

	# = no. of program bytes
	p = no. of instruction clock periods
@EndNode

@Node SLE "AmigaFlight® Help: Set if Less or Equal"
SLE	Set if Less or Equal
============================

	Set the specified byte  address  to  0xFF  if  the 'Less or Equal'
	condition is met, or to 0x00 if the condition is not met.

	If Z+N.V'+N'.V = 1 then 1's -> destn else 0's -> destn
	where . = Boolean AND
	      + = Boolean OR
	      ' = Complement


Assembler Syntax
----------------
	SLE	<ea>

	<ea> - data alterable


Addressing Modes
----------------
	Mode				     Source  Destination
	
	Data Register Direct			-	*
	Address Register Direct			-	-
	Address Register Indirect		-	*
	Postincrement Register Indirect		-	*
	Predecrement Register Indirect		-	*
	Register Indirect with Offset		-	*
	Register Indirect with Index		-	*
	Absolute Short				-	*
	Absolute Long				-	*
	P.C. Relative with Offset		-	-
	P.C. Relative with Index		-	-
	Immediate				-	-


Data Size
---------
	Byte


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected


Instruction Size and Cycles to Execute
--------------------------------------
			True		False
	<ea>		#     p		#     p
	Dn		2     6		2     4
	(An)		2    13		2    13
	(An)+		2    13		2    13
	-(An)		2    15		2    15
	d16(An)		4    17		4    17
	d8(An,Ri)	4    19		4    19
	Abs short	4    17		4    17
	Abs long	6    21		6    21

	# = no. of program bytes
	p = no. of instruction clock periods
@EndNode

@Node SLS "AmigaFlight® Help: Set if Lower or Same"
SLS	Set if Lower or Same
============================

	Set the specified byte  address  to  0xFF  if  the 'Lower or Same'
	condition is met, or to 0x00 if the condition is not met.

	If C+Z = 1 then 1's -> destn else 0's -> destn
	where + = Boolean OR


Assembler Syntax
----------------
	SLS	<ea>

	<ea> - data alterable


Addressing Modes
----------------
	Mode				     Source  Destination
	
	Data Register Direct			-	*
	Address Register Direct			-	-
	Address Register Indirect		-	*
	Postincrement Register Indirect		-	*
	Predecrement Register Indirect		-	*
	Register Indirect with Offset		-	*
	Register Indirect with Index		-	*
	Absolute Short				-	*
	Absolute Long				-	*
	P.C. Relative with Offset		-	-
	P.C. Relative with Index		-	-
	Immediate				-	-


Data Size
---------
	Byte


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected



Instruction Size and Cycles to Execute
--------------------------------------
			True		False
	<ea>		#     p		#     p
	Dn		2     6		2     4
	(An)		2    13		2    13
	(An)+		2    13		2    13
	-(An)		2    15		2    15
	d16(An)		4    17		4    17
	d8(An,Ri)	4    19		4    19
	Abs short	4    17		4    17
	Abs long	6    21		6    21

	# = no. of program bytes
	p = no. of instruction clock periods
@EndNode

@Node SLT "AmigaFlight® Help: Set if Less"
SLT	Set if Less
===================

	Set the specified byte  address to 0xFF if the 'Less' condition is
	met, or to 0x00 if the condition is not met.

	If N.V'+N'.V = 1 then 1's -> destn else 0's -> destn
	where . = Boolean AND
	      + = Boolean OR
	      ' = Complement


Assembler Syntax
----------------
	SLT	<ea>

	<ea> - data alterable


Addressing Modes
----------------
	Mode				     Source  Destination
	
	Data Register Direct			-	*
	Address Register Direct			-	-
	Address Register Indirect		-	*
	Postincrement Register Indirect		-	*
	Predecrement Register Indirect		-	*
	Register Indirect with Offset		-	*
	Register Indirect with Index		-	*
	Absolute Short				-	*
	Absolute Long				-	*
	P.C. Relative with Offset		-	-
	P.C. Relative with Index		-	-
	Immediate				-	-


Data Size
---------
	Byte


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected


Instruction Size and Cycles to Execute
--------------------------------------
			True		False
	<ea>		#     p		#     p
	Dn		2     6		2     4
	(An)		2    13		2    13
	(An)+		2    13		2    13
	-(An)		2    15		2    15
	d16(An)		4    17		4    17
	d8(An,Ri)	4    19		4    19
	Abs short	4    17		4    17
	Abs long	6    21		6    21

	# = no. of program bytes
	p = no. of instruction clock periods
@EndNode

@Node SMI "AmigaFlight® Help: Set if Minus"
SMI	Set if Minus
====================

	Set the specified byte address to 0xFF if the 'Minus' condition is
	met, or to 0x00 if the condition is not met.

	If N = 1 then 1's -> destn else 0's -> destn


Assembler Syntax
----------------
	SMI	<ea>

	<ea> - data alterable


Addressing Modes
----------------
	Mode				     Source  Destination
	
	Data Register Direct			-	*
	Address Register Direct			-	-
	Address Register Indirect		-	*
	Postincrement Register Indirect		-	*
	Predecrement Register Indirect		-	*
	Register Indirect with Offset		-	*
	Register Indirect with Index		-	*
	Absolute Short				-	*
	Absolute Long				-	*
	P.C. Relative with Offset		-	-
	P.C. Relative with Index		-	-
	Immediate				-	-


Data Size
---------
	Byte


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected


Instruction Size and Cycles to Execute
--------------------------------------
			True		False
	<ea>		#     p		#     p
	Dn		2     6		2     4
	(An)		2    13		2    13
	(An)+		2    13		2    13
	-(An)		2    15		2    15
	d16(An)		4    17		4    17
	d8(An,Ri)	4    19		4    19
	Abs short	4    17		4    17
	Abs long	6    21		6    21

	# = no. of program bytes
	p = no. of instruction clock periods
@EndNode

@Node SNE "AmigaFlight® Help: Set if Not Equal"
SNE	Set if Not Equal
========================

	Set  the  specified  byte  address  to  0xFF  if  the 'Not  Equal'
	condition is met, or to 0x00 if the condition is not met.

	If Z = 0 then 1's -> destn else 0's -> destn


Assembler Syntax
----------------
	SNE	<ea>

	<ea> - data alterable


Addressing Modes
----------------
	Mode				     Source  Destination
	
	Data Register Direct			-	*
	Address Register Direct			-	-
	Address Register Indirect		-	*
	Postincrement Register Indirect		-	*
	Predecrement Register Indirect		-	*
	Register Indirect with Offset		-	*
	Register Indirect with Index		-	*
	Absolute Short				-	*
	Absolute Long				-	*
	P.C. Relative with Offset		-	-
	P.C. Relative with Index		-	-
	Immediate				-	-


Data Size
---------
	Byte


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected


Instruction Size and Cycles to Execute
--------------------------------------
			True		False
	<ea>		#     p		#     p
	Dn		2     6		2     4
	(An)		2    13		2    13
	(An)+		2    13		2    13
	-(An)		2    15		2    15
	d16(An)		4    17		4    17
	d8(An,Ri)	4    19		4    19
	Abs short	4    17		4    17
	Abs long	6    21		6    21

	# = no. of program bytes
	p = no. of instruction clock periods
@EndNode

@Node SPL "AmigaFlight® Help: Set if Plus"
SPL	Set if Plus
===================

	Set the specified byte  address to 0xFF if the 'Plus' condition is
	met, or to 0x00 if the condition is not met.

	If N = 0 then 1's -> destn else 0's -> destn


Assembler Syntax
----------------
	SPL	<ea>

	<ea> - data alterable


Addressing Modes
----------------
	Mode				     Source  Destination
	
	Data Register Direct			-	*
	Address Register Direct			-	-
	Address Register Indirect		-	*
	Postincrement Register Indirect		-	*
	Predecrement Register Indirect		-	*
	Register Indirect with Offset		-	*
	Register Indirect with Index		-	*
	Absolute Short				-	*
	Absolute Long				-	*
	P.C. Relative with Offset		-	-
	P.C. Relative with Index		-	-
	Immediate				-	-


Data Size
---------
	Byte


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected


Instruction Size and Cycles to Execute
--------------------------------------
			True		False
	<ea>		#     p		#     p
	Dn		2     6		2     4
	(An)		2    13		2    13
	(An)+		2    13		2    13
	-(An)		2    15		2    15
	d16(An)		4    17		4    17
	d8(An,Ri)	4    19		4    19
	Abs short	4    17		4    17
	Abs long	6    21		6    21

	# = no. of program bytes
	p = no. of instruction clock periods
@EndNode

@Node ST "AmigaFlight® Help: Set Always"
ST	Set Always
==================

	Set  the specified byte address  to 0xFF if the 'Always' condition
	is met, or to 0x00 if the condition is not met.

	1's -> destn always


Assembler Syntax
----------------
	ST	<ea>

	<ea> - data alterable


Addressing Modes
----------------
	Mode				     Source  Destination
	
	Data Register Direct			-	*
	Address Register Direct			-	-
	Address Register Indirect		-	*
	Postincrement Register Indirect		-	*
	Predecrement Register Indirect		-	*
	Register Indirect with Offset		-	*
	Register Indirect with Index		-	*
	Absolute Short				-	*
	Absolute Long				-	*
	P.C. Relative with Offset		-	-
	P.C. Relative with Index		-	-
	Immediate				-	-


Data Size
---------
	Byte


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected


Instruction Size and Cycles to Execute
--------------------------------------
	<ea>		#	p
	Dn		2	6
	(An)		2	13
	(An)+		2	13
	-(An)		2	15
	d16(An)		4	17
	d8(An,Ri)	4	19
	Abs short	4	17
	Abs long	6	21

	# = no. of program bytes
	p = no. of instruction clock periods
@EndNode

@Node SVC "AmigaFlight® Help: Set if No Overflow"
SVC	Set if No Overflow
==========================

	Set the specified  byte address  to  0xFF  if  the  'No  Overflow'
	condition is met, or to 0x00 if the condition is not met.

	If V = 0 then 1's -> destn else 0's -> destn


Assembler Syntax
----------------
	SVC	<ea>

	<ea> - data alterable


Addressing Modes
----------------
	Mode				     Source  Destination
	
	Data Register Direct			-	*
	Address Register Direct			-	-
	Address Register Indirect		-	*
	Postincrement Register Indirect		-	*
	Predecrement Register Indirect		-	*
	Register Indirect with Offset		-	*
	Register Indirect with Index		-	*
	Absolute Short				-	*
	Absolute Long				-	*
	P.C. Relative with Offset		-	-
	P.C. Relative with Index		-	-
	Immediate				-	-


Data Size
---------
	Byte


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected


Instruction Size and Cycles to Execute
--------------------------------------
			True		False
	<ea>		#     p		#     p
	Dn		2     6		2     4
	(An)		2    13		2    13
	(An)+		2    13		2    13
	-(An)		2    15		2    15
	d16(An)		4    17		4    17
	d8(An,Ri)	4    19		4    19
	Abs short	4    17		4    17
	Abs long	6    21		6    21

	# = no. of program bytes
	p = no. of instruction clock periods
@EndNode

@Node SVS "AmigaFlight® Help: Set if Overflow"
SVS	Set if Overflow
=======================

	Set the specified byte address to 0xFF if the 'Overflow' condition
	is met, or to 0x00 if the condition is not met.

	If V = 1 then 1's -> destn else 0's -> destn


Assembler Syntax
----------------
	SVS	<ea>

	<ea> - data alterable


Addressing Modes
----------------
	Mode				     Source  Destination
	
	Data Register Direct			-	*
	Address Register Direct			-	-
	Address Register Indirect		-	*
	Postincrement Register Indirect		-	*
	Predecrement Register Indirect		-	*
	Register Indirect with Offset		-	*
	Register Indirect with Index		-	*
	Absolute Short				-	*
	Absolute Long				-	*
	P.C. Relative with Offset		-	-
	P.C. Relative with Index		-	-
	Immediate				-	-


Data Size
---------
	Byte


Status Flags
------------
	N  Not affected
	Z  Not affected
	V  Not affected
	C  Not affected
	X  Not affected


Instruction Size and Cycles to Execute
--------------------------------------
			True		False
	<ea>		#     p		#     p
	Dn		2     6		2     4
	(An)		2    13		2    13
	(An)+		2    13		2    13
	-(An)		2    15		2    15
	d16(An)		4    17		4    17
	d8(An,Ri)	4    19		4    19
	Abs short	4    17		4    17
	Abs long	6    21		6    21

	# = no. of program bytes
	p = no. of instruction clock periods
@EndNode
[ RETURN TO DIRECTORY ]