![]() |
Routines |
| Prev: 79B6 | Up: Map | Next: 7A73 |
|
Used by the routines at Inglish_ScoreTheCurrentAction and Inglish_BuildTheActionSentence.
Resolves the first noun of the clause into the current object, or counts another try in the third match buffer.
|
||||
| Inglish_ResolveTheFirstNoun | 7A14 | CALL Inglish_FindTheFirstNoun | Call Inglish_FindTheFirstNoun to find the first noun. | |
| 7A17 | JR NZ,Inglish_ResolveTheFirstNoun_CountTheThirdMatch | Jump to Inglish_ResolveTheFirstNoun_CountTheThirdMatch if Inglish_FindTheFirstNoun returned an object. | ||
| 7A19 | LD A,($7940) | Return if the grammar marker is not 01. | ||
| 7A1C | CP $01 | |||
| 7A1E | RET NZ | |||
| 7A1F | LD A,($7956) | Read the copied grammar marker. | ||
| 7A22 | LD ($B6E8),A | Update *CurrentObject. | ||
| 7A25 | CALL Inglish_NoteTheSecondNoun | Call Inglish_NoteTheSecondNoun to note the second noun. | ||
| 7A28 | CALL Inglish_TestTheScratchBits | Call Inglish_TestTheScratchBits to test the scratch bits. | ||
| 7A2B | JR NZ,Inglish_ResolveTheFirstNoun_FindTheSecondNoun | Jump to Inglish_ResolveTheFirstNoun_FindTheSecondNoun if Inglish_TestTheScratchBits returned with the zero flag clear. | ||
| 7A2D | RET | Return. | ||
| Inglish_ResolveTheFirstNoun_CountTheThirdMatch | 7A2E | LD HL,$793F | Point HL at the third match buffer. | |
| 7A31 | INC (HL) | Count one more in the third match buffer. | ||
| 7A32 | CALL Inglish_TestTheScratchBits | Call Inglish_TestTheScratchBits to test the scratch bits. | ||
| 7A35 | JR Z,Inglish_ResolveTheFirstNoun_RunTheAction | Jump to Inglish_ResolveTheFirstNoun_RunTheAction if Inglish_TestTheScratchBits returned zero. | ||
| 7A37 | CALL Inglish_NoteTheSecondNoun | Call Inglish_NoteTheSecondNoun to note the second noun. | ||
| 7A3A | CALL Inglish_FindTheSecondNoun | Call Inglish_FindTheSecondNoun to find the second noun. | ||
| Inglish_ResolveTheFirstNoun_TestForASecondNoun | 7A3D | JR Z,Inglish_ResolveTheFirstNoun | Jump back to Inglish_ResolveTheFirstNoun if Inglish_FindTheSecondNoun found no second noun (FF). | |
| 7A3F | LD A,($7953) | Return if the phrase-byte flag reached zero. | ||
| 7A42 | DEC A | |||
| 7A43 | RET Z | |||
| 7A44 | LD A,($B6E8) | Read *CurrentObject. | ||
| 7A47 | LD ($7956),A | Update the copied grammar marker. | ||
| 7A4A | LD HL,$7940 | Point HL at the grammar marker. | ||
| 7A4D | INC (HL) | Count one more in the grammar marker. | ||
| 7A4E | JR Inglish_ResolveTheFirstNoun | Jump back to Inglish_ResolveTheFirstNoun to run the grammar. | ||
| Inglish_ResolveTheFirstNoun_RunTheAction | 7A50 | CALL Inglish_AskWhetherToSuppress | Call Inglish_AskWhetherToSuppress to run the action and see whether its message was held back. | |
| 7A53 | JR Inglish_ResolveTheFirstNoun_TestForASecondNoun | Jump back to Inglish_ResolveTheFirstNoun_TestForASecondNoun to read the next word. | ||
| Inglish_ResolveTheFirstNoun_FindTheSecondNoun | 7A55 | CALL Inglish_FindTheSecondNoun | Call Inglish_FindTheSecondNoun to find the second noun. | |
| 7A58 | JR NZ,Inglish_ResolveTheFirstNoun_ReadTheSecondObject | Jump to Inglish_ResolveTheFirstNoun_ReadTheSecondObject if Inglish_FindTheSecondNoun found a second noun. | ||
| 7A5A | LD A,($7941) | Return if the second grammar marker is not 01. | ||
| 7A5D | CP $01 | |||
| 7A5F | RET NZ | |||
| 7A60 | LD A,($7957) | Read the copied second marker. | ||
| 7A63 | LD ($B6E9),A | Update *B6E9. | ||
| 7A66 | RET | Return. | ||
| Inglish_ResolveTheFirstNoun_ReadTheSecondObject | 7A67 | LD A,($B6E9) | Read *B6E9. | |
| 7A6A | LD ($7957),A | Update the copied second marker. | ||
| 7A6D | LD HL,$7941 | Point HL at the second grammar marker. | ||
| 7A70 | INC (HL) | Count one more in the second grammar marker. | ||
| 7A71 | JR Inglish_ResolveTheFirstNoun_FindTheSecondNoun | Jump back to Inglish_ResolveTheFirstNoun_FindTheSecondNoun to run the grammar. | ||
| Prev: 79B6 | Up: Map | Next: 7A73 |