![]() |
Routines |
| Prev: 71F3 | Up: Map | Next: 7249 |
|
Used by the routine at NAME_MATCHES.
A word that was not typed -- zero -- fits anything. Otherwise only the twelve-bit dictionary offset is compared, not the flag nibble above it. Both pointers move on two bytes either way.
|
||||
| WORD_MATCHES | 722E | PUSH HL | ||
| 722F | LD A,(HL) | Not typed at all? Then it fits anything | ||
| 7230 | INC HL | |||
| 7231 | OR (HL) | |||
| 7232 | JR Z,WORD_MATCHES_0 | |||
| 7234 | LD A,(IY+$01) | Same top half of the twelve-bit offset, ignoring the flag nibble... | ||
| 7237 | XOR (HL) | |||
| 7238 | AND $0F | |||
| 723A | JR NZ,WORD_MATCHES_0 | |||
| 723C | DEC HL | ...and the same low byte | ||
| 723D | LD A,(HL) | |||
| 723E | CP (IY+$00) | |||
| WORD_MATCHES_0 | 7241 | POP HL | On to the next word of both names either way | |
| 7242 | INC HL | |||
| 7243 | INC HL | |||
| 7244 | INC IY | |||
| 7246 | INC IY | |||
| 7248 | RET | |||
| Prev: 71F3 | Up: Map | Next: 7249 |