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 |