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:
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.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