Re: A86: Lists


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

Re: A86: Lists




first use findsym with the list name, or scan the vat for var types 04
(real list) & 05 (cplx list)

** to retrieve an element:
load the list name to op1, do a findsym, then get the 24-bit address to
ade
load the element number to hl
call _GETLTOOP1

** to store an element:
get the 24-bit list address to ade (as above)
load the element number to hl
load the value to store to op1(/op2)
call _PUTTOL

** find the address of an element
(for manual moving of any number of elements at one time)
24 bit address of list to *bde*
element number (all are 0-based) to hl
call _ADRLELE
address is in ahl


those don't check for out-of-bounds element numbers & should work
properly for both real & cplx lists (i think)

_insertlist: add elemtents to a list
_PINSDELPTR = start of list (ade above)
a = list type (bit 0 set for complex, clear for real, other bits ignored)
bc = bytes to insert (should be multiple of 10 or 20)
hl = index where elements are insterted
(you have to copy them in as a seperate step)

_dellistel: remove elements from a list
_PINSDELPTR = start of list
a = list type
bc = bytes to remove
hl = index of first element to remove
(ehh... probly.  i'm speculating on this one)


a few list-related equates:

_INCLSTSIZE                      equ            5127h
_insertlist                      equ            512Bh
_dellistel                       equ            512Fh
_CREATETLIST equ 4B2Fh
_LIST_CONVERT equ 4B33h
_GETL1TOOP1 equ 4B57h
_GETL1TOP1A equ 4B5Bh
_GETLTOOP1 equ 4B5Fh
_GETL1TOOP2 equ 4B63h
_GETL1TOP2A equ 4B67h
_GETL2TOOP1 equ 4B6Bh
_GETL2TOP1A equ 4B6Fh
_PUTTOLA equ 4B73h
_PUTTOLA1 equ 4B77h
_PUTTOL equ 4B7Bh
_LLOW equ 4B7Fh
_LHIGH equ 4B83h
_LSUM equ 4B87h
_LISTCONST equ 4B8Bh

_BINOPEXEC can be used to execute other list operations available in
basic

-josh



On Sun, 10 Dec 2000 22:41:04 -0800 Kent Richardson <kentr@san.rr.com>
writes:
> 
> I assume that LISTS created manually (using 2nd+LIST) are available 
> in
> assembly language, but I haven't found any documentation on 
> identifying or
> using them.  Can anyone point me in the right direction?
> 
> 
________________________________________________________________
GET INTERNET ACCESS FROM JUNO!
Juno offers FREE or PREMIUM Internet access for less!
Join Juno today!  For your FREE software, visit:
http://dl.www.juno.com/get/tagj.