Re: A86: creating string routines
[Prev][Next][Index][Thread]
Re: A86: creating string routines
In a message dated 6/21/99 20:13:09 Eastern Daylight Time, McBorder@aol.com
writes:
> im working on a program that uses strings to store data and plan on making
an
>
> on calc editor.
> how do you use the _CREATESTRNG equ 472Fh routine??
> do you have to create it then use findsym to access it?
from asmstudio:
_createstrng Routine
Creates a new string variable. The data is not initialized to any value.
Input OP1 = name of variable (in variable name format)
HL = number of bytes to allocate
Output BDE = pointer to variable data (absolute)
OP4 = variable name
HL = pointer to symbol table entry
RAM page 7 is loaded, making HL a valid pointer
Defined in ti86asm.inc:
_createstrng .EQU 472Fh
so if you want to access the string after it's created, you would do this:
ld a,b
ex de,hl
call _load_ram_ahl
inc hl \ inc hl
;now hl points to the first byte.
or if you want to copy a chunk of data (presumably in your program) into a
string:
ld a,b
ex de,hl
call _ahl_plus_2_pg3
call _SET_ABS_DEST_ADDR
ld hl,data_start
xor a
call _SET_ABS_SRC_ADDR
ld hl,data_end-data_start
call _SET_MM_NUM_BYTES
call _mm_ldir ;copy data into string
note that this is very similar to a writeback routine.