![]() |
Routines |
| Prev: 29154 | Up: Map | Next: 29230 |
|
Used by the routines at Inglish_SaveTheClauseWindow, ConditionSamePlaceAsThePlayer and ExitsFindTheExitToANamedPlace.
Tries several pairs of clause bytes. One pattern returns 1 and another returns 0. Which dictionary words those pairs stand for is unconfirmed.
|
||||
| Inglish_MatchClausePairs | 29171 | PUSH DE | Compare the first pair. | |
| 29172 | PUSH HL | |||
| 29173 | PUSH IY | |||
| 29175 | CALL Inglish_CompareOneClausePair | |||
| 29178 | JR NZ,Inglish_MatchClausePairs_Done | Jump to Inglish_MatchClausePairs_Done if that pair did not match. | ||
| 29180 | LD A,1 | Mark the low byte of the class being matched. | ||
| 29182 | LD (46815),A | |||
| 29185 | CALL Inglish_CompareOneClausePair | Compare the next pair. | ||
| 29188 | JR NZ,Inglish_MatchClausePairs_Shift | Jump to Inglish_MatchClausePairs_Shift if that pair did not match. | ||
| 29190 | CALL Inglish_CompareOneClausePair | Compare a third pair. | ||
| 29193 | LD A,0 | Jump to Inglish_MatchClausePairs_Done with zero when the third pair matches. | ||
| 29195 | JR Z,Inglish_MatchClausePairs_Done | |||
| Inglish_MatchClausePairs_Shift | 29197 | POP IY | Move the parser pointer on 4 bytes. | |
| 29199 | POP HL | |||
| 29200 | PUSH HL | |||
| 29201 | PUSH IY | |||
| 29203 | LD DE,4 | |||
| 29206 | ADD IY,DE | |||
| 29208 | INC HL | Move the text pointer on two bytes. | ||
| 29209 | INC HL | |||
| 29210 | CALL Inglish_CompareOneClausePair | Compare the shifted pair. | ||
| 29213 | JR NZ,Inglish_MatchClausePairs_Done | Jump to Inglish_MatchClausePairs_Done if that pair did not match. | ||
| 29215 | LD DE,65532 | Move the parser pointer back 4 bytes. | ||
| 29218 | ADD IY,DE | |||
| 29220 | CALL Inglish_CompareOneClausePair | Compare the pair at the restored window. | ||
| 29223 | LD A,1 | Return 1 for this pattern. | ||
| Inglish_MatchClausePairs_Done | 29225 | POP IY | Restore IY, HL and DE from the stack. | |
| 29227 | POP HL | |||
| 29228 | POP DE | |||
| 29229 | RET | Return. | ||
|
View the equivalent code in;
|
||||
| Prev: 29154 | Up: Map | Next: 29230 |