MASM 어셈블리 언어의 기초와 응용 [muckmock].pdf
MASM 어셈블리 언어의 기초와 응용 [muckmock].pdf
MASM 어셈블리 언어의 기초와 응용 [muckmock].pdf
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
○디렉티브(directive)<br />
⋅프로그램의<br />
소스 코드를 어셈블할 때 어셈블러가 인식하고 활용하는 명령어<br />
⋅논리<br />
세그먼트를 정의하거나 메모리 모델을 선택하거나 프로시저 만들거나 변수정의시 사용<br />
⋅디렉티브는<br />
어셈블러 구문으로서 인텔 명령어 집합과는 관계가 없다.<br />
.data → 데이터 영역 , name PROC → 프로시저의 시작<br />
○명령어(Instruction)<br />
⋅프로그램이<br />
메모리에 탑재되어 실행될 때 프로세서에 의해 실행되는 문장<br />
Label: Mnemonic Operand(s) ;Comment<br />
⋅Label<br />
- 명령어 or 데이터의 위치를 표시하는 하나의 식별자<br />
target:<br />
mov ax, bx<br />
⋅Mnemonic<br />
-<br />
mov, add, sub...<br />
명령어에 의하여 수행되는 동작을 식별하기 위한 단어<br />
⋅Operand<br />
- 명령어는 0~3개까지 Operand 를 갖는데 , 이는 레지스터 , 메모리 , 피연산자 , 상수<br />
or 입출력 포트가 될 수 있다 .<br />
inc ax, mov count, bx<br />
⋅Comment<br />
-<br />
COMMENT &<br />
&<br />
프로그램을 작성한 사람이 프로그램의 소스코드에 대한 설명<br />
This line is a comment.<br />
1-2. 프로그램의 어셈블링 , 링킹 , 그리고 실행<br />
○어셈블<br />
-링크 -실행<br />
주기<br />
⋅Step1<br />
→프로그래머는<br />
문자 편집기를 사용하여 소스파일이라고 하는 아스키 문자 파일 생성<br />
⋅Step2<br />
→어셈블러는<br />
소스 파일을 읽어서 기계어 변환인 오브젝트 파일을 생성 , 오류시 1단계로<br />
이동<br />
⋅Step3<br />
→링커는<br />
오브젝트 파일을 읽고 링크 라이브러리 안에 있는 프로시저를 호출하는지 점검 후,<br />
링크 라이브러리에서 필요한 프로시저를 복사해서 오브젝트 파일과 합치고 실행 파일 생성<br />
- 4 -