And if Coldfire really does this then gcc and any other compiler should not use this instruction. I hope it's done this way already.Well, in the mentioned header file it isn't. Now I realize, sting uses 16-bit API, so function( char something, short something ); should eat 4 bytes on stack even in PureC so we should be able to replace move.b d0,-(sp) with move.w d0,-(sp). But IIRC, we must shift d0 before this operation with <<8, right?