; SUBROUTINE TO COMPUTE SINE AND COSINE ; AS SINGLE-BYTE INTEGERS (SIGNED) ; STEP SIZE OF 1/16 RADIAN, OR 3.58 DEGREES ; ACCURACY OF ABOUT 1% FOR RANGE 0 ; THROUGH 90 DEGREES ; ENTRY SINCOS,THETA .THE EQU 0 .SIN EQU 1 .COS EQU 2 THETA: DS 1 ; ARGUMENT TO FUNCTION SINE: DS 1 ; SINE OF THETA COSINE: DS 1 ; COSINE OF THETA SINCOS: START: LD IX,THETA LD A,126 ; BEGIN INITIALIZATION LD (IX+.COS),A LD (IX+.SIN),0 LD B,(IX+.THE) INC B CYCLE: SRA A ; COMPUTE NEW SINE SRA A SRA A SRA A ADD A,(IX+.SIN) LD (IX+.SIN),A SRA A ; COMPUTE NEW COSINE SRA A SRA A SRA A SUB (IX+.COS) NEG LD (IX+.COS),A DJNZ CYCLE ; LOOP UNTIL DONE RET END