![]()  | 
Routines | 
| Prev: ACE6 | Up: Map | Next: AD32 | 
| 
 
Used by the routine at Handler_UserInput.
 
  | 
||||||||
| Handler_MatchItem | ACFB | PUSH HL | Stash HL, DE, BC and IX on the stack. | |||||
| ACFC | PUSH DE | |||||||
| ACFD | PUSH BC | |||||||
| ACFE | PUSH IX | |||||||
| AD00 | LD HL,($A7C6) | HL=*Pointer_Vocabulary. | ||||||
| AD03 | LD C,$00 | C=00. | ||||||
| AD05 | JR Handler_MatchItem_2 | Jump to Handler_MatchItem_2. | ||||||
| Handler_MatchItem_0 | AD07 | LD E,B | E=B. | |||||
| AD08 | LD D,$00 | D=00. | ||||||
| AD0A | ADD HL,DE | HL+=DE. | ||||||
| AD0B | LD A,(HL) | A=*HL. | ||||||
| AD0C | CP $2C | Compare A with 2C. | ||||||
| AD0E | JR Z,Handler_MatchItem_1 | Jump to Handler_MatchItem_1 if A is equal to 2C. | ||||||
| AD10 | INC C | Increment C by one. | ||||||
| AD11 | JR Handler_MatchItem_2 | Jump to Handler_MatchItem_2. | ||||||
| Handler_MatchItem_1 | AD13 | INC HL | Increment HL by one. | |||||
| Handler_MatchItem_2 | AD14 | LD A,(HL) | Jump to MatchItem_Return if *HL is equal to FF. | |||||
| AD15 | CP $FF | |||||||
| AD17 | JR Z,MatchItem_Return | |||||||
| AD19 | LD IX,$A82F | IX=FourLetterBuffer. | ||||||
| AD1D | LD B,$04 | B=04. | ||||||
| Handler_MatchItem_3 | AD1F | LD A,(IX+$00) | Jump to Handler_MatchItem_0 if *IX+00 is not equal to *HL. | |||||
| AD22 | CP (HL) | |||||||
| AD23 | JR NZ,Handler_MatchItem_0 | |||||||
| AD25 | INC HL | Increment HL by one. | ||||||
| AD26 | INC IX | Increment IX by one. | ||||||
| AD28 | DJNZ Handler_MatchItem_3 | Decrease counter by one and loop back to Handler_MatchItem_3 until counter is zero. | ||||||
| AD2A | LD A,C | A=C. | ||||||
| AD2B | SCF | Set the carry flag to indicate that an item was successfully found. | ||||||
| MatchItem_Return | AD2C | POP IX | Restore IX, BC, DE and HL from the stack. | |||||
| AD2E | POP BC | |||||||
| AD2F | POP DE | |||||||
| AD30 | POP HL | |||||||
| AD31 | RET | Return. | ||||||
| Prev: ACE6 | Up: Map | Next: AD32 |