Prev: 71E2 Up: Map Next: 722E
71F3: Inglish: Match Clause Pairs
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