Motorola DSP56000 Assembler  Version 3.1  103-01-14  23:59:49  hilbert.asm
  Page 1



1         000078         N         equ     120                               ;fi
lter order
2         5.000000E-003  delta     equ     0.005                             ;de
lta
3         00FFFD         pctl      equ     $fffd                             ; P
LL control register
4         00FFFE         bcr       equ     $fffe                             ; B
CR Register
5         00FFFC         ogdbr     equ     $fffc                             ; O
nCE GDB Register
6         00FFEB         ecsr      equ     $ffeb                             ; E
MI Control/Status Register
7         00FFEA         edrr0     equ     $ffea                             ; E
MI Data Read Register
8         00FFE8         ebar0     equ     $ffe8                             ; E
MI Base Address Register 0
9         00FFE9         eor0      equ     $ffe9                             ; E
MI Offset Register
10        00000D         edrf      equ     13                                ; E
MI EDRR Full flag
11        000011         hrne      equ     17                                ; S
HI FIFO Not Empty flag
12        00FFF3         hrx       equ     $fff3                             ; S
HI HRX FIFO
13        00FFF1         hcsr      equ     $fff1                             ; S
HI Control/Status Register
14        000001         hi2c      equ     1                                 ; S
HI IIC Enable Control Bit
15        000000         ma        equ     0                                 ; O
MR Mode A
16        000001         mb        equ     1                                 ; O
MR Mode B
17        000004         mc        equ     4                                 ; O
MR Mode C
18        00FFF7         gpior     equ     $fff7                             ; G
PIO Control/Data Register
19        00000B         gdd3      equ     11                                ; d
irection bit for GPIO3
20        00000A         gdd2      equ     10                                ; d
irection bit for GPIO2
21        000009         gdd1      equ     9                                 ; d
irection bit for GPIO1
22        000008         gdd0      equ     8                                 ; d
irection bit for GPIO0
23        000001         gd3       equ     1                                 ; d
ata bit for GPIO3
24        00FFE1         rcs       equ     $ffe1                             ;SA
I receiver control / status register
25        00FFE4         tcs       equ     $ffe4                             ;SA
I transmitter conntrol /status register
26        00FFE0         brc       equ     $ffe0                             ;ba
ud rate control register
27        00FFE2         rx0       equ     $ffe2                             ;SA
I receive data register
28        00FFE3         rx1       equ     $ffe3                             ;SA
I receive data register
29        00FFE5         tx0       equ     $ffe5                             ;SA
I transmit data register
30        00FFE6         tx1       equ     $ffe6                             ;SA
I transmit data register
31        00FFE7         tx2       equ     $ffe7                             ;SA
Motorola DSP56000 Assembler  Version 3.1  103-01-14  23:59:49  hilbert.asm
  Page 2



I transmit data register
32        00FFFF         ipr       equ     $ffff                             ;in
terrupt priority register
33        00000E         rldf      equ     14                                ; l
eft receive register full
34        00000F         rrdf      equ     15                                ; r
ight ......          full
35        00000E         tlde      equ     14                                ; l
eft transmit reg. empty
36        00000F         trde      equ     15                                ; r
ight ......
37     
38     
39                       buf_delta_i
40        00007A                   equ     N+2                               ;in
teger part of delta
41                       buf_delta_f
42        00007B                   equ     N+3                               ;fr
actional part of delta
43                       buf_sin_x_i
44        00007C                   equ     N+4                               ;in
t. sine coordinates
45                       buf_sin_x_f
46        00007D                   equ     N+5                               ;fr
act. sine coordinates
47                       buf_cos_x_i
48        00007E                   equ     N+6                               ;in
t. cosine coor.
49                       buf_cos_x_f
50        00007F                   equ     N+7                               ;fr
act.cosine coor.
51        000080         sin_x     equ     N+8                               ;cu
rrnet sine val.
52        000081         cos_x     equ     N+9                               ;cu
rrent cosine val.
53     
54        000100         sinep     equ     $100                              ;si
ne table starting address
55        00014A         cosinep   equ     $14A                              ;co
sine start address
56        0000FF         mask      equ     $0ff                              ;ba
se address plus N minus one
57     
58     
59     
60        P:0000                   org     p:$0
61        P:0000 0AF080            jmp     start1                            ;ju
mp main
                 00007B
62     
63                       ;  org p:$2    ;stack error
64                       ;  nop
65                       ;  nop
66     
67                       ;   org p:$4   ;trace
68                       ;   nop
69                       ;   nop
70     
71                       ;   org p:$6   ;SWI
72                       ;   nop
73                       ;   nop
Motorola DSP56000 Assembler  Version 3.1  103-01-14  23:59:49  hilbert.asm
  Page 3



74     
75                       ;   org p:$8       ;IRQa
76                       ;    nop
77                       ;    nop
78     
79                       ;   org p:$0a      ;IRQb
80                       ;    nop
81                       ;    nop
82     
83                       ;   org p:$10      ;SAI L TX
84                       ;   jmp send_l
85                                                                           ; n
op
86                                                                           ; n
op
87     
88                       ;   org p:$12      ;SAI R TX
89                       ;   jmp send_r
90                                                                           ; n
op
91                                                                           ; n
op
92     
93                       ;  org p:$14       ;SAI TX Exception
94                       ;  jmp exc_tx
95                                                                           ;  
nop
96                                                                           ;  
nop
97     
98                       ;  org p:$16         ;SAI L RX
99                                                                           ; j
mp receive_l
100                      ;   nop
101                      ;   nop
102    
103                      ;  org p:$18          ;SAI R RX
104                      ;  jmp receive_r
105                                                                          ;  
nop
106                                                                          ;  
nop
107    
108                      ;  org p:$1a         ;SAI RX Exception
109                      ;  jmp exc_rx
110                      ;   nop
111                      ;   nop
112    
113                      ;  org p:$4a
114                      ;  nop
115                      ;  nop
116    
117                      coeff:                                              ; H
ilbert N-ordre coefficients
118       P:0002                   dc      0.0000
119       P:0003                   dc      -0.0009
120       P:0004                   dc      0.0000
121       P:0005                   dc      -0.0007
122       P:0006                   dc      0.0000
123       P:0007                   dc      -0.0009
124       P:0008                   dc      0.0000
Motorola DSP56000 Assembler  Version 3.1  103-01-14  23:59:49  hilbert.asm
  Page 4



125       P:0009                   dc      -0.0012
126       P:000A                   dc      0.0000
127       P:000B                   dc      -0.0015
128       P:000C                   dc      0.0000
129       P:000D                   dc      -0.0019
130       P:000E                   dc      0.0000
131       P:000F                   dc      -0.0024
132       P:0010                   dc      0.0000
133       P:0011                   dc      -0.0030
134       P:0012                   dc      0.0000
135       P:0013                   dc      -0.0037
136       P:0014                   dc      0.0000
137       P:0015                   dc      -0.0045
138       P:0016                   dc      0.0000
139       P:0017                   dc      -0.0053
140       P:0018                   dc      0.0000
141       P:0019                   dc      -0.0064
142       P:001A                   dc      0.0000
143       P:001B                   dc      -0.0075
144       P:001C                   dc      0.0000
145       P:001D                   dc      -0.0089
146       P:001E                   dc      0.0000
147       P:001F                   dc      -0.0104
148       P:0020                   dc      0.0000
149       P:0021                   dc      -0.0122
150       P:0022                   dc      0.0000
151       P:0023                   dc      -0.0142
152       P:0024                   dc      0.0000
153       P:0025                   dc      -0.0165
154       P:0026                   dc      0.0000
155       P:0027                   dc      -0.0193
156       P:0028                   dc      0.0000
157       P:0029                   dc      -0.0224
158       P:002A                   dc      0.0000
159       P:002B                   dc      -0.0262
160       P:002C                   dc      0.0000
161       P:002D                   dc      -0.0308
162       P:002E                   dc      0.0000
163       P:002F                   dc      -0.0365
164       P:0030                   dc      0.0000
165       P:0031                   dc      -0.0437
166       P:0032                   dc      0.0000
167       P:0033                   dc      -0.0534
168       P:0034                   dc      0.0000
169       P:0035                   dc      -0.0670
170       P:0036                   dc      0.0000
171       P:0037                   dc      -0.0880
172       P:0038                   dc      0.0000
173       P:0039                   dc      -0.1252
174       P:003A                   dc      0.0000
175       P:003B                   dc      -0.2109
176       P:003C                   dc      0.0000
177       P:003D                   dc      -0.6362
178       P:003E                   dc      0
179       P:003F                   dc      0.6362
180       P:0040                   dc      0.0000
181       P:0041                   dc      0.2109
182       P:0042                   dc      0.0000
183       P:0043                   dc      0.1252
184       P:0044                   dc      0.0000
185       P:0045                   dc      0.0880
Motorola DSP56000 Assembler  Version 3.1  103-01-14  23:59:49  hilbert.asm
  Page 5



186       P:0046                   dc      0.0000
187       P:0047                   dc      0.0670
188       P:0048                   dc      0.0000
189       P:0049                   dc      0.0534
190       P:004A                   dc      0.0000
191       P:004B                   dc      0.0437
192       P:004C                   dc      0.0000
193       P:004D                   dc      0.0365
194       P:004E                   dc      0.0000
195       P:004F                   dc      0.0308
196       P:0050                   dc      0.0000
197       P:0051                   dc      0.0262
198       P:0052                   dc      0.0000
199       P:0053                   dc      0.0224
200       P:0054                   dc      0.0000
201       P:0055                   dc      0.0193
202       P:0056                   dc      0.0000
203       P:0057                   dc      0.0165
204       P:0058                   dc      0.0000
205       P:0059                   dc      0.0142
206       P:005A                   dc      0.0000
207       P:005B                   dc      0.0122
208       P:005C                   dc      0.0000
209       P:005D                   dc      0.0104
210       P:005E                   dc      0.0000
211       P:005F                   dc      0.0089
212       P:0060                   dc      0.0000
213       P:0061                   dc      0.0075
214       P:0062                   dc      0.0000
215       P:0063                   dc      0.0064
216       P:0064                   dc      0.0000
217       P:0065                   dc      0.0053
218       P:0066                   dc      0.0000
219       P:0067                   dc      0.0045
220       P:0068                   dc      0.0000
221       P:0069                   dc      0.0037
222       P:006A                   dc      0.0000
223       P:006B                   dc      0.0030
224       P:006C                   dc      0.0000
225       P:006D                   dc      0.0024
226       P:006E                   dc      0.0000
227       P:006F                   dc      0.0019
228       P:0070                   dc      0.0000
229       P:0071                   dc      0.0015
230       P:0072                   dc      0.0000
231       P:0073                   dc      0.0012
232       P:0074                   dc      0.0000
233       P:0075                   dc      0.0009
234       P:0076                   dc      0.0000
235       P:0077                   dc      0.0007
236       P:0078                   dc      0.0000
237       P:0079                   dc      0.0009
238       P:007A                   dc      0.0000
239    
240                      start1:
241       P:007B 300200            move              #coeff,r0               ;st
art ROM addr. of coeff. table
242       P:007C 310000            move              #0,r1                   ;st
art RAM addr. of coeff. table
243       P:007D 067980            do      #N+1,coefloop                     ;tr
ansfer coeff. to Y:RAM
Motorola DSP56000 Assembler  Version 3.1  103-01-14  23:59:49  hilbert.asm
  Page 6



                 000080
244       P:007F 07D884            move              p:(r0)+,x0              ;RO
M->x0
245       P:0080 4C5900            move                          x0,y:(r1)+  ;x0
->y:RAM
246                      coefloop:
247    
248    
249    
250       P:0081 08F4BD            movep             #$260035,x:pctl         ; a
ctivate PLL and set clk=50MHz
                 260035
251       P:0083 08F4A1            movep             #$000201,x:rcs          ; a
ctivate SAI:RX - master mode
                 000201
252       P:0085 08F4A4            movep             #$000203,x:tcs          ; a
ctivate SAI:TX - master mode
                 000203
253    
254       P:0087 08F4BF            movep             #$000c00,x:ipr          ;se
t interrupt priority register
                 000C00
255                                                                          ; a
ndi   #$0fc,mr          ;turn interrupts on
256    
257    
258       P:0089 300000            move              #0,r0                   ;st
art of samples buffer chanel l
259       P:008A 340000            move              #0,r4                   ;st
art of coeff. buffer
260       P:008B 0577A0            move              #N-1,m0                 ;ar
ythm. mod N for adr. register
261       P:008C 0464A0            move              m0,m4                   ;co
nsider both buffers
262    
263    
264       P:008D 383D00            MOVE              #(N/2)+1,N0             ;mi
ddle sample of left buffer-delay of filter
265       P:008E 393D00            MOVE              #(N/2)+1,N1             ;mi
ddle ..........right .............
266    
267       P:008F 318000            move              #128,r1                 ;st
art of samples buffer chanel r
268       P:0090 350000            move              #0,r5                   ;st
art of coeff. buffer
269       P:0091 0577A1            move              #N-1,m1                 ;ar
ythm. mod N for adr. register
270       P:0092 0465A1            move              m1,m5                   ;co
nsider both buffers
271    
272    
273       P:0093 51F400            move              #(delta-@cvi(delta)),b0 ;st
ore fraction part in b0
                 00A3D7
274       P:0095 66F43A            asl     b         #sinep,r6               ;el
iminate sign bit, initialize r1
                 000100
275       P:0097 597000            move                          b0,y:buf_delta_
f ;unsigned fractional Delta in y0
                 00007B
276       P:0099 51F400            move              #>@cvi(delta),b0
Motorola DSP56000 Assembler  Version 3.1  103-01-14  23:59:49  hilbert.asm
  Page 7



                 000000
277       P:009B 597000            move                          b0,y:buf_delta_
i ;integer part of Delta in y0
                 00007A
278       P:009D 3E0013            clr     a         #0,n6                   ;in
itialize a and n1
279       P:009E 05FFA7            move              #mask,m7                ;se
t up mask value for sine pointer
280       P:009F 0466A7            move              m7,m6                   ;se
t up mask value .....
281       P:00A0 3F0000            move              #0,n7                   ;in
itialize n2 - get 0 val. from sine table
282       P:00A1 67F400            move              #sinep+1,r7             ;in
itialize r2 with the value r1+ 1 - next val.
                 000101
283    
284       P:00A3 3A0013            clr     a         #0,n2                   ;in
itialize a and n1
285       P:00A4 05FFA3            move              #mask,m3                ;se
t up mask value  for cosine generator
286       P:00A5 0462A3            move              m3,m2                   ;se
t up mask value
287       P:00A6 3B0000            move              #0,n3                   ;in
itialize n3 - get 0 val. from cosine table
288       P:00A7 63F400            move              #cosinep+1,r3           ;in
itialize r3 with the value r1+ 1 - next val.
                 00014B
289       P:00A9 62F400            move              #cosinep,r2
                 00014A
290                                                                          ;a=
0
291       P:00AB 5C7000            move                          a1,y:buf_sin_x_
i ;initialize buffers
                 00007C
292       P:00AD 587000            move                          a0,y:buf_sin_x_
f ;...
                 00007D
293       P:00AF 5C7000            move                          a1,y:buf_cos_x_
i ;...
                 00007E
294       P:00B1 587000            move                          a0,y:buf_cos_x_
f ;...
                 00007F
295    
296    
297                      wait_loop:                                          ;id
le loop
298       P:00B3 0AA1AE            jset    #rldf,x:rcs,receive_l             ;if
 rx left buff. full jump to process
                 0000B8
299       P:00B5 0AA1AF            jset    #rrdf,x:rcs,receive_r             ;if
 rx right buff. full jump to process
                 0000EB
300       P:00B7 0C00B3            jmp     wait_loop
301    
302                                                                          ;  
exc_rx:
303                                                                          ;  
 bset #gdd1,x:gpior
304                                                                          ; n
op
Motorola DSP56000 Assembler  Version 3.1  103-01-14  23:59:49  hilbert.asm
  Page 8



305                                                                          ; n
op
306                                                                          ; b
clr #gdd1,x:gpior
307                                                                          ;
308                                                                          ;  
move x:rcs,a2
309                                                                          ;  
move x:rx0,a2
310                                                                          ; n
op
311                                                                          ; n
op
312                                                                          ; n
op
313                                                                          ; n
op
314                                                                          ;  
rti
315    
316                                                                          ;  
exc_tx:
317                                                                          ; b
clr #gdd1,x:gpior
318                                                                          ; b
set #gdd1,x:gpior
319                                                                          ;  
move x:tcs,a2
320                                                                          ; m
ove a2,x:tx0
321                                                                          ; n
op
322                                                                          ; n
op
323                                                                          ; n
op
324                                                                          ; n
op
325                                                                          ; r
ti
326    
327    
328    
329                      receive_l:
330                                                                          ; O
RI   #$03,mr              ;turn off int.
331       P:00B8 0AB709            bCLR    #gdd1,x:gpior                     ;se
t io  for cpu usage measure
332       P:00B9 200013            clr     a                                 ;cl
r a2
333       P:00BA 5CF000            move                          y:buf_sin_x_i,a
1 ;restore sine coordinates
                 00007C
334       P:00BC 58F000            move                          y:buf_sin_x_f,a
0 ;....
                 00007D
335       P:00BE 20001B            clr     b                                 ; c
lr b2
336       P:00BF 210D00            move              a0,b1                   ;fr
action part of ptr in b1, b0= 0 (1)
337       P:00C0 4CEE2B            lsr     b                     y:(r6+n6),x0 ;b
Motorola DSP56000 Assembler  Version 3.1  103-01-14  23:59:49  hilbert.asm
  Page 9



1= signed fr. Delta, x0= sine (2)
338                      ; move b1,x:tx1               ;output sample for contro
l purposes
339       P:00C1 1FEF00            move              b,x1        y:(r7+n7),b ;si
gn. fract. in x1, sine in b1 (2)
340       P:00C2 20004C            sub     x0,b                              ;su
btr sines to obtain slope (1)
341       P:00C3 1BEE00            move              b,x0        y:(r6+n6),b ;sl
ope value to x0, sine in b1 (2)
342       P:00C4 2000AB            macr    x0,x1,b                           ;sa
mple approximation = m* x+ b (1)
343       P:00C5 4FF000            move                          y:buf_delta_i,y
1 ;load int. part of delta
                 00007A
344       P:00C7 4EF000            move                          y:buf_delta_f,y
0 ;load fractoin. part of delta
                 00007B
345       P:00C9 200030            add     y,a                               ;up
date calculation of  sine coordin.
346       P:00CA 5F7000            move                          b,y:sin_x   ;st
ore sine sample
                 000080
347       P:00CC 0445A7            move              m7,x1                   ;se
t up mask value in x1 (1)
348       P:00CD 200066            and     x1,a                              ;ma
sk a1 = modulo arithmetic (1)
349       P:00CE 219E00            move              a1,n6                   ;up
date offset register n1 (1)
350       P:00CF 219F00            move              a1,n7                   ;up
date offset register n2 (1)                                 ;return from the subr
outine (1)
351       P:00D0 5C7000            move                          a1,y:buf_sin_x_
i ;store sine coordinates
                 00007C
352       P:00D2 587000            move                          a0,y:buf_sin_x_
f ;....
                 00007D
353    
354    
355    
356    
357    
358       P:00D4 56F000            move              x:rx0,a                 ;ge
t input sample
                 00FFE2
359                      ;    MOVE A,X:tx0             ;output sample for contro
l purposes
360       P:00D6 566000            move              a,x:(r0)                ;wr
ite sample to RAM
361       P:00D7 F09813            clr     a         x:(r0)+,x0  y:(r4)+,y0  ;up
date registers
362       P:00D8 067780            do      #N-1,conv                         ;ca
lculate convoltion
                 0000DA
363       P:00DA F098D2            mac     x0,y0,a   x:(r0)+,x0  y:(r4)+,y0
364                      conv:
365       P:00DB 2050D3            macr    x0,y0,a   (r0)-                   ;ca
lculate last sample,shift sample buff.pointer
366       P:00DC 21C400            move              a,x0                    ;x_
h
367                      ;    MOVE A,X:tx0             ;output sample for contro
Motorola DSP56000 Assembler  Version 3.1  103-01-14  23:59:49  hilbert.asm
  Page 10



l purposes
368       P:00DD 4EF000            move                          y:cos_x,y0  ;ge
t cosine value
                 000081
369       P:00DF 467000            MOVE              y0,X:tx1                ;ou
tput cosine value for control
                 00FFE6
370       P:00E1 2000D8            mpy     x0,y0,b                           ;b=
Xh*cos
371       P:00E2 44E800            move              x:(r0+N),x0             ;X_
d
372                      ;    move x0,x:tx0            ;output delayed inp.sampl
e for control purposes
373       P:00E3 4EF000            move                          y:sin_x,y0  ;ge
t sine  value
                 000080
374                      ;    MOVE y0,X:tx1            ;output sine value for co
ntrol
375       P:00E5 21EE00            move              b,a                     ;pr
epare to final calculation
376                      ;    neg a                    ;negate a for down-conver
tion
377       P:00E6 2000D3            macr    x0,y0,a                           ;a=
X_d*sin+X_h*cos
378       P:00E7 567000            move              a,x:tx0                 ;ou
tut sample
                 00FFE5
379       P:00E9 0AB729            bSET    #gdd1,x:gpior                     ;se
t io  for cpu usage measure
380                      ;   andi   #$0fc,mr           ;turn int. on
381       P:00EA 0C00B3            jmp     wait_loop                         ;ju
mp to idle loop
382                      ;   rti
383    
384    
385    
386    
387                      receive_r:
388       P:00EB 0AB709            bclr    #gdd1,x:gpior                     ;se
t io  for cpu usage measure
389       P:00EC 200013            clr     a                                 ;cl
r a2
390       P:00ED 5CF000            move                          y:buf_cos_x_i,a
1 ;restore sine coordinates
                 00007E
391       P:00EF 58F000            move                          y:buf_cos_x_f,a
0 ;....
                 00007F
392       P:00F1 20001B            clr     b                                 ; c
lr b2
393       P:00F2 210D00            move              a0,b1                   ;fr
action part of ptr in b1, b0= 0 (1)
394       P:00F3 4CEA2B            lsr     b                     y:(r2+n2),x0 ;b
1= signed fr. Delta, x0= sine (2)
395                      ; move b1,x:tx1                ;output sample for contr
ol purposes
396       P:00F4 1FEB00            move              b,x1        y:(r3+n3),b ;si
gn. fract. in x1, sine in b1 (2)
397       P:00F5 20004C            sub     x0,b                              ;su
btr sines to obtain slope (1)
398       P:00F6 1BEA00            move              b,x0        y:(r2+n2),b ;sl
Motorola DSP56000 Assembler  Version 3.1  103-01-14  23:59:49  hilbert.asm
  Page 11



ope value to x0, sine in b1 (2)
399       P:00F7 2000AB            macr    x0,x1,b                           ;sa
mple approximation = m* x+ b (1)
400       P:00F8 4FF000            move                          y:buf_delta_i,y
1 ;load int. part of delta
                 00007A
401       P:00FA 4EF000            move                          y:buf_delta_f,y
0 ;load fractoin. part of delta
                 00007B
402       P:00FC 200030            add     y,a                               ;up
date calculation
403       P:00FD 5F7000            move                          b,y:cos_x   ;st
ore cosine sample (1)
                 000081
404       P:00FF 0445A3            move              m3,x1                   ;se
t up mask value in x1 (1)
405       P:0100 200066            and     x1,a                              ;ma
sk a1 = modulo arithmetic (1)
406       P:0101 219A00            move              a1,n2                   ;up
date offset register n1 (1)
407       P:0102 219B00            move              a1,n3                   ;up
date offset register n2 (1)                                 ;return from the subr
outine (1)
408       P:0103 5C7000            move                          a1,y:buf_cos_x_
i ;store sine coordinates
                 00007E
409       P:0105 587000            move                          a0,y:buf_cos_x_
f ;....
                 00007F
410    
411    
412       P:0107 56F000            move              x:rx0,a                 ;ge
t input sample
                 00FFE2
413                      ;    MOVE A,X:tx1             ;output sample for contro
l purposes
414       P:0109 566100            move              a,x:(r1)                ;wr
ite sample to RAM
415       P:010A F0B913            clr     a         x:(r1)+,x0  y:(r5)+,y0  ;up
date registers
416       P:010B 067780            do      #N-1,conv1                        ;ca
lculate convoltion
                 00010D
417       P:010D F0B9D2            mac     x0,y0,a   x:(r1)+,x0  y:(r5)+,y0
418                      conv1:
419       P:010E 2051D3            macr    x0,y0,a   (r1)-                   ;ca
lculate last sample,shift sample buff.pointe
420       P:010F 21C400            move              a,x0                    ;x_
h
421                                                                          ;  
 MOVE A,X:tx1             ;output sample for control purposes
422       P:0110 4EF000            move                          y:cos_x,y0  ;ge
t cosine value
                 000081
423                      ;    MOVE Y0,X:tx1            ;output cosine value for 
control
424       P:0112 2000D8            mpy     x0,y0,b                           ;b=
Xh*cos
425       P:0113 44E900            move              x:(r1+N),x0             ;X_
d
426                                                                          ;  
Motorola DSP56000 Assembler  Version 3.1  103-01-14  23:59:49  hilbert.asm
  Page 12



 MOVE x0,X:tx1            ;output delayed inp.sample for control purposes
427       P:0114 4EF000            move                          y:sin_x,y0  ;ge
t sine  value
                 000080
428       P:0116 467000            MOVE              y0,X:tx1                ;ou
tput sine value for control
                 00FFE6
429       P:0118 21EE00            move              b,a                     ;pr
epare to final calculation
430                                                                          ;  
neg a                     ;negate a for down-convertion
431       P:0119 2000D3            macr    x0,y0,a                           ;a=
X_d*sin+X_h*cos
432       P:011A 567000            move              a,x:tx0                 ;ou
tut sample
                 00FFE5
433       P:011C 0AB729            bSET    #gdd1,x:gpior                     ;se
t io  for cpu usage measure
434                                                                          ;  
    andi   #$0fc,mr      ;turn int. on
435       P:011D 0C00B3            jmp     wait_loop                         ;ju
mp to idle loop
436                      ;   rti
437    
438    
439    
440    
441    

0    Errors
0    Warnings






























