工具准备
aarch64-linux-gnu-gcc
:可以通过下载 linaro 工具链- qemu-aarch64
程序范例
aarch64 汇编
创建文件asm64.S
,其内容如下
.section .text
.global _start
_start:
/* syscall write(int fd, const void *buf, size_t count) */
mov x0, #1
ldr x1, =msg
ldr x2, =len
mov w8, #64
svc #0
/* syscall exit(int status) */
mov x0, #0
mov w8, #93
svc #0
msg:
.ascii "Hello, ARM64!
"
len = . - msg
然后编译并使用 qemu 虚拟机运行
$ aarch64-linux-gnu-gcc -nostdlib -nodefaultlibs -o asm64 asm64.S
$ qemu-aarch64 ./asm64
aarch64 C语言
创建文件hello64.c
,其内容如下
#include <stdio.h>
int main(int argc, char *argv)
{
printf("Hello, I'm executing ARM64 instructions
");
return 0;
}
然后编译并使用 qemu 运行
$ aarch64-linux-gnu-gcc -static -o hello64 hello64.c
$ qemu-aarch64 ./hello64