X-Git-Url: https://jxself.org/git/?p=a56.git;a=blobdiff_plain;f=src%2Fa56.key;fp=src%2Fa56.key;h=ae7c52b0676c6aae57712ff37f46975595b2b301;hp=0000000000000000000000000000000000000000;hb=34923afb4a618598083726717bf2f20d310f4f6e;hpb=c6db6f4c5cb82f5e09472163bf11be0c165965ee diff --git a/src/a56.key b/src/a56.key new file mode 100644 index 0000000..ae7c52b --- /dev/null +++ b/src/a56.key @@ -0,0 +1,193 @@ +.code #include "a56.h" +.code #include "gram.h" +X: {return XMEM;} +Y: {return YMEM;} +L: {return LMEM;} +P: {return PMEM;} +A10 {return A10;} +A {return AAAA;} +B10 {return B10;} +B {return BBBB;} +AB {return AABB;} +BA {return BBAA;} +X {return XXXX;} +Y {return YYYY;} +SR {return SR;} +MR {return MR;} +CCR {return CCR;} +OMR {return OMR;} +SP {return SP;} +SSH {return SSH;} +SSL {return SSL;} +LA {return LA;} +LC {return LC;} +A0 {yylval.ival = 0; return AREG;} +A1 {yylval.ival = 1; return AREG;} +A2 {yylval.ival = 2; return AREG;} +B0 {yylval.ival = 0; return BREG;} +B1 {yylval.ival = 1; return BREG;} +B2 {yylval.ival = 2; return BREG;} +M0 {yylval.ival = 0; return MREG;} +M1 {yylval.ival = 1; return MREG;} +M2 {yylval.ival = 2; return MREG;} +M3 {yylval.ival = 3; return MREG;} +M4 {yylval.ival = 4; return MREG;} +M5 {yylval.ival = 5; return MREG;} +M6 {yylval.ival = 6; return MREG;} +M7 {yylval.ival = 7; return MREG;} +N0 {yylval.ival = 0; return NREG;} +N1 {yylval.ival = 1; return NREG;} +N2 {yylval.ival = 2; return NREG;} +N3 {yylval.ival = 3; return NREG;} +N4 {yylval.ival = 4; return NREG;} +N5 {yylval.ival = 5; return NREG;} +N6 {yylval.ival = 6; return NREG;} +N7 {yylval.ival = 7; return NREG;} +R0 {yylval.ival = 0; return RREG;} +R1 {yylval.ival = 1; return RREG;} +R2 {yylval.ival = 2; return RREG;} +R3 {yylval.ival = 3; return RREG;} +R4 {yylval.ival = 4; return RREG;} +R5 {yylval.ival = 5; return RREG;} +R6 {yylval.ival = 6; return RREG;} +R7 {yylval.ival = 7; return RREG;} +X0 {yylval.ival = 0; return XREG;} +X1 {yylval.ival = 1; return XREG;} +Y0 {yylval.ival = 0; return YREG;} +Y1 {yylval.ival = 1; return YREG;} +ABS {return OP_ABS;} +ADC {return OP_ADC;} +ADD {return OP_ADD;} +ADDL {return OP_ADDL;} +ADDR {return OP_ADDR;} +ASL {return OP_ASL;} +ASR {return OP_ASR;} +CLR {return OP_CLR;} +CMP {return OP_CMP;} +CMPM {return OP_CMPM;} +DIV {return OP_DIV;} +MAC {return OP_MAC;} +MACR {return OP_MACR;} +MPY {return OP_MPY;} +MPYR {return OP_MPYR;} +NEG {return OP_NEG;} +NORM {return OP_NORM;} +RND {return OP_RND;} +SBC {return OP_SBC;} +SUB {return OP_SUB;} +SUBL {return OP_SUBL;} +SUBR {return OP_SUBR;} +TCC {yylval.cond = 0x0; return OP_TCC;} +THS {yylval.cond = 0x0; return OP_TCC;} +TGE {yylval.cond = 0x1; return OP_TCC;} +TNE {yylval.cond = 0x2; return OP_TCC;} +TPL {yylval.cond = 0x3; return OP_TCC;} +TNN {yylval.cond = 0x4; return OP_TCC;} +TEC {yylval.cond = 0x5; return OP_TCC;} +TLC {yylval.cond = 0x6; return OP_TCC;} +TGT {yylval.cond = 0x7; return OP_TCC;} +TCS {yylval.cond = 0x8; return OP_TCC;} +TLO {yylval.cond = 0x8; return OP_TCC;} +TLT {yylval.cond = 0x9; return OP_TCC;} +TEQ {yylval.cond = 0xA; return OP_TCC;} +TMI {yylval.cond = 0xB; return OP_TCC;} +TNR {yylval.cond = 0xC; return OP_TCC;} +TES {yylval.cond = 0xD; return OP_TCC;} +TLS {yylval.cond = 0xE; return OP_TCC;} +TLE {yylval.cond = 0xF; return OP_TCC;} +TFR {return OP_TFR;} +TST {return OP_TST;} +AND {return OP_AND;} +ANDI {return OP_ANDI;} +EOR {return OP_EOR;} +LSL {return OP_LSL;} +LSR {return OP_LSR;} +NOT {return OP_NOT;} +OR {return OP_OR;} +ORI {return OP_ORI;} +ROL {return OP_ROL;} +ROR {return OP_ROR;} +BCLR {return OP_BCLR;} +BSET {return OP_BSET;} +BCHG {return OP_BCHG;} +BTST {return OP_BTST;} +DO {return OP_DO;} +ENDDO {return OP_ENDDO;} +LUA {return OP_LUA;} +MOVE {return OP_MOVE;} +MOVEC {return OP_MOVEC;} +MOVEM {return OP_MOVEM;} +MOVEP {return OP_MOVEP;} +INCLUDE {return OP_INCLUDE;} +ILLEGAL {return OP_ILLEGAL;} +JCC {yylval.cond = 0x0; return OP_JCC;} +JHS {yylval.cond = 0x0; return OP_JCC;} +JGE {yylval.cond = 0x1; return OP_JCC;} +JNE {yylval.cond = 0x2; return OP_JCC;} +JPL {yylval.cond = 0x3; return OP_JCC;} +JNN {yylval.cond = 0x4; return OP_JCC;} +JEC {yylval.cond = 0x5; return OP_JCC;} +JLC {yylval.cond = 0x6; return OP_JCC;} +JGT {yylval.cond = 0x7; return OP_JCC;} +JCS {yylval.cond = 0x8; return OP_JCC;} +JLO {yylval.cond = 0x8; return OP_JCC;} +JLT {yylval.cond = 0x9; return OP_JCC;} +JEQ {yylval.cond = 0xA; return OP_JCC;} +JMI {yylval.cond = 0xB; return OP_JCC;} +JNR {yylval.cond = 0xC; return OP_JCC;} +JES {yylval.cond = 0xD; return OP_JCC;} +JLS {yylval.cond = 0xE; return OP_JCC;} +JLE {yylval.cond = 0xF; return OP_JCC;} +JMP {return OP_JMP;} +JCLR {return OP_JCLR;} +JSET {return OP_JSET;} +JSCC {yylval.cond = 0x0; return OP_JSCC;} +JSHS {yylval.cond = 0x0; return OP_JSCC;} +JSGE {yylval.cond = 0x1; return OP_JSCC;} +JSNE {yylval.cond = 0x2; return OP_JSCC;} +JSPL {yylval.cond = 0x3; return OP_JSCC;} +JSNN {yylval.cond = 0x4; return OP_JSCC;} +JSEC {yylval.cond = 0x5; return OP_JSCC;} +JSLC {yylval.cond = 0x6; return OP_JSCC;} +JSGT {yylval.cond = 0x7; return OP_JSCC;} +JSCS {yylval.cond = 0x8; return OP_JSCC;} +JSLO {yylval.cond = 0x8; return OP_JSCC;} +JSLT {yylval.cond = 0x9; return OP_JSCC;} +JSEQ {yylval.cond = 0xA; return OP_JSCC;} +JSMI {yylval.cond = 0xB; return OP_JSCC;} +JSNR {yylval.cond = 0xC; return OP_JSCC;} +JSES {yylval.cond = 0xD; return OP_JSCC;} +JSLS {yylval.cond = 0xE; return OP_JSCC;} +JSLE {yylval.cond = 0xF; return OP_JSCC;} +JSR {return OP_JSR;} +JSCLR {return OP_JSCLR;} +JSSET {return OP_JSSET;} +NOP {return OP_NOP;} +REP {return OP_REP;} +RESET {return OP_RESET;} +RTI {return OP_RTI;} +RTS {return OP_RTS;} +STOP {return OP_STOP;} +SWI {return OP_SWI;} +WAIT {return OP_WAIT;} +EQU {return OP_EQU;} +ORG {return OP_ORG;} +DC {return OP_DC;} +DS {return OP_DS;} +DSM {return OP_DSM;} +INT {return OP_INT;} +END {return OP_END;} +PAGE {return OP_PAGE;} +PSECT {return OP_PSECT;} +ALIGN {return OP_ALIGN;} +PI {return OP_PI;} +SIN {return OP_SIN;} +COS {return OP_COS;} +TAN {return OP_TAN;} +ATAN {return OP_ATAN;} +ASIN {return OP_ASIN;} +ACOS {return OP_ACOS;} +EXP {return OP_EXP;} +LN {return OP_LN;} +LOG {return OP_LOG;} +POW {return OP_POW;}