【发布时间】:2019-10-06 00:00:33
【问题描述】:
Visual Studio 代码 (mac) 中是否有某种可以运行基本程序集的插件,例如:
.section .text
.globl _start
_start:
movl $1, %eax
movl $0, %ebx
int $0x80
事实上,目前我正在 ssh'ing 到一个 linux 服务器以运行这个程序集,但我希望可以从 VS 代码中构建/链接/执行这个程序集,也许使用插件。
【问题讨论】:
-
为了做到这一点,您需要一个能够理解这种语法 (GAS) 的汇编器,它必须与 VSCode(它只是一个 IDE)分开安装
-
NASM 可用于 mac Install nasm on Mac OSX – Mac App Store 虽然,就个人而言,ssh 到 Linux 机器中对于所有实际目的都可以。您可以打开两个终端(一个用于编辑,一个用于编译/链接/运行),也可以使用单个终端和
tmux或screen通过单个终端处理多个会话。 -
帮自己一个忙,使用英特尔语法。为此,请在文件开头添加指令
.intel_syntax noprefix。 -
这个汇编程序不能在 Mac 上运行;它使用与 Linux 略有不同的 32 位系统调用 ABI。尽管
exit可能确实有效,但如果它使用与 Linux 相同的调用号,则将堆栈上的任何随机值作为退出状态 arg。
标签: assembly visual-studio-code x86 att