| The Hobbit (v1.0) | Routines |
| Prev: 733F | Up: Map | Next: 736D |
|
The caller of 72D4 pushed the address of an object's word list before calling. This handler reaches past the interpreter's own return addresses (POP DE / POP HL / EX (SP),HL / PUSH DE), removes that parameter, and prints the object's name (742B) unless the address is 0. The 'use an article' flag B5F4 is cleared first, so no article is printed. Returns with Z set.
|
||||
| 735E | XOR A | No article wanted before this name | ||
| 735F | LD ($B5F4),A | |||
| 7362 | POP DE | Reach past the interpreter's own two return addresses... | ||
| 7363 | POP HL | |||
| 7364 | EX (SP),HL | ...to find the object's own word-list address the caller pushed, lifting it out... | ||
| 7365 | PUSH DE | ...and putting the two return addresses back exactly as they were | ||
| 7366 | LD A,H | Is that address 0 (meaning "nothing to name")? | ||
| 7367 | OR L | |||
| 7368 | CALL NZ,$742B | If not, print the object's name | ||
| 736B | XOR A | Tell the interpreter to just carry on: nothing further needs printing | ||
| 736C | RET | |||
| Prev: 733F | Up: Map | Next: 736D |