Annotation of cci/sys/tahoe/bcopy.s, revision 1.1.1.1

1.1       root        1: /* @(#)bcopy.s 4.4 3/23/84 */
                      2: /* bcopy(from, to, size) */
                      3: 
                      4:        .globl  _bcopy
                      5: _bcopy:
                      6:        .word   0x001c
                      7:        movl    4(fp),r0
                      8:        movl    8(fp),r1
                      9:        movl    12(fp),r2
                     10:        cmpl    r0,r1
                     11:        bgtru   1f              # normal forward case
                     12:        beql    2f              # equal, nothing to do
                     13:        addl2   r2,r0           # may be overlapping
                     14:        cmpl    r0,r1
                     15:        bgtru   3f
                     16:        subl2   r2,r0           # normal forward case
                     17: 1:
                     18:        movblk
                     19: 2:
                     20:        ret
                     21: 3:
                     22:        addl2   r2,r1           # overlapping, must do backwards
                     23:        subl3   r0,r1,r3
                     24:        movl    r2,r4
                     25:        jbr     5f
                     26: 4:
                     27:        subl2   r3,r0
                     28:        subl2   r3,r1
                     29:        movl    r3,r2
                     30:        movblk
                     31:        subl2   r3,r0
                     32:        subl2   r3,r1
                     33:        subl2   r3,r4
                     34: 5:
                     35:        cmpl    r4,r3
                     36:        jgtr    4b
                     37:        movl    r4,r2
                     38:        subl2   r2,r0
                     39:        subl2   r2,r1
                     40:        movblk
                     41:        ret

unix.superglobalmegacorp.com

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