SA-MP Forums Archive
їCуmo funciona #emit? - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: їCуmo funciona #emit? (/showthread.php?tid=463594)



їCуmo funciona #emit? - JustBored - 12.09.2013

Eso nada mбs, me fijй en la wiki de SA-MP pero no me da mucha informaciуn, me interesarнa saber mбs debido a que estoy mirando las funciones del pre-compilador.


Respuesta: їCуmo funciona #emit? - oOFotherOo - 12.09.2013

La verdad que #emit no sirve para optimizar cуdigos. Mi opiniуn es que #emit sirve para modificar valores con el pre-procesador, pero esto sirve para extender PAWN a un nivel mбs bajo.

Funciones:

.S - apilar.
.C - medio constante.
.I - medio de indirecciуn.
.ADR - direcciуn.
.pri - registro primario.
.alt - registro alternativo.
ADD - Agregar resultados al registro.
NEG - convierte el resultado a negativo.

Ejemplo:
pawn Код:
new np = 10, np2 = 20, re;

// Cargamos la direcciуn local de la variable np en el registro principal.
#emit CONST.pri np
// Cargamos la direcciуn local de la variable np2 en un registro alterno.
#emit CONST.alt np2
// Aсadimos las variables y almacenamos los resultados en el registro principal "np"
#emit ADD
// Copiamos el resultado y se los asignamos a la variable re.
#emit STOR.S.pri re

printf("%i", re); // El resultado es 30.
PD: Espero le sirva como introducciуn, #emit tiene muchas funciones. Le recomiendo buscar en otros foros de PAWN ya que tienen mejor documentaciуn sobre el uso de #emit.

Un saludo.


Respuesta: їCуmo funciona #emit? - TheChaoz - 12.09.2013

#emit se utiliza para extender el lenguaje pawn y las limitaciones que tiene el mismo.

Los tutoriales sobre esta sentencia estan en ingles y es como programar en un asm MUY basico.

Aqui 2 tutoriales:
Abstract machine and emit
#emit

Nota: Si buscas optimizacion, estas buscando por la zona incorrecta.