1)
Se io metto:
in teoria dovrebbe eseguire AND su eax, senza caricare il valore sulla dst, ma settando lo ZeroFlag a 1 se eax corrisponde a 0 giusto?
cioè l'istruzione
TEST eax, eax potrebbe sostituire:
2)
Se all'interno di una procedura faccio un
SUB ESP, 12
mi posso liberare tre sezioni da 4 byte su cui posso metterci dei dati col mov?
ES:
Voglio dire, posso fare così, oppure è scorretto?
Se io metto:
Codice:
TEST eax, eax
jz <label>
in teoria dovrebbe eseguire AND su eax, senza caricare il valore sulla dst, ma settando lo ZeroFlag a 1 se eax corrisponde a 0 giusto?
cioè l'istruzione
TEST eax, eax potrebbe sostituire:
Codice:
CMP eax, 0
je.....
2)
Se all'interno di una procedura faccio un
SUB ESP, 12
mi posso liberare tre sezioni da 4 byte su cui posso metterci dei dati col mov?
ES:
Codice:
push ebp
MOV ebp, esp
SUB esp, 12
MOV [ebp+4], num
MOV [ebp+8], num2
MOV [ebp+12], num3
.......
........
.......
ADD esp, 12 ; per poppare tutto
MOV esp, ebp
POP ebp
RET
Voglio dire, posso fare così, oppure è scorretto?