Sign in

username:

password:



Not a member?

Search c3x



Search tips

Subscribe to c3x



c3x by Keywords

Boot | C31 | TMS320VC33 | VC33


Discussion Groups

Discussion Groups | TMS320C3x | Re: [Fwd: need assembly code for sinx using look up table]

Technical discussions about the TI C3x DSPs (including the C31, C32 and C33 DSPs).

  

Post a new Thread

Re: [Fwd: need assembly code for sinx using look up table] - Keith Larson - Aug 18 8:07:54 2006



Hello Nupur

The basic principle you need to know is that you can treat address 
labels as simple numbers.  This means you can add, subtract and (in 
theory) even multiply them.  The absolute value of a label is however 
variable until it has been 'linked' to an absolute location.  You can 
clearly see this in the TI COFF assembler listing file.  Basically the 
linkers job is to then add the base or starting address of a section to 
labels within a section.  The DSK assembler is a little different in 
that the base address is predefined so there is no need for a linker.

LABEL1                        ; Beginning address
         .float  1.234
         .float  5.678
LABEL2                        ; Ending address
LENGTH   .long LABEL2-LABEL1  ; subtract address labels to get length

The DSK assembler is also different from the TI-COFF tools in that it 
has math functions built in.  And, given that addresses are also 
numbers, a table can be easily generated.  A lot of people use the DSK 
assembler to generate tables.  The following example code is from 
SIN_SG.ASM.  In it you will also notice the variable '$' gets used.  The 
'$' symbol stands for 'current address' and is therefor helpful in 
calculating an offset value.
;=================================================
; lookup table for DSK_SG.EXE signal generator
;=================================================
         .start  "TABLE",0X809800
         .sect   "TABLE"
N        .set    128
PI       .set    3.1415926
PI2N     .set    2.0*PI/N
TR
         .loop     N
offs     .sdef     ($-TR)
         .float    16000.0 * cos(offs*PI2N)
         .endloop
         .end

Best regards
Keith Larson

------- Original Message -------- Subject: [c3x] need assembly code
hello everyone,

i just joined this group. i want to know how to create a look up table 
in assembly? by using this look up table generate values of sinx.

thanks nupur



(You need to be a member of c3x -- send a blank email to c3x-subscribe@yahoogroups.com )