Счетчик сообщений - Assembler

Узнай цену своей работы

Формулировка задачи:

В регистре ECX записано количество сообщений, которое надо вывести. Как оно туда Нпопало - не важно. Надо с помощью функции MessageBox организовать вывод сообщений вида "сообщение №X", где X - это текущее значение регистра ECX. Если бы номер не нужен был, то все ok. Как это записать на асме?

Решение задачи: «Счетчик сообщений»

textual
Листинг программы
.data
buffer db 255 dup (?)
.code
start:
invoke wsprintf, offset buffer, chr$("EAX = %u, ECX = %u , text = %s"), eax, ecx,chr$("вывели значения регистров")
invoke MessageBox,0, offset buffer, chr$("Info"), 0
invoke ExitProcess,0
end start

Объяснение кода листинга программы

  1. Объявление переменных: .data buffer db 255 dup (?)
  2. Начало кода: start:
  3. Выполнение функции wsprintf для формирования строки: invoke wsprintf, offset buffer, chr$(EAX = %u, ECX = %u , text = %s), eax, ecx, chr$(вывели значения регистров)
  4. Вывод сообщения с помощью функции MessageBox: invoke MessageBox,0, offset buffer, chr$(Info), 0
  5. Завершение работы программы: invoke ExitProcess,0
  6. Конец кода: end start

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.333 из 5