Prev: 39597 Up: Map Next: 39627
39610: Find Last Row
Moves DE on to the first byte of the last row of a graphic, which is the width multiplied by one less than the height.
Input
B The width of the graphic
C The height of the graphic
DE The address of the graphic
Output
DE The address of the last row
FindLastRow 39610 PUSH HL Stash HL on the stack.
39611 PUSH DE Stash DE on the stack.
39612 LD A,B Fetch the width of the graphic.
39613 LD E,C Fetch the height of the graphic.
39614 DEC E Decrease it by one.
39615 LD D,0 Clear the high byte of the height.
39617 PUSH BC Stash BC on the stack.
39618 CALL MultiplyAByDE Call MultiplyAByDE to multiply the width by one less than the height.
39621 POP BC Restore BC from the stack.
39622 POP DE Restore DE from the stack.
39623 ADD HL,DE Add DE to the result.
39624 EX DE,HL Switch DE and HL.
39625 POP HL Restore HL from the stack.
39626 RET Return.
Prev: 39597 Up: Map Next: 39627