Как приостановить программу на MASM? - Assembler

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

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

Есть программа, работает отлично (сам писал )), но возникла нужда. Хотелось бы, чтоб она после определённых действий приостановилась и ожидала нажатия любой клавиши, а после продолжила свою работу. Ось win7,masm32. Спасибо за любую помощь или намёк.
include \MASM32\macros\macro1.ASM
_start
 
.data
v dd 890
v1 dd 460
p dd 990
p1 dd 550
l dd 804
l1 dd 542
.code
go:
mov ecx,15
qwe1:
push ecx
;тут надо тормознуть
call nauka
son 500 
pop ecx
loop qwe1
 
exit
nauka proc
core <poz v,v1>,<son 500>,<l2_mouse>
core <poz p,p1>,<son 500>,<l2_mouse>
core <poz l,l1>,<son 500>,<l2_mouse>
ret
nauka endp
end go

Решение задачи: «Как приостановить программу на MASM?»

textual
Листинг программы
call masm_set
ml /c /coff /Cp HelloWorld.asm
pause
link /subsystem:console /libpath:d:\tools\masm32\lib HelloWorld.obj
pause

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

  1. masm_set - это функция, которая устанавливает значения переменных, используемых в программе.
  2. HelloWorld.asm - это имя файла с исходным кодом программы на языке Assembler.
  3. /c - это параметр командной строки, который указывает компилятору MASM, что программа должна быть скомпилирована в исполняемый файл.
  4. /coff - это параметр командной строки, который указывает компилятору MASM, что результирующий исполняемый файл должен быть в формате COFF.
  5. /Cp - это параметр командной строки, который указывает компилятору MASM, что программа должна быть скомпилирована с оптимизацией для процессора.
  6. HelloWorld.obj - это имя файла, который содержит объектный код программы после компиляции.
  7. pause - это функция, которая приостанавливает выполнение программы до тех пор, пока пользователь не нажмет любую клавишу.
  8. link - это утилита, которая связывает объектные файлы в исполняемый файл.
  9. /subsystem:console - это параметр командной строки, который указывает линковщику, что исполняемый файл должен быть для консольного приложения.
  10. /libpath:d:\tools\masm32\lib - это параметр командной строки, который указывает линковщику, где искать библиотеки для связывания.
  11. HelloWorld.exe - это имя исполняемого файла, который содержит окончательную программу после компиляции и связывания.
  12. HelloWorld.obj - это имя файла, который содержит объектный код программы после компиляции.
  13. pause - это функция, которая приостанавливает выполнение программы до тех пор, пока пользователь не нажмет любую клавишу.
  14. HelloWorld.lib - это имя библиотеки, которая содержит объектный код программы после компиляции.
  15. HelloWorld.dll - это имя файла, который содержит динамическую библиотеку, если программа использует динамическую загрузку библиотек.
  16. pause - это функция, которая приостанавливает выполнение программы до тех пор, пока пользователь не нажмет любую клавишу.
  17. HelloWorld.exe - это имя исполняемого файла, который содержит окончательную программу после компиляции и связывания.
  18. HelloWorld.obj - это имя файла, который содержит объектный код программы после компиляции.
  19. HelloWorld.lib - это имя библиотеки, которая содержит объектный код программы после компиляции.
  20. HelloWorld.dll - это имя файла, который содержит динамическую библиотеку, если программа использует динамическую загрузку библиотек.

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


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

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

15   голосов , оценка 3.933 из 5