/*
 *  EXPAssemblerConstants.h
 *  StackMachine
 *
 *  Created by Ashley on 26/04/2007.
 *  Copyright 2007 __MyCompanyName__. All rights reserved.
 *
 */
 
#define FLTPOINT	0x0000
#define INTEGER		0x0010

#define SHORT		0x0000
#define LONG		0x0010

/*#define DIRECT		0x00
#define INDIRECT	0x01
#define IMMEDIATE   0x02
#define STACKAUTO   0x03
#define STACKREL	0x04
#define LOCAL		0x07
#define	INDEXED		0x08
#define	INDEXEDLOC	0x09 */

#define GLOBAL	0x0000
#define LOCAL 	0x0001
#define STACK	0x0002
#define PCREL	0x0003
#define ACC     0x0004
#define AUTODEC	0x0005
#define AUTO	0x0006
#define IMM  	0x0007
#define INDXG	0x0008
#define INDXL	0x0009
#define INDXGP	0x000a
#define INDXLP	0x000b
#define AUTOIND	0x000c
#define AUTOIDC	0x000d
#define INVALID 0x000f

#define PSH		0x0000
#define PUL		0x0020
#define LDA		0x0040
#define STA		0x0060
#define ADD		0x0080
#define SUB		0x00a0
#define MLT		0x00c0
#define DVD		0x00e0
#define PWR		0x0100
#define GTH		0x0120
#define GTE		0x0140
#define LTH		0x0160
#define LTE		0x0180
#define EQL		0x01a0
#define NEQ		0x01c0

#define INC     0x0200
#define DEC     0x0220
#define NEG     0x0240
#define ADJ     0x0260
#define CLR     0x0280
#define JMP     0x02a0
#define JSR     0x02c0
#define LEA     0x02e0
#define LEAS    0x0300
#define LEAL    0x0320
#define LEAG    0x0340
#define PEA     0x0360
#define PCHR    0x0380
#define FPCHR   0x03a0
#define INTERP  0x03c0
#define TABLE   0x03e0
#define RTABLE  0x0400
#define RTAB    0x0420
#define ATAB	0x0430

#define ABSA    0x0800
#define NEGA    0x0801
#define SQRTA   0x0802
#define INTA    0x0803
#define EXPA    0x0804
#define LNA     0x0805
#define LOG10A  0x0806

#define SINA    0x0810
#define COSA    0x0811
#define TANA    0x0812
#define ASINA   0x0813
#define ACOSA   0x0814
#define ATANA   0x0815
#define SINHA   0x0816
#define COSHA   0x0817
#define TANHA   0x0818
#define ASINHA  0x0819
#define ACOSHA  0x081a
#define ATANHA  0x081b
#define FLTA    0x081c
#define ERFA    0x081d
#define ERFC    0x081e
#define STEP    0x081f
#define RAMP    0x0820
#define XIDZ    0x0821
#define ZIDZ    0x0822

#define RDUNI   0x0840
#define RDNRM   0x0841
#define RDEXP   0x0842

#define PSHA    0x0860											// & 0870
#define PULA    0x0861											// & 0871

#define TRAP    0x0880
/*#define TIME    0x0881
#define TSTART  0x0882
#define TSTOP   0x0883 */
#define DUP     0x0884
#define PRTA     0x0885
#define PSTR    0x0886
#define FPSTR    0x0887
//#define PCHR    0x0887
#define FPRTA    0x0888 

/*#define DELAY   0x0890
#define DELAY1  0x0891
#define DELAYG  0x0892
#define DELAYG1 0x0893 */

#define MINN    0x0a00
#define MAXN    0x0a01
#define MEANN   0x0a02
#define MOD     0x0a03

#define SHL1    0x0b01
#define SHL2	0x0b02
#define SHL3	0x0b03
#define SHL4	0x0b04
#define ADDGP   0x0b05
#define ADDLP   0x0b06
#define LDGP	0x0b07
#define LDLP	0x0b08
#define LDSP	0x0b09
#define SAVE	0x0b0a

#define BRA		0xff00
#define BEQ		0xff01
#define BNE		0xff02
#define BGT		0xff03
#define BGE		0xff04
#define BLT		0xff05
#define BLE		0xff06 
#define BSR		0xff07
#define SWT		0xff08
#define DBNC	0xff20
#define RTS		0xff40 

#define TRP		0xfff0
#define TRPN	0xfff1

#define BRK		0xfffe
#define HLT		0xffff