[Спасательный круг] скомпелировать 32 раз. код - Assembler
Формулировка задачи:
Здр. у меня както есть проблема ни как не могу скомпелировать 32 раз код в MASM32.Я пробовал уже 1000 способов за этот день...уже хочу менять язык программирование я думаю что нет смысла показать здесь какой код я хочу скомпелировать.
Может ктота написать в комент. код на 32 раз платформе. самый простой с сообшением..хочу видеть разницу между мойм и правелиным кодом
Спасибо
Решение задачи: «[Спасательный круг] скомпелировать 32 раз. код»
textual
Листинг программы
.486 .model flat, stdcall option casemap: none include /masm32/include/windows.inc include /masm32/include/user32.inc include /masm32/include/kernel32.inc includelib /masm32/lib/user32.lib includelib /masm32/lib/kernel32.lib include /masm32/macros/macros.asm uselib masm32, comctl32, ws2_32 .data msg_title db "Title", 0 A DB 1 B DB 2 buffer db 128 dup(?) format db "%d",0 .code start: xor eax,eax MOV AL, A ADD AL, B invoke wsprintf, addr buffer, addr format, eax invoke MessageBox, 0, addr buffer, addr msg_title, MB_OK invoke ExitProcess, 0 end start
Объяснение кода листинга программы
- Установка модели процессора на 486
- Установка сегментных регистров на flat
- Установка сегмента стека на 0
- Установка сегмента кучи на 0
- Включение макросов MASM32
- Включение библиотек user32.lib и kernel32.lib
- Объявление переменных msg_title, A и B типа db (строки)
- Инициализация переменных msg_title, A и B
- XOR eax, eax (инициализация eax нулем)
- MOV AL, A (перенос значения переменной A в AL)
- ADD AL, B (прибавление значения переменной B к значению в AL)
- INVOKE wsprintf с аргументами buffer, format, eax (заполнение буфера строкой формата с значением eax)
- INVOKE MessageBox с аргументами 0, buffer, msg_title, MB_OK (вывод диалогового окна с сообщением)
- INVOKE ExitProcess с аргументом 0 (завершение работы программы)
- Конец кода
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д