煤矸石空心砖

联系我们Contact

企业名称:桐城市南口新型建材有限公司

联系人:崔经理

电话:0556-6568069

手机:18156911555

邮箱:303927413@qq.com

地址:桐城市龙腾街道高桥村

网址:   www.nkxxjc.com 



您的当前位置: 首 页 > NASM手册阅读笔记1 > Assembly适用于 Linux x86

Assembly适用于 Linux x86

例子

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

如果要执行此程序,首先需要Netwide Assembler , nasm,因为此代码使用其语法。然后使用以下命令(假设代码在文件中helloworld.asm)。它们分别用于组装、链接和执行。

nasm -felf64 helloworld.asm

ldhelloworld.o-o helloworld

./helloworld

该代码利用了 Linux 的sys_write系统调用。在这里您可以看到 x86_64 架构的所有系统调用列表。当您还考虑write和exit的手册页时,您可以将上述程序转换为 C 程序,该程序具有相同的功能并且更具可读性:

#include  #define STDOUT 1 int main() {     write(STDOUT, "你好世界!\n", 13);     _exit(0); }

这里只需要两个命令来编译和链接(第一个)并执行:

gcc helloworld_c.c -o helloworld_c.

./helloworld_c

本文网址:

关键词:NASM手册阅读笔记1

相关新闻: