Spectrum ROM | Routines |
Prev: 13574 | Up: Map |
The routine at less_0 continues here.
This subroutine sets the 'last value' to zero if the carry flag is reset and to one if it is set. When called from e_to_fp however it creates the zero or one not on the stack but in mem-0.
|
|||||||
FP_0_1 | 13579 | PUSH HL | Save the result pointer. | ||||
13580 | LD A,0 | Clear A without disturbing the carry. | |||||
13582 | LD (HL),A | Set the first byte to zero. | |||||
13583 | INC HL | Point to the second byte. | |||||
13584 | LD (HL),A | Set the second byte to zero. | |||||
13585 | INC HL | Point to the third byte. | |||||
13586 | RLA | Rotate the carry into A, making A one if the carry was set, but zero if the carry was reset. | |||||
13587 | LD (HL),A | Set the third byte to one or zero. | |||||
13588 | RRA | Ensure that A is zero again. | |||||
13589 | INC HL | Point to the fourth byte. | |||||
13590 | LD (HL),A | Set the fourth byte to zero. | |||||
13591 | INC HL | Point to the fifth byte. | |||||
13592 | LD (HL),A | Set the fifth byte to zero. | |||||
13593 | POP HL | Restore the result pointer. | |||||
13594 | RET |
Prev: 13574 | Up: Map |