SASM закрывается мгновенно (NASM Windows 10) - PullRequest
0 голосов
/ 03 мая 2018

Я использую SASM и внутри него NASM. Всякий раз, когда я открываю, запускаю свой простой файл NASM, он закрывается в мгновение ока. Вот мой код:

%include "io64.inc"

section .text
global CMAIN
CMAIN:
    mov eax,4

    xor rax, rax
    ret

1 Ответ

0 голосов
/ 19 октября 2018

Он также закрывается, потому что все программы закрываются после завершения работы. Вы можете добавить бесконечный цикл в конце выполнения, чтобы остановить его закрытие. Сделайте что-то вроде этого:

%include "io64.h"

section .text
global CMAIN
CMAIN:
    mov eax, 4

 endLoop:
    pause              ; don't overheat your CPU as much while busy-waiting
    jmp endLoop

   ; never reached unless you use a debugger to get out of the infinite loop
    xor rax, rax
    ret

Это заставит программу зацикливаться на endLoop, поэтому она никогда не завершится и не закроется.

Выполнение системного вызова, который спит, было бы намного более энергоэффективным способом заставить программу никогда не завершаться. Ожидание ввода с клавиатуры - еще один распространенный метод в программах на C ++ в системах, в которых по умолчанию запускается программа в новом окне, которое закрывается после завершения.

Или установите точку останова внутри вашей программы.

...