Mercurial > hg > index.cgi
diff lwasm/instab.h @ 385:4fd16faa4d93
Add various "convenience" ops
These are things like "NEGD" in 6809 mode or NEGQ in 6309 mode. These
require either 6809conv or 6309conv pragmas.
Also fix a problem with "CPX" in the 6800 mode.
Thanks to Erik G <erik@6809.org> for the patch.
author | William Astle <lost@l-w.ca> |
---|---|
date | Mon, 13 Jul 2015 21:26:34 -0600 |
parents | 8e25147c2aa8 |
children | e97f9a302c6a |
line wrap: on
line diff
--- a/lwasm/instab.h Mon Jul 13 21:20:30 2015 -0600 +++ b/lwasm/instab.h Mon Jul 13 21:26:34 2015 -0600 @@ -38,15 +38,17 @@ enum { - lwasm_insn_cond = 1, /* conditional instruction */ - lwasm_insn_endm = 2, /* end of macro */ - lwasm_insn_setsym = 4, /* insn sets symbol address */ - lwasm_insn_is6309 = 8, /* insn is 6309 only */ - lwasm_insn_struct = 16, /* insn allowed in a struct */ - lwasm_insn_setdata = 32, /* insn uses the data address for symbols */ - lwasm_insn_is6800 = 64, /* insn is a 6800 compatibility operation */ - lwasm_insn_is6809 = 128, /* insn is 6809 only */ - lwasm_insn_normal = 0 + lwasm_insn_cond = 1, /* conditional instruction */ + lwasm_insn_endm = 1 << 1, /* end of macro */ + lwasm_insn_setsym = 1 << 2, /* insn sets symbol address */ + lwasm_insn_is6309 = 1 << 3, /* insn is 6309 only */ + lwasm_insn_struct = 1 << 4, /* insn allowed in a struct */ + lwasm_insn_setdata = 1 << 5, /* insn uses the data address for symbols */ + lwasm_insn_is6800 = 1 << 6, /* insn is a 6800 compatibility operation */ + lwasm_insn_is6809 = 1 << 7, /* insn is 6809 only */ + lwasm_insn_is6809conv = 1 << 8, /* insn is 6809 convenience only */ + lwasm_insn_is6309conv = 1 << 9, /* insn is 6309 convenience only */ + lwasm_insn_normal = 0 };