Annotation of researchv10no/cmd/spitbol/spitv35sub.s, revision 1.1.1.1

1.1       root        1: #
                      2: #      copyright (c) 1981 under berne and universal copyright
                      3: #      law by dewar information systems corporation.
                      4: #
                      5: #      the software described in this document is proprietary
                      6: #      to dewar information systems corporation and furnished
                      7: #      to the purchaser under a license  for use on a  single
                      8: #      computer  system and can be copied (with the inclusion
                      9: #      of dewar information systems  corporations's copyright
                     10: #      notice) only for use in such system.
                     11: #
                     12: #
                     13: #      cmc     compare character strings
                     14: #
                     15:        .globl  sbcmc
                     16: sbcmc: pushr   $mr2+mr3
                     17:        ashl    $-15,r6,r11
                     18:        beqlu   2f
                     19: 1:     cmpc3   $32768,(r10),(r9)
                     20:        blssu   3f
                     21:        bgtru   4f
                     22:        addl2   $32768,r10
                     23:        addl2   $32768,r9
                     24:        sobgtr  r11,1b
                     25:        bicl2   $0xffff8000,r6
                     26:        beqlu   5f
                     27: 2:     cmpc3   r6,(r10),(r9)
                     28:        bgtru   4f
                     29:        beqlu   5f
                     30: 3:     popr    $mr2+mr3
                     31:        clrl    r10
                     32:        clrl    r9
                     33:        movl    (sp)+,r11
                     34:        jmp     *(r11)+
                     35: 4:     popr    $mr2+mr3
                     36:        clrl    r10
                     37:        clrl    r9
                     38:        addl3   (sp)+,$4,r11
                     39:        jmp     *(r11)+
                     40: 5:     popr    $mr2+mr3
                     41:        clrl    r10
                     42:        clrl    r9
                     43:        addl2   $8,(sp)
                     44:        rsb
                     45: #
                     46: #      mcb     move characters backward (for buffer datatype)
                     47: #
                     48:        .globl  sbmcb
                     49: sbmcb: pushr   $mr2+mr3+mr4+mr5
                     50:        subl2   r6,r9
                     51:        subl2   r6,r10
                     52:        ashl    $-15,r6,r11
                     53:        beqlu   2f
                     54: 1:     movc3   $32768,(r10),(r9)
                     55:        movl    r1,r10
                     56:        movl    r3,r9
                     57:        sobgtr  r11,1b
                     58:        bicl2   $0xffff8000,r6
                     59: 2:     movc3   r6,(r10),(r9)
                     60:        movl    r1,r10
                     61:        movl    r3,r9
                     62: 3:     popr    $mr2+mr3+mr4+mr5
                     63:        rsb
                     64: #
                     65: #      mvc     move characters
                     66: #
                     67:        .globl  sbmvc
                     68:        .globl  sbmvw
                     69: sbmvc:
                     70: sbmvw:
                     71:        pushr   $mr2+mr3+mr4+mr5
                     72:        ashl    $-15,r6,r11
                     73:        beqlu   2f
                     74: 1:     movc3   $32768,(r10),(r9)
                     75:        addl2   $32768,r10
                     76:        addl2   $32768,r9
                     77:        sobgtr  r11,1b
                     78:        bicl2   $0xffff8000,r6
                     79:        beqlu   3f
                     80: 2:     movc3   r6,(r10),(r9)
                     81:        addl2   r6,r10
                     82:        addl2   r6,r9
                     83: 3:     popr    $mr2+mr3+mr4+mr5
                     84:        rsb
                     85: #
                     86: #      mwb     move words backward
                     87: #
                     88:        .globl  sbmwb
                     89: sbmwb: pushr   $mr2+mr3+mr4+mr5
                     90:        ashl    $-8,r6,r11
                     91:        beqlu   2f
                     92: 1:     subl2   $256,r10
                     93:        subl2   $256,r9
                     94:        movc3   $256,(r10),(r9)
                     95:        sobgtr  r11,1b
                     96:        bicl2   $0xffffff00,r6
                     97:        beqlu   3f
                     98: 2:     subl2   r6,r10
                     99:        subl2   r6,r9
                    100:        movc3   r6,(r10),(r9)
                    101: 3:     popr    $mr2+mr3+mr4+mr5
                    102:        rsb
                    103: #
                    104: #      sbtrc   translate characters
                    105: #
                    106:        .globl  sbtrc
                    107: sbtrc: pushr   $mr2+mr3+mr4+mr5
                    108:        ashl    $-15,r6,r11
                    109:        beqlu   2f
                    110: 1:     movtc   $32768,(r10),$0,(r9),$32768,(r10)
                    111:        addl2   $32768,r10
                    112:        sobgtr  r11,1b
                    113:        bicl2   $0xffff8000,r6
                    114:        beqlu   3f
                    115: 2:     movtc   r6,(r10),$0,(r9),r6,(r10)
                    116:        clrl    r10
                    117:        clrl    r9
                    118: 3:     popr    $mr2+mr3+mr4+mr5
                    119:        rsb

unix.superglobalmegacorp.com

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