⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 z8k-opc.h

📁 早期freebsd实现
💻 H
📖 第 1 页 / 共 5 页
字号:
   /* THIS FILE IS AUTOMAGICALLY GENERATED, DON'T EDIT IT */#define ARG_MASK 0x0f#define ARG_RS 0x01#define ARG_RD 0x02#define ARG_RA 0x03#define ARG_RB 0x04#define ARG_RR 0x05#define ARG_RX 0x06#define ARG_IMM4 0x01#define ARG_IMM8 0x02#define ARG_IMM16 0x03#define ARG_IMM32 0x04#define ARG_IMMN 0x05#define ARG_IMMNMINUS1 0x05#define ARG_IMM_1 0x06#define ARG_IMM_2 0x07#define ARG_DISP16 0x08#define ARG_NIM16 0x09#define ARG_IMM2 0x0a#define ARG_DISP12 0x0b#define ARG_DISP8 0x0c#define CLASS_MASK 0xfff0#define CLASS_X 0x10#define CLASS_BA 0x20#define CLASS_DA 0x30#define CLASS_BX 0x40#define CLASS_DISP 0x50#define CLASS_IMM 0x60#define CLASS_CC 0x70#define CLASS_CTRL 0x80#define CLASS_ADDRESS 0xd0#define CLASS_0CCC 0xe0#define CLASS_1CCC 0xf0#define CLASS_0DISP7 0x100#define CLASS_1DISP7 0x200#define CLASS_01II 0x300#define CLASS_00II 0x400#define CLASS_BIT 0x500#define CLASS_FLAGS 0x600#define CLASS_IR 0x700#define CLASS_DISP8 0x800#define CLASS_REG 0x7000#define CLASS_REG_BYTE 0x2000#define CLASS_REG_WORD 0x3000#define CLASS_REG_QUAD 0x4000#define CLASS_REG_LONG 0x5000#define CLASS_REGN0 0x8000typedef struct {char *name;unsigned short arg_info[4];unsigned short byte_info[10];int noperands;int length;int idx;} opcode_entry_type;#ifdef DEFINE_TABLEopcode_entry_type z8k_table[] = {{"adc",{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},	{CLASS_BIT+11,CLASS_BIT+5,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,0},{"adcb",{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},	{CLASS_BIT+11,CLASS_BIT+4,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,1},{"add",{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},	{CLASS_BIT+0,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,2},{"add",{CLASS_REG_WORD+(ARG_RD),CLASS_DA,},	{CLASS_BIT+4,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS,0,0,0,0,},2,4,3},{"add",{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},	{CLASS_BIT+4,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS,0,0,0,0,},2,4,4},{"add",{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},	{CLASS_BIT+0,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,5},{"add",{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},	{CLASS_BIT+8,CLASS_BIT+1,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,6},{"addb",{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},	{CLASS_BIT+0,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,7},{"addb",{CLASS_REG_BYTE+(ARG_RD),CLASS_DA,},	{CLASS_BIT+4,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS,0,0,0,0,},2,4,8},{"addb",{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},	{CLASS_BIT+4,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS,0,0,0,0,},2,4,9},{"addb",{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},	{CLASS_BIT+0,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,10},{"addb",{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},	{CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,11},{"addl",{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},	{CLASS_BIT+1,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,12},{"addl",{CLASS_REG_LONG+(ARG_RD),CLASS_DA,},	{CLASS_BIT+5,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS,0,0,0,0,},2,4,13},{"addl",{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},	{CLASS_BIT+5,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS,0,0,0,0,},2,4,14},{"addl",{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),},	{CLASS_BIT+1,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,15},{"addl",{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},	{CLASS_BIT+9,CLASS_BIT+6,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,16},{"and",{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},	{CLASS_BIT+0,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,17},{"and",{CLASS_REG_WORD+(ARG_RD),CLASS_DA,},	{CLASS_BIT+4,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS,0,0,0,0,},2,4,18},{"and",{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},	{CLASS_BIT+4,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS,0,0,0,0,},2,4,19},{"and",{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},	{CLASS_BIT+0,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,20},{"and",{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},	{CLASS_BIT+8,CLASS_BIT+7,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,21},{"andb",{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},	{CLASS_BIT+0,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,22},{"andb",{CLASS_REG_BYTE+(ARG_RD),CLASS_DA,},	{CLASS_BIT+4,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS,0,0,0,0,},2,4,23},{"andb",{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},	{CLASS_BIT+4,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS,0,0,0,0,},2,4,24},{"andb",{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},	{CLASS_BIT+0,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,25},{"andb",{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},	{CLASS_BIT+8,CLASS_BIT+6,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,26},{"bit",{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},	{CLASS_BIT+2,CLASS_BIT+7,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,27},{"bit",{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},	{CLASS_BIT+6,CLASS_BIT+7,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS,0,0,0,0,},2,4,28},{"bit",{CLASS_DA,CLASS_IMM +(ARG_IMM4),},	{CLASS_BIT+6,CLASS_BIT+7,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS,0,0,0,0,},2,4,29},{"bit",{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),},	{CLASS_BIT+10,CLASS_BIT+7,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,30},{"bit",{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},	{CLASS_BIT+2,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,31},{"bitb",{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},	{CLASS_BIT+2,CLASS_BIT+6,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,32},{"bitb",{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},	{CLASS_BIT+6,CLASS_BIT+6,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS,0,0,0,0,},2,4,33},{"bitb",{CLASS_DA,CLASS_IMM +(ARG_IMM4),},	{CLASS_BIT+6,CLASS_BIT+6,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS,0,0,0,0,},2,4,34},{"bitb",{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},	{CLASS_BIT+10,CLASS_BIT+6,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,35},{"bitb",{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},	{CLASS_BIT+2,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,36},{"call",{CLASS_IR+(ARG_RD),},	{CLASS_BIT+1,CLASS_BIT+15,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,37},{"call",{CLASS_DA,},	{CLASS_BIT+5,CLASS_BIT+15,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS,0,0,0,0,},1,4,38},{"call",{CLASS_X+(ARG_RD),},	{CLASS_BIT+5,CLASS_BIT+15,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS,0,0,0,0,},1,4,39},{"calr",{CLASS_DISP,},	{CLASS_BIT+13,CLASS_DISP+(ARG_DISP12),0,0,0,0,0,0,0,},1,2,40},{"clr",{CLASS_IR+(ARG_RD),},	{CLASS_BIT+0,CLASS_BIT+13,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,41},{"clr",{CLASS_DA,},	{CLASS_BIT+4,CLASS_BIT+13,CLASS_BIT+0,CLASS_BIT+8,CLASS_ADDRESS,0,0,0,0,},1,4,42},{"clr",{CLASS_X+(ARG_RD),},	{CLASS_BIT+4,CLASS_BIT+13,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_ADDRESS,0,0,0,0,},1,4,43},{"clr",{CLASS_REG_WORD+(ARG_RD),},	{CLASS_BIT+8,CLASS_BIT+13,CLASS_REG+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,44},{"clrb",{CLASS_IR+(ARG_RD),},	{CLASS_BIT+0,CLASS_BIT+12,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,45},{"clrb",{CLASS_DA,},	{CLASS_BIT+4,CLASS_BIT+12,CLASS_BIT+0,CLASS_BIT+8,CLASS_ADDRESS,0,0,0,0,},1,4,46},{"clrb",{CLASS_X+(ARG_RD),},	{CLASS_BIT+4,CLASS_BIT+12,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_ADDRESS,0,0,0,0,},1,4,47},{"clrb",{CLASS_REG_BYTE+(ARG_RD),},	{CLASS_BIT+8,CLASS_BIT+12,CLASS_REG+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,48},{"com",{CLASS_IR+(ARG_RD),},	{CLASS_BIT+0,CLASS_BIT+13,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,49},{"com",{CLASS_DA,},	{CLASS_BIT+4,CLASS_BIT+13,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS,0,0,0,0,},1,4,50},{"com",{CLASS_X+(ARG_RD),},	{CLASS_BIT+4,CLASS_BIT+13,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS,0,0,0,0,},1,4,51},{"com",{CLASS_REG_WORD+(ARG_RD),},	{CLASS_BIT+8,CLASS_BIT+13,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,52},{"comb",{CLASS_IR+(ARG_RD),},	{CLASS_BIT+0,CLASS_BIT+12,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,53},{"comb",{CLASS_DA,},	{CLASS_BIT+4,CLASS_BIT+12,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS,0,0,0,0,},1,4,54},{"comb",{CLASS_X+(ARG_RD),},	{CLASS_BIT+4,CLASS_BIT+12,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS,0,0,0,0,},1,4,55},{"comb",{CLASS_REG_BYTE+(ARG_RD),},	{CLASS_BIT+8,CLASS_BIT+12,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,56},{"comflg",{CLASS_FLAGS,},	{CLASS_BIT+8,CLASS_BIT+13,CLASS_IMM+(ARG_IMM4),CLASS_BIT+5,0,0,0,0,0,},1,2,57},{"cp",{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM16),},

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -