Motorola DSP56300 Assembler Version 6.2.0 99-12-03 11:18:52 speech.asm Page 1 1 2 ; 3 ;****************************************************************************** 4 ; 5 ; file:speech.asm 6 ; 7 ; This program tests the 256K x 16 Extended Memory Board 8 ; for the Motorola DSP56000 ADS 9 ; 10 ; Chuck Pateros 11 ; January 9, 1991 12 13 page 132,,1,1 14 15 X:000000 org x:0 16 X:000000 divide dc 2 ; divide-by ratio for decimating speech 17 X:000001 mask dc $ffff00 ; mask for limiting D/A resolution 18 X:000002 nrept dc 16384 ; number of repeats for 32,768 data point readin 19 X:000003 rambas dc 32768 ; base address of extended RAM 20 21 ; Program start address 22 23 P:000100 org p:$100 24 ; 25 ; Set up ADS board in case of force break instead of force reset 26 ; 27 P:000100 08F4BE movep #$1100,x:<<$FFFFFE ;set bcr for 1 external X,Y wait 001100 28 P:000102 0500BB movec #0,sp ;init stack pointer 29 P:000103 0500B9 movec #0,sr ;clear loop flag 30 31 ; Set up the SSI for operation with the DSP56ADC16EVB 32 ; The following code sets port C to function as SCI/SSI 33 34 P:000104 280000 move #$0,a0 ;zero PCC to cycle it **** 35 [speech.asm 35]: WARNING --- Absolute address too small to use I/O short - long substituted (X data move field) **** 35 [speech.asm 35]: ERROR --- I/O short addressing must be used for destination operand (X data move field) 35 P:000105 084000 movep a0,x:<<$FFE1 36 37 P:000106 50F400 move #$0001ff,a0 0001FF **** 38 [speech.asm 38]: WARNING --- Absolute address too small to use I/O short - long substituted (X data move field) **** 38 [speech.asm 38]: ERROR --- I/O short addressing must be used for destination operand (X data move field) 38 P:000108 084000 movep a0,x:<<$FFE1 ;write PCC 39 40 ; The following code sets the SSI CRA and CRB control registers for external 41 ; continuous clock, synchronous, normal mode. 42 43 P:000109 50F400 move #$004000,a0 ;CRA pattern for word length=16 bits 004000 **** 44 [speech.asm 44]: WARNING --- Absolute address too small to use I/O short - long substituted (X data move field) **** 44 [speech.asm 44]: ERROR --- I/O short addressing must be used for destination operand (X data move field) 44 P:00010B 084000 movep a0,x:<<$FFEC 45 46 P:00010C 50F400 move #$003200,a0 ;CRB pattern for continous ck,sych,normal mode 003200 **** 47 [speech.asm 47]: WARNING --- Absolute address too small to use I/O short - long substituted (X data move field) **** 47 [speech.asm 47]: ERROR --- I/O short addressing must be used for destination operand (X data move field) 47 P:00010E 084000 movep a0,x:<<$FFED ;word long frame sync: FSL=0;ext ck/fs 48 ; Motorola DSP56300 Assembler Version 6.2.0 99-12-03 11:18:52 speech.asm Page 2 49 ; Set up port B to be used as address extension bits (low order 3 bits) 50 ; 51 P:00010F 280000 move #$0,a0 ; parallel i/0 **** 52 [speech.asm 52]: WARNING --- Absolute address too small to use I/O short - long substituted (X data move field) **** 52 [speech.asm 52]: ERROR --- I/O short addressing must be used for destination operand (X data move field) 52 P:000110 084000 movep a0,x:<<$ffe0 53 P:000111 50F400 move #$007fff,a0 ; set all bits to outputs 007FFF **** 54 [speech.asm 54]: WARNING --- Absolute address too small to use I/O short - long substituted (X data move field) **** 54 [speech.asm 54]: ERROR --- I/O short addressing must be used for destination operand (X data move field) 54 P:000113 084000 movep a0,x:<<$ffe2 55 56 P:000114 280000 move #$0,a0 ; set to zero output **** 57 [speech.asm 57]: WARNING --- Absolute address too small to use I/O short - long substituted (X data move field) **** 57 [speech.asm 57]: ERROR --- I/O short addressing must be used for destination operand (X data move field) 57 P:000115 084000 movep a0,x:<<$ffe4 58 59 loop 60 61 ; 62 ; Write data into RAM 63 ; 64 P:000116 310000 move #$0,r1 ; set to zero RAM page 65 P:000117 060880 do #8,cycle2 000129 66 P:000119 608300 move x:rambas,r0 **** 67 [speech.asm 67]: WARNING --- Absolute address too small to use I/O short - long substituted (X data move field) **** 67 [speech.asm 67]: ERROR --- I/O short addressing must be used for destination operand (X data move field) 67 P:00011A 084000 movep r1,x:<<$ffe4 ; write out RAM page and inc 68 P:00011B 205900 move (r1)+ 69 ; 70 ; do each block 71 ; 72 P:00011C 060200 do x:nrept,cycle 000127 73 poll **** 74 [speech.asm 74]: ERROR --- Absolute address too small to use I/O short (Operand field) 74 P:00011E 0A0080 jclr #7,x:<<$FFEE,poll ; loop until RDF bit = 1 000000 **** 75 [speech.asm 75]: WARNING --- Absolute address too small to use I/O short - long substituted (X data move field) **** 75 [speech.asm 75]: ERROR --- I/O short addressing must be used for source operand (X data move field) 75 P:000120 084000 movep x:<<$FFEF,y0 ; get A/D converter data **** 76 [speech.asm 76]: WARNING --- Absolute address too small to use I/O short - long substituted (X data move field) **** 76 [speech.asm 76]: ERROR --- I/O short addressing must be used for destination operand (X data move field) 76 P:000121 084000 movep y0,x:<<$FFEF ; put A/D converter data 77 P:000122 4E6000 move y0,y:(r0) 78 poll2 **** 79 [speech.asm 79]: ERROR --- Absolute address too small to use I/O short (Operand field) 79 P:000123 0A0080 jclr #7,x:<<$FFEE,poll2 ; loop until RDF bit = 1 000000 **** 80 [speech.asm 80]: WARNING --- Absolute address too small to use I/O short - long substituted (X data move field) **** 80 [speech.asm 80]: ERROR --- I/O short addressing must be used for source operand (X data move field) 80 P:000125 084000 movep x:<<$FFEF,x0 ; get A/D converter data **** 81 [speech.asm 81]: WARNING --- Absolute address too small to use I/O short - long substituted (X data move field) **** 81 [speech.asm 81]: ERROR --- I/O short addressing must be used for destination operand (X data move field) 81 P:000126 084000 movep x0,x:<<$FFEF ; put A/D converter data 82 P:000127 445800 move x0,x:(r0)+ 83 cycle 84 P:000128 000000 nop 85 P:000129 000000 nop Motorola DSP56300 Assembler Version 6.2.0 99-12-03 11:18:52 speech.asm Page 3 86 cycle2 87 P:00012A 000000 nop 88 P:00012B 000000 nop 89 P:00012C 000000 talk nop 90 ; 91 ; Read data back from RAM 92 ; 93 P:00012D 310000 move #$0,r1 ; set to zero RAM page 94 P:00012E 62F000 move x:>divide,r2 ; get divide by ratio 000000 95 P:000130 060880 do #8,cyc2 00015D 96 P:000132 60F000 move x:>rambas,r0 ; point to base of RAM 000003 **** 97 [speech.asm 97]: WARNING --- Absolute address too small to use I/O short - long substituted (X data move field) **** 97 [speech.asm 97]: ERROR --- I/O short addressing must be used for destination operand (X data move field) 97 P:000134 084000 movep r1,x:<<$ffe4 ; update RAM page 98 P:000135 205900 move (r1)+ ; increment RAM page 99 ; 100 ; read each block 101 ; 102 P:000136 060200 do x:nrept,cyc 00015B 103 poll3 **** 104 [speech.asm 104]: ERROR --- Absolute address too small to use I/O short (Operand field) 104 P:000138 0A0080 jclr #7,x:<<$FFEE,poll3 ; loop until RDF bit = 1 000000 105 P:00013A 000000 nop 106 P:00013B 000000 nop **** 107 [speech.asm 107]: WARNING --- Absolute address too small to use I/O short - long substituted (X data move field) **** 107 [speech.asm 107]: ERROR --- I/O short addressing must be used for source operand (X data move field) 107 P:00013C 084000 movep x:<<$FFEF,y0 ; get A/D converter data 108 P:00013D 205200 move (r2)- 109 P:00013E 200013 clr a 110 P:00013F 224600 move r2,y0 111 P:000140 200050 add y0,a 112 P:000141 0AF0A2 jne nonew 000149 113 P:000143 62F000 move x:>divide,r2 000000 114 P:000145 548100 move x:mask,a1 115 P:000146 4FE000 move y:(r0),y1 116 P:000147 200076 and y1,a **** 117 [speech.asm 117]: WARNING --- Pipeline stall reading register written in previous instruction (X data move field) 117 P:000148 218D00 move a1,b1 118 P:000149 000000 nonew nop **** 119 [speech.asm 119]: WARNING --- Absolute address too small to use I/O short - long substituted (X data move field) **** 119 [speech.asm 119]: ERROR --- I/O short addressing must be used for destination operand (X data move field) 119 P:00014A 084000 movep b1,x:<<$FFEF ; put A/D converter data 120 poll4 **** 121 [speech.asm 121]: ERROR --- Absolute address too small to use I/O short (Operand field) 121 P:00014B 0A0080 jclr #7,x:<<$FFEE,poll4 ; loop until RDF bit = 1 000000 **** 122 [speech.asm 122]: WARNING --- Absolute address too small to use I/O short - long substituted (X data move field) **** 122 [speech.asm 122]: ERROR --- I/O short addressing must be used for source operand (X data move field) 122 P:00014D 084000 movep x:<<$FFEF,y0 ; get A/D converter data 123 P:00014E 45D800 move x:(r0)+,x1 124 P:00014F 205200 move (r2)- 125 P:000150 200013 clr a 126 P:000151 224600 move r2,y0 Motorola DSP56300 Assembler Version 6.2.0 99-12-03 11:18:52 speech.asm Page 4 127 P:000152 200050 add y0,a 128 P:000153 0AF0A2 jne nonew2 00015A 129 P:000155 62F000 move x:>divide,r2 000000 130 P:000157 548100 move x:mask,a1 131 P:000158 200066 and x1,a **** 132 [speech.asm 132]: WARNING --- Pipeline stall reading register written in previous instruction (X data move field) 132 P:000159 218D00 move a1,b1 133 P:00015A 000000 nonew2 nop **** 134 [speech.asm 134]: WARNING --- Absolute address too small to use I/O short - long substituted (X data move field) **** 134 [speech.asm 134]: ERROR --- I/O short addressing must be used for destination operand (X data move field) 134 P:00015B 084000 movep b1,x:<<$FFEF ; put A/D converter data 135 136 cyc 137 P:00015C 000000 nop 138 P:00015D 000000 nop 139 cyc2 140 P:00015E 000000 nop 141 P:00015F 000000 nop 142 P:000160 0C012C jmp talk 143 144 intrpt 145 P:000161 000004 rti 146 147 148 P:00001C org p:$001c 149 P:00001C 0D0161 jsr intrpt 150 end 21 Errors 19 Warnings