본 게시물은 책 게임처럼 쉽고 재미있게 배우는 어셈블리 언어 튜토리얼 - 북스 홀릭 - 책을 참고하였습니다.
어셈블리 언어는 기계어를 1:1로 매핑할 수 있는 가장 로우레벨의 언어.
[ CPU, register, memory(RAM) - 사이의 데이터를 조작하는 것을 주로 한다. ]
- C언어의 기준으로 어셈블리 언어에서 사용하는 함수는 CPU에 내장되어 있다.
- CPU 함수를 instruction이라는 명칭으로 사용한다.
- 어셈블리어 프로그래밍은 CPU함수만으로 기능을 구현하는것.
어셈블러(Assembler)는 어셈블리어로 작성된 소스를 실행 가능하게 바이너리로 변환하는 프로그램.
<- CPU API
Assemble <- OS API
<- BIOS API
- 어셈블리 언어에서 사용하는 함수는 CPU에 내장되어 있다 - CPU API (INSTRUCTION)
- 로우레벨의 언어를 사용하여 로직을 구현시 반복되는 작업을 함수로 구현해서 제공하는것 - OS API.
- H/W제어를 위해 컴퓨터의 메인보드내에 ROM BIOS API가 내장되어 있으며 OS API에서 반복 작업을 함수로 구현.
어셈블리 (hofe.asm)
| <- 어셈블러
os규약 | 바이너리 (hofe.obj) = 중간 코드
| <- 링커 [ 1차 바이너리와 2차 라이브러리를 모두 로우 레벨 함수로 결합하는 기능 ]
os규약 | 바이너리 (hofe.exe) | 라이브러리 = 실행 파일
Assemble language 표현방법
1. Intel 표기 [ WIN OS 기반 에서 주로 사용 ]
mov eax, 3
2. AT&T 표기 [ UNIX/ LINUX 계열에서 주로 사용 ]
mov $3 , %eax
+ 코드는 대부분 대소문자를 구분하지 않으며 주석은 세미콜론을 사용한다.
[이후 모든 기초 어셈블리어는 SAMS WIN 버전으로 모든걸 실습 해보았습니다.]
1. Assembly - ASAM 설치 가이드
Window - https://dman95.github.io/SASM/english.html
해당 사이트에서 window버전 설치
- ubutu, linux과정은 제가 다음에 라즈베리파이로 설치할때 포스팅하도록 하겠습니다.
'programming > assembly' 카테고리의 다른 글
어셈블리언어 기초 파해처 보기 - 5 (0) | 2020.10.25 |
---|---|
어셈블리언어 기초 파해처 보기 - 4 (0) | 2020.10.24 |
어셈블리언어 기초 파해처 보기 - 3 (0) | 2020.10.23 |
어셈블리언어 기초 파해처 보기 - 2 (0) | 2020.10.23 |