Annotation of researchv10no/cmd/PDP11/11c/optable, revision 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.