Prev: 48754 Up: Map Next: 48904
48785: Test The Action Taken Flag
Used by the routine at CheckBitAndProcessEntry.
Tests the action-taken flag and the top bits of the action flags before looking the object up.
InspectActionTakenFlag 48785 BIT 1,(IX+3) Jump to ProcessEntryWithCounter if the action-taken flag is set.
48789 JR NZ,ProcessEntryWithCounter
48791 LD A,(IX+3) Jump to InspectActionTakenFlag_TestHighBit if either bit 6 or bit 7 of the action flags is set.
48794 AND 192
48796 CP 0
48798 JR NZ,InspectActionTakenFlag_TestHighBit
48800 LD A,(IX+0) Call FetchObjectDataPointer to look up the current object.
48803 PUSH IX
48805 CALL FetchObjectDataPointer
48808 BIT 7,(IX+6) Jump to ProcessEntryWithCounter if bit 7 of the looked-up object's byte at offset 6 is clear.
48812 POP IX
48814 JR Z,ProcessEntryWithCounter
48816 LD A,(IX+2) Take the object id at offset 2 and call FetchObjectDataPointer to look it up.
48819 PUSH IX
48821 CALL FetchObjectDataPointer
48824 BIT 7,(IX+6) Jump to ProcessEntryWithCounter if bit 7 of the looked-up object's byte at offset 6 is clear.
48828 POP IX
48830 JR Z,ProcessEntryWithCounter
InspectActionTakenFlag_SetTaken 48832 SET 1,(IX+3) Mark the action taken so the script will not repeat it.
48836 RES 0,(IX+3)
48840 OR 1 Set A non-zero and jump back to ProcessEntryWithCounter.
48842 JP ProcessEntryWithCounter
The top bit counts the entry down. The bit under it reads the record itself.
InspectActionTakenFlag_TestHighBit 48845 CP 128 Jump back to ProcessEntryWithCounter if it is 128.
48847 JR Z,ProcessEntryWithCounter
48849 CP 64 Jump ahead to InspectActionTakenFlag_TestMarker if it is not 64.
48851 JR NZ,InspectActionTakenFlag_TestMarker
48853 LD A,(IX+0) Call FetchObjectDataPointer to look up the current object.
48856 PUSH IX
48858 CALL FetchObjectDataPointer
48861 BIT 6,(IX+6) Jump to ProcessEntryWithCounter if bit 6 of the looked-up object's byte at offset 6 is clear.
48865 POP IX
48867 JR Z,ProcessEntryWithCounter
48869 LD A,(IX+2) Call FetchObjectDataPointer to look up the current object.
48872 PUSH IX
48874 CALL FetchObjectDataPointer
48877 BIT 6,(IX+6) Jump to ProcessEntryWithCounter if bit 6 of the looked-up object's byte at offset 6 is clear.
48881 POP IX
48883 JP Z,ProcessEntryWithCounter
InspectActionTakenFlag_TestMarker 48886 BIT 2,(IX+3) Jump to InspectActionTakenFlag_SetTaken if a marker on the action flags is clear.
48890 JR Z,InspectActionTakenFlag_SetTaken
48892 PUSH IX Call CheckBitAndProcessEntry to test bit and process entry.
48894 CALL CheckBitAndProcessEntry
48897 POP IX
48899 JR NZ,InspectActionTakenFlag_SetTaken Jump back to InspectActionTakenFlag_SetTaken when CheckBitAndProcessEntry returns non-zero.
48901 JP ProcessEntryWithCounter The check at CheckBitAndProcessEntry passed, so count the entry again from ProcessEntryWithCounter.
Prev: 48754 Up: Map Next: 48904