nasm어셈블러의 세그먼트 오류

익명 사용자의 이미지


section .data
var_a dw 5
var_b dw 3

section .text
global _start
_start
mov eax, var_a
mov ebx, var_b
neg ebx
add ebx, eax
mov eax, ebx
int 0x80

간단하게 A = B - A란 식을 계산하는

건데 test.asm으로 저장하고

nasm -f elf test.asm

ld -s -o test test.o

이렇게 실행시켰는데 세그먼터오류가 나네용~

스텍섹션을 정해주지 않아서 그런건지...

익명 사용자의 이미지

add ebx, eax
mov eax, ebx
int 0x80 int 0x80 할때 eax에는 syscall number가 지정되어야 합니다.
exit()를 호출할려고 한것 같은데 그럼 다음과 같이 해야되죠..
mov eax, 1 <- __NR_exit
int 0x80

궁금이 wrote..

section .data
var_a dw 5
var_b dw 3

section .text
global _start
_start
mov eax, var_a
mov ebx, var_b
neg ebx
add ebx, eax
mov eax, ebx
int 0x80

간단하게 A = B - A란 식을 계산하는

건데 test.asm으로 저장하고

nasm -f elf test.asm

ld -s -o test test.o

이렇게 실행시켰는데 세그먼터오류가 나네용~

스텍섹션을 정해주지 않아서 그런건지...