[Tutorial] Operadores aritmйticos de #emit
#1

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

Уtimo trabalho Bruno!


reativou seu cйrebro de alienнgena ?
Reply
#3

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

Mas vocк esqueceu de citar "oque й","Problemas por mau uso" e tambйm "para que serve". seria essencial.
Reply
#5

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

Nice work. vc leu o manual? +2rep de coraзгo rs
Reply
#7

esse ai eu consegui entender уtimo tutorial
Reply
#8

Valeu galera Se eu aprender alguns truques, ou novas coisas, posto
Reply
#9

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

Bem, se nгo valorizarem eu me aposento
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)