![]() |
Routines |
| Prev: 46556 | Up: Map | Next: 46766 |
|
Used by the routines at 46382 and Calculate_ActivePlayer_Level.
|
||||||||||||
|
For an example, given A=22 - the output is 00100010.
First count the number of "10's" in A.
|
||||||||||||
| Convert_Base10 | 46745 | LD BC,10 | BC=0010. | |||||||||
| Convert_Base10_Loop | 46748 | INC B | Increment B counter. | |||||||||
| 46749 | SUB C | A-=10. | ||||||||||
| 46750 | JR NC,Convert_Base10_Loop | Jump back to Convert_Base10_Loop until there's a carry amount. | ||||||||||
| 46752 | ADD A,C | A+=C. | ||||||||||
| 46753 | DEC B | Decrease the counter in B by one to account for the carry. | ||||||||||
| 46754 | SLA B | Shift and rotate B four times. | ||||||||||
| 46756 | SLA B | |||||||||||
| 46758 | SLA B | |||||||||||
| 46760 | SLA B | |||||||||||
| 46762 | AND %00001111 | Keep only bits 0-3. | ||||||||||
| 46764 | OR B | Set the bits from B. | ||||||||||
| 46765 | RET | Return. | ||||||||||
| Prev: 46556 | Up: Map | Next: 46766 |