![]() |
Routines |
| Prev: 6900 | Up: Map | Next: 694F |
|
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 |