![]() |
Routines |
| Prev: 26880 | Up: Map | Next: 26959 |
|
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 |