我正在使用SASM,在其中使用NASM。每当我打开运行我的简单NASM文件时,它就会在眨眼之间关闭。这是我的代码:
%include "io64.inc"
section .text
global CMAIN
CMAIN:
mov eax,4
xor rax, rax
ret
答案 0 :(得分:1)
它也关闭,因为所有程序在运行完毕后都会关闭。您可以在执行结束时添加无限循环以阻止其关闭。做这样的事情:
%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 ++程序中的另一种常见方法,默认情况下,等待在完成后会关闭的新窗口中运行该程序。
或在程序内部设置一个断点。