Routines |
Prev: 53585 | Up: Map | Next: 53731 |
|
||||||||||||||
53703 | PUSH AF | Store AF (A = value of character's stat) | ||||||||||||
53704 | AND 128 | Capture MSB in stat value and store in instruction at 53728... | ||||||||||||
53706 | LD (53729),A | ... | ||||||||||||
53709 | POP AF | Restore AF (A = value of character's stat) | ||||||||||||
53710 | AND 127 | Discard MSB of stat value | ||||||||||||
53712 | ADD A,C | Add change value | ||||||||||||
53713 | OR A | Check sign flag | ||||||||||||
53714 | JP P,53720 | If sign flag reset (i.e. MSB of result is reset and result is positive) then jump ahead to 53720 | ||||||||||||
53717 | XOR A | else stat must have dropped below zero, so set stat to zero (as it can't be less than 0) | ||||||||||||
53718 | JR 53728 | Skip ahead to 53728 | ||||||||||||
53720 | CP 100 | If new value of stat is less than or equal to 100... | ||||||||||||
53722 | JR Z,53728 | ...then skip ahead to 53728... | ||||||||||||
53724 | JR C,53728 | ... | ||||||||||||
53726 | LD A,100 | ...else set stat to 100 (as it can't be greater than 100) | ||||||||||||
The operand of the instruction at 53728 represents bit 7 of the input value in A. This is modified by the instruction at 53706.
|
||||||||||||||
53728 | OR 0 | Restore previously stored MSB state | ||||||||||||
53730 | RET | Return |
Prev: 53585 | Up: Map | Next: 53731 |