![]() |
Routines |
| Prev: 69F4 | Up: Map | Next: 6A11 |
|
Subtracts A from flag B, sticking at zero.
|
||||||||||
| SubtractFromFlag | 69FE | CALL FlagAddress | Point at flag B. A is the amount to subtract. | |||||||
| 6A01 | LD ($5B94),A | |||||||||
| 6A04 | LD A,(HL) | The flag minus the amount, via the scratch byte. | ||||||||
| 6A05 | PUSH HL | |||||||||
| 6A06 | LD HL,$5B94 | |||||||||
| 6A09 | AND A | The result sticks at zero. | ||||||||
| 6A0A | SUB (HL) | |||||||||
| 6A0B | JR NC,SubtractFlag_Store | |||||||||
| 6A0D | XOR A | |||||||||
| SubtractFlag_Store | 6A0E | POP HL | Store the result. | |||||||
| 6A0F | LD (HL),A | |||||||||
| 6A10 | RET | Return. | ||||||||
| Prev: 69F4 | Up: Map | Next: 6A11 |