13 ABORT" FastForth V3.9 please!"
14 ABORT" build FastForth with FIXPOINT_INPUT addon"
21 ; CORDIC.4th for MSP_EXP430FR5994
96 [IF] ; MSP430FRxxxx with hardware_MPY
143 MOV T_SCALE(R10),&$4D4
150 [ELSE] ; no hardware multiplier
191 U>= UNTIL POPM #3,R13
218 [THEN] ; endcase of hardware multiplier
247 SUB T_ARCTAN(R10),R14
251 ADD T_ARCTAN(R10),R14
300 ABORT" |x| or |y| >= 16384"
333 ADD T_ARCTAN(R10),R14
337 SUB T_ARCTAN(R10),R14
428 10000 89,0 POL2REC . . ; sin, cos -->
429 10000 75,0 POL2REC . . ; sin, cos -->
430 10000 60,0 POL2REC . . ; sin, cos -->
431 10000 45,0 POL2REC . . ; sin, cos -->
432 10000 30,0 POL2REC . . ; sin, cos -->
433 10000 15,0 POL2REC . . ; sin, cos -->
434 10000 1,0 POL2REC . . ; sin, cos -->
435 16384 30,0 POL2REC SWAP . . ; x, y -->
436 16384 45,0 POL2REC SWAP . . ; x, y -->
437 16384 60,0 POL2REC SWAP . . ; x, y -->
439 10000 -89,0 POL2REC . . ; sin, cos -->
440 10000 -75,0 POL2REC . . ; sin, cos -->
441 10000 -60,0 POL2REC . . ; sin, cos -->
442 10000 -45,0 POL2REC . . ; sin, cos -->
443 10000 -30,0 POL2REC . . ; sin, cos -->
444 10000 -15,0 POL2REC . . ; sin, cos -->
445 10000 -1,0 POL2REC . . ; sin, cos -->
446 16384 -30,0 POL2REC SWAP . . ; x, y -->
447 16384 -45,0 POL2REC SWAP . . ; x, y -->
448 16384 -60,0 POL2REC SWAP . . ; x, y -->
450 -10000 89,0 POL2REC . . ; sin, cos -->
451 -10000 75,0 POL2REC . . ; sin, cos -->
452 -10000 60,0 POL2REC . . ; sin, cos -->
453 -10000 45,0 POL2REC . . ; sin, cos -->
454 -10000 30,0 POL2REC . . ; sin, cos -->
455 -10000 15,0 POL2REC . . ; sin, cos -->
456 -10000 1,0 POL2REC . . ; sin, cos -->
457 -16384 30,0 POL2REC SWAP . . ; x, y -->
458 -16384 45,0 POL2REC SWAP . . ; x, y -->
459 -16384 60,0 POL2REC SWAP . . ; x, y -->
461 -10000 -89,0 POL2REC . . ; sin, cos -->
462 -10000 -75,0 POL2REC . . ; sin, cos -->
463 -10000 -60,0 POL2REC . . ; sin, cos -->
464 -10000 -45,0 POL2REC . . ; sin, cos -->
465 -10000 -30,0 POL2REC . . ; sin, cos -->
466 -10000 -15,0 POL2REC . . ; sin, cos -->
467 -10000 -1,0 POL2REC . . ; sin, cos -->
468 -16384 -30,0 POL2REC SWAP . . ; x, y -->
469 -16384 -45,0 POL2REC SWAP . . ; x, y -->
470 -16384 -60,0 POL2REC SWAP . . ; x, y -->
473 2 1 REC2POL F. . ; phase module -->
474 2 -1 REC2POL F. . ; phase module -->
475 20 10 REC2POL F. . ; phase module -->
476 20 -10 REC2POL F. . ; phase module -->
477 200 100 REC2POL F. . ; phase module -->
478 100 -100 REC2POL F. . ; phase module -->
479 2000 1000 REC2POL F. . ; phase module -->
480 1000 -1000 REC2POL F. . ; phase module -->
481 16000 8000 REC2POL F. . ; phase module -->
482 16000 -8000 REC2POL F. . ; phase module -->
483 16000 0 REC2POL F. . ; phase module -->
484 0 16000 REC2POL F. . ; phase module -->
486 -2 1 REC2POL F. . ; phase module -->
487 -2 -1 REC2POL F. . ; phase module -->
488 -20 10 REC2POL F. . ; phase module -->
489 -20 -10 REC2POL F. . ; phase module -->
490 -200 100 REC2POL F. . ; phase module -->
491 -100 -100 REC2POL F. . ; phase module -->
492 -2000 1000 REC2POL F. . ; phase module -->
493 -1000 -1000 REC2POL F. . ; phase module -->
494 -16000 8000 REC2POL F. . ; phase module -->
495 -16000 -8000 REC2POL F. . ; phase module -->
496 16000 0 REC2POL F. . ; phase module -->
497 0 16000 REC2POL F. . ; phase module -->
499 10000 89,0 POL2REC REC2POL ROT . F.
500 10000 75,0 POL2REC REC2POL ROT . F.
501 10000 60,0 POL2REC REC2POL ROT . F.
502 10000 45,0 POL2REC REC2POL ROT . F.
503 10000 30,0 POL2REC REC2POL ROT . F.
504 10000 26,565 POL2REC REC2POL ROT . F.
505 10000 15,0 POL2REC REC2POL ROT . F.
506 10000 14,036 POL2REC REC2POL ROT . F.
507 10000 7,125 POL2REC REC2POL ROT . F.
508 10000 1,0 POL2REC REC2POL ROT . F.