PowerPC assembler question
Peter Dufault
dufault at hda.com
Wed May 26 12:01:58 UTC 2010
I'm trying to assemble a Freescale library (lib DSP libraries for MPC55XX SPE APU) written in Metroworks assembler. Many files assemble after sedding the .align directive to an appropriate one for gas and using "-mspe -mregnames" but many fail with the following error:
bitrev_table_16bit.s:116: Error: syntax error; found `
Here's part of that file. Can anyone tell me what the proper fix is? Look for SYNTAX ERROR HERE near the bottom. If you need the entire file I'll send it to you.
#<#/* registers */
.set n , 3 #/* number of groups, B^P=N (N is FFT length), n=sqrt(N) if P is even or n=sqrt(N/B) if P is odd */
.set y , 4 #/* in/out buffer */
.set seed , 5 #/* seed table */
.set inner_loop_ctr , 6
.set seed_offset_addr , 7
.set seed_offset , 8
.set seed_gN_addr , 9
.set firstj , 10
.set i_addr , 11
.set i_addr_in_inc , 28
.set tmp_j , 30
.set tmp_i , 31
#>#
#/* code */
#/* store nonvolatile registers */
stwu r1,-32(r1)
stw r31,28(r1)
stw r30,24(r1)
stw r29,20(r1)
stw r28,16(r1)
addi seed_offset_addr,seed,ONE_ITEM_TABLE_BYTESIZE; #/* update address to seed table */
lhz seed_offset,0(seed_offset_addr); #/* load value from seed table */
addi i_addr,y,ONE_ITEM_BYTESIZE; #/* init address of tmp_i */
slwi i_addr_in_inc,n,ONE_ITEM_BYTESIZE_EXP; #/* i_addr increment for inner loop */
subi tmp_i,n,1; #/* tmp_i = n-1 */
mtctr tmp_i; #/* outer loop executed n-1 */
outer_loop:
#/* exchange tmp_i and tmp_j complex elements */
mullw firstj,n,seed_offset; #/* firstj = n*seed_offset */
/****/
load tmp_i,0(i_addr); #/* load tmp_i */ *************************SYNTAX ERROR HERE */
/****/
addi seed_gN_addr,seed,ONE_ITEM_TABLE_BYTESIZE; #/* init address of seed[groupNumber] */
Peter
-----------------
Peter Dufault
HD Associates, Inc. Software and System Engineering
More information about the users
mailing list