![]() |
Routines |
| Prev: 7CFC | Up: Map | Next: 7D54 |
|
Used by the routine at Inglish_ResolveTheFirstNoun.
Finds the second noun the same way, storing it as the second object. When the second-noun flag at B6FF is 01 it uses the place-by-exit test at ExitsFindTheExitToANamedPlace; otherwise it uses the object test at ConditionSamePlaceAsThePlayer. The record found is kept at 7950, and bit 0 of B71D is copied to B70F.
|
||||
| Inglish_FindTheSecondNoun | 7D17 | XOR A | Clear *B70F. | |
| 7D18 | LD ($B70F),A | |||
| 7D1B | PUSH IY | Use the other saved object pointer as the record being walked. | ||
| 7D1D | LD IX,($7950) | |||
| 7D21 | LD A,($B6FF) | Read *B6FF. | ||
| 7D24 | DEC A | Jump to Inglish_FindTheSecondNoun_PointAtTheOtherNounTest if the second-noun flag is 01. | ||
| 7D25 | JR Z,Inglish_FindTheSecondNoun_PointAtTheOtherNounTest | |||
| 7D27 | LD IY,$9DD9 | Point IY at ConditionSamePlaceAsThePlayer to use as the noun test. | ||
| 7D2B | LD A,($B71E) | Read *B71E. | ||
| 7D2E | AND $03 | Store the low two bits of the clause being built in *B710. | ||
| 7D30 | LD ($B710),A | |||
| 7D33 | CALL Inglish_RunTheSecondNounTest | Call Inglish_RunTheSecondNounTest to run the second noun test. | ||
| 7D36 | CP $FF | Compare the result of the noun test with FF. | ||
| Inglish_FindTheSecondNoun_SaveTheSecondRecord | 7D38 | LD ($7950),IX | Remember this record in the other saved object pointer. | |
| 7D3C | POP IY | Restore the parser pointer from the stack and read *B71D. | ||
| 7D3E | PUSH AF | |||
| 7D3F | LD A,($B71D) | |||
| 7D42 | AND $01 | Keep only bit 0. | ||
| 7D44 | LD ($B70F),A | Store the result at B70F. | ||
| 7D47 | POP AF | Restore AF from the stack. | ||
| 7D48 | RET | Return. | ||
| Inglish_FindTheSecondNoun_PointAtTheOtherNounTest | 7D49 | LD IY,$9EA0 | Point IY at ExitsFindTheExitToANamedPlace to use as the noun test. | |
| 7D4D | CALL Inglish_RunTheSecondNounTest | Call Inglish_RunTheSecondNounTest to run the second noun test. | ||
| 7D50 | CP $FF | Compare the result of the noun test with FF. | ||
| 7D52 | JR Inglish_FindTheSecondNoun_SaveTheSecondRecord | Jump back to Inglish_FindTheSecondNoun_SaveTheSecondRecord to save the second object record. | ||
|
View the equivalent code in;
|
||||
| Prev: 7CFC | Up: Map | Next: 7D54 |