Buon giorno a tutti, spero di non essere nel forum sbagliato, non ho visto altre discussioni sull'assembler, nel caso sia offtopic chiedo venia ^^
Sto studiando l'assembler, e un esercizio su una struttura condizionale mi ha creato un dubbio enorme sul funzionamento dell'istruzione CMP.
Entrando nel dettaglio, la guida che seguo dice che il formato dell'istruzione CMP è il seguente:
CMP operando1, operando2
dove il primo operando può essere una locazione di memoria o un registro, mentre il secondo può anche essere un valore immediato (costante).
Qualche pagina più in là ho trovato un esercizio che esegue la CMP come segue:
non riporto il resto del codice tanto sarebbe inutile.codice:.model small .stack .data N1 db 150 N2 db 200 R db ? .code start: mov ax,@data mov ds,ax mov al, N2 cmp N1,al
Qualcuno mi spiega perchè nella CMP il primo operando è N1 che è un valore costante mentre il secondo è appunto N2 che è stato spostato nel registro al?
Non dovrebbe essere l'esatto contrario?
Grazie a tutti per l'interessamento