Tyler
public text v1 · immutable.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