본문 바로가기

programming/assembly

-어셈블리언어 기초 파해처 보기 - 1

반응형
SMALL

본 게시물은 책 게임처럼 쉽고 재미있게 배우는 어셈블리 언어 튜토리얼 - 북스 홀릭 - 책을 참고하였습니다.


어셈블리 언어는 기계어를  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과정은 제가 다음에 라즈베리파이로 설치할때 포스팅하도록 하겠습니다.

 

SASM - Simple crossplatform IDE for NASM, MASM, GAS, FASM assembly languages

SASM SASM (SimpleASM) - simple Open Source crossplatform IDE for NASM, MASM, GAS, FASM assembly languages. SASM has syntax highlighting and debugger. The program works out of the box and is great for beginners to learn assembly language. SASM is translated

dman95.github.io

SAMS 기본 셋팅 체크 [Setting - Build tap - Mode [ x86L 32bit , x64: 64bit ) , NASM 체크. x64 선택  ]  .

 


Create new project 클릭
기본적으로 new create project를 하면 이런식으로 코드가 코딩이 돼어있어요. 공부하는중이라 무슨말인지는 이제 알아가는중.....


 

 

반응형
LIST