SoloCodigo
		Programación General => ASM (Ensamblador) => Mensaje iniciado por: Raistlin en Miércoles 18 de Junio de 2003, 17:07
		
			
			- 
				Buenas, estoy liado con una practica de arquitectura de computadores en la que tenemos que diseñar el tron en ensamblador la cuestion esta en que el compilador TASM me pita unos errores y era por si podias darme algo de informacion sobre estos errores. Los errores son los siguientes y ocurren dentro de una macro a la que llamo dos veces y las etiquetas de las macros son locales:
 EXPECTING POINTER TYPE
 en instrucciones del tipo:
 jne no_ar1
 SYMBOL ALREADY DIFFERENT KIND: nombre_etiqueta
 siendo nombre_etiqueta las etiquetas anteriormente referenciadas en el error anterior.
 
 MUCHAS GRACIAS
- 
				espero que no sea muy tarde por responder a tu pregunta pero hace dias que no pasaba por aqui y bueno lei tu problema y si he entendido
 me parece que declaras varias veces tus labels del mismo nombre "nombre_etiqueta" siendo un problema usual en ASM, mismo si estas en diferentes proceduras o funciones debes de utilizar labels de distinto nombre, pero ahi una directiva magica que permite de usar labels del mismo nombre se llama
 JUMPS
 LOCALS
 y puedes utilisar por ejemplo un label de nombre
 @@bcl:
 que esta en mi procedura AffNombre PROC
 y en otra procedura AffApellido PROC
 @@bcl
 la estucia esque hay que poner @@ antes del nombre y porner
 JUMPS
 LOCALS
 antes de tu .data = donde declaras la variables pa' tu programa
 
 entonces daria una forma por ejem:
 
 .modell small
 .stack 100h
 LOCALS
 JUMPS
 .data
 
 x dx ? ;......
- 
				Gracias.
 Ya lo resolvi, el problema era que dentro de la macro definia las etiquetas asi:
 mostrar MACRO serp , dir
 LOCAL et1, et2,et3.......
 ....
 ....
 endm
 y resulta que habia que separar las etiquetas asi
 mostrar MACRO serp , dir
 LOCAL et1 , et2 , et3 , .......
 ....
 ....
 endm
 Ya ves tu que tontada, pero que es lo tipico que te tiene rayado una semanica.
 Bueno muchas gracias.
- 
				euh!! que bien que lo has resuelto pero no veo muy bien cual era el problema :p