71 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
.\" $Id$
 | 
						|
.TH 6805_AS 6 "$Revision$"
 | 
						|
.ad
 | 
						|
.SH NAME
 | 
						|
6805_as \- assembler for Motorola 6805
 | 
						|
.SH SYNOPSIS
 | 
						|
~em/lib.bin/6805/as [options] argument ...
 | 
						|
.SH DESCRIPTION
 | 
						|
This assembler is made with the general framework
 | 
						|
described in \fIuni_ass\fP(6). It is an assembler generating relocatable
 | 
						|
object code in \fIack.out\fP(5) format.
 | 
						|
.SH SYNTAX
 | 
						|
.IP registers
 | 
						|
The 6805 has an accumulator register A and an index register X. An
 | 
						|
instruction (from the read-modify-write group) that references the
 | 
						|
A-register has an "a" suffixed to the mnemonic. In a similar way
 | 
						|
the X-register, apart from indexing operations, is addressed with
 | 
						|
an "x" suffix, i.e. "lsra" and "negx".
 | 
						|
.IP "addressing modes"
 | 
						|
The assembler automatically selects the shortest opcode if
 | 
						|
appropriate and possible. Thus "sub 10" will use the direct
 | 
						|
addressing mode whereas "neg 0,x" will use indexed (no offset) mode.
 | 
						|
There are sick constructions where the assembler can't find out
 | 
						|
the shortest form in time. In those cases the longest form is used.
 | 
						|
.br
 | 
						|
Branches are handled in much the same way. If a branch is out of
 | 
						|
range it is replaced by a reversed condition branch, followed by
 | 
						|
a jump, automatically.
 | 
						|
.sp
 | 
						|
.nf
 | 
						|
.ta 8n 16n 24n 32n 40n 48n
 | 
						|
syntax		meaning (name)
 | 
						|
 | 
						|
#expr		a one byte value (immediate)
 | 
						|
<expr		1-byte zero page address. Allowed in  
 | 
						|
		the register/memory and read-modify-
 | 
						|
		write instruction groups. (direct)
 | 
						|
>expr		2-byte address. Allowed in the register
 | 
						|
		memory group. (extended)
 | 
						|
expr		1-byte address if appropriate, 2-byte 
 | 
						|
		in other cases. (auto-direct/extended)
 | 
						|
,x		indexed with zero offset. (indexed)
 | 
						|
<expr,x		indexed with 8 bit offset. (indexed-1)
 | 
						|
>expr,x		indexed with 16 bit offset. (indexed-2)
 | 
						|
expr,x		indexed with the shortest possible off-
 | 
						|
		set. (auto indexed)
 | 
						|
bit,expr	bit number and direct address. 
 | 
						|
		(bit set/clear)
 | 
						|
bit,expr,tag	bit number, direct address and branch 
 | 
						|
		tag. Automatically changed to reversed 
 | 
						|
		condition branch and jump if appropri-
 | 
						|
		ate. (bit test and branch)
 | 
						|
tag		branch tag. Converted to reversed con-
 | 
						|
		dition branch and jump if appropriate. 
 | 
						|
		(branch)
 | 
						|
.fi
 | 
						|
.IP "PSEUDO INSTRUCTIONS"
 | 
						|
 
 | 
						|
 .cmos		assemble cmos version instructions.
 | 
						|
.SH "SEE ALSO"
 | 
						|
uni_ass(6),
 | 
						|
ack(1),
 | 
						|
ack.out(5)
 | 
						|
.br
 | 
						|
M6805 HMOS, M146805 CMOS family, Motorola, 
 | 
						|
Prentice-Hall, Inc., 1983, (ISBN 0-13-541375-3).
 | 
						|
.SH AUTHOR
 | 
						|
Written by Gijs Mos.
 | 
						|
Not a member of the ACK group.
 | 
						|
.SH BUGS
 | 
						|
The assembler has not been well tested. 
 |