Texas Instruments MSP50C614 User Manual
Page 380
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