![]() |
Routines |
| Prev: 31996 | Up: Map | Next: 32084 |
|
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 46847 is 1 it uses the place-by-exit test at ExitsFindTheExitToANamedPlace; otherwise it uses the object test at ConditionSamePlaceAsThePlayer. The record found is kept at 31056, and bit 0 of 46877 is copied to 46863.
|
||||
| Inglish_FindTheSecondNoun | 32023 | XOR A | Clear *46863. | |
| 32024 | LD (46863),A | |||
| 32027 | PUSH IY | Use the other saved object pointer as the record being walked. | ||
| 32029 | LD IX,(31056) | |||
| 32033 | LD A,(46847) | Read *46847. | ||
| 32036 | DEC A | Jump to Inglish_FindTheSecondNoun_PointAtTheOtherNounTest if the second-noun flag is 1. | ||
| 32037 | JR Z,Inglish_FindTheSecondNoun_PointAtTheOtherNounTest | |||
| 32039 | LD IY,40409 | Point IY at ConditionSamePlaceAsThePlayer to use as the noun test. | ||
| 32043 | LD A,(46878) | Read *46878. | ||
| 32046 | AND 3 | Store the low two bits of the clause being built in *46864. | ||
| 32048 | LD (46864),A | |||
| 32051 | CALL Inglish_RunTheSecondNounTest | Call Inglish_RunTheSecondNounTest to run the second noun test. | ||
| 32054 | CP 255 | Compare the result of the noun test with 255. | ||
| Inglish_FindTheSecondNoun_SaveTheSecondRecord | 32056 | LD (31056),IX | Remember this record in the other saved object pointer. | |
| 32060 | POP IY | Restore the parser pointer from the stack and read *46877. | ||
| 32062 | PUSH AF | |||
| 32063 | LD A,(46877) | |||
| 32066 | AND 1 | Keep only bit 0. | ||
| 32068 | LD (46863),A | Store the result at 46863. | ||
| 32071 | POP AF | Restore AF from the stack. | ||
| 32072 | RET | Return. | ||
| Inglish_FindTheSecondNoun_PointAtTheOtherNounTest | 32073 | LD IY,40608 | Point IY at ExitsFindTheExitToANamedPlace to use as the noun test. | |
| 32077 | CALL Inglish_RunTheSecondNounTest | Call Inglish_RunTheSecondNounTest to run the second noun test. | ||
| 32080 | CP 255 | Compare the result of the noun test with 255. | ||
| 32082 | JR Inglish_FindTheSecondNoun_SaveTheSecondRecord | Jump back to Inglish_FindTheSecondNoun_SaveTheSecondRecord to save the second object record. | ||
|
View the equivalent code in;
|
||||
| Prev: 31996 | Up: Map | Next: 32084 |