![]() |
Routines |
| Prev: 34861 | Up: Map | Next: 34918 |
|
||||||||||||
| 34887 | PUSH HL | Store HL (pointer to current position in text to print) | ||||||||||
| 34888 | LD HL,43196 | Point HL at start of common words table | ||||||||||
| 34891 | SUB 91 | Subtract 91 to get absolute index of required entry in table | ||||||||||
|
This entry point is used by the routines at 34948 and 34958.
|
||||||||||||
| 34893 | JR Z,34913 | If index is zero (i.e. first entry is required) then skip ahead to 34913 | ||||||||||
| 34895 | CP 100 | If index is at least 100 then advance HL to second part of common words table and subtract 100 from required index (see trivia) | ||||||||||
| 34897 | CALL NC,34976 | |||||||||||
| 34900 | JR Z,34913 | If index is zero (i.e. first entry is required) then skip ahead to 34913 | ||||||||||
| 34902 | LD B,A | Load index into B | ||||||||||
| 34903 | PUSH BC | Store BC (B = remaining number of strings to skip, initially set to index of required entry in common words table) | ||||||||||
| 34904 | LD BC,65535 | Set BC to 65535 (repeat count for CPIR) | ||||||||||
| 34907 | XOR A | Set A to zero | ||||||||||
| 34908 | CPIR | Advance HL until (HL) = A, i.e. a zero (end of string) is found | ||||||||||
| 34910 | POP BC | Restore BC (B = remaining number of strings to skip) | ||||||||||
| 34911 | DJNZ 34903 | Loop back to 34903 | ||||||||||
| 34913 | CALL 34771 | Call text printing routine recursively to print the common word | ||||||||||
| 34916 | JR 34858 | Restore HL (pointer to current position in text to print) and process next character | ||||||||||
| Prev: 34861 | Up: Map | Next: 34918 |