home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Crawly Crypt Collection 1
/
crawlyvol1.bin
/
program
/
compiler
/
fasbin21
/
fas_src
/
as6811
/
as6811.doc
< prev
next >
Wrap
Text File
|
1990-12-11
|
14KB
|
775 lines
.HM A 1 1 1 1 1 1
.H 1 "Appendix for as6811 Frankenstein Assembler"
.H 2 "Pseudo Operations"
.H 3 "Standard Pseudo Operation Mnemonics"
.VL 40 5 1
.LI "End"
END
.LI "File Inclusion"
INCL
INCLUDE
.LI "If"
IF
.LI "Else"
ELSE
.LI "End If"
ENDI
.LI "Equate"
EQU
.LI "Set"
SET
.LI "Org"
ORG
.LI "Reserve Memory"
RESERVE
RMB
.LI "Define Byte Data"
BYTE
DB
FCB
.LI "Define Word Data"
DW
FDB
WORD
.LI "Define String Data"
FCC
STRING
.LI "Define Character Set Translation"
CHARSET
.LI "Define Character Value"
CHARDEF
CHD
.LI "Use Character Translation"
CHARUSE
.LE
.H 3 "Machine Dependent Pseudo Operations"
.H 4 "Instruction Set Selection"
.DS I N
CPU string
.DE
The instruction set can be specified in the source file with the CPU
pseudooperation.
The string, delimited by quotes or apostrophes, is scanned for a
substring which selects which instruction set is used.
When the program is invoked, this operation is performed on the name of
the program, then the -p optional argument, if any, and then any CPU
statements.
The last one selects which subset of the instructions the assembler will
accept.
The instruction set can be changed at any place in the source file.
.VL 30 5 1
.LI "Instruction Set"
Substrings
.LI "68hc11"
11
.LI "6801"
01
03
.LI "6800"
00
02
08
.LE
.H 2 "Instructions"
.H 3 "Instruction List"
.TS H
;
l l l.
Opcode Syntax Selection Criteria
.sp
.TH
.sp
ABA
.sp
ABX TS6801PLUS
.sp
ABY TS6811
.sp
ADC ACCUM '#' expr REGA
ADC ACCUM '#' expr REGB
ADC ACCUM expr REGA+DIRECT
ADC ACCUM expr REGA+EXTENDED
ADC ACCUM expr REGB+DIRECT
ADC ACCUM expr REGB+EXTENDED
ADC ACCUM indexed REGA+REGX
ADC ACCUM indexed REGA+REGY+TS6811
ADC ACCUM indexed REGB+REGX
ADC ACCUM indexed REGB+REGY+TS6811
.sp
ADCA '#' expr
ADCA expr DIRECT
ADCA expr EXTENDED
ADCA indexed REGX
ADCA indexed REGY+TS6811
.sp
ADCB '#' expr
ADCB expr DIRECT
ADCB expr EXTENDED
ADCB indexed REGX
ADCB indexed REGY+TS6811
.sp
ADD ACCUM '#' expr REGA
ADD ACCUM '#' expr REGB
ADD ACCUM expr REGA+DIRECT
ADD ACCUM expr REGA+EXTENDED
ADD ACCUM expr REGB+DIRECT
ADD ACCUM expr REGB+EXTENDED
ADD ACCUM indexed REGA+REGX
ADD ACCUM indexed REGA+REGY+TS6811
ADD ACCUM indexed REGB+REGX
ADD ACCUM indexed REGB+REGY+TS6811
.sp
ADDA '#' expr
ADDA expr DIRECT
ADDA expr EXTENDED
ADDA indexed REGX
ADDA indexed REGY+TS6811
.sp
ADDB '#' expr
ADDB expr DIRECT
ADDB expr EXTENDED
ADDB indexed REGX
ADDB indexed REGY+TS6811
.sp
ADDD '#' expr 0+TS6801PLUS
ADDD expr DIRECT+TS6801PLUS
ADDD expr EXTENDED+TS6801PLUS
ADDD indexed REGX+TS6801PLUS
ADDD indexed REGY+TS6811
.sp
AND ACCUM '#' expr REGA
AND ACCUM '#' expr REGB
AND ACCUM expr REGA+DIRECT
AND ACCUM expr REGA+EXTENDED
AND ACCUM expr REGB+DIRECT
AND ACCUM expr REGB+EXTENDED
AND ACCUM indexed REGA+REGX
AND ACCUM indexed REGA+REGY+TS6811
AND ACCUM indexed REGB+REGX
AND ACCUM indexed REGB+REGY+TS6811
.sp
ANDA '#' expr
ANDA expr DIRECT
ANDA expr EXTENDED
ANDA indexed REGX
ANDA indexed REGY+TS6811
.sp
ANDB '#' expr
ANDB expr DIRECT
ANDB expr EXTENDED
ANDB indexed REGX
ANDB indexed REGY+TS6811
.sp
ASL ACCUM REGA
ASL ACCUM REGB
ASL expr
ASL indexed REGX
ASL indexed REGY+TS6811
.sp
ASLA
.sp
ASLB
.sp
ASLD TS6801PLUS
.sp
ASR ACCUM REGA
ASR ACCUM REGB
ASR expr
ASR indexed REGX
ASR indexed REGY+TS6811
.sp
ASRA
.sp
ASRB
.sp
BCC expr
.sp
BCLR expr ',' expr TS6811
BCLR indexed ',' expr REGX+TS6811
BCLR indexed ',' expr REGY+TS6811
.sp
BCS expr
.sp
BEQ expr
.sp
BGE expr
.sp
BGT expr
.sp
BHI expr
.sp
BHS expr
.sp
BIT ACCUM '#' expr REGA
BIT ACCUM '#' expr REGB
BIT ACCUM expr REGA+DIRECT
BIT ACCUM expr REGA+EXTENDED
BIT ACCUM expr REGB+DIRECT
BIT ACCUM expr REGB+EXTENDED
BIT ACCUM indexed REGA+REGX
BIT ACCUM indexed REGA+REGY+TS6811
BIT ACCUM indexed REGB+REGX
BIT ACCUM indexed REGB+REGY+TS6811
.sp
BITA '#' expr
BITA expr DIRECT
BITA expr EXTENDED
BITA indexed REGX
BITA indexed REGY+TS6811
.sp
BITB '#' expr
BITB expr DIRECT
BITB expr EXTENDED
BITB indexed REGX
BITB indexed REGY+TS6811
.sp
BLE expr
.sp
BLO expr
.sp
BLS expr
.sp
BLT expr
.sp
BMI expr
.sp
BNE expr
.sp
BPL expr
.sp
BRA expr
.sp
BRCLR expr ',' expr ',' expr TS6811
BRCLR indexed ',' expr ',' expr REGX+TS6811
BRCLR indexed ',' expr ',' expr REGY+TS6811
.sp
BRN expr TS6801PLUS
.sp
BRSET expr ',' expr ',' expr TS6811
BRSET indexed ',' expr ',' expr REGX+TS6811
BRSET indexed ',' expr ',' expr REGY+TS6811
.sp
BSET expr ',' expr TS6811
BSET indexed ',' expr REGX+TS6811
BSET indexed ',' expr REGY+TS6811
.sp
BSR expr
.sp
BVC expr
.sp
BVS expr
.sp
CBA
.sp
CLC
.sp
CLI
.sp
CLR ACCUM REGA
CLR ACCUM REGB
CLR expr
CLR indexed REGX
CLR indexed REGY+TS6811
.sp
CLRA
.sp
CLRB
.sp
CLV
.sp
CMP ACCUM '#' expr REGA
CMP ACCUM '#' expr REGB
CMP ACCUM expr REGA+DIRECT
CMP ACCUM expr REGA+EXTENDED
CMP ACCUM expr REGB+DIRECT
CMP ACCUM expr REGB+EXTENDED
CMP ACCUM indexed REGA+REGX
CMP ACCUM indexed REGA+REGY+TS6811
CMP ACCUM indexed REGB+REGX
CMP ACCUM indexed REGB+REGY+TS6811
.sp
CMPA '#' expr
CMPA expr DIRECT
CMPA expr EXTENDED
CMPA indexed REGX
CMPA indexed REGY+TS6811
.sp
CMPB '#' expr
CMPB expr DIRECT
CMPB expr EXTENDED
CMPB indexed REGX
CMPB indexed REGY+TS6811
.sp
COM ACCUM REGA
COM ACCUM REGB
COM expr
COM indexed REGX
COM indexed REGY+TS6811
.sp
COMA
.sp
COMB
.sp
CPD '#' expr TS6811
CPD expr DIRECT+TS6811
CPD expr EXTENDED+TS6811
CPD indexed REGX+TS6811
CPD indexed REGY+TS6811
.sp
CPX '#' expr
CPX expr DIRECT
CPX expr EXTENDED
CPX indexed REGX
CPX indexed REGY+TS6811
.sp
CPY '#' expr TS6811
CPY expr DIRECT+TS6811
CPY expr EXTENDED+TS6811
CPY indexed REGX+TS6811
CPY indexed REGY+TS6811
.sp
DAA
.sp
DEC ACCUM REGA
DEC ACCUM REGB
DEC expr
DEC indexed REGX
DEC indexed REGY+TS6811
.sp
DECA
.sp
DECB
.sp
DES
.sp
DEX
.sp
DEY TS6811
.sp
EOR ACCUM '#' expr REGA
EOR ACCUM '#' expr REGB
EOR ACCUM expr REGA+DIRECT
EOR ACCUM expr REGA+EXTENDED
EOR ACCUM expr REGB+DIRECT
EOR ACCUM expr REGB+EXTENDED
EOR ACCUM indexed REGA+REGX
EOR ACCUM indexed REGA+REGY+TS6811
EOR ACCUM indexed REGB+REGX
EOR ACCUM indexed REGB+REGY+TS6811
.sp
EORA '#' expr
EORA expr DIRECT
EORA expr EXTENDED
EORA indexed REGX
EORA indexed REGY+TS6811
.sp
EORB '#' expr
EORB expr DIRECT
EORB expr EXTENDED
EORB indexed REGX
EORB indexed REGY+TS6811
.sp
FDIV TS6811
.sp
IDIV TS6811
.sp
INC ACCUM REGA
INC ACCUM REGB
INC expr
INC indexed REGX
INC indexed REGY+TS6811
.sp
INCA
.sp
INCB
.sp
INS
.sp
INX
.sp
INY TS6811
.sp
JMP expr
JMP indexed REGX
JMP indexed REGY+TS6811
.sp
JSR expr DIRECT+CPU6800
JSR expr DIRECT+TS6801PLUS
JSR expr EXTENDED
JSR indexed REGX
JSR indexed REGY+TS6811
.sp
LDA ACCUM '#' expr REGA
LDA ACCUM '#' expr REGB
LDA ACCUM expr REGA+DIRECT
LDA ACCUM expr REGA+EXTENDED
LDA ACCUM expr REGB+DIRECT
LDA ACCUM expr REGB+EXTENDED
LDA ACCUM indexed REGA+REGX
LDA ACCUM indexed REGA+REGY+TS6811
LDA ACCUM indexed REGB+REGX
LDA ACCUM indexed REGB+REGY+TS6811
.sp
LDAA '#' expr
LDAA expr DIRECT
LDAA expr EXTENDED
LDAA indexed REGX
LDAA indexed REGY+TS6811
.sp
LDAB '#' expr
LDAB expr DIRECT
LDAB expr EXTENDED
LDAB indexed REGX
LDAB indexed REGY+TS6811
.sp
LDD '#' expr TS6801PLUS
LDD expr DIRECT+TS6801PLUS
LDD expr EXTENDED+TS6801PLUS
LDD indexed REGX+TS6801PLUS
LDD indexed REGY+TS6811
.sp
LDS '#' expr
LDS expr DIRECT
LDS expr EXTENDED
LDS indexed REGX
LDS indexed REGY+TS6811
.sp
LDX '#' expr
LDX expr DIRECT
LDX expr EXTENDED
LDX indexed REGX
LDX indexed REGY+TS6811
.sp
LDY '#' expr TS6811
LDY expr DIRECT+TS6811
LDY expr EXTENDED+TS6811
LDY indexed REGX+TS6811
LDY indexed REGY+TS6811
.sp
LSL ACCUM REGA
LSL ACCUM REGB
LSL expr
LSL indexed REGX
LSL indexed REGY+TS6811
.sp
LSLA
.sp
LSLB
.sp
LSLD TS6801PLUS
.sp
LSR ACCUM REGA
LSR ACCUM REGB
LSR expr
LSR indexed REGX
LSR indexed REGY+TS6811
.sp
LSRA
.sp
LSRB
.sp
LSRD TS6801PLUS
.sp
MUL TS6801PLUS
.sp
NEG ACCUM REGA
NEG ACCUM REGB
NEG expr
NEG indexed REGX
NEG indexed REGY+TS6811
.sp
NEGA
.sp
NEGB
.sp
NOP
.sp
ORA ACCUM '#' expr REGA
ORA ACCUM '#' expr REGB
ORA ACCUM expr REGA+DIRECT
ORA ACCUM expr REGA+EXTENDED
ORA ACCUM expr REGB+DIRECT
ORA ACCUM expr REGB+EXTENDED
ORA ACCUM indexed REGA+REGX
ORA ACCUM indexed REGA+REGY+TS6811
ORA ACCUM indexed REGB+REGX
ORA ACCUM indexed REGB+REGY+TS6811
.sp
ORAA '#' expr
ORAA expr DIRECT
ORAA expr EXTENDED
ORAA indexed REGX
ORAA indexed REGY+TS6811
.sp
ORAB '#' expr
ORAB expr DIRECT
ORAB expr EXTENDED
ORAB indexed REGX
ORAB indexed REGY+TS6811
.sp
PSH ACCUM REGA
PSH ACCUM REGB
PSH INDEX REGX+TS6801PLUS
PSH INDEX REGY+TS6811
.sp
PSHA
.sp
PSHB
.sp
PSHX TS6801PLUS
.sp
PSHY TS6811
.sp
PUL ACCUM REGA
PUL ACCUM REGB
PUL INDEX REGX+TS6801PLUS
PUL INDEX REGY+TS6811
.sp
PULA
.sp
PULB
.sp
PULX TS6801PLUS
.sp
PULY TS6811
.sp
ROL ACCUM REGA
ROL ACCUM REGB
ROL expr
ROL indexed REGX
ROL indexed REGY+TS6811
.sp
ROLA
.sp
ROLB
.sp
ROR ACCUM REGA
ROR ACCUM REGB
ROR expr
ROR indexed REGX
ROR indexed REGY+TS6811
.sp
RORA
.sp
RORB
.sp
RTI
.sp
RTS
.sp
SBA
.sp
SBC ACCUM '#' expr REGA
SBC ACCUM '#' expr REGB
SBC ACCUM expr REGA+DIRECT
SBC ACCUM expr REGA+EXTENDED
SBC ACCUM expr REGB+DIRECT
SBC ACCUM expr REGB+EXTENDED
SBC ACCUM indexed REGA+REGX
SBC ACCUM indexed REGA+REGY+TS6811
SBC ACCUM indexed REGB+REGX
SBC ACCUM indexed REGB+REGY+TS6811
.sp
SBCA '#' expr
SBCA expr DIRECT
SBCA expr EXTENDED
SBCA indexed REGX
SBCA indexed REGY+TS6811
.sp
SBCB '#' expr
SBCB expr DIRECT
SBCB expr EXTENDED
SBCB indexed REGX
SBCB indexed REGY+TS6811
.sp
SEC
.sp
SEI
.sp
SEV
.sp
STA ACCUM expr REGA+DIRECT
STA ACCUM expr REGA+EXTENDED
STA ACCUM expr REGB+DIRECT
STA ACCUM expr REGB+EXTENDED
STA ACCUM indexed REGA+REGX
STA ACCUM indexed REGA+REGY+TS6811
STA ACCUM indexed REGB+REGX
STA ACCUM indexed REGB+REGY+TS6811
.sp
STAA expr DIRECT
STAA expr EXTENDED
STAA indexed REGX
STAA indexed REGY+TS6811
.sp
STAB expr DIRECT
STAB expr EXTENDED
STAB indexed REGX
STAB indexed REGY+TS6811
.sp
STD expr DIRECT+TS6801PLUS
STD expr EXTENDED+TS6801PLUS
STD indexed REGX+TS6801PLUS
STD indexed REGY+TS6811
.sp
STOP TS6811
.sp
STS expr DIRECT
STS expr EXTENDED
STS indexed REGX
STS indexed REGY+TS6811
.sp
STX expr DIRECT
STX expr EXTENDED
STX indexed REGX
STX indexed REGY+TS6811
.sp
STY expr DIRECT+TS6811
STY expr EXTENDED+TS6811
STY indexed REGX+TS6811
STY indexed REGY+TS6811
.sp
SUB ACCUM '#' expr REGA
SUB ACCUM '#' expr REGB
SUB ACCUM expr REGA+DIRECT
SUB ACCUM expr REGA+EXTENDED
SUB ACCUM expr REGB+DIRECT
SUB ACCUM expr REGB+EXTENDED
SUB ACCUM indexed REGA+REGX
SUB ACCUM indexed REGA+REGY+TS6811
SUB ACCUM indexed REGB+REGX
SUB ACCUM indexed REGB+REGY+TS6811
.sp
SUBA '#' expr
SUBA expr DIRECT
SUBA expr EXTENDED
SUBA indexed REGX
SUBA indexed REGY+TS6811
.sp
SUBB '#' expr
SUBB expr DIRECT
SUBB expr EXTENDED
SUBB indexed REGX
SUBB indexed REGY+TS6811
.sp
SUBD '#' expr TS6801PLUS
SUBD expr DIRECT+TS6801PLUS
SUBD expr EXTENDED+TS6801PLUS
SUBD indexed REGX+TS6801PLUS
SUBD indexed REGY+TS6811
.sp
SWI
.sp
TAB
.sp
TAP
.sp
TBA
.sp
TEST
.sp
TPA
.sp
TST ACCUM REGA
TST ACCUM REGB
TST expr
TST indexed REGX
TST indexed REGY+TS6811
.sp
TSTA
.sp
TSTB
.sp
TSX
.sp
TSY TS6811
.sp
TXS
.sp
TYS TS6811
.sp
WAI
.sp
XGDX TS6811
.sp
XGDY TS6811
.TE
.H 3 "Selection Criteria Keywords"
.VL 25 5
.LI CPU6800
The instruction is only valid for the 6800 instruction set.
.LI CPU6801
The instruction is only valid for the 6801 instruction set.
.LI TS6801PLUS
The instruction is valid for the 6801 and 68hc11.
.LI TS6811
The instruction is only valid for the 68hc11 instruction set.
.LI REGA
The instruction can use the A accumulator.
.LI REGB
The instruction can use the B accumulator.
.LI REGX
The instruction can use the X index register.
.LI REGY
The instruction can use the Y index register.
.LI DIRECT
The instruction can use the direct addressing mode.
The expression must have a value between 0 and 255 that is defined when the
instruction is processed in the input pass.
.LI EXTENDED
The instruction can use the extended addressing mode.
.LE
.H 3 "Notes"
.H 4 "Apostrophes"
The apostrophes in the syntax field are a notation used for the
parser generator and are not put in the assembler source statements.
.H 4 "Indexed Addressing"
The indexed addressing is represented in two ways.
Either "expression, index register" or "index register, expression" is
accepted by the assembler. Index register is X for all instruction sets
and X or Y for the 6811.
.H 2 "Reserved Symbols"
.H 3 "Machine Dependent Reserved Symbols"
A
B
X
Y
a
b
x
y
.H 3 "Standard Reserved Symbols"
AND
DEFINED
EQ
GE
GT
HIGH
LE
LOW
LT
MOD
NE
NOT
OR
SHL
SHR
XOR
and
defined
eq
ge
gt
high
le
low
lt
mod
ne
not
or
shl
shr
xor
.TC 1 1 7