X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=sim%2Fucsim%2Fxa.src%2Fglob.h;h=5e992ec87299b18fb6654075587eeecd24a8d41d;hb=029abefc25be3f58bbfdbc55d18f10a76f41754a;hp=090675cb765237a72a2312ba99c19c63da2cba0c;hpb=b8e2bc7e4143090a7086f371bffe3af0f72bcce9;p=fw%2Fsdcc diff --git a/sim/ucsim/xa.src/glob.h b/sim/ucsim/xa.src/glob.h index 090675cb..5e992ec8 100644 --- a/sim/ucsim/xa.src/glob.h +++ b/sim/ucsim/xa.src/glob.h @@ -176,18 +176,22 @@ enum op_operands { REG_DATA8_REL8, REG_DATA16_REL8, IREG_DATA8_REL8, - IREG_DATA16_REL8 + IREG_DATA16_REL8, + A_APLUSDPTR, + A_APLUSPC }; // table of dissassembled instructions struct xa_dis_entry { - uint code, mask; - char branch; - uchar length; - int mnemonic; - int operands; + uint is1byte; /* only grab 1 byte for table lookup(most are 2 bytes) */ + uint code; /* bits in opcode used to match table entry(with mask) */ + uint mask; /* mask used on .code to match up a common opcode */ + char branch; /* used by main app to implement "next" around calls */ + uchar length; /* total length of opcode, used by dissasembler and main app */ + int mnemonic; /* type of opcode(ADD, ADDC...) */ + int operands; /* unique classification of operands: Rd,Rs = REG_REG,... */ }; extern struct dis_entry glob_disass_xa[];