їCуmo funciona #emit?
#1

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.
Reply
#2

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.
Reply
#3

#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.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)