V10/cmd/lcomp/68k-instr.c

Compare this file to the similar file:
Show the results in this format:

#define K	1	/* kills all condition codes */
#define JUMP	2	/* ends a basic block */
#define BYTE	4	/* target is byte offset */
#define C	8	/* kills all condition codes but for C bit*/
/* if((p->type & EXPAND) && p->iname[0] == 'b') replace first char with j */
/* aob and sob get replaced by two instructions */

struct inst {
	char *iname;
	short type;
} insts[] = {
{ "abcd", K},
{ "add", K},
{ "addx", K},
{ "and", K},
{ "asl", K},
{ "asr", K},
{ "bcc", 0},
{ "bchg", 0},
{ "bclr", 0},
{ "bcs", 0},
{ "beq", 0},
{ "bge", 0},
{ "bgt", 0},
{ "bhi", 0},
{ "bhs", 0},
{ "ble", 0},
{ "blo", 0},
{ "bls", 0},
{ "blt", 0},
{ "bmi", 0},
{ "bne", 0},
{ "bpl", 0},
{ "br", 0},
{ "bra", 0},
{ "bset", 0},
{ "bsr", 0},
{ "btst", 0},
{ "bvc", 0},
{ "bvs", 0},
{ "chk", K},
{ "clr", K},
{ "cmp", K},
{ "dbcc", 0},
{ "dbcs", 0},
{ "dbeq", 0},
{ "dbge", 0},
{ "dbgt", 0},
{ "dbhi", 0},
{ "dbhs", 0},
{ "dble", 0},
{ "dblo", 0},
{ "dbls", 0},
{ "dblt", 0},
{ "dbmi", 0},
{ "dbne", 0},
{ "dbpl", 0},
{ "dbr", 0},
{ "dbra", 0},
{ "dbvc", 0},
{ "dbvs", 0},
{ "divs", K},
{ "divu", K},
{ "eor", K},
{ "exg", 0},
{ "ext", K},
{ "jmp", 0},
{ "jsr", 0},
{ "lea", 0},
{ "link", 0},
{ "lsl", K},
{ "lsr", K},
{ "mov", K},
{ "movea", 0},
{ "movm", 0},
{ "muls", K},
{ "mulu", K},
{ "nbcd", K},
{ "neg", K},
{ "negx", K},
{ "nop", 0},
{ "not", K},
{ "or", K},
{ "pea", 0},
{ "reset", 0},
{ "rol", K},
{ "ror", K},
{ "roxl", K},
{ "roxr", K},
{ "rte", K},
{ "rtr", K},
{ "rts", 0},
{ "sbcd", K},
{ "scc", 0},
{ "scs", 0},
{ "seq", 0},
{ "sf", 0},
{ "sge", 0},
{ "sgt", 0},
{ "shi", 0},
{ "shs", 0},
{ "sle", 0},
{ "slo", 0},
{ "sls", 0},
{ "slt", 0},
{ "smi", 0},
{ "sne", 0},
{ "spl", 0},
{ "st", 0},
{ "stop", K},
{ "sub", K},
{ "suba", 0},
{ "subx", K},
{ "svc", 0},
{ "svs", 0},
{ "swap", K},
{ "tas", K},
{ "trap", 0},
{ "trapv", 0},
{ "tst", K},
{ "unlk", 0},
{ 0, 0},
};