Buscar..


Sintaxis

  • .386 : Le dice a MASM que compile para una versión mínima de chip x86 de 386.
  • .model : establece el modelo de memoria a usar, vea .MODEL .
  • .code : segmento de código, utilizado para procesos como el proceso principal.
  • Proc : Declara proceso.
  • ret : se utiliza para salir con éxito de las funciones, consulte Cómo trabajar con valores de retorno .
  • endp : finaliza la declaración del proceso.
  • público : pone el proceso a disposición de todos los segmentos del programa.
  • end : Finaliza el programa, o si se usa con un proceso, como en " end main main ", hace que el proceso sea el método principal.
  • llamada : llama al proceso y coloca su código de operación en la pila, vea Flujo de control .
  • ecx : contador de registro, ver registros .
  • ecx : contador de registro.
  • mul : multiplica el valor por eax

Observaciones

mov se utiliza para transferir datos entre los registros .

Usando MOV para manipular valores

Descripción:

mov copia los valores de bits del argumento de origen al argumento de destino.

El origen / destino común son los registros , generalmente la forma más rápida de manipular valores con [en] CPU.

Otro grupo importante de valores source_of / destination_for es la memoria de la computadora.

Finalmente, algunos valores inmediatos pueden ser parte de la codificación de la instrucción mov , ahorrando tiempo de acceso a la memoria por separado leyendo el valor junto con la instrucción.

En la CPU x86 en modo de 32 y 64 bits hay muchas posibilidades de combinarlos, especialmente varios modos de direccionamiento de memoria. En general, la copia de memoria a memoria está fuera del límite (excepto las instrucciones especializadas como MOVSB ), y dicha manipulación requiere primero el almacenamiento intermedio de valores en el registro [s].

Paso 1: configure su proyecto para usar MASM , consulte Ejecución del ensamblado x86 en Visual Studio 2015
Paso 2: Escribe esto:

.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

Paso 3: Compilar y depurar.

El programa debe devolver valor 16 .



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow