Re: A89: ASM exectution questions


[Prev][Next][Index][Thread]

Re: A89: ASM exectution questions




At 08:20 1999-01-17 -0800, you wrote: 
>TI89 Question:
>
>When one executes an assebmly program, is it copied from it's storage
>location to an execution area (like in the TI86) or, is it just executed
>where it is saved?

It's executed on the spot.

>When a program is compiled, the absolute locations of variables and/or
>subroutines is not know. If using relative addressing, this is not a
>problem but many instructions use absolute addresses. Those locations are
>resolved during relocation.  
>
>Where is this done?  I think it is done with the kernel, if using Doors or
>PlusShell, but if not using those, where or how is that accomplished?

Usually by the shell when executing the program (Fargo, DoorsOS)

>Others have said it is possible to write an assembly program that does not
>require either Doors or PlusShell, but if not using them where or how are
>these symbol locations resolved?

When compiling a PlusShell program, it adds a bit of prewritten code
at the begging (called a "stub") which does the relocation. The code
ain't big, less than 100 bytes I believe.

My guess is that since asm programs are supported on the 89, there
is some builtin function for this in the ROM which does something
similiar. It would be strange to support asm else...

//Jimmy Mårdell

E-mail: yarin@acc.umu.se
Homepage: http://www.acc.umu.se/~yarin/



Follow-Ups: References: