![]() |
Routines |
| Prev: 7E78 | Up: Map | Next: 7EBA |
|
Used by the routine at Inglish_CopyTheParserSlot.
|
||||
| Inglish_PlantJumpRelativeIfNonZero | 7E7C | LD A,$20 | Take the JR NZ opcode. | |
|
This entry point is used by the routine at Inglish_PlantJumpRelativeIfZero.
|
||||
| Inglish_PlantJumpRelativeIfNonZero_PlantTheOpcode | 7E7E | LD ($7E92),A | Plant the opcode at 7E92. | |
| 7E81 | LD ($7EA1),A | Plant the same opcode at 7EA1. | ||
| 7E84 | LD IX,($795E) | Point IX at the action entry saved at 795E. | ||
| 7E88 | LD L,(IX+$04) | Read the low byte of the word at offset 4 of this action. | ||
| 7E8B | LD H,(IX+$05) | Read the high byte of the word at offset 4 of this action. | ||
| 7E8E | BIT 7,(IX+$07) | Test bit 7 of byte 7 of this action; the jump planted at 7E92 by Inglish_PlantJumpRelativeIfZero as JR Z or Inglish_PlantJumpRelativeIfNonZero as JR NZ goes to Inglish_PlantJumpRelativeIfNonZero_ReadActionWord. | ||
| 7E92 | JR NZ,Inglish_PlantJumpRelativeIfNonZero_ReadActionWord | |||
| 7E94 | LD HL,$0000 | Start from a clear pointer. | ||
| Inglish_PlantJumpRelativeIfNonZero_ReadActionWord | 7E97 | EX (SP),HL | Swap HL with the address on the stack. | |
| 7E98 | PUSH HL | Save the word just read, and read the low byte at offset 2 of this action. | ||
| 7E99 | LD L,(IX+$02) | |||
| 7E9C | LD H,(IX+$03) | Read the high byte at offset 2 of this action. | ||
| 7E9F | BIT 5,H | Test bit 5 of that high byte; the jump planted at 7EA1 by Inglish_PlantJumpRelativeIfZero as JR Z or Inglish_PlantJumpRelativeIfNonZero as JR NZ goes to Inglish_PlantJumpRelativeIfNonZero_CallTheHandler. | ||
| 7EA1 | JR NZ,Inglish_PlantJumpRelativeIfNonZero_CallTheHandler | |||
| 7EA3 | LD HL,$0000 | Start from a clear pointer. | ||
| Inglish_PlantJumpRelativeIfNonZero_CallTheHandler | 7EA6 | EX (SP),HL | Swap HL with the address on the stack. | |
| 7EA7 | JP (HL) | Jump to the action handler the caller addressed. | ||
|
This entry point is used by the routine at Inglish_SaveTheClauseWindow.
|
||||
| Inglish_PlantJumpRelativeIfNonZero_ReadThePointers | 7EA8 | LD HL,($795C) | Read the pointer stored in the other swapped pointer. | |
| 7EAB | PUSH HL | Read the pointer stored in the swapped text pointer. | ||
| 7EAC | LD HL,($795A) | |||
| 7EAF | PUSH HL | Read the pointer stored in the saved text pointer. | ||
| 7EB0 | LD HL,($7958) | |||
| 7EB3 | PUSH HL | Point HL at "i do not know the verb". | ||
| 7EB4 | LD HL,$ADB0 | |||
| 7EB7 | JP Inglish_CopyTheParserSlot_OpenTheMessageGate | Jump to Inglish_CopyTheParserSlot_OpenTheMessageGate to open the message gate and print the prompt. | ||
|
View the equivalent code in;
|
||||
| Prev: 7E78 | Up: Map | Next: 7EBA |