64. Assembly Hello, World
어셈블리 기초
작성일
4/25/2025작성
강나루깡수정일
4/25/2025Hello, World
arm 64, aarch 64
HelloWorld: HelloWorld.o
ld -o HelloWorld HelloWorld.o -lSystem -syslibroot `xcrun -sdk macosx --show-sdk-path` -e _start -arch arm64
HelloWorld.o: HelloWorld.s
as -arch arm64 -o HelloWorld.o HelloWorld.s
코드
.global _start
.p2align 2
_start:
b _printf
b _terminate
_printf:
mov x0, #1
adr x1, msg
mov x2, len
mov x16, #4
svc 0
_terminate:
mov x0, #0
mov x16, #1
svc 0
msg:
.asciz "Hello World!\n"
len = . - msg
연관코드
#include <stdio.h>
int main(void) {
printf("hello, world\n");
return 0;
}
/*
//-> compile create object file
$ clang helloworld.c -o helloworld.o
//-> link
$ ld helloworld.o -o helloworld -l System -syslibroot `xcrun -sdk macosx --show-sdk-path` -e _main -arch arm64
*/
CONCLUSION
Assembly ARM64 (aarch64)
삭제권한 확인 중...
수정 권한 확인 중...