Changeset 4f508e6 in buchla-68k for lib700/blkmove.s


Ignore:
Timestamp:
07/01/2017 02:34:46 PM (7 years ago)
Author:
Thomas Lopatic <thomas@…>
Branches:
master
Children:
08e1da1
Parents:
f40a309
Message:

Converted assembly language files.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • lib700/blkmove.s

    rf40a309 r4f508e6  
    1 * ------------------------------------------------------------------------------
    2 * blkmove.s -- block move function
    3 * Version 1 -- 1987-08-28 -- D.N. Lynx Crowe
    4 *
    5 *       void
    6 *       blkmove(to, from, n)
    7 *       char *to, *from;
    8 *       short n;
    9 *
    10 *               Copies 'n' bytes from address 'from' to address 'to'.
    11 *               Treats overlaps of from and to areas intelligently.
    12 * ------------------------------------------------------------------------------
     1| ------------------------------------------------------------------------------
     2| blkmove.s -- block move function
     3| Version 1 -- 1987-08-28 -- D.N. Lynx Crowe
     4
     5|       void
     6|       blkmove(to, from, n)
     7|       char |to, |from;
     8|       short n;
     9
     10|               Copies 'n' bytes from address 'from' to address 'to'.
     11|               Treats overlaps of from and to areas intelligently.
     12| ------------------------------------------------------------------------------
    1313                .text
    14 *
     14
    1515                .xdef   _blkmove
    16 *
    17 _blkmove:       link    a6,#$FFFC
     16
     17_blkmove:       link    a6,#-4
    1818                move.l  8(a6),d0
    1919                cmp.l   12(a6),d0
    2020                bcc     blkm3
    21 *
     21
    2222                bra     blkm2
    23 *
     23
    2424blkm1:          movea.l 8(a6),a0
    2525                movea.l 12(a6),a1
     
    2727                addq.l  #1,8(a6)
    2828                addq.l  #1,12(a6)
    29 *
     29
    3030blkm2:          move.w  16(a6),d0
    3131                subq.w  #1,16(a6)
    3232                tst.w   d0
    3333                bne     blkm1
    34 *
     34
    3535                bra     blkm6
    36 *
     36
    3737blkm3:          move.w  16(a6),d0
    3838                ext.l   d0
     
    4040                add.l   d0,12(a6)
    4141                bra     blkm5
    42 *
     42
    4343blkm4:          subq.l  #1,8(a6)
    4444                subq.l  #1,12(a6)
     
    4646                movea.l 12(a6),a1
    4747                move.b  (a1),(a0)
    48 *
     48
    4949blkm5:          move.w  16(a6),d0
    5050                subq.w  #1,16(a6)
    5151                tst.w   d0
    5252                bne     blkm4
    53 *
     53
    5454blkm6:          unlk    a6
    5555                rts
    56 *
     56
    5757                .end
Note: See TracChangeset for help on using the changeset viewer.