Prev: 32376 Up: Map Next: 32442
32380: Inglish: Plant JR NZ
Used by the routine at Inglish_CopyTheParserSlot.
Plants the JR NZ opcode at 32402 and 32417, then reads two words from the action entry. Each word is kept when its bit is set.
Inglish_PlantJumpRelativeIfNonZero 32380 LD A,32 Take the JR NZ opcode.
This entry point is used by the routine at Inglish_PlantJumpRelativeIfZero.
Inglish_PlantJumpRelativeIfNonZero_PlantTheOpcode 32382 LD (32402),A Plant the opcode at 32402.
32385 LD (32417),A Plant the same opcode at 32417.
32388 LD IX,(31070) Point IX at the action entry saved at 31070.
32392 LD L,(IX+4) Read the low byte of the word at offset 4 of this action.
32395 LD H,(IX+5) Read the high byte of the word at offset 4 of this action.
32398 BIT 7,(IX+7) Test bit 7 of byte 7 of this action; the jump planted at 32402 by Inglish_PlantJumpRelativeIfZero as JR Z or Inglish_PlantJumpRelativeIfNonZero as JR NZ goes to Inglish_PlantJumpRelativeIfNonZero_ReadActionWord.
32402 JR NZ,Inglish_PlantJumpRelativeIfNonZero_ReadActionWord
32404 LD HL,0 Start from a clear pointer.
Inglish_PlantJumpRelativeIfNonZero_ReadActionWord 32407 EX (SP),HL Swap HL with the address on the stack.
32408 PUSH HL Save the word just read, and read the low byte at offset 2 of this action.
32409 LD L,(IX+2)
32412 LD H,(IX+3) Read the high byte at offset 2 of this action.
32415 BIT 5,H Test bit 5 of that high byte; the jump planted at 32417 by Inglish_PlantJumpRelativeIfZero as JR Z or Inglish_PlantJumpRelativeIfNonZero as JR NZ goes to Inglish_PlantJumpRelativeIfNonZero_CallTheHandler.
32417 JR NZ,Inglish_PlantJumpRelativeIfNonZero_CallTheHandler
32419 LD HL,0 Start from a clear pointer.
Inglish_PlantJumpRelativeIfNonZero_CallTheHandler 32422 EX (SP),HL Swap HL with the address on the stack.
32423 JP (HL) Jump to the action handler the caller addressed.
This entry point is used by the routine at Inglish_SaveTheClauseWindow.
Inglish_PlantJumpRelativeIfNonZero_ReadThePointers 32424 LD HL,(31068) Read the pointer stored in the other swapped pointer.
32427 PUSH HL Read the pointer stored in the swapped text pointer.
32428 LD HL,(31066)
32431 PUSH HL Read the pointer stored in the saved text pointer.
32432 LD HL,(31064)
32435 PUSH HL Point HL at "i do not know the verb".
32436 LD HL,44464
32439 JP Inglish_CopyTheParserSlot_OpenTheMessageGate Jump to Inglish_CopyTheParserSlot_OpenTheMessageGate to open the message gate and print the prompt.
View the equivalent code in;
Prev: 32376 Up: Map Next: 32442