Z88DK - problema con parámetros a ASM

Todo sobre la creación, diseño y programación de nuevo software para
nuestro Spectrum

Moderador: Sir Cilve Sinclair

Responder
Avatar de Usuario
radastan
Phantomas
Mensajes: 2232
Registrado: Lun May 07, 2007 5:34 pm
Contactar:

Z88DK - problema con parámetros a ASM

Mensaje por radastan » Mié Nov 13, 2013 7:37 pm

Veamos, estoy tratando de hacer una pruebecilla, y necesito pasarle parámetros a una función. Pasar parámetros no es problema en si mismo, se hacerlo, lo que no se es como pasarle el puntero de un sprites a HL.

Es decir, supongamos el sprite:

Código: Seleccionar todo

extern unsigned char sprite_cubo [];

#asm
   ._sprite_cubo
   defb 255,255,128,1,128,1,128,1,128,1,128,1,128,1,128,1
   defb 128,1,128,1,128,1,128,1,128,1,128,1,128,1,255,255
   defb 12,13,14,15
#endasm


Yo quiero hacer algo parecido a:

Código: Seleccionar todo

put_sprite_x16 (sprite_cubo, 10, 10);


Y que la rutina sea:

Código: Seleccionar todo

void put_sprite_x16 (int posicion, int x, int y)
{
   #asm
      ld hl,2         ;pasamos y a D, x a E, y posicion a HL
      add hl,sp
      ld d, (hl)
      inc hl
      inc hl
      ld e, (hl)
      inc hl
      inc hl
      ld a, (hl)
           inc hl
           ld h, (hl)
           ld l, a

      .
      .
      .
}


¿Qué demonios hago mal? se que es culpa del puntero que no he pasado a entero, pero es que estoy tratando de cambiar mi mente de ensamblador a C con ensamblador (que tiene su miga, oiga).
_________________________________________
Hay otras páginas.... pero no son Bytemaniacos
http://www.bytemaniacos.com
Orgullo de 8 bits
_________________________________________

Avatar de Usuario
radastan
Phantomas
Mensajes: 2232
Registrado: Lun May 07, 2007 5:34 pm
Contactar:

Re: Z88DK - problema con parámetros a ASM

Mensaje por radastan » Mié Nov 13, 2013 9:12 pm

Resuelto, bastaba cambiar la llamada usando un puntero:

Código: Seleccionar todo

void put_sprite_x16 (unsigned char *posicion, unsigned int x, unsigned int y)
_________________________________________
Hay otras páginas.... pero no son Bytemaniacos
http://www.bytemaniacos.com
Orgullo de 8 bits
_________________________________________

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 19 invitados