Szukaj…


Składnia

  • .386 : Mówi MASM, aby skompilował się dla wersji z chipem co najmniej x86 386.
  • .model : Ustawia model pamięci do użycia, patrz .MODEL .
  • .code : segment kodu, używany w procesach takich jak proces główny.
  • proc : Deklaruje proces.
  • ret : używany do pomyślnego wychodzenia z funkcji, patrz Praca z wartościami zwracanymi .
  • endp : Kończy deklarację procesu.
  • public : Udostępnia proces wszystkim segmentom programu.
  • end : kończy program lub jeśli jest używany z procesem, takim jak „ end main ”, czyni ten proces główną metodą.
  • call : wywołuje proces i wypycha swój kod operacji na stos, patrz Kontrola przepływu .
  • ecx : rejestr licznika, patrz rejestry .
  • ecx : rejestr licznika.
  • mul : Mnoży wartość przez eax

Uwagi

mov służy do przesyłania danych między rejestrami .

Używanie MOV do manipulowania wartościami

Opis:

mov kopiuje wartości bitów z argumentu źródłowego na docelowy.

Wspólnym źródłem / miejscem docelowym są rejestry , zwykle najszybszy sposób manipulowania wartościami za pomocą procesora [in].

Inną ważną grupą wartości source_of / destination_for jest pamięć komputera.

Wreszcie, niektóre bezpośrednie wartości mogą być częścią samego kodowania instrukcji mov , oszczędzając czas dostępu do oddzielnej pamięci, czytając wartość wraz z instrukcją.

Na procesorze x86 w trybie 32- i 64-bitowym istnieją bogate możliwości ich łączenia, szczególnie różne tryby adresowania pamięci. Zasadniczo kopiowanie z pamięci do pamięci jest poza limitem (z wyjątkiem wyspecjalizowanych instrukcji, takich jak MOVSB ), i taka manipulacja wymaga najpierw pośredniego przechowywania wartości w rejestrze [s].

Krok 1: Skonfiguruj projekt do korzystania z MASM , zobacz Wykonywanie zestawu x86 w Visual Studio 2015
Krok 2: Wpisz to:

.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

Krok 3: Kompiluj i debuguj.

Program powinien zwrócić wartość 16 .



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow