![]() |
Routines |
| Prev: 31037 | Up: Map | Next: 31145 |
|
Used by the routine at TurnReadAndTokeniseTheCommand.
Starts matching the current clause. Clears the phrase scratch byte and uses the parser workspace at 47560. A different replay path skips ahead to InglishApplyAMatch_UpdateTheReplayPath.
|
||||
| InglishApplyAMatch | 31072 | XOR A | Clear *46876. | |
| 31073 | LD (46876),A | |||
| 31076 | LD IY,47560 | Jump to InglishApplyAMatch_UpdateTheReplayPath if the matcher path flag is not zero. | ||
| 31080 | LD HL,46874 | |||
| 31083 | CP (HL) | |||
| 31084 | LD (HL),A | |||
| 31085 | JP NZ,InglishApplyAMatch_UpdateTheReplayPath | |||
| InglishApplyAMatch_ScoreTheCurrentAction | 31088 | CALL Inglish_ScoreTheCurrentAction | Call Inglish_ScoreTheCurrentAction to score the current action. | |
| 31091 | JR NZ,InglishApplyAMatch_RunTheAction | Jump to InglishApplyAMatch_RunTheAction if Inglish_ScoreTheCurrentAction returned with the zero flag clear (an action was scored). | ||
| 31093 | XOR A | Clear *46853. | ||
| 31094 | LD (46853),A | |||
| 31097 | RET | Return. | ||
| InglishApplyAMatch_RunTheAction | 31098 | CALL Inglish_AskWhetherToSuppress | Call Inglish_AskWhetherToSuppress to run the action and see whether its message was held back. | |
| 31101 | JP Z,Inglish_CopyTheParserSlot_DispatchTheAction | Jump to Inglish_CopyTheParserSlot_DispatchTheAction if Inglish_AskWhetherToSuppress did not hold the message back. | ||
| 31104 | LD A,1 | Write 1 (the gate shut) to *46842. | ||
| 31106 | LD (46842),A | |||
| 31109 | CALL Inglish_DescribeTheAction | Call Inglish_DescribeTheAction to describe the action. | ||
| 31112 | CALL Turn_RunTheHandlerIfPresent | Call Turn_RunTheHandlerIfPresent to run the handler when one is present. | ||
|
This entry point is used by the routine at Inglish_SaveTheClauseWindow.
|
||||
| InglishApplyAMatch_GiveEveryOtherCharacterATurn | 31115 | CALL TurnAdvanceTheOtherCharacters | Call TurnAdvanceTheOtherCharacters to give every other character a turn. | |
|
This entry point is used by the routine at Inglish_CopyTheParserSlot.
Test the phrase scratch byte.
|
||||
| InglishApplyAMatch_TestThePhraseScratchByte | 31118 | LD A,(46876) | Jump to InglishApplyAMatch_ScoreTheCurrentAction if *46876 is not zero. | |
| 31121 | AND A | |||
| 31122 | JR NZ,InglishApplyAMatch_ScoreTheCurrentAction | |||
|
This entry point is used by the routine at Inglish_CopyTheParserSlot.
|
||||
| InglishApplyAMatch_UpdateTheReplayPath | 31124 | LD A,(46854) | Read *46854. | |
| 31127 | DEC A | Step the replay path down by one. | ||
| 31128 | LD (46854),A | Update *46854. | ||
| 31131 | RET Z | Return if the replay path reached zero. | ||
| 31132 | LD BC,65512 | Step back one clause record. Each record is 24 bytes. | ||
| InglishApplyAMatch_SkipMarkedClause | 31135 | ADD IY,BC | Jump back to InglishApplyAMatch_SkipMarkedClause if bit 6 of the clause byte at offset 1 is set. | |
| 31137 | BIT 6,(IY+1) | |||
| 31141 | JR NZ,InglishApplyAMatch_SkipMarkedClause | |||
| 31143 | JR InglishApplyAMatch_ScoreTheCurrentAction | Jump back to InglishApplyAMatch_ScoreTheCurrentAction to run the grammar. | ||
| Prev: 31037 | Up: Map | Next: 31145 |