Programación General > ASM (Ensamblador)

 Problema Con Macro En Ensamblador

(1/2) > >>

el__dick:
tengo una duda con un programa, esta recien empezao es para inicializar la pantalla para un juego con unas lineas,e creao la macro q te dibuja una linea horizontal en una linea y despues e creado otra macro para inicializar la pantalla, pero me da un error al ensamblar en una etoketa q utiliza la funcion lineah, en C++ q es el lenguaje q yo e usado no abria problema puesto q cada vez q llamas a una funcion las varialbes son propias de la funcion y al salir se pierden pero parece q aki no es lo mismo y no se como solucionarlo, adjunto el archivo asm para ver si alguien puede exarme un cable, el error será una tonteria pero al tener unos conocimiento muy cortos no se como arreglarlo.
GRACIAS. :hola:

Eternal Idol:
Los macros funcionan igual en C que en assembly en ese sentido.


--- Código: Text --- #define lineah(Y,C)\  int x = Y;\  int z = C; void main(){  lineah(2, 6);  lineah(2, 8);} Output del compilador:error C2374: 'x' : redefinition; multiple initializationsee declaration of 'x'error C2374: 'z' : redefinition; multiple initializationsee declaration of 'z'  
Podes intentar esto, no te aseguro que funcione pero parece que si esta bien ESO ...


--- Código: Text --- ;pone una linea horizontal de un colorlineah MACRO Y,C    mov cx,319         @@:    pixel cx,Y,C    dec cx    jnz @b  
Info al respecto aca:
http://webster.cs.ucr.edu/AsmTools/MASM/MA...ide/Chap_03.htm

el__dick:
Q va no me funciona, y no tengo ni idea de xq, porque yo se q en C++ no abría problema con eso, pero aki parece q cuando yamas a la funcion mas de una vez, es cuando surge el problema, yamandola una sola vez no hay problema.
Seguiré mirando e intentado cosas.
Gracias de toas maneras :D

Eternal Idol:
Eso con MASM ensambla perfectamente, otra cosa es que funcione, pero viendo el codigo esta claro que va cambiando la direccion con lo cual es correcto ... mejor revisa lo que estas haciendo en general y primero logra pintar una linea.

el__dick:
mmm pintar una linea lo pinta, yo esq no utilizo el masm xq no se , utilizo utilizo el tasm, weno es una macro prepara q man dao, intentaré ver como funciona el masm y probarlo, xq una linea si q compila y lo pinta prefectamente.
Gracias x todo .
ADIOS.

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa