MDef Documentation
------------------

By Simone Rapisarda

Macro Definer to speed up programming v1.0


                                  M D E F

                                version 1.0

                                    by

                              S. A. Rapisarda



This is complete idiot proof macro definer written in user-RPL.
It's a very useful tool to write user-RPL programs (expecially the ones that
make a lot of stack manipulations) seeing immediately the consequences caused
by the instructions you enter. So, while writing a program, you don't have to
remember the position of each object on the stack and everything else.


INSTRUCTIONS:

Download the MDEF directory, enter in it and when everything is ready
enter the custom menu, you will find these six labels:

BEGIN  Begin the macro definition.

END    Finish the macro definition (the macro will be pushed on the stack
       as a program).

PAUSE  Pause the macro definition (press it again to restart the definition).

ADD1   Add the first level object to the macro.

EDIT   Edit the macro (press ENTER when finished).


MDEF will record all programmable keystrokes, the non-programmable ones will
be executed but not recorded.
An exception is made for two keys: [STO] and [PURGE]. The corresponding
instructions will no be recorded unless you reassign these instructions to
the keys (the keys will loose their special LASTARG capability).

NOTES: The last 22 characters of the macro are always (+/-) displayed in the
       top row of the display.

       All the variable contained in the directory are used by the custom
       menu: please don't execute, modify or delete them.

       Do not exit the user keyboard while defining a macro.

       These programs do COMPLETE error checking.


Silly example ;)

To Create a program that calculates a logarithm in any base do the following:

Put the argument of the log in level two and the base in level one then
press [BEGIN] [LN] [SWAP] [LN] [SWAP] [/] [END].
At the end you will find in level one the following program:
\<< LN SWAP LN SWAP / \>>
And in level two the log you just calculated (so you're shure that the
program in level one works correctly).

Ciao
