Prev: 6900 Up: Map Next: 694F
692F: Parser: Find Phrase
Set the zero flag when none of the typed words is a known noun.
Parser_FindPhrase 692F LD HL,$6291 Check the command's word tokens for a noun.
6932 LD B,$0A A command has at most 0A words.
6934 LD E,$00 No noun has matched yet.
Parser_FindPhrase_Loop1 6936 LD A,(HL) Read the next word token.
6937 CP $FF Jump to Parser_FindPhrase_Step2 when the command has no more words (FF).
6939 JR Z,Parser_FindPhrase_Step2
693B EXX Look that token up in the noun list without losing the token pointer.
693C LD HL,($62D6)
693F LD BC,($62C8)
6943 CPIR
6945 EXX
6946 JR NZ,Parser_FindPhrase_Step1 Leave the match count alone when this token is not a noun.
6948 INC E Count this token as a noun.
Parser_FindPhrase_Step1 6949 INC HL Move on to the next word token.
694A DJNZ Parser_FindPhrase_Loop1 Repeat for the remaining words of the command.
Parser_FindPhrase_Step2 694C XOR A Set the zero flag when the command named no noun.
694D OR E
694E RET Return.
Prev: 6900 Up: Map Next: 694F