我尝试使用 _printf 打印一条消息,但它不会在没有 在留言的最后
.global _main
.p2align 2
.equ SYS_WRITE, 4
.equ SYS_READ, 3
.equ SYS_EXIT, 1
_main:
adr x0, message
bl _printf
// Exit the program
mov x0, #0 // System call number for exit
mov x16, SYS_EXIT // System call for exit
svc #0
message:
.string "Hello, World!"
它不打印字符串
我发现将一个参数传递给一个字符串 最后工作
.global _main
.p2align 2
.equ SYS_WRITE, 4
.equ SYS_READ, 3
.equ SYS_EXIT, 1
_main:
adr x0, fmt
adr x22, message
str x22, [sp]
bl _printf
// Exit the program
mov x0, #0 // System call number for exit
mov x16, SYS_EXIT // System call for exit
svc #0
message:
.string "Hello, World!"
fmt:
.string "%s\n"
我用来组装和链接的命令是
as file.s -o file.o && ld -o file file.o -lSystem -syslibroot
xcrun -sdk macosx --show-sdk-path
-e _main -arch arm64 && ./file