Prev: 44325 Up: Map Next: 44355
44340: Add To Score
Used by the routine at Action_AddToScore.
Adds the points in A to the two-byte BCD score at Score. The low byte is adjusted with DAA; when that addition carries, the high byte increases by one.
Input
A Points to add
Preserve HL and load the current score from Score.
AddToScore 44340 PUSH HL Stash HL on the stack.
44341 LD HL,(41223) Fetch the BCD score from *Score into HL.
Add the points into the low score byte and adjust for BCD.
44344 ADD A,L Add the points in A to the low score byte in L.
44345 DAA Decimal-adjust A for a BCD score digit.
44346 LD L,A Store the adjusted low byte back in L.
44347 JR NC,AddToScore_Store Jump to AddToScore_Store if the addition did not carry.
The low byte carried, so raise the high score byte.
44349 INC H Increase the high score byte in H by one.
Write the updated score back to Score.
AddToScore_Store 44350 LD (41223),HL Store HL at Score.
44353 POP HL Restore HL from the stack.
44354 RET Return.
View the equivalent code in;
Prev: 44325 Up: Map Next: 44355