Operadores aritmйticos de #emit -
ipsBruno - 27.09.2013
Tutorial para iniciantes
Para quem nгo sabe, no #emit hб operadores, e com isto, podemos deixar nosso cуdigo mais fuckyea pra fazer uma simples somar, ou multiplicaзгo? Jб pensou?
Vou mostrar os mais bбsicos
SDIV
Faz a divisгo de PRI / ALT
SUB
Faz subtraзгo de PRI ao ALT
NEG
Transforma o valor PRI em negativo
ADD
Adiciona o valor do registro primбrio ao secundбrio
SMUL
Multiplicaзгo entre os registros
RETN
Vocк provavelmente vai precisar disto para retornar, mas nгo necessбria
Exemplos:
Quanto й 1 + 5?
pawn Код:
printf("%d", ummaiscinco());
stock ummaiscinco() {
#emit CONST.PRI 5 // carrega o valor 1
#emit CONST.ALT 1 // carrega o valor 2
#emit ADD // adiciona os valores
#emit RETN //retorna o valor
return true; //pra nгo dar avisos
}
Resposta: 6
Quanto й 100 - 50?
pawn Код:
printf("%d", cemmenoscinquenta());
stock cemmenoscinquenta() {
#emit CONST.PRI 100
#emit CONST.ALT 50
#emit SUB
#emit RETN
return true;
}
Resposta: 50
Qual valor negativo de 10?
pawn Код:
printf("%d", menos10());
stock menos10() {
#emit CONST.PRI 10
#emit NEG
#emit RETN
return true;
}
Resposta: -10
Quanto й 10 x 1000?
pawn Код:
stock dezvesesmil() {
#emit CONST.PRI 10
#emit CONST.ALT 1000
#emit SMUL
#emit RETN
return true;
}
printf("%d", dezvesesmil());
Resposta: 10000
pawn Код:
stock mildivididodez() {
#emit CONST.PRI 1000
#emit CONST.ALT 10
#emit SDIV
#emit RETN
return true;
}
printf("%d", mildivididodez());
Resposta: 100
Tб, cansei. Vocкs jб devem ter captado a mensagem. Na prуxima eu ensino como somar variбveis e mudar os valores delas carregando elas na memуria com LOAD.
Fui
Re: Operadores de #emit -
zSuYaNw - 27.09.2013
Уtimo trabalho Bruno!
reativou seu cйrebro de alienнgena ?
Re: Operadores de #emit -
ipsBruno - 27.09.2013
Sim, vou enxer essa бrea de tutoriais sobre isto para o pessoal parar de enxer. A priori, comeзarei pelo mais bбsico, como este tutorial, conforme o tempo vou colocando mais completo.
Nгo pretendo fazer enrolaзгo como o rjjj fez tambйm ..
Cara, se alguйm nгo entender como funcionou essas operaзхes bбsicas. Sу se matando mesmo, mas enfim, qualquer dъvida o pessoal que entendeu vai estar respondendo.
Re: Operadores aritmйticos de #emit -
zSuYaNw - 27.09.2013
Mas vocк esqueceu de citar "oque й","Problemas por mau uso" e tambйm "para que serve". seria essencial.
Re: Operadores aritmйticos de #emit -
ipsBruno - 27.09.2013
Nesse caso nгo terб problemas pois nгo estamos mexendo com configuraзгo de stack. Por isto pretendo fazer os tutoriais em vбrias etapas
PUSH e STACK serгo um dos ъltimos.
Com estes cуdigozinhos aн, pode calcular a vontade
Re: Operadores aritmйticos de #emit -
Schocc - 27.09.2013
Nice work. vc leu o manual?
+2rep de coraзгo rs
Re: Operadores aritmйticos de #emit -
Caio_Freeze - 27.09.2013
esse ai eu consegui entender уtimo tutorial
Re: Operadores aritmйticos de #emit -
ipsBruno - 27.09.2013
Valeu galera
Se eu aprender alguns truques, ou novas coisas, posto
Re: Operadores aritmйticos de #emit -
WLSF - 27.09.2013
Tanta coisa pra fazer...
Enfim, legal vocк comentar essas coisas aqui, sу espero que o povo ao redor valorize, pra nгo ser job jogado fora.
Re: Operadores aritmйticos de #emit -
ipsBruno - 27.09.2013
Bem, se nгo valorizarem eu me aposento