Karoshi MSX Community
05 de Julio de 2021, 10:47:31 am *
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.

Ingresar con nombre de usuario, contraseña y duración de la sesión
Noticias:
 
   Inicio   Ayuda Buscar Ingresar Registrarse  
Páginas: [1]
  Imprimir  
Autor Tema: How to convert to ascii a 32 bit integer  (Leído 5395 veces)
0 Usuarios y 1 Visitante están viendo este tema.
ARTRAG
Visitante
« : 08 de Diciembre de 2009, 08:27:18 pm »

Código:
; in HL:DE the 32 bit integer
; BC points to the output

long2ascii:
; HL = HIGH WORD
PUSH DE
EXX
POP HL ; HL' = LOW WORD
EXX

LD  E,C
LD  D,B

LD  BC,-1000000000/0x10000 -1
EXX
LD  BC,-1000000000&0xFFFF
EXX
CALL    NUM1

LD  BC,-100000000/0x10000 -1
EXX
LD  BC,-100000000&0xFFFF
EXX
CALL    NUM1

LD  BC,-10000000/0x10000 -1
EXX
LD  BC,-10000000&0xFFFF
EXX
CALL    NUM1

LD  BC,-1000000/0x10000 -1
EXX
LD  BC,-1000000&0xFFFF
EXX
CALL    NUM1

LD  BC,-100000/0x10000 -1
EXX
LD  BC,-100000&0xFFFF
EXX
CALL    NUM1

LD  BC,-10000/0x10000 -1
EXX
LD  BC,-10000&0xFFFF
EXX
CALL    NUM1

LD  BC,-1000/0x10000 -1
EXX
LD  BC,-1000&0xFFFF
EXX
CALL    NUM1

LD  BC,-100/0x10000 -1
EXX
LD  BC,-100&0xFFFF
EXX
CALL    NUM1

LD  BC,-10/0x10000 -1
EXX
LD  BC,-10&0xFFFF
EXX
CALL    NUM1

LD  BC,-1/0x10000 -1
EXX
LD  BC,-1&0xFFFF
EXX
CALL    NUM1
RET

NUM1:
LD  A,'0'-1  ; '0' IN THE TILESET

NUM2:
INC A
EXX
add HL,BC ; low word
EXX
ADC HL,BC ; high word
jp  C,NUM2

EXX
SBC HL,BC ; low word
EXX
SBC HL,BC ; high word

LD  (DE),A
INC DE
RET

« Última modificación: 08 de Diciembre de 2009, 08:29:59 pm por AR » En línea
Páginas: [1]
  Imprimir  
 
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.21 | SMF © 2013, Simple Machines XHTML 1.0 válido! CSS válido!