📄 table.c
字号:
AWD, TINT|TUNSIGNED|TPOINT, 0, RLEFT|RESCC, " sub AR,AL\n",ASG OR, INAREG|FORCC, AWD, TINT|TUNSIGNED|TPOINT, AWD, TINT|TUNSIGNED|TPOINT, 0, RLEFT|RESCC, " bis AR,AL\n",/* AND transformed to "pdp11 bic" in first pass. */ASG AND, INAREG|FORCC, AWD, TINT|TUNSIGNED|TPOINT, AWD, TINT|TUNSIGNED|TPOINT, 0, RLEFT|RESCC, " bic AR,AL\n",ASG ER, INAREG|FORCC, AWD, TINT|TUNSIGNED|TPOINT, SAREG, TINT|TUNSIGNED|TPOINT, 0, RLEFT|RESCC, " xor AR,AL\n",ASG OPSHFT, INAREG, SAREG, TINT|TUNSIGNED|TPOINT, SONE, TINT, 0, RLEFT, " OI AL\nZH",ASG LS, INAREG, SAREG, TINT|TUNSIGNED|TPOINT, AWD, TINT|TUNSIGNED|TPOINT, 0, RLEFT, " ash AR,AL\n",ASG RS, INAREG, SAREG, TINT|TUNSIGNED|TPOINT, SCON, TANY, 0, RLEFT, " ash $ZM,AL\nZH",ASG RS, INAREG, SAREG, TINT|TUNSIGNED|TPOINT, STAREG, TINT|TUNSIGNED|TPOINT, 0, RLEFT, " neg AR\n ash AR,AL\nZH",ASG RS, INAREG, SAREG, TINT|TUNSIGNED|TPOINT, AWD, TINT|TUNSIGNED|TPOINT, NAREG|NASR, RLEFT, " mov AR,A1\n neg A1\n ash A1,AL\nZH",ASG RS, INAREG, SAREG, TINT, AWD, TINT, 0, RLEFT, " mov AR,-(sp)\n neg (sp)\n ash (sp)+,AL\nZH",ASG RS, INAREG, SAREG, TINT|TUNSIGNED|TPOINT, AWD, TINT|TUNSIGNED|TPOINT, NTEMP, RLEFT, " mov AR,A1\n neg A1\n ash A1,AL\nZH",ASG OR, INAREG|FORCC, AWD, TCHAR|TUCHAR, AWD, TCHAR|TUCHAR, 0, RLEFT|RESCC, " bisb AR,AL\n",/* AND transformed to "pdp11 bic" in first pass. */ASG AND, INAREG|FORCC, AWD, TCHAR|TUCHAR, AWD, TINT|TUNSIGNED|TPOINT|TCHAR|TUCHAR, 0, RLEFT|RESCC, " bicb AR,AL\n",ASG PLUS, INAREG, LWD, TLONG|TULONG, SICON, TINT|TLONG|TULONG, 0, RLEFT, " add UR,UL\n adc AL\n",ASG PLUS, INAREG, STARNM, TLONG|TULONG, LWD, TLONG|TULONG, NAREG, RLEFT, " mov ZU,A1\n add AR,(A1)+\n add UR,(A1)\n adc -(A1)\n",ASG PLUS, INAREG, LWD, TLONG|TULONG, LWD, TLONG|TULONG, 0, RLEFT, " add AR,AL\n add UR,UL\n adc AL\n",ASG PLUS, INAREG, AWD, TPOINT, LWD, TLONG|TULONG, 0, RLEFT, " add UR,AL\n",ASG MINUS, INAREG, LWD, TLONG|TULONG, SICON, TINT|TLONG|TULONG, 0, RLEFT, " sub UR,UL\n sbc AL\n",ASG MINUS, INAREG, STARNM, TLONG|TULONG, LWD, TLONG|TULONG, NAREG, RLEFT, " mov ZU,A1\n sub AR,(A1)+\n sub UR,(A1)\n sbc -(A1)\n",ASG MINUS, INAREG, LWD, TLONG|TULONG, LWD, TLONG|TULONG, 0, RLEFT, " sub AR,AL\n sub UR,UL\n sbc AL\n",ASG MINUS, INAREG, AWD, TPOINT, LWD, TLONG|TULONG, 0, RLEFT, " sub UR,AL\n",ASG OR, INAREG, LWD, TLONG|TULONG, LWD, TLONG|TULONG, 0, RLEFT, " bis AR,AL\n bis UR,UL\n",/* AND transformed to "pdp11 bic" in first pass. */ASG AND, INAREG, LWD, TLONG|TULONG, LWD, TLONG|TULONG, 0, RLEFT, " bic AR,AL\n bic UR,UL\n",ASG ER, INAREG, LWD, TLONG|TULONG, SAREG, TLONG|TULONG, 0, RLEFT, " xor AR,AL\n xor UR,UL\n", /* table entries for ^ which correspond to the usual way of doing busingess (rhs in a temp register */ASG ER, INAREG|INTAREG, STAREG, TLONG|TULONG, LWD, TLONG|TULONG, 0, RLEFT, "\tmov\tAL,-(sp)\n\tmov\tUR,AL\n\txor\tAL,UL\n\tmov\tAR,AL\n\txor\tAL,(sp)\n\tmov\t(sp)+,AL\n",ASG ER, INAREG|INTAREG, STAREG, TINT|TUNSIGNED|TPOINT, AWD, TINT|TUNSIGNED|TPOINT, 0, RLEFT, "\tmov\tAL,-(sp)\n\tmov\tAR,AL\n\txor\tAL,(sp)\n\tmov\t(sp)+,AL\n",ASG LS, INAREG, SAREG, TLONG|TULONG, AWD, TINT|TUNSIGNED|TPOINT, 0, RLEFT, " ashc AR,AL\n",ASG RS, INAREG, SAREG, TLONG|TULONG, SCON, TANY, 0, RLEFT, " ashc $ZM,AL\nZH",ASG RS, INAREG, SAREG, TLONG|TULONG, STAREG, TINT|TUNSIGNED|TPOINT, 0, RLEFT, " neg AR\n ashc AR,AL\nZH",ASG RS, INAREG, SAREG, TLONG|TULONG, AWD, TINT|TUNSIGNED|TPOINT, NAREG|NASR, RLEFT, " mov AR,A1\n neg A1\n ashc A1,AL\nZH",ASG RS, INAREG, SAREG, TLONG|TULONG, AWD, TINT|TUNSIGNED|TPOINT, NTEMP, RLEFT, " mov AR,A1\n neg A1\n ashc A1,AL\nZH",ASG OPFLOAT, INBREG|INTBREG, STBREG, TDOUBLE, SBREG|AWD, TDOUBLE, 0, RLEFT|RESCC, " OF AR,AL\n",ASG OPFLOAT, INBREG|INTBREG, STBREG, TDOUBLE, AWD, TFLOAT, NBREG|NBSR, RLEFT|RESCC, " movof AR,A1\n OF A1,AL\n",ASG OPFLOAT, FORCC, STBREG, TDOUBLE, SBREG|AWD, TDOUBLE, 0, RESCC, " OF AR,AL\n cfcc\n",ASG OPFLOAT, FORCC, STBREG, TDOUBLE, AWD, TFLOAT, NBREG|NBSR, RESCC, " movof AR,A1\n OF A1,AL\n cfcc\n",UNARY CALL, INTAREG, SAREG|SNAME|SOREG|SCON, TANY, SANY, TINT|TUNSIGNED|TPOINT|TCHAR|TUCHAR|TLONG|TULONG, NAREG|NASL, RESC1, /* should be register 0 */ " jsr pc,*AL\n",UNARY CALL, INTBREG, SAREG|SNAME|SOREG|SCON, TANY, SANY, TDOUBLE|TFLOAT, NBREG, RESC1, /* should be register FR0 */ " jsr pc,*AL\n",SCONV, INTAREG, STAREG, TINT|TUNSIGNED|TPOINT|TCHAR|TUCHAR, SANY, TUCHAR, 0, RLEFT, " bic $!377,AL\n",SCONV, INTAREG, AWD, TINT|TUNSIGNED|TPOINT|TCHAR|TUCHAR, SANY, TCHAR|TINT, NAREG|NASL, RESC1, " movZB AL,A1\n",SCONV, INAREG|INTAREG, LWD, TLONG|TULONG, SANY, TINT|TUNSIGNED|TPOINT|TCHAR|TUCHAR, 0, RLEFT, "ZT",SCONV, INTAREG, AWD, TUCHAR, SANY, TLONG|TULONG, NAREG|NASL, RESC1, " movb AL,U1\n bic $!377,U1\n clr A1\n",SCONV, INTAREG, AWD, TINT, SANY, TLONG|TULONG, NAREG|NASL, RESC1, " mov AL,U1\n sxt A1\n",SCONV, INTAREG, AWD, TUNSIGNED|TPOINT, SANY, TLONG|TULONG, NAREG|NASL, RESC1, " mov AL,U1\n clr A1\n",SCONV, INTAREG, SBREG, TDOUBLE, SANY, TINT|TUNSIGNED|TPOINT|TCHAR|TUCHAR, NAREG, RESC1, " movfi AL,A1\n",SCONV, INTAREG, STBREG, TDOUBLE, SANY, TLONG|TULONG, NAREG, RESC1, " setl\n movfi AL,-(sp)\n seti\n mov (sp)+,A1\n mov (sp)+,U1\n",SCONV, FORARG, STBREG, TDOUBLE, SANY, TLONG|TULONG, 0, RNULL, " setl\n movfi AL,Z4\n seti\n",SCONV, INTBREG, SAREG, TLONG, SANY, TANY, NBREG, RESC1, "\tmov\tUL,-(sp)\n\tmov\tAL,-(sp)\n\tsetl\n\tmovif\t(sp)+,A1\n\tseti\n",SCONV, INTBREG, LWD, TLONG, SANY, TANY, NBREG, RESC1, "\tsetl\n\tmovif\tAL,A1\n\tseti\n",SCONV, INTBREG, AWD, TINT, SANY, TANY, NBREG, RESC1, " movif AL,A1\n",SCONV, INTBREG, SAREG, TULONG, SANY, TANY, NBREG, RESC1, "\tmov\tUL,-(sp)\n\tmov\tAL,-(sp)\n\tsetl\n\tmovif\t(sp)+,A1\n\tseti\n\tcfcc\n\tbpl\t1f\n\taddf\t$050200,A1\n1:\n",SCONV, INTBREG, LWD, TULONG, SANY, TANY, NBREG, RESC1, "\tsetl\n\tmovif\tAL,A1\n\tseti\n\tcfcc\n\tbpl\t1f\n\taddf\t$050200,A1\n1:\n",SCONV, INTBREG, STAREG, TUNSIGNED|TPOINT, SANY, TANY, NBREG, RESC1, "\tmovif\tAL,A1\n\tcfcc\n\tbpl\t1f\n\taddf\t$044200,A1\n1:\n",PCONV, INTAREG, AWD, TCHAR|TUCHAR, SANY, TPOINT, NAREG|NASL, RESC1, " movb AL,A1\n",PCONV, INAREG|INTAREG, LWD, TLONG|TULONG, SANY, TPOINT, 0, RLEFT, "ZT",STARG, FORARG, SNAME|SOREG, TANY, SANY, TANY, 0, RNULL, "ZS",STASG, FOREFF, SNAME|SOREG, TANY, SCON|SAREG, TANY, 0, RNOP, "ZS",STASG, INTAREG|INAREG, SNAME|SOREG, TANY, STAREG, TANY, 0, RRIGHT, "ZS",STASG, INAREG|INTAREG, SNAME|SOREG, TANY, SCON|SAREG, TANY, NAREG, RESC1, "ZS mov AR,A1\n",INIT, FOREFF, SCON, TANY, SANY, TINT|TUNSIGNED|TPOINT, 0, RNOP, " CL\n",INIT, FOREFF, SCON, TANY, SANY, TLONG|TULONG, 0, RNOP, "ZL",INIT, FOREFF, SCON, TANY, SANY, TCHAR|TUCHAR, 0, RNOP, " .byte CL\n", /* for the use of fortran only */GOTO, FOREFF, SCON, TANY, SANY, TANY, 0, RNOP, " jbr CL\n",GOTO, FOREFF, SNAME, TLONG|TULONG, SANY, TANY, 0, RNOP, " jmp *UL\n",GOTO, FOREFF, SNAME, TINT|TUNSIGNED|TCHAR|TUCHAR|TPOINT, SANY, TANY, 0, RNOP, " jmp *AL\n", /* Default actions for hard trees ... */# define DF(x) FORREW,SANY,TANY,SANY,TANY,REWRITE,x,""UNARY MUL, DF( UNARY MUL ),INCR, DF(INCR),DECR, DF(INCR),ASSIGN, DF(ASSIGN),STASG, DF(STASG),OPLEAF, DF(NAME),OPLOG, FORCC, SANY, TANY, SANY, TANY, REWRITE, BITYPE, "",OPLOG, DF(NOT),COMOP, DF(COMOP),INIT, DF(INIT),OPUNARY, DF(UNARY MINUS),ASG OPANY, DF(ASG PLUS),OPANY, DF(BITYPE),FREE, FREE, FREE, FREE, FREE, FREE, FREE, FREE, "help; I'm in trouble\n" };
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -