ї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.