GN_Xdl, Delete an entry from a linked list
Register parameters
RST 20H, DEFW $4809
IN:
CDE = pointer to previous entry
BHL = pointer to entry to delete
OUT, if call successful:
Fc = 0
CDE = pointer to prior entry
BHL = entry after deleted entry
OUT, if call failed:
Fc = 1
A = error code:
RC_BAD ($04), if BHL(in) = 0
Registers changed after return:
...CDE../IXIY same
AFB...HL/.... different
Notes
Algorithm: Assuming deleting entry I between entries X and Y (for more details, read Linked lists):
*X = *X XOR I XOR Y*Y = *Y XOR I XOR X
Related calls
GN_Xin, insert an entry into a linked list
GN_Xnx, index next entry in linked list
, multiple selections available,