![]() |
Routines |
| Prev: 31945 | Up: Map | Next: 31996 |
|
Used by the routine at Inglish_ResolveTheFirstNoun.
Finds the first noun. When the noun-print flag at 46846 is 1 it uses the place-by-exit test at ExitsFindTheExitToANamedPlace; otherwise it uses the object test at ConditionSamePlaceAsThePlayer, which looks in the same place as the player. The record found is kept in the saved object pointer at 31054.
|
||||
| Inglish_FindTheFirstNoun | 31947 | PUSH IY | Use the saved object pointer as the record being walked. | |
| 31949 | LD IX,(31054) | |||
| 31953 | LD A,(46846) | Read *46846. | ||
| 31956 | DEC A | Jump to Inglish_FindTheFirstNoun_PointAtTheNounTest if the noun-print flag is 1. | ||
| 31957 | JR Z,Inglish_FindTheFirstNoun_PointAtTheNounTest | |||
| 31959 | LD IY,40409 | Point IY at ConditionSamePlaceAsThePlayer to use as the noun test. | ||
| 31963 | LD A,(46878) | Read *46878. | ||
| 31966 | RRCA | Keep the low two bits of the clause marker. | ||
| 31967 | RRCA | |||
| 31968 | AND 3 | |||
| 31970 | LD (46864),A | Update *46864. | ||
| 31973 | CALL Inglish_RunTheFirstNounTest | Call Inglish_RunTheFirstNounTest to run the first noun test. | ||
| 31976 | CP 255 | Compare the result of the noun test with 255. | ||
| Inglish_FindTheFirstNoun_SaveTheObjectRecord | 31978 | LD (31054),IX | Remember this record in the saved object pointer. | |
| 31982 | POP IY | Restore IY from the stack. | ||
| 31984 | RET | Return. | ||
| Inglish_FindTheFirstNoun_PointAtTheNounTest | 31985 | LD IY,40608 | Point IY at ExitsFindTheExitToANamedPlace to use as the noun test. | |
| 31989 | CALL Inglish_RunTheFirstNounTest | Call Inglish_RunTheFirstNounTest to run the first noun test. | ||
| 31992 | CP 255 | Compare the clause marker with 255. | ||
| 31994 | JR Inglish_FindTheFirstNoun_SaveTheObjectRecord | Jump back to Inglish_FindTheFirstNoun_SaveTheObjectRecord to save this object record. | ||
|
View the equivalent code in;
|
||||
| Prev: 31945 | Up: Map | Next: 31996 |