Ignore:
Timestamp:
07/24/09 18:55:27 (3 years ago)
Author:
debrouxl
Message:

library:

  • use explicit register parameters for Sprite8/16/32, bsearch and qsort;
  • regenerate headers;
  • 2-byte optimization in Sprite8: shift count can be computed differently.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tigcc/archive/sprite8.s

    r1344 r1360  
    1212        adda.w %d1,%a1 | 2 
    1313| d0: shift count. 
    14         not.w %d0 | 2 
     14        moveq #24,%d1 | 2 
    1515        and.w #15,%d0 | 4 
    16         add.w #9,%d0 | 4 
     16        sub.w %d0,%d1 | 2 
    1717 
    18         move.w %d4,-(%a7) | 2 
    19         move.l %d3,-(%a7) | 2 
    20 | d4: drawing mode. 
    21         move.w 4+6(%a7),%d4 | 4 
    22         subq.w #1,%d4 | 2 
    23 | d3: mask used by AND and RPLC. 
    24         moveq #-1,%d3 | 2 
    25         clr.b %d3 | 2 
    26         rol.l %d0,%d3 | 2 
     18        move.l %d4,-(%a7) | 2 
     19| d3: drawing mode. 
     20        subq.w #1,%d3 | 2 
     21| d4: mask used by AND and RPLC. 
     22        moveq #-1,%d4 | 2 
     23        clr.b %d4 | 2 
     24        rol.l %d1,%d4 | 2 
    2725| Jump to loop entry. 
    2826        bra.s .L__s8_loopentry | 2 
     
    3028| AND. 
    3129.L__s8_Am: 
    32         or.l %d3,%d1 | 2 
    33         and.l %d1,(%a1) | 2 
     30        or.l %d4,%d0 | 2 
     31        and.l %d0,(%a1) | 2 
    3432 
    3533| Next line. 
     
    4240        blt.s .L__s8_rts | 2 
    4341 
    44         moveq #0,%d1 | 2 
    45         move.b (%a0)+,%d1 | 2 
    46         lsl.l %d0,%d1 | 2 
    47         cmp.w #1,%d4 | 4 
     42        moveq #0,%d0 | 2 
     43        move.b (%a0)+,%d0 | 2 
     44        lsl.l %d1,%d0 | 2 
     45        cmp.w #1,%d3 | 4 
    4846        beq.s .L__s8_Am | 2 
    49         tst.w %d4 | 2 
     47        tst.w %d3 | 2 
    5048        blt.s .L__s8_Xm | 2 
    5149        beq.s .L__s8_Om | 2 
    5250| RPLC. 
    53         and.l %d3,(%a1) | 2 
     51        and.l %d4,(%a1) | 2 
    5452 
    5553| OR. 
    5654.L__s8_Om: 
    57         or.l %d1,(%a1) | 2 
     55        or.l %d0,(%a1) | 2 
    5856        bra.s .L__s8_loop | 2 
    5957 
    6058| XOR 
    6159.L__s8_Xm: 
    62         eor.l %d1,(%a1) | 2 
     60        eor.l %d0,(%a1) | 2 
    6361        bra.s .L__s8_loop | 2 
    6462 
    6563| Return 
    6664.L__s8_rts: 
    67         move.l (%a7)+,%d3 | 2 
    68         move.w (%a7)+,%d4 | 2 
     65        addq.w #1,%d3 | 2 
     66        move.l (%a7)+,%d4 | 2 
    6967        rts | 2 
Note: See TracChangeset for help on using the changeset viewer.