💾 Archived View for uscoffings.net › retro-computing › systems › TI994a › assemblers › tiasm › src ›… captured on 2022-06-04 at 01:13:56.

View Raw

More Information

-=-=-=-=-=-=-

/* Machine instructions */

#define	LI	0x200			/* Load Immediate */
#define	AI	0x220			/* Add Immediate */
#define	ANDI	0x240			/* AND Immediate */
#define	ORI	0x0260			/* OR Immediate */
#define	CI	0x0280			/* Compare Immediate */
#define	STWP	0x02a0			/* STore Workspace Pointer */
#define	STST	0x02c0			/* STore STatus register */
#define	LWPI	0x02e0			/* Load Workspace Pointer Immediate */
#define	LIMI	0x0300			/* Load Interrupt Mask Immediate */
#define	IDLE	0x0340			/* IDLE */
#define	RSET	0x0360			/* ReSET arithmetic unit */
#define	RTWP	0x0380			/* ReTurn to old Workspace Pointer */
#define	CKON	0x03a0			/* user defined */
#define	CKOF	0x03c0			/* user defined */
#define	LREX	0x03e0			/* Load Register and EXecute */
#define	BLWP	0x0400			/* Branch, Load new Workspace Pointer */
#define	B	0x0440			/* Branch */
#define	X	0x0480			/* eXecute */
#define	CLR	0x04c0			/* CLeaR to zeros */
#define	NEG	0x0500			/* NEGate to ones */
#define	INV	0x0540			/* INVert */
#define	INC	0x0580			/* INCrement by one */
#define	INCT	0x05c0			/* Increment by Two */
#define	DEC	0x0600			/* DECrement by one */
#define	DECT	0x0640			/* DECrement by two */
#define	BL	0x0680			/* Branch and Link */
#define	SWPB	0x06c0			/* SWaP Bytes */
#define	SETO	0x0700			/* SET to Ones */
#define	ABS	0x0740			/* ABSolute value */
#define	SRA	0x0800			/* Shift Right Arithmetic */
#define	SRL	0x0900			/* Shift Right Logical */
#define	SLA	0x0a00			/* Shift Left Arithmetic */
#define	SRC	0x0b00			/* Shift Right Circular */
#define	JMP	0x1000			/* unconditional JuMP */
#define	JLT	0x1100			/* Jump on Less Than */
#define	JLE	0x1200			/* Jump on Less than or Equal */
#define	JEQ	0x1300			/* Jump on EQual */
#define	JHE	0x1400			/* Jump on High or Equal */
#define	JGT	0x1500			/* Jump on Greater Than */
#define	JNE	0x1600			/* Jump on Not Equal */
#define	JNC	0x1700			/* Jump on No Carry */
#define	JOC	0x1800			/* Jump on Overflow/Carry */
#define	JNO	0x1900			/* Jump on No Overflow */
#define	JL	0x1a00			/* Jump on Low */
#define	JH	0x1b00			/* Jump on High */
#define	JOP	0x1c00			/* Jump on Odd Parity */
#define	SBO	0x1d00			/* Set cru Bits to Ones */
#define	SBZ	0x1e00			/* Set cru Bits to Zeros */
#define	TB	0x1f00			/* Test cru Bit */
#define	COC	0x2000			/* Compare Ones Corresponding */
#define	CZC	0x2400			/* Compare Zeros Corresponding */
#define	XOR	0x2800			/* eXclusive OR */
#define	LDCR	0x3000			/* LoaD CRu */
#define	STCR	0x3400			/* STore CRu */
#define	MPY	0x3800			/* MultiPlY */
#define	DIV	0x3c00			/* DIVide */
#define	SZC	0x4000			/* Set Zeros Corresponding (word) */
#define	SZCB	0x5000			/* Set Zeros Corresponding (Byte) */
#define	S	0x6000			/* Subtract (word) */
#define	SB	0x7000			/* Subtract (Byte) */
#define	C	0x8000			/* Compare (word) */
#define	CB	0x9000			/* Compare (Byte) */
#define	A	0xa000			/* Add (word) */
#define	AB	0xb000			/* Add (Byte) */
#define	MOV	0xc000			/* MOVe (word) */
#define	MOVB	0xd000			/* MOVe (Byte) */
#define	SOC	0xe000			/* Set Ones Corresponding (word) */
#define	SOCB	0xf000			/* Set Ones Corresponding (Byte) */
#define	XOP	0x2c00			/* eXtended OPeration */