[comp.sys.mac] LSC ++ and -- operators

clubmac@runx.UUCP (02/11/87)

Here is something I found on a local BBS...

I just discovered that the postfix ++ -- operators are less efficient than
prefix ++ and --.
if you have a block like :

    {
        register char *a,*b;
        *(a++) = *(b++);
    }

it translates to   :
    
    movea.l A4,A0 ; A4 holds b
    movea.l A3,A1 ; A1 holds a
    move.b (A0),(A1)
    moveq   #1,A3
    moveq   #1,A4

but if you have a block like :

    {
        register char *a,*b;
        *(a) = *(b);
        a++;b++;
    }

it translates to   :

    move.b (A4),(A3)
    moveq   #1,A3
    moveq   #1,A4

You dont get the above problem with prefix ++ and --.

MORAL : Dont assume - disassemble your code !

John Lim

---------------

Anybody know anything about this?

Jason Haines