Программа 2. Сложение двух чисел

Программа складывает два числа, и проверяет результат. Если сумма равна 0 — выводится одно сообщение, если нет — другое.

.486.model flat, stdcalloption casemap: none include /masm32/include/windows.incinclude /masm32/include/user32.incinclude /masm32/include/kernel32.inc includelib /masm32/lib/user32.libincludelib /masm32/lib/kernel32.lib include /masm32/macros/macros.asm uselib masm32, comctl32, ws2_32 .data .codestart: mov eax, 123mov ebx, -90 add eax, ebx test eax, eax jz zero invoke MessageBox, 0, chr$("В eax не 0!"), chr$("Info"), 0jmp lexit zero:invoke MessageBox, 0, chr$("В eax 0!"), chr$("Info"), 0 lexit:invoke ExitProcess, 0 end start

В данной задаче самое интересное — это работа с метками, командами jz, jmp и test.

test — это операция логического сравнения двух операндов, размерностью байт, слово или двойное слово. В процессе выполняется операцию логического умножения: бит результата равен 1, если соответствующие биты операндов равны 1, в остальных случаях бит результата равен 0. Затем устанавливаются флаги, в том числе флаг ZF (zero flag), который равен 1, если результат логического умножения равен нулю.

Флаг ZF в дальнейшем используется для анализа результата.

jnz — выполняет переход по указанной метке, если не установлен флаг ZF. Данная команда обычно используется с операциями сравнения, которые влияют на состояние флага ZF. Например, test и cmp.

jz — выполняет переход по указанной метке, если установлен флаг ZF. Данная команда обычно используется с операциями сравнения, которые влияют на состояние флага ZF. Например, test и cmp.

jmp — выполняет безусловный переход по указанной метке.

  • Медицинская коррекция ДЦП
  • Создание «бейджика» в растровом редакторе «GIMP» (ГИМП)
  • Решение. Составим математическую модель для данной задачи
  • Свадьба. Шафер в цилиндре и в белых перчатках, запыхавшись, сбрасывает в передней пальто и с
  • Картографические произведения и топологии интегральных микросхем
  • У них, видите ли, пророчество. У нас клятва. А крайняя как всегда я? Что, в королевстве перевелись принцессы? Или взбалмошные особы с магическим даром? Чего эта 9 страница
  • Глава 6. Большую часть ночи я пролежала без сна, не переставая прокручивать в памяти момент
  • ТЕКСТ 16. татрайам шлоках —
  • "The Finest Story in the World" 28 страница
  • Июля – 2 августа 2011 г.
  • Ім. В.В. Докучаєва
  • Начальная стратегия внушения
  • НАЗВАНИЕ: Playing in the BATTLE. 1 страница
  • Характеристика типов производства
  • РАЗВИТИЕ ЭКСПЕРИМЕНТАЛЬНО-ИССЛЕДОВАТЕЛЬСКОЙ БАЗЫ ВАГОНОСТРОЕНИЯ
  • Статья 20. Перечень работ и (или) услуг по капитальному ремонту общего имущества в многоквартирном доме
  • ЧАСТЬ ЧЕТВЕРТАЯ. 10 страница
  • МОДУЛЬ 2. ОСНОВЫ РЕЛЯТИВИСТСКОЙ МЕХАНИКИ
  • Выбор системы для управления проектами
  • Несоответствие работника занимаемой должности или выполняемой работе вследствие недостаточной квалификации, препятствующей продолжению данной работы