Prev: 26880 Up: Map Next: 26959
26927: Parser: Find Phrase
Set the zero flag when none of the typed words is a known noun.
Parser_FindPhrase 26927 LD HL,25233 Check the command's word tokens for a noun.
26930 LD B,10 A command has at most 10 words.
26932 LD E,0 No noun has matched yet.
Parser_FindPhrase_Loop1 26934 LD A,(HL) Read the next word token.
26935 CP 255 Jump to Parser_FindPhrase_Step2 when the command has no more words (255).
26937 JR Z,Parser_FindPhrase_Step2
26939 EXX Look that token up in the noun list without losing the token pointer.
26940 LD HL,(25302)
26943 LD BC,(25288)
26947 CPIR
26949 EXX
26950 JR NZ,Parser_FindPhrase_Step1 Leave the match count alone when this token is not a noun.
26952 INC E Count this token as a noun.
Parser_FindPhrase_Step1 26953 INC HL Move on to the next word token.
26954 DJNZ Parser_FindPhrase_Loop1 Repeat for the remaining words of the command.
Parser_FindPhrase_Step2 26956 XOR A Set the zero flag when the command named no noun.
26957 OR E
26958 RET Return.
Prev: 26880 Up: Map Next: 26959