|  | Routines | 
| Prev: 47023 | Up: Map | Next: 47080 | 
| 
 | ||||||||||||
| 47049 | PUSH HL | Store HL (pointer to current position in text to print) | ||||||||||
| 47050 | LD HL,57693 | Point HL at start of common words table | ||||||||||
| 47053 | SUB 91 | Subtract 91 to get absolute index of required entry in table | ||||||||||
| 
This entry point is used by the routines at 47110, 47121, 47132 and 47143.
 | ||||||||||||
| 47055 | JR Z,47075 | If index is zero (i.e. first entry is required) then skip ahead to 47075 | ||||||||||
| 47057 | 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) | ||||||||||
| 47059 | CALL NC,47179 | |||||||||||
| 47062 | JR Z,47075 | If index is zero (i.e. first entry is required) then skip ahead to 47075 | ||||||||||
| 47064 | LD B,A | Load index into B | ||||||||||
| 47065 | PUSH BC | Store BC (B = remaining number of strings to skip, initially set to index of required entry in common words table) | ||||||||||
| 47066 | LD BC,65535 | Set BC to 65535 (repeat count for CPIR) | ||||||||||
| 47069 | XOR A | Set A to zero | ||||||||||
| 47070 | CPIR | Advance HL until (HL) = A, i.e. a zero (end of string) is found | ||||||||||
| 47072 | POP BC | Restore BC (B = remaining number of strings to skip) | ||||||||||
| 47073 | DJNZ 47065 | Loop back to 47065 | ||||||||||
| 47075 | CALL 46911 | Call text printing routine recursively to print the common word | ||||||||||
| 47078 | JR 47020 | Restore HL (pointer to current position in text to print) and process next character | ||||||||||
| Prev: 47023 | Up: Map | Next: 47080 |