외로운 Nova의 작업실

리눅스 nasm - 1(설치 및 hello world) 본문

Programming/Assembly

리눅스 nasm - 1(설치 및 hello world)

Nova_ 2023. 1. 14. 18:13

- 설치

sudo apt-get install nasm

 

- 64비트 hello world

section .data
        msg db "hello world", 0x0A, 0
section .text
        global _start
_start:
        mov rax, 1
        mov rdi, 1
        mov rsi, msg
        mov rdx, 12
        syscall
        mov rax, 60
        mov rdi, 0
        syscall

 

- 64비트 컴파일 및 링킹

nasm -f elf64 test.asm -o test.o
ld test -o test.o

 

- 32비트 hello world

section .data
        msg db "hello world", 0x0A, 0

section .text
        global _start

_start:
        mov eax, 4
        mov ebx, 1
        mov ecx, msg
        mov edx, 12
        int 0x80

        mov eax, 1
        mov ebx, 0
        int 0x80

 

-32비트 컴파일 및 링킹

nasm -f elf32 test.asm -o test.o
ld -m elf_i386 -o test test.o

 

Comments