Ricerca…


Sintassi

  • .386 : indica a MASM di compilare una versione di chip x86 minima di 386.
  • .model : imposta il modello di memoria da usare, vedi .MODEL .
  • .code : segmento di codice, utilizzato per processi come il processo principale.
  • proc : dichiara il processo.
  • ret : usato per uscire correttamente dalle funzioni, vedere Lavorare con i valori restituiti .
  • endp : termina la dichiarazione di processo.
  • pubblico : rende disponibile il processo per tutti i segmenti del programma.
  • fine : termina il programma o, se utilizzato con un processo, come in " end main ", rende il processo il metodo principale.
  • chiamata : le chiamate elaborano e trasferiscono il codice operativo nello stack, vedere Controllo flusso .
  • ecx : registro contatore, vedere registri .
  • ecx : registro contatore.
  • mul : moltiplica il valore di eax

Osservazioni

mov viene utilizzato per trasferire i dati tra i registri .

Usare MOV per manipolare i valori

Descrizione:

mov copia i valori dei bit dall'argomento source all'argomento destination.

Common source / destination sono registri , di solito il modo più veloce per manipolare i valori con [in] CPU.

Un altro importante gruppo di valori source_of / destination_for è la memoria del computer.

Infine alcuni valori immediati possono far parte della codifica dell'istruzione mov stessa, risparmiando tempo di accesso alla memoria separato leggendo il valore insieme all'istruzione.

Sulla CPU x86 in modalità 32 e 64 bit ci sono molte possibilità per combinarle, specialmente le varie modalità di indirizzamento della memoria. Generalmente la copia da memoria a memoria è fuori limite (eccetto istruzioni specializzate come MOVSB ), e tale manipolazione richiede prima la memorizzazione intermedia dei valori nel registro [s].

Passaggio 1: impostare il progetto per l'utilizzo di MASM , vedere Esecuzione dell'assembly x86 in Visual Studio 2015
Passaggio 2: digita questo:

.386
.model small
.code

public main
main proc
    mov ecx, 16       ; Move immediate value 16 into ecx
    mov eax, ecx      ; Copy value of ecx into eax
    ret               ; return back to caller
        ; function return value is in eax (16)
main endp
end main

Passaggio 3: compilare e eseguire il debug.

Il programma dovrebbe restituire il valore 16 .



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow