beautypg.com

Texas Instruments MSP50C614 User Manual

Page 380

background image

Texas Instruments C614 Synthesis Code

6-12

RAM Usage

The file

MAIN.LST

contains the variable RAM assignments. Do a search for

BEGIN_RAM

to find the start of the RAM locations.

Adding Another Module

There are three steps to adding a new module to a project. First, the project
file (

.RPJ

) must be updated to include the ASM file (click on

File – Insert to add

files to a project). Second, the RAM overlay file

MAIN_RAM.IRX

should be

updated with the RAM required by the new module. And finally, any functions
which are called from

MAIN.ASM

should be declared as external at the top of

MAIN.ASM

.

Here, the self-extracting zipfile MELP2.ZIP contains the necessary extra files
to implement the N factorial (N!) function, normally referred to as N shriek. This
function is called

do_shriek and is in SHRIEK.ASM under the

MODULES\SHRIEK directory.

Under the MELP2 directory the file

MAIN.ASM

should now contain the

following two extra lines of code, just below the

shriek4

label:

shriek4

movb

a0,4

call

do_shriek

To test this code, build the MELP2 project and program another P614. Set a
breakpoint at

shriek4

and then do a Run Internal (yellow lightning/black

centipede icon). Step over (press F8) and the accumulator 00 will be 0004 after
the

movb

instruction. Step over once more and the accumulator 00 will be 0018

after calling the

do_shriek function.

Understanding the RAM Map

In the above code, the value of 4 is stored in the variable

shriekvar

. The list

file

MAIN.LST

shows the location of this variable to be 0x448, which is an

offset of 0x448

bytes from the beginning of the RAM at 0x000. Since the RAM

window displays

words of RAM the

shriekvar

variable is shown at (0x448/2)

which is 0x224. To verify this, step over the

do_shriek function and watch RAM

location 0x224 change from 0000 (blue) to 0018 (red).

Modifying Files and Projects

The 614 code contains certain files which may be edited, some files which
should only be edited with good reason, and a few files which should never be
edited. In general:

These files may be edited

MAIN.ASM, MAIN.IRX, MAIN_RAM.IRX and FLAGS.IRX