|
| Listing 2
Serial assembly language implementation of C loop
|
1 ;
2 ; serial implementation of loop (26 cycles per iteration)
3 ;
4 L1: LDW *B++,B5 ;load B[i] into B5
5 NOP 4 ; wait for load to complete
6
7 LDW *A++,A4 ; load A[i] into A4
8 NOP 4 ; wait for load to complete
9
10 MPYSP B5,A4,A4 ; A4 = A4 * B5
11 NOP 3 ; wait for mult to complete
12
13 STW A4,*C++ ; store A4 in C[i]
14 NOP 4 ; wait got store to complete
15
16 SUB i,1,i ; decrement i
17 [i] B L1 ; if i != 0, goto L1
18 NOP 5 ; delay for branch
|
Back
|
|
|
|
|