Поиск…


Синтаксис

  • .386 : Сообщает MASM о компиляции для минимальной версии чипа x86 386.
  • .model : Устанавливает модель памяти для использования, см. .MODEL .
  • .code : сегмент кода, используемый для процессов, таких как основной процесс.
  • proc : Объявляет процесс.
  • ret : используется для успешного завершения функций, см. « Работа с возвращаемыми значениями» .
  • endp : завершает декларацию процесса.
  • public : делает процесс доступным для всех сегментов программы.
  • end : Ends program или если используется с процессом, например, в « end main », делает процесс основным методом.
  • call : вызывает процесс и выталкивает свой код операции в стек, см. « Управление потоком» .
  • ecx : регистр счетчика, см. регистры .
  • ecx : регистр счетчика.
  • mul : умножает значение на eax

замечания

mov используется для передачи данных между регистрами .

Использование MOV для управления значениями

Описание:

mov копирует значения бит из аргумента источника в целевой аргумент.

Общий источник / назначение - это регистры , как правило, самый быстрый способ управления значениями с [in] CPU.

Еще одна важная группа значений source_of / destination_for - это память компьютера.

Наконец, некоторые непосредственные значения могут быть частью самой кодировки команды mov , экономя время отдельного доступа к памяти, считывая значение вместе с инструкцией.

На процессоре x86 в режиме 32 и 64 бит есть богатые возможности для их объединения, особенно в различные режимы адресации памяти. Обычно копирование памяти на память выходит за пределы (за исключением специализированных инструкций, таких как MOVSB ), и такая манипуляция требует промежуточного хранения значений в регистре [s].

Шаг 1. Настройте проект на использование MASM , см. « Выполнение сборки x86 в Visual Studio 2015».
Шаг 2: Введите следующее:

.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

Шаг 3: Скомпилируйте и отлаживайте.

Программа должна вернуть значение 16 .



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow