Routines 
Prev: 35525  Up: Map  Next: 35627 
Used by the routine at 34697.


35591  PUSH DE  Store DE  
35592  LD DE,53419  Point DE at table of powers of ten  
35595  PUSH BC  Store BC (value)  
35596  PUSH HL  Store HL (location to hold string)  
35597  PUSH HL  Store HL (location to hold string)  
35598  LD H,B  Load BC (value) into HL...  
35599  LD L,C  ...  
35600  EX DE,HL  Swap DE (now value) and HL (now pointer to table of powers of ten)  
35601  LD C,(HL)  Read WORD at HL (power of ten) into BC...  
35602  INC HL  ...and advance HL by two bytes...  
35603  LD B,(HL)  ...  
35604  INC HL  ...  
35605  EX DE,HL  Swap DE (now pointer to next power of ten) and HL (now value)  
35606  LD A,47  Load A with 47 (ASCII code immediately prior to that for zero, "0")  
35608  INC A  Increase A to next ASCII character  
35609  OR A  Reset carry flag  
35610  SBC HL,BC  Subtract (BC [power of ten] + carry flag) from HL (value)  
35612  JR NC,35608  If carry flag was not set then loop back to 35608  
35614  ADD HL,BC  Add power of ten back to HL  
35615  EX (SP),HL  Swap value on top of stack (now remaining value) with HL (now location to hold string)  
35616  LD (HL),A  Store ASCII code in string and advance HL to next slot...  
35617  INC HL  ...  
35618  EX (SP),HL  Swap value on top of stack (pointer to current position in string) with HL (now remaining value)  
35619  DEC C  Decrease C to check if last power of ten (i.e. 1) has been reached...  
35620  JR NZ,35600  ...and if not, then loop back to 35600 for next power of ten  
35622  POP HL  Restore HL  
35623  POP HL  Restore HL  
35624  POP BC  Restore BC  
35625  POP DE  Restore DE  
35626  RET  Return 
Prev: 35525  Up: Map  Next: 35627 