Routines |
Prev: 54758 | Up: Map | Next: 54800 |
|
||||||||||||||||||
Merge_Shot | 54778 | PUSH BC | Store BC and HL for later. | |||||||||||||||
54779 | PUSH HL | |||||||||||||||||
Merge_Shot_Loop | 54780 | LD A,(DE) | Loads the contents of the source address held in DE. | |||||||||||||||
54781 | XOR (HL) | Performs a bit-by-bit XOR comparison against the contents of the destination address held by HL.
|
||||||||||||||||
54782 | LD (HL),A | Stores the result at the destination address. | ||||||||||||||||
54783 | INC HL | Increase the source and destination addresses by one, decrease the counter by one. Loop back to Merge_Shot_Loop until the C counter is zero. | ||||||||||||||||
54784 | INC DE | |||||||||||||||||
54785 | DEC C | |||||||||||||||||
54786 | JR NZ,Merge_Shot_Loop | |||||||||||||||||
54788 | POP HL | Restore HL with the original destination address. | ||||||||||||||||
54789 | INC H | Increase the high-order byte of HL by one, if this is on a screen third boundary (@todo what's the term for this?) then call Calc_Attribute. | ||||||||||||||||
54790 | LD A,H | |||||||||||||||||
54791 | AND 7 | |||||||||||||||||
54793 | CALL Z,Calc_Attribute | |||||||||||||||||
54796 | POP BC | Decrease the B counter by one and loop back to Merge_Shot until it is zero. | ||||||||||||||||
54797 | DJNZ Merge_Shot | |||||||||||||||||
54799 | RET | Return. |
Prev: 54758 | Up: Map | Next: 54800 |