📄 vectors.asm
字号:
;***************************************************************************
; FILENAME: Rtvector.asm
;
; DESCRIPTION: Includes Vector needed for real time applications
;
; STATUS:
;
;***************************************************************************
;***************************************************************************
; GLOBAL DECLARATIONS
;***************************************************************************
.ref _c_int00
.global _DPtest
;***************************************************************************
; This is the vectors table, to be located at 0x0000@prog.
;***************************************************************************
.sect ".vec"
.align 32*8*4
RESET mvkl _c_int00, b0 ; 00
mvkh _c_int00, b0 ; 00
b b0
nop 5
nop
nop
nop
nop
_DPtest:
MVK .S1 1,A29
MVK .S1 5 ,A30
ADD .L1 A29,A30,A31
|| MPY .M1 A29,A30,A31
|| LDDW .D1T1 *A29, A31:A30
|| LDDW .D2T2 *B29, B31:B30
|| NOP 5
MVK .S1 50,A1 ; set up loop counter
|| ZERO .L1 A7 ; zero out sum0 accumulator
|| ZERO .L2 B7 ; zero out sum1 accumulator
LOOP: LDW .D1 *A4++,A2 ; load ai & ai+1 from memory
|| LDW .D2 *B4++,B2 ; load bi & bi+1 from memory
SUB .S1 A1,1,A1 ; decrement loop counter
[A1]B .S1 LOOP ; branch to loop
; NOP
; BDEC .S1 LOOP,A1
NOP 2
MPY .M1X A2,B2,A6 ; ai * bi
|| MPYH .M2X A2,B2,B6 ; ai+1 * bi+1
NOP
ADD .L1 A6,A7,A7 ; sum0+= (ai * bi)
|| ADD .L2 B6,B7,B7 ; sum1+= (ai+1 * bi+1)
; Branch occurs here
ADD .L1X A7,B7,A4 ;sum = sum0 + sum1
nop
nop
MVK .S1 50,A1 ; set up loop counter
|| ZERO .L1 A7 ; zero out sum0 accumulator
|| ZERO .L2 B7 ; zero out sum1 accumulator
MVK .S1 50,A1 ; set up loop counter
|| ZERO .L1 A7 ; zero out sum0 accumulator
|| ZERO .L2 B7 ; zero out sum1 accumulator
MVK .S1 50,A1 ; set up loop counter
|| ZERO .L1 A7 ; zero out sum0 accumulator
|| ZERO .L2 B7 ; zero out sum1 accumulator
nop
nop
nop
LDH .D1 *A4++,A2 ; load ai from memory
LDH .D1 *A3++,A5 ; load bi from memory
MPY .M1 A2,A5,A6 ; ai * bi
ADD .L1 A6,A7,A7 ; sum += (ai * bi)
SUB .S1 A1,1,A1 ; decrement loop counter
[A1]B .S2 LOOP ; branch to loop
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -