1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
.ref _sinus .ref __frameset0 .ref __fcmp .ref __fneg .def _cos .assume adl=1 ; double cos(double arg); _cos: call __frameset0 ld hl,(ix+6) ld e,(ix+9) ld bc,0 xor a,a push de push hl call __fcmp pop bc pop de ld a,e jp p,l_1 call __fneg l_1: ld hl,1 push hl ld l,a push hl push bc call _sinus ld sp,ix pop ix ret