我在学习汇编程序时遇到了一个问题,我从书中复制了som代码在我为64位处理器和GoLink安装了nasm之后。
在一些尝试之后,a能够将其编译为exe文件;你好世界"在命令提示符中。
程序";作品";但我看不到";你好世界";我想这是因为它从未停止过,或者我读的书是为linux组装的——但如果我没有错的话,两者都使用x86。
这是代码:
section .data
msg db "Hello, World",0
section .bss
section .text
global START
START:
mov rax, 1
mov rdi,1
mov rsi, msg
mov rdx, 12
syscall
mov rax, 60
mov rdi ,0
syscall
我不想链接到c,我想对原始程序集进行编码。
当我需要暂停程序时,我会在代码段结束前添加"pause:jmp short pause"。这是一个愚蠢的方法,但它有效。