Re: A86: HI.


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

Re: A86: HI.




_asapvar is the name of the asm program being executed (in op format).  This 
can be useful for writeback, and also to force the calc to recopy the program 
since it doesn't bother recopying if you execute the same prog from asm( 
twice in a row. You can force a recopy like this:

 xor a
 ld (_asapvar+1),a      ;length of name=0

However, I wouldn't recommend using the above code and later in the program 
referring to _asapvar in the writeback routine :P


In a message dated 12/11/99 12:14:07 PM Eastern Standard Time, 
croop@oregontrail.net writes:

> What is _asapvar?
>  
>  ComAsYuAre@aol.com wrote:
>  > 
>  >     ld hl,_asapvar          ;hl->name of program
>  >     rst 20h             ;copy to OP1
>  >     rst 10h             ;_findsym
>  >     xor a
>  >     ld hl,data_start-_asm_exec_ram+4        ;offset
>  >     add hl,de               ;hl=pointer to data in original prog
>  >     adc a,b             ;in case we overlapped pages
>  >     call _SET_ABS_DEST_ADDR
>  >     xor a                   ;no absolute addressing now
>  >     ld hl,data_start            ;get data from here
>  >     call _SET_ABS_SRC_ADDR
>  >     ld hl,data_end-data_start   ;number of bytes to save
>  >     call _SET_MM_NUM_BYTES
>  >     jp _MM_LDIR         ;copy data and return
>  > 



----
Jonah Cohen
<ComAsYuAre@aol.com>
http://linux.hypnotic.org/~jonah/


Follow-Ups: