어셈블리언어로 HELLO WORLD 출력해보겠습니다
사용할 컴파일러는 SASM입니다.
설치를 하고 Settings옵션에 들어가서 아래처럼 설정합니다
NASM은 리눅스, MAC, 윈도우에서 지원하는 무료 어셈블러입니다. 세팅을 하고 새 프로젝트를 만듭니다
1
2
3
4
5
6
7
8
9
10
11
12
|
%include "io64.inc"
section .text
global CMAIN
CMAIN:
;write your code here
xor rax, rax
ret
|
cs |
1번째줄은 매크로 함수를 인클루드 하는것입니다.
5번째줄에 보면 section .text이 있는데 section은 코드를 작성할때 부분부분 나눠서 작성하는 곳입니다
일단 크게 3가지로 나눠보겠습니다
.text => 실행될 코드가 들어가있습니다.
.bss => 초기화 되지않은 변수가 들어가있습니다.
.data => 초기화된 변수가 들어가있습니다.
6,7번째줄은 프로그램 시작되는 주소를 정의하고 7번째줄부터 시작합니다.
11,12번째줄은 프로그램이 종료되는 지점이고 return과 유사합니다
C언어에 printf가있고 C#에 console.Writeln이 있듯이 SASM에도 PRINT_STRING을 사용하면 문자열 출력이 가능합니다. 아래처럼 코드를 작성하고 build and run을 하면 output에 HELLO WORLD가 출력됩니다
'프로그래밍 언어 > 어셈블리언어' 카테고리의 다른 글
어셈블리언어 변수선언하기 (0) | 2022.04.05 |
---|---|
어셈블리어란? (0) | 2022.04.01 |