📄 smopos.lst
字号:
526 ;----------------------------------------------------------------------------------
527 01a4 208a ADD *,AR2 ; ACC = &ATANTAB_45 + ptr_smo
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Tue May 6 12:41:27 2003
Copyright (c) 1987-1999 Texas Instruments Incorporated
smopos.asm PAGE 11
528 ; ARP=AR0, AR0->FR0, AR2->esalfa, ARP=AR2
529 ;----------------------------------------------------------------------------------
530 01a5 7811 ADRK #17 ; ARP=AR2, AR0->FR0, AR2->thetau
531 ;----------------------------------------------------------------------------------
532 01a6 a680 TBLR * ; thetau = arctan(|esbeta|/|esalfa|) (Q15)
533 ; ARP=AR2, AR0->FR0, AR2->thetau
534 ;----------------------------------------------------------------------------------
535 01a7 bf80 LACC #8192 ; ACC = 8192 = 90 degree (Q15)
01a8 2000
536 ; ARP=AR2, AR0->FR0, AR2->thetau
537 ;----------------------------------------------------------------------------------
538 01a9 3080 SUB * ; ACC = 90 - thetau (Q15)
539 ; ARP=AR2, AR0->FR0, AR2->thetau
540 ;----------------------------------------------------------------------------------
541 01aa 9080 SACL * ; thetau = 90 - thetau (Q15)
542 ; ARP=AR2, AR0->FR0, AR2->thetau
543 ;----------------------------------------------------------------------------------
544 01ab 7980 B SMO_DIV_QD_END ; ARP=AR2, AR0->FR0, AR2->thetau
01ac 01b2'
545 ;----------------------------------------------------------------------------------
546 01ad SMO_EQ_QD ; Here, |esalfa|/|esbeta| = 1
547 ; i.e., |esalfa| = |esbeta|
548 ; ARP=AR0, AR0->FR2, AR2->esalfa
549 ;----------------------------------------------------------------------------------
550 01ad 7c02 SBRK #2 ; ARP=AR0, AR0->FR0, AR2->esalfa
551 ;----------------------------------------------------------------------------------
552 01ae 8b8a MAR *,AR2 ; ARP=AR2, AR0->FR0, AR2->esalfa
553 ;----------------------------------------------------------------------------------
554 01af 7811 ADRK #17 ; ARP=AR2, AR0->FR0, AR2->thetau
555 ;----------------------------------------------------------------------------------
556 01b0 ae80 SPLK #4096,* ; thetau = 45 degree (Q15)
01b1 1000
557 ; ARP=AR2, AR0->FR0, AR2->thetau
558 ;----------------------------------------------------------------------------------
559 01b2 SMO_DIV_QD_END ; ARP=AR2, AR0->FR0, AR2->thetau
560 ;----------------------------------------------------------------------------------
561 ; Determine the quadrant by looking at signs of esbeta and -esalfa
562 01b2 7c0b SBRK #11 ; ARP=AR2, AR0->FR0, AR2->esbeta
563 ;----------------------------------------------------------------------------------
564 01b3 1080 LACC * ; ACC = esbeta (Q15)
565 ; ARP=AR2, AR0->FR0, AR2->esbeta
566 ;----------------------------------------------------------------------------------
567 01b4 7c06 SBRK #6 ; ARP=AR2, AR0->FR0, AR2->esalfa
568 ;----------------------------------------------------------------------------------
569 01b5 e344 BCND SMO_NEG_D,LT ; Branch to NEG_D if esbeta < 0
01b6 01c5'
570 ; ARP=AR2, AR0->FR0, AR2->esalfa
571 ;----------------------------------------------------------------------------------
572 01b7 SMO_POS_D ; ARP=AR2, AR0->FR0, AR2->esalfa
573 ;----------------------------------------------------------------------------------
574 01b7 1080 LACC * ; ACC = esalfa (Q15)
575 ; ARP=AR2, AR0->FR0, AR2->esalfa
576 ;----------------------------------------------------------------------------------
577 01b8 be02 NEG ; ACC = -esalfa (Q15)
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Tue May 6 12:41:27 2003
Copyright (c) 1987-1999 Texas Instruments Incorporated
smopos.asm PAGE 12
578 ; ARP=AR2, AR0->FR0, AR2->esalfa
579 ;----------------------------------------------------------------------------------
580 01b9 e344 BCND SMO_POS_D_NEG_Q,LT ; Branch to POS_D_NEG_Q if -esalfa < 0
01ba 01be'
581 ; ARP=AR2, AR0->FR0, AR2->esalfa
582 ;----------------------------------------------------------------------------------
583 01bb SMO_POS_D_POS_Q ; ARP=AR2, AR0->FR0, AR2->esalfa
584 ;----------------------------------------------------------------------------------
585 01bb 7811 ADRK #17 ; ARP=AR2, AR0->FR0, AR2->thetau
586 ;----------------------------------------------------------------------------------
587 01bc 7980 B SMO_QUADRANT_QD_END ; ARP=AR2, AR0->FR0, AR2->thetau
01bd 01d5'
588 ;----------------------------------------------------------------------------------
589 01be SMO_POS_D_NEG_Q ; ARP=AR2, AR0->FR0, AR2->esalfa
590 ;----------------------------------------------------------------------------------
591 01be bf80 LACC #32767 ; ACC = 32767 = 360 degree (Q15)
01bf 7fff
592 ; ARP=AR2, AR0->FR0, AR2->esalfa
593 ;----------------------------------------------------------------------------------
594 01c0 7811 ADRK #17 ; ARP=AR2, AR0->FR0, AR2->thetau
595 ;----------------------------------------------------------------------------------
596 01c1 3080 SUB * ; ACC = 360 - thetau (Q15)
597 ; ARP=AR2, AR0->FR0, AR2->thetau
598 ;----------------------------------------------------------------------------------
599 01c2 9080 SACL * ; thetau = 360 - thetau (Q15)
600 ; ARP=AR2, AR0->FR0, AR2->thetau
601 ;----------------------------------------------------------------------------------
602 01c3 7980 B SMO_QUADRANT_QD_END ; ARP=AR2, AR0->FR0, AR2->thetau
01c4 01d5'
603 ;----------------------------------------------------------------------------------
604 01c5 SMO_NEG_D ; ARP=AR2, AR0->FR0, AR2->esalfa
605 ;----------------------------------------------------------------------------------
606 01c5 1080 LACC * ; ACC = esalfa (Q15)
607 ; ARP=AR2, AR0->FR0, AR2->esalfa
608 ;----------------------------------------------------------------------------------
609 01c6 be02 NEG ; ACC = -esalfa (Q15)
610 ; ARP=AR2, AR0->FR0, AR2->esalfa
611 ;----------------------------------------------------------------------------------
612 01c7 e344 BCND SMO_NEG_D_NEG_Q,LT ; Branch to NEG_D_NEG_Q if -esalfa < 0
01c8 01d0'
613 ; ARP=AR2, AR0->FR0, AR2->esalfa
614 ;----------------------------------------------------------------------------------
615 01c9 SMO_NEG_D_POS_Q ; ARP=AR2, AR0->FR0, AR2->esalfa
616 ;----------------------------------------------------------------------------------
617 01c9 bf80 LACC #16384 ; ACC = 16384 = 180 degree (Q15)
01ca 4000
618 ; ARP=AR2, AR0->FR0, AR2->esalfa
619 ;----------------------------------------------------------------------------------
620 01cb 7811 ADRK #17 ; ARP=AR2, AR0->FR0, AR2->thetau
621 ;----------------------------------------------------------------------------------
622 01cc 3080 SUB * ; ACC = 180 - thetau (Q15)
623 ; ARP=AR2, AR0->FR0, AR2->thetau
624 ;----------------------------------------------------------------------------------
625 01cd 9080 SACL * ; thetau = 180 - thetau (Q15)
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Tue May 6 12:41:27 2003
Copyright (c) 1987-1999 Texas Instruments Incorporated
smopos.asm PAGE 13
626 ; ARP=AR2, AR0->FR0, AR2->thetau
627 ;----------------------------------------------------------------------------------
628 01ce 7980 B SMO_QUADRANT_QD_END ; ARP=AR2, AR0->FR0, AR2->thetau
01cf 01d5'
629 ;----------------------------------------------------------------------------------
630 01d0 SMO_NEG_D_NEG_Q ; ARP=AR2, AR0->FR0, AR2->esalfa
631 ;----------------------------------------------------------------------------------
632 01d0 bf80 LACC #16384 ; ACC = 16384 = 180 degree (Q15)
01d1 4000
633 ; ARP=AR2, AR0->FR0, AR2->esalfa
634 ;----------------------------------------------------------------------------------
635 01d2 7811 ADRK #17 ; ARP=AR2, AR0->FR0, AR2->thetau
636 ;----------------------------------------------------------------------------------
637 01d3 2080 ADD * ; ACC = 180 + thetau (Q15)
638 ; ARP=AR2, AR0->FR0, AR2->thetau
639 ;----------------------------------------------------------------------------------
640 01d4 9080 SACL * ; thetau = 180 + thetau (Q15)
641 ; ARP=AR2, AR0->FR0, AR2->thetau
642 ;----------------------------------------------------------------------------------
643 01d5 SMO_QUADRANT_QD_END ; ARP=AR2, AR0->FR0, AR2->thetau
644 ;---
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -