AMX 86 Assembler Interface
K
A
DAK
393
PROCEDURE
C ASM PURPOSE P ARAMETERS IN OUT AX =
ERRORS E D R
Linked List Manager
ajlcre AALCRE Create an empty list A(List Header) DS:SI no ooo
Node offset CX
ajlhead AALHEAD Find head of list A(List Header) DS:SI Note 6 ooo
A(First object) ES:BX
(0:0 if list is empty)
ajlinsc AALINSC Insert before speci fic object A( Li st Header) DS:SI no onn
A(New object) ES:B X
A(Specific object) CX:DI
ajlinsh AALINSH In sert at head of list A(List Header) DS:S I no onn
A(Object) ES:BX
ajlinsk AALINSK Insert into keyed list A(List Header) DS:SI no onn
A(Object) ES:BX
Key CX
ajlinst AALINST Insert at tail of list A(List Header) DS:SI no on n
A(Object) ES:BX
ajlmerg AALMERG Merge two lists no onn
PUSH SEGMENT <Source object>
PUSH OFFSET <Source object>
PUSH SEGMENT <Destination object>
PUSH OFFSET <Destination object>
PUSH SEGMENT <Source List Header>
PUSH OFFSET <Source List Header>
PUSH SEGMENT <Destination List Header>
PUSH OFFSET <Destination List Header>
CALL AALMERG
ADD SP,16
ajlnext AALNEXT Find next object on list A(List Header) DS:SI Note 6 ooo
A(Current object) ES:BX
A(Next object) ES:BX
(0:0 if list is empty)
ajlordk AALORDK Reorder object on keyed list A(List Header) DS:SI no onn
A(Object) ES:BX
Key CX
ajlprev AALPREV Find previous object on list A(List Header) DS:SI Note 6 ooo
A(Current object) ES:BX
A(Previous object) ES:BX
(0:0 if list is empty)