Assembly适用于 Linux x86_64(Intel 64 位)的 Hello world
例子
section .data
msg db "你好世界!",10 ; 10 is the ASCII code for a new line (LF)
section .text
global _start
_start:
mov rax, 1
mov rdi, 1
mov rsi, msg
mov rdx, 13
syscall
mov rax, 60
mov rdi, 0
syscall如果要执行此程序,首先需要NetwideAssembler,nasm,因为此代码使用其语法。然后使用以下命令(假设代码在文件中helloworld.asm)。它们分别用于组装、链接和执行。
nasm-felf64helloworld.asm
ldhelloworld.o-ohelloworld
./helloworld
该代码利用了Linux的sys_write系统调用。在这里您可以看到x86_64架构的所有系统调用列表。当您还考虑write和exit的手册页时,您可以将上述程序转换为C程序,该程序具有相同的功能并且更具可读性:
#include#define STDOUT 1 int main() { write(STDOUT, "你好世界!\n", 13); _exit(0); }
这里只需要两个命令来编译和链接(第一个)并执行:
gcchelloworld_c.c-ohelloworld_c.
./helloworld_c
热门推荐
10 新人红包祝福语简短精辟
11 幼师给毕业祝福语简短
12 生日高考祝福语妹妹简短
13 下飞机祝福语简短英文
14 元宵发客户祝福语简短
15 爸妈金婚文案祝福语简短
16 新郎朋友红包祝福语简短
17 虎年五一祝福语大全简短
18 出阁宴祝福语姐姐简短