![]() |
Routines |
| Prev: C104 | Up: Map | Next: C173 |
|
Used by the routine at KeepToken.
A third word, and a word count of 20 go in the spare slots after the noun. A fifth word is ignored.
|
||||
| StoreExtra | C14C | LD A,($5B86) | Increment *WordSlot. | |
| C14F | INC A | |||
| C150 | LD ($5B86),A | |||
| C153 | LD C,A | |||
| C154 | CP $05 | Jump to StoreExtra_Slot if there is still a spare slot. | ||
| C156 | JR C,StoreExtra_Slot | |||
| C158 | POP AF | Drop the id from the stack. | ||
| C159 | JP ParseWord | Jump to ParseWord. | ||
|
Write the extra word into the next spare slot after the verb.
|
||||
| StoreExtra_Slot | C15C | LD B,$00 | The slot is an offset from *Verb. | |
| C15E | LD IX,$5B7F | |||
| C162 | ADD IX,BC | |||
| C164 | POP AF | Write the id into that slot. | ||
| C165 | LD (IX+$00),A | |||
| C168 | JP ParseWord | Jump to ParseWord to take the next word. | ||
|
This entry point is used by the routine at KeepToken.
|
||||
| StoreExtra_Overflow | C16B | PUSH AF | Stash the id on the stack. | |
| C16C | LD A,($5B8B) | Use one less than *WordCount as the slot and jump to StoreExtra_Slot. | ||
| C16F | DEC A | |||
| C170 | LD C,A | |||
| C171 | JR StoreExtra_Slot | |||
| Prev: C104 | Up: Map | Next: C173 |