![]() |
Routines |
| Prev: 6E84 | Up: Map |
|
||||||||||
| 6E87 | LD E,A | A=N | ||||||||
| 6E88 | ADD A,A | |||||||||
| 6E89 | ADD A,A | |||||||||
| 6E8A | ADD A,E | |||||||||
| 6E8B | ADD A,A | |||||||||
|
This entry point is used by the routine at 76FA with A=2.
|
||||||||||
| 6E8C | LD D,$FF | Prepare DE for subtraction | ||||||||
| 6E8E | NEG | A=-N | ||||||||
| 6E90 | JR $6E94 | |||||||||
| 6E92 | LD D,$00 | Prepare DE for addition | ||||||||
| 6E94 | LD E,A | Now DE=number of bucks to add (may be negative) | ||||||||
|
This entry point is used by the routine at 6EB1 with DE=FFFF (-1).
|
||||||||||
| 6E95 | LD HL,($7F9E) | Collect the current number of bucks from 7F9E | ||||||||
| 6E98 | ADD HL,DE | Adjust the number | ||||||||
| 6E99 | INC H | Is the result negative? | ||||||||
| 6E9A | JR NZ,$6E9F | Jump if not | ||||||||
| 6E9C | LD HL,$0100 | Set HL up so that the next instruction reduces it to 0 | ||||||||
| 6E9F | DEC H | Restore the value of HL (if it was non-negative), or set it to 0 (if it was negative) | ||||||||
| 6EA0 | LD A,H | Set the zero flag if the number of bucks is now 0 | ||||||||
| 6EA1 | OR L | |||||||||
| 6EA2 | PUSH AF | Save the zero flag temporarily | ||||||||
| 6EA3 | LD ($7F9E),HL | Store the new amount at 7F9E | ||||||||
| 6EA6 | LD DE,$50F8 | DE=display file address | ||||||||
| 6EA9 | CALL $6E1A | Print the number of bucks | ||||||||
| 6EAC | POP AF | Restore the zero flag | ||||||||
| 6EAD | RET | |||||||||
| Prev: 6E84 | Up: Map |