Prev: 71F3 Up: Map Next: 7249
722E: Inglish: Compare One Clause Pair
Used by the routine at Inglish_MatchClausePairs.
Compares one pair of clause bytes with the pair the caller addressed. An empty pair matches. Otherwise the low nibbles of the second bytes must agree and the first bytes must be equal. Both pointers then move on by two.
Inglish_CompareOneClausePair 722E PUSH HL Jump to Inglish_CompareOneClausePair_Advance if this pair is empty.
722F LD A,(HL)
7230 INC HL
7231 OR (HL)
7232 JR Z,Inglish_CompareOneClausePair_Advance
7234 LD A,(IY+$01) Read the second byte of the pair being tested.
7237 XOR (HL) Jump to Inglish_CompareOneClausePair_Advance if its low nibble differs from the clause byte.
7238 AND $0F
723A JR NZ,Inglish_CompareOneClausePair_Advance
723C DEC HL Step back to the first byte of the pair.
723D LD A,(HL) Read that first byte.
723E CP (IY+$00) Compare it with the first byte of the pair being tested.
Inglish_CompareOneClausePair_Advance 7241 POP HL Move on to the next pair in the text.
7242 INC HL
7243 INC HL
7244 INC IY Move on to the next pair being tested.
7246 INC IY
7248 RET Return.
View the equivalent code in;
Prev: 71F3 Up: Map Next: 7249