Prev: 34861 Up: Map Next: 34918
34887: Text printing: Print an entry from the common words table
Used by the routines at 34762 and 34968.
Input
A (Entry at 34887 only) 91 + index of required entry in common words table
A (Entry at 34893 only) Index of required entry in list of texts
HL (Entry at 34893 only) Start address of a list of texts
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