.xdef SinCalc .text |sinQ(short pibits asm("%d0"),short radius asm("%d1")); SinCalc: move.w %d0,%d2 and.w #127,%d0 btst #7,%d2 beq sinQ_1 neg.w %d0 add.w #128,%d0 sinQ_1: add.w %d0,%d0 lea sinVals,%a0 move.w (%a0,%d0.w),%d0 btst #8,%d2 beq sinQ_2 neg.w %d0 sinQ_2: | muls.w %d1,%d0 move.w (%a0,%d0.w),%d0 moveq #15,%d2 asr.l %d2,%d0 rts