Prev: BE5A Up: Map Next: BE91
BE72: Process Entry With Counter
Counts the entry down when its repeat mark is set, after measuring the field.
ProcessEntryWithCounter BE72 PUSH AF Save the flags and start the count at zero.
BE73 LD B,$00
ProcessEntryWithCounter_Loop BE75 LD C,(IX+$03) Call AdvancePointerAndCheckBit to advance pointer and check bit.
BE78 CALL AdvancePointerAndCheckBit
BE7B BIT 3,C Jump ahead to ProcessEntryWithCounter_0 if bit 3 is clear.
BE7D JR Z,ProcessEntryWithCounter_0
BE7F LD A,B Jump ahead to ProcessEntryWithCounter_0 if the count is zero.
BE80 AND A
BE81 JR Z,ProcessEntryWithCounter_0
BE83 DEC B Count down one.
ProcessEntryWithCounter_0 BE84 BIT 2,C Jump ahead to ProcessEntryWithCounter_Next if bit 2 of C is clear.
BE86 JR Z,ProcessEntryWithCounter_Next
BE88 INC B Count one more and test the next bit from ProcessEntryWithCounter_Loop.
BE89 JR ProcessEntryWithCounter_Loop
Read the count.
ProcessEntryWithCounter_Next BE8B LD A,B Go back to ProcessEntryWithCounter_Loop if the count is not zero.
BE8C AND A
BE8D JR NZ,ProcessEntryWithCounter_Loop
BE8F POP AF Restore the saved flags from the stack.
BE90 RET Return.
Prev: BE5A Up: Map Next: BE91