home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C/C++ Interactive Guide
/
c-cplusplus-interactive-guide.iso
/
c_ref
/
csource3
/
149_01
/
test18.asm
< prev
next >
Wrap
Assembly Source File
|
1989-01-13
|
7KB
|
524 lines
TITL "1802/1805A Cross-Assembler Test Source File"
EJCT 60
CPU 1805
NUMBER EQU 0
;
; Register Definitions:
;
R0 EQU 0
R1 EQU 1
R2 EQU 2
R3 EQU 3
R4 EQU 4
R5 EQU 5
R6 EQU 6
R7 EQU 7
R8 EQU 8
R9 EQU 9
R10 EQU 10
R11 EQU 11
R12 EQU 12
R13 EQU 13
R14 EQU 14
R15 EQU 15
;
; I/O Port Definitions:
;
P1 EQU 1
P2 EQU 2
P3 EQU 3
P4 EQU 4
P5 EQU 5
P6 EQU 6
P7 EQU 7
;
; The 1805A opcodes in opcode numerical order -- one-byte opcodes first:
;
START ORG 100H
; 00H - 0FH.
IDL
LDN R1
LDN R2
LDN R3
LDN R4
LDN R5
LDN R6
LDN R7
LDN R8
LDN R9
LDN R10
LDN R11
LDN R12
LDN R13
LDN R14
LDN R15
; 10H - 1FH.
INC R0
INC R1
INC R2
INC R3
INC R4
INC R5
INC R6
INC R7
INC R8
INC R9
INC R10
INC R11
INC R12
INC R13
INC R14
INC R15
; 20H - 2FH.
DEC R0
DEC R1
DEC R2
DEC R3
DEC R4
DEC R5
DEC R6
DEC R7
DEC R8
DEC R9
DEC R10
DEC R11
DEC R12
DEC R13
DEC R14
DEC R15
; 30H - 3FH.
BR $ AND 1111111100000000B
BQ $ AND 1111111100000000B
BZ $ AND 1111111100000000B
BDF $ AND 1111111100000000B
B1 $ AND 1111111100000000B
B2 $ AND 1111111100000000B
B3 $ AND 1111111100000000B
B4 $ AND 1111111100000000B
NBR $ AND 1111111100000000B
BNQ $ AND 1111111100000000B
BNZ $ AND 1111111100000000B
BNF $ AND 1111111100000000B
BN1 $ AND 1111111100000000B
BN2 $ AND 1111111100000000B
BN3 $ AND 1111111100000000B
BN4 $ AND 1111111100000000B
; 40H - 4FH.
LDA R0
LDA R1
LDA R2
LDA R3
LDA R4
LDA R5
LDA R6
LDA R7
LDA R8
LDA R9
LDA R10
LDA R11
LDA R12
LDA R13
LDA R14
LDA R15
; 50H - 5FH.
STR R0
STR R1
STR R2
STR R3
STR R4
STR R5
STR R6
STR R7
STR R8
STR R9
STR R10
STR R11
STR R12
STR R13
STR R14
STR R15
; 60H - 6FH.
IRX
OUT P1
OUT P2
OUT P3
OUT P4
OUT P5
OUT P6
OUT P7
; 68H goes with the two-byte opcodes.
INP P1
INP P2
INP P3
INP P4
INP P5
INP P6
INP P7
; 70H - 7FH.
RET
DIS
LDXA
STXD
ADC
SDB
SHRC
SMB
SAV
MARK
REQ
SEQ
ADCI NUMBER
SDBI NUMBER
SHLC
SMBI NUMBER
; 80H - 8FH.
GLO R0
GLO R1
GLO R2
GLO R3
GLO R4
GLO R5
GLO R6
GLO R7
GLO R8
GLO R9
GLO R10
GLO R11
GLO R12
GLO R13
GLO R14
GLO R15
; 90H - 9FH.
GHI R0
GHI R1
GHI R2
GHI R3
GHI R4
GHI R5
GHI R6
GHI R7
GHI R8
GHI R9
GHI R10
GHI R11
GHI R12
GHI R13
GHI R14
GHI R15
; 0A0H - 0AFH.
PLO R0
PLO R1
PLO R2
PLO R3
PLO R4
PLO R5
PLO R6
PLO R7
PLO R8
PLO R9
PLO R10
PLO R11
PLO R12
PLO R13
PLO R14
PLO R15
; 0B0H - 0BFH.
PHI R0
PHI R1
PHI R2
PHI R3
PHI R4
PHI R5
PHI R6
PHI R7
PHI R8
PHI R9
PHI R10
PHI R11
PHI R12
PHI R13
PHI R14
PHI R15
; 0C0H - 0CFH.
LBR START
LBQ START
LBZ START
LBDF START
NOP
LSNQ
LSNZ
LSNF
NLBR START
LBNQ START
LBNZ START
LBNF START
LSIE
LSQ
LSZ
LSDF
; 0D0H - 0DFH.
SEP R0
SEP R1
SEP R2
SEP R3
SEP R4
SEP R5
SEP R6
SEP R7
SEP R8
SEP R9
SEP R10
SEP R11
SEP R12
SEP R13
SEP R14
SEP R15
; 0E0H - 0EFH.
SEX R0
SEX R1
SEX R2
SEX R3
SEX R4
SEX R5
SEX R6
SEX R7
SEX R8
SEX R9
SEX R10
SEX R11
SEX R12
SEX R13
SEX R14
SEX R15
; 0F0H - 0FFH.
LDX
OR
AND
XOR
ADD
SD
SHR
SM
LDI NUMBER
ORI NUMBER
ANI NUMBER
XRI NUMBER
ADI NUMBER
SDI NUMBER
SHL
SMI NUMBER
;
; Now, the unique 1805A opcodes in numerical order by second opcode byte:
;
PAGE
; 00H - 0FH
STPC
DTC
SPM2
SCM2
SPM1
SCM1
LDC
STM
GEC
ETQ
XIE
XID
CIE
CID
; 0EH - 0FH are undefined.
; 10H - 1FH
; 10H - 1FH are undefined.
; 20H - 2FH
DBNZ R0, START
DBNZ R1, START
DBNZ R2, START
DBNZ R3, START
DBNZ R4, START
DBNZ R5, START
DBNZ R6, START
DBNZ R7, START
DBNZ R8, START
DBNZ R9, START
DBNZ R10, START
DBNZ R11, START
DBNZ R12, START
DBNZ R13, START
DBNZ R14, START
DBNZ R15, START
; 30H - 3FH
; 30H - 3DH are undefined.
BCI $ AND 1111111100000000B
BXI $ AND 1111111100000000B
; 40H - 4FH
; 40H - 4FH are undefined.
; 50H - 5FH
; 50H - 5FH are undefined.
; 60H - 6FH
RLXA R0
RLXA R1
RLXA R2
RLXA R3
RLXA R4
RLXA R5
RLXA R6
RLXA R7
RLXA R8
RLXA R9
RLXA R10
RLXA R11
RLXA R12
RLXA R13
RLXA R14
RLXA R15
; 70H - 7FH
; 70H - 73H are undefined.
DADC
; 75H is undefined.
DSAV
DSMB
; 78H - 7BH are undefined.
DACI NUMBER
; 7DH - 7EH are undefined.
DSBI NUMBER
; 80H - 8FH
SCAL R0, START
SCAL R1, START
SCAL R2, START
SCAL R3, START
SCAL R4, START
SCAL R5, START
SCAL R6, START
SCAL R7, START
SCAL R8, START
SCAL R9, START
SCAL R10, START
SCAL R11, START
SCAL R12, START
SCAL R13, START
SCAL R14, START
SCAL R15, START
; 90H - 9FH
SRET R0
SRET R1
SRET R2
SRET R3
SRET R4
SRET R5
SRET R6
SRET R7
SRET R8
SRET R9
SRET R10
SRET R11
SRET R12
SRET R13
SRET R14
SRET R15
; 0A0H - 0AFH
RSXD R0
RSXD R1
RSXD R2
RSXD R3
RSXD R4
RSXD R5
RSXD R6
RSXD R7
RSXD R8
RSXD R9
RSXD R10
RSXD R11
RSXD R12
RSXD R13
RSXD R14
RSXD R15
; 0B0H - 0BFH
RNX R0
RNX R1
RNX R2
RNX R3
RNX R4
RNX R5
RNX R6
RNX R7
RNX R8
RNX R9
RNX R10
RNX R11
RNX R12
RNX R13
RNX R14
RNX R15
; 0C0H - 0CFH
RLDI R0, START
RLDI R1, START
RLDI R2, START
RLDI R3, START
RLDI R4, START
RLDI R5, START
RLDI R6, START
RLDI R7, START
RLDI R8, START
RLDI R9, START
RLDI R10, START
RLDI R11, START
RLDI R12, START
RLDI R13, START
RLDI R14, START
RLDI R15, START
; 0D0H - 0DFH
; 0D0H - 0DFH are undefined.
; 0E0H - 0EFH
; 0E0H - 0EFH are undefined.
; 0F0H - 0FFH
; 0F0H - 0F3H are undefined.
DADD
; 0F5H - 0F6H are undefined.
DSM
; 0F8H - 0FBH are undefined.
DADI NUMBER
; 0FDH - 0FEH are undefined.
DSMI NUMBER
;
; Let's test the rest of the pseudo-ops while we're at it:
;
LOAD R2, START
VARIABLE SET -1
IF VARIABLE
BYTE -1, , +1
ELSE
BYTE +1, , -1
ENDI
VARIABLE SET VARIABLE EQ 0
IF VARIABLE
WORD , +1
ELSE
WORD , -1
ENDI
BLK 10H
TEXT "EXPLOSION"
END
5
RNX R6
RNX R7
RNX R8
RNX R9
RNX R10
RNX R11
RNX