⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c200user.asm

📁 DSP MOTOR CONTRL
💻 ASM
📖 第 1 页 / 共 2 页
字号:
            MAR     *+, AR2       ; Increment AR1 and step ARP.
            MAR     *+, AR3       ; Increment AR2 and step ARP.
            MAR     *+, AR4       ; Increment AR3 and step ARP.
            MAR     *+, AR5       ; Increment AR4 and step ARP.
            MAR     *+, AR6       ; Increment AR5 and step ARP.
            NOP                   ; do nothing
            NOP                   ; do nothing
            NOP                   ; do nothing
            NOP                   ; do nothing

            DINT
            NOP                   ; do nothing
            NOP                   ; do nothing
            NOP                   ; do nothing
            NOP                   ; do nothing

            EINT
            DINT
            EINT
            DINT
            NOP                   ; do nothing
            NOP                   ; do nothing
            NOP                   ; do nothing
            NOP                   ; do nothing
;
            .page 
;
            EINT
            NOP                   ; do nothing
            DINT
            NOP                   ; do nothing
            EINT
            NOP                   ; do nothing
            DINT
            NOP                   ; do nothing
            NOP                   ; do nothing
            NOP                   ; do nothing
            NOP                   ; do nothing

            DINT
            NOP                   ; do nothing
            NOP                   ; do nothing
            NOP                   ; do nothing
            NOP                   ; do nothing

            MAR     *, AR0        ; Initialise the ARP register.
            MAR     *+, AR1       ; Increment AR0 and step ARP.
            MAR     *+, AR2       ; Increment AR1 and step ARP.
            MAR     *+, AR3       ; Increment AR2 and step ARP.
            MAR     *+, AR4       ; Increment AR3 and step ARP.
            MAR     *+, AR5       ; Increment AR4 and step ARP.
            MAR     *+, AR6       ; Increment AR5 and step ARP.
            NOP                   ; do nothing
            NOP                   ; do nothing
            NOP                   ; do nothing
            NOP                   ; do nothing

;            SPLK    #0FFFFh, *
;            RPT     *
;            NOP

            MAR     *, AR0        ; Initialise the ARP register.
            CALL    MAR1          ; Increment AR0 and step ARP.
            MAR     *+, AR2       ; Increment AR1 and step ARP.
            CALL    MAR3          ; Increment AR2 and step ARP.
            MAR     *+, AR4       ; Increment AR3 and step ARP.
            CALL    MAR5          ; Increment AR4 and step ARP.
            MAR     *+, AR6       ; Increment AR5 and step ARP.
            NOP                   ; do nothing
            NOP                   ; do nothing
            NOP                   ; do nothing
            NOP                   ; do nothing

            EINT
            NOP                   ; do nothing
            NOP                   ; do nothing

	    ldp     #BackCount
	    lacc    BackCount.Hi,16
	    adds    BackCount.Lo
	    sub     #1
	    sach    BackCount.Hi
	    sacl    BackCount.Lo
            NOP                   ; do nothing
            NOP                   ; do nothing

            BNZ     INNER         ; Redo the inner loop.
            NOP                   ; do nothing
            NOP                   ; do nothing

            RET
;
            .page 
;--------------------------------------------------------------------------
; Stack load and store routines.
; They were used to verify that the monitor does not mis-use the stack.
;--------------------------------------------------------------------------
STACK_LOAD
            LALK    #00000h       ;
            PUSH                  ;
            LALK    #01111h       ;
            PUSH                  ;
            LALK    #02222h       ;
            PUSH                  ;
            LALK    #03333h       ;
            PUSH                  ;
            LALK    #04444h       ;
            PUSH                  ;
            LALK    #05555h       ;
            PUSH                  ;
            LALK    #06666h       ;
            PUSH                  ;
            LALK    #07777h       ;
            PUSH                  ;
            B       STACK + 2     ;
;
STACK_STOR
            LDP     #6            ;
            SPLK    #0FFFFh, 000h ;
            SPLK    #0FFFFh, 001h ;
            SPLK    #0FFFFh, 002h ;
            SPLK    #0FFFFh, 003h ;
            SPLK    #0FFFFh, 004h ;
            SPLK    #0FFFFh, 005h ;
            SPLK    #0FFFFh, 006h ;
            SPLK    #0FFFFh, 007h ;
            POPD    000h          ;
            POPD    001h          ;
            POPD    002h          ;
            POPD    003h          ;
            POPD    004h          ;
            POPD    005h          ;
            POPD    006h          ;
            POPD    007h          ;
            B       $             ;
;
            .page 
;--------------------------------------------------------------------------
; Interrupt service routines.
;--------------------------------------------------------------------------
save_code   $macro
	    mar     *+
	    sst     #1,*+
	    sst     #0,*+
	    sacl    *+
	    sach    *
            $endm
;
rest_code   $macro
            lacc    *-,16
            adds    *-
            lst     #0,*-
            lst     #1,*-
            clrc    INTM
            ret
            $endm
;
INT1_ISR    save_code
            rest_code
;
INT2_ISR    save_code
            rest_code
;
INT3_ISR    save_code
            rest_code
;
INT4_ISR    save_code

            ldp     #TimeCount
            lacc    TimeCount.Hi, 16
            adds    TimeCount.Lo
            sub     #1
            sach    TimeCount.Hi
            sacl    TimeCount.Lo

            SPLK    #01000h, *
            RPT     *
            NOP

            rest_code
;
INT5_ISR    save_code
            rest_code
;
INT6_ISR    save_code
            rest_code
;
            .page 
;--------------------------------------------------------------------------
; Called service routines.
;--------------------------------------------------------------------------
;
MAR0        MAR     *+, AR0       ; Increment AR7 and step ARP.
            RET                   ;
;
MAR1        MAR     *+, AR1       ; Increment AR0 and step ARP.
            RET                   ;
;
MAR2        MAR     *+, AR2       ; Increment AR1 and step ARP.
            RET                   ;
;
MAR3        MAR     *+, AR3       ; Increment AR2 and step ARP.
            RET                   ;
;
MAR4        MAR     *+, AR4       ; Increment AR3 and step ARP.
            RET                   ;
;
MAR5        MAR     *+, AR5       ; Increment AR4 and step ARP.
            RET                   ;
;
MAR6        MAR     *+, AR6       ; Increment AR5 and step ARP.
            RET                   ;
;
MAR7        MAR     *+, AR7       ; Increment AR6 and step ARP.
            RET                   ;
;
            .end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -