Prev: 48284 Up: Map Next: 48390
48329: Check Bit And Process
Tests the action flags and runs CheckBitAndProcessEntry when bit 2 is set. Returns non-zero when that entry is accepted, and zero when it is not.
CheckBitAndProcess 48329 BIT 2,(IX+3) Jump to CheckBitAndProcess_Next if a marker on the action flags is clear.
48333 JR Z,CheckBitAndProcess_Next
48335 PUSH IX Call CheckBitAndProcessEntry to test bit and process entry.
48337 PUSH BC
48338 CALL CheckBitAndProcessEntry
48341 POP BC
48342 POP IX Go to CheckBitAndProcess_TestStepSucceedsScript if the entry check returns zero.
48344 JR Z,CheckBitAndProcess_TestStepSucceedsScript
CheckBitAndProcess_Next 48346 BIT 5,(IX+3) Jump to CheckBitAndProcess_MarkActionTaken if a marker on the action flags is clear.
48350 JR Z,CheckBitAndProcess_MarkActionTaken
48352 SET 0,(IX+3) Set the action-pending flag and jump ahead to CheckBitAndProcess_ClearResult.
48356 JR CheckBitAndProcess_ClearResult
Mark the action taken and clear the bit that would repeat it.
CheckBitAndProcess_MarkActionTaken 48358 SET 1,(IX+3) Mark the action taken so the script will not repeat it.
48362 RES 0,(IX+3)
48366 BIT 4,(IX+3) Jump to CheckBitAndProcess_ClearResult if the action state flag is clear.
48370 JR Z,CheckBitAndProcess_ClearResult
48372 LD L,(IX+4) Read the handler address from bytes 4-5 of the record and keep the record.
48375 LD H,(IX+5)
48378 PUSH IX
48380 CALL JumpToHandler Call JumpToHandler to jump to handler.
48383 POP IX
CheckBitAndProcess_ClearResult 48385 XOR A Clear A.
48386 RET Return.
CheckBitAndProcess_TestStepSucceedsScript 48387 OR %00000001 Reset the zero flag.
48389 RET Return.
Prev: 48284 Up: Map Next: 48390