Date: Thu, 28 Mar 2024 09:55:18 +0000 (UTC) Message-ID: <109606372.53.1711619718896@99d5c7db0615> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_52_1563793768.1711619718895" ------=_Part_52_1563793768.1711619718895 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
IN: HL =3D pointer to a 9-byte parameter block (usually on the stack): (HL+0) ... (HL+2) =3D pointer of block to insert (HL+3) ... (HL+5) =3D pointer to previous block (HL+6) ... (HL+8) =3D pointer to next block OUT, if call successful: Fc =3D 0 OUT, if call failed: Fc =3D 1 A =3D error code: RC_BAD ($04), if pointer to block to insert =3D 0. Registers changed after return: ..BCDEHL/IXIY same AF....../.... different
Algorithm: Assuming inserting entry I between entries X and Y (for more = details, read Linked lists):
*I =3D= X XOR Y *X =3D *X XOR Y XOR I *Y =3D *Y XOR X XOR I
If X and Y are zero then the link is cleared.
GN_Xdl, delete an entry from a linked list
GN_Xnx, index next entry i=
n linked list