Sök…


Syntax

  • .386 : Berättar MASM att kompilera för en minsta x86-chipversion av 386.
  • .modell : Ställer in minnesmodell som ska användas, se .MODEL .
  • .kod : Kodsegment , används för processer som huvudprocessen.
  • proc : Förklarar process.
  • ret : används för att avsluta funktioner framgångsrikt, se Arbeta med returvärden .
  • endp : Avslutar processdeklaration.
  • public : Gör processen tillgänglig för alla segment av programmet.
  • slut : Avslutar programmet, eller om det används i en process, till exempel i " slut main ", gör processen till huvudmetoden.
  • samtal : Samtalsprocess och skjuter sin opkod på bunten, se Kontrollflöde .
  • ecx : Räknaregister , se register .
  • ecx : Räknaregister .
  • mul : Multiplicerar värdet med eax

Anmärkningar

mov används för att överföra data mellan registerna .

Använda MOV för att manipulera värden

Beskrivning:

mov kopierar värden på bitar från källargument till destinationsargument.

Vanliga källor / destination är register , vanligtvis det snabbaste sättet att manipulera värden med [in] CPU.

En annan viktig grupp värden för source_of / destination_for är datorminne.

Slutligen kan vissa omedelbara värden vara en del av mov instruktionen som kodar sig själv, vilket sparar tid för separat minnesåtkomst genom att läsa värdet tillsammans med instruktion.

På x86-CPU i 32- och 64-bitarsläge finns det rika möjligheter att kombinera dessa, särskilt olika minnesadresseringslägen. Generellt är minnes-till-minneskopiering out limit (utom specialiserade instruktioner som MOVSB ), och sådan manipulation kräver mellanlagring av värden i register [s] först.

Steg 1: Ställ in ditt projekt för att använda MASM , se Utföra x86-montering i Visual Studio 2015
Steg 2: Skriv in det här:

.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

Steg 3: Kompilera och felsöka.

Programmet ska returnera värde 16 .



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow