![]() |
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 |