![]() |
Routines |
| Prev: 28292 | Up: Map |
|
|||||||||
| 28295 | LD E,A | A=N | |||||||
| 28296 | ADD A,A | ||||||||
| 28297 | ADD A,A | ||||||||
| 28298 | ADD A,E | ||||||||
| 28299 | ADD A,A | ||||||||
|
This entry point is used by the routine at 30458 with A=2.
|
|||||||||
| 28300 | LD D,255 | Prepare DE for subtraction | |||||||
| 28302 | NEG | A=-N | |||||||
| 28304 | JR 28308 | ||||||||
| 28306 | LD D,0 | Prepare DE for addition | |||||||
| 28308 | LD E,A | Now DE=number of bucks to add (may be negative) | |||||||
|
This entry point is used by the routine at 28337 with DE=65535 (-1).
|
|||||||||
| 28309 | LD HL,(32670) | Collect the current number of bucks from 32670 | |||||||
| 28312 | ADD HL,DE | Adjust the number | |||||||
| 28313 | INC H | Is the result negative? | |||||||
| 28314 | JR NZ,28319 | Jump if not | |||||||
| 28316 | LD HL,256 | Set HL up so that the next instruction reduces it to 0 | |||||||
| 28319 | DEC H | Restore the value of HL (if it was non-negative), or set it to 0 (if it was negative) | |||||||
| 28320 | LD A,H | Set the zero flag if the number of bucks is now 0 | |||||||
| 28321 | OR L | ||||||||
| 28322 | PUSH AF | Save the zero flag temporarily | |||||||
| 28323 | LD (32670),HL | Store the new amount at 32670 | |||||||
| 28326 | LD DE,20728 | DE=display file address | |||||||
| 28329 | CALL 28186 | Print the number of bucks | |||||||
| 28332 | POP AF | Restore the zero flag | |||||||
| 28333 | RET | ||||||||
| Prev: 28292 | Up: Map |