quill | Routines |
Prev: 25845 | Up: Map | Next: 25917 |
Used by the routine at EXECUTE_CONDACTS.
|
||||
PROCESS_ACTIONS | 25877 | INC BC | ||
This entry point is used by the routine at ACTION_CLEAR.
|
||||
PROCESS_ACTIONS_0 | 25878 | LD A,(BC) | A=action code | |
25879 | CP 255 | Have we reach end of action table? | ||
25881 | JP Z,PROCESS_RESPONSE_ENTRY | If yes, process next response entry | ||
25884 | SET 4,(IY+8) | Actions being processed | ||
25888 | LD D,0 | |||
25890 | LD E,A | E=action to be taken | ||
25891 | INC BC | |||
25892 | LD A,(BC) | A=first parameter supplied to action | ||
25893 | PUSH HL | |||
25894 | LD HL,26652 | HL=action routines table | ||
25897 | ADD HL,DE | |||
25898 | ADD HL,DE | HL now points to address of action required | ||
25899 | LD E,(HL) | E=LSB of action code | ||
25900 | INC HL | |||
25901 | LD D,(HL) | D=MSB of action code | ||
25902 | PUSH DE | Store action routine address on stack | ||
25903 | LD D,0 | |||
25905 | LD E,A | E=first parameter supplied to action | ||
25906 | LD HL,23333 | HL=object location table | ||
25909 | ADD HL,DE | HL now points at object location entry | ||
25910 | PUSH HL | |||
25911 | LD HL,23296 | HL=flag table | ||
25914 | ADD HL,DE | HL now points at flag entry | ||
25915 | POP DE | DE now contains object location entry | ||
25916 | RET | Pulls action routine address from the stack and executes it |
Prev: 25845 | Up: Map | Next: 25917 |