Ragazzi, allora ho questo problema; ( dopo il mio post precedente, a mio avviso ingiustamente chiuso) ho trovato da internet un bel pdf che illustrava dettagliatamente le variabili in assembler, praticamente si possono definire variabili usando questi comandi:
[nome] direttiva valore
• direttive: BYTE (DB), WORD (DW), DWORD (DD), QWORD (DQ)
• valore può essere:
• un valore numerico
• una stringa tra apici
• il carattere ?
• il costrutto num DUP (val) che replica num volte il valore val.
Il [nome] può essere omesso
Ora però non mi è chiaro, quando ometto il nome della variabile, io cosa diamine vado ad inizzializzare?
Guardiamo questo frammento di codice:
start:
codice:
ENCRYPT:
patchstart:
mov bx, offset endencrypt
mov cx, (heap-endencrypt)/2+1
encrypt_loop:
db 002Eh ; cs:
db 0081h ; add word ptr [bx], xxxx
xorpatch db 0007h
encryptvalue dw 0000h
nell'encrypt_loop praticamente definisco una variabile, ma questa variabile non ha nome, nel commento vedo che il valore che assegno alla variabile va a finire in CS, ma non capisco il perchè. Qualcuno di voi sa chiarirmi questa cosa? Grazie mille.