Annotation of researchv10no/cmd/PDP11/11c/optable, revision 1.1.1.1

1.1       root        1: %{
                      2: /*
                      3:  * c code tables-- compile to register
                      4:  */
                      5: 
                      6: struct table regtab[] = {
                      7:        {106,cr106},
                      8:        {30,cr70},
                      9:        {31,cr70},
                     10:        {32,cr32},
                     11:        {33,cr32},
                     12:        {37,cr37},
                     13:        {38,cr37},
                     14:        {98,cr100},
                     15:        {99,cr100},
                     16:        {80,cr80},
                     17:        {40,cr40},
                     18:        {41,cr40        /* - like + */},
                     19:        {42,cr42},
                     20:        {43,cr43},
                     21:        {14,cr14},
                     22:        {44,cr43},
                     23:        {45,cr45},
                     24:        {46,cr40},
                     25:        {55,cr40},
                     26:        {48,cr40},
                     27:        {49,cr49},
                     28:        {70,cr70},
                     29:        {71,cr70},
                     30:        {72,cr72},
                     31:        {73,cr73},
                     32:        {74,cr74},
                     33:        {75,cr75},
                     34:        {76,cr72},
                     35:        {78,cr70},
                     36:        {85,cr70},
                     37:        {79,cr79},
                     38:        {102,cr102},
                     39:        {51,cr51},
                     40:        {52,cr52},
                     41:        {56,cr56},
                     42:        {57,cr57},
                     43:        {58,cr58},
                     44:        {59,cr59},
                     45:        {91,cr91},
                     46:        {82,cr82},
                     47:        {83,cr82},
                     48:        {84,cr82},
                     49:        {86,cr86},
                     50:        {87,cr86},
                     51:        {88,cr86},
                     52:        {16,cr16},
                     53:        {92,cr92},
                     54:        {17,cr43},
                     55:        {18,cr74},
                     56:        {109,cr109},
                     57:        {117,cr117},
                     58:        {118,cr117},
                     59:        {119,cr119},
                     60:        {120,cr119},
                     61:        {107,cr107},
                     62:        {0}
                     63: };
                     64: %}
                     65: 
                     66: /* goto */
                     67: cr102:
                     68: %a,n
                     69:        jmp     A1
                     70: 
                     71: %n*,n
                     72:        F*
                     73:        jmp     #1(R)
                     74: 
                     75: /* call */
                     76: cr100:
                     77: %a,n
                     78:        jsr     pc,IA1
                     79: 
                     80: %n*,n
                     81:        F*
                     82:        jsr     pc,#1(R)
                     83: 
                     84: %n,n
                     85:        F
                     86:        jsr     pc,(R)
                     87: 
                     88: /* addressible */
                     89: cr106:
                     90: %z,n
                     91:        clr     R
                     92: 
                     93: %zf,n
                     94:        clrf    R
                     95: 
                     96: %aub,n
                     97:        movb    A1,R
                     98:        bic     $!377,R
                     99: 
                    100: %a,n
                    101: %ad,n
                    102:        movB1   A1,R
                    103: 
                    104: %af,n
                    105:        movof   A1,R
                    106: 
                    107: %nub*,n
                    108:        F*
                    109:        movb    #1(R),R
                    110:        bic     $!377,R
                    111: 
                    112: %n*,n
                    113: %nd*,n
                    114:        F*
                    115:        movB1   #1(R),R
                    116: 
                    117: %nf*,n
                    118:        F*
                    119:        movof   #1(R),R
                    120: 
                    121: %al,n
                    122:        mov     A1+,R+
                    123:        mov     A1,R
                    124: 
                    125: %nl*,n
                    126:        F*
                    127:        mov     #1+2(R),R+
                    128:        mov     #1(R),R
                    129: 
                    130: %n,n
                    131:        F
                    132: 
                    133: /* ++,-- postfix */
                    134: cr32:
                    135: %a,1
                    136:        movB1   A1',R
                    137:        I'B1    A1''
                    138: 
                    139: %aw,n
                    140:        mov     A1',R
                    141:        I       A2,A1''
                    142: 
                    143: %aub,n
                    144:        clr     R
                    145:        bisb    A1',R
                    146:        I'b     A1''
                    147: 
                    148: %e*,1
                    149:        F1*
                    150:        movB1   #1(R1),R
                    151:        I'B1    #1(R1)
                    152: 
                    153: %n*,1
                    154:        F*
                    155:        movB1   #1(R),-(sp)
                    156:        I'B1    #1(R)
                    157:        movB1   (sp)+,R
                    158: 
                    159: %ew*,n
                    160:        F1*
                    161:        mov     #1(R1),R
                    162:        I       A2,#1(R1)
                    163: 
                    164: %eub*,n
                    165:        F1*
                    166:        clr     R
                    167:        bisb    #1(R1),R
                    168:        I'b     #1(R1)
                    169: 
                    170: %nw*,n
                    171:        F*
                    172:        mov     #1(R),-(sp)
                    173:        I       A2,#1(R)
                    174:        mov     (sp)+,R
                    175: 
                    176: %nub*,n
                    177:        F*
                    178:        movb    (R),-(sp)
                    179:        I'b     (R)
                    180:        clr     R
                    181:        bisb    (sp)+,R
                    182: 
                    183: %al,1
                    184:        F
                    185:        I       $1,A1+
                    186:        V       A1
                    187: 
                    188: %el*,1
                    189:        F1*
                    190:        mov     #1+2(R1),R+
                    191:        mov     #1(R1),R
                    192:        I       $1,#1+2(R1)
                    193:        V       #1(R1)
                    194: 
                    195: %nl*,1
                    196:        F*
                    197:        mov     #1+2(R),-(sp)
                    198:        mov     #1(R),-(sp)
                    199:        I       $1,#1+2(R)
                    200:        V       #1(R)
                    201:        mov     (sp)+,R
                    202:        mov     (sp)+,R+
                    203: 
                    204: /* - unary, ~ */
                    205: cr37:
                    206: %n,n
                    207: %nf,n
                    208:        F
                    209:        IBF     R
                    210: 
                    211: %nl,n
                    212:        F
                    213:        I       R
                    214:        I       R+
                    215:        V       R
                    216: 
                    217: /* = */
                    218: cr80:
                    219: %a,n
                    220: %ad,nf
                    221:        S
                    222:        movB1   R,A1
                    223: 
                    224: %aub,n
                    225:        S
                    226:        movB1   R,A1
                    227:        bic     $!377,R
                    228: 
                    229: %af,nf
                    230:        S
                    231:        movfo   R,A1
                    232: 
                    233: %nd*,af
                    234:        F*
                    235:        S
                    236:        movf    R,#1(R)
                    237: 
                    238: %n*,aw
                    239:        F*
                    240:        movB1   A2,#1(R)
                    241:        movB1   #1(R),R
                    242: 
                    243: %nf*,af
                    244:        F*
                    245:        S
                    246:        movfo   R,#1(R)
                    247: 
                    248: %n*,e
                    249:        F*
                    250:        S1
                    251:        movB1   R1,#1(R)
                    252:        movB1   R1,R
                    253: 
                    254: %nub*,e
                    255:        F*
                    256:        S1
                    257:        movB1   R1,#1(R)
                    258:        mov     R1,R
                    259:        bic     $!377,R
                    260: 
                    261: %ed*,nf
                    262:        S
                    263:        F1*
                    264:        movf    R,#1(R1)
                    265: 
                    266: %ef*,nf
                    267:        S
                    268:        F1*
                    269:        movfo   R,#1(R1)
                    270: 
                    271: %n*,n
                    272: %nd*,nf
                    273:        FS*
                    274:        S
                    275:        movB1   R,*(sp)+
                    276: 
                    277: %nub*,n
                    278:        FS*
                    279:        S
                    280:        movB1   R,*(sp)+
                    281:        bic     $!377,R
                    282: 
                    283: %nf*,nf
                    284:        FS*
                    285:        S
                    286:        movfo   R,*(sp)+
                    287: 
                    288: %al,nl
                    289:        S
                    290:        mov     R+,A1+
                    291:        mov     R,A1
                    292: 
                    293: %el*,nl
                    294:        S
                    295:        F1*
                    296:        mov     R+,2+#1(R1)
                    297:        mov     R,#1(R1)
                    298: 
                    299: %nl*,nl
                    300:        FS*
                    301:        S
                    302:        mov     R,*(sp)
                    303:        add     $2,(sp)
                    304:        mov     R+,*(sp)+
                    305: 
                    306: /* field assign, value in reg. */
                    307: cr16:
                    308: %a,n
                    309:        S
                    310:        bicB1   Z,A1'
                    311:        bisB1   R,A1''
                    312: 
                    313: %e*,n
                    314: %      [fas1]
                    315: 
                    316: %n*,n
                    317:        SS
                    318:        F*
                    319:        bicB1   Z,#1(R)
                    320:        bisB1   (sp),#1(R)
                    321:        mov     (sp)+,R
                    322: 
                    323: /* +, -, |, &~, << */
                    324: cr40:
                    325: %n,z
                    326:        F
                    327: 
                    328: %n,1
                    329:        F
                    330:        I'      R
                    331: 
                    332: %[add1:]
                    333: %n,aw
                    334: %nf,ad
                    335:        F
                    336:        IB2     A2,R
                    337: 
                    338: %[add2:]
                    339: %n,ew*
                    340: %nf,ed*
                    341:        F
                    342:        S1*
                    343:        IB2     #2(R1),R
                    344: 
                    345: %[add3:]
                    346: %n,e
                    347: %nf,ef
                    348:        F
                    349:        S1
                    350:        IBF     R1,R
                    351: 
                    352: %[add4:]
                    353: %n,nw*
                    354: %nf,nd*
                    355:        SS*
                    356:        F
                    357:        IB2     *(sp)+,R
                    358: 
                    359: %[add5:]
                    360: %n,n
                    361: %nf,nf
                    362:        SS
                    363:        F
                    364:        IBF     (sp)+,R
                    365: 
                    366: %nl,c
                    367: %nl,au
                    368:        F
                    369:        I       A2,R+
                    370:        V       R
                    371: 
                    372: %nl,eu
                    373:        F
                    374:        S1
                    375:        I       R1,R+
                    376:        V       R
                    377: 
                    378: %nl,al
                    379:        F
                    380:        I       A2,R
                    381:        I       A2+,R+
                    382:        V       R
                    383: 
                    384: %[addl1:]
                    385: %nl,el
                    386:        F
                    387:        S1
                    388:        I       R1+,R+
                    389:        V       R
                    390:        I       R1,R
                    391: 
                    392: %[addl2:]
                    393: %nl,nl
                    394:        SS
                    395:        F
                    396:        I       (sp)+,R
                    397:        I       (sp)+,R+
                    398:        V       R
                    399: 
                    400: /* ^ -- xor */
                    401: cr49:
                    402: %n,e
                    403: %      [add3]
                    404: 
                    405: %n,n
                    406:        FS
                    407:        S
                    408:        xor     R,(sp)
                    409:        mov     (sp)+,R
                    410: 
                    411: %nl,el
                    412: %      [addl1]
                    413: 
                    414: %nl,nl
                    415:        SS
                    416:        F
                    417:        I       R,(sp)
                    418:        mov     (sp)+,R
                    419:        I       R+,(sp)
                    420:        mov     (sp)+,R+
                    421: 
                    422: /* >> (all complicated cases taken care of by << -) */
                    423: cr45:
                    424: %n,1
                    425:        F
                    426:        asr     R
                    427: 
                    428: /* * -- R must be odd on integers */
                    429: cr42:
                    430: %n,aw
                    431: %nf,ad
                    432: %      [add1]
                    433: 
                    434: %n,ew*
                    435: %nf,ed*
                    436: %      [add2]
                    437: 
                    438: %n,e
                    439: %nf,ef
                    440: %      [add3]
                    441: 
                    442: %n,n
                    443: %nf,nf
                    444: %      [add5]
                    445: 
                    446: /* / R must be odd on integers */
                    447: cr43:
                    448: %n,aw
                    449:        F
                    450:        T
                    451:        I       A2,R-
                    452: 
                    453: %n,ew*
                    454:        F
                    455:        T
                    456:        S1*
                    457:        I       #2(R1),R-
                    458: 
                    459: %n,e
                    460:        F
                    461:        T
                    462:        S1
                    463:        I       R1,R-
                    464: 
                    465: %n,n
                    466:        SS
                    467:        F
                    468:        T
                    469:        I       (sp)+,R-
                    470: 
                    471: %nf,ad
                    472: %      [add1]
                    473: 
                    474: %nf,ed*
                    475: %      [add2]
                    476: 
                    477: %nf,ef
                    478: %      [add3]
                    479: 
                    480: %nf,nf
                    481: %      [add5]
                    482: 
                    483: /* PTOI */
                    484: cr14:
                    485: %nl,a
                    486:        F!
                    487:        div     A2,R
                    488: 
                    489: /* =+, =-, =|, =&~ */
                    490: cr70:
                    491: %[addq1:]
                    492: %aw,aw
                    493:        I       A2,A1'
                    494:        mov     A1'',R
                    495: 
                    496: %[addq20:]
                    497: %aub,aw
                    498:        clr     R
                    499:        bisb    A1',R
                    500:        I       A2,R
                    501:        movb    R,A1''
                    502:        bic     $!377,R
                    503: 
                    504: %[addq1a:]
                    505: %a,aw
                    506: %ad,ad
                    507:        movB1   A1',R
                    508:        IBF     A2,R
                    509:        movB1   R,A1''
                    510: 
                    511: %[addq2:]
                    512: %aw,nw*
                    513:        S*
                    514:        I       #2(R),A1'
                    515:        mov     A1'',R
                    516: 
                    517: %[addq3:]
                    518: %aw,n
                    519:        S
                    520:        I       R,A1'
                    521:        mov     A1'',R
                    522: 
                    523: %[addq21:]
                    524: %aub,n
                    525:        SS
                    526:        clr     R
                    527:        bisb    A1',R
                    528:        I       (sp)+,R
                    529:        movb    R,A1''
                    530:        bic     $!377,R
                    531: 
                    532: %[addq4:]
                    533: %ew*,nw*
                    534:        S*
                    535:        F1*
                    536:        I       #2(R),#1(R1)
                    537:        mov     #1(R1),R
                    538: 
                    539: %[addq4a:]
                    540: %ad,ef
                    541:        movf    A1',R
                    542:        S1
                    543:        IBF     R1,R
                    544:        movf    R,A1''
                    545: 
                    546: %[addq5:]
                    547: %a,n
                    548: %ad,nf
                    549:        SS
                    550:        movB1   A1',R
                    551:        IBF     (sp)+,R
                    552:        movB1   R,A1''
                    553: 
                    554: %[addq6:]
                    555: %af,nf
                    556:        SS
                    557:        movof   A1',R
                    558:        IBF     (sp)+,R
                    559:        movfo   R,A1''
                    560: 
                    561: %[addq7:]
                    562: %ew*,n
                    563:        S
                    564:        F1*
                    565:        I       R,#1(R1)
                    566:        mov     #1(R1),R
                    567: 
                    568: %[addq8:]
                    569: %nw*,n
                    570:        SS
                    571:        F*
                    572:        I       (sp)+,#1(R)
                    573:        mov     #1(R),R
                    574: 
                    575: %[addq9:]
                    576: %n*,n
                    577:        FS*
                    578:        SS
                    579:        movB1   *2(sp),R
                    580:        IBF     (sp)+,R
                    581:        movB1   R,*(sp)+
                    582: 
                    583: %[addq22:]
                    584: %nub*,n
                    585:        FS*
                    586:        SS
                    587:        clr     R
                    588:        bisb    *2(sp),R
                    589:        I       (sp)+,R
                    590:        movb    R,*(sp)+
                    591:        bic     $!377,R
                    592: 
                    593: %[addq9a:]
                    594: %nd*,nf
                    595:        SS
                    596:        F*
                    597:        movB1   #1(R),R
                    598:        IBF     (sp)+,R
                    599:        movB1   R,#1(R)
                    600: 
                    601: %[addq10:]
                    602: %nf*,nf
                    603:        SS
                    604:        F*
                    605:        movof   #1(R),R1
                    606:        IBF     (sp)+,R1
                    607:        movfo   R1,#1(R)
                    608:        movf    R1,R
                    609: 
                    610: %al,c
                    611:        I       A2,A1+
                    612:        V       A1
                    613:        F
                    614: 
                    615: %al,al
                    616:        I       A2+,A1+
                    617:        V       A1
                    618:        I       A2,A1
                    619:        F
                    620: 
                    621: %al,nl
                    622:        S
                    623:        I       R+,A1+
                    624:        V       A1
                    625:        I       R,A1
                    626:        F
                    627: 
                    628: %nl*,c
                    629:        F*
                    630:        I       A2,#1+2(R)
                    631:        V       #1(R)
                    632:        mov     #1+2(R),R+
                    633:        mov     #1(R),R
                    634: 
                    635: %nl*,al
                    636:        F*
                    637:        I       A2+,#1+2(R)
                    638:        V       #1(R)
                    639:        I       A2,#1(R)
                    640:        mov     #1+2(R),R+
                    641:        mov     #1(R),R
                    642: 
                    643: %nl*,nl
                    644:        SS
                    645:        F*
                    646:        I       (sp)+,#1(R)
                    647:        I       (sp)+,#1+2(R)
                    648:        V       #1(R)
                    649:        mov     #1+2(R),R+
                    650:        mov     #1(R),R
                    651: 
                    652: /* =*, =<< (for integer multiply, R must be odd) */
                    653: cr72:
                    654: %a,aw
                    655: %ad,ad
                    656: %      [addq1a]
                    657: 
                    658: %ad,ef
                    659: %      [addq4a]
                    660: 
                    661: %a,n
                    662: %ad,nf
                    663: %      [addq5]
                    664: 
                    665: %af,nf
                    666: %      [addq6]
                    667: 
                    668: %aub,aw
                    669: %      [addq20]
                    670: 
                    671: %aub,n
                    672: %      [addq21]
                    673: 
                    674: %n*,n
                    675: %      [addq9]
                    676: 
                    677: %nub*,n
                    678: %      [addq22]
                    679: 
                    680: %nd*,nf
                    681: %      [addq9a]
                    682: 
                    683: %nf*,nf
                    684: %      [addq10]
                    685: 
                    686: /* =/ ;  R must be odd on integers */
                    687: cr73:
                    688: %a,aw
                    689:        movB1   A1',R
                    690:        V       R-
                    691:        IBF     A2,R-
                    692:        movB1   R-,A1''
                    693: 
                    694: %a,n
                    695:        SS
                    696:        movB1   A1',R
                    697:        V       R-
                    698:        I       (sp)+,R-
                    699:        movB1   R-,A1''
                    700: 
                    701: %aub,n
                    702:        SS
                    703:        clr     R
                    704:        bisB1   A1',R
                    705:        V       R-
                    706:        I       (sp)+,R-
                    707:        movB1   R-,A1''
                    708:        bic     $!377,R-
                    709: 
                    710: %e*,n
                    711:        SS
                    712:        F1*
                    713:        movB1   #1(R1),R
                    714:        V       R-
                    715:        I       (sp)+,R-
                    716:        movB1   R-,#1(R1)
                    717: 
                    718: %n*,n
                    719:        FS*
                    720:        SS
                    721:        movB1   *2(sp),R
                    722:        V       R-
                    723:        I       (sp)+,R-
                    724:        movB1   R-,*(sp)+
                    725: 
                    726: %nub*,n
                    727:        FS*
                    728:        SS
                    729:        clr     R
                    730:        bisB1   *2(sp),R
                    731:        V       R-
                    732:        I       (sp)+,R-
                    733:        movB1   R-,*(sp)+
                    734:        bic     $!377,R-
                    735: 
                    736: %ad,ad
                    737: %      [addq1a]
                    738: 
                    739: %ad,ef
                    740: %      [addq4a]
                    741: 
                    742: %ad,nf
                    743: %      [addq5]
                    744: 
                    745: %af,nf
                    746: %      [addq6]
                    747: 
                    748: %nd*,nf
                    749: %      [addq9a]
                    750: 
                    751: %nf*,nf
                    752: %      [addq10]
                    753: 
                    754: /* =mod; R must be odd on integers */
                    755: cr74:
                    756: %a,aw
                    757:        movB1   A1',R
                    758:        V       R-
                    759:        I       A2,R-
                    760:        movB1   R,A1''
                    761: 
                    762: %a,n
                    763:        SS
                    764:        movB1   A1',R
                    765:        V       R-
                    766:        I       (sp)+,R-
                    767:        movB1   R,A1''
                    768: 
                    769: %aub,n
                    770:        SS
                    771:        clr     R
                    772:        bisB1   A1',R
                    773:        V       R-
                    774:        I       (sp)+,R-
                    775:        movB1   R,A1''
                    776:        bic     $!377,R
                    777: 
                    778: %e*,n
                    779:        SS
                    780:        F1*
                    781:        movB1   #1(R1),R
                    782:        V       R-
                    783:        I       (sp)+,R-
                    784:        movB1   R,#1(R1)
                    785: 
                    786: %n*,n
                    787:        FS*
                    788:        SS
                    789:        movB1   *2(sp),R
                    790:        V       R-
                    791:        I       (sp)+,R-
                    792:        movB1   R,*(sp)+
                    793: 
                    794: %nub*,n
                    795:        FS*
                    796:        SS
                    797:        clr     R
                    798:        bisB1   *2(sp),R
                    799:        V       R-
                    800:        I       (sp)+,R-
                    801:        movB1   R,*(sp)+
                    802:        bic     $!377,R
                    803: 
                    804: /* =^ -- =xor */
                    805: cr79:
                    806: %aw,n
                    807: %      [addq3]
                    808: 
                    809: %ab,n
                    810:        SS
                    811:        movb    A1',R
                    812:        xor     R,(sp)
                    813:        mov     (sp)+,R
                    814:        movb    R,A1''
                    815: 
                    816: %aub,n
                    817:        SS
                    818:        clr     R
                    819:        bisb    A1',R
                    820:        xor     R,(sp)
                    821:        mov     (sp)+,R
                    822:        movb    R,A1''
                    823:        bic     $!377,R
                    824: 
                    825: %n*,n
                    826:        FS*
                    827:        movB1   *(sp),-(sp)
                    828:        S
                    829:        xor     R,(sp)
                    830:        movB1   (sp)+,R
                    831:        movB1   R,*(sp)+
                    832: 
                    833: %nub*,n
                    834:        FS*
                    835:        clr     -(sp)
                    836:        bisb    *2(sp),(sp)
                    837:        S
                    838:        xor     R,(sp)
                    839:        mov     (sp)+,R
                    840:        movb    R,*(sp)+
                    841:        bic     $!377,R
                    842: 
                    843: /* =>> (all complicated cases done by =<< -) */
                    844: cr75:
                    845: %a,1
                    846:        asrB1   A1'
                    847:        movB1   A1'',R
                    848: 
                    849: %n*,1
                    850:        F*
                    851:        asrB1   #1(R)
                    852:        movB1   #1(R),R
                    853: 
                    854: /* << for longs */
                    855: cr91:
                    856: %nl,aw
                    857: %      [add1]
                    858: 
                    859: %nl,ew*
                    860: %      [add2]
                    861: 
                    862: %nl,e
                    863: %      [add3]
                    864: 
                    865: %nl,nw*
                    866: %      [add4]
                    867: 
                    868: %nl,n
                    869: %      [add5]
                    870: 
                    871: /* int -> float */
                    872: cr51:
                    873: %aw,n
                    874:        movif   A1,R
                    875: 
                    876: %nw*,n
                    877:        F*
                    878:        movif   #1(R),R
                    879: 
                    880: %n,n
                    881:        F
                    882:        movif   R,R
                    883: 
                    884: /* float, double -> int */
                    885: cr52:
                    886: %nf,n
                    887:        F
                    888:        movfi   R,R
                    889: 
                    890: /* double (float) to long */
                    891: cr56:
                    892: %nf,n
                    893:        F
                    894:        setl
                    895:        movfi   R,-(sp)
                    896:        mov     (sp)+,R
                    897:        mov     (sp)+,R+
                    898:        seti
                    899: 
                    900: /* long to double */
                    901: cr57:
                    902: %al,n
                    903:        setl
                    904:        movif   A1,R
                    905:        seti
                    906: 
                    907: %nl*,n
                    908:        F*
                    909:        setl
                    910:        movif   #1(R),R
                    911:        seti
                    912: 
                    913: %nl,n
                    914:        FS
                    915:        setl
                    916:        movif   (sp)+,R
                    917:        seti
                    918: 
                    919: /* integer to long */
                    920: cr58:
                    921: %eu,n
                    922:        F1!
                    923:        clr     R
                    924: 
                    925: %nu,n
                    926:        F
                    927:        mov     R,R1
                    928:        clr     R
                    929: 
                    930: %e,n
                    931:        F1!
                    932:        sxt     R
                    933: 
                    934: %n,n
                    935:        F
                    936:        mov     R,R1
                    937:        sxt     R
                    938: 
                    939: /* long to integer */
                    940: cr59:
                    941: %al,n
                    942:        mov     A1+,R
                    943: 
                    944: %nl*,n
                    945:        F*
                    946:        mov     #1+2(R),R
                    947: 
                    948: /* *, /, remainder for longs. */
                    949: cr82:
                    950: %nl,nl
                    951:        SS
                    952:        FS
                    953:        jsr     pc,I
                    954:        add     $10,sp
                    955: 
                    956: /* =*, =/, =rem for longs */
                    957: /* Operands of the form &x op y, so stack space is known. */
                    958: cr86:
                    959: %n,nl
                    960:        SS
                    961:        FS
                    962:        jsr     pc,I
                    963:        add     $6,sp
                    964: 
                    965: /* convert integer to character (sign extend) */
                    966: cr109:
                    967: %n,n
                    968:        F
                    969:        movb    R,R
                    970: 
                    971: /* divide, remainder for unsigned */
                    972: cr117:
                    973: %n,e
                    974:        F!
                    975:        S1!
                    976:        jsr     pc,I
                    977: 
                    978: %n,n
                    979:        SS
                    980:        F!
                    981:        mov     (sp)+,R1
                    982:        jsr     pc,I
                    983: 
                    984: /* /= mod for unsigned */
                    985: cr119:
                    986: %aw,e
                    987: %ab,e
                    988:        movB1   A1',R
                    989:        S1!
                    990:        jsr     pc,I
                    991:        movB1   R,A1''
                    992: 
                    993: %aub,e
                    994:        clr     R
                    995:        bisB1   A1',R
                    996:        S1!
                    997:        jsr     pc,I
                    998:        movb    R,A1''
                    999:        bic     $!377,R
                   1000: 
                   1001: %aw,n
                   1002: %ab,n
                   1003:        SS
                   1004:        movB1   A1',R
                   1005:        mov     (sp)+,R1
                   1006:        jsr     pc,I
                   1007:        movB1   R,A1''
                   1008: 
                   1009: %nw*,n
                   1010: %nb*,n
                   1011:        FS*
                   1012:        S!
                   1013:        mov     R,R1
                   1014:        movB1   *(sp),R
                   1015:        jsr     pc,I
                   1016:        movB1   R,*(sp)+
                   1017: 
                   1018: %aub,n
                   1019:        SS
                   1020:        clr     R
                   1021:        bisB1   A1',R
                   1022:        mov     (sp)+,R1
                   1023:        jsr     pc,I
                   1024:        movB1   R,A1''
                   1025:        bic     $!377,R
                   1026: 
                   1027: %nub*,n
                   1028:        FS*
                   1029:        S!
                   1030:        mov     R,R1
                   1031:        clr     R
                   1032:        bisb    *(sp),R
                   1033:        jsr     pc,I
                   1034:        movB1   R,*(sp)+
                   1035:        bic     $!377,R
                   1036: 
                   1037: /* (int *) - (int *) */
                   1038: cr107:
                   1039: %n,n
                   1040:        F?
                   1041:        ror     R
                   1042: 
                   1043: %{
                   1044: /*
                   1045:  * c code tables -- compile for side effects.
                   1046:  * Also set condition codes properly (except for ++, --)
                   1047:  */
                   1048: 
                   1049: struct table efftab[] = {
                   1050:        {30,ci70},
                   1051:        {31,ci70},
                   1052:        {32,ci70},
                   1053:        {33,ci70},
                   1054:        {80,ci80},
                   1055:        {70,ci70},
                   1056:        {71,ci70        /* - like + */},
                   1057:        {78,ci78},
                   1058:        {79,ci79},
                   1059:        {85,ci78},
                   1060:        {75,ci75},
                   1061:        {76,ci76},
                   1062:        {16,ci16},
                   1063:        {116,ci116},
                   1064:        {0}
                   1065: };
                   1066: %}
                   1067: 
                   1068: /* = */
                   1069: ci80:
                   1070: %[move1:]
                   1071: %a,z
                   1072: %ad,zf
                   1073: %aub,z
                   1074:        I'B1    A1
                   1075: 
                   1076: %[move2:]
                   1077: %n*,z
                   1078: %nd*,zf
                   1079: %nub*,z
                   1080:        F*
                   1081:        I'B1    #1(R)
                   1082: 
                   1083: %[move3:]
                   1084: %a,aw
                   1085: %ab,a
                   1086: %aub,a
                   1087:        IBE     A2,A1
                   1088: 
                   1089: %[move4:]
                   1090: %ab,n*
                   1091: %a,nw*
                   1092: %aub,n*
                   1093:        S*
                   1094:        IBE     #2(R),A1
                   1095: 
                   1096: %[move5:]
                   1097: %a,n
                   1098: %aub,n
                   1099:        S
                   1100:        IB1     R,A1
                   1101: 
                   1102: %[move6:]
                   1103: %n*,aw
                   1104: %nb*,a
                   1105: %nub*,a
                   1106:        F*
                   1107:        IBE     A2,#1(R)
                   1108: 
                   1109: %[move7:]
                   1110: %n*,ew*
                   1111: %nb*,e*
                   1112: %nub*,e*
                   1113:        F*
                   1114:        S1*
                   1115:        IBE     #2(R1),#1(R)
                   1116: 
                   1117: %[move8:]
                   1118: %n*,e
                   1119: %nub*,e
                   1120:        F*
                   1121:        S1
                   1122:        IB1     R1,#1(R)
                   1123: 
                   1124: %[move9:]
                   1125: %e*,nw*
                   1126: %eb*,n*
                   1127: %eub*,n*
                   1128:        S*
                   1129:        F1*
                   1130:        IBE     #2(R),#1(R1)
                   1131: 
                   1132: %[move10:]
                   1133: %e*,n
                   1134: %eub*,n
                   1135:        S
                   1136:        F1*
                   1137:        IB1     R,#1(R1)
                   1138: 
                   1139: %[move11:]
                   1140: %n*,nw*
                   1141: %nb*,n*
                   1142: %nub*,n*
                   1143:        FS*
                   1144:        S*
                   1145:        IBE     #2(R),*(sp)+
                   1146: 
                   1147: %[move12:]
                   1148: %n*,n
                   1149: %nub*,n
                   1150:        FS*
                   1151:        S
                   1152:        IB1     R,*(sp)+
                   1153: 
                   1154: %aw,nf
                   1155:        S
                   1156:        movfi   R,A1
                   1157: 
                   1158: %ew*,nf
                   1159:        S
                   1160:        F1*
                   1161:        movfi   R,#1(R1)
                   1162: 
                   1163: %al,z
                   1164:        clr     A1
                   1165:        clr     A1+
                   1166: 
                   1167: %nl*,z
                   1168:        F*
                   1169:        clr     #1(R)
                   1170:        clr     2+#1(R)
                   1171: 
                   1172: %[move13a:]
                   1173: %al,aw
                   1174:        I       A2,A1+
                   1175:        V       A1
                   1176: 
                   1177: %al,nw*
                   1178:        S*
                   1179:        mov     #2(R),A1+
                   1180:        V       A1
                   1181: 
                   1182: %al,n
                   1183:        S
                   1184:        mov     R,A1+
                   1185:        V       A1
                   1186: 
                   1187: %al,nf
                   1188:        S
                   1189:        setl
                   1190:        movfi   R,A1
                   1191:        seti
                   1192: 
                   1193: %el*,nf
                   1194:        S
                   1195:        F1*
                   1196:        setl
                   1197:        movfi   R,#1(R1)
                   1198:        seti
                   1199: 
                   1200: %[move13:]
                   1201: %al,al
                   1202:        I       A2,A1
                   1203:        I       A2+,A1+
                   1204:        V       A1
                   1205: 
                   1206: %[move14:]
                   1207: %al,nl*
                   1208:        S*
                   1209:        I       #2(R),A1
                   1210:        I       #2+2(R),A1+
                   1211:        V       A1
                   1212: 
                   1213: %[move15:]
                   1214: %al,nl
                   1215:        S
                   1216:        I       R,A1
                   1217:        I       R+,A1+
                   1218:        V       A1
                   1219: 
                   1220: %[move14a:]
                   1221: %nl*,aw
                   1222:        F*
                   1223:        I       A2,#1+2(R)
                   1224:        V       #1(R)
                   1225: 
                   1226: %[move16a:]
                   1227: %nl*,al
                   1228:        F*
                   1229:        I       A2+,#1+2(R)
                   1230:        V       #1(R)
                   1231:        I       A2,#1(R)
                   1232: 
                   1233: %[move16:]
                   1234: %el*,nl
                   1235:        S
                   1236:        F1*
                   1237:        I       R+,#1+2(R1)
                   1238:        V       #1(R1)
                   1239:        I       R,#1(R1)
                   1240: 
                   1241: %nl*,n
                   1242:        SS
                   1243:        F*
                   1244:        mov     (sp)+,#1+2(R)
                   1245:        V       #1(R)
                   1246: 
                   1247: %[move17:]
                   1248: %nl*,nl
                   1249:        SS
                   1250:        F*
                   1251:        I       (sp)+,#1(R)
                   1252:        I       (sp)+,#1+2(R)
                   1253:        V       #1(R)
                   1254: 
                   1255: /* =| and =& ~ */
                   1256: ci78:
                   1257: %a,aw
                   1258: %ab,a
                   1259: %aub,ab
                   1260: %      [move3]
                   1261: 
                   1262: %a,n
                   1263: %      [move5]
                   1264: 
                   1265: %n*,aw
                   1266: %nb*,a
                   1267: %nub*,a
                   1268: %      [move6]
                   1269: 
                   1270: %n*,ew*
                   1271: %nb*,e*
                   1272: %nub*,e*
                   1273: %      [move7]
                   1274: 
                   1275: %n*,e
                   1276: %      [move8]
                   1277: 
                   1278: %e*,nw*
                   1279: %eb*,n*
                   1280: %eub*,n*
                   1281: %      [move9]
                   1282: 
                   1283: %e*,n
                   1284: %      [move10]
                   1285: 
                   1286: %n*,nw*
                   1287: %nb*,n*
                   1288: %nub*,n*
                   1289: %      [move11]
                   1290: 
                   1291: %n*,n
                   1292: %      [move12]
                   1293: 
                   1294: %al,c
                   1295: %al,au
                   1296: %      [move13a]
                   1297: 
                   1298: %al,al
                   1299: %      [move13]
                   1300: 
                   1301: %al,nl*
                   1302: %      [move14]
                   1303: 
                   1304: %al,nl
                   1305: %      [move15]
                   1306: 
                   1307: %nl*,c
                   1308: %      [move14a]
                   1309: 
                   1310: %nl*,al
                   1311: %      [move16a]
                   1312: 
                   1313: %el*,nl
                   1314: %      [move16]
                   1315: 
                   1316: %nl*,nl
                   1317: %      [move17]
                   1318: 
                   1319: /* =^ */
                   1320: ci79:
                   1321: %al,nl
                   1322: %      [move15]
                   1323: 
                   1324: %el*,nl
                   1325: %      [move16]
                   1326: 
                   1327: %nl*,nl
                   1328:        FS*
                   1329:        S
                   1330:        I       R,*(sp)
                   1331:        mov     (sp)+,R
                   1332:        I       R+,2(R)
                   1333: 
                   1334: /* =+ */
                   1335: ci70:
                   1336: %n*,z
                   1337: %a,z
                   1338: %aub,1
                   1339: %a,1
                   1340:        I'B1    A1
                   1341: 
                   1342: %aw,aw
                   1343: %      [move3]
                   1344: 
                   1345: %aw,nw*
                   1346: %      [move4]
                   1347: 
                   1348: %aw,n
                   1349: %      [move5]
                   1350: 
                   1351: %n*,1
                   1352: %nub*,1
                   1353: %      [move2]
                   1354: 
                   1355: %ew*,nw*
                   1356: %      [move9]
                   1357: 
                   1358: %a,ew*
                   1359:        S*
                   1360:        movB1   A1',R1
                   1361:        I       #2(R),R1
                   1362:        movB1   R1,A1''
                   1363: 
                   1364: %a,n
                   1365:        S
                   1366:        movB1   A1',R1
                   1367:        I       R,R1
                   1368:        movB1   R1,A1''
                   1369: 
                   1370: %aub,n
                   1371:        S
                   1372:        clr     R1
                   1373:        bisB1   A1',R1
                   1374:        I       R,R1
                   1375:        movB1   R1,A1''
                   1376: 
                   1377: %ew*,n
                   1378: %      [move10]
                   1379: 
                   1380: %nw*,n
                   1381: %      [move12]
                   1382: 
                   1383: %n*,n
                   1384:        SS
                   1385:        F*
                   1386:        movB1   #1(R),R1
                   1387:        I       (sp)+,R1
                   1388:        movB1   R1,#1(R)
                   1389: 
                   1390: %nub*,n
                   1391:        SS
                   1392:        F*
                   1393:        clr     R1
                   1394:        bisB1   #1(R),R1
                   1395:        I       (sp)+,R1
                   1396:        movB1   R1,#1(R)
                   1397: 
                   1398: %al,c
                   1399: %al,au
                   1400: %      [move13a]
                   1401: 
                   1402: %al,al
                   1403: %      [move13]
                   1404: 
                   1405: %al,nl*
                   1406: %      [move14]
                   1407: 
                   1408: %al,nl
                   1409: %      [move15]
                   1410: 
                   1411: %nl*,c
                   1412: %nl*,au
                   1413: %      [move14a]
                   1414: 
                   1415: %nl*,al
                   1416: %      [move16a]
                   1417: 
                   1418: %el*,nl
                   1419: %      [move16]
                   1420: 
                   1421: %nl*,nl
                   1422: %      [move17]
                   1423: 
                   1424: /* =>> (all harder cases handled by =<< -) */
                   1425: ci75:
                   1426: %a,1
                   1427:        asrB1   A1
                   1428: 
                   1429: %aub,1
                   1430:        clc
                   1431:        rorB1   A1
                   1432: 
                   1433: %n*,1
                   1434:        F*
                   1435:        asrB1   #1(R)
                   1436: 
                   1437: %nub*,1
                   1438:        F*
                   1439:        clc
                   1440:        rorB1   #1(R)
                   1441: 
                   1442: /* =<< */
                   1443: ci76:
                   1444: %a,1
                   1445: %aub,1
                   1446:        aslB1   A1
                   1447: 
                   1448: %n*,1
                   1449: %nub*,1
                   1450:        F*
                   1451:        aslB1   #1(R)
                   1452: 
                   1453: %r,aw
                   1454:        ash     A2,A1
                   1455: 
                   1456: %r,nw*
                   1457:        S*
                   1458:        ash     #2(R),A1
                   1459: 
                   1460: %r,n
                   1461:        S
                   1462:        ash     R,A1
                   1463: 
                   1464: /* =<< for longs */
                   1465: cr92:
                   1466: %al,aw
                   1467:        F
                   1468:        ashc    A2,R
                   1469:        mov     R,A1
                   1470:        mov     R+,A1+
                   1471: 
                   1472: %al,n
                   1473:        SS
                   1474:        F
                   1475:        ashc    (sp)+,R
                   1476:        mov     R,A1
                   1477:        mov     R+,A1+
                   1478: 
                   1479: %nl*,n
                   1480:        FS*
                   1481:        SS
                   1482:        mov     2(sp),R
                   1483:        mov     2(R),R+
                   1484:        mov     (R),R
                   1485:        ashc    (sp)+,R
                   1486:        mov     R,*(sp)
                   1487:        add     $2,(sp)
                   1488:        mov     R+,*(sp)+
                   1489: 
                   1490: /* field = ... */
                   1491: ci16:
                   1492: %a,a
                   1493:        bicB1   Z,A1'
                   1494:        bisB1   A2,A1''
                   1495: 
                   1496: %a,n
                   1497:        S
                   1498:        bicB1   Z,A1'
                   1499:        bisB1   R,A1''
                   1500: 
                   1501: %n*,a
                   1502:        F*
                   1503:        bicB1   Z,#1(R)
                   1504:        bisB1   A2,#1(R)
                   1505: 
                   1506: %[fas1:]
                   1507: %e*,n
                   1508:        S
                   1509:        F1*
                   1510:        bicB1   Z,#1(R1)
                   1511:        bisB1   R,#1(R1)
                   1512: 
                   1513: %n*,e
                   1514:        F*
                   1515:        S1
                   1516:        bicB1   Z,#1(R)
                   1517:        bisB1   R1,#1(R)
                   1518: 
                   1519: %n*,n
                   1520:        SS
                   1521:        F*
                   1522:        bicB1   Z,#1(R)
                   1523:        bisB1   (sp)+,#1(R)
                   1524: 
                   1525: %{
                   1526: /*
                   1527:  * c code tables-- set condition codes
                   1528:  */
                   1529: 
                   1530: struct table cctab[] = {
                   1531:        {106,cc60},
                   1532:        {28,rest},
                   1533:        {55,rest},
                   1534:        {34,rest},
                   1535:        {35,rest},
                   1536:        {36,rest},
                   1537:        {37,rest},
                   1538:        {40,rest},
                   1539:        {41,rest},
                   1540:        {43,rest},
                   1541:        {81,cc81        /* & as in "if ((a&b)==0)" */},
                   1542:        {48,rest},
                   1543:        {60,cc60},
                   1544:        {61,cc60},
                   1545:        {62,cc60},
                   1546:        {63,cc60},
                   1547:        {64,cc60},
                   1548:        {65,cc60},
                   1549:        {66,cc60},
                   1550:        {67,cc60},
                   1551:        {68,cc60},
                   1552:        {69,cc60},
                   1553:        {72,rest},
                   1554:        {73,rest},
                   1555:        {79,rest},
                   1556:        {0}
                   1557: };
                   1558: %}
                   1559: 
                   1560: /* relationals */
                   1561: cc60:
                   1562: %a,z
                   1563: %ad,zf
                   1564: %      [move1]
                   1565: 
                   1566: %aub,z
                   1567:        movb    A1,R
                   1568:        bic     $!377,R
                   1569: 
                   1570: %af,z
                   1571:        movof   A1,R
                   1572: 
                   1573: %n*,z
                   1574: %nd*,zf
                   1575: %      [move2]
                   1576: 
                   1577: %nub*,z
                   1578:        F*
                   1579:        movB1   #1(R),R
                   1580:        bic     $!377,R
                   1581: 
                   1582: %nf*,z
                   1583:        F*
                   1584:        movof   #1(R),R
                   1585: 
                   1586: %n,z
                   1587: %nf,zf
                   1588:        FC
                   1589: 
                   1590: %aw,aw
                   1591: %ab,ab
                   1592: %aub,aub
                   1593: %      [move3]
                   1594: 
                   1595: %nw*,aw
                   1596: %nb*,ab
                   1597: %nub*,aub
                   1598: %      [move6]
                   1599: 
                   1600: %n,aw
                   1601: %nf,ad
                   1602: %      [add1]
                   1603: 
                   1604: %nw*,ew*
                   1605: %nb*,eb*
                   1606: %nub*,eub*
                   1607: %      [move7]
                   1608: 
                   1609: %nw*,e
                   1610: %      [move8]
                   1611: 
                   1612: %n,ew*
                   1613: %nf,ed*
                   1614: %      [add2]
                   1615: 
                   1616: %n,e
                   1617: %nf,ef
                   1618: %      [add3]
                   1619: 
                   1620: %nw*,nw*
                   1621: %nb*,nb*
                   1622: %nub*,nub*
                   1623: %      [move11]
                   1624: 
                   1625: %nw*,n
                   1626: %      [move12]
                   1627: 
                   1628: %n,n
                   1629: %nf,nf
                   1630: %      [add5]
                   1631: 
                   1632: %al,z
                   1633:        tst     A1
                   1634:        X0
                   1635:        tst     A1+
                   1636:        X1
                   1637: 
                   1638: %al,c
                   1639: %al,au
                   1640:        tst     A1
                   1641:        X0
                   1642:        cmp     A1+,A2
                   1643:        X1
                   1644: 
                   1645: %[lcmp1:]
                   1646: %al,al
                   1647:        I       A1,A2
                   1648:        X0
                   1649:        I       A1+,A2+
                   1650:        X1
                   1651: 
                   1652: %nl*,z
                   1653:        F*
                   1654:        tst     #1(R)
                   1655:        X0
                   1656:        tst     #1+2(R)
                   1657:        X1
                   1658: 
                   1659: %nl*,c
                   1660: %nl*,au
                   1661:        F*
                   1662:        tst     #1(R)
                   1663:        X0
                   1664:        cmp     #1+2(R),A2
                   1665:        X1
                   1666: 
                   1667: %[lcmp2:]
                   1668: %nl*,al
                   1669:        F*
                   1670:        I       #1(R),A2
                   1671:        X0
                   1672:        I       #1+2(R),A2+
                   1673:        X1
                   1674: 
                   1675: %nl,z
                   1676:        F
                   1677:        tst     R
                   1678:        X0
                   1679:        tst     R+
                   1680:        X1
                   1681: 
                   1682: %nl,c
                   1683: %nl,au
                   1684:        F
                   1685:        tst     R
                   1686:        X0
                   1687:        cmp     R+,A2
                   1688:        X1
                   1689: 
                   1690: %[lcmp3:]
                   1691: %nl,al
                   1692:        F
                   1693:        I       R,A2
                   1694:        X0
                   1695:        I       R+,A2+
                   1696:        X1
                   1697: 
                   1698: %[lcmp4:]
                   1699: %nl*,el*
                   1700:        F*
                   1701:        S1*
                   1702:        I       #1(R),#2(R1)
                   1703:        X0
                   1704:        I       #1+2(R),#2+2(R1)
                   1705:        X1
                   1706: 
                   1707: %[lcmp5:]
                   1708: %nl,el*
                   1709:        F
                   1710:        S1*
                   1711:        I       R,#2(R1)
                   1712:        X0
                   1713:        I       R+,#2+2(R1)
                   1714:        X1
                   1715: 
                   1716: %[lcmp6:]
                   1717: %nl,nl
                   1718:        FS
                   1719:        S
                   1720:        mov     R,-(sp)
                   1721:        mov     4(sp),R
                   1722:        mov     (sp)+,2(sp)
                   1723:        I       (sp)+,(sp)+
                   1724:        X0
                   1725:        I       R,R+
                   1726:        X1
                   1727: 
                   1728: /* & as in "if ((a&b) ==0)" */
                   1729: cc81:
                   1730: %a,a
                   1731: %      [move3]
                   1732: 
                   1733: %n*,a
                   1734: %      [move6]
                   1735: 
                   1736: %n,a
                   1737: %      [add1]
                   1738: 
                   1739: %n,e
                   1740: %      [add3]
                   1741: 
                   1742: %n,n
                   1743: %      [add5]
                   1744: 
                   1745: %al,c
                   1746: %al,au
                   1747:        bit     A2,A1+
                   1748:        X1
                   1749: 
                   1750: %nl*,c
                   1751: %nl*,au
                   1752:        F*
                   1753:        bit     A2,#2+2(R)
                   1754:        X1
                   1755: 
                   1756: %al,al
                   1757: %      [lcmp1]
                   1758: 
                   1759: %nl*,al
                   1760: %      [lcmp2]
                   1761: 
                   1762: %nl,al
                   1763: %      [lcmp3]
                   1764: 
                   1765: %nl*,el*
                   1766: %      [lcmp4]
                   1767: 
                   1768: %nl,el*
                   1769: %      [lcmp5]
                   1770: 
                   1771: %nl,nl
                   1772: %      [lcmp6]
                   1773: 
                   1774: %nl,c
                   1775: %nl,au
                   1776:        F
                   1777:        bit     A2,R+
                   1778:        X1
                   1779: 
                   1780: /* set codes right */
                   1781: rest:
                   1782: %n,n
                   1783: %nf,nf
                   1784:        H
                   1785: 
                   1786: %{
                   1787: /*
                   1788:  * c code tables-- expression to -(sp)
                   1789:  */
                   1790: 
                   1791: struct table sptab[] = {
                   1792:        {106,cs106},
                   1793:        {40,cs40},
                   1794:        {41,cs40},
                   1795:        {55,cs40},
                   1796:        {48,cs40},
                   1797:        {58,cs58},
                   1798:        {56,cs56},
                   1799:        {0}
                   1800: };
                   1801: %}
                   1802: 
                   1803: /* name */
                   1804: cs106:
                   1805: %z,n
                   1806: %zf,n
                   1807:        clrB1   -(sp)
                   1808: 
                   1809: %aw,n
                   1810:        mov     A1,-(sp)
                   1811: 
                   1812: %aub,n
                   1813:        clr     -(sp)
                   1814:        bisb    A1,(sp)
                   1815: 
                   1816: %nw*,n
                   1817:        F*
                   1818:        mov     #1(R),-(sp)
                   1819: 
                   1820: %al,n
                   1821:        mov     A1+,-(sp)
                   1822:        mov     A1,-(sp)
                   1823: 
                   1824: /* +, -, |, &~ */
                   1825: cs40:
                   1826: %a,1
                   1827:        FS
                   1828:        I'      (sp)
                   1829: 
                   1830: %a,aw
                   1831:        FS
                   1832:        I       A2,(sp)
                   1833: 
                   1834: %a,nw*
                   1835:        FS
                   1836:        S*
                   1837:        I       #2(R),(sp)
                   1838: 
                   1839: %a,n
                   1840:        FS
                   1841:        S
                   1842:        I       R,(sp)
                   1843: 
                   1844: /* integer to long */
                   1845: cs58:
                   1846: %nu,n
                   1847:        FS
                   1848:        clr     -(sp)
                   1849: 
                   1850: %aw,n
                   1851:        mov     A1,-(sp)
                   1852:        sxt     -(sp)
                   1853: 
                   1854: /* float to long */
                   1855: cs56:
                   1856: %nf,n
                   1857:        F
                   1858:        setl
                   1859:        movfi   R,-(sp)
                   1860:        seti
                   1861: 
                   1862: /* setup for structure assign */
                   1863: ci116:
                   1864: %n,e
                   1865:        F!
                   1866:        S1!
                   1867: 
                   1868: %n,n
                   1869:        SS
                   1870:        F!
                   1871:        mov     (sp)+,r1
                   1872: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.