Счетчик сообщений - 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
Объяснение кода листинга программы
- Объявление переменных: .data buffer db 255 dup (?)
- Начало кода: start:
- Выполнение функции wsprintf для формирования строки:
invoke wsprintf, offset buffer, chr$(
EAX = %u, ECX = %u , text = %s
), eax, ecx, chr$(вывели значения регистров
) - Вывод сообщения с помощью функции MessageBox:
invoke MessageBox,0, offset buffer, chr$(
Info
), 0 - Завершение работы программы: invoke ExitProcess,0
- Конец кода: end start
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д