|
|
1.1 ! root 1: # include "mfile2" ! 2: /* special shapes (SSOREG,SZERO etc.) shouldn't be or-ed */ ! 3: # define WPTR TPTRTO|TINT|TFLOAT|TDOUBLE|TPOINT|TUNSIGNED ! 4: # define AWD SNAME|SOREG|SCON|STARNM|STARREG ! 5: /* tbl */ ! 6: # define ANYSIGNED TPOINT|TINT|TSHORT|TCHAR ! 7: # define ANYUSIGNED TUNSIGNED|TUSHORT|TUCHAR ! 8: # define ANYFIXED ANYSIGNED|ANYUSIGNED ! 9: # define TWORD TINT|TUNSIGNED|TPOINT ! 10: # define NIAWD SNAME|SCON|STARNM ! 11: /* tbl */ ! 12: ! 13: struct optab table[] = { ! 14: ! 15: PCONV, INAREG|INTAREG, ! 16: SAREG|AWD, TCHAR|TSHORT, ! 17: SANY, TPOINT, ! 18: NAREG|NASL, RESC1, ! 19: " cvtZLl AL,A1\n", ! 20: ! 21: PCONV, INAREG|INTAREG, ! 22: SAREG|AWD, TUCHAR|TUSHORT, ! 23: SANY, TPOINT, ! 24: NAREG|NASL, RESC1, ! 25: " movzZLl AL,A1\n", ! 26: ! 27: /* the following entry is to fix a problem with ! 28: the manner that the first pass handles the ! 29: type of a shift expression */ ! 30: PCONV, INAREG|INTAREG, ! 31: SAREG|AWD, TINT|TUNSIGNED, ! 32: SANY, TPOINT, ! 33: NAREG|NASL, RLEFT, ! 34: "", ! 35: ! 36: SCONV, INTAREG|FORCC, ! 37: SAREG, TDOUBLE, ! 38: SANY, TFLOAT|TDOUBLE, ! 39: 0, RLEFT, ! 40: "", ! 41: ! 42: SCONV, INTAREG|FORCC, ! 43: SAREG|AWD, TFLOAT, ! 44: SANY, TDOUBLE, ! 45: NAREG|NASL, RESC1|RESCC, ! 46: " clrl U1\n movl AL,A1\n", ! 47: ! 48: /* casts to shorter types */ ! 49: SCONV, INTAREG|FORCC, ! 50: SAREG|SCON, TANY, ! 51: SANY, ANYUSIGNED, ! 52: NAREG|NASL, RESC1|RESCC, ! 53: " movzZRl AL,A1\n", ! 54: ! 55: SCONV, INTAREG|FORCC, ! 56: SNAME, TANY, ! 57: SANY, ANYUSIGNED, ! 58: NAREG|NASL, RESC1|RESCC, ! 59: " movzZRl ZU,A1\n", ! 60: ! 61: SCONV, INTAREG|FORCC, ! 62: SSOREG, TANY, ! 63: SANY, ANYUSIGNED, ! 64: NAREG|NASL, RESC1|RESCC, ! 65: " movzZRl ZU,A1\n", ! 66: ! 67: SCONV, INTAREG|FORCC, ! 68: SAREG|SCON, TANY, ! 69: SANY, TANY, ! 70: NAREG|NASL, RESC1|RESCC, ! 71: " cvtZRl AL,A1\n", ! 72: ! 73: SCONV, INTAREG|FORCC, ! 74: SNAME, TANY, ! 75: SANY, TANY, ! 76: NAREG|NASL, RESC1|RESCC, ! 77: " cvtZRl ZU,A1\n", ! 78: ! 79: SCONV, INTAREG|FORCC, ! 80: SSOREG, TANY, ! 81: SANY, TANY, ! 82: NAREG|NASL, RESC1|RESCC, ! 83: " cvtZRl ZU,A1\n", ! 84: ! 85: INIT, FOREFF, ! 86: SCON, TANY, ! 87: SANY, TWORD, ! 88: 0, RNOP, ! 89: " .long CL\n", ! 90: ! 91: INIT, FOREFF, ! 92: SCON, TANY, ! 93: SANY, TSHORT|TUSHORT, ! 94: 0, RNOP, ! 95: " .word CL\n", ! 96: ! 97: INIT, FOREFF, ! 98: SCON, TANY, ! 99: SANY, TCHAR|TUCHAR, ! 100: 0, RNOP, ! 101: " .byte CL\n", ! 102: ! 103: /* for the use of fortran only */ ! 104: ! 105: GOTO, FOREFF, ! 106: SCON, TANY, ! 107: SANY, TANY, ! 108: 0, RNOP, ! 109: " jbr CL\n", ! 110: ! 111: GOTO, FOREFF, ! 112: AWD, TANY, ! 113: SANY, TANY, ! 114: 0, RNOP, ! 115: " jmp *AL\n", ! 116: ! 117: GOTO, FOREFF, ! 118: SAREG, TANY, ! 119: SANY, TANY, ! 120: 0, RNOP, ! 121: " jmp (AL)\n", ! 122: ! 123: STARG, FORARG, ! 124: SCON|SOREG, TANY, ! 125: SANY, TANY, ! 126: NTEMP+2*NAREG, RESC3, ! 127: "ZS", ! 128: ! 129: STASG, FORARG, ! 130: SNAME|SOREG, TANY, ! 131: SCON|SAREG, TANY, ! 132: 0, RNULL, ! 133: " ZT\nZS", ! 134: ! 135: STASG, FOREFF, ! 136: SNAME|SOREG, TANY, ! 137: SCON|SAREG, TANY, ! 138: 0, RNOP, ! 139: "ZS", ! 140: ! 141: STASG, INAREG, ! 142: SNAME|SOREG, TANY, ! 143: SCON, TANY, ! 144: NAREG, RESC1, ! 145: "ZS movl AR,A1\n", ! 146: ! 147: STASG, INAREG, ! 148: SNAME|SOREG, TANY, ! 149: SAREG, TANY, ! 150: 0, RRIGHT, ! 151: " pushl AR\nZS movl (sp)+,AR\n", ! 152: ! 153: OPLOG, FORCC, ! 154: SAREG|AWD, TWORD, ! 155: SAREG|AWD, TWORD, ! 156: 0, RESCC, ! 157: " cmpl AL,AR\nZP", ! 158: ! 159: OPLOG, FORCC, ! 160: SAREG|AWD, TSHORT|TUSHORT, ! 161: SAREG|AWD, TSHORT|TUSHORT, ! 162: 0, RESCC, ! 163: " cmpw AL,AR\nZP", ! 164: ! 165: OPLOG, FORCC, ! 166: SAREG|AWD, TCHAR|TUCHAR, ! 167: SAREG|AWD, TCHAR|TUCHAR, ! 168: 0, RESCC, ! 169: " cmpb AL,AR\nZP", ! 170: ! 171: OPLOG, FORCC, ! 172: SAREG|AWD, TSHORT|TUSHORT, ! 173: SSCON, TANY, ! 174: 0, RESCC, ! 175: " cmpw AL,AR\nZP", ! 176: ! 177: OPLOG, FORCC, ! 178: SAREG|AWD, TCHAR|TUCHAR, ! 179: SCCON, TANY, ! 180: 0, RESCC, ! 181: " cmpb AL,AR\nZP", ! 182: ! 183: CCODES, INAREG|INTAREG, ! 184: SANY, TANY, ! 185: SANY, TANY, ! 186: NAREG, RESC1, ! 187: " movl $1,A1\nZN", ! 188: ! 189: UNARY CALL, INTAREG, ! 190: SCON, TANY, ! 191: SANY, TWORD|TCHAR|TUCHAR|TSHORT|TUSHORT|TFLOAT|TDOUBLE, ! 192: NAREG|NASL, RESC1, /* should be register 0 */ ! 193: " ZC,CL\n", ! 194: ! 195: UNARY CALL, INTAREG, ! 196: SAREG, TANY, ! 197: SANY, TWORD|TCHAR|TUCHAR|TSHORT|TUSHORT|TFLOAT|TDOUBLE, ! 198: NAREG|NASL, RESC1, /* should be 0 */ ! 199: " ZC,(AL)\n", ! 200: ! 201: UNARY CALL, INAREG|INTAREG, ! 202: SNAME, TANY, ! 203: SANY, TANY, ! 204: NAREG|NASL, RESC1, /* really reg 0 */ ! 205: " ZC,*AL\n", ! 206: ! 207: UNARY CALL, INAREG|INTAREG, ! 208: SSOREG, TANY, ! 209: SANY, TANY, ! 210: NAREG|NASL, RESC1, /* really reg 0 */ ! 211: " ZC,*AL\n", ! 212: ! 213: ASG OPSHFT, INAREG|FOREFF|FORCC, ! 214: SAREG|AWD, TWORD, ! 215: SAREG|SCON, ANYFIXED, ! 216: 0, RLEFT|RESCC, ! 217: " ZH AR,AL,AL\n", ! 218: ! 219: ASG OPSHFT, INAREG|FOREFF|FORCC, ! 220: SAREG|AWD, TWORD, ! 221: NIAWD, TCHAR, ! 222: 0, RLEFT|RESCC, ! 223: " ZH AR,AL,AL\n", ! 224: ! 225: ASG OPSHFT, INAREG|FOREFF|FORCC, ! 226: SAREG|AWD, TWORD, ! 227: SSOREG, TCHAR, ! 228: 0, RLEFT|RESCC, ! 229: " ZH AR,AL,AL\n", ! 230: ! 231: ASG OPSHFT, INAREG|FOREFF|FORCC, ! 232: SAREG|AWD, TWORD, ! 233: AWD, ANYFIXED, ! 234: NAREG, RLEFT|RESCC, ! 235: " ZB AR,A1\n ZH A1,AL,AL\n", ! 236: ! 237: OPSHFT, INAREG|INTAREG|FORCC, ! 238: SAREG|AWD, TWORD, ! 239: SAREG|SCON, ANYFIXED, ! 240: NAREG|NASL|NASR, RESC1|RESCC, ! 241: " ZH AR,AL,A1\n", ! 242: ! 243: OPSHFT, INAREG|INTAREG|FORCC, ! 244: SAREG|AWD, TWORD, ! 245: NIAWD, TCHAR|TUCHAR, ! 246: NAREG|NASL|NASR, RESC1|RESCC, ! 247: " ZH AR,AL,A1\n", ! 248: ! 249: OPSHFT, INAREG|INTAREG|FORCC, ! 250: SAREG|AWD, TWORD, ! 251: SSOREG, TCHAR, ! 252: NAREG|NASL|NASR, RESC1|RESCC, ! 253: " ZH AR,AL,A1\n", ! 254: ! 255: OPSHFT, INAREG|INTAREG|FORCC, ! 256: SAREG|AWD, TWORD, ! 257: AWD, ANYFIXED, ! 258: NAREG|NASR, RESC1|RESCC, ! 259: " ZB AR,A1\n ZH A1,AL,A1\n", ! 260: ! 261: INCR, FOREFF, ! 262: AWD, TWORD, ! 263: SCON, TANY, ! 264: 0, RLEFT, ! 265: " ZE\n", ! 266: ! 267: DECR, FOREFF, ! 268: AWD, TWORD, ! 269: SCON, TANY, ! 270: 0, RLEFT, ! 271: " ZE\n", ! 272: ! 273: INCR, FOREFF, ! 274: SAREG, TWORD, ! 275: SCON, TANY, ! 276: 0, RLEFT, ! 277: " ZE\n", ! 278: ! 279: DECR, FOREFF, ! 280: SAREG, TWORD, ! 281: SCON, TANY, ! 282: 0, RLEFT, ! 283: " ZE\n", ! 284: ! 285: /* jwf INCR and DECR for SAREG TCHAR|TSHORT matched by ASG PLUS etc */ ! 286: ! 287: INCR, INAREG|INTAREG, ! 288: AWD, TANY, ! 289: SCON, TANY, ! 290: NAREG, RESC1, ! 291: " ZD\n", ! 292: ! 293: DECR, INAREG|INTAREG, ! 294: AWD, TANY, ! 295: SCON, TANY, ! 296: NAREG, RESC1, ! 297: " ZD\n", ! 298: ! 299: INCR, INAREG|INTAREG, ! 300: SAREG, TWORD, ! 301: SCON, TANY, ! 302: NAREG, RESC1, ! 303: " ZD\n", ! 304: ! 305: DECR, INAREG|INTAREG, ! 306: SAREG, TWORD, ! 307: SCON, TANY, ! 308: NAREG, RESC1, ! 309: " ZD\n", ! 310: ! 311: ASSIGN, INAREG|FOREFF|FORCC, ! 312: SAREG|SNAME|SOREG, TDOUBLE, ! 313: SAREG|SNAME|SOREG, TDOUBLE, ! 314: 0, RLEFT|RRIGHT|RESCC, ! 315: " movl UR,UL\n movl AR,AL\n", ! 316: ! 317: ASSIGN, INAREG|FOREFF|FORCC, ! 318: SAREG|AWD, TANY, ! 319: SAREG|AWD, TANY, ! 320: 0, RLEFT|RRIGHT|RESCC, ! 321: " ZA\n", ! 322: ! 323: ASSIGN, INAREG|FOREFF, ! 324: SFLD, TANY, ! 325: SZERO, TANY, ! 326: 0, RRIGHT, ! 327: " andl2 N,AL\n", ! 328: ! 329: ASSIGN, INAREG|FOREFF, ! 330: SFLD, TANY, ! 331: SCON, TANY, ! 332: 0, RRIGHT, ! 333: " andl2 N,AL\n orl2 ZF,AL\n", ! 334: ! 335: ASSIGN, INAREG|FOREFF, ! 336: SFLD, TANY, ! 337: SAREG|AWD, TWORD, ! 338: NAREG|NASL, RRIGHT, ! 339: " shll $H,AR,A1\n andl2 M,A1\n andl2 N,AL\n\ ! 340: orl2 A1,AL\n", ! 341: ! 342: /* dummy UNARY MUL entry to get U* to possibly match OPLTYPE */ ! 343: UNARY MUL, FOREFF, ! 344: SCC, TANY, ! 345: SCC, TANY, ! 346: 0, RNULL, ! 347: " help help help\n", ! 348: ! 349: REG, INTEMP, ! 350: SANY, TANY, ! 351: SAREG, TDOUBLE, ! 352: 2*NTEMP, RESC1, ! 353: " movl UR,U1\n movl AR,A1\n", ! 354: ! 355: REG, INTEMP, ! 356: SANY, TANY, ! 357: SAREG, TANY, ! 358: NTEMP, RESC1, ! 359: " movl AR,A1\n", ! 360: ! 361: #ifdef FORT ! 362: REG, FORARG, ! 363: SANY, TANY, ! 364: SAREG, TFLOAT, ! 365: 0, RNULL, ! 366: " pushl $0\n pushl AR\n", ! 367: ! 368: REG, FORARG, ! 369: SANY, TANY, ! 370: SAREG, TDOUBLE, ! 371: 0, RNULL, ! 372: " pushl UR\n pushl AR\n", ! 373: #endif ! 374: ! 375: OPLEAF, FOREFF, ! 376: SANY, TANY, ! 377: SAREG|AWD, TANY, ! 378: 0, RLEFT, ! 379: "", ! 380: ! 381: OPLTYPE, INAREG|INTAREG, ! 382: SANY, TANY, ! 383: SAREG|SNAME|SCON|SOREG, TDOUBLE, ! 384: 2*NAREG|NASR, RESC1, ! 385: " movl UR,U1\n movl AR,A1\n", ! 386: ! 387: OPLTYPE, INAREG|INTAREG, ! 388: SANY, TANY, ! 389: SAREG|AWD, TFLOAT, ! 390: 2*NAREG|NASR, RESC1, ! 391: " clrl U1\n movl AR,A1\n", ! 392: ! 393: OPLTYPE, INAREG|INTAREG, ! 394: SANY, TANY, ! 395: SANY, TANY, ! 396: NAREG|NASR, RESC1, ! 397: " ZA\n", ! 398: ! 399: OPLTYPE, FORCC, ! 400: SANY, TANY, ! 401: SANY, TANY, ! 402: 0, RESCC, ! 403: " tstZR AR\n", ! 404: ! 405: OPLTYPE, FORARG, ! 406: SANY, TANY, ! 407: SANY, TWORD, ! 408: 0, RNULL, ! 409: " pushl AR\n", ! 410: ! 411: OPLTYPE, FORARG, ! 412: SANY, TANY, ! 413: SANY, TCHAR|TSHORT, ! 414: 0, RNULL, ! 415: " pushZR AR\n", ! 416: ! 417: OPLTYPE, FORARG, ! 418: SANY, TANY, ! 419: SANY, TUCHAR|TUSHORT, ! 420: 0, RNULL, ! 421: " movzZRl AR,-(sp)\n", ! 422: ! 423: OPLTYPE, FORARG, ! 424: SANY, TANY, ! 425: SANY, TDOUBLE, ! 426: 0, RNULL, ! 427: " pushl UR\n pushl AR\n", ! 428: ! 429: OPLTYPE, FORARG, ! 430: SANY, TANY, ! 431: SANY, TFLOAT, ! 432: 0, RNULL, ! 433: " pushl $0\n pushl AR\n", ! 434: ! 435: UNARY MINUS, INTAREG|FORCC, ! 436: SAREG|AWD, ANYSIGNED|TUNSIGNED, ! 437: SANY, TANY, ! 438: NAREG|NASL, RESC1|RESCC, ! 439: " mnegZL AL,A1\n", ! 440: ! 441: COMPL, INTAREG|FORCC, ! 442: SAREG|AWD, ANYSIGNED|TUNSIGNED, ! 443: SANY, TANY, ! 444: NAREG|NASL, RESC1|RESCC, ! 445: " mcomZL AL,A1\n", ! 446: ! 447: COMPL, INTAREG|FORCC, ! 448: SAREG|AWD, ANYFIXED, ! 449: SANY, TANY, ! 450: NAREG|NASL, RESC1|RESCC, ! 451: " cvtZLl AL,A1\n mcoml A1,A1\n", ! 452: ! 453: AND, FORCC, ! 454: SAREG|AWD, TWORD, ! 455: SAREG|AWD, TWORD, ! 456: 0, RESCC, ! 457: " bitl AR,AL\n", ! 458: ! 459: AND, FORCC, ! 460: SAREG|AWD, TSHORT|TUSHORT, ! 461: SSCON, TWORD, ! 462: 0, RESCC, ! 463: " bitw AR,AL\n", ! 464: ! 465: AND, FORCC, ! 466: SAREG|AWD, TSHORT|TUSHORT, ! 467: SAREG|AWD, TSHORT|TUSHORT, ! 468: 0, RESCC, ! 469: " bitw AR,AL\n", ! 470: ! 471: AND, FORCC, ! 472: SAREG|AWD, TCHAR|TUCHAR, ! 473: SCCON, TWORD, ! 474: 0, RESCC, ! 475: " bitb AR,AL\n", ! 476: ! 477: AND, FORCC, ! 478: SAREG|AWD, TCHAR|TUCHAR, ! 479: SAREG|AWD, TCHAR|TUCHAR, ! 480: 0, RESCC, ! 481: " bitb AR,AL\n", ! 482: ! 483: ASG DIV, INAREG|FOREFF|FORCC, /* should have been done in mip */ ! 484: SAREG|AWD, ANYFIXED, ! 485: SONE, TWORD, ! 486: 0, RLEFT|RESCC, ! 487: " tstZL AL\n", ! 488: ! 489: ASG DIV, INAREG|FOREFF|FORCC, ! 490: SAREG|AWD, TUNSIGNED, ! 491: SAREG|AWD, TWORD, ! 492: 2*NAREG|NEVEN, RLEFT|RESCC, ! 493: "ZM ediv AR,A1,A2,U2\n movl A2,AL\n", ! 494: ! 495: ASG DIV, INAREG|FOREFF|FORCC, ! 496: SAREG|AWD, TUSHORT|TUCHAR, ! 497: SAREG|AWD, TWORD, ! 498: NAREG|NASL, RLEFT|RESC1|RESCC, ! 499: " movzZLl AL,A1\n divl2 AR,A1\n cvtlZL A1,AL\n", ! 500: ! 501: DIV, INAREG|INTAREG|FORCC, ! 502: SAREG|AWD, TUSHORT|TUCHAR, ! 503: SAREG|AWD, TWORD, ! 504: NAREG|NASL, RESC1|RESCC, ! 505: " movzZLl AL,A1\n divl2 AR,A1\n", ! 506: ! 507: DIV, INAREG|INTAREG|FORCC, ! 508: SAREG|AWD, TUNSIGNED, ! 509: SAREG|AWD, TWORD, ! 510: 2*NAREG|NEVEN, RESC2|RESCC, ! 511: "ZM ediv AR,A1,A2,U2\n", ! 512: ! 513: ASG MOD, INAREG|FOREFF, ! 514: SAREG|AWD, ANYFIXED, ! 515: SONE, TWORD, ! 516: 0, RLEFT, ! 517: " clrZL AL\n", ! 518: ! 519: MOD, INAREG|INTAREG, ! 520: STAREG, TWORD, ! 521: SONE, TWORD, ! 522: 0, RLEFT, ! 523: " clrl AL\n", ! 524: ! 525: MOD, INAREG|INTAREG, ! 526: SAREG|AWD, ANYFIXED, ! 527: SONE, TWORD, ! 528: 0, RESC1, ! 529: " clrl A1\n", ! 530: ! 531: ASG MOD, INAREG|FOREFF, ! 532: SAREG|AWD, TWORD, ! 533: SAREG|AWD, TWORD, ! 534: 2*NAREG|NEVEN, RLEFT, ! 535: "ZM ediv AR,A1,A2,U2\n movl U2,AL\n", ! 536: ! 537: MOD, INAREG|INTAREG, ! 538: SAREG|AWD, TWORD, ! 539: SAREG|AWD, TWORD, ! 540: 2*NAREG|NEVEN, RESC3, ! 541: "ZM ediv AR,A1,A2,U2\n", ! 542: ! 543: ASG OPMUL, INAREG|FOREFF|FORCC, ! 544: SAREG|AWD, TWORD, ! 545: SAREG|AWD, TWORD, ! 546: 0, RLEFT|RESCC, ! 547: " OL2 AR,AL\n", ! 548: ! 549: OPMUL, INAREG|INTAREG|FORCC, ! 550: STAREG, TWORD, ! 551: SAREG|AWD, TWORD, ! 552: 0, RLEFT|RESCC, ! 553: " OL2 AR,AL\n", ! 554: ! 555: OPMUL, INAREG|INTAREG|FORCC, ! 556: SAREG|AWD, TWORD, ! 557: SAREG|AWD, TWORD, ! 558: NAREG|NASL|NASR, RESC1|RESCC, ! 559: " OL3 AR,AL,A1\n", ! 560: ! 561: ASG PLUS, INAREG|FOREFF|FORCC, ! 562: SAREG, TWORD, ! 563: SONE, TINT, ! 564: 0, RLEFT|RESCC, ! 565: " incZL AL\n", ! 566: ! 567: ASG PLUS, INAREG|FOREFF|FORCC, ! 568: AWD, ANYFIXED, ! 569: SONE, TINT, ! 570: 0, RLEFT|RESCC, ! 571: " incZL AL\n", ! 572: /* ! 573: ASG PLUS, INAREG|FOREFF|FORCC, ! 574: SAREG, TSHORT|TCHAR, ! 575: SONE, TINT, ! 576: 0, RLEFT|RESCC, ! 577: " incZL AL\n cvtZLl AL,AL\n", ! 578: ! 579: ASG PLUS, INAREG|FOREFF|FORCC, ! 580: SAREG, TUSHORT|TUCHAR, ! 581: SONE, TINT, ! 582: 0, RLEFT|RESCC, ! 583: " incZL AL\n movzZLl AL,AL\n", ! 584: */ ! 585: ASG MINUS, INAREG|FOREFF|FORCC, ! 586: SAREG, TWORD, ! 587: SONE, TINT, ! 588: 0, RLEFT|RESCC, ! 589: " decZL AL\n", ! 590: ! 591: ASG MINUS, INAREG|FOREFF|FORCC, ! 592: AWD, ANYFIXED, ! 593: SONE, TINT, ! 594: 0, RLEFT|RESCC, ! 595: " decZL AL\n", ! 596: /* ! 597: ASG MINUS, INAREG|FOREFF|FORCC, ! 598: SAREG, TSHORT|TCHAR, ! 599: SONE, TINT, ! 600: 0, RLEFT|RESCC, ! 601: " decZL AL\n cvtZLl AL,AL\n", ! 602: ! 603: ASG MINUS, INAREG|FOREFF|FORCC, ! 604: SAREG, TUSHORT|TUCHAR, ! 605: SONE, TINT, ! 606: 0, RLEFT|RESCC, ! 607: " decZL AL\n movzZLl AL,AL\n", ! 608: */ ! 609: PLUS, INAREG|INTAREG|FORCC, ! 610: STAREG, TWORD, ! 611: SONE, TWORD, ! 612: 0, RLEFT|RESCC, ! 613: " incZL AL\n", ! 614: /* ! 615: PLUS, INAREG|INTAREG|FORCC, ! 616: STAREG, TSHORT|TCHAR, ! 617: SONE, TWORD, ! 618: 0, RLEFT|RESCC, ! 619: " incZL AL\n cvtZLl AL,AL\n", ! 620: ! 621: PLUS, INAREG|INTAREG|FORCC, ! 622: STAREG, TUSHORT|TUCHAR, ! 623: SONE, TWORD, ! 624: 0, RLEFT|RESCC, ! 625: " incZL AL\n movzZLl AL,AL\n", ! 626: */ ! 627: MINUS, INAREG|INTAREG|FORCC, ! 628: STAREG, TWORD, ! 629: SONE, TWORD, ! 630: 0, RLEFT|RESCC, ! 631: " decZL AL\n", ! 632: /* ! 633: MINUS, INAREG|INTAREG|FORCC, ! 634: STAREG, TSHORT|TCHAR, ! 635: SONE, TWORD, ! 636: 0, RLEFT|RESCC, ! 637: " decZL AL\n cvtZLl AL,AL\n", ! 638: ! 639: MINUS, INAREG|INTAREG|FORCC, ! 640: STAREG, TUSHORT|TUCHAR, ! 641: SONE, TWORD, ! 642: 0, RLEFT|RESCC, ! 643: " decZL AL\n movzZLl AL,AL\n", ! 644: */ ! 645: ASG OPSIMP, INAREG|FOREFF|FORCC, ! 646: SAREG|AWD, TWORD, ! 647: SAREG|AWD, TWORD, ! 648: 0, RLEFT|RESCC, ! 649: " OL2 AR,AL\n", ! 650: ! 651: ASG OPSIMP, INAREG|FOREFF|FORCC, ! 652: SAREG, TWORD, ! 653: SAREG, TSHORT|TUSHORT|TCHAR|TUCHAR, ! 654: 0, RLEFT|RESCC, ! 655: " OL2 AR,AL\n", ! 656: ! 657: ASG OPSIMP, INAREG|FOREFF|FORCC, ! 658: AWD, TSHORT|TUSHORT, ! 659: SAREG|AWD, TSHORT|TUSHORT, ! 660: 0, RLEFT|RESCC, ! 661: " OW2 AR,AL\n", ! 662: ! 663: ASG OPSIMP, INAREG|FOREFF|FORCC, ! 664: AWD, TSHORT|TUSHORT, ! 665: SSCON, TWORD, ! 666: 0, RLEFT|RESCC, ! 667: " OW2 AR,AL\n", ! 668: ! 669: ASG OPSIMP, INAREG|FOREFF|FORCC, ! 670: AWD, TCHAR|TUCHAR, ! 671: SAREG|AWD, TCHAR|TUCHAR, ! 672: 0, RLEFT|RESCC, ! 673: " OB2 AR,AL\n", ! 674: ! 675: ASG OPSIMP, INAREG|FOREFF|FORCC, ! 676: AWD, TCHAR|TUCHAR, ! 677: SCCON, TWORD, ! 678: 0, RLEFT|RESCC, ! 679: " OB2 AR,AL\n", ! 680: /* ! 681: ASG OPSIMP, INAREG|FOREFF|FORCC, ! 682: SAREG, TSHORT, ! 683: SAREG|AWD, ANYFIXED, ! 684: 0, RLEFT|RESCC, ! 685: " OW2 AR,AL\n cvtZLl AL,AL\n", ! 686: ! 687: ASG OPSIMP, INAREG|FOREFF|FORCC, ! 688: SAREG, TUSHORT, ! 689: SAREG|AWD, ANYFIXED, ! 690: 0, RLEFT|RESCC, ! 691: " OW2 AR,AL\n movzZLl AL,AL\n", ! 692: ! 693: ASG OPSIMP, INAREG|FOREFF|FORCC, ! 694: SAREG, TCHAR, ! 695: SAREG|AWD, ANYFIXED, ! 696: 0, RLEFT|RESCC, ! 697: " OB2 AR,AL\n cvtZLl AL,AL\n", ! 698: ! 699: ASG OPSIMP, INAREG|FOREFF|FORCC, ! 700: SAREG, TUCHAR, ! 701: SAREG|AWD, ANYFIXED, ! 702: 0, RLEFT|RESCC, ! 703: " OB2 AR,AL\n movzZLl AL,AL\n", ! 704: */ ! 705: OPSIMP, INAREG|INTAREG|FORCC, ! 706: STAREG, ANYFIXED, ! 707: SAREG|AWD, TWORD, ! 708: 0, RLEFT|RESCC, ! 709: " OL2 AR,AL\n", ! 710: ! 711: OPSIMP, INAREG|INTAREG|FORCC, ! 712: SAREG|AWD, TWORD, ! 713: SAREG|AWD, TWORD, ! 714: NAREG|NASL|NASR, RESC1|RESCC, ! 715: " OL3 AR,AL,A1\n", ! 716: ! 717: /* Default actions for hard trees ... */ ! 718: ! 719: # define DF(x) FORREW,SANY,TANY,SANY,TANY,REWRITE,x,"" ! 720: ! 721: UNARY MUL, DF( UNARY MUL ), ! 722: ! 723: INCR, DF(INCR), ! 724: ! 725: DECR, DF(INCR), ! 726: ! 727: ASSIGN, DF(ASSIGN), ! 728: ! 729: STASG, DF(STASG), ! 730: ! 731: FLD, DF(FLD), ! 732: ! 733: OPLEAF, DF(NAME), ! 734: ! 735: OPLOG, FORCC, ! 736: SANY, TANY, ! 737: SANY, TANY, ! 738: REWRITE, BITYPE, ! 739: "", ! 740: ! 741: OPLOG, DF(NOT), ! 742: ! 743: COMOP, DF(COMOP), ! 744: ! 745: INIT, DF(INIT), ! 746: ! 747: OPUNARY, DF(UNARY MINUS), ! 748: ! 749: ! 750: ASG OPANY, DF(ASG PLUS), ! 751: ! 752: OPANY, DF(BITYPE), ! 753: ! 754: FREE, FREE, FREE, FREE, FREE, FREE, FREE, FREE, "help; I'm in trouble\n" };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.