Prev: AEC5 Up: Map Next: AEEA
AEC6: Walk The Saved Clause List
Used by the routines at InitialiseCharacterSearch and ProcessCharacterData.
Follows the clause list from 9FF0 until the pointer meets 9FF0+02 or bit 6 of the clause marker is clear.
WalkSavedClauseList AEC6 PUSH IY Keep the previous clause record in IX.
AEC8 POP IX
AECA PUSH HL Call IncrementPointerAndCompare to step pointer and compare, saving pointer and the source.
AECB PUSH DE
WalkSavedClauseList_Loop AECC PUSH IY
AECE POP DE
AECF LD IY,$9FF0
AED3 CALL IncrementPointerAndCompare
AED6 PUSH IY Point HL at this clause record and DE at 9FF0+02 and clear the carry.
AED8 POP HL
AED9 LD DE,$9FF2
AEDC AND A
AEDD SBC HL,DE See whether this pointer matches 9FF0+02.
AEDF JR Z,WalkSavedClauseList_Next Jump ahead to WalkSavedClauseList_Next if the two pointers meet.
AEE1 BIT 6,(IY+$01) Jump to WalkSavedClauseList_Loop if bit 6 of IY+01 is set.
AEE5 JR NZ,WalkSavedClauseList_Loop
WalkSavedClauseList_Next AEE7 POP DE Restore the saved source and the saved pointer from the stack.
AEE8 POP HL
AEE9 RET Return.
Prev: AEC5 Up: Map Next: AEEA