![]() |
Routines |
| Prev: 71E2 | Up: Map | Next: 722E |
|
Used by the routines at Inglish_SaveTheClauseWindow, ConditionSamePlaceAsThePlayer and ExitsFindTheExitToANamedPlace.
Tries several pairs of clause bytes. One pattern returns 01 and another returns 00. Which dictionary words those pairs stand for is unconfirmed.
|
||||
| Inglish_MatchClausePairs | 71F3 | PUSH DE | Compare the first pair. | |
| 71F4 | PUSH HL | |||
| 71F5 | PUSH IY | |||
| 71F7 | CALL Inglish_CompareOneClausePair | |||
| 71FA | JR NZ,Inglish_MatchClausePairs_Done | Jump to Inglish_MatchClausePairs_Done if that pair did not match. | ||
| 71FC | LD A,$01 | Mark the low byte of the class being matched. | ||
| 71FE | LD ($B6DF),A | |||
| 7201 | CALL Inglish_CompareOneClausePair | Compare the next pair. | ||
| 7204 | JR NZ,Inglish_MatchClausePairs_Shift | Jump to Inglish_MatchClausePairs_Shift if that pair did not match. | ||
| 7206 | CALL Inglish_CompareOneClausePair | Compare a third pair. | ||
| 7209 | LD A,$00 | Jump to Inglish_MatchClausePairs_Done with zero when the third pair matches. | ||
| 720B | JR Z,Inglish_MatchClausePairs_Done | |||
| Inglish_MatchClausePairs_Shift | 720D | POP IY | Move the parser pointer on 04 bytes. | |
| 720F | POP HL | |||
| 7210 | PUSH HL | |||
| 7211 | PUSH IY | |||
| 7213 | LD DE,$0004 | |||
| 7216 | ADD IY,DE | |||
| 7218 | INC HL | Move the text pointer on two bytes. | ||
| 7219 | INC HL | |||
| 721A | CALL Inglish_CompareOneClausePair | Compare the shifted pair. | ||
| 721D | JR NZ,Inglish_MatchClausePairs_Done | Jump to Inglish_MatchClausePairs_Done if that pair did not match. | ||
| 721F | LD DE,$FFFC | Move the parser pointer back 04 bytes. | ||
| 7222 | ADD IY,DE | |||
| 7224 | CALL Inglish_CompareOneClausePair | Compare the pair at the restored window. | ||
| 7227 | LD A,$01 | Return 01 for this pattern. | ||
| Inglish_MatchClausePairs_Done | 7229 | POP IY | Restore IY, HL and DE from the stack. | |
| 722B | POP HL | |||
| 722C | POP DE | |||
| 722D | RET | Return. | ||
|
View the equivalent code in;
|
||||
| Prev: 71E2 | Up: Map | Next: 722E |