標籤:

64 位環境彙編的 "Hello World! "

64 位環境彙編的 "Hello World!
"

1 人贊了文章

首先上代碼

windows 下

str: .asciz "Hello World!
".globl mainmain: mov $str, %rcx call printf mov $0, %rcx call exit

這裡輸出用的是C語言庫函數。

編譯方式

gcc filename.s

Linux 下

str: .ascii "Hello world!
".globl _start_start: movq $1, %rax movq $1, %rdi movq $str, %rsi movq $13, %rdx syscall movq $60, %rax movq $0, %rdi syscall

這裡輸出用的是Linux系統調用。

編譯方式

as -o filename.o filename.sld filename.o

我的環境是:

CPU: Intel64 Family 6 Model 142 Stepping 9 GenuineIntel ~2600 Mhz

Windows 版本:10.0.17134 暫缺 Build 17134

編譯器:gcc version 7.3.0 (x86_64-posix-seh-rev0, Built by MinGW-W64 project)

Linux 版本:Linux version 4.4.0-17134-Microsoft (Microsoft@Microsoft.com) (gcc version 5.4.0 (GCC) ) #137-Microsoft Thu Jun 14 18:46:00 PST 2018

as 版本:GNU assembler version 2.26.1 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.26.1

ld 版本: GNU ld (GNU Binutils for Ubuntu) 2.26.1

as 和 ld 都來自 gcc(gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.10) 自帶的。

推薦閱讀:

從C語言到彙編(四)while語句

TAG:彙編語言 |