AS92 for TI89/92+
by Kty & Fred (c)1998-1999
TABLE OF CONTENTSDisclaimer
Using the programSpecial commands Messages Examples
We can't be held responsible for whatever could happen( or not!) to your TI92+/89. That is to say there is no warranty that our system will recover data in any cases and that it won't damage your calculator. But keep in mind that it would be extremely unlikely that software could damage hardware...
This usefull program allows you to write your code in assembler 68000 on your calculator, then assemble/link it ON-calc ! It is rather fast, and support a lot of very interesting features such as, _nostub option, symbolic informations for debug part with DB92, macros and more.
as92.9xz and as92.89z
Things that aren't supported yet: RAM_CALL, Macros and BSS. Most of the 68000 instructions are supported.
AS92 always assembles the string passed as a parameter, so that the assembler can be invoqued by three ways :
as92("_nostub trap #4|_strout rts") ;here _nostub and _strout are recognize as labels.
Dependant of the direction you gave to the assembler, your code will be compiled and messages will informe you. The output is stored in outputb. Either a ASM or a STRG.
The way libraries and ROM_CALLs work is the same as DoorsOS linker, except that you have to create your own include file or EQU or MACROS. Bug report or suggestions are welcome as long as you're sure that the problem comes FROM AS92 and not from you :). Please read the Fargo or DoorsOS documentations, so that we haven't to reply to TI92 or 68000 related messages. Thanks.
Also pay attention to the fact that most mnemonics need the indication of their operandes' sizes: e.g: movem d0/a6,-(a7) won't work. But movem.l d0/a6,-(a7) or movem.w d0/a6,-(a7) will.
Macros : here is the syntax to use in order to define/use a macro :
MacroName MACRO ; MACRO must be in capital letters
; code of the macro
ENDM ; ANDM must be in capital letters
The parameters are used the same way as with a68k, from \1 to \9. You can try the macros by yourself or have look at exemples (exemples\macros in the zip file).
To understand how to write programs (using _ROM_CALL_s, libraries, macros and so on) you should have a look at the exemples.
To use them, you just need to put anywhere in your code a label that is one among :
It is the same function as the DoorsOS one. i.e: No DoorsOS header
Adds variables and labels to symbolic info data base (DB92). At the present time, they are all put into the label list in DB92. Doesn't work with _nostub.
The output is a string (This option *should* be used along with _nostub) and is executed with 'exec' command
AS92 also recognizes: _main, _comment and _exit.
Messages are in english or french (use the file as92f) and are no longer returned in HOME but stored in the variable as92ret of the current folder, this is for compatibility with AMS 2.03 (and may be corrected one day).
So you should compile in HOME this way :
to get the error messages after the compilation (or 0 if no error was found).
- hexs.9xt : This code was borrowed from hexadecimal memory editor by Noaah Stein. It shows that you can make big program. It doesn't use EQUs but _ROM_CALL_xxx instead.
- getrcall.9xf : This example is the perfect example of interfacing AS92 with a TI-BASIC program. Here, AS92 is used as an in-line assembler for the TI-BASIC. This example is simple, but shows the greats performances and features of AS92.
- incexpl.9xt: Shows how to use include files.
- macros\macros.9xt : an exemple of include file using macros.
- macros\toas.9xz : the main program for the above exemple.
- Their is also a set of include files that can be used with the 'include' command, so that you can call libraries functions directly by their names. You can also, of course, create your own includes files, and send them to us if you think they are usefull for other programers.
More exemples are coming...
If you have written a program you think could be used as an exemple for as92, contact us.
No feedbacks for now.
DBA is our 'team' name :)
We are two students in school engineering in France (ESEO - Ecole Supérieur d'Electronique de l'Ouest) and we are interested in programming and in designing specific hardware device for special platforms such as Texas Instruments calculators TI89/92+
If you want to contact us:
Use the assembly89/92 list at ticalc.org
|Fredfirstname.lastname@example.org||ICQ # 33467465|
|Ktyemail@example.com||ICQ # 45376616|